Jeg Elementor Kit - Version 1.1.4

Version Description

  • 2021-03-04 =
  • Improvement: Use built JS files
Download this release

Release Info

Developer jegstudio
Plugin Icon 128x128 Jeg Elementor Kit
Version 1.1.4
Comparing to
See all releases

Code changes from version 1.1.3 to 1.1.4

assets/dev/js/accordion.js ADDED
@@ -0,0 +1,49 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ class JKitAccordion extends elementorModules.frontend.handlers.Base {
2
+ getDefaultSettings() {
3
+ return {
4
+ selectors: {
5
+ wrapper: '.jeg-elementor-kit.jkit-accordion',
6
+ cards: '.card-wrapper'
7
+ },
8
+ };
9
+ }
10
+
11
+ getDefaultElements() {
12
+ const selectors = this.getSettings('selectors')
13
+ return {
14
+ $wrapper: this.$element.find(selectors.wrapper),
15
+ $cards: this.$element.find(selectors.cards),
16
+ };
17
+ }
18
+
19
+ bindEvents() {
20
+ this.onClick()
21
+ }
22
+
23
+ onClick() {
24
+ this.elements.$cards.each(function() {
25
+ jQuery(this).on('click', function(e) {
26
+ e.preventDefault()
27
+ if (jQuery(this).hasClass('expand')) {
28
+ jQuery(this).find('.card-expand').slideUp()
29
+ jQuery(this).removeClass('expand')
30
+ } else {
31
+ jQuery(this).parent().find('.card-expand').slideUp()
32
+ jQuery(this).parent().find('.card-wrapper').removeClass('expand')
33
+ jQuery(this).addClass('expand')
34
+ jQuery(this).find('.card-expand').slideDown()
35
+ }
36
+ })
37
+ })
38
+ }
39
+ }
40
+
41
+ jQuery(window).on('elementor/frontend/init', () => {
42
+ const addHandler = ($element) => {
43
+ elementorFrontend.elementsHandler.addHandler(JKitAccordion, {
44
+ $element,
45
+ });
46
+ };
47
+
48
+ elementorFrontend.hooks.addAction('frontend/element_ready/jkit_accordion.default', addHandler);
49
+ });
assets/dev/js/animated-text.js ADDED
@@ -0,0 +1,133 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ class JKitAnimatedText extends elementorModules.frontend.handlers.Base {
2
+ getDefaultSettings() {
3
+ return {
4
+ selectors: {
5
+ wrapper: '.jeg-elementor-kit.jkit-animated-text',
6
+ dynamic: '.dynamic-wrapper'
7
+ },
8
+ };
9
+ }
10
+
11
+ getDefaultElements() {
12
+ const selectors = this.getSettings('selectors')
13
+ return {
14
+ $wrapper: this.$element.find(selectors.wrapper),
15
+ $dynamic: this.$element.find(selectors.dynamic)
16
+ };
17
+ }
18
+
19
+ bindEvents() {
20
+ this.onRenderElement()
21
+ }
22
+
23
+ onRenderElement() {
24
+ const animation = this.elements.$wrapper.data('style');
25
+
26
+ if ('rotating' == animation) {
27
+ const rotate = this.elements.$wrapper.data('rotate'),
28
+ dynamic_text = this.elements.$dynamic.find('.dynamic-text');
29
+
30
+ if (dynamic_text.length > 0) {
31
+ const firstText = dynamic_text.first();
32
+
33
+ if (['typing', 'swirl', 'blinds', 'wave'].includes(rotate)) {
34
+ this.animateText(firstText, this.getNextText(firstText));
35
+ } else {
36
+ this.showText(firstText, this.getNextText(firstText));
37
+ }
38
+ }
39
+ }
40
+ }
41
+
42
+ animateText(text, nextText) {
43
+ this.elements.$dynamic.removeClass('typing-delete');
44
+ text.addClass('show-text');
45
+ this.elements.$dynamic.removeClass('cursor-blink');
46
+ this.animateLetter(text.find('.dynamic-text-letter').first(), text, nextText);
47
+ }
48
+
49
+ animateLetter(letter, text, nextText) {
50
+ const $this = this,
51
+ letter_speed = this.elements.$wrapper.data('letter-speed');
52
+ letter.addClass('show-letter');
53
+
54
+ setTimeout(function() {
55
+ if (letter.is(':last-child')) {
56
+ $this.hideText(text, nextText);
57
+ } else {
58
+ $this.animateLetter(letter.next(), text, nextText);
59
+ }
60
+ }, letter_speed);
61
+ }
62
+
63
+ getNextText(text) {
64
+ return text.is(':last-child') ? this.elements.$dynamic.find('.dynamic-text').first() : text.next();
65
+ }
66
+
67
+ hideText(text, nextText) {
68
+ const $this = this,
69
+ rotate = $this.elements.$wrapper.data('rotate'),
70
+ delay = $this.elements.$wrapper.data('delay');
71
+ this.elements.$dynamic.addClass('cursor-blink');
72
+
73
+ setTimeout(function() {
74
+ if ('typing' == rotate) {
75
+ const delay_delete = $this.elements.$wrapper.data('delay-delete');
76
+ $this.elements.$dynamic.addClass('typing-delete');
77
+ setTimeout(function() {
78
+ text.removeClass('show-text');
79
+ text.find('.dynamic-text-letter').removeClass('show-letter');
80
+ $this.animateText(nextText, $this.getNextText(nextText));
81
+ }, delay_delete);
82
+ } else {
83
+ text.removeClass('show-text');
84
+ text.find('.dynamic-text-letter').removeClass('show-letter');
85
+ $this.animateText(nextText, $this.getNextText(nextText));
86
+ }
87
+ }, delay);
88
+ }
89
+
90
+ showText(text, nextText) {
91
+ const $this = this,
92
+ delay = $this.elements.$wrapper.data('delay'),
93
+ rotate = $this.elements.$wrapper.data('rotate');
94
+
95
+ text.addClass('show-text');
96
+
97
+ if (rotate == 'clip') {
98
+ const clip_duration = $this.elements.$wrapper.data('clip-duration');
99
+ $this.elements.$dynamic.width(text.width() + 10);
100
+ $this.elements.$dynamic.animate({
101
+ width: 0
102
+ }, clip_duration / 2, function() {
103
+ text.removeClass('show-text');
104
+ nextText.addClass('show-text');
105
+ $this.elements.$dynamic.animate({
106
+ width: nextText.width() + 10
107
+ }, clip_duration / 2, function() {
108
+ setTimeout(function() {
109
+ text.removeClass('show-text');
110
+ $this.showText(nextText, $this.getNextText(nextText));
111
+ }, delay);
112
+ })
113
+ });
114
+ } else {
115
+ $this.elements.$dynamic.width(text.width());
116
+ setTimeout(function() {
117
+ text.removeClass('show-text');
118
+ $this.showText(nextText, $this.getNextText(nextText));
119
+ }, delay);
120
+ }
121
+ }
122
+
123
+ }
124
+
125
+ jQuery(window).on('elementor/frontend/init', () => {
126
+ const addHandler = ($element) => {
127
+ elementorFrontend.elementsHandler.addHandler(JKitAnimatedText, {
128
+ $element,
129
+ });
130
+ };
131
+
132
+ elementorFrontend.hooks.addAction('frontend/element_ready/jkit_animated_text.default', addHandler);
133
+ });
assets/dev/js/client-logo.js ADDED
@@ -0,0 +1,79 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ class JKitClientLogo extends elementorModules.frontend.handlers.Base {
2
+ getDefaultSettings() {
3
+ return {
4
+ selectors: {
5
+ wrapper: '.jeg-elementor-kit.jkit-client-logo',
6
+ items: '.client-track',
7
+ },
8
+ };
9
+ }
10
+
11
+ getDefaultElements() {
12
+ const selectors = this.getSettings('selectors');
13
+ return {
14
+ $wrapper: this.$element.find(selectors.wrapper),
15
+ $items: this.$element.find(selectors.items),
16
+ };
17
+ }
18
+
19
+ bindEvents() {
20
+ this.onLoadElement()
21
+ }
22
+
23
+ onLoadElement() {
24
+ this.loadCarousel()
25
+ }
26
+
27
+ loadCarousel() {
28
+ const id = this.elements.$wrapper.data('id'),
29
+ options = this.elements.$wrapper.data('settings'),
30
+ selectors = this.getSettings('selectors'),
31
+ attr = {
32
+ container: selectors.wrapper + '[data-id="' + id + '"] ' + selectors.items,
33
+ loop: true,
34
+ mouseDrag: true,
35
+ autoplay: options.autoplay,
36
+ autoplayTimeout: options.autoplay_speed,
37
+ autoplayHoverPause: options.autoplay_hover_pause,
38
+ navPosition: 'bottom',
39
+ controlsPosition: options.arrow_position,
40
+ controlsText: ['<i class="' + options.navigation_left + '" aria-hidden="true"></i>', '<i class="' + options.navigation_right + '" aria-hidden="true"></i>'],
41
+ responsiveClass: true,
42
+ responsive: {
43
+ 0: {
44
+ items: options.items_mobile,
45
+ gutter: options.margin_mobile
46
+ },
47
+ 768: {
48
+ items: options.items_tablet,
49
+ gutter: options.margin_tablet
50
+ },
51
+ 1025: {
52
+ items: options.items,
53
+ gutter: options.margin
54
+ }
55
+ }
56
+ }
57
+
58
+ tns(attr)
59
+ this.elements.$wrapper.find('button[data-action="stop"]').remove()
60
+
61
+ if (! options.show_navigation) {
62
+ this.elements.$wrapper.find('.tns-controls').remove()
63
+ }
64
+
65
+ if (! options.show_dots) {
66
+ this.elements.$wrapper.find('.tns-nav').remove()
67
+ }
68
+ }
69
+ }
70
+
71
+ jQuery(window).on('elementor/frontend/init', () => {
72
+ const addHandler = ($element) => {
73
+ elementorFrontend.elementsHandler.addHandler(JKitClientLogo, {
74
+ $element,
75
+ });
76
+ };
77
+
78
+ elementorFrontend.hooks.addAction('frontend/element_ready/jkit_client_logo.default', addHandler);
79
+ });
assets/dev/js/fun-fact.js ADDED
@@ -0,0 +1,64 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ class JKitFunFact extends elementorModules.frontend.handlers.Base {
2
+ getDefaultSettings() {
3
+ return {
4
+ selectors: {
5
+ wrapper: '.jeg-elementor-kit.jkit-fun-fact',
6
+ number: '.number'
7
+ },
8
+ };
9
+ }
10
+
11
+ getDefaultElements() {
12
+ const selectors = this.getSettings('selectors');
13
+ return {
14
+ $wrapper: this.$element.find(selectors.wrapper),
15
+ $number: this.$element.find(selectors.number),
16
+ };
17
+ }
18
+
19
+ bindEvents() {
20
+ this.onLoadElement()
21
+ }
22
+
23
+ onLoadElement() {
24
+ this.countNumber()
25
+ jQuery(window).on('scroll', this.countNumber.bind(this))
26
+ }
27
+
28
+ countNumber() {
29
+ const el = this.elements.$number
30
+
31
+ if (this.onScreen() && !el.hasClass('loaded')) {
32
+ el.prop('Counter', 0).animate({
33
+ Counter: el.data('value')
34
+ }, {
35
+ duration: el.data('animation-duration'),
36
+ easing: 'swing',
37
+ step: function(now) {
38
+ el.text(Math.ceil(now).toLocaleString())
39
+ },
40
+ complete: function() {
41
+ el.text(el.data('value').toLocaleString())
42
+ }
43
+ })
44
+ el.addClass('loaded')
45
+ }
46
+ }
47
+
48
+ onScreen() {
49
+ const windowBottomEdge = jQuery(window).scrollTop() + jQuery(window).height(),
50
+ elementTopEdge = this.elements.$wrapper.offset().top
51
+
52
+ return elementTopEdge <= windowBottomEdge;
53
+ }
54
+ }
55
+
56
+ jQuery(window).on('elementor/frontend/init', () => {
57
+ const addHandler = ($element) => {
58
+ elementorFrontend.elementsHandler.addHandler(JKitFunFact, {
59
+ $element,
60
+ });
61
+ };
62
+
63
+ elementorFrontend.hooks.addAction('frontend/element_ready/jkit_fun_fact.default', addHandler);
64
+ });
assets/dev/js/gallery.js ADDED
@@ -0,0 +1,188 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ class JKitGallery extends elementorModules.frontend.handlers.Base {
2
+ getDefaultSettings() {
3
+ return {
4
+ selectors: {
5
+ wrapper: '.jeg-elementor-kit.jkit-gallery',
6
+ grid: '.gallery-items',
7
+ active_label: '.jkit-gallery-control.active',
8
+ filter: '.jkit-gallery-control',
9
+ filter_button: '#search-filter-trigger',
10
+ filter_label: '#search-filter-trigger span',
11
+ filter_list: '.search-filter-controls',
12
+ filter_form: '#jkit-gallery-search-box-input',
13
+ load_more: '.jkit-gallery-load-more',
14
+ },
15
+ };
16
+ }
17
+
18
+ getDefaultElements() {
19
+ const selectors = this.getSettings('selectors')
20
+ return {
21
+ $wrapper: this.$element.find(selectors.wrapper),
22
+ $grid: this.$element.find(selectors.grid),
23
+ $active_label: this.$element.find(selectors.active_label),
24
+ $filter: this.$element.find(selectors.filter),
25
+ $filter_button: this.$element.find(selectors.filter_button),
26
+ $filter_label: this.$element.find(selectors.filter_label),
27
+ $filter_list: this.$element.find(selectors.filter_list),
28
+ $filter_form: this.$element.find(selectors.filter_form),
29
+ $load_more: this.$element.find(selectors.load_more),
30
+ };
31
+ }
32
+
33
+ bindEvents() {
34
+ const $this = this,
35
+ layout = $this.elements.$wrapper.data('grid') == 'masonry' ? 'masonry' : 'fitRows',
36
+ duration = parseFloat(($this.elements.$wrapper.data('animation-duration') / 1000).toFixed(2)).toString() + 's'
37
+
38
+ $this.grid = $this.elements.$grid.isotope({
39
+ itemSelector: '.gallery-item-wrap',
40
+ layoutMode: layout,
41
+ transitionDuration: duration,
42
+ })
43
+ $this.grid.imagesLoaded().progress(function() {
44
+ $this.grid.isotope('layout')
45
+ })
46
+
47
+ $this.onInitGallery()
48
+ $this.onClickFilterButton()
49
+ $this.onClickLoadMoreButton()
50
+ $this.onFormChange()
51
+ }
52
+
53
+ onInitGallery() {
54
+ const $this = this
55
+
56
+ $this.elements.$filter.each(function() {
57
+ jQuery(this).on('click', function(e) {
58
+ e.preventDefault()
59
+ const selectors = $this.getSettings('selectors'),
60
+ filter_value = jQuery(this).data('filter'),
61
+ filter_label = $this.elements.$filter_label,
62
+ filter_list = $this.elements.$filter_list,
63
+ filter_button = $this.elements.$filter_button,
64
+ filter_form = $this.elements.$filter_form,
65
+ filter = $this.elements.$filter
66
+
67
+ filter.removeClass('active')
68
+ jQuery(this).addClass('active')
69
+
70
+ $this.elements.$active_label = $this.$element.find(selectors.active_label)
71
+ $this.grid.isotope({filter: function() {
72
+ const class_filter = filter_value !== '*' ? filter_value.substring(1) : '*',
73
+ class_list = jQuery(this).attr('class').split(/\s+/)
74
+
75
+ let check_filter = false
76
+
77
+ if (filter_button.length > 0) {
78
+ const text = filter_form.val(),
79
+ name = jQuery(this).find('.item-title').text(),
80
+ content = jQuery(this).find('.item-content').text()
81
+
82
+ check_filter = class_filter != '*'
83
+ ? (name.toLowerCase().includes(text.toLowerCase()) || content.toLowerCase().includes(text.toLowerCase())) && class_list.includes(class_filter)
84
+ : name.toLowerCase().includes(text.toLowerCase()) || content.toLowerCase().includes(text.toLowerCase())
85
+ } else {
86
+ check_filter = class_filter != '*' ? class_list.includes(class_filter) : true
87
+ }
88
+
89
+ return check_filter
90
+ }})
91
+
92
+ if (filter_button.length > 0) {
93
+ filter_label.text(jQuery(this).text())
94
+ filter_list.removeClass('open-controls')
95
+ }
96
+ })
97
+ })
98
+ }
99
+
100
+ onClickFilterButton() {
101
+ const $this = this
102
+
103
+ $this.elements.$filter_button.on('click', function(e) {
104
+ e.preventDefault()
105
+ const filter_list = $this.elements.$filter_list
106
+
107
+ if (filter_list.hasClass('open-controls')) {
108
+ filter_list.removeClass('open-controls')
109
+ } else {
110
+ filter_list.addClass('open-controls')
111
+ }
112
+ })
113
+ }
114
+
115
+ onFormChange() {
116
+ const $this = this,
117
+ filter_form = $this.elements.$filter_form
118
+
119
+ if (filter_form !== undefined) {
120
+ filter_form.on('change paste keyup', function() {
121
+ const text = jQuery(this).val()
122
+
123
+ $this.grid.isotope({filter: function() {
124
+ const name = jQuery(this).find('.item-title').text(),
125
+ content = jQuery(this).find('.item-content').text(),
126
+ class_list = jQuery(this).attr('class').split(/\s+/),
127
+ class_filter = $this.elements.$active_label.data('filter') !== '*' ? $this.elements.$active_label.data('filter').substring(1) : '*'
128
+
129
+ let check_filter = false
130
+
131
+ if (class_filter == '*') {
132
+ check_filter = name.toLowerCase().includes(text.toLowerCase()) || content.toLowerCase().includes(text.toLowerCase())
133
+ } else {
134
+ check_filter = (name.toLowerCase().includes(text.toLowerCase()) || content.toLowerCase().includes(text.toLowerCase())) && class_list.includes(class_filter)
135
+ }
136
+
137
+ return check_filter
138
+ }})
139
+ })
140
+ }
141
+ }
142
+
143
+ onClickLoadMoreButton() {
144
+ const $this = this,
145
+ items = $this.elements.$wrapper.data('items')
146
+
147
+ $this.elements.$load_more.on('click', function(e) {
148
+ e.preventDefault()
149
+
150
+ const current_loaded = parseInt($this.elements.$wrapper.attr('data-current-loaded')),
151
+ count_items = parseInt($this.elements.$wrapper.attr('data-count-items')),
152
+ load_more = parseInt($this.elements.$wrapper.attr('data-load-more')),
153
+ no_more_text = $this.elements.$wrapper.attr('data-no-more')
154
+
155
+ if (count_items > current_loaded) {
156
+ if ((count_items - load_more - current_loaded) > 0) {
157
+ const items_append = [...items].splice(current_loaded, load_more)
158
+ $this.grid.append(items_append).isotope('reloadItems').isotope()
159
+ $this.grid.imagesLoaded().progress(function() {
160
+ $this.grid.isotope('layout')
161
+ })
162
+ $this.elements.$wrapper.attr('data-current-loaded', current_loaded + load_more)
163
+ } else {
164
+ const items_append = [...items].splice(current_loaded, count_items - current_loaded)
165
+ $this.grid.append(items_append).isotope('reloadItems').isotope()
166
+ $this.grid.imagesLoaded().progress(function() {
167
+ $this.grid.isotope('layout')
168
+ })
169
+ $this.elements.$wrapper.attr('data-current-loaded', count_items)
170
+ $this.elements.$load_more.find('.load-more-text').text(no_more_text)
171
+ setTimeout(function() {
172
+ $this.elements.$load_more.fadeOut('slow');
173
+ }, 600);
174
+ }
175
+ }
176
+ })
177
+ }
178
+ }
179
+
180
+ jQuery(window).on('elementor/frontend/init', () => {
181
+ const addHandler = ($element) => {
182
+ elementorFrontend.elementsHandler.addHandler(JKitGallery, {
183
+ $element,
184
+ });
185
+ };
186
+
187
+ elementorFrontend.hooks.addAction('frontend/element_ready/jkit_gallery.default', addHandler);
188
+ });
assets/dev/js/nav-menu.js ADDED
@@ -0,0 +1,116 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ class JKitNavMenu extends elementorModules.frontend.handlers.Base {
2
+ getDefaultSettings() {
3
+ return {
4
+ selectors: {
5
+ wrapper: '.jeg-elementor-kit.jkit-nav-menu',
6
+ container: '.jkit-menu-wrapper',
7
+ open_toggle: '.jkit-hamburger-menu',
8
+ close_toggle: '.jkit-close-menu',
9
+ dropdown_toggle: 'li.menu-item-has-children > a i',
10
+ menu_dropdown: 'li.menu-item-has-children > a',
11
+ },
12
+ };
13
+ }
14
+
15
+ getDefaultElements() {
16
+ const selectors = this.getSettings('selectors')
17
+ return {
18
+ $wrapper: this.$element.find(selectors.wrapper),
19
+ $container: this.$element.find(selectors.container),
20
+ $open_toggle: this.$element.find(selectors.open_toggle),
21
+ $close_toggle: this.$element.find(selectors.close_toggle),
22
+ $dropdown_toggle: this.$element.find(selectors.dropdown_toggle),
23
+ $menu_dropdown: this.$element.find(selectors.menu_dropdown),
24
+ };
25
+ }
26
+
27
+ bindEvents() {
28
+ this.onLoadElement()
29
+ }
30
+
31
+ onLoadElement() {
32
+ this.addBodyClass()
33
+ this.addDropdownIcon()
34
+ this.onToogleClick()
35
+ }
36
+
37
+ addBodyClass() {
38
+ if (this.elements.$wrapper.length > 0) {
39
+ jQuery('html').addClass('jkit-nav-menu-loaded')
40
+ }
41
+ }
42
+
43
+ addDropdownIcon() {
44
+ const $this = this,
45
+ indicator = $this.elements.$wrapper.data('item-indicator'),
46
+ dropdown = $this.elements.$menu_dropdown,
47
+ selectors = this.getSettings('selectors')
48
+
49
+ dropdown.each(function(){
50
+ jQuery(this).append('<i class="' + indicator + '"></i>')
51
+ })
52
+
53
+ $this.elements.$dropdown_toggle = this.$element.find(selectors.dropdown_toggle)
54
+ }
55
+
56
+ onToogleClick() {
57
+ const $this = this,
58
+ wrapper = $this.elements.$wrapper,
59
+ menu_dropdown = $this.elements.$menu_dropdown,
60
+ open_toggle = $this.elements.$open_toggle,
61
+ close_toggle = $this.elements.$close_toggle,
62
+ dropdown_toggle = $this.elements.$dropdown_toggle
63
+
64
+ open_toggle.on('click', function(e) {
65
+ e.preventDefault()
66
+ if (($this.elements.$container).hasClass('active')) {
67
+ $this.elements.$container.removeClass('active')
68
+ } else {
69
+ $this.elements.$container.addClass('active')
70
+ }
71
+ })
72
+
73
+ close_toggle.on('click', function(e) {
74
+ e.preventDefault()
75
+ $this.elements.$container.removeClass('active')
76
+ })
77
+
78
+ if (wrapper.hasClass('submenu-click-title')) {
79
+ menu_dropdown.each(function() {
80
+ jQuery(this).on('click', function(e) {
81
+ e.preventDefault()
82
+ const dropdown = jQuery(this).next()
83
+
84
+ if (dropdown.hasClass('dropdown-open')) {
85
+ dropdown.removeClass('dropdown-open')
86
+ } else {
87
+ dropdown.addClass('dropdown-open')
88
+ }
89
+ })
90
+ })
91
+ } else {
92
+ dropdown_toggle.each(function() {
93
+ jQuery(this).on('click', function(e) {
94
+ e.preventDefault()
95
+ const dropdown = jQuery(this).parents('a').next()
96
+
97
+ if (dropdown.hasClass('dropdown-open')) {
98
+ dropdown.removeClass('dropdown-open')
99
+ } else {
100
+ dropdown.addClass('dropdown-open')
101
+ }
102
+ })
103
+ })
104
+ }
105
+ }
106
+ }
107
+
108
+ jQuery(window).on('elementor/frontend/init', () => {
109
+ const addHandler = ($element) => {
110
+ elementorFrontend.elementsHandler.addHandler(JKitNavMenu, {
111
+ $element,
112
+ });
113
+ };
114
+
115
+ elementorFrontend.hooks.addAction('frontend/element_ready/jkit_nav_menu.default', addHandler);
116
+ });
assets/dev/js/pie-chart.js ADDED
@@ -0,0 +1,166 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ class JKitPieChart extends elementorModules.frontend.handlers.Base {
2
+ getDefaultSettings() {
3
+ return {
4
+ selectors: {
5
+ wrapper: '.jeg-elementor-kit.jkit-pie-chart',
6
+ canvas_main: 'canvas.main-canvas',
7
+ canvas_bg: 'canvas.background-canvas',
8
+ number: '.pie-chart-content',
9
+ },
10
+ };
11
+ }
12
+
13
+ getDefaultElements() {
14
+ const selectors = this.getSettings('selectors')
15
+ return {
16
+ $wrapper: this.$element.find(selectors.wrapper),
17
+ $canvas_main: this.$element.find(selectors.canvas_main),
18
+ $canvas_bg: this.$element.find(selectors.canvas_bg),
19
+ $number: this.$element.find(selectors.number),
20
+ };
21
+ }
22
+
23
+ bindEvents() {
24
+ this.animateChart()
25
+ jQuery(window).on('scroll', this.animateChart.bind(this))
26
+
27
+ if (this.elements.$wrapper.data('content-type') == 'percentage') {
28
+ this.countNumber()
29
+ jQuery(window).on('scroll', this.countNumber.bind(this))
30
+ }
31
+ }
32
+
33
+ animateChart() {
34
+ const $this = this,
35
+ canvas_main = $this.elements.$canvas_main,
36
+ canvas_bg = $this.elements.$canvas_bg
37
+
38
+ if (this.onScreen() && !canvas_main.hasClass('loaded')) {
39
+ const wrapper = $this.elements.$wrapper,
40
+ ctx_main = canvas_main.get(0).getContext('2d'),
41
+ ctx_bg = canvas_bg.get(0).getContext('2d'),
42
+ percent = wrapper.data('percent'),
43
+ cutout = wrapper.data('cutout'),
44
+ color_type = wrapper.data('color-type'),
45
+ color = wrapper.data('color'),
46
+ bg_color = wrapper.data('bg-color'),
47
+ gradient1 = wrapper.data('gradient1'),
48
+ gradient2 = wrapper.data('gradient2'),
49
+ animation_duration = wrapper.data('animation-duration'),
50
+ data_main = {
51
+ datasets: [{
52
+ data: [percent, 100 - percent],
53
+ backgroundColor: ["#80b1ff", 'transparent'],
54
+ borderWidth: 0,
55
+ }]
56
+ },
57
+ data_bg = {
58
+ datasets: [{
59
+ data: [100],
60
+ backgroundColor: ["#d1d1d1"],
61
+ borderWidth: 0,
62
+ }]
63
+ },
64
+ options_main = {
65
+ animation: {
66
+ duration: animation_duration,
67
+ },
68
+ responsive: false,
69
+ cutoutPercentage: cutout,
70
+ title: {
71
+ display: false,
72
+ },
73
+ legend: {
74
+ display: false,
75
+ },
76
+ tooltips: {
77
+ enabled: false,
78
+ }
79
+ },
80
+ options_bg = {
81
+ animation: false,
82
+ responsive: false,
83
+ cutoutPercentage: cutout,
84
+ title: {
85
+ display: false,
86
+ },
87
+ legend: {
88
+ display: false,
89
+ },
90
+ tooltips: {
91
+ enabled: false,
92
+ }
93
+ }
94
+
95
+ if (color_type == 'normal') {
96
+ if (color !== '') {
97
+ data_main.datasets[0].backgroundColor[0] = color
98
+ }
99
+ } else if (color_type == 'gradient' && (gradient1 !== '' || gradient2 !== '')) {
100
+ const gradientFill = ctx_main.createLinearGradient(0, 0, 0, 170)
101
+ if (gradient1 !== '') {
102
+ gradientFill.addColorStop(0, gradient1)
103
+ }
104
+ if (gradient2 !== '') {
105
+ gradientFill.addColorStop(1, gradient2)
106
+ }
107
+ data_main.datasets[0].backgroundColor[0] = gradientFill
108
+ }
109
+
110
+ if (bg_color !== '') {
111
+ data_bg.datasets[0].backgroundColor[0] = bg_color
112
+ }
113
+
114
+ new Chart(ctx_main, {
115
+ type: 'doughnut',
116
+ data: data_main,
117
+ options: options_main,
118
+ })
119
+
120
+ new Chart(ctx_bg, {
121
+ type: 'doughnut',
122
+ data: data_bg,
123
+ options: options_bg,
124
+ })
125
+
126
+ canvas_main.addClass('loaded')
127
+ canvas_main.removeAttr('style')
128
+ canvas_bg.removeAttr('style')
129
+ }
130
+ }
131
+
132
+ countNumber() {
133
+ const number = this.elements.$number,
134
+ wrapper = this.elements.$wrapper
135
+
136
+ if (this.onScreen() && !number.hasClass('loaded')) {
137
+ number.prop('Counter', 0).animate({
138
+ Counter: wrapper.data('percent')
139
+ }, {
140
+ duration: wrapper.data('animation-duration'),
141
+ easing: 'swing',
142
+ step: function(now) {
143
+ number.text(Math.ceil(now).toString() + '%')
144
+ }
145
+ })
146
+ number.addClass('loaded')
147
+ }
148
+ }
149
+
150
+ onScreen() {
151
+ const windowBottomEdge = jQuery(window).scrollTop() + jQuery(window).height(),
152
+ elementTopEdge = this.elements.$wrapper.offset().top
153
+
154
+ return elementTopEdge <= windowBottomEdge;
155
+ }
156
+ }
157
+
158
+ jQuery(window).on('elementor/frontend/init', () => {
159
+ const addHandler = ($element) => {
160
+ elementorFrontend.elementsHandler.addHandler(JKitPieChart, {
161
+ $element,
162
+ });
163
+ };
164
+
165
+ elementorFrontend.hooks.addAction('frontend/element_ready/jkit_pie_chart.default', addHandler);
166
+ });
assets/dev/js/portfolio-gallery.js ADDED
@@ -0,0 +1,92 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ class JKitPortfolioGallery extends elementorModules.frontend.handlers.Base {
2
+ getDefaultSettings() {
3
+ return {
4
+ selectors: {
5
+ wrapper: '.jeg-elementor-kit.jkit-portfolio-gallery',
6
+ row_items: '.row-item',
7
+ gallery_items: '.gallery-items',
8
+ image_items: '.image-item',
9
+ },
10
+ };
11
+ }
12
+
13
+ getDefaultElements() {
14
+ const selectors = this.getSettings('selectors');
15
+ return {
16
+ $wrapper: this.$element.find(selectors.wrapper),
17
+ $row_items: this.$element.find(selectors.row_items),
18
+ $gallery_items: this.$element.find(selectors.gallery_items),
19
+ $image_items: this.$element.find(selectors.image_items),
20
+ };
21
+ }
22
+
23
+ bindEvents() {
24
+ this.onRenderInit()
25
+ this.onClickHover()
26
+ }
27
+
28
+ onRenderInit() {
29
+ const $this = this,
30
+ row_items = $this.elements.$row_items,
31
+ image_items = $this.elements.$image_items
32
+
33
+ jQuery(row_items.get().reverse()).each(function () {
34
+ if (jQuery(this).hasClass('current-item')) {
35
+ row_items.removeClass('current-item')
36
+ jQuery(this).addClass('current-item')
37
+ }
38
+ })
39
+
40
+ jQuery(image_items.get().reverse()).each(function () {
41
+ if (jQuery(this).hasClass('current-item')) {
42
+ image_items.removeClass('current-item')
43
+ jQuery(this).addClass('current-item')
44
+ }
45
+ })
46
+ }
47
+
48
+ onClickHover() {
49
+ const $this = this,
50
+ wrapper = $this.elements.$wrapper,
51
+ row_items = $this.elements.$row_items
52
+
53
+ if (wrapper.hasClass('on-click')) {
54
+ row_items.each(function() {
55
+ jQuery(this).on({
56
+ click: function() {
57
+ row_items.removeClass('current-item')
58
+ jQuery(this).addClass('current-item')
59
+ $this.onShowImage(jQuery(this).data('tab'))
60
+ },
61
+ })
62
+ })
63
+ }
64
+
65
+ if (wrapper.hasClass('on-hover')) {
66
+ row_items.each(function() {
67
+ jQuery(this).on({
68
+ mouseenter: function() {
69
+ row_items.removeClass('current-item')
70
+ jQuery(this).addClass('current-item')
71
+ $this.onShowImage(jQuery(this).data('tab'))
72
+ },
73
+ })
74
+ })
75
+ }
76
+ }
77
+
78
+ onShowImage(id) {
79
+ this.elements.$image_items.removeClass('current-item')
80
+ this.elements.$gallery_items.find('#' + id).addClass('current-item')
81
+ }
82
+ }
83
+
84
+ jQuery(window).on('elementor/frontend/init', () => {
85
+ const addHandler = ($element) => {
86
+ elementorFrontend.elementsHandler.addHandler(JKitPortfolioGallery, {
87
+ $element,
88
+ });
89
+ };
90
+
91
+ elementorFrontend.hooks.addAction('frontend/element_ready/jkit_portfolio_gallery.default', addHandler);
92
+ });
assets/dev/js/post-block.js ADDED
@@ -0,0 +1,166 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ class JKitPostBlock extends elementorModules.frontend.handlers.Base {
2
+ getDefaultSettings() {
3
+ return {
4
+ selectors: {
5
+ wrapper: '.jeg-elementor-kit.jkit-postblock',
6
+ pagination: '.jkit-block-pagination',
7
+ },
8
+ };
9
+ }
10
+
11
+ getDefaultElements() {
12
+ const selectors = this.getSettings('selectors')
13
+ return {
14
+ $wrapper: this.$element.find(selectors.wrapper),
15
+ $pagination: this.$element.find(selectors.pagination),
16
+ };
17
+ }
18
+
19
+ bindEvents() {
20
+ this.onInitPagination()
21
+ }
22
+
23
+ onInitPagination() {
24
+ const $this = this,
25
+ wrapper = $this.elements.$wrapper,
26
+ pagination = $this.elements.$pagination,
27
+ options = wrapper.data('settings'),
28
+ load_limit = options.pagination_scroll_limit,
29
+ pagination_mode = options.pagination_mode,
30
+ parameter = {
31
+ 'action': jkit_element_postblock_option.element_prefix + options.class,
32
+ 'data': {
33
+ 'current_page': 1,
34
+ 'attr': options
35
+ }
36
+ }
37
+
38
+ let lock_load = false,
39
+ xhr_cache = []
40
+
41
+ const scroll_handler = function() {
42
+ if (! lock_load && ! pagination.hasClass('disabled') && (window.self == window.top)) {
43
+ if (load_limit >= parameter.data.current_page || load_limit == '0') {
44
+ pagination.find('a').waypoint(function() {
45
+ request_ajax()
46
+ this.destroy()
47
+ }, {
48
+ offset: '100%',
49
+ context: window
50
+ })
51
+ }
52
+ }
53
+ }
54
+
55
+ const save_cache = function (parameter, response) {
56
+ xhr_cache.push({
57
+ param: JSON.stringify(parameter),
58
+ result: response
59
+ })
60
+ }
61
+
62
+ const get_cache = function (parameter) {
63
+ const jsonparam = JSON.stringify(parameter)
64
+
65
+ for (let i = 0; i < xhr_cache.length; i++) {
66
+ if (jsonparam === xhr_cache[i].param) {
67
+ return prepare_cache(xhr_cache[i].result)
68
+ }
69
+ }
70
+ }
71
+
72
+ const prepare_cache = function (result) {
73
+ result.content = '<div>' + result.content + '</div>'
74
+ const content = jQuery(result.content)
75
+
76
+ result.content = content.html()
77
+ return result
78
+ }
79
+
80
+ const render_ajax_response = function (response) {
81
+ const content = jQuery(response.content)
82
+ let count = 0
83
+
84
+ content.each(function() {
85
+ if (jQuery(this).hasClass('jkit-post')) {
86
+ jQuery(this).addClass('jkit-ajax-loaded anim-' + count)
87
+ }
88
+ count++
89
+ })
90
+
91
+ wrapper.removeClass('loading')
92
+ wrapper.addClass('loaded')
93
+ wrapper.find('.jkit-ajax-flag').append(content)
94
+
95
+ if (! response.next) {
96
+ pagination.addClass('disabled')
97
+ pagination.hide()
98
+ }
99
+
100
+ request_after_ajax()
101
+ jQuery(window).trigger('resize')
102
+
103
+ if ('scrollload' === pagination_mode) {
104
+ setTimeout(function() {
105
+ scroll_handler()
106
+ }, 500);
107
+ }
108
+ }
109
+
110
+ const request_ajax = function() {
111
+ request_before_ajax()
112
+ parameter.data.current_page = parameter.data.current_page + 1
113
+ const result = get_cache(parameter)
114
+
115
+ if (result) {
116
+ render_ajax_response(result)
117
+ } else {
118
+ jQuery.ajax({
119
+ url: jkit_ajax_url,
120
+ type: 'post',
121
+ dataType: 'json',
122
+ data: parameter,
123
+ success: function(response) {
124
+ render_ajax_response(response)
125
+ save_cache(parameter, response)
126
+ }
127
+ })
128
+ }
129
+ }
130
+
131
+ const request_before_ajax = function() {
132
+ lock_load = true
133
+ pagination.addClass('loading')
134
+ pagination.find('a').text(pagination.find('a').data('loading'))
135
+ wrapper.addClass('loading')
136
+ }
137
+
138
+ const request_after_ajax = function() {
139
+ lock_load = false
140
+ pagination.removeClass('loading')
141
+ pagination.find('a').text(pagination.find('a').data('load'))
142
+ }
143
+
144
+ if ('scrollload' === pagination_mode) {
145
+ scroll_handler()
146
+ }
147
+
148
+ pagination.find('a').on('click', function (e) {
149
+ e.preventDefault()
150
+ if (! lock_load && ! pagination.hasClass('disabled')) {
151
+ request_ajax()
152
+ }
153
+ })
154
+
155
+ }
156
+ }
157
+
158
+ jQuery(window).on('elementor/frontend/init', () => {
159
+ const addHandler = ($element) => {
160
+ elementorFrontend.elementsHandler.addHandler(JKitPostBlock, {
161
+ $element,
162
+ });
163
+ };
164
+
165
+ elementorFrontend.hooks.addAction('frontend/element_ready/jkit_post_block.default', addHandler);
166
+ });
assets/dev/js/progress-bar.js ADDED
@@ -0,0 +1,65 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ class JKitProgressBar extends elementorModules.frontend.handlers.Base {
2
+ getDefaultSettings() {
3
+ return {
4
+ selectors: {
5
+ wrapper: '.jeg-elementor-kit.jkit-progress-bar',
6
+ skill: '.skill-track',
7
+ number: '.number-percentage'
8
+ },
9
+ };
10
+ }
11
+
12
+ getDefaultElements() {
13
+ const selectors = this.getSettings('selectors');
14
+ return {
15
+ $wrapper: this.$element.find(selectors.wrapper),
16
+ $skill: this.$element.find(selectors.skill),
17
+ $number: this.$element.find(selectors.number),
18
+ };
19
+ }
20
+
21
+ bindEvents() {
22
+ this.onLoadElement()
23
+ }
24
+
25
+ onLoadElement() {
26
+ this.countNumber()
27
+ jQuery(window).on('scroll', this.countNumber.bind(this))
28
+ }
29
+
30
+ countNumber() {
31
+ const number = this.elements.$number,
32
+ skill = this.elements.$skill
33
+
34
+ if (this.onScreen() && !number.hasClass('loaded')) {
35
+ number.prop('Counter', 0).animate({
36
+ Counter: number.data('value')
37
+ }, {
38
+ duration: number.data('animation-duration'),
39
+ easing: 'swing',
40
+ step: function(now) {
41
+ number.text(Math.ceil(now).toString() + '%')
42
+ skill.css('width', now.toString() + '%')
43
+ }
44
+ })
45
+ number.addClass('loaded')
46
+ }
47
+ }
48
+
49
+ onScreen() {
50
+ const windowBottomEdge = jQuery(window).scrollTop() + jQuery(window).height(),
51
+ elementTopEdge = this.elements.$wrapper.offset().top
52
+
53
+ return elementTopEdge <= windowBottomEdge;
54
+ }
55
+ }
56
+
57
+ jQuery(window).on('elementor/frontend/init', () => {
58
+ const addHandler = ($element) => {
59
+ elementorFrontend.elementsHandler.addHandler(JKitProgressBar, {
60
+ $element,
61
+ });
62
+ };
63
+
64
+ elementorFrontend.hooks.addAction('frontend/element_ready/jkit_progress_bar.default', addHandler);
65
+ });
assets/dev/js/team.js ADDED
@@ -0,0 +1,56 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ class JKitTeam extends elementorModules.frontend.handlers.Base {
2
+ getDefaultSettings() {
3
+ return {
4
+ selectors: {
5
+ wrapper: '.jeg-elementor-kit.jkit-team',
6
+ close_modal: '.team-modal-close'
7
+ },
8
+ };
9
+ }
10
+
11
+ getDefaultElements() {
12
+ const selectors = this.getSettings('selectors')
13
+ return {
14
+ $wrapper: this.$element.find(selectors.wrapper),
15
+ $close_modal: this.$element.find(selectors.close_modal)
16
+ };
17
+ }
18
+
19
+ bindEvents() {
20
+ this.onClick()
21
+ }
22
+
23
+ onClick() {
24
+ const $this = this,
25
+ wrapper = $this.elements.$wrapper,
26
+ close_modal = $this.elements.$close_modal
27
+
28
+ wrapper.magnificPopup({
29
+ delegate: 'a.jkit-team-modal',
30
+ removalDelay: 500,
31
+ callbacks: {
32
+ beforeOpen: function() {
33
+ this.st.mainClass = this.st.el.attr('data-effect')
34
+ }
35
+ },
36
+ midClick: true,
37
+ showCloseBtn: false,
38
+ prependTo: wrapper
39
+ })
40
+
41
+ close_modal.on('click', function(e) {
42
+ e.preventDefault()
43
+ jQuery.magnificPopup.close()
44
+ })
45
+ }
46
+ }
47
+
48
+ jQuery(window).on('elementor/frontend/init', () => {
49
+ const addHandler = ($element) => {
50
+ elementorFrontend.elementsHandler.addHandler(JKitTeam, {
51
+ $element,
52
+ });
53
+ };
54
+
55
+ elementorFrontend.hooks.addAction('frontend/element_ready/jkit_team.default', addHandler);
56
+ });
assets/dev/js/testimonials.js ADDED
@@ -0,0 +1,84 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ class JKitTestimonials extends elementorModules.frontend.handlers.Base {
2
+ getDefaultSettings() {
3
+ return {
4
+ selectors: {
5
+ wrapper: '.jeg-elementor-kit.jkit-testimonials',
6
+ items: '.testimonials-track',
7
+ },
8
+ };
9
+ }
10
+
11
+ getDefaultElements() {
12
+ const selectors = this.getSettings('selectors');
13
+ return {
14
+ $wrapper: this.$element.find(selectors.wrapper),
15
+ $items: this.$element.find(selectors.items),
16
+ };
17
+ }
18
+
19
+ bindEvents() {
20
+ this.onLoadElement()
21
+ }
22
+
23
+ onLoadElement() {
24
+ this.loadCarousel()
25
+ }
26
+
27
+ loadCarousel() {
28
+ const id = this.elements.$wrapper.data('id'),
29
+ selectors = this.getSettings('selectors'),
30
+ options = this.elements.$wrapper.data('settings'),
31
+ attr = {
32
+ container: selectors.wrapper + '[data-id="' + id + '"] ' + selectors.items,
33
+ loop: true,
34
+ mouseDrag: true,
35
+ autoplay: options.autoplay,
36
+ autoplayTimeout: options.autoplay_speed,
37
+ autoplayHoverPause: options.autoplay_hover_pause,
38
+ navPosition: 'bottom',
39
+ controlsPosition: options.arrow_position,
40
+ controlsText: ['<i class="' + options.navigation_left + '" aria-hidden="true"></i>', '<i class="' + options.navigation_right + '" aria-hidden="true"></i>'],
41
+ responsiveClass: true,
42
+ responsive: {
43
+ 0: {
44
+ items: options.items_mobile,
45
+ gutter: options.margin_mobile
46
+ },
47
+ 768: {
48
+ items: options.items_tablet,
49
+ gutter: options.margin_tablet
50
+ },
51
+ 1025: {
52
+ items: options.items,
53
+ gutter: options.margin
54
+ }
55
+ }
56
+ }
57
+
58
+ tns(attr)
59
+ this.elements.$wrapper.find('button[data-action="stop"]').remove()
60
+
61
+ if (! options.show_navigation) {
62
+ this.elements.$wrapper.find('.tns-controls').remove()
63
+ }
64
+
65
+ if (! options.show_dots) {
66
+ this.elements.$wrapper.find('.tns-nav').remove()
67
+ }
68
+
69
+ if (options.show_navigation) {
70
+ attr.nav = true
71
+ attr.navText = ['<i class="' + options.navigation_left + '" aria-hidden="true"></i>', '<i class="' + options.navigation_right + '" aria-hidden="true"></i>']
72
+ }
73
+ }
74
+ }
75
+
76
+ jQuery(window).on('elementor/frontend/init', () => {
77
+ const addHandler = ($element) => {
78
+ elementorFrontend.elementsHandler.addHandler(JKitTestimonials, {
79
+ $element,
80
+ });
81
+ };
82
+
83
+ elementorFrontend.hooks.addAction('frontend/element_ready/jkit_testimonials.default', addHandler);
84
+ });
assets/js/elements/accordion.js CHANGED
@@ -1,49 +1,100 @@
1
- class JKitAccordion extends elementorModules.frontend.handlers.Base {
2
- getDefaultSettings() {
3
- return {
4
- selectors: {
5
- wrapper: '.jeg-elementor-kit.jkit-accordion',
6
- cards: '.card-wrapper'
7
- },
8
- };
9
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10
 
11
- getDefaultElements() {
12
- const selectors = this.getSettings('selectors')
13
- return {
14
- $wrapper: this.$element.find(selectors.wrapper),
15
- $cards: this.$element.find(selectors.cards),
16
- };
17
- }
18
 
19
- bindEvents() {
20
- this.onClick()
21
- }
22
 
23
- onClick() {
24
- this.elements.$cards.each(function() {
25
- jQuery(this).on('click', function(e) {
26
- e.preventDefault()
27
- if (jQuery(this).hasClass('expand')) {
28
- jQuery(this).find('.card-expand').slideUp()
29
- jQuery(this).removeClass('expand')
30
- } else {
31
- jQuery(this).parent().find('.card-expand').slideUp()
32
- jQuery(this).parent().find('.card-wrapper').removeClass('expand')
33
- jQuery(this).addClass('expand')
34
- jQuery(this).find('.card-expand').slideDown()
35
- }
36
- })
37
- })
38
- }
39
- }
40
 
41
- jQuery(window).on('elementor/frontend/init', () => {
42
- const addHandler = ($element) => {
43
- elementorFrontend.elementsHandler.addHandler(JKitAccordion, {
44
- $element,
45
- });
46
- };
47
-
48
- elementorFrontend.hooks.addAction('frontend/element_ready/jkit_accordion.default', addHandler);
49
- });
1
+ /******/ (function(modules) { // webpackBootstrap
2
+ /******/ // The module cache
3
+ /******/ var installedModules = {};
4
+ /******/
5
+ /******/ // The require function
6
+ /******/ function __webpack_require__(moduleId) {
7
+ /******/
8
+ /******/ // Check if module is in cache
9
+ /******/ if(installedModules[moduleId]) {
10
+ /******/ return installedModules[moduleId].exports;
11
+ /******/ }
12
+ /******/ // Create a new module (and put it into the cache)
13
+ /******/ var module = installedModules[moduleId] = {
14
+ /******/ i: moduleId,
15
+ /******/ l: false,
16
+ /******/ exports: {}
17
+ /******/ };
18
+ /******/
19
+ /******/ // Execute the module function
20
+ /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
21
+ /******/
22
+ /******/ // Flag the module as loaded
23
+ /******/ module.l = true;
24
+ /******/
25
+ /******/ // Return the exports of the module
26
+ /******/ return module.exports;
27
+ /******/ }
28
+ /******/
29
+ /******/
30
+ /******/ // expose the modules object (__webpack_modules__)
31
+ /******/ __webpack_require__.m = modules;
32
+ /******/
33
+ /******/ // expose the module cache
34
+ /******/ __webpack_require__.c = installedModules;
35
+ /******/
36
+ /******/ // define getter function for harmony exports
37
+ /******/ __webpack_require__.d = function(exports, name, getter) {
38
+ /******/ if(!__webpack_require__.o(exports, name)) {
39
+ /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
40
+ /******/ }
41
+ /******/ };
42
+ /******/
43
+ /******/ // define __esModule on exports
44
+ /******/ __webpack_require__.r = function(exports) {
45
+ /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
46
+ /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
47
+ /******/ }
48
+ /******/ Object.defineProperty(exports, '__esModule', { value: true });
49
+ /******/ };
50
+ /******/
51
+ /******/ // create a fake namespace object
52
+ /******/ // mode & 1: value is a module id, require it
53
+ /******/ // mode & 2: merge all properties of value into the ns
54
+ /******/ // mode & 4: return value when already ns object
55
+ /******/ // mode & 8|1: behave like require
56
+ /******/ __webpack_require__.t = function(value, mode) {
57
+ /******/ if(mode & 1) value = __webpack_require__(value);
58
+ /******/ if(mode & 8) return value;
59
+ /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
60
+ /******/ var ns = Object.create(null);
61
+ /******/ __webpack_require__.r(ns);
62
+ /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
63
+ /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
64
+ /******/ return ns;
65
+ /******/ };
66
+ /******/
67
+ /******/ // getDefaultExport function for compatibility with non-harmony modules
68
+ /******/ __webpack_require__.n = function(module) {
69
+ /******/ var getter = module && module.__esModule ?
70
+ /******/ function getDefault() { return module['default']; } :
71
+ /******/ function getModuleExports() { return module; };
72
+ /******/ __webpack_require__.d(getter, 'a', getter);
73
+ /******/ return getter;
74
+ /******/ };
75
+ /******/
76
+ /******/ // Object.prototype.hasOwnProperty.call
77
+ /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
78
+ /******/
79
+ /******/ // __webpack_public_path__
80
+ /******/ __webpack_require__.p = "";
81
+ /******/
82
+ /******/
83
+ /******/ // Load entry module and return exports
84
+ /******/ return __webpack_require__(__webpack_require__.s = "./jeg-elementor-kit/assets/dev/js/accordion.js");
85
+ /******/ })
86
+ /************************************************************************/
87
+ /******/ ({
88
 
89
+ /***/ "./jeg-elementor-kit/assets/dev/js/accordion.js":
90
+ /*!******************************************************!*\
91
+ !*** ./jeg-elementor-kit/assets/dev/js/accordion.js ***!
92
+ \******************************************************/
93
+ /*! no static exports found */
94
+ /***/ (function(module, exports) {
 
95
 
96
+ eval("class JKitAccordion extends elementorModules.frontend.handlers.Base {\n getDefaultSettings() {\n return {\n selectors: {\n wrapper: '.jeg-elementor-kit.jkit-accordion',\n cards: '.card-wrapper'\n }\n };\n }\n\n getDefaultElements() {\n const selectors = this.getSettings('selectors');\n return {\n $wrapper: this.$element.find(selectors.wrapper),\n $cards: this.$element.find(selectors.cards)\n };\n }\n\n bindEvents() {\n this.onClick();\n }\n\n onClick() {\n this.elements.$cards.each(function () {\n jQuery(this).on('click', function (e) {\n e.preventDefault();\n\n if (jQuery(this).hasClass('expand')) {\n jQuery(this).find('.card-expand').slideUp();\n jQuery(this).removeClass('expand');\n } else {\n jQuery(this).parent().find('.card-expand').slideUp();\n jQuery(this).parent().find('.card-wrapper').removeClass('expand');\n jQuery(this).addClass('expand');\n jQuery(this).find('.card-expand').slideDown();\n }\n });\n });\n }\n\n}\n\njQuery(window).on('elementor/frontend/init', () => {\n const addHandler = $element => {\n elementorFrontend.elementsHandler.addHandler(JKitAccordion, {\n $element\n });\n };\n\n elementorFrontend.hooks.addAction('frontend/element_ready/jkit_accordion.default', addHandler);\n});\n\n//# sourceURL=webpack:///./jeg-elementor-kit/assets/dev/js/accordion.js?");
 
 
97
 
98
+ /***/ })
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
99
 
100
+ /******/ });
 
 
 
 
 
 
 
 
assets/js/elements/animated-text.js CHANGED
@@ -1,133 +1,100 @@
1
- class JKitAnimatedText extends elementorModules.frontend.handlers.Base {
2
- getDefaultSettings() {
3
- return {
4
- selectors: {
5
- wrapper: '.jeg-elementor-kit.jkit-animated-text',
6
- dynamic: '.dynamic-wrapper'
7
- },
8
- };
9
- }
10
-
11
- getDefaultElements() {
12
- const selectors = this.getSettings('selectors')
13
- return {
14
- $wrapper: this.$element.find(selectors.wrapper),
15
- $dynamic: this.$element.find(selectors.dynamic)
16
- };
17
- }
18
-
19
- bindEvents() {
20
- this.onRenderElement()
21
- }
22
-
23
- onRenderElement() {
24
- const animation = this.elements.$wrapper.data('style');
25
-
26
- if ('rotating' == animation) {
27
- const rotate = this.elements.$wrapper.data('rotate'),
28
- dynamic_text = this.elements.$dynamic.find('.dynamic-text');
29
-
30
- if (dynamic_text.length > 0) {
31
- const firstText = dynamic_text.first();
32
-
33
- if (['typing', 'swirl', 'blinds', 'wave'].includes(rotate)) {
34
- this.animateText(firstText, this.getNextText(firstText));
35
- } else {
36
- this.showText(firstText, this.getNextText(firstText));
37
- }
38
- }
39
- }
40
- }
41
-
42
- animateText(text, nextText) {
43
- this.elements.$dynamic.removeClass('typing-delete');
44
- text.addClass('show-text');
45
- this.elements.$dynamic.removeClass('cursor-blink');
46
- this.animateLetter(text.find('.dynamic-text-letter').first(), text, nextText);
47
- }
48
-
49
- animateLetter(letter, text, nextText) {
50
- const $this = this,
51
- letter_speed = this.elements.$wrapper.data('letter-speed');
52
- letter.addClass('show-letter');
53
-
54
- setTimeout(function() {
55
- if (letter.is(':last-child')) {
56
- $this.hideText(text, nextText);
57
- } else {
58
- $this.animateLetter(letter.next(), text, nextText);
59
- }
60
- }, letter_speed);
61
- }
62
-
63
- getNextText(text) {
64
- return text.is(':last-child') ? this.elements.$dynamic.find('.dynamic-text').first() : text.next();
65
- }
66
-
67
- hideText(text, nextText) {
68
- const $this = this,
69
- rotate = $this.elements.$wrapper.data('rotate'),
70
- delay = $this.elements.$wrapper.data('delay');
71
- this.elements.$dynamic.addClass('cursor-blink');
72
-
73
- setTimeout(function() {
74
- if ('typing' == rotate) {
75
- const delay_delete = $this.elements.$wrapper.data('delay-delete');
76
- $this.elements.$dynamic.addClass('typing-delete');
77
- setTimeout(function() {
78
- text.removeClass('show-text');
79
- text.find('.dynamic-text-letter').removeClass('show-letter');
80
- $this.animateText(nextText, $this.getNextText(nextText));
81
- }, delay_delete);
82
- } else {
83
- text.removeClass('show-text');
84
- text.find('.dynamic-text-letter').removeClass('show-letter');
85
- $this.animateText(nextText, $this.getNextText(nextText));
86
- }
87
- }, delay);
88
- }
89
-
90
- showText(text, nextText) {
91
- const $this = this,
92
- delay = $this.elements.$wrapper.data('delay'),
93
- rotate = $this.elements.$wrapper.data('rotate');
94
-
95
- text.addClass('show-text');
96
-
97
- if (rotate == 'clip') {
98
- const clip_duration = $this.elements.$wrapper.data('clip-duration');
99
- $this.elements.$dynamic.width(text.width() + 10);
100
- $this.elements.$dynamic.animate({
101
- width: 0
102
- }, clip_duration / 2, function() {
103
- text.removeClass('show-text');
104
- nextText.addClass('show-text');
105
- $this.elements.$dynamic.animate({
106
- width: nextText.width() + 10
107
- }, clip_duration / 2, function() {
108
- setTimeout(function() {
109
- text.removeClass('show-text');
110
- $this.showText(nextText, $this.getNextText(nextText));
111
- }, delay);
112
- })
113
- });
114
- } else {
115
- $this.elements.$dynamic.width(text.width());
116
- setTimeout(function() {
117
- text.removeClass('show-text');
118
- $this.showText(nextText, $this.getNextText(nextText));
119
- }, delay);
120
- }
121
- }
122
-
123
- }
124
-
125
- jQuery(window).on('elementor/frontend/init', () => {
126
- const addHandler = ($element) => {
127
- elementorFrontend.elementsHandler.addHandler(JKitAnimatedText, {
128
- $element,
129
- });
130
- };
131
-
132
- elementorFrontend.hooks.addAction('frontend/element_ready/jkit_animated_text.default', addHandler);
133
- });
1
+ /******/ (function(modules) { // webpackBootstrap
2
+ /******/ // The module cache
3
+ /******/ var installedModules = {};
4
+ /******/
5
+ /******/ // The require function
6
+ /******/ function __webpack_require__(moduleId) {
7
+ /******/
8
+ /******/ // Check if module is in cache
9
+ /******/ if(installedModules[moduleId]) {
10
+ /******/ return installedModules[moduleId].exports;
11
+ /******/ }
12
+ /******/ // Create a new module (and put it into the cache)
13
+ /******/ var module = installedModules[moduleId] = {
14
+ /******/ i: moduleId,
15
+ /******/ l: false,
16
+ /******/ exports: {}
17
+ /******/ };
18
+ /******/
19
+ /******/ // Execute the module function
20
+ /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
21
+ /******/
22
+ /******/ // Flag the module as loaded
23
+ /******/ module.l = true;
24
+ /******/
25
+ /******/ // Return the exports of the module
26
+ /******/ return module.exports;
27
+ /******/ }
28
+ /******/
29
+ /******/
30
+ /******/ // expose the modules object (__webpack_modules__)
31
+ /******/ __webpack_require__.m = modules;
32
+ /******/
33
+ /******/ // expose the module cache
34
+ /******/ __webpack_require__.c = installedModules;
35
+ /******/
36
+ /******/ // define getter function for harmony exports
37
+ /******/ __webpack_require__.d = function(exports, name, getter) {
38
+ /******/ if(!__webpack_require__.o(exports, name)) {
39
+ /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
40
+ /******/ }
41
+ /******/ };
42
+ /******/
43
+ /******/ // define __esModule on exports
44
+ /******/ __webpack_require__.r = function(exports) {
45
+ /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
46
+ /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
47
+ /******/ }
48
+ /******/ Object.defineProperty(exports, '__esModule', { value: true });
49
+ /******/ };
50
+ /******/
51
+ /******/ // create a fake namespace object
52
+ /******/ // mode & 1: value is a module id, require it
53
+ /******/ // mode & 2: merge all properties of value into the ns
54
+ /******/ // mode & 4: return value when already ns object
55
+ /******/ // mode & 8|1: behave like require
56
+ /******/ __webpack_require__.t = function(value, mode) {
57
+ /******/ if(mode & 1) value = __webpack_require__(value);
58
+ /******/ if(mode & 8) return value;
59
+ /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
60
+ /******/ var ns = Object.create(null);
61
+ /******/ __webpack_require__.r(ns);
62
+ /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
63
+ /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
64
+ /******/ return ns;
65
+ /******/ };
66
+ /******/
67
+ /******/ // getDefaultExport function for compatibility with non-harmony modules
68
+ /******/ __webpack_require__.n = function(module) {
69
+ /******/ var getter = module && module.__esModule ?
70
+ /******/ function getDefault() { return module['default']; } :
71
+ /******/ function getModuleExports() { return module; };
72
+ /******/ __webpack_require__.d(getter, 'a', getter);
73
+ /******/ return getter;
74
+ /******/ };
75
+ /******/
76
+ /******/ // Object.prototype.hasOwnProperty.call
77
+ /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
78
+ /******/
79
+ /******/ // __webpack_public_path__
80
+ /******/ __webpack_require__.p = "";
81
+ /******/
82
+ /******/
83
+ /******/ // Load entry module and return exports
84
+ /******/ return __webpack_require__(__webpack_require__.s = "./jeg-elementor-kit/assets/dev/js/animated-text.js");
85
+ /******/ })
86
+ /************************************************************************/
87
+ /******/ ({
88
+
89
+ /***/ "./jeg-elementor-kit/assets/dev/js/animated-text.js":
90
+ /*!**********************************************************!*\
91
+ !*** ./jeg-elementor-kit/assets/dev/js/animated-text.js ***!
92
+ \**********************************************************/
93
+ /*! no static exports found */
94
+ /***/ (function(module, exports) {
95
+
96
+ eval("class JKitAnimatedText extends elementorModules.frontend.handlers.Base {\n getDefaultSettings() {\n return {\n selectors: {\n wrapper: '.jeg-elementor-kit.jkit-animated-text',\n dynamic: '.dynamic-wrapper'\n }\n };\n }\n\n getDefaultElements() {\n const selectors = this.getSettings('selectors');\n return {\n $wrapper: this.$element.find(selectors.wrapper),\n $dynamic: this.$element.find(selectors.dynamic)\n };\n }\n\n bindEvents() {\n this.onRenderElement();\n }\n\n onRenderElement() {\n const animation = this.elements.$wrapper.data('style');\n\n if ('rotating' == animation) {\n const rotate = this.elements.$wrapper.data('rotate'),\n dynamic_text = this.elements.$dynamic.find('.dynamic-text');\n\n if (dynamic_text.length > 0) {\n const firstText = dynamic_text.first();\n\n if (['typing', 'swirl', 'blinds', 'wave'].includes(rotate)) {\n this.animateText(firstText, this.getNextText(firstText));\n } else {\n this.showText(firstText, this.getNextText(firstText));\n }\n }\n }\n }\n\n animateText(text, nextText) {\n this.elements.$dynamic.removeClass('typing-delete');\n text.addClass('show-text');\n this.elements.$dynamic.removeClass('cursor-blink');\n this.animateLetter(text.find('.dynamic-text-letter').first(), text, nextText);\n }\n\n animateLetter(letter, text, nextText) {\n const $this = this,\n letter_speed = this.elements.$wrapper.data('letter-speed');\n letter.addClass('show-letter');\n setTimeout(function () {\n if (letter.is(':last-child')) {\n $this.hideText(text, nextText);\n } else {\n $this.animateLetter(letter.next(), text, nextText);\n }\n }, letter_speed);\n }\n\n getNextText(text) {\n return text.is(':last-child') ? this.elements.$dynamic.find('.dynamic-text').first() : text.next();\n }\n\n hideText(text, nextText) {\n const $this = this,\n rotate = $this.elements.$wrapper.data('rotate'),\n delay = $this.elements.$wrapper.data('delay');\n this.elements.$dynamic.addClass('cursor-blink');\n setTimeout(function () {\n if ('typing' == rotate) {\n const delay_delete = $this.elements.$wrapper.data('delay-delete');\n $this.elements.$dynamic.addClass('typing-delete');\n setTimeout(function () {\n text.removeClass('show-text');\n text.find('.dynamic-text-letter').removeClass('show-letter');\n $this.animateText(nextText, $this.getNextText(nextText));\n }, delay_delete);\n } else {\n text.removeClass('show-text');\n text.find('.dynamic-text-letter').removeClass('show-letter');\n $this.animateText(nextText, $this.getNextText(nextText));\n }\n }, delay);\n }\n\n showText(text, nextText) {\n const $this = this,\n delay = $this.elements.$wrapper.data('delay'),\n rotate = $this.elements.$wrapper.data('rotate');\n text.addClass('show-text');\n\n if (rotate == 'clip') {\n const clip_duration = $this.elements.$wrapper.data('clip-duration');\n $this.elements.$dynamic.width(text.width() + 10);\n $this.elements.$dynamic.animate({\n width: 0\n }, clip_duration / 2, function () {\n text.removeClass('show-text');\n nextText.addClass('show-text');\n $this.elements.$dynamic.animate({\n width: nextText.width() + 10\n }, clip_duration / 2, function () {\n setTimeout(function () {\n text.removeClass('show-text');\n $this.showText(nextText, $this.getNextText(nextText));\n }, delay);\n });\n });\n } else {\n $this.elements.$dynamic.width(text.width());\n setTimeout(function () {\n text.removeClass('show-text');\n $this.showText(nextText, $this.getNextText(nextText));\n }, delay);\n }\n }\n\n}\n\njQuery(window).on('elementor/frontend/init', () => {\n const addHandler = $element => {\n elementorFrontend.elementsHandler.addHandler(JKitAnimatedText, {\n $element\n });\n };\n\n elementorFrontend.hooks.addAction('frontend/element_ready/jkit_animated_text.default', addHandler);\n});\n\n//# sourceURL=webpack:///./jeg-elementor-kit/assets/dev/js/animated-text.js?");
97
+
98
+ /***/ })
99
+
100
+ /******/ });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/js/elements/client-logo.js CHANGED
@@ -1,79 +1,100 @@
1
- class JKitClientLogo extends elementorModules.frontend.handlers.Base {
2
- getDefaultSettings() {
3
- return {
4
- selectors: {
5
- wrapper: '.jeg-elementor-kit.jkit-client-logo',
6
- items: '.client-track',
7
- },
8
- };
9
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10
 
11
- getDefaultElements() {
12
- const selectors = this.getSettings('selectors');
13
- return {
14
- $wrapper: this.$element.find(selectors.wrapper),
15
- $items: this.$element.find(selectors.items),
16
- };
17
- }
18
 
19
- bindEvents() {
20
- this.onLoadElement()
21
- }
22
 
23
- onLoadElement() {
24
- this.loadCarousel()
25
- }
26
 
27
- loadCarousel() {
28
- const id = this.elements.$wrapper.data('id'),
29
- options = this.elements.$wrapper.data('settings'),
30
- selectors = this.getSettings('selectors'),
31
- attr = {
32
- container: selectors.wrapper + '[data-id="' + id + '"] ' + selectors.items,
33
- loop: true,
34
- mouseDrag: true,
35
- autoplay: options.autoplay,
36
- autoplayTimeout: options.autoplay_speed,
37
- autoplayHoverPause: options.autoplay_hover_pause,
38
- navPosition: 'bottom',
39
- controlsPosition: options.arrow_position,
40
- controlsText: ['<i class="' + options.navigation_left + '" aria-hidden="true"></i>', '<i class="' + options.navigation_right + '" aria-hidden="true"></i>'],
41
- responsiveClass: true,
42
- responsive: {
43
- 0: {
44
- items: options.items_mobile,
45
- gutter: options.margin_mobile
46
- },
47
- 768: {
48
- items: options.items_tablet,
49
- gutter: options.margin_tablet
50
- },
51
- 1025: {
52
- items: options.items,
53
- gutter: options.margin
54
- }
55
- }
56
- }
57
-
58
- tns(attr)
59
- this.elements.$wrapper.find('button[data-action="stop"]').remove()
60
-
61
- if (! options.show_navigation) {
62
- this.elements.$wrapper.find('.tns-controls').remove()
63
- }
64
-
65
- if (! options.show_dots) {
66
- this.elements.$wrapper.find('.tns-nav').remove()
67
- }
68
- }
69
- }
70
-
71
- jQuery(window).on('elementor/frontend/init', () => {
72
- const addHandler = ($element) => {
73
- elementorFrontend.elementsHandler.addHandler(JKitClientLogo, {
74
- $element,
75
- });
76
- };
77
-
78
- elementorFrontend.hooks.addAction('frontend/element_ready/jkit_client_logo.default', addHandler);
79
- });
1
+ /******/ (function(modules) { // webpackBootstrap
2
+ /******/ // The module cache
3
+ /******/ var installedModules = {};
4
+ /******/
5
+ /******/ // The require function
6
+ /******/ function __webpack_require__(moduleId) {
7
+ /******/
8
+ /******/ // Check if module is in cache
9
+ /******/ if(installedModules[moduleId]) {
10
+ /******/ return installedModules[moduleId].exports;
11
+ /******/ }
12
+ /******/ // Create a new module (and put it into the cache)
13
+ /******/ var module = installedModules[moduleId] = {
14
+ /******/ i: moduleId,
15
+ /******/ l: false,
16
+ /******/ exports: {}
17
+ /******/ };
18
+ /******/
19
+ /******/ // Execute the module function
20
+ /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
21
+ /******/
22
+ /******/ // Flag the module as loaded
23
+ /******/ module.l = true;
24
+ /******/
25
+ /******/ // Return the exports of the module
26
+ /******/ return module.exports;
27
+ /******/ }
28
+ /******/
29
+ /******/
30
+ /******/ // expose the modules object (__webpack_modules__)
31
+ /******/ __webpack_require__.m = modules;
32
+ /******/
33
+ /******/ // expose the module cache
34
+ /******/ __webpack_require__.c = installedModules;
35
+ /******/
36
+ /******/ // define getter function for harmony exports
37
+ /******/ __webpack_require__.d = function(exports, name, getter) {
38
+ /******/ if(!__webpack_require__.o(exports, name)) {
39
+ /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
40
+ /******/ }
41
+ /******/ };
42
+ /******/
43
+ /******/ // define __esModule on exports
44
+ /******/ __webpack_require__.r = function(exports) {
45
+ /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
46
+ /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
47
+ /******/ }
48
+ /******/ Object.defineProperty(exports, '__esModule', { value: true });
49
+ /******/ };
50
+ /******/
51
+ /******/ // create a fake namespace object
52
+ /******/ // mode & 1: value is a module id, require it
53
+ /******/ // mode & 2: merge all properties of value into the ns
54
+ /******/ // mode & 4: return value when already ns object
55
+ /******/ // mode & 8|1: behave like require
56
+ /******/ __webpack_require__.t = function(value, mode) {
57
+ /******/ if(mode & 1) value = __webpack_require__(value);
58
+ /******/ if(mode & 8) return value;
59
+ /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
60
+ /******/ var ns = Object.create(null);
61
+ /******/ __webpack_require__.r(ns);
62
+ /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
63
+ /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
64
+ /******/ return ns;
65
+ /******/ };
66
+ /******/
67
+ /******/ // getDefaultExport function for compatibility with non-harmony modules
68
+ /******/ __webpack_require__.n = function(module) {
69
+ /******/ var getter = module && module.__esModule ?
70
+ /******/ function getDefault() { return module['default']; } :
71
+ /******/ function getModuleExports() { return module; };
72
+ /******/ __webpack_require__.d(getter, 'a', getter);
73
+ /******/ return getter;
74
+ /******/ };
75
+ /******/
76
+ /******/ // Object.prototype.hasOwnProperty.call
77
+ /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
78
+ /******/
79
+ /******/ // __webpack_public_path__
80
+ /******/ __webpack_require__.p = "";
81
+ /******/
82
+ /******/
83
+ /******/ // Load entry module and return exports
84
+ /******/ return __webpack_require__(__webpack_require__.s = "./jeg-elementor-kit/assets/dev/js/client-logo.js");
85
+ /******/ })
86
+ /************************************************************************/
87
+ /******/ ({
88
 
89
+ /***/ "./jeg-elementor-kit/assets/dev/js/client-logo.js":
90
+ /*!********************************************************!*\
91
+ !*** ./jeg-elementor-kit/assets/dev/js/client-logo.js ***!
92
+ \********************************************************/
93
+ /*! no static exports found */
94
+ /***/ (function(module, exports) {
 
95
 
96
+ eval("class JKitClientLogo extends elementorModules.frontend.handlers.Base {\n getDefaultSettings() {\n return {\n selectors: {\n wrapper: '.jeg-elementor-kit.jkit-client-logo',\n items: '.client-track'\n }\n };\n }\n\n getDefaultElements() {\n const selectors = this.getSettings('selectors');\n return {\n $wrapper: this.$element.find(selectors.wrapper),\n $items: this.$element.find(selectors.items)\n };\n }\n\n bindEvents() {\n this.onLoadElement();\n }\n\n onLoadElement() {\n this.loadCarousel();\n }\n\n loadCarousel() {\n const id = this.elements.$wrapper.data('id'),\n options = this.elements.$wrapper.data('settings'),\n selectors = this.getSettings('selectors'),\n attr = {\n container: selectors.wrapper + '[data-id=\"' + id + '\"] ' + selectors.items,\n loop: true,\n mouseDrag: true,\n autoplay: options.autoplay,\n autoplayTimeout: options.autoplay_speed,\n autoplayHoverPause: options.autoplay_hover_pause,\n navPosition: 'bottom',\n controlsPosition: options.arrow_position,\n controlsText: ['<i class=\"' + options.navigation_left + '\" aria-hidden=\"true\"></i>', '<i class=\"' + options.navigation_right + '\" aria-hidden=\"true\"></i>'],\n responsiveClass: true,\n responsive: {\n 0: {\n items: options.items_mobile,\n gutter: options.margin_mobile\n },\n 768: {\n items: options.items_tablet,\n gutter: options.margin_tablet\n },\n 1025: {\n items: options.items,\n gutter: options.margin\n }\n }\n };\n tns(attr);\n this.elements.$wrapper.find('button[data-action=\"stop\"]').remove();\n\n if (!options.show_navigation) {\n this.elements.$wrapper.find('.tns-controls').remove();\n }\n\n if (!options.show_dots) {\n this.elements.$wrapper.find('.tns-nav').remove();\n }\n }\n\n}\n\njQuery(window).on('elementor/frontend/init', () => {\n const addHandler = $element => {\n elementorFrontend.elementsHandler.addHandler(JKitClientLogo, {\n $element\n });\n };\n\n elementorFrontend.hooks.addAction('frontend/element_ready/jkit_client_logo.default', addHandler);\n});\n\n//# sourceURL=webpack:///./jeg-elementor-kit/assets/dev/js/client-logo.js?");
 
 
97
 
98
+ /***/ })
 
 
99
 
100
+ /******/ });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/js/elements/elements.js ADDED
@@ -0,0 +1,232 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /******/ (function(modules) { // webpackBootstrap
2
+ /******/ // The module cache
3
+ /******/ var installedModules = {};
4
+ /******/
5
+ /******/ // The require function
6
+ /******/ function __webpack_require__(moduleId) {
7
+ /******/
8
+ /******/ // Check if module is in cache
9
+ /******/ if(installedModules[moduleId]) {
10
+ /******/ return installedModules[moduleId].exports;
11
+ /******/ }
12
+ /******/ // Create a new module (and put it into the cache)
13
+ /******/ var module = installedModules[moduleId] = {
14
+ /******/ i: moduleId,
15
+ /******/ l: false,
16
+ /******/ exports: {}
17
+ /******/ };
18
+ /******/
19
+ /******/ // Execute the module function
20
+ /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
21
+ /******/
22
+ /******/ // Flag the module as loaded
23
+ /******/ module.l = true;
24
+ /******/
25
+ /******/ // Return the exports of the module
26
+ /******/ return module.exports;
27
+ /******/ }
28
+ /******/
29
+ /******/
30
+ /******/ // expose the modules object (__webpack_modules__)
31
+ /******/ __webpack_require__.m = modules;
32
+ /******/
33
+ /******/ // expose the module cache
34
+ /******/ __webpack_require__.c = installedModules;
35
+ /******/
36
+ /******/ // define getter function for harmony exports
37
+ /******/ __webpack_require__.d = function(exports, name, getter) {
38
+ /******/ if(!__webpack_require__.o(exports, name)) {
39
+ /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
40
+ /******/ }
41
+ /******/ };
42
+ /******/
43
+ /******/ // define __esModule on exports
44
+ /******/ __webpack_require__.r = function(exports) {
45
+ /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
46
+ /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
47
+ /******/ }
48
+ /******/ Object.defineProperty(exports, '__esModule', { value: true });
49
+ /******/ };
50
+ /******/
51
+ /******/ // create a fake namespace object
52
+ /******/ // mode & 1: value is a module id, require it
53
+ /******/ // mode & 2: merge all properties of value into the ns
54
+ /******/ // mode & 4: return value when already ns object
55
+ /******/ // mode & 8|1: behave like require
56
+ /******/ __webpack_require__.t = function(value, mode) {
57
+ /******/ if(mode & 1) value = __webpack_require__(value);
58
+ /******/ if(mode & 8) return value;
59
+ /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
60
+ /******/ var ns = Object.create(null);
61
+ /******/ __webpack_require__.r(ns);
62
+ /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
63
+ /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
64
+ /******/ return ns;
65
+ /******/ };
66
+ /******/
67
+ /******/ // getDefaultExport function for compatibility with non-harmony modules
68
+ /******/ __webpack_require__.n = function(module) {
69
+ /******/ var getter = module && module.__esModule ?
70
+ /******/ function getDefault() { return module['default']; } :
71
+ /******/ function getModuleExports() { return module; };
72
+ /******/ __webpack_require__.d(getter, 'a', getter);
73
+ /******/ return getter;
74
+ /******/ };
75
+ /******/
76
+ /******/ // Object.prototype.hasOwnProperty.call
77
+ /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
78
+ /******/
79
+ /******/ // __webpack_public_path__
80
+ /******/ __webpack_require__.p = "";
81
+ /******/
82
+ /******/
83
+ /******/ // Load entry module and return exports
84
+ /******/ return __webpack_require__(__webpack_require__.s = 0);
85
+ /******/ })
86
+ /************************************************************************/
87
+ /******/ ({
88
+
89
+ /***/ "./jeg-elementor-kit/assets/dev/js/accordion.js":
90
+ /*!******************************************************!*\
91
+ !*** ./jeg-elementor-kit/assets/dev/js/accordion.js ***!
92
+ \******************************************************/
93
+ /*! no static exports found */
94
+ /***/ (function(module, exports) {
95
+
96
+ eval("class JKitAccordion extends elementorModules.frontend.handlers.Base {\n getDefaultSettings() {\n return {\n selectors: {\n wrapper: '.jeg-elementor-kit.jkit-accordion',\n cards: '.card-wrapper'\n }\n };\n }\n\n getDefaultElements() {\n const selectors = this.getSettings('selectors');\n return {\n $wrapper: this.$element.find(selectors.wrapper),\n $cards: this.$element.find(selectors.cards)\n };\n }\n\n bindEvents() {\n this.onClick();\n }\n\n onClick() {\n this.elements.$cards.each(function () {\n jQuery(this).on('click', function (e) {\n e.preventDefault();\n\n if (jQuery(this).hasClass('expand')) {\n jQuery(this).find('.card-expand').slideUp();\n jQuery(this).removeClass('expand');\n } else {\n jQuery(this).parent().find('.card-expand').slideUp();\n jQuery(this).parent().find('.card-wrapper').removeClass('expand');\n jQuery(this).addClass('expand');\n jQuery(this).find('.card-expand').slideDown();\n }\n });\n });\n }\n\n}\n\njQuery(window).on('elementor/frontend/init', () => {\n const addHandler = $element => {\n elementorFrontend.elementsHandler.addHandler(JKitAccordion, {\n $element\n });\n };\n\n elementorFrontend.hooks.addAction('frontend/element_ready/jkit_accordion.default', addHandler);\n});\n\n//# sourceURL=webpack:///./jeg-elementor-kit/assets/dev/js/accordion.js?");
97
+
98
+ /***/ }),
99
+
100
+ /***/ "./jeg-elementor-kit/assets/dev/js/animated-text.js":
101
+ /*!**********************************************************!*\
102
+ !*** ./jeg-elementor-kit/assets/dev/js/animated-text.js ***!
103
+ \**********************************************************/
104
+ /*! no static exports found */
105
+ /***/ (function(module, exports) {
106
+
107
+ eval("class JKitAnimatedText extends elementorModules.frontend.handlers.Base {\n getDefaultSettings() {\n return {\n selectors: {\n wrapper: '.jeg-elementor-kit.jkit-animated-text',\n dynamic: '.dynamic-wrapper'\n }\n };\n }\n\n getDefaultElements() {\n const selectors = this.getSettings('selectors');\n return {\n $wrapper: this.$element.find(selectors.wrapper),\n $dynamic: this.$element.find(selectors.dynamic)\n };\n }\n\n bindEvents() {\n this.onRenderElement();\n }\n\n onRenderElement() {\n const animation = this.elements.$wrapper.data('style');\n\n if ('rotating' == animation) {\n const rotate = this.elements.$wrapper.data('rotate'),\n dynamic_text = this.elements.$dynamic.find('.dynamic-text');\n\n if (dynamic_text.length > 0) {\n const firstText = dynamic_text.first();\n\n if (['typing', 'swirl', 'blinds', 'wave'].includes(rotate)) {\n this.animateText(firstText, this.getNextText(firstText));\n } else {\n this.showText(firstText, this.getNextText(firstText));\n }\n }\n }\n }\n\n animateText(text, nextText) {\n this.elements.$dynamic.removeClass('typing-delete');\n text.addClass('show-text');\n this.elements.$dynamic.removeClass('cursor-blink');\n this.animateLetter(text.find('.dynamic-text-letter').first(), text, nextText);\n }\n\n animateLetter(letter, text, nextText) {\n const $this = this,\n letter_speed = this.elements.$wrapper.data('letter-speed');\n letter.addClass('show-letter');\n setTimeout(function () {\n if (letter.is(':last-child')) {\n $this.hideText(text, nextText);\n } else {\n $this.animateLetter(letter.next(), text, nextText);\n }\n }, letter_speed);\n }\n\n getNextText(text) {\n return text.is(':last-child') ? this.elements.$dynamic.find('.dynamic-text').first() : text.next();\n }\n\n hideText(text, nextText) {\n const $this = this,\n rotate = $this.elements.$wrapper.data('rotate'),\n delay = $this.elements.$wrapper.data('delay');\n this.elements.$dynamic.addClass('cursor-blink');\n setTimeout(function () {\n if ('typing' == rotate) {\n const delay_delete = $this.elements.$wrapper.data('delay-delete');\n $this.elements.$dynamic.addClass('typing-delete');\n setTimeout(function () {\n text.removeClass('show-text');\n text.find('.dynamic-text-letter').removeClass('show-letter');\n $this.animateText(nextText, $this.getNextText(nextText));\n }, delay_delete);\n } else {\n text.removeClass('show-text');\n text.find('.dynamic-text-letter').removeClass('show-letter');\n $this.animateText(nextText, $this.getNextText(nextText));\n }\n }, delay);\n }\n\n showText(text, nextText) {\n const $this = this,\n delay = $this.elements.$wrapper.data('delay'),\n rotate = $this.elements.$wrapper.data('rotate');\n text.addClass('show-text');\n\n if (rotate == 'clip') {\n const clip_duration = $this.elements.$wrapper.data('clip-duration');\n $this.elements.$dynamic.width(text.width() + 10);\n $this.elements.$dynamic.animate({\n width: 0\n }, clip_duration / 2, function () {\n text.removeClass('show-text');\n nextText.addClass('show-text');\n $this.elements.$dynamic.animate({\n width: nextText.width() + 10\n }, clip_duration / 2, function () {\n setTimeout(function () {\n text.removeClass('show-text');\n $this.showText(nextText, $this.getNextText(nextText));\n }, delay);\n });\n });\n } else {\n $this.elements.$dynamic.width(text.width());\n setTimeout(function () {\n text.removeClass('show-text');\n $this.showText(nextText, $this.getNextText(nextText));\n }, delay);\n }\n }\n\n}\n\njQuery(window).on('elementor/frontend/init', () => {\n const addHandler = $element => {\n elementorFrontend.elementsHandler.addHandler(JKitAnimatedText, {\n $element\n });\n };\n\n elementorFrontend.hooks.addAction('frontend/element_ready/jkit_animated_text.default', addHandler);\n});\n\n//# sourceURL=webpack:///./jeg-elementor-kit/assets/dev/js/animated-text.js?");
108
+
109
+ /***/ }),
110
+
111
+ /***/ "./jeg-elementor-kit/assets/dev/js/client-logo.js":
112
+ /*!********************************************************!*\
113
+ !*** ./jeg-elementor-kit/assets/dev/js/client-logo.js ***!
114
+ \********************************************************/
115
+ /*! no static exports found */
116
+ /***/ (function(module, exports) {
117
+
118
+ eval("class JKitClientLogo extends elementorModules.frontend.handlers.Base {\n getDefaultSettings() {\n return {\n selectors: {\n wrapper: '.jeg-elementor-kit.jkit-client-logo',\n items: '.client-track'\n }\n };\n }\n\n getDefaultElements() {\n const selectors = this.getSettings('selectors');\n return {\n $wrapper: this.$element.find(selectors.wrapper),\n $items: this.$element.find(selectors.items)\n };\n }\n\n bindEvents() {\n this.onLoadElement();\n }\n\n onLoadElement() {\n this.loadCarousel();\n }\n\n loadCarousel() {\n const id = this.elements.$wrapper.data('id'),\n options = this.elements.$wrapper.data('settings'),\n selectors = this.getSettings('selectors'),\n attr = {\n container: selectors.wrapper + '[data-id=\"' + id + '\"] ' + selectors.items,\n loop: true,\n mouseDrag: true,\n autoplay: options.autoplay,\n autoplayTimeout: options.autoplay_speed,\n autoplayHoverPause: options.autoplay_hover_pause,\n navPosition: 'bottom',\n controlsPosition: options.arrow_position,\n controlsText: ['<i class=\"' + options.navigation_left + '\" aria-hidden=\"true\"></i>', '<i class=\"' + options.navigation_right + '\" aria-hidden=\"true\"></i>'],\n responsiveClass: true,\n responsive: {\n 0: {\n items: options.items_mobile,\n gutter: options.margin_mobile\n },\n 768: {\n items: options.items_tablet,\n gutter: options.margin_tablet\n },\n 1025: {\n items: options.items,\n gutter: options.margin\n }\n }\n };\n tns(attr);\n this.elements.$wrapper.find('button[data-action=\"stop\"]').remove();\n\n if (!options.show_navigation) {\n this.elements.$wrapper.find('.tns-controls').remove();\n }\n\n if (!options.show_dots) {\n this.elements.$wrapper.find('.tns-nav').remove();\n }\n }\n\n}\n\njQuery(window).on('elementor/frontend/init', () => {\n const addHandler = $element => {\n elementorFrontend.elementsHandler.addHandler(JKitClientLogo, {\n $element\n });\n };\n\n elementorFrontend.hooks.addAction('frontend/element_ready/jkit_client_logo.default', addHandler);\n});\n\n//# sourceURL=webpack:///./jeg-elementor-kit/assets/dev/js/client-logo.js?");
119
+
120
+ /***/ }),
121
+
122
+ /***/ "./jeg-elementor-kit/assets/dev/js/fun-fact.js":
123
+ /*!*****************************************************!*\
124
+ !*** ./jeg-elementor-kit/assets/dev/js/fun-fact.js ***!
125
+ \*****************************************************/
126
+ /*! no static exports found */
127
+ /***/ (function(module, exports) {
128
+
129
+ eval("class JKitFunFact extends elementorModules.frontend.handlers.Base {\n getDefaultSettings() {\n return {\n selectors: {\n wrapper: '.jeg-elementor-kit.jkit-fun-fact',\n number: '.number'\n }\n };\n }\n\n getDefaultElements() {\n const selectors = this.getSettings('selectors');\n return {\n $wrapper: this.$element.find(selectors.wrapper),\n $number: this.$element.find(selectors.number)\n };\n }\n\n bindEvents() {\n this.onLoadElement();\n }\n\n onLoadElement() {\n this.countNumber();\n jQuery(window).on('scroll', this.countNumber.bind(this));\n }\n\n countNumber() {\n const el = this.elements.$number;\n\n if (this.onScreen() && !el.hasClass('loaded')) {\n el.prop('Counter', 0).animate({\n Counter: el.data('value')\n }, {\n duration: el.data('animation-duration'),\n easing: 'swing',\n step: function (now) {\n el.text(Math.ceil(now).toLocaleString());\n },\n complete: function () {\n el.text(el.data('value').toLocaleString());\n }\n });\n el.addClass('loaded');\n }\n }\n\n onScreen() {\n const windowBottomEdge = jQuery(window).scrollTop() + jQuery(window).height(),\n elementTopEdge = this.elements.$wrapper.offset().top;\n return elementTopEdge <= windowBottomEdge;\n }\n\n}\n\njQuery(window).on('elementor/frontend/init', () => {\n const addHandler = $element => {\n elementorFrontend.elementsHandler.addHandler(JKitFunFact, {\n $element\n });\n };\n\n elementorFrontend.hooks.addAction('frontend/element_ready/jkit_fun_fact.default', addHandler);\n});\n\n//# sourceURL=webpack:///./jeg-elementor-kit/assets/dev/js/fun-fact.js?");
130
+
131
+ /***/ }),
132
+
133
+ /***/ "./jeg-elementor-kit/assets/dev/js/gallery.js":
134
+ /*!****************************************************!*\
135
+ !*** ./jeg-elementor-kit/assets/dev/js/gallery.js ***!
136
+ \****************************************************/
137
+ /*! no static exports found */
138
+ /***/ (function(module, exports) {
139
+
140
+ eval("class JKitGallery extends elementorModules.frontend.handlers.Base {\n getDefaultSettings() {\n return {\n selectors: {\n wrapper: '.jeg-elementor-kit.jkit-gallery',\n grid: '.gallery-items',\n active_label: '.jkit-gallery-control.active',\n filter: '.jkit-gallery-control',\n filter_button: '#search-filter-trigger',\n filter_label: '#search-filter-trigger span',\n filter_list: '.search-filter-controls',\n filter_form: '#jkit-gallery-search-box-input',\n load_more: '.jkit-gallery-load-more'\n }\n };\n }\n\n getDefaultElements() {\n const selectors = this.getSettings('selectors');\n return {\n $wrapper: this.$element.find(selectors.wrapper),\n $grid: this.$element.find(selectors.grid),\n $active_label: this.$element.find(selectors.active_label),\n $filter: this.$element.find(selectors.filter),\n $filter_button: this.$element.find(selectors.filter_button),\n $filter_label: this.$element.find(selectors.filter_label),\n $filter_list: this.$element.find(selectors.filter_list),\n $filter_form: this.$element.find(selectors.filter_form),\n $load_more: this.$element.find(selectors.load_more)\n };\n }\n\n bindEvents() {\n const $this = this,\n layout = $this.elements.$wrapper.data('grid') == 'masonry' ? 'masonry' : 'fitRows',\n duration = parseFloat(($this.elements.$wrapper.data('animation-duration') / 1000).toFixed(2)).toString() + 's';\n $this.grid = $this.elements.$grid.isotope({\n itemSelector: '.gallery-item-wrap',\n layoutMode: layout,\n transitionDuration: duration\n });\n $this.grid.imagesLoaded().progress(function () {\n $this.grid.isotope('layout');\n });\n $this.onInitGallery();\n $this.onClickFilterButton();\n $this.onClickLoadMoreButton();\n $this.onFormChange();\n }\n\n onInitGallery() {\n const $this = this;\n $this.elements.$filter.each(function () {\n jQuery(this).on('click', function (e) {\n e.preventDefault();\n const selectors = $this.getSettings('selectors'),\n filter_value = jQuery(this).data('filter'),\n filter_label = $this.elements.$filter_label,\n filter_list = $this.elements.$filter_list,\n filter_button = $this.elements.$filter_button,\n filter_form = $this.elements.$filter_form,\n filter = $this.elements.$filter;\n filter.removeClass('active');\n jQuery(this).addClass('active');\n $this.elements.$active_label = $this.$element.find(selectors.active_label);\n $this.grid.isotope({\n filter: function () {\n const class_filter = filter_value !== '*' ? filter_value.substring(1) : '*',\n class_list = jQuery(this).attr('class').split(/\\s+/);\n let check_filter = false;\n\n if (filter_button.length > 0) {\n const text = filter_form.val(),\n name = jQuery(this).find('.item-title').text(),\n content = jQuery(this).find('.item-content').text();\n check_filter = class_filter != '*' ? (name.toLowerCase().includes(text.toLowerCase()) || content.toLowerCase().includes(text.toLowerCase())) && class_list.includes(class_filter) : name.toLowerCase().includes(text.toLowerCase()) || content.toLowerCase().includes(text.toLowerCase());\n } else {\n check_filter = class_filter != '*' ? class_list.includes(class_filter) : true;\n }\n\n return check_filter;\n }\n });\n\n if (filter_button.length > 0) {\n filter_label.text(jQuery(this).text());\n filter_list.removeClass('open-controls');\n }\n });\n });\n }\n\n onClickFilterButton() {\n const $this = this;\n $this.elements.$filter_button.on('click', function (e) {\n e.preventDefault();\n const filter_list = $this.elements.$filter_list;\n\n if (filter_list.hasClass('open-controls')) {\n filter_list.removeClass('open-controls');\n } else {\n filter_list.addClass('open-controls');\n }\n });\n }\n\n onFormChange() {\n const $this = this,\n filter_form = $this.elements.$filter_form;\n\n if (filter_form !== undefined) {\n filter_form.on('change paste keyup', function () {\n const text = jQuery(this).val();\n $this.grid.isotope({\n filter: function () {\n const name = jQuery(this).find('.item-title').text(),\n content = jQuery(this).find('.item-content').text(),\n class_list = jQuery(this).attr('class').split(/\\s+/),\n class_filter = $this.elements.$active_label.data('filter') !== '*' ? $this.elements.$active_label.data('filter').substring(1) : '*';\n let check_filter = false;\n\n if (class_filter == '*') {\n check_filter = name.toLowerCase().includes(text.toLowerCase()) || content.toLowerCase().includes(text.toLowerCase());\n } else {\n check_filter = (name.toLowerCase().includes(text.toLowerCase()) || content.toLowerCase().includes(text.toLowerCase())) && class_list.includes(class_filter);\n }\n\n return check_filter;\n }\n });\n });\n }\n }\n\n onClickLoadMoreButton() {\n const $this = this,\n items = $this.elements.$wrapper.data('items');\n $this.elements.$load_more.on('click', function (e) {\n e.preventDefault();\n const current_loaded = parseInt($this.elements.$wrapper.attr('data-current-loaded')),\n count_items = parseInt($this.elements.$wrapper.attr('data-count-items')),\n load_more = parseInt($this.elements.$wrapper.attr('data-load-more')),\n no_more_text = $this.elements.$wrapper.attr('data-no-more');\n\n if (count_items > current_loaded) {\n if (count_items - load_more - current_loaded > 0) {\n const items_append = [...items].splice(current_loaded, load_more);\n $this.grid.append(items_append).isotope('reloadItems').isotope();\n $this.grid.imagesLoaded().progress(function () {\n $this.grid.isotope('layout');\n });\n $this.elements.$wrapper.attr('data-current-loaded', current_loaded + load_more);\n } else {\n const items_append = [...items].splice(current_loaded, count_items - current_loaded);\n $this.grid.append(items_append).isotope('reloadItems').isotope();\n $this.grid.imagesLoaded().progress(function () {\n $this.grid.isotope('layout');\n });\n $this.elements.$wrapper.attr('data-current-loaded', count_items);\n $this.elements.$load_more.find('.load-more-text').text(no_more_text);\n setTimeout(function () {\n $this.elements.$load_more.fadeOut('slow');\n }, 600);\n }\n }\n });\n }\n\n}\n\njQuery(window).on('elementor/frontend/init', () => {\n const addHandler = $element => {\n elementorFrontend.elementsHandler.addHandler(JKitGallery, {\n $element\n });\n };\n\n elementorFrontend.hooks.addAction('frontend/element_ready/jkit_gallery.default', addHandler);\n});\n\n//# sourceURL=webpack:///./jeg-elementor-kit/assets/dev/js/gallery.js?");
141
+
142
+ /***/ }),
143
+
144
+ /***/ "./jeg-elementor-kit/assets/dev/js/nav-menu.js":
145
+ /*!*****************************************************!*\
146
+ !*** ./jeg-elementor-kit/assets/dev/js/nav-menu.js ***!
147
+ \*****************************************************/
148
+ /*! no static exports found */
149
+ /***/ (function(module, exports) {
150
+
151
+ eval("class JKitNavMenu extends elementorModules.frontend.handlers.Base {\n getDefaultSettings() {\n return {\n selectors: {\n wrapper: '.jeg-elementor-kit.jkit-nav-menu',\n container: '.jkit-menu-wrapper',\n open_toggle: '.jkit-hamburger-menu',\n close_toggle: '.jkit-close-menu',\n dropdown_toggle: 'li.menu-item-has-children > a i',\n menu_dropdown: 'li.menu-item-has-children > a'\n }\n };\n }\n\n getDefaultElements() {\n const selectors = this.getSettings('selectors');\n return {\n $wrapper: this.$element.find(selectors.wrapper),\n $container: this.$element.find(selectors.container),\n $open_toggle: this.$element.find(selectors.open_toggle),\n $close_toggle: this.$element.find(selectors.close_toggle),\n $dropdown_toggle: this.$element.find(selectors.dropdown_toggle),\n $menu_dropdown: this.$element.find(selectors.menu_dropdown)\n };\n }\n\n bindEvents() {\n this.onLoadElement();\n }\n\n onLoadElement() {\n this.addBodyClass();\n this.addDropdownIcon();\n this.onToogleClick();\n }\n\n addBodyClass() {\n if (this.elements.$wrapper.length > 0) {\n jQuery('html').addClass('jkit-nav-menu-loaded');\n }\n }\n\n addDropdownIcon() {\n const $this = this,\n indicator = $this.elements.$wrapper.data('item-indicator'),\n dropdown = $this.elements.$menu_dropdown,\n selectors = this.getSettings('selectors');\n dropdown.each(function () {\n jQuery(this).append('<i class=\"' + indicator + '\"></i>');\n });\n $this.elements.$dropdown_toggle = this.$element.find(selectors.dropdown_toggle);\n }\n\n onToogleClick() {\n const $this = this,\n wrapper = $this.elements.$wrapper,\n menu_dropdown = $this.elements.$menu_dropdown,\n open_toggle = $this.elements.$open_toggle,\n close_toggle = $this.elements.$close_toggle,\n dropdown_toggle = $this.elements.$dropdown_toggle;\n open_toggle.on('click', function (e) {\n e.preventDefault();\n\n if ($this.elements.$container.hasClass('active')) {\n $this.elements.$container.removeClass('active');\n } else {\n $this.elements.$container.addClass('active');\n }\n });\n close_toggle.on('click', function (e) {\n e.preventDefault();\n $this.elements.$container.removeClass('active');\n });\n\n if (wrapper.hasClass('submenu-click-title')) {\n menu_dropdown.each(function () {\n jQuery(this).on('click', function (e) {\n e.preventDefault();\n const dropdown = jQuery(this).next();\n\n if (dropdown.hasClass('dropdown-open')) {\n dropdown.removeClass('dropdown-open');\n } else {\n dropdown.addClass('dropdown-open');\n }\n });\n });\n } else {\n dropdown_toggle.each(function () {\n jQuery(this).on('click', function (e) {\n e.preventDefault();\n const dropdown = jQuery(this).parents('a').next();\n\n if (dropdown.hasClass('dropdown-open')) {\n dropdown.removeClass('dropdown-open');\n } else {\n dropdown.addClass('dropdown-open');\n }\n });\n });\n }\n }\n\n}\n\njQuery(window).on('elementor/frontend/init', () => {\n const addHandler = $element => {\n elementorFrontend.elementsHandler.addHandler(JKitNavMenu, {\n $element\n });\n };\n\n elementorFrontend.hooks.addAction('frontend/element_ready/jkit_nav_menu.default', addHandler);\n});\n\n//# sourceURL=webpack:///./jeg-elementor-kit/assets/dev/js/nav-menu.js?");
152
+
153
+ /***/ }),
154
+
155
+ /***/ "./jeg-elementor-kit/assets/dev/js/pie-chart.js":
156
+ /*!******************************************************!*\
157
+ !*** ./jeg-elementor-kit/assets/dev/js/pie-chart.js ***!
158
+ \******************************************************/
159
+ /*! no static exports found */
160
+ /***/ (function(module, exports) {
161
+
162
+ eval("class JKitPieChart extends elementorModules.frontend.handlers.Base {\n getDefaultSettings() {\n return {\n selectors: {\n wrapper: '.jeg-elementor-kit.jkit-pie-chart',\n canvas_main: 'canvas.main-canvas',\n canvas_bg: 'canvas.background-canvas',\n number: '.pie-chart-content'\n }\n };\n }\n\n getDefaultElements() {\n const selectors = this.getSettings('selectors');\n return {\n $wrapper: this.$element.find(selectors.wrapper),\n $canvas_main: this.$element.find(selectors.canvas_main),\n $canvas_bg: this.$element.find(selectors.canvas_bg),\n $number: this.$element.find(selectors.number)\n };\n }\n\n bindEvents() {\n this.animateChart();\n jQuery(window).on('scroll', this.animateChart.bind(this));\n\n if (this.elements.$wrapper.data('content-type') == 'percentage') {\n this.countNumber();\n jQuery(window).on('scroll', this.countNumber.bind(this));\n }\n }\n\n animateChart() {\n const $this = this,\n canvas_main = $this.elements.$canvas_main,\n canvas_bg = $this.elements.$canvas_bg;\n\n if (this.onScreen() && !canvas_main.hasClass('loaded')) {\n const wrapper = $this.elements.$wrapper,\n ctx_main = canvas_main.get(0).getContext('2d'),\n ctx_bg = canvas_bg.get(0).getContext('2d'),\n percent = wrapper.data('percent'),\n cutout = wrapper.data('cutout'),\n color_type = wrapper.data('color-type'),\n color = wrapper.data('color'),\n bg_color = wrapper.data('bg-color'),\n gradient1 = wrapper.data('gradient1'),\n gradient2 = wrapper.data('gradient2'),\n animation_duration = wrapper.data('animation-duration'),\n data_main = {\n datasets: [{\n data: [percent, 100 - percent],\n backgroundColor: [\"#80b1ff\", 'transparent'],\n borderWidth: 0\n }]\n },\n data_bg = {\n datasets: [{\n data: [100],\n backgroundColor: [\"#d1d1d1\"],\n borderWidth: 0\n }]\n },\n options_main = {\n animation: {\n duration: animation_duration\n },\n responsive: false,\n cutoutPercentage: cutout,\n title: {\n display: false\n },\n legend: {\n display: false\n },\n tooltips: {\n enabled: false\n }\n },\n options_bg = {\n animation: false,\n responsive: false,\n cutoutPercentage: cutout,\n title: {\n display: false\n },\n legend: {\n display: false\n },\n tooltips: {\n enabled: false\n }\n };\n\n if (color_type == 'normal') {\n if (color !== '') {\n data_main.datasets[0].backgroundColor[0] = color;\n }\n } else if (color_type == 'gradient' && (gradient1 !== '' || gradient2 !== '')) {\n const gradientFill = ctx_main.createLinearGradient(0, 0, 0, 170);\n\n if (gradient1 !== '') {\n gradientFill.addColorStop(0, gradient1);\n }\n\n if (gradient2 !== '') {\n gradientFill.addColorStop(1, gradient2);\n }\n\n data_main.datasets[0].backgroundColor[0] = gradientFill;\n }\n\n if (bg_color !== '') {\n data_bg.datasets[0].backgroundColor[0] = bg_color;\n }\n\n new Chart(ctx_main, {\n type: 'doughnut',\n data: data_main,\n options: options_main\n });\n new Chart(ctx_bg, {\n type: 'doughnut',\n data: data_bg,\n options: options_bg\n });\n canvas_main.addClass('loaded');\n canvas_main.removeAttr('style');\n canvas_bg.removeAttr('style');\n }\n }\n\n countNumber() {\n const number = this.elements.$number,\n wrapper = this.elements.$wrapper;\n\n if (this.onScreen() && !number.hasClass('loaded')) {\n number.prop('Counter', 0).animate({\n Counter: wrapper.data('percent')\n }, {\n duration: wrapper.data('animation-duration'),\n easing: 'swing',\n step: function (now) {\n number.text(Math.ceil(now).toString() + '%');\n }\n });\n number.addClass('loaded');\n }\n }\n\n onScreen() {\n const windowBottomEdge = jQuery(window).scrollTop() + jQuery(window).height(),\n elementTopEdge = this.elements.$wrapper.offset().top;\n return elementTopEdge <= windowBottomEdge;\n }\n\n}\n\njQuery(window).on('elementor/frontend/init', () => {\n const addHandler = $element => {\n elementorFrontend.elementsHandler.addHandler(JKitPieChart, {\n $element\n });\n };\n\n elementorFrontend.hooks.addAction('frontend/element_ready/jkit_pie_chart.default', addHandler);\n});\n\n//# sourceURL=webpack:///./jeg-elementor-kit/assets/dev/js/pie-chart.js?");
163
+
164
+ /***/ }),
165
+
166
+ /***/ "./jeg-elementor-kit/assets/dev/js/portfolio-gallery.js":
167
+ /*!**************************************************************!*\
168
+ !*** ./jeg-elementor-kit/assets/dev/js/portfolio-gallery.js ***!
169
+ \**************************************************************/
170
+ /*! no static exports found */
171
+ /***/ (function(module, exports) {
172
+
173
+ eval("class JKitPortfolioGallery extends elementorModules.frontend.handlers.Base {\n getDefaultSettings() {\n return {\n selectors: {\n wrapper: '.jeg-elementor-kit.jkit-portfolio-gallery',\n row_items: '.row-item',\n gallery_items: '.gallery-items',\n image_items: '.image-item'\n }\n };\n }\n\n getDefaultElements() {\n const selectors = this.getSettings('selectors');\n return {\n $wrapper: this.$element.find(selectors.wrapper),\n $row_items: this.$element.find(selectors.row_items),\n $gallery_items: this.$element.find(selectors.gallery_items),\n $image_items: this.$element.find(selectors.image_items)\n };\n }\n\n bindEvents() {\n this.onRenderInit();\n this.onClickHover();\n }\n\n onRenderInit() {\n const $this = this,\n row_items = $this.elements.$row_items,\n image_items = $this.elements.$image_items;\n jQuery(row_items.get().reverse()).each(function () {\n if (jQuery(this).hasClass('current-item')) {\n row_items.removeClass('current-item');\n jQuery(this).addClass('current-item');\n }\n });\n jQuery(image_items.get().reverse()).each(function () {\n if (jQuery(this).hasClass('current-item')) {\n image_items.removeClass('current-item');\n jQuery(this).addClass('current-item');\n }\n });\n }\n\n onClickHover() {\n const $this = this,\n wrapper = $this.elements.$wrapper,\n row_items = $this.elements.$row_items;\n\n if (wrapper.hasClass('on-click')) {\n row_items.each(function () {\n jQuery(this).on({\n click: function () {\n row_items.removeClass('current-item');\n jQuery(this).addClass('current-item');\n $this.onShowImage(jQuery(this).data('tab'));\n }\n });\n });\n }\n\n if (wrapper.hasClass('on-hover')) {\n row_items.each(function () {\n jQuery(this).on({\n mouseenter: function () {\n row_items.removeClass('current-item');\n jQuery(this).addClass('current-item');\n $this.onShowImage(jQuery(this).data('tab'));\n }\n });\n });\n }\n }\n\n onShowImage(id) {\n this.elements.$image_items.removeClass('current-item');\n this.elements.$gallery_items.find('#' + id).addClass('current-item');\n }\n\n}\n\njQuery(window).on('elementor/frontend/init', () => {\n const addHandler = $element => {\n elementorFrontend.elementsHandler.addHandler(JKitPortfolioGallery, {\n $element\n });\n };\n\n elementorFrontend.hooks.addAction('frontend/element_ready/jkit_portfolio_gallery.default', addHandler);\n});\n\n//# sourceURL=webpack:///./jeg-elementor-kit/assets/dev/js/portfolio-gallery.js?");
174
+
175
+ /***/ }),
176
+
177
+ /***/ "./jeg-elementor-kit/assets/dev/js/post-block.js":
178
+ /*!*******************************************************!*\
179
+ !*** ./jeg-elementor-kit/assets/dev/js/post-block.js ***!
180
+ \*******************************************************/
181
+ /*! no static exports found */
182
+ /***/ (function(module, exports) {
183
+
184
+ eval("class JKitPostBlock extends elementorModules.frontend.handlers.Base {\n getDefaultSettings() {\n return {\n selectors: {\n wrapper: '.jeg-elementor-kit.jkit-postblock',\n pagination: '.jkit-block-pagination'\n }\n };\n }\n\n getDefaultElements() {\n const selectors = this.getSettings('selectors');\n return {\n $wrapper: this.$element.find(selectors.wrapper),\n $pagination: this.$element.find(selectors.pagination)\n };\n }\n\n bindEvents() {\n this.onInitPagination();\n }\n\n onInitPagination() {\n const $this = this,\n wrapper = $this.elements.$wrapper,\n pagination = $this.elements.$pagination,\n options = wrapper.data('settings'),\n load_limit = options.pagination_scroll_limit,\n pagination_mode = options.pagination_mode,\n parameter = {\n 'action': jkit_element_postblock_option.element_prefix + options.class,\n 'data': {\n 'current_page': 1,\n 'attr': options\n }\n };\n let lock_load = false,\n xhr_cache = [];\n\n const scroll_handler = function () {\n if (!lock_load && !pagination.hasClass('disabled') && window.self == window.top) {\n if (load_limit >= parameter.data.current_page || load_limit == '0') {\n pagination.find('a').waypoint(function () {\n request_ajax();\n this.destroy();\n }, {\n offset: '100%',\n context: window\n });\n }\n }\n };\n\n const save_cache = function (parameter, response) {\n xhr_cache.push({\n param: JSON.stringify(parameter),\n result: response\n });\n };\n\n const get_cache = function (parameter) {\n const jsonparam = JSON.stringify(parameter);\n\n for (let i = 0; i < xhr_cache.length; i++) {\n if (jsonparam === xhr_cache[i].param) {\n return prepare_cache(xhr_cache[i].result);\n }\n }\n };\n\n const prepare_cache = function (result) {\n result.content = '<div>' + result.content + '</div>';\n const content = jQuery(result.content);\n result.content = content.html();\n return result;\n };\n\n const render_ajax_response = function (response) {\n const content = jQuery(response.content);\n let count = 0;\n content.each(function () {\n if (jQuery(this).hasClass('jkit-post')) {\n jQuery(this).addClass('jkit-ajax-loaded anim-' + count);\n }\n\n count++;\n });\n wrapper.removeClass('loading');\n wrapper.addClass('loaded');\n wrapper.find('.jkit-ajax-flag').append(content);\n\n if (!response.next) {\n pagination.addClass('disabled');\n pagination.hide();\n }\n\n request_after_ajax();\n jQuery(window).trigger('resize');\n\n if ('scrollload' === pagination_mode) {\n setTimeout(function () {\n scroll_handler();\n }, 500);\n }\n };\n\n const request_ajax = function () {\n request_before_ajax();\n parameter.data.current_page = parameter.data.current_page + 1;\n const result = get_cache(parameter);\n\n if (result) {\n render_ajax_response(result);\n } else {\n jQuery.ajax({\n url: jkit_ajax_url,\n type: 'post',\n dataType: 'json',\n data: parameter,\n success: function (response) {\n render_ajax_response(response);\n save_cache(parameter, response);\n }\n });\n }\n };\n\n const request_before_ajax = function () {\n lock_load = true;\n pagination.addClass('loading');\n pagination.find('a').text(pagination.find('a').data('loading'));\n wrapper.addClass('loading');\n };\n\n const request_after_ajax = function () {\n lock_load = false;\n pagination.removeClass('loading');\n pagination.find('a').text(pagination.find('a').data('load'));\n };\n\n if ('scrollload' === pagination_mode) {\n scroll_handler();\n }\n\n pagination.find('a').on('click', function (e) {\n e.preventDefault();\n\n if (!lock_load && !pagination.hasClass('disabled')) {\n request_ajax();\n }\n });\n }\n\n}\n\njQuery(window).on('elementor/frontend/init', () => {\n const addHandler = $element => {\n elementorFrontend.elementsHandler.addHandler(JKitPostBlock, {\n $element\n });\n };\n\n elementorFrontend.hooks.addAction('frontend/element_ready/jkit_post_block.default', addHandler);\n});\n\n//# sourceURL=webpack:///./jeg-elementor-kit/assets/dev/js/post-block.js?");
185
+
186
+ /***/ }),
187
+
188
+ /***/ "./jeg-elementor-kit/assets/dev/js/progress-bar.js":
189
+ /*!*********************************************************!*\
190
+ !*** ./jeg-elementor-kit/assets/dev/js/progress-bar.js ***!
191
+ \*********************************************************/
192
+ /*! no static exports found */
193
+ /***/ (function(module, exports) {
194
+
195
+ eval("class JKitProgressBar extends elementorModules.frontend.handlers.Base {\n getDefaultSettings() {\n return {\n selectors: {\n wrapper: '.jeg-elementor-kit.jkit-progress-bar',\n skill: '.skill-track',\n number: '.number-percentage'\n }\n };\n }\n\n getDefaultElements() {\n const selectors = this.getSettings('selectors');\n return {\n $wrapper: this.$element.find(selectors.wrapper),\n $skill: this.$element.find(selectors.skill),\n $number: this.$element.find(selectors.number)\n };\n }\n\n bindEvents() {\n this.onLoadElement();\n }\n\n onLoadElement() {\n this.countNumber();\n jQuery(window).on('scroll', this.countNumber.bind(this));\n }\n\n countNumber() {\n const number = this.elements.$number,\n skill = this.elements.$skill;\n\n if (this.onScreen() && !number.hasClass('loaded')) {\n number.prop('Counter', 0).animate({\n Counter: number.data('value')\n }, {\n duration: number.data('animation-duration'),\n easing: 'swing',\n step: function (now) {\n number.text(Math.ceil(now).toString() + '%');\n skill.css('width', now.toString() + '%');\n }\n });\n number.addClass('loaded');\n }\n }\n\n onScreen() {\n const windowBottomEdge = jQuery(window).scrollTop() + jQuery(window).height(),\n elementTopEdge = this.elements.$wrapper.offset().top;\n return elementTopEdge <= windowBottomEdge;\n }\n\n}\n\njQuery(window).on('elementor/frontend/init', () => {\n const addHandler = $element => {\n elementorFrontend.elementsHandler.addHandler(JKitProgressBar, {\n $element\n });\n };\n\n elementorFrontend.hooks.addAction('frontend/element_ready/jkit_progress_bar.default', addHandler);\n});\n\n//# sourceURL=webpack:///./jeg-elementor-kit/assets/dev/js/progress-bar.js?");
196
+
197
+ /***/ }),
198
+
199
+ /***/ "./jeg-elementor-kit/assets/dev/js/team.js":
200
+ /*!*************************************************!*\
201
+ !*** ./jeg-elementor-kit/assets/dev/js/team.js ***!
202
+ \*************************************************/
203
+ /*! no static exports found */
204
+ /***/ (function(module, exports) {
205
+
206
+ eval("class JKitTeam extends elementorModules.frontend.handlers.Base {\n getDefaultSettings() {\n return {\n selectors: {\n wrapper: '.jeg-elementor-kit.jkit-team',\n close_modal: '.team-modal-close'\n }\n };\n }\n\n getDefaultElements() {\n const selectors = this.getSettings('selectors');\n return {\n $wrapper: this.$element.find(selectors.wrapper),\n $close_modal: this.$element.find(selectors.close_modal)\n };\n }\n\n bindEvents() {\n this.onClick();\n }\n\n onClick() {\n const $this = this,\n wrapper = $this.elements.$wrapper,\n close_modal = $this.elements.$close_modal;\n wrapper.magnificPopup({\n delegate: 'a.jkit-team-modal',\n removalDelay: 500,\n callbacks: {\n beforeOpen: function () {\n this.st.mainClass = this.st.el.attr('data-effect');\n }\n },\n midClick: true,\n showCloseBtn: false,\n prependTo: wrapper\n });\n close_modal.on('click', function (e) {\n e.preventDefault();\n jQuery.magnificPopup.close();\n });\n }\n\n}\n\njQuery(window).on('elementor/frontend/init', () => {\n const addHandler = $element => {\n elementorFrontend.elementsHandler.addHandler(JKitTeam, {\n $element\n });\n };\n\n elementorFrontend.hooks.addAction('frontend/element_ready/jkit_team.default', addHandler);\n});\n\n//# sourceURL=webpack:///./jeg-elementor-kit/assets/dev/js/team.js?");
207
+
208
+ /***/ }),
209
+
210
+ /***/ "./jeg-elementor-kit/assets/dev/js/testimonials.js":
211
+ /*!*********************************************************!*\
212
+ !*** ./jeg-elementor-kit/assets/dev/js/testimonials.js ***!
213
+ \*********************************************************/
214
+ /*! no static exports found */
215
+ /***/ (function(module, exports) {
216
+
217
+ eval("class JKitTestimonials extends elementorModules.frontend.handlers.Base {\n getDefaultSettings() {\n return {\n selectors: {\n wrapper: '.jeg-elementor-kit.jkit-testimonials',\n items: '.testimonials-track'\n }\n };\n }\n\n getDefaultElements() {\n const selectors = this.getSettings('selectors');\n return {\n $wrapper: this.$element.find(selectors.wrapper),\n $items: this.$element.find(selectors.items)\n };\n }\n\n bindEvents() {\n this.onLoadElement();\n }\n\n onLoadElement() {\n this.loadCarousel();\n }\n\n loadCarousel() {\n const id = this.elements.$wrapper.data('id'),\n selectors = this.getSettings('selectors'),\n options = this.elements.$wrapper.data('settings'),\n attr = {\n container: selectors.wrapper + '[data-id=\"' + id + '\"] ' + selectors.items,\n loop: true,\n mouseDrag: true,\n autoplay: options.autoplay,\n autoplayTimeout: options.autoplay_speed,\n autoplayHoverPause: options.autoplay_hover_pause,\n navPosition: 'bottom',\n controlsPosition: options.arrow_position,\n controlsText: ['<i class=\"' + options.navigation_left + '\" aria-hidden=\"true\"></i>', '<i class=\"' + options.navigation_right + '\" aria-hidden=\"true\"></i>'],\n responsiveClass: true,\n responsive: {\n 0: {\n items: options.items_mobile,\n gutter: options.margin_mobile\n },\n 768: {\n items: options.items_tablet,\n gutter: options.margin_tablet\n },\n 1025: {\n items: options.items,\n gutter: options.margin\n }\n }\n };\n tns(attr);\n this.elements.$wrapper.find('button[data-action=\"stop\"]').remove();\n\n if (!options.show_navigation) {\n this.elements.$wrapper.find('.tns-controls').remove();\n }\n\n if (!options.show_dots) {\n this.elements.$wrapper.find('.tns-nav').remove();\n }\n\n if (options.show_navigation) {\n attr.nav = true;\n attr.navText = ['<i class=\"' + options.navigation_left + '\" aria-hidden=\"true\"></i>', '<i class=\"' + options.navigation_right + '\" aria-hidden=\"true\"></i>'];\n }\n }\n\n}\n\njQuery(window).on('elementor/frontend/init', () => {\n const addHandler = $element => {\n elementorFrontend.elementsHandler.addHandler(JKitTestimonials, {\n $element\n });\n };\n\n elementorFrontend.hooks.addAction('frontend/element_ready/jkit_testimonials.default', addHandler);\n});\n\n//# sourceURL=webpack:///./jeg-elementor-kit/assets/dev/js/testimonials.js?");
218
+
219
+ /***/ }),
220
+
221
+ /***/ 0:
222
+ /*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
223
+ !*** multi ./jeg-elementor-kit/assets/dev/js/accordion.js ./jeg-elementor-kit/assets/dev/js/animated-text.js ./jeg-elementor-kit/assets/dev/js/client-logo.js ./jeg-elementor-kit/assets/dev/js/fun-fact.js ./jeg-elementor-kit/assets/dev/js/gallery.js ./jeg-elementor-kit/assets/dev/js/nav-menu.js ./jeg-elementor-kit/assets/dev/js/pie-chart.js ./jeg-elementor-kit/assets/dev/js/portfolio-gallery.js ./jeg-elementor-kit/assets/dev/js/post-block.js ./jeg-elementor-kit/assets/dev/js/progress-bar.js ./jeg-elementor-kit/assets/dev/js/team.js ./jeg-elementor-kit/assets/dev/js/testimonials.js ***!
224
+ \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
225
+ /*! no static exports found */
226
+ /***/ (function(module, exports, __webpack_require__) {
227
+
228
+ eval("__webpack_require__(/*! /Users/jegstudio/Repository/jeg-element-kit/jeg-elementor-kit/assets/dev/js/accordion.js */\"./jeg-elementor-kit/assets/dev/js/accordion.js\");\n__webpack_require__(/*! /Users/jegstudio/Repository/jeg-element-kit/jeg-elementor-kit/assets/dev/js/animated-text.js */\"./jeg-elementor-kit/assets/dev/js/animated-text.js\");\n__webpack_require__(/*! /Users/jegstudio/Repository/jeg-element-kit/jeg-elementor-kit/assets/dev/js/client-logo.js */\"./jeg-elementor-kit/assets/dev/js/client-logo.js\");\n__webpack_require__(/*! /Users/jegstudio/Repository/jeg-element-kit/jeg-elementor-kit/assets/dev/js/fun-fact.js */\"./jeg-elementor-kit/assets/dev/js/fun-fact.js\");\n__webpack_require__(/*! /Users/jegstudio/Repository/jeg-element-kit/jeg-elementor-kit/assets/dev/js/gallery.js */\"./jeg-elementor-kit/assets/dev/js/gallery.js\");\n__webpack_require__(/*! /Users/jegstudio/Repository/jeg-element-kit/jeg-elementor-kit/assets/dev/js/nav-menu.js */\"./jeg-elementor-kit/assets/dev/js/nav-menu.js\");\n__webpack_require__(/*! /Users/jegstudio/Repository/jeg-element-kit/jeg-elementor-kit/assets/dev/js/pie-chart.js */\"./jeg-elementor-kit/assets/dev/js/pie-chart.js\");\n__webpack_require__(/*! /Users/jegstudio/Repository/jeg-element-kit/jeg-elementor-kit/assets/dev/js/portfolio-gallery.js */\"./jeg-elementor-kit/assets/dev/js/portfolio-gallery.js\");\n__webpack_require__(/*! /Users/jegstudio/Repository/jeg-element-kit/jeg-elementor-kit/assets/dev/js/post-block.js */\"./jeg-elementor-kit/assets/dev/js/post-block.js\");\n__webpack_require__(/*! /Users/jegstudio/Repository/jeg-element-kit/jeg-elementor-kit/assets/dev/js/progress-bar.js */\"./jeg-elementor-kit/assets/dev/js/progress-bar.js\");\n__webpack_require__(/*! /Users/jegstudio/Repository/jeg-element-kit/jeg-elementor-kit/assets/dev/js/team.js */\"./jeg-elementor-kit/assets/dev/js/team.js\");\nmodule.exports = __webpack_require__(/*! /Users/jegstudio/Repository/jeg-element-kit/jeg-elementor-kit/assets/dev/js/testimonials.js */\"./jeg-elementor-kit/assets/dev/js/testimonials.js\");\n\n\n//# sourceURL=webpack:///multi_./jeg-elementor-kit/assets/dev/js/accordion.js_./jeg-elementor-kit/assets/dev/js/animated-text.js_./jeg-elementor-kit/assets/dev/js/client-logo.js_./jeg-elementor-kit/assets/dev/js/fun-fact.js_./jeg-elementor-kit/assets/dev/js/gallery.js_./jeg-elementor-kit/assets/dev/js/nav-menu.js_./jeg-elementor-kit/assets/dev/js/pie-chart.js_./jeg-elementor-kit/assets/dev/js/portfolio-gallery.js_./jeg-elementor-kit/assets/dev/js/post-block.js_./jeg-elementor-kit/assets/dev/js/progress-bar.js_./jeg-elementor-kit/assets/dev/js/team.js_./jeg-elementor-kit/assets/dev/js/testimonials.js?");
229
+
230
+ /***/ })
231
+
232
+ /******/ });
assets/js/elements/fun-fact.js CHANGED
@@ -1,64 +1,100 @@
1
- class JKitFunFact extends elementorModules.frontend.handlers.Base {
2
- getDefaultSettings() {
3
- return {
4
- selectors: {
5
- wrapper: '.jeg-elementor-kit.jkit-fun-fact',
6
- number: '.number'
7
- },
8
- };
9
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10
 
11
- getDefaultElements() {
12
- const selectors = this.getSettings('selectors');
13
- return {
14
- $wrapper: this.$element.find(selectors.wrapper),
15
- $number: this.$element.find(selectors.number),
16
- };
17
- }
18
 
19
- bindEvents() {
20
- this.onLoadElement()
21
- }
22
 
23
- onLoadElement() {
24
- this.countNumber()
25
- jQuery(window).on('scroll', this.countNumber.bind(this))
26
- }
27
 
28
- countNumber() {
29
- const el = this.elements.$number
30
-
31
- if (this.onScreen() && !el.hasClass('loaded')) {
32
- el.prop('Counter', 0).animate({
33
- Counter: el.data('value')
34
- }, {
35
- duration: el.data('animation-duration'),
36
- easing: 'swing',
37
- step: function(now) {
38
- el.text(Math.ceil(now).toLocaleString())
39
- },
40
- complete: function() {
41
- el.text(el.data('value').toLocaleString())
42
- }
43
- })
44
- el.addClass('loaded')
45
- }
46
- }
47
-
48
- onScreen() {
49
- const windowBottomEdge = jQuery(window).scrollTop() + jQuery(window).height(),
50
- elementTopEdge = this.elements.$wrapper.offset().top
51
-
52
- return elementTopEdge <= windowBottomEdge;
53
- }
54
- }
55
-
56
- jQuery(window).on('elementor/frontend/init', () => {
57
- const addHandler = ($element) => {
58
- elementorFrontend.elementsHandler.addHandler(JKitFunFact, {
59
- $element,
60
- });
61
- };
62
-
63
- elementorFrontend.hooks.addAction('frontend/element_ready/jkit_fun_fact.default', addHandler);
64
- });
1
+ /******/ (function(modules) { // webpackBootstrap
2
+ /******/ // The module cache
3
+ /******/ var installedModules = {};
4
+ /******/
5
+ /******/ // The require function
6
+ /******/ function __webpack_require__(moduleId) {
7
+ /******/
8
+ /******/ // Check if module is in cache
9
+ /******/ if(installedModules[moduleId]) {
10
+ /******/ return installedModules[moduleId].exports;
11
+ /******/ }
12
+ /******/ // Create a new module (and put it into the cache)
13
+ /******/ var module = installedModules[moduleId] = {
14
+ /******/ i: moduleId,
15
+ /******/ l: false,
16
+ /******/ exports: {}
17
+ /******/ };
18
+ /******/
19
+ /******/ // Execute the module function
20
+ /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
21
+ /******/
22
+ /******/ // Flag the module as loaded
23
+ /******/ module.l = true;
24
+ /******/
25
+ /******/ // Return the exports of the module
26
+ /******/ return module.exports;
27
+ /******/ }
28
+ /******/
29
+ /******/
30
+ /******/ // expose the modules object (__webpack_modules__)
31
+ /******/ __webpack_require__.m = modules;
32
+ /******/
33
+ /******/ // expose the module cache
34
+ /******/ __webpack_require__.c = installedModules;
35
+ /******/
36
+ /******/ // define getter function for harmony exports
37
+ /******/ __webpack_require__.d = function(exports, name, getter) {
38
+ /******/ if(!__webpack_require__.o(exports, name)) {
39
+ /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
40
+ /******/ }
41
+ /******/ };
42
+ /******/
43
+ /******/ // define __esModule on exports
44
+ /******/ __webpack_require__.r = function(exports) {
45
+ /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
46
+ /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
47
+ /******/ }
48
+ /******/ Object.defineProperty(exports, '__esModule', { value: true });
49
+ /******/ };
50
+ /******/
51
+ /******/ // create a fake namespace object
52
+ /******/ // mode & 1: value is a module id, require it
53
+ /******/ // mode & 2: merge all properties of value into the ns
54
+ /******/ // mode & 4: return value when already ns object
55
+ /******/ // mode & 8|1: behave like require
56
+ /******/ __webpack_require__.t = function(value, mode) {
57
+ /******/ if(mode & 1) value = __webpack_require__(value);
58
+ /******/ if(mode & 8) return value;
59
+ /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
60
+ /******/ var ns = Object.create(null);
61
+ /******/ __webpack_require__.r(ns);
62
+ /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
63
+ /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
64
+ /******/ return ns;
65
+ /******/ };
66
+ /******/
67
+ /******/ // getDefaultExport function for compatibility with non-harmony modules
68
+ /******/ __webpack_require__.n = function(module) {
69
+ /******/ var getter = module && module.__esModule ?
70
+ /******/ function getDefault() { return module['default']; } :
71
+ /******/ function getModuleExports() { return module; };
72
+ /******/ __webpack_require__.d(getter, 'a', getter);
73
+ /******/ return getter;
74
+ /******/ };
75
+ /******/
76
+ /******/ // Object.prototype.hasOwnProperty.call
77
+ /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
78
+ /******/
79
+ /******/ // __webpack_public_path__
80
+ /******/ __webpack_require__.p = "";
81
+ /******/
82
+ /******/
83
+ /******/ // Load entry module and return exports
84
+ /******/ return __webpack_require__(__webpack_require__.s = "./jeg-elementor-kit/assets/dev/js/fun-fact.js");
85
+ /******/ })
86
+ /************************************************************************/
87
+ /******/ ({
88
 
89
+ /***/ "./jeg-elementor-kit/assets/dev/js/fun-fact.js":
90
+ /*!*****************************************************!*\
91
+ !*** ./jeg-elementor-kit/assets/dev/js/fun-fact.js ***!
92
+ \*****************************************************/
93
+ /*! no static exports found */
94
+ /***/ (function(module, exports) {
 
95
 
96
+ eval("class JKitFunFact extends elementorModules.frontend.handlers.Base {\n getDefaultSettings() {\n return {\n selectors: {\n wrapper: '.jeg-elementor-kit.jkit-fun-fact',\n number: '.number'\n }\n };\n }\n\n getDefaultElements() {\n const selectors = this.getSettings('selectors');\n return {\n $wrapper: this.$element.find(selectors.wrapper),\n $number: this.$element.find(selectors.number)\n };\n }\n\n bindEvents() {\n this.onLoadElement();\n }\n\n onLoadElement() {\n this.countNumber();\n jQuery(window).on('scroll', this.countNumber.bind(this));\n }\n\n countNumber() {\n const el = this.elements.$number;\n\n if (this.onScreen() && !el.hasClass('loaded')) {\n el.prop('Counter', 0).animate({\n Counter: el.data('value')\n }, {\n duration: el.data('animation-duration'),\n easing: 'swing',\n step: function (now) {\n el.text(Math.ceil(now).toLocaleString());\n },\n complete: function () {\n el.text(el.data('value').toLocaleString());\n }\n });\n el.addClass('loaded');\n }\n }\n\n onScreen() {\n const windowBottomEdge = jQuery(window).scrollTop() + jQuery(window).height(),\n elementTopEdge = this.elements.$wrapper.offset().top;\n return elementTopEdge <= windowBottomEdge;\n }\n\n}\n\njQuery(window).on('elementor/frontend/init', () => {\n const addHandler = $element => {\n elementorFrontend.elementsHandler.addHandler(JKitFunFact, {\n $element\n });\n };\n\n elementorFrontend.hooks.addAction('frontend/element_ready/jkit_fun_fact.default', addHandler);\n});\n\n//# sourceURL=webpack:///./jeg-elementor-kit/assets/dev/js/fun-fact.js?");
 
 
97
 
98
+ /***/ })
 
 
 
99
 
100
+ /******/ });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/js/elements/gallery.js CHANGED
@@ -1,188 +1,100 @@
1
- class JKitGallery extends elementorModules.frontend.handlers.Base {
2
- getDefaultSettings() {
3
- return {
4
- selectors: {
5
- wrapper: '.jeg-elementor-kit.jkit-gallery',
6
- grid: '.gallery-items',
7
- active_label: '.jkit-gallery-control.active',
8
- filter: '.jkit-gallery-control',
9
- filter_button: '#search-filter-trigger',
10
- filter_label: '#search-filter-trigger span',
11
- filter_list: '.search-filter-controls',
12
- filter_form: '#jkit-gallery-search-box-input',
13
- load_more: '.jkit-gallery-load-more',
14
- },
15
- };
16
- }
17
-
18
- getDefaultElements() {
19
- const selectors = this.getSettings('selectors')
20
- return {
21
- $wrapper: this.$element.find(selectors.wrapper),
22
- $grid: this.$element.find(selectors.grid),
23
- $active_label: this.$element.find(selectors.active_label),
24
- $filter: this.$element.find(selectors.filter),
25
- $filter_button: this.$element.find(selectors.filter_button),
26
- $filter_label: this.$element.find(selectors.filter_label),
27
- $filter_list: this.$element.find(selectors.filter_list),
28
- $filter_form: this.$element.find(selectors.filter_form),
29
- $load_more: this.$element.find(selectors.load_more),
30
- };
31
- }
32
-
33
- bindEvents() {
34
- const $this = this,
35
- layout = $this.elements.$wrapper.data('grid') == 'masonry' ? 'masonry' : 'fitRows',
36
- duration = parseFloat(($this.elements.$wrapper.data('animation-duration') / 1000).toFixed(2)).toString() + 's'
37
-
38
- $this.grid = $this.elements.$grid.isotope({
39
- itemSelector: '.gallery-item-wrap',
40
- layoutMode: layout,
41
- transitionDuration: duration,
42
- })
43
- $this.grid.imagesLoaded().progress(function() {
44
- $this.grid.isotope('layout')
45
- })
46
-
47
- $this.onInitGallery()
48
- $this.onClickFilterButton()
49
- $this.onClickLoadMoreButton()
50
- $this.onFormChange()
51
- }
52
-
53
- onInitGallery() {
54
- const $this = this
55
-
56
- $this.elements.$filter.each(function() {
57
- jQuery(this).on('click', function(e) {
58
- e.preventDefault()
59
- const selectors = $this.getSettings('selectors'),
60
- filter_value = jQuery(this).data('filter'),
61
- filter_label = $this.elements.$filter_label,
62
- filter_list = $this.elements.$filter_list,
63
- filter_button = $this.elements.$filter_button,
64
- filter_form = $this.elements.$filter_form,
65
- filter = $this.elements.$filter
66
-
67
- filter.removeClass('active')
68
- jQuery(this).addClass('active')
69
-
70
- $this.elements.$active_label = $this.$element.find(selectors.active_label)
71
- $this.grid.isotope({filter: function() {
72
- const class_filter = filter_value !== '*' ? filter_value.substring(1) : '*',
73
- class_list = jQuery(this).attr('class').split(/\s+/)
74
-
75
- let check_filter = false
76
-
77
- if (filter_button.length > 0) {
78
- const text = filter_form.val(),
79
- name = jQuery(this).find('.item-title').text(),
80
- content = jQuery(this).find('.item-content').text()
81
-
82
- check_filter = class_filter != '*'
83
- ? (name.toLowerCase().includes(text.toLowerCase()) || content.toLowerCase().includes(text.toLowerCase())) && class_list.includes(class_filter)
84
- : name.toLowerCase().includes(text.toLowerCase()) || content.toLowerCase().includes(text.toLowerCase())
85
- } else {
86
- check_filter = class_filter != '*' ? class_list.includes(class_filter) : true
87
- }
88
-
89
- return check_filter
90
- }})
91
-
92
- if (filter_button.length > 0) {
93
- filter_label.text(jQuery(this).text())
94
- filter_list.removeClass('open-controls')
95
- }
96
- })
97
- })
98
- }
99
-
100
- onClickFilterButton() {
101
- const $this = this
102
-
103
- $this.elements.$filter_button.on('click', function(e) {
104
- e.preventDefault()
105
- const filter_list = $this.elements.$filter_list
106
-
107
- if (filter_list.hasClass('open-controls')) {
108
- filter_list.removeClass('open-controls')
109
- } else {
110
- filter_list.addClass('open-controls')
111
- }
112
- })
113
- }
114
-
115
- onFormChange() {
116
- const $this = this,
117
- filter_form = $this.elements.$filter_form
118
-
119
- if (filter_form !== undefined) {
120
- filter_form.on('change paste keyup', function() {
121
- const text = jQuery(this).val()
122
-
123
- $this.grid.isotope({filter: function() {
124
- const name = jQuery(this).find('.item-title').text(),
125
- content = jQuery(this).find('.item-content').text(),
126
- class_list = jQuery(this).attr('class').split(/\s+/),
127
- class_filter = $this.elements.$active_label.data('filter') !== '*' ? $this.elements.$active_label.data('filter').substring(1) : '*'
128
-
129
- let check_filter = false
130
-
131
- if (class_filter == '*') {
132
- check_filter = name.toLowerCase().includes(text.toLowerCase()) || content.toLowerCase().includes(text.toLowerCase())
133
- } else {
134
- check_filter = (name.toLowerCase().includes(text.toLowerCase()) || content.toLowerCase().includes(text.toLowerCase())) && class_list.includes(class_filter)
135
- }
136
-
137
- return check_filter
138
- }})
139
- })
140
- }
141
- }
142
-
143
- onClickLoadMoreButton() {
144
- const $this = this,
145
- items = $this.elements.$wrapper.data('items')
146
-
147
- $this.elements.$load_more.on('click', function(e) {
148
- e.preventDefault()
149
-
150
- const current_loaded = parseInt($this.elements.$wrapper.attr('data-current-loaded')),
151
- count_items = parseInt($this.elements.$wrapper.attr('data-count-items')),
152
- load_more = parseInt($this.elements.$wrapper.attr('data-load-more')),
153
- no_more_text = $this.elements.$wrapper.attr('data-no-more')
154
-
155
- if (count_items > current_loaded) {
156
- if ((count_items - load_more - current_loaded) > 0) {
157
- const items_append = [...items].splice(current_loaded, load_more)
158
- $this.grid.append(items_append).isotope('reloadItems').isotope()
159
- $this.grid.imagesLoaded().progress(function() {
160
- $this.grid.isotope('layout')
161
- })
162
- $this.elements.$wrapper.attr('data-current-loaded', current_loaded + load_more)
163
- } else {
164
- const items_append = [...items].splice(current_loaded, count_items - current_loaded)
165
- $this.grid.append(items_append).isotope('reloadItems').isotope()
166
- $this.grid.imagesLoaded().progress(function() {
167
- $this.grid.isotope('layout')
168
- })
169
- $this.elements.$wrapper.attr('data-current-loaded', count_items)
170
- $this.elements.$load_more.find('.load-more-text').text(no_more_text)
171
- setTimeout(function() {
172
- $this.elements.$load_more.fadeOut('slow');
173
- }, 600);
174
- }
175
- }
176
- })
177
- }
178
- }
179
-
180
- jQuery(window).on('elementor/frontend/init', () => {
181
- const addHandler = ($element) => {
182
- elementorFrontend.elementsHandler.addHandler(JKitGallery, {
183
- $element,
184
- });
185
- };
186
-
187
- elementorFrontend.hooks.addAction('frontend/element_ready/jkit_gallery.default', addHandler);
188
- });
1
+ /******/ (function(modules) { // webpackBootstrap
2
+ /******/ // The module cache
3
+ /******/ var installedModules = {};
4
+ /******/
5
+ /******/ // The require function
6
+ /******/ function __webpack_require__(moduleId) {
7
+ /******/
8
+ /******/ // Check if module is in cache
9
+ /******/ if(installedModules[moduleId]) {
10
+ /******/ return installedModules[moduleId].exports;
11
+ /******/ }
12
+ /******/ // Create a new module (and put it into the cache)
13
+ /******/ var module = installedModules[moduleId] = {
14
+ /******/ i: moduleId,
15
+ /******/ l: false,
16
+ /******/ exports: {}
17
+ /******/ };
18
+ /******/
19
+ /******/ // Execute the module function
20
+ /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
21
+ /******/
22
+ /******/ // Flag the module as loaded
23
+ /******/ module.l = true;
24
+ /******/
25
+ /******/ // Return the exports of the module
26
+ /******/ return module.exports;
27
+ /******/ }
28
+ /******/
29
+ /******/
30
+ /******/ // expose the modules object (__webpack_modules__)
31
+ /******/ __webpack_require__.m = modules;
32
+ /******/
33
+ /******/ // expose the module cache
34
+ /******/ __webpack_require__.c = installedModules;
35
+ /******/
36
+ /******/ // define getter function for harmony exports
37
+ /******/ __webpack_require__.d = function(exports, name, getter) {
38
+ /******/ if(!__webpack_require__.o(exports, name)) {
39
+ /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
40
+ /******/ }
41
+ /******/ };
42
+ /******/
43
+ /******/ // define __esModule on exports
44
+ /******/ __webpack_require__.r = function(exports) {
45
+ /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
46
+ /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
47
+ /******/ }
48
+ /******/ Object.defineProperty(exports, '__esModule', { value: true });
49
+ /******/ };
50
+ /******/
51
+ /******/ // create a fake namespace object
52
+ /******/ // mode & 1: value is a module id, require it
53
+ /******/ // mode & 2: merge all properties of value into the ns
54
+ /******/ // mode & 4: return value when already ns object
55
+ /******/ // mode & 8|1: behave like require
56
+ /******/ __webpack_require__.t = function(value, mode) {
57
+ /******/ if(mode & 1) value = __webpack_require__(value);
58
+ /******/ if(mode & 8) return value;
59
+ /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
60
+ /******/ var ns = Object.create(null);
61
+ /******/ __webpack_require__.r(ns);
62
+ /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
63
+ /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
64
+ /******/ return ns;
65
+ /******/ };
66
+ /******/
67
+ /******/ // getDefaultExport function for compatibility with non-harmony modules
68
+ /******/ __webpack_require__.n = function(module) {
69
+ /******/ var getter = module && module.__esModule ?
70
+ /******/ function getDefault() { return module['default']; } :
71
+ /******/ function getModuleExports() { return module; };
72
+ /******/ __webpack_require__.d(getter, 'a', getter);
73
+ /******/ return getter;
74
+ /******/ };
75
+ /******/
76
+ /******/ // Object.prototype.hasOwnProperty.call
77
+ /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
78
+ /******/
79
+ /******/ // __webpack_public_path__
80
+ /******/ __webpack_require__.p = "";
81
+ /******/
82
+ /******/
83
+ /******/ // Load entry module and return exports
84
+ /******/ return __webpack_require__(__webpack_require__.s = "./jeg-elementor-kit/assets/dev/js/gallery.js");
85
+ /******/ })
86
+ /************************************************************************/
87
+ /******/ ({
88
+
89
+ /***/ "./jeg-elementor-kit/assets/dev/js/gallery.js":
90
+ /*!****************************************************!*\
91
+ !*** ./jeg-elementor-kit/assets/dev/js/gallery.js ***!
92
+ \****************************************************/
93
+ /*! no static exports found */
94
+ /***/ (function(module, exports) {
95
+
96
+ eval("class JKitGallery extends elementorModules.frontend.handlers.Base {\n getDefaultSettings() {\n return {\n selectors: {\n wrapper: '.jeg-elementor-kit.jkit-gallery',\n grid: '.gallery-items',\n active_label: '.jkit-gallery-control.active',\n filter: '.jkit-gallery-control',\n filter_button: '#search-filter-trigger',\n filter_label: '#search-filter-trigger span',\n filter_list: '.search-filter-controls',\n filter_form: '#jkit-gallery-search-box-input',\n load_more: '.jkit-gallery-load-more'\n }\n };\n }\n\n getDefaultElements() {\n const selectors = this.getSettings('selectors');\n return {\n $wrapper: this.$element.find(selectors.wrapper),\n $grid: this.$element.find(selectors.grid),\n $active_label: this.$element.find(selectors.active_label),\n $filter: this.$element.find(selectors.filter),\n $filter_button: this.$element.find(selectors.filter_button),\n $filter_label: this.$element.find(selectors.filter_label),\n $filter_list: this.$element.find(selectors.filter_list),\n $filter_form: this.$element.find(selectors.filter_form),\n $load_more: this.$element.find(selectors.load_more)\n };\n }\n\n bindEvents() {\n const $this = this,\n layout = $this.elements.$wrapper.data('grid') == 'masonry' ? 'masonry' : 'fitRows',\n duration = parseFloat(($this.elements.$wrapper.data('animation-duration') / 1000).toFixed(2)).toString() + 's';\n $this.grid = $this.elements.$grid.isotope({\n itemSelector: '.gallery-item-wrap',\n layoutMode: layout,\n transitionDuration: duration\n });\n $this.grid.imagesLoaded().progress(function () {\n $this.grid.isotope('layout');\n });\n $this.onInitGallery();\n $this.onClickFilterButton();\n $this.onClickLoadMoreButton();\n $this.onFormChange();\n }\n\n onInitGallery() {\n const $this = this;\n $this.elements.$filter.each(function () {\n jQuery(this).on('click', function (e) {\n e.preventDefault();\n const selectors = $this.getSettings('selectors'),\n filter_value = jQuery(this).data('filter'),\n filter_label = $this.elements.$filter_label,\n filter_list = $this.elements.$filter_list,\n filter_button = $this.elements.$filter_button,\n filter_form = $this.elements.$filter_form,\n filter = $this.elements.$filter;\n filter.removeClass('active');\n jQuery(this).addClass('active');\n $this.elements.$active_label = $this.$element.find(selectors.active_label);\n $this.grid.isotope({\n filter: function () {\n const class_filter = filter_value !== '*' ? filter_value.substring(1) : '*',\n class_list = jQuery(this).attr('class').split(/\\s+/);\n let check_filter = false;\n\n if (filter_button.length > 0) {\n const text = filter_form.val(),\n name = jQuery(this).find('.item-title').text(),\n content = jQuery(this).find('.item-content').text();\n check_filter = class_filter != '*' ? (name.toLowerCase().includes(text.toLowerCase()) || content.toLowerCase().includes(text.toLowerCase())) && class_list.includes(class_filter) : name.toLowerCase().includes(text.toLowerCase()) || content.toLowerCase().includes(text.toLowerCase());\n } else {\n check_filter = class_filter != '*' ? class_list.includes(class_filter) : true;\n }\n\n return check_filter;\n }\n });\n\n if (filter_button.length > 0) {\n filter_label.text(jQuery(this).text());\n filter_list.removeClass('open-controls');\n }\n });\n });\n }\n\n onClickFilterButton() {\n const $this = this;\n $this.elements.$filter_button.on('click', function (e) {\n e.preventDefault();\n const filter_list = $this.elements.$filter_list;\n\n if (filter_list.hasClass('open-controls')) {\n filter_list.removeClass('open-controls');\n } else {\n filter_list.addClass('open-controls');\n }\n });\n }\n\n onFormChange() {\n const $this = this,\n filter_form = $this.elements.$filter_form;\n\n if (filter_form !== undefined) {\n filter_form.on('change paste keyup', function () {\n const text = jQuery(this).val();\n $this.grid.isotope({\n filter: function () {\n const name = jQuery(this).find('.item-title').text(),\n content = jQuery(this).find('.item-content').text(),\n class_list = jQuery(this).attr('class').split(/\\s+/),\n class_filter = $this.elements.$active_label.data('filter') !== '*' ? $this.elements.$active_label.data('filter').substring(1) : '*';\n let check_filter = false;\n\n if (class_filter == '*') {\n check_filter = name.toLowerCase().includes(text.toLowerCase()) || content.toLowerCase().includes(text.toLowerCase());\n } else {\n check_filter = (name.toLowerCase().includes(text.toLowerCase()) || content.toLowerCase().includes(text.toLowerCase())) && class_list.includes(class_filter);\n }\n\n return check_filter;\n }\n });\n });\n }\n }\n\n onClickLoadMoreButton() {\n const $this = this,\n items = $this.elements.$wrapper.data('items');\n $this.elements.$load_more.on('click', function (e) {\n e.preventDefault();\n const current_loaded = parseInt($this.elements.$wrapper.attr('data-current-loaded')),\n count_items = parseInt($this.elements.$wrapper.attr('data-count-items')),\n load_more = parseInt($this.elements.$wrapper.attr('data-load-more')),\n no_more_text = $this.elements.$wrapper.attr('data-no-more');\n\n if (count_items > current_loaded) {\n if (count_items - load_more - current_loaded > 0) {\n const items_append = [...items].splice(current_loaded, load_more);\n $this.grid.append(items_append).isotope('reloadItems').isotope();\n $this.grid.imagesLoaded().progress(function () {\n $this.grid.isotope('layout');\n });\n $this.elements.$wrapper.attr('data-current-loaded', current_loaded + load_more);\n } else {\n const items_append = [...items].splice(current_loaded, count_items - current_loaded);\n $this.grid.append(items_append).isotope('reloadItems').isotope();\n $this.grid.imagesLoaded().progress(function () {\n $this.grid.isotope('layout');\n });\n $this.elements.$wrapper.attr('data-current-loaded', count_items);\n $this.elements.$load_more.find('.load-more-text').text(no_more_text);\n setTimeout(function () {\n $this.elements.$load_more.fadeOut('slow');\n }, 600);\n }\n }\n });\n }\n\n}\n\njQuery(window).on('elementor/frontend/init', () => {\n const addHandler = $element => {\n elementorFrontend.elementsHandler.addHandler(JKitGallery, {\n $element\n });\n };\n\n elementorFrontend.hooks.addAction('frontend/element_ready/jkit_gallery.default', addHandler);\n});\n\n//# sourceURL=webpack:///./jeg-elementor-kit/assets/dev/js/gallery.js?");
97
+
98
+ /***/ })
99
+
100
+ /******/ });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/js/elements/nav-menu.js CHANGED
@@ -1,116 +1,100 @@
1
- class JKitNavMenu extends elementorModules.frontend.handlers.Base {
2
- getDefaultSettings() {
3
- return {
4
- selectors: {
5
- wrapper: '.jeg-elementor-kit.jkit-nav-menu',
6
- container: '.jkit-menu-wrapper',
7
- open_toggle: '.jkit-hamburger-menu',
8
- close_toggle: '.jkit-close-menu',
9
- dropdown_toggle: 'li.menu-item-has-children > a i',
10
- menu_dropdown: 'li.menu-item-has-children > a',
11
- },
12
- };
13
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14
 
15
- getDefaultElements() {
16
- const selectors = this.getSettings('selectors')
17
- return {
18
- $wrapper: this.$element.find(selectors.wrapper),
19
- $container: this.$element.find(selectors.container),
20
- $open_toggle: this.$element.find(selectors.open_toggle),
21
- $close_toggle: this.$element.find(selectors.close_toggle),
22
- $dropdown_toggle: this.$element.find(selectors.dropdown_toggle),
23
- $menu_dropdown: this.$element.find(selectors.menu_dropdown),
24
- };
25
- }
26
 
27
- bindEvents() {
28
- this.onLoadElement()
29
- }
30
 
31
- onLoadElement() {
32
- this.addBodyClass()
33
- this.addDropdownIcon()
34
- this.onToogleClick()
35
- }
36
 
37
- addBodyClass() {
38
- if (this.elements.$wrapper.length > 0) {
39
- jQuery('html').addClass('jkit-nav-menu-loaded')
40
- }
41
- }
42
-
43
- addDropdownIcon() {
44
- const $this = this,
45
- indicator = $this.elements.$wrapper.data('item-indicator'),
46
- dropdown = $this.elements.$menu_dropdown,
47
- selectors = this.getSettings('selectors')
48
-
49
- dropdown.each(function(){
50
- jQuery(this).append('<i class="' + indicator + '"></i>')
51
- })
52
-
53
- $this.elements.$dropdown_toggle = this.$element.find(selectors.dropdown_toggle)
54
- }
55
-
56
- onToogleClick() {
57
- const $this = this,
58
- wrapper = $this.elements.$wrapper,
59
- menu_dropdown = $this.elements.$menu_dropdown,
60
- open_toggle = $this.elements.$open_toggle,
61
- close_toggle = $this.elements.$close_toggle,
62
- dropdown_toggle = $this.elements.$dropdown_toggle
63
-
64
- open_toggle.on('click', function(e) {
65
- e.preventDefault()
66
- if (($this.elements.$container).hasClass('active')) {
67
- $this.elements.$container.removeClass('active')
68
- } else {
69
- $this.elements.$container.addClass('active')
70
- }
71
- })
72
-
73
- close_toggle.on('click', function(e) {
74
- e.preventDefault()
75
- $this.elements.$container.removeClass('active')
76
- })
77
-
78
- if (wrapper.hasClass('submenu-click-title')) {
79
- menu_dropdown.each(function() {
80
- jQuery(this).on('click', function(e) {
81
- e.preventDefault()
82
- const dropdown = jQuery(this).next()
83
-
84
- if (dropdown.hasClass('dropdown-open')) {
85
- dropdown.removeClass('dropdown-open')
86
- } else {
87
- dropdown.addClass('dropdown-open')
88
- }
89
- })
90
- })
91
- } else {
92
- dropdown_toggle.each(function() {
93
- jQuery(this).on('click', function(e) {
94
- e.preventDefault()
95
- const dropdown = jQuery(this).parents('a').next()
96
-
97
- if (dropdown.hasClass('dropdown-open')) {
98
- dropdown.removeClass('dropdown-open')
99
- } else {
100
- dropdown.addClass('dropdown-open')
101
- }
102
- })
103
- })
104
- }
105
- }
106
- }
107
-
108
- jQuery(window).on('elementor/frontend/init', () => {
109
- const addHandler = ($element) => {
110
- elementorFrontend.elementsHandler.addHandler(JKitNavMenu, {
111
- $element,
112
- });
113
- };
114
-
115
- elementorFrontend.hooks.addAction('frontend/element_ready/jkit_nav_menu.default', addHandler);
116
- });
1
+ /******/ (function(modules) { // webpackBootstrap
2
+ /******/ // The module cache
3
+ /******/ var installedModules = {};
4
+ /******/
5
+ /******/ // The require function
6
+ /******/ function __webpack_require__(moduleId) {
7
+ /******/
8
+ /******/ // Check if module is in cache
9
+ /******/ if(installedModules[moduleId]) {
10
+ /******/ return installedModules[moduleId].exports;
11
+ /******/ }
12
+ /******/ // Create a new module (and put it into the cache)
13
+ /******/ var module = installedModules[moduleId] = {
14
+ /******/ i: moduleId,
15
+ /******/ l: false,
16
+ /******/ exports: {}
17
+ /******/ };
18
+ /******/
19
+ /******/ // Execute the module function
20
+ /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
21
+ /******/
22
+ /******/ // Flag the module as loaded
23
+ /******/ module.l = true;
24
+ /******/
25
+ /******/ // Return the exports of the module
26
+ /******/ return module.exports;
27
+ /******/ }
28
+ /******/
29
+ /******/
30
+ /******/ // expose the modules object (__webpack_modules__)
31
+ /******/ __webpack_require__.m = modules;
32
+ /******/
33
+ /******/ // expose the module cache
34
+ /******/ __webpack_require__.c = installedModules;
35
+ /******/
36
+ /******/ // define getter function for harmony exports
37
+ /******/ __webpack_require__.d = function(exports, name, getter) {
38
+ /******/ if(!__webpack_require__.o(exports, name)) {
39
+ /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
40
+ /******/ }
41
+ /******/ };
42
+ /******/
43
+ /******/ // define __esModule on exports
44
+ /******/ __webpack_require__.r = function(exports) {
45
+ /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
46
+ /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
47
+ /******/ }
48
+ /******/ Object.defineProperty(exports, '__esModule', { value: true });
49
+ /******/ };
50
+ /******/
51
+ /******/ // create a fake namespace object
52
+ /******/ // mode & 1: value is a module id, require it
53
+ /******/ // mode & 2: merge all properties of value into the ns
54
+ /******/ // mode & 4: return value when already ns object
55
+ /******/ // mode & 8|1: behave like require
56
+ /******/ __webpack_require__.t = function(value, mode) {
57
+ /******/ if(mode & 1) value = __webpack_require__(value);
58
+ /******/ if(mode & 8) return value;
59
+ /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
60
+ /******/ var ns = Object.create(null);
61
+ /******/ __webpack_require__.r(ns);
62
+ /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
63
+ /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
64
+ /******/ return ns;
65
+ /******/ };
66
+ /******/
67
+ /******/ // getDefaultExport function for compatibility with non-harmony modules
68
+ /******/ __webpack_require__.n = function(module) {
69
+ /******/ var getter = module && module.__esModule ?
70
+ /******/ function getDefault() { return module['default']; } :
71
+ /******/ function getModuleExports() { return module; };
72
+ /******/ __webpack_require__.d(getter, 'a', getter);
73
+ /******/ return getter;
74
+ /******/ };
75
+ /******/
76
+ /******/ // Object.prototype.hasOwnProperty.call
77
+ /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
78
+ /******/
79
+ /******/ // __webpack_public_path__
80
+ /******/ __webpack_require__.p = "";
81
+ /******/
82
+ /******/
83
+ /******/ // Load entry module and return exports
84
+ /******/ return __webpack_require__(__webpack_require__.s = "./jeg-elementor-kit/assets/dev/js/nav-menu.js");
85
+ /******/ })
86
+ /************************************************************************/
87
+ /******/ ({
88
 
89
+ /***/ "./jeg-elementor-kit/assets/dev/js/nav-menu.js":
90
+ /*!*****************************************************!*\
91
+ !*** ./jeg-elementor-kit/assets/dev/js/nav-menu.js ***!
92
+ \*****************************************************/
93
+ /*! no static exports found */
94
+ /***/ (function(module, exports) {
 
 
 
 
 
95
 
96
+ eval("class JKitNavMenu extends elementorModules.frontend.handlers.Base {\n getDefaultSettings() {\n return {\n selectors: {\n wrapper: '.jeg-elementor-kit.jkit-nav-menu',\n container: '.jkit-menu-wrapper',\n open_toggle: '.jkit-hamburger-menu',\n close_toggle: '.jkit-close-menu',\n dropdown_toggle: 'li.menu-item-has-children > a i',\n menu_dropdown: 'li.menu-item-has-children > a'\n }\n };\n }\n\n getDefaultElements() {\n const selectors = this.getSettings('selectors');\n return {\n $wrapper: this.$element.find(selectors.wrapper),\n $container: this.$element.find(selectors.container),\n $open_toggle: this.$element.find(selectors.open_toggle),\n $close_toggle: this.$element.find(selectors.close_toggle),\n $dropdown_toggle: this.$element.find(selectors.dropdown_toggle),\n $menu_dropdown: this.$element.find(selectors.menu_dropdown)\n };\n }\n\n bindEvents() {\n this.onLoadElement();\n }\n\n onLoadElement() {\n this.addBodyClass();\n this.addDropdownIcon();\n this.onToogleClick();\n }\n\n addBodyClass() {\n if (this.elements.$wrapper.length > 0) {\n jQuery('html').addClass('jkit-nav-menu-loaded');\n }\n }\n\n addDropdownIcon() {\n const $this = this,\n indicator = $this.elements.$wrapper.data('item-indicator'),\n dropdown = $this.elements.$menu_dropdown,\n selectors = this.getSettings('selectors');\n dropdown.each(function () {\n jQuery(this).append('<i class=\"' + indicator + '\"></i>');\n });\n $this.elements.$dropdown_toggle = this.$element.find(selectors.dropdown_toggle);\n }\n\n onToogleClick() {\n const $this = this,\n wrapper = $this.elements.$wrapper,\n menu_dropdown = $this.elements.$menu_dropdown,\n open_toggle = $this.elements.$open_toggle,\n close_toggle = $this.elements.$close_toggle,\n dropdown_toggle = $this.elements.$dropdown_toggle;\n open_toggle.on('click', function (e) {\n e.preventDefault();\n\n if ($this.elements.$container.hasClass('active')) {\n $this.elements.$container.removeClass('active');\n } else {\n $this.elements.$container.addClass('active');\n }\n });\n close_toggle.on('click', function (e) {\n e.preventDefault();\n $this.elements.$container.removeClass('active');\n });\n\n if (wrapper.hasClass('submenu-click-title')) {\n menu_dropdown.each(function () {\n jQuery(this).on('click', function (e) {\n e.preventDefault();\n const dropdown = jQuery(this).next();\n\n if (dropdown.hasClass('dropdown-open')) {\n dropdown.removeClass('dropdown-open');\n } else {\n dropdown.addClass('dropdown-open');\n }\n });\n });\n } else {\n dropdown_toggle.each(function () {\n jQuery(this).on('click', function (e) {\n e.preventDefault();\n const dropdown = jQuery(this).parents('a').next();\n\n if (dropdown.hasClass('dropdown-open')) {\n dropdown.removeClass('dropdown-open');\n } else {\n dropdown.addClass('dropdown-open');\n }\n });\n });\n }\n }\n\n}\n\njQuery(window).on('elementor/frontend/init', () => {\n const addHandler = $element => {\n elementorFrontend.elementsHandler.addHandler(JKitNavMenu, {\n $element\n });\n };\n\n elementorFrontend.hooks.addAction('frontend/element_ready/jkit_nav_menu.default', addHandler);\n});\n\n//# sourceURL=webpack:///./jeg-elementor-kit/assets/dev/js/nav-menu.js?");
 
 
97
 
98
+ /***/ })
 
 
 
 
99
 
100
+ /******/ });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/js/elements/pie-chart.js CHANGED
@@ -1,166 +1,100 @@
1
- class JKitPieChart extends elementorModules.frontend.handlers.Base {
2
- getDefaultSettings() {
3
- return {
4
- selectors: {
5
- wrapper: '.jeg-elementor-kit.jkit-pie-chart',
6
- canvas_main: 'canvas.main-canvas',
7
- canvas_bg: 'canvas.background-canvas',
8
- number: '.pie-chart-content',
9
- },
10
- };
11
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12
 
13
- getDefaultElements() {
14
- const selectors = this.getSettings('selectors')
15
- return {
16
- $wrapper: this.$element.find(selectors.wrapper),
17
- $canvas_main: this.$element.find(selectors.canvas_main),
18
- $canvas_bg: this.$element.find(selectors.canvas_bg),
19
- $number: this.$element.find(selectors.number),
20
- };
21
- }
22
 
23
- bindEvents() {
24
- this.animateChart()
25
- jQuery(window).on('scroll', this.animateChart.bind(this))
26
-
27
- if (this.elements.$wrapper.data('content-type') == 'percentage') {
28
- this.countNumber()
29
- jQuery(window).on('scroll', this.countNumber.bind(this))
30
- }
31
- }
32
 
33
- animateChart() {
34
- const $this = this,
35
- canvas_main = $this.elements.$canvas_main,
36
- canvas_bg = $this.elements.$canvas_bg
37
 
38
- if (this.onScreen() && !canvas_main.hasClass('loaded')) {
39
- const wrapper = $this.elements.$wrapper,
40
- ctx_main = canvas_main.get(0).getContext('2d'),
41
- ctx_bg = canvas_bg.get(0).getContext('2d'),
42
- percent = wrapper.data('percent'),
43
- cutout = wrapper.data('cutout'),
44
- color_type = wrapper.data('color-type'),
45
- color = wrapper.data('color'),
46
- bg_color = wrapper.data('bg-color'),
47
- gradient1 = wrapper.data('gradient1'),
48
- gradient2 = wrapper.data('gradient2'),
49
- animation_duration = wrapper.data('animation-duration'),
50
- data_main = {
51
- datasets: [{
52
- data: [percent, 100 - percent],
53
- backgroundColor: ["#80b1ff", 'transparent'],
54
- borderWidth: 0,
55
- }]
56
- },
57
- data_bg = {
58
- datasets: [{
59
- data: [100],
60
- backgroundColor: ["#d1d1d1"],
61
- borderWidth: 0,
62
- }]
63
- },
64
- options_main = {
65
- animation: {
66
- duration: animation_duration,
67
- },
68
- responsive: false,
69
- cutoutPercentage: cutout,
70
- title: {
71
- display: false,
72
- },
73
- legend: {
74
- display: false,
75
- },
76
- tooltips: {
77
- enabled: false,
78
- }
79
- },
80
- options_bg = {
81
- animation: false,
82
- responsive: false,
83
- cutoutPercentage: cutout,
84
- title: {
85
- display: false,
86
- },
87
- legend: {
88
- display: false,
89
- },
90
- tooltips: {
91
- enabled: false,
92
- }
93
- }
94
-
95
- if (color_type == 'normal') {
96
- if (color !== '') {
97
- data_main.datasets[0].backgroundColor[0] = color
98
- }
99
- } else if (color_type == 'gradient' && (gradient1 !== '' || gradient2 !== '')) {
100
- const gradientFill = ctx_main.createLinearGradient(0, 0, 0, 170)
101
- if (gradient1 !== '') {
102
- gradientFill.addColorStop(0, gradient1)
103
- }
104
- if (gradient2 !== '') {
105
- gradientFill.addColorStop(1, gradient2)
106
- }
107
- data_main.datasets[0].backgroundColor[0] = gradientFill
108
- }
109
-
110
- if (bg_color !== '') {
111
- data_bg.datasets[0].backgroundColor[0] = bg_color
112
- }
113
-
114
- new Chart(ctx_main, {
115
- type: 'doughnut',
116
- data: data_main,
117
- options: options_main,
118
- })
119
-
120
- new Chart(ctx_bg, {
121
- type: 'doughnut',
122
- data: data_bg,
123
- options: options_bg,
124
- })
125
-
126
- canvas_main.addClass('loaded')
127
- canvas_main.removeAttr('style')
128
- canvas_bg.removeAttr('style')
129
- }
130
- }
131
-
132
- countNumber() {
133
- const number = this.elements.$number,
134
- wrapper = this.elements.$wrapper
135
-
136
- if (this.onScreen() && !number.hasClass('loaded')) {
137
- number.prop('Counter', 0).animate({
138
- Counter: wrapper.data('percent')
139
- }, {
140
- duration: wrapper.data('animation-duration'),
141
- easing: 'swing',
142
- step: function(now) {
143
- number.text(Math.ceil(now).toString() + '%')
144
- }
145
- })
146
- number.addClass('loaded')
147
- }
148
- }
149
-
150
- onScreen() {
151
- const windowBottomEdge = jQuery(window).scrollTop() + jQuery(window).height(),
152
- elementTopEdge = this.elements.$wrapper.offset().top
153
-
154
- return elementTopEdge <= windowBottomEdge;
155
- }
156
- }
157
-
158
- jQuery(window).on('elementor/frontend/init', () => {
159
- const addHandler = ($element) => {
160
- elementorFrontend.elementsHandler.addHandler(JKitPieChart, {
161
- $element,
162
- });
163
- };
164
-
165
- elementorFrontend.hooks.addAction('frontend/element_ready/jkit_pie_chart.default', addHandler);
166
- });
1
+ /******/ (function(modules) { // webpackBootstrap
2
+ /******/ // The module cache
3
+ /******/ var installedModules = {};
4
+ /******/
5
+ /******/ // The require function
6
+ /******/ function __webpack_require__(moduleId) {
7
+ /******/
8
+ /******/ // Check if module is in cache
9
+ /******/ if(installedModules[moduleId]) {
10
+ /******/ return installedModules[moduleId].exports;
11
+ /******/ }
12
+ /******/ // Create a new module (and put it into the cache)
13
+ /******/ var module = installedModules[moduleId] = {
14
+ /******/ i: moduleId,
15
+ /******/ l: false,
16
+ /******/ exports: {}
17
+ /******/ };
18
+ /******/
19
+ /******/ // Execute the module function
20
+ /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
21
+ /******/
22
+ /******/ // Flag the module as loaded
23
+ /******/ module.l = true;
24
+ /******/
25
+ /******/ // Return the exports of the module
26
+ /******/ return module.exports;
27
+ /******/ }
28
+ /******/
29
+ /******/
30
+ /******/ // expose the modules object (__webpack_modules__)
31
+ /******/ __webpack_require__.m = modules;
32
+ /******/
33
+ /******/ // expose the module cache
34
+ /******/ __webpack_require__.c = installedModules;
35
+ /******/
36
+ /******/ // define getter function for harmony exports
37
+ /******/ __webpack_require__.d = function(exports, name, getter) {
38
+ /******/ if(!__webpack_require__.o(exports, name)) {
39
+ /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
40
+ /******/ }
41
+ /******/ };
42
+ /******/
43
+ /******/ // define __esModule on exports
44
+ /******/ __webpack_require__.r = function(exports) {
45
+ /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
46
+ /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
47
+ /******/ }
48
+ /******/ Object.defineProperty(exports, '__esModule', { value: true });
49
+ /******/ };
50
+ /******/
51
+ /******/ // create a fake namespace object
52
+ /******/ // mode & 1: value is a module id, require it
53
+ /******/ // mode & 2: merge all properties of value into the ns
54
+ /******/ // mode & 4: return value when already ns object
55
+ /******/ // mode & 8|1: behave like require
56
+ /******/ __webpack_require__.t = function(value, mode) {
57
+ /******/ if(mode & 1) value = __webpack_require__(value);
58
+ /******/ if(mode & 8) return value;
59
+ /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
60
+ /******/ var ns = Object.create(null);
61
+ /******/ __webpack_require__.r(ns);
62
+ /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
63
+ /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
64
+ /******/ return ns;
65
+ /******/ };
66
+ /******/
67
+ /******/ // getDefaultExport function for compatibility with non-harmony modules
68
+ /******/ __webpack_require__.n = function(module) {
69
+ /******/ var getter = module && module.__esModule ?
70
+ /******/ function getDefault() { return module['default']; } :
71
+ /******/ function getModuleExports() { return module; };
72
+ /******/ __webpack_require__.d(getter, 'a', getter);
73
+ /******/ return getter;
74
+ /******/ };
75
+ /******/
76
+ /******/ // Object.prototype.hasOwnProperty.call
77
+ /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
78
+ /******/
79
+ /******/ // __webpack_public_path__
80
+ /******/ __webpack_require__.p = "";
81
+ /******/
82
+ /******/
83
+ /******/ // Load entry module and return exports
84
+ /******/ return __webpack_require__(__webpack_require__.s = "./jeg-elementor-kit/assets/dev/js/pie-chart.js");
85
+ /******/ })
86
+ /************************************************************************/
87
+ /******/ ({
88
 
89
+ /***/ "./jeg-elementor-kit/assets/dev/js/pie-chart.js":
90
+ /*!******************************************************!*\
91
+ !*** ./jeg-elementor-kit/assets/dev/js/pie-chart.js ***!
92
+ \******************************************************/
93
+ /*! no static exports found */
94
+ /***/ (function(module, exports) {
 
 
 
95
 
96
+ eval("class JKitPieChart extends elementorModules.frontend.handlers.Base {\n getDefaultSettings() {\n return {\n selectors: {\n wrapper: '.jeg-elementor-kit.jkit-pie-chart',\n canvas_main: 'canvas.main-canvas',\n canvas_bg: 'canvas.background-canvas',\n number: '.pie-chart-content'\n }\n };\n }\n\n getDefaultElements() {\n const selectors = this.getSettings('selectors');\n return {\n $wrapper: this.$element.find(selectors.wrapper),\n $canvas_main: this.$element.find(selectors.canvas_main),\n $canvas_bg: this.$element.find(selectors.canvas_bg),\n $number: this.$element.find(selectors.number)\n };\n }\n\n bindEvents() {\n this.animateChart();\n jQuery(window).on('scroll', this.animateChart.bind(this));\n\n if (this.elements.$wrapper.data('content-type') == 'percentage') {\n this.countNumber();\n jQuery(window).on('scroll', this.countNumber.bind(this));\n }\n }\n\n animateChart() {\n const $this = this,\n canvas_main = $this.elements.$canvas_main,\n canvas_bg = $this.elements.$canvas_bg;\n\n if (this.onScreen() && !canvas_main.hasClass('loaded')) {\n const wrapper = $this.elements.$wrapper,\n ctx_main = canvas_main.get(0).getContext('2d'),\n ctx_bg = canvas_bg.get(0).getContext('2d'),\n percent = wrapper.data('percent'),\n cutout = wrapper.data('cutout'),\n color_type = wrapper.data('color-type'),\n color = wrapper.data('color'),\n bg_color = wrapper.data('bg-color'),\n gradient1 = wrapper.data('gradient1'),\n gradient2 = wrapper.data('gradient2'),\n animation_duration = wrapper.data('animation-duration'),\n data_main = {\n datasets: [{\n data: [percent, 100 - percent],\n backgroundColor: [\"#80b1ff\", 'transparent'],\n borderWidth: 0\n }]\n },\n data_bg = {\n datasets: [{\n data: [100],\n backgroundColor: [\"#d1d1d1\"],\n borderWidth: 0\n }]\n },\n options_main = {\n animation: {\n duration: animation_duration\n },\n responsive: false,\n cutoutPercentage: cutout,\n title: {\n display: false\n },\n legend: {\n display: false\n },\n tooltips: {\n enabled: false\n }\n },\n options_bg = {\n animation: false,\n responsive: false,\n cutoutPercentage: cutout,\n title: {\n display: false\n },\n legend: {\n display: false\n },\n tooltips: {\n enabled: false\n }\n };\n\n if (color_type == 'normal') {\n if (color !== '') {\n data_main.datasets[0].backgroundColor[0] = color;\n }\n } else if (color_type == 'gradient' && (gradient1 !== '' || gradient2 !== '')) {\n const gradientFill = ctx_main.createLinearGradient(0, 0, 0, 170);\n\n if (gradient1 !== '') {\n gradientFill.addColorStop(0, gradient1);\n }\n\n if (gradient2 !== '') {\n gradientFill.addColorStop(1, gradient2);\n }\n\n data_main.datasets[0].backgroundColor[0] = gradientFill;\n }\n\n if (bg_color !== '') {\n data_bg.datasets[0].backgroundColor[0] = bg_color;\n }\n\n new Chart(ctx_main, {\n type: 'doughnut',\n data: data_main,\n options: options_main\n });\n new Chart(ctx_bg, {\n type: 'doughnut',\n data: data_bg,\n options: options_bg\n });\n canvas_main.addClass('loaded');\n canvas_main.removeAttr('style');\n canvas_bg.removeAttr('style');\n }\n }\n\n countNumber() {\n const number = this.elements.$number,\n wrapper = this.elements.$wrapper;\n\n if (this.onScreen() && !number.hasClass('loaded')) {\n number.prop('Counter', 0).animate({\n Counter: wrapper.data('percent')\n }, {\n duration: wrapper.data('animation-duration'),\n easing: 'swing',\n step: function (now) {\n number.text(Math.ceil(now).toString() + '%');\n }\n });\n number.addClass('loaded');\n }\n }\n\n onScreen() {\n const windowBottomEdge = jQuery(window).scrollTop() + jQuery(window).height(),\n elementTopEdge = this.elements.$wrapper.offset().top;\n return elementTopEdge <= windowBottomEdge;\n }\n\n}\n\njQuery(window).on('elementor/frontend/init', () => {\n const addHandler = $element => {\n elementorFrontend.elementsHandler.addHandler(JKitPieChart, {\n $element\n });\n };\n\n elementorFrontend.hooks.addAction('frontend/element_ready/jkit_pie_chart.default', addHandler);\n});\n\n//# sourceURL=webpack:///./jeg-elementor-kit/assets/dev/js/pie-chart.js?");
 
 
 
 
 
 
 
 
97
 
98
+ /***/ })
 
 
 
99
 
100
+ /******/ });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/js/elements/portfolio-gallery.js CHANGED
@@ -1,92 +1,100 @@
1
- class JKitPortfolioGallery extends elementorModules.frontend.handlers.Base {
2
- getDefaultSettings() {
3
- return {
4
- selectors: {
5
- wrapper: '.jeg-elementor-kit.jkit-portfolio-gallery',
6
- row_items: '.row-item',
7
- gallery_items: '.gallery-items',
8
- image_items: '.image-item',
9
- },
10
- };
11
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12
 
13
- getDefaultElements() {
14
- const selectors = this.getSettings('selectors');
15
- return {
16
- $wrapper: this.$element.find(selectors.wrapper),
17
- $row_items: this.$element.find(selectors.row_items),
18
- $gallery_items: this.$element.find(selectors.gallery_items),
19
- $image_items: this.$element.find(selectors.image_items),
20
- };
21
- }
22
 
23
- bindEvents() {
24
- this.onRenderInit()
25
- this.onClickHover()
26
- }
27
 
28
- onRenderInit() {
29
- const $this = this,
30
- row_items = $this.elements.$row_items,
31
- image_items = $this.elements.$image_items
32
 
33
- jQuery(row_items.get().reverse()).each(function () {
34
- if (jQuery(this).hasClass('current-item')) {
35
- row_items.removeClass('current-item')
36
- jQuery(this).addClass('current-item')
37
- }
38
- })
39
-
40
- jQuery(image_items.get().reverse()).each(function () {
41
- if (jQuery(this).hasClass('current-item')) {
42
- image_items.removeClass('current-item')
43
- jQuery(this).addClass('current-item')
44
- }
45
- })
46
- }
47
-
48
- onClickHover() {
49
- const $this = this,
50
- wrapper = $this.elements.$wrapper,
51
- row_items = $this.elements.$row_items
52
-
53
- if (wrapper.hasClass('on-click')) {
54
- row_items.each(function() {
55
- jQuery(this).on({
56
- click: function() {
57
- row_items.removeClass('current-item')
58
- jQuery(this).addClass('current-item')
59
- $this.onShowImage(jQuery(this).data('tab'))
60
- },
61
- })
62
- })
63
- }
64
-
65
- if (wrapper.hasClass('on-hover')) {
66
- row_items.each(function() {
67
- jQuery(this).on({
68
- mouseenter: function() {
69
- row_items.removeClass('current-item')
70
- jQuery(this).addClass('current-item')
71
- $this.onShowImage(jQuery(this).data('tab'))
72
- },
73
- })
74
- })
75
- }
76
- }
77
-
78
- onShowImage(id) {
79
- this.elements.$image_items.removeClass('current-item')
80
- this.elements.$gallery_items.find('#' + id).addClass('current-item')
81
- }
82
- }
83
-
84
- jQuery(window).on('elementor/frontend/init', () => {
85
- const addHandler = ($element) => {
86
- elementorFrontend.elementsHandler.addHandler(JKitPortfolioGallery, {
87
- $element,
88
- });
89
- };
90
-
91
- elementorFrontend.hooks.addAction('frontend/element_ready/jkit_portfolio_gallery.default', addHandler);
92
- });
1
+ /******/ (function(modules) { // webpackBootstrap
2
+ /******/ // The module cache
3
+ /******/ var installedModules = {};
4
+ /******/
5
+ /******/ // The require function
6
+ /******/ function __webpack_require__(moduleId) {
7
+ /******/
8
+ /******/ // Check if module is in cache
9
+ /******/ if(installedModules[moduleId]) {
10
+ /******/ return installedModules[moduleId].exports;
11
+ /******/ }
12
+ /******/ // Create a new module (and put it into the cache)
13
+ /******/ var module = installedModules[moduleId] = {
14
+ /******/ i: moduleId,
15
+ /******/ l: false,
16
+ /******/ exports: {}
17
+ /******/ };
18
+ /******/
19
+ /******/ // Execute the module function
20
+ /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
21
+ /******/
22
+ /******/ // Flag the module as loaded
23
+ /******/ module.l = true;
24
+ /******/
25
+ /******/ // Return the exports of the module
26
+ /******/ return module.exports;
27
+ /******/ }
28
+ /******/
29
+ /******/
30
+ /******/ // expose the modules object (__webpack_modules__)
31
+ /******/ __webpack_require__.m = modules;
32
+ /******/
33
+ /******/ // expose the module cache
34
+ /******/ __webpack_require__.c = installedModules;
35
+ /******/
36
+ /******/ // define getter function for harmony exports
37
+ /******/ __webpack_require__.d = function(exports, name, getter) {
38
+ /******/ if(!__webpack_require__.o(exports, name)) {
39
+ /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
40
+ /******/ }
41
+ /******/ };
42
+ /******/
43
+ /******/ // define __esModule on exports
44
+ /******/ __webpack_require__.r = function(exports) {
45
+ /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
46
+ /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
47
+ /******/ }
48
+ /******/ Object.defineProperty(exports, '__esModule', { value: true });
49
+ /******/ };
50
+ /******/
51
+ /******/ // create a fake namespace object
52
+ /******/ // mode & 1: value is a module id, require it
53
+ /******/ // mode & 2: merge all properties of value into the ns
54
+ /******/ // mode & 4: return value when already ns object
55
+ /******/ // mode & 8|1: behave like require
56
+ /******/ __webpack_require__.t = function(value, mode) {
57
+ /******/ if(mode & 1) value = __webpack_require__(value);
58
+ /******/ if(mode & 8) return value;
59
+ /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
60
+ /******/ var ns = Object.create(null);
61
+ /******/ __webpack_require__.r(ns);
62
+ /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
63
+ /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
64
+ /******/ return ns;
65
+ /******/ };
66
+ /******/
67
+ /******/ // getDefaultExport function for compatibility with non-harmony modules
68
+ /******/ __webpack_require__.n = function(module) {
69
+ /******/ var getter = module && module.__esModule ?
70
+ /******/ function getDefault() { return module['default']; } :
71
+ /******/ function getModuleExports() { return module; };
72
+ /******/ __webpack_require__.d(getter, 'a', getter);
73
+ /******/ return getter;
74
+ /******/ };
75
+ /******/
76
+ /******/ // Object.prototype.hasOwnProperty.call
77
+ /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
78
+ /******/
79
+ /******/ // __webpack_public_path__
80
+ /******/ __webpack_require__.p = "";
81
+ /******/
82
+ /******/
83
+ /******/ // Load entry module and return exports
84
+ /******/ return __webpack_require__(__webpack_require__.s = "./jeg-elementor-kit/assets/dev/js/portfolio-gallery.js");
85
+ /******/ })
86
+ /************************************************************************/
87
+ /******/ ({
88
 
89
+ /***/ "./jeg-elementor-kit/assets/dev/js/portfolio-gallery.js":
90
+ /*!**************************************************************!*\
91
+ !*** ./jeg-elementor-kit/assets/dev/js/portfolio-gallery.js ***!
92
+ \**************************************************************/
93
+ /*! no static exports found */
94
+ /***/ (function(module, exports) {
 
 
 
95
 
96
+ eval("class JKitPortfolioGallery extends elementorModules.frontend.handlers.Base {\n getDefaultSettings() {\n return {\n selectors: {\n wrapper: '.jeg-elementor-kit.jkit-portfolio-gallery',\n row_items: '.row-item',\n gallery_items: '.gallery-items',\n image_items: '.image-item'\n }\n };\n }\n\n getDefaultElements() {\n const selectors = this.getSettings('selectors');\n return {\n $wrapper: this.$element.find(selectors.wrapper),\n $row_items: this.$element.find(selectors.row_items),\n $gallery_items: this.$element.find(selectors.gallery_items),\n $image_items: this.$element.find(selectors.image_items)\n };\n }\n\n bindEvents() {\n this.onRenderInit();\n this.onClickHover();\n }\n\n onRenderInit() {\n const $this = this,\n row_items = $this.elements.$row_items,\n image_items = $this.elements.$image_items;\n jQuery(row_items.get().reverse()).each(function () {\n if (jQuery(this).hasClass('current-item')) {\n row_items.removeClass('current-item');\n jQuery(this).addClass('current-item');\n }\n });\n jQuery(image_items.get().reverse()).each(function () {\n if (jQuery(this).hasClass('current-item')) {\n image_items.removeClass('current-item');\n jQuery(this).addClass('current-item');\n }\n });\n }\n\n onClickHover() {\n const $this = this,\n wrapper = $this.elements.$wrapper,\n row_items = $this.elements.$row_items;\n\n if (wrapper.hasClass('on-click')) {\n row_items.each(function () {\n jQuery(this).on({\n click: function () {\n row_items.removeClass('current-item');\n jQuery(this).addClass('current-item');\n $this.onShowImage(jQuery(this).data('tab'));\n }\n });\n });\n }\n\n if (wrapper.hasClass('on-hover')) {\n row_items.each(function () {\n jQuery(this).on({\n mouseenter: function () {\n row_items.removeClass('current-item');\n jQuery(this).addClass('current-item');\n $this.onShowImage(jQuery(this).data('tab'));\n }\n });\n });\n }\n }\n\n onShowImage(id) {\n this.elements.$image_items.removeClass('current-item');\n this.elements.$gallery_items.find('#' + id).addClass('current-item');\n }\n\n}\n\njQuery(window).on('elementor/frontend/init', () => {\n const addHandler = $element => {\n elementorFrontend.elementsHandler.addHandler(JKitPortfolioGallery, {\n $element\n });\n };\n\n elementorFrontend.hooks.addAction('frontend/element_ready/jkit_portfolio_gallery.default', addHandler);\n});\n\n//# sourceURL=webpack:///./jeg-elementor-kit/assets/dev/js/portfolio-gallery.js?");
 
 
 
97
 
98
+ /***/ })
 
 
 
99
 
100
+ /******/ });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/js/elements/post-block.js CHANGED
@@ -1,166 +1,100 @@
1
- class JKitPostBlock extends elementorModules.frontend.handlers.Base {
2
- getDefaultSettings() {
3
- return {
4
- selectors: {
5
- wrapper: '.jeg-elementor-kit.jkit-postblock',
6
- pagination: '.jkit-block-pagination',
7
- },
8
- };
9
- }
10
-
11
- getDefaultElements() {
12
- const selectors = this.getSettings('selectors')
13
- return {
14
- $wrapper: this.$element.find(selectors.wrapper),
15
- $pagination: this.$element.find(selectors.pagination),
16
- };
17
- }
18
-
19
- bindEvents() {
20
- this.onInitPagination()
21
- }
22
-
23
- onInitPagination() {
24
- const $this = this,
25
- wrapper = $this.elements.$wrapper,
26
- pagination = $this.elements.$pagination,
27
- options = wrapper.data('settings'),
28
- load_limit = options.pagination_scroll_limit,
29
- pagination_mode = options.pagination_mode,
30
- parameter = {
31
- 'action': jkit_element_postblock_option.element_prefix + options.class,
32
- 'data': {
33
- 'current_page': 1,
34
- 'attr': options
35
- }
36
- }
37
-
38
- let lock_load = false,
39
- xhr_cache = []
40
-
41
- const scroll_handler = function() {
42
- if (! lock_load && ! pagination.hasClass('disabled') && (window.self == window.top)) {
43
- if (load_limit >= parameter.data.current_page || load_limit == '0') {
44
- pagination.find('a').waypoint(function() {
45
- request_ajax()
46
- this.destroy()
47
- }, {
48
- offset: '100%',
49
- context: window
50
- })
51
- }
52
- }
53
- }
54
-
55
- const save_cache = function (parameter, response) {
56
- xhr_cache.push({
57
- param: JSON.stringify(parameter),
58
- result: response
59
- })
60
- }
61
-
62
- const get_cache = function (parameter) {
63
- const jsonparam = JSON.stringify(parameter)
64
-
65
- for (let i = 0; i < xhr_cache.length; i++) {
66
- if (jsonparam === xhr_cache[i].param) {
67
- return prepare_cache(xhr_cache[i].result)
68
- }
69
- }
70
- }
71
-
72
- const prepare_cache = function (result) {
73
- result.content = '<div>' + result.content + '</div>'
74
- const content = jQuery(result.content)
75
-
76
- result.content = content.html()
77
- return result
78
- }
79
-
80
- const render_ajax_response = function (response) {
81
- const content = jQuery(response.content)
82
- let count = 0
83
-
84
- content.each(function() {
85
- if (jQuery(this).hasClass('jkit-post')) {
86
- jQuery(this).addClass('jkit-ajax-loaded anim-' + count)
87
- }
88
- count++
89
- })
90
-
91
- wrapper.removeClass('loading')
92
- wrapper.addClass('loaded')
93
- wrapper.find('.jkit-ajax-flag').append(content)
94
-
95
- if (! response.next) {
96
- pagination.addClass('disabled')
97
- pagination.hide()
98
- }
99
-
100
- request_after_ajax()
101
- jQuery(window).trigger('resize')
102
-
103
- if ('scrollload' === pagination_mode) {
104
- setTimeout(function() {
105
- scroll_handler()
106
- }, 500);
107
- }
108
- }
109
-
110
- const request_ajax = function() {
111
- request_before_ajax()
112
- parameter.data.current_page = parameter.data.current_page + 1
113
- const result = get_cache(parameter)
114
-
115
- if (result) {
116
- render_ajax_response(result)
117
- } else {
118
- jQuery.ajax({
119
- url: jkit_ajax_url,
120
- type: 'post',
121
- dataType: 'json',
122
- data: parameter,
123
- success: function(response) {
124
- render_ajax_response(response)
125
- save_cache(parameter, response)
126
- }
127
- })
128
- }
129
- }
130
-
131
- const request_before_ajax = function() {
132
- lock_load = true
133
- pagination.addClass('loading')
134
- pagination.find('a').text(pagination.find('a').data('loading'))
135
- wrapper.addClass('loading')
136
- }
137
-
138
- const request_after_ajax = function() {
139
- lock_load = false
140
- pagination.removeClass('loading')
141
- pagination.find('a').text(pagination.find('a').data('load'))
142
- }
143
-
144
- if ('scrollload' === pagination_mode) {
145
- scroll_handler()
146
- }
147
-
148
- pagination.find('a').on('click', function (e) {
149
- e.preventDefault()
150
- if (! lock_load && ! pagination.hasClass('disabled')) {
151
- request_ajax()
152
- }
153
- })
154
-
155
- }
156
- }
157
-
158
- jQuery(window).on('elementor/frontend/init', () => {
159
- const addHandler = ($element) => {
160
- elementorFrontend.elementsHandler.addHandler(JKitPostBlock, {
161
- $element,
162
- });
163
- };
164
-
165
- elementorFrontend.hooks.addAction('frontend/element_ready/jkit_post_block.default', addHandler);
166
- });
1
+ /******/ (function(modules) { // webpackBootstrap
2
+ /******/ // The module cache
3
+ /******/ var installedModules = {};
4
+ /******/
5
+ /******/ // The require function
6
+ /******/ function __webpack_require__(moduleId) {
7
+ /******/
8
+ /******/ // Check if module is in cache
9
+ /******/ if(installedModules[moduleId]) {
10
+ /******/ return installedModules[moduleId].exports;
11
+ /******/ }
12
+ /******/ // Create a new module (and put it into the cache)
13
+ /******/ var module = installedModules[moduleId] = {
14
+ /******/ i: moduleId,
15
+ /******/ l: false,
16
+ /******/ exports: {}
17
+ /******/ };
18
+ /******/
19
+ /******/ // Execute the module function
20
+ /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
21
+ /******/
22
+ /******/ // Flag the module as loaded
23
+ /******/ module.l = true;
24
+ /******/
25
+ /******/ // Return the exports of the module
26
+ /******/ return module.exports;
27
+ /******/ }
28
+ /******/
29
+ /******/
30
+ /******/ // expose the modules object (__webpack_modules__)
31
+ /******/ __webpack_require__.m = modules;
32
+ /******/
33
+ /******/ // expose the module cache
34
+ /******/ __webpack_require__.c = installedModules;
35
+ /******/
36
+ /******/ // define getter function for harmony exports
37
+ /******/ __webpack_require__.d = function(exports, name, getter) {
38
+ /******/ if(!__webpack_require__.o(exports, name)) {
39
+ /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
40
+ /******/ }
41
+ /******/ };
42
+ /******/
43
+ /******/ // define __esModule on exports
44
+ /******/ __webpack_require__.r = function(exports) {
45
+ /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
46
+ /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
47
+ /******/ }
48
+ /******/ Object.defineProperty(exports, '__esModule', { value: true });
49
+ /******/ };
50
+ /******/
51
+ /******/ // create a fake namespace object
52
+ /******/ // mode & 1: value is a module id, require it
53
+ /******/ // mode & 2: merge all properties of value into the ns
54
+ /******/ // mode & 4: return value when already ns object
55
+ /******/ // mode & 8|1: behave like require
56
+ /******/ __webpack_require__.t = function(value, mode) {
57
+ /******/ if(mode & 1) value = __webpack_require__(value);
58
+ /******/ if(mode & 8) return value;
59
+ /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
60
+ /******/ var ns = Object.create(null);
61
+ /******/ __webpack_require__.r(ns);
62
+ /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
63
+ /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
64
+ /******/ return ns;
65
+ /******/ };
66
+ /******/
67
+ /******/ // getDefaultExport function for compatibility with non-harmony modules
68
+ /******/ __webpack_require__.n = function(module) {
69
+ /******/ var getter = module && module.__esModule ?
70
+ /******/ function getDefault() { return module['default']; } :
71
+ /******/ function getModuleExports() { return module; };
72
+ /******/ __webpack_require__.d(getter, 'a', getter);
73
+ /******/ return getter;
74
+ /******/ };
75
+ /******/
76
+ /******/ // Object.prototype.hasOwnProperty.call
77
+ /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
78
+ /******/
79
+ /******/ // __webpack_public_path__
80
+ /******/ __webpack_require__.p = "";
81
+ /******/
82
+ /******/
83
+ /******/ // Load entry module and return exports
84
+ /******/ return __webpack_require__(__webpack_require__.s = "./jeg-elementor-kit/assets/dev/js/post-block.js");
85
+ /******/ })
86
+ /************************************************************************/
87
+ /******/ ({
88
+
89
+ /***/ "./jeg-elementor-kit/assets/dev/js/post-block.js":
90
+ /*!*******************************************************!*\
91
+ !*** ./jeg-elementor-kit/assets/dev/js/post-block.js ***!
92
+ \*******************************************************/
93
+ /*! no static exports found */
94
+ /***/ (function(module, exports) {
95
+
96
+ eval("class JKitPostBlock extends elementorModules.frontend.handlers.Base {\n getDefaultSettings() {\n return {\n selectors: {\n wrapper: '.jeg-elementor-kit.jkit-postblock',\n pagination: '.jkit-block-pagination'\n }\n };\n }\n\n getDefaultElements() {\n const selectors = this.getSettings('selectors');\n return {\n $wrapper: this.$element.find(selectors.wrapper),\n $pagination: this.$element.find(selectors.pagination)\n };\n }\n\n bindEvents() {\n this.onInitPagination();\n }\n\n onInitPagination() {\n const $this = this,\n wrapper = $this.elements.$wrapper,\n pagination = $this.elements.$pagination,\n options = wrapper.data('settings'),\n load_limit = options.pagination_scroll_limit,\n pagination_mode = options.pagination_mode,\n parameter = {\n 'action': jkit_element_postblock_option.element_prefix + options.class,\n 'data': {\n 'current_page': 1,\n 'attr': options\n }\n };\n let lock_load = false,\n xhr_cache = [];\n\n const scroll_handler = function () {\n if (!lock_load && !pagination.hasClass('disabled') && window.self == window.top) {\n if (load_limit >= parameter.data.current_page || load_limit == '0') {\n pagination.find('a').waypoint(function () {\n request_ajax();\n this.destroy();\n }, {\n offset: '100%',\n context: window\n });\n }\n }\n };\n\n const save_cache = function (parameter, response) {\n xhr_cache.push({\n param: JSON.stringify(parameter),\n result: response\n });\n };\n\n const get_cache = function (parameter) {\n const jsonparam = JSON.stringify(parameter);\n\n for (let i = 0; i < xhr_cache.length; i++) {\n if (jsonparam === xhr_cache[i].param) {\n return prepare_cache(xhr_cache[i].result);\n }\n }\n };\n\n const prepare_cache = function (result) {\n result.content = '<div>' + result.content + '</div>';\n const content = jQuery(result.content);\n result.content = content.html();\n return result;\n };\n\n const render_ajax_response = function (response) {\n const content = jQuery(response.content);\n let count = 0;\n content.each(function () {\n if (jQuery(this).hasClass('jkit-post')) {\n jQuery(this).addClass('jkit-ajax-loaded anim-' + count);\n }\n\n count++;\n });\n wrapper.removeClass('loading');\n wrapper.addClass('loaded');\n wrapper.find('.jkit-ajax-flag').append(content);\n\n if (!response.next) {\n pagination.addClass('disabled');\n pagination.hide();\n }\n\n request_after_ajax();\n jQuery(window).trigger('resize');\n\n if ('scrollload' === pagination_mode) {\n setTimeout(function () {\n scroll_handler();\n }, 500);\n }\n };\n\n const request_ajax = function () {\n request_before_ajax();\n parameter.data.current_page = parameter.data.current_page + 1;\n const result = get_cache(parameter);\n\n if (result) {\n render_ajax_response(result);\n } else {\n jQuery.ajax({\n url: jkit_ajax_url,\n type: 'post',\n dataType: 'json',\n data: parameter,\n success: function (response) {\n render_ajax_response(response);\n save_cache(parameter, response);\n }\n });\n }\n };\n\n const request_before_ajax = function () {\n lock_load = true;\n pagination.addClass('loading');\n pagination.find('a').text(pagination.find('a').data('loading'));\n wrapper.addClass('loading');\n };\n\n const request_after_ajax = function () {\n lock_load = false;\n pagination.removeClass('loading');\n pagination.find('a').text(pagination.find('a').data('load'));\n };\n\n if ('scrollload' === pagination_mode) {\n scroll_handler();\n }\n\n pagination.find('a').on('click', function (e) {\n e.preventDefault();\n\n if (!lock_load && !pagination.hasClass('disabled')) {\n request_ajax();\n }\n });\n }\n\n}\n\njQuery(window).on('elementor/frontend/init', () => {\n const addHandler = $element => {\n elementorFrontend.elementsHandler.addHandler(JKitPostBlock, {\n $element\n });\n };\n\n elementorFrontend.hooks.addAction('frontend/element_ready/jkit_post_block.default', addHandler);\n});\n\n//# sourceURL=webpack:///./jeg-elementor-kit/assets/dev/js/post-block.js?");
97
+
98
+ /***/ })
99
+
100
+ /******/ });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/js/elements/progress-bar.js CHANGED
@@ -1,65 +1,100 @@
1
- class JKitProgressBar extends elementorModules.frontend.handlers.Base {
2
- getDefaultSettings() {
3
- return {
4
- selectors: {
5
- wrapper: '.jeg-elementor-kit.jkit-progress-bar',
6
- skill: '.skill-track',
7
- number: '.number-percentage'
8
- },
9
- };
10
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11
 
12
- getDefaultElements() {
13
- const selectors = this.getSettings('selectors');
14
- return {
15
- $wrapper: this.$element.find(selectors.wrapper),
16
- $skill: this.$element.find(selectors.skill),
17
- $number: this.$element.find(selectors.number),
18
- };
19
- }
20
 
21
- bindEvents() {
22
- this.onLoadElement()
23
- }
24
 
25
- onLoadElement() {
26
- this.countNumber()
27
- jQuery(window).on('scroll', this.countNumber.bind(this))
28
- }
29
 
30
- countNumber() {
31
- const number = this.elements.$number,
32
- skill = this.elements.$skill
33
-
34
- if (this.onScreen() && !number.hasClass('loaded')) {
35
- number.prop('Counter', 0).animate({
36
- Counter: number.data('value')
37
- }, {
38
- duration: number.data('animation-duration'),
39
- easing: 'swing',
40
- step: function(now) {
41
- number.text(Math.ceil(now).toString() + '%')
42
- skill.css('width', now.toString() + '%')
43
- }
44
- })
45
- number.addClass('loaded')
46
- }
47
- }
48
-
49
- onScreen() {
50
- const windowBottomEdge = jQuery(window).scrollTop() + jQuery(window).height(),
51
- elementTopEdge = this.elements.$wrapper.offset().top
52
-
53
- return elementTopEdge <= windowBottomEdge;
54
- }
55
- }
56
-
57
- jQuery(window).on('elementor/frontend/init', () => {
58
- const addHandler = ($element) => {
59
- elementorFrontend.elementsHandler.addHandler(JKitProgressBar, {
60
- $element,
61
- });
62
- };
63
-
64
- elementorFrontend.hooks.addAction('frontend/element_ready/jkit_progress_bar.default', addHandler);
65
- });
1
+ /******/ (function(modules) { // webpackBootstrap
2
+ /******/ // The module cache
3
+ /******/ var installedModules = {};
4
+ /******/
5
+ /******/ // The require function
6
+ /******/ function __webpack_require__(moduleId) {
7
+ /******/
8
+ /******/ // Check if module is in cache
9
+ /******/ if(installedModules[moduleId]) {
10
+ /******/ return installedModules[moduleId].exports;
11
+ /******/ }
12
+ /******/ // Create a new module (and put it into the cache)
13
+ /******/ var module = installedModules[moduleId] = {
14
+ /******/ i: moduleId,
15
+ /******/ l: false,
16
+ /******/ exports: {}
17
+ /******/ };
18
+ /******/
19
+ /******/ // Execute the module function
20
+ /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
21
+ /******/
22
+ /******/ // Flag the module as loaded
23
+ /******/ module.l = true;
24
+ /******/
25
+ /******/ // Return the exports of the module
26
+ /******/ return module.exports;
27
+ /******/ }
28
+ /******/
29
+ /******/
30
+ /******/ // expose the modules object (__webpack_modules__)
31
+ /******/ __webpack_require__.m = modules;
32
+ /******/
33
+ /******/ // expose the module cache
34
+ /******/ __webpack_require__.c = installedModules;
35
+ /******/
36
+ /******/ // define getter function for harmony exports
37
+ /******/ __webpack_require__.d = function(exports, name, getter) {
38
+ /******/ if(!__webpack_require__.o(exports, name)) {
39
+ /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
40
+ /******/ }
41
+ /******/ };
42
+ /******/
43
+ /******/ // define __esModule on exports
44
+ /******/ __webpack_require__.r = function(exports) {
45
+ /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
46
+ /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
47
+ /******/ }
48
+ /******/ Object.defineProperty(exports, '__esModule', { value: true });
49
+ /******/ };
50
+ /******/
51
+ /******/ // create a fake namespace object
52
+ /******/ // mode & 1: value is a module id, require it
53
+ /******/ // mode & 2: merge all properties of value into the ns
54
+ /******/ // mode & 4: return value when already ns object
55
+ /******/ // mode & 8|1: behave like require
56
+ /******/ __webpack_require__.t = function(value, mode) {
57
+ /******/ if(mode & 1) value = __webpack_require__(value);
58
+ /******/ if(mode & 8) return value;
59
+ /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
60
+ /******/ var ns = Object.create(null);
61
+ /******/ __webpack_require__.r(ns);
62
+ /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
63
+ /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
64
+ /******/ return ns;
65
+ /******/ };
66
+ /******/
67
+ /******/ // getDefaultExport function for compatibility with non-harmony modules
68
+ /******/ __webpack_require__.n = function(module) {
69
+ /******/ var getter = module && module.__esModule ?
70
+ /******/ function getDefault() { return module['default']; } :
71
+ /******/ function getModuleExports() { return module; };
72
+ /******/ __webpack_require__.d(getter, 'a', getter);
73
+ /******/ return getter;
74
+ /******/ };
75
+ /******/
76
+ /******/ // Object.prototype.hasOwnProperty.call
77
+ /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
78
+ /******/
79
+ /******/ // __webpack_public_path__
80
+ /******/ __webpack_require__.p = "";
81
+ /******/
82
+ /******/
83
+ /******/ // Load entry module and return exports
84
+ /******/ return __webpack_require__(__webpack_require__.s = "./jeg-elementor-kit/assets/dev/js/progress-bar.js");
85
+ /******/ })
86
+ /************************************************************************/
87
+ /******/ ({
88
 
89
+ /***/ "./jeg-elementor-kit/assets/dev/js/progress-bar.js":
90
+ /*!*********************************************************!*\
91
+ !*** ./jeg-elementor-kit/assets/dev/js/progress-bar.js ***!
92
+ \*********************************************************/
93
+ /*! no static exports found */
94
+ /***/ (function(module, exports) {
 
 
95
 
96
+ eval("class JKitProgressBar extends elementorModules.frontend.handlers.Base {\n getDefaultSettings() {\n return {\n selectors: {\n wrapper: '.jeg-elementor-kit.jkit-progress-bar',\n skill: '.skill-track',\n number: '.number-percentage'\n }\n };\n }\n\n getDefaultElements() {\n const selectors = this.getSettings('selectors');\n return {\n $wrapper: this.$element.find(selectors.wrapper),\n $skill: this.$element.find(selectors.skill),\n $number: this.$element.find(selectors.number)\n };\n }\n\n bindEvents() {\n this.onLoadElement();\n }\n\n onLoadElement() {\n this.countNumber();\n jQuery(window).on('scroll', this.countNumber.bind(this));\n }\n\n countNumber() {\n const number = this.elements.$number,\n skill = this.elements.$skill;\n\n if (this.onScreen() && !number.hasClass('loaded')) {\n number.prop('Counter', 0).animate({\n Counter: number.data('value')\n }, {\n duration: number.data('animation-duration'),\n easing: 'swing',\n step: function (now) {\n number.text(Math.ceil(now).toString() + '%');\n skill.css('width', now.toString() + '%');\n }\n });\n number.addClass('loaded');\n }\n }\n\n onScreen() {\n const windowBottomEdge = jQuery(window).scrollTop() + jQuery(window).height(),\n elementTopEdge = this.elements.$wrapper.offset().top;\n return elementTopEdge <= windowBottomEdge;\n }\n\n}\n\njQuery(window).on('elementor/frontend/init', () => {\n const addHandler = $element => {\n elementorFrontend.elementsHandler.addHandler(JKitProgressBar, {\n $element\n });\n };\n\n elementorFrontend.hooks.addAction('frontend/element_ready/jkit_progress_bar.default', addHandler);\n});\n\n//# sourceURL=webpack:///./jeg-elementor-kit/assets/dev/js/progress-bar.js?");
 
 
97
 
98
+ /***/ })
 
 
 
99
 
100
+ /******/ });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/js/elements/team.js CHANGED
@@ -1,56 +1,100 @@
1
- class JKitTeam extends elementorModules.frontend.handlers.Base {
2
- getDefaultSettings() {
3
- return {
4
- selectors: {
5
- wrapper: '.jeg-elementor-kit.jkit-team',
6
- close_modal: '.team-modal-close'
7
- },
8
- };
9
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10
 
11
- getDefaultElements() {
12
- const selectors = this.getSettings('selectors')
13
- return {
14
- $wrapper: this.$element.find(selectors.wrapper),
15
- $close_modal: this.$element.find(selectors.close_modal)
16
- };
17
- }
18
 
19
- bindEvents() {
20
- this.onClick()
21
- }
22
 
23
- onClick() {
24
- const $this = this,
25
- wrapper = $this.elements.$wrapper,
26
- close_modal = $this.elements.$close_modal
27
 
28
- wrapper.magnificPopup({
29
- delegate: 'a.jkit-team-modal',
30
- removalDelay: 500,
31
- callbacks: {
32
- beforeOpen: function() {
33
- this.st.mainClass = this.st.el.attr('data-effect')
34
- }
35
- },
36
- midClick: true,
37
- showCloseBtn: false,
38
- prependTo: wrapper
39
- })
40
-
41
- close_modal.on('click', function(e) {
42
- e.preventDefault()
43
- jQuery.magnificPopup.close()
44
- })
45
- }
46
- }
47
-
48
- jQuery(window).on('elementor/frontend/init', () => {
49
- const addHandler = ($element) => {
50
- elementorFrontend.elementsHandler.addHandler(JKitTeam, {
51
- $element,
52
- });
53
- };
54
-
55
- elementorFrontend.hooks.addAction('frontend/element_ready/jkit_team.default', addHandler);
56
- });
1
+ /******/ (function(modules) { // webpackBootstrap
2
+ /******/ // The module cache
3
+ /******/ var installedModules = {};
4
+ /******/
5
+ /******/ // The require function
6
+ /******/ function __webpack_require__(moduleId) {
7
+ /******/
8
+ /******/ // Check if module is in cache
9
+ /******/ if(installedModules[moduleId]) {
10
+ /******/ return installedModules[moduleId].exports;
11
+ /******/ }
12
+ /******/ // Create a new module (and put it into the cache)
13
+ /******/ var module = installedModules[moduleId] = {
14
+ /******/ i: moduleId,
15
+ /******/ l: false,
16
+ /******/ exports: {}
17
+ /******/ };
18
+ /******/
19
+ /******/ // Execute the module function
20
+ /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
21
+ /******/
22
+ /******/ // Flag the module as loaded
23
+ /******/ module.l = true;
24
+ /******/
25
+ /******/ // Return the exports of the module
26
+ /******/ return module.exports;
27
+ /******/ }
28
+ /******/
29
+ /******/
30
+ /******/ // expose the modules object (__webpack_modules__)
31
+ /******/ __webpack_require__.m = modules;
32
+ /******/
33
+ /******/ // expose the module cache
34
+ /******/ __webpack_require__.c = installedModules;
35
+ /******/
36
+ /******/ // define getter function for harmony exports
37
+ /******/ __webpack_require__.d = function(exports, name, getter) {
38
+ /******/ if(!__webpack_require__.o(exports, name)) {
39
+ /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
40
+ /******/ }
41
+ /******/ };
42
+ /******/
43
+ /******/ // define __esModule on exports
44
+ /******/ __webpack_require__.r = function(exports) {
45
+ /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
46
+ /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
47
+ /******/ }
48
+ /******/ Object.defineProperty(exports, '__esModule', { value: true });
49
+ /******/ };
50
+ /******/
51
+ /******/ // create a fake namespace object
52
+ /******/ // mode & 1: value is a module id, require it
53
+ /******/ // mode & 2: merge all properties of value into the ns
54
+ /******/ // mode & 4: return value when already ns object
55
+ /******/ // mode & 8|1: behave like require
56
+ /******/ __webpack_require__.t = function(value, mode) {
57
+ /******/ if(mode & 1) value = __webpack_require__(value);
58
+ /******/ if(mode & 8) return value;
59
+ /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
60
+ /******/ var ns = Object.create(null);
61
+ /******/ __webpack_require__.r(ns);
62
+ /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
63
+ /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
64
+ /******/ return ns;
65
+ /******/ };
66
+ /******/
67
+ /******/ // getDefaultExport function for compatibility with non-harmony modules
68
+ /******/ __webpack_require__.n = function(module) {
69
+ /******/ var getter = module && module.__esModule ?
70
+ /******/ function getDefault() { return module['default']; } :
71
+ /******/ function getModuleExports() { return module; };
72
+ /******/ __webpack_require__.d(getter, 'a', getter);
73
+ /******/ return getter;
74
+ /******/ };
75
+ /******/
76
+ /******/ // Object.prototype.hasOwnProperty.call
77
+ /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
78
+ /******/
79
+ /******/ // __webpack_public_path__
80
+ /******/ __webpack_require__.p = "";
81
+ /******/
82
+ /******/
83
+ /******/ // Load entry module and return exports
84
+ /******/ return __webpack_require__(__webpack_require__.s = "./jeg-elementor-kit/assets/dev/js/team.js");
85
+ /******/ })
86
+ /************************************************************************/
87
+ /******/ ({
88
 
89
+ /***/ "./jeg-elementor-kit/assets/dev/js/team.js":
90
+ /*!*************************************************!*\
91
+ !*** ./jeg-elementor-kit/assets/dev/js/team.js ***!
92
+ \*************************************************/
93
+ /*! no static exports found */
94
+ /***/ (function(module, exports) {
 
95
 
96
+ eval("class JKitTeam extends elementorModules.frontend.handlers.Base {\n getDefaultSettings() {\n return {\n selectors: {\n wrapper: '.jeg-elementor-kit.jkit-team',\n close_modal: '.team-modal-close'\n }\n };\n }\n\n getDefaultElements() {\n const selectors = this.getSettings('selectors');\n return {\n $wrapper: this.$element.find(selectors.wrapper),\n $close_modal: this.$element.find(selectors.close_modal)\n };\n }\n\n bindEvents() {\n this.onClick();\n }\n\n onClick() {\n const $this = this,\n wrapper = $this.elements.$wrapper,\n close_modal = $this.elements.$close_modal;\n wrapper.magnificPopup({\n delegate: 'a.jkit-team-modal',\n removalDelay: 500,\n callbacks: {\n beforeOpen: function () {\n this.st.mainClass = this.st.el.attr('data-effect');\n }\n },\n midClick: true,\n showCloseBtn: false,\n prependTo: wrapper\n });\n close_modal.on('click', function (e) {\n e.preventDefault();\n jQuery.magnificPopup.close();\n });\n }\n\n}\n\njQuery(window).on('elementor/frontend/init', () => {\n const addHandler = $element => {\n elementorFrontend.elementsHandler.addHandler(JKitTeam, {\n $element\n });\n };\n\n elementorFrontend.hooks.addAction('frontend/element_ready/jkit_team.default', addHandler);\n});\n\n//# sourceURL=webpack:///./jeg-elementor-kit/assets/dev/js/team.js?");
 
 
97
 
98
+ /***/ })
 
 
 
99
 
100
+ /******/ });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/js/elements/testimonials.js CHANGED
@@ -1,84 +1,100 @@
1
- class JKitTestimonials extends elementorModules.frontend.handlers.Base {
2
- getDefaultSettings() {
3
- return {
4
- selectors: {
5
- wrapper: '.jeg-elementor-kit.jkit-testimonials',
6
- items: '.testimonials-track',
7
- },
8
- };
9
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10
 
11
- getDefaultElements() {
12
- const selectors = this.getSettings('selectors');
13
- return {
14
- $wrapper: this.$element.find(selectors.wrapper),
15
- $items: this.$element.find(selectors.items),
16
- };
17
- }
18
 
19
- bindEvents() {
20
- this.onLoadElement()
21
- }
22
 
23
- onLoadElement() {
24
- this.loadCarousel()
25
- }
26
 
27
- loadCarousel() {
28
- const id = this.elements.$wrapper.data('id'),
29
- selectors = this.getSettings('selectors'),
30
- options = this.elements.$wrapper.data('settings'),
31
- attr = {
32
- container: selectors.wrapper + '[data-id="' + id + '"] ' + selectors.items,
33
- loop: true,
34
- mouseDrag: true,
35
- autoplay: options.autoplay,
36
- autoplayTimeout: options.autoplay_speed,
37
- autoplayHoverPause: options.autoplay_hover_pause,
38
- navPosition: 'bottom',
39
- controlsPosition: options.arrow_position,
40
- controlsText: ['<i class="' + options.navigation_left + '" aria-hidden="true"></i>', '<i class="' + options.navigation_right + '" aria-hidden="true"></i>'],
41
- responsiveClass: true,
42
- responsive: {
43
- 0: {
44
- items: options.items_mobile,
45
- gutter: options.margin_mobile
46
- },
47
- 768: {
48
- items: options.items_tablet,
49
- gutter: options.margin_tablet
50
- },
51
- 1025: {
52
- items: options.items,
53
- gutter: options.margin
54
- }
55
- }
56
- }
57
-
58
- tns(attr)
59
- this.elements.$wrapper.find('button[data-action="stop"]').remove()
60
-
61
- if (! options.show_navigation) {
62
- this.elements.$wrapper.find('.tns-controls').remove()
63
- }
64
-
65
- if (! options.show_dots) {
66
- this.elements.$wrapper.find('.tns-nav').remove()
67
- }
68
-
69
- if (options.show_navigation) {
70
- attr.nav = true
71
- attr.navText = ['<i class="' + options.navigation_left + '" aria-hidden="true"></i>', '<i class="' + options.navigation_right + '" aria-hidden="true"></i>']
72
- }
73
- }
74
- }
75
-
76
- jQuery(window).on('elementor/frontend/init', () => {
77
- const addHandler = ($element) => {
78
- elementorFrontend.elementsHandler.addHandler(JKitTestimonials, {
79
- $element,
80
- });
81
- };
82
-
83
- elementorFrontend.hooks.addAction('frontend/element_ready/jkit_testimonials.default', addHandler);
84
- });
1
+ /******/ (function(modules) { // webpackBootstrap
2
+ /******/ // The module cache
3
+ /******/ var installedModules = {};
4
+ /******/
5
+ /******/ // The require function
6
+ /******/ function __webpack_require__(moduleId) {
7
+ /******/
8
+ /******/ // Check if module is in cache
9
+ /******/ if(installedModules[moduleId]) {
10
+ /******/ return installedModules[moduleId].exports;
11
+ /******/ }
12
+ /******/ // Create a new module (and put it into the cache)
13
+ /******/ var module = installedModules[moduleId] = {
14
+ /******/ i: moduleId,
15
+ /******/ l: false,
16
+ /******/ exports: {}
17
+ /******/ };
18
+ /******/
19
+ /******/ // Execute the module function
20
+ /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
21
+ /******/
22
+ /******/ // Flag the module as loaded
23
+ /******/ module.l = true;
24
+ /******/
25
+ /******/ // Return the exports of the module
26
+ /******/ return module.exports;
27
+ /******/ }
28
+ /******/
29
+ /******/
30
+ /******/ // expose the modules object (__webpack_modules__)
31
+ /******/ __webpack_require__.m = modules;
32
+ /******/
33
+ /******/ // expose the module cache
34
+ /******/ __webpack_require__.c = installedModules;
35
+ /******/
36
+ /******/ // define getter function for harmony exports
37
+ /******/ __webpack_require__.d = function(exports, name, getter) {
38
+ /******/ if(!__webpack_require__.o(exports, name)) {
39
+ /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
40
+ /******/ }
41
+ /******/ };
42
+ /******/
43
+ /******/ // define __esModule on exports
44
+ /******/ __webpack_require__.r = function(exports) {
45
+ /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
46
+ /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
47
+ /******/ }
48
+ /******/ Object.defineProperty(exports, '__esModule', { value: true });
49
+ /******/ };
50
+ /******/
51
+ /******/ // create a fake namespace object
52
+ /******/ // mode & 1: value is a module id, require it
53
+ /******/ // mode & 2: merge all properties of value into the ns
54
+ /******/ // mode & 4: return value when already ns object
55
+ /******/ // mode & 8|1: behave like require
56
+ /******/ __webpack_require__.t = function(value, mode) {
57
+ /******/ if(mode & 1) value = __webpack_require__(value);
58
+ /******/ if(mode & 8) return value;
59
+ /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
60
+ /******/ var ns = Object.create(null);
61
+ /******/ __webpack_require__.r(ns);
62
+ /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
63
+ /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
64
+ /******/ return ns;
65
+ /******/ };
66
+ /******/
67
+ /******/ // getDefaultExport function for compatibility with non-harmony modules
68
+ /******/ __webpack_require__.n = function(module) {
69
+ /******/ var getter = module && module.__esModule ?
70
+ /******/ function getDefault() { return module['default']; } :
71
+ /******/ function getModuleExports() { return module; };
72
+ /******/ __webpack_require__.d(getter, 'a', getter);
73
+ /******/ return getter;
74
+ /******/ };
75
+ /******/
76
+ /******/ // Object.prototype.hasOwnProperty.call
77
+ /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
78
+ /******/
79
+ /******/ // __webpack_public_path__
80
+ /******/ __webpack_require__.p = "";
81
+ /******/
82
+ /******/
83
+ /******/ // Load entry module and return exports
84
+ /******/ return __webpack_require__(__webpack_require__.s = "./jeg-elementor-kit/assets/dev/js/testimonials.js");
85
+ /******/ })
86
+ /************************************************************************/
87
+ /******/ ({
88
 
89
+ /***/ "./jeg-elementor-kit/assets/dev/js/testimonials.js":
90
+ /*!*********************************************************!*\
91
+ !*** ./jeg-elementor-kit/assets/dev/js/testimonials.js ***!
92
+ \*********************************************************/
93
+ /*! no static exports found */
94
+ /***/ (function(module, exports) {
 
95
 
96
+ eval("class JKitTestimonials extends elementorModules.frontend.handlers.Base {\n getDefaultSettings() {\n return {\n selectors: {\n wrapper: '.jeg-elementor-kit.jkit-testimonials',\n items: '.testimonials-track'\n }\n };\n }\n\n getDefaultElements() {\n const selectors = this.getSettings('selectors');\n return {\n $wrapper: this.$element.find(selectors.wrapper),\n $items: this.$element.find(selectors.items)\n };\n }\n\n bindEvents() {\n this.onLoadElement();\n }\n\n onLoadElement() {\n this.loadCarousel();\n }\n\n loadCarousel() {\n const id = this.elements.$wrapper.data('id'),\n selectors = this.getSettings('selectors'),\n options = this.elements.$wrapper.data('settings'),\n attr = {\n container: selectors.wrapper + '[data-id=\"' + id + '\"] ' + selectors.items,\n loop: true,\n mouseDrag: true,\n autoplay: options.autoplay,\n autoplayTimeout: options.autoplay_speed,\n autoplayHoverPause: options.autoplay_hover_pause,\n navPosition: 'bottom',\n controlsPosition: options.arrow_position,\n controlsText: ['<i class=\"' + options.navigation_left + '\" aria-hidden=\"true\"></i>', '<i class=\"' + options.navigation_right + '\" aria-hidden=\"true\"></i>'],\n responsiveClass: true,\n responsive: {\n 0: {\n items: options.items_mobile,\n gutter: options.margin_mobile\n },\n 768: {\n items: options.items_tablet,\n gutter: options.margin_tablet\n },\n 1025: {\n items: options.items,\n gutter: options.margin\n }\n }\n };\n tns(attr);\n this.elements.$wrapper.find('button[data-action=\"stop\"]').remove();\n\n if (!options.show_navigation) {\n this.elements.$wrapper.find('.tns-controls').remove();\n }\n\n if (!options.show_dots) {\n this.elements.$wrapper.find('.tns-nav').remove();\n }\n\n if (options.show_navigation) {\n attr.nav = true;\n attr.navText = ['<i class=\"' + options.navigation_left + '\" aria-hidden=\"true\"></i>', '<i class=\"' + options.navigation_right + '\" aria-hidden=\"true\"></i>'];\n }\n }\n\n}\n\njQuery(window).on('elementor/frontend/init', () => {\n const addHandler = $element => {\n elementorFrontend.elementsHandler.addHandler(JKitTestimonials, {\n $element\n });\n };\n\n elementorFrontend.hooks.addAction('frontend/element_ready/jkit_testimonials.default', addHandler);\n});\n\n//# sourceURL=webpack:///./jeg-elementor-kit/assets/dev/js/testimonials.js?");
 
 
97
 
98
+ /***/ })
 
 
99
 
100
+ /******/ });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
class/elements/class-element.php CHANGED
@@ -119,23 +119,11 @@ class Element {
119
 
120
  wp_enqueue_script( 'jkit-editor-support', JEG_ELEMENTOR_KIT_URL . '/assets/js/elementor/editor-support.js', ['elementor-frontend'], JEG_ELEMENTOR_KIT_VERSION, true );
121
 
122
- wp_enqueue_script( 'jkit-element-navmenu', JEG_ELEMENTOR_KIT_URL . '/assets/js/elements/nav-menu.js', ['elementor-frontend'], JEG_ELEMENTOR_KIT_VERSION, true );
123
- wp_enqueue_script( 'jkit-element-funfact', JEG_ELEMENTOR_KIT_URL . '/assets/js/elements/fun-fact.js', ['elementor-frontend'], JEG_ELEMENTOR_KIT_VERSION, true );
124
- wp_enqueue_script( 'jkit-element-progressbar', JEG_ELEMENTOR_KIT_URL . '/assets/js/elements/progress-bar.js', ['elementor-frontend'], JEG_ELEMENTOR_KIT_VERSION, true );
125
- wp_enqueue_script( 'jkit-element-clientlogo', JEG_ELEMENTOR_KIT_URL . '/assets/js/elements/client-logo.js', ['elementor-frontend'], JEG_ELEMENTOR_KIT_VERSION, true );
126
- wp_enqueue_script( 'jkit-element-testimonials', JEG_ELEMENTOR_KIT_URL . '/assets/js/elements/testimonials.js', ['elementor-frontend'], JEG_ELEMENTOR_KIT_VERSION, true );
127
- wp_enqueue_script( 'jkit-element-accordion', JEG_ELEMENTOR_KIT_URL . '/assets/js/elements/accordion.js', ['elementor-frontend'], JEG_ELEMENTOR_KIT_VERSION, true );
128
- wp_enqueue_script( 'jkit-element-gallery', JEG_ELEMENTOR_KIT_URL . '/assets/js/elements/gallery.js', ['elementor-frontend'], JEG_ELEMENTOR_KIT_VERSION, true );
129
- wp_enqueue_script( 'jkit-element-team', JEG_ELEMENTOR_KIT_URL . '/assets/js/elements/team.js', ['elementor-frontend'], JEG_ELEMENTOR_KIT_VERSION, true );
130
- wp_enqueue_script( 'jkit-element-piechart', JEG_ELEMENTOR_KIT_URL . '/assets/js/elements/pie-chart.js', ['elementor-frontend'], JEG_ELEMENTOR_KIT_VERSION, true );
131
- wp_enqueue_script( 'jkit-element-portfoliogallery', JEG_ELEMENTOR_KIT_URL . '/assets/js/elements/portfolio-gallery.js', ['elementor-frontend'], JEG_ELEMENTOR_KIT_VERSION, true );
132
- wp_enqueue_script( 'jkit-element-animatedtext', JEG_ELEMENTOR_KIT_URL . '/assets/js/elements/animated-text.js', ['elementor-frontend'], JEG_ELEMENTOR_KIT_VERSION, true );
133
-
134
- wp_register_script( 'jkit-element-postblock', JEG_ELEMENTOR_KIT_URL . '/assets/js/elements/post-block.js', ['elementor-frontend'], JEG_ELEMENTOR_KIT_VERSION, true );
135
- wp_localize_script( 'jkit-element-postblock', 'jkit_element_postblock_option', $this->localize_script() );
136
-
137
- wp_add_inline_script( 'jkit-element-postblock', $this->ajax_url() );
138
- wp_enqueue_script( 'jkit-element-postblock' );
139
  }
140
  }
141
 
119
 
120
  wp_enqueue_script( 'jkit-editor-support', JEG_ELEMENTOR_KIT_URL . '/assets/js/elementor/editor-support.js', ['elementor-frontend'], JEG_ELEMENTOR_KIT_VERSION, true );
121
 
122
+ wp_register_script( 'jkit-elements', JEG_ELEMENTOR_KIT_URL . '/assets/js/elements/elements.js', ['elementor-frontend'], JEG_ELEMENTOR_KIT_VERSION, true );
123
+ wp_localize_script( 'jkit-elements', 'jkit_element_postblock_option', $this->localize_script() );
124
+
125
+ wp_add_inline_script( 'jkit-elements', $this->ajax_url() );
126
+ wp_enqueue_script( 'jkit-elements' );
 
 
 
 
 
 
 
 
 
 
 
 
127
  }
128
  }
129
 
jeg-elementor-kit.php CHANGED
@@ -3,7 +3,7 @@
3
  * Plugin Name: Jeg Elementor Kit
4
  * Plugin URI: http://jegtheme.com/
5
  * Description: JegStudio Elements for Elementor
6
- * Version: 1.1.3
7
  * Author: JegStudio
8
  * Author URI: http://jegtheme.com
9
  * License: GPLv3
@@ -12,7 +12,7 @@
12
 
13
  defined( 'JEG_ELEMENTOR_KIT' ) || define( 'JEG_ELEMENTOR_KIT', 'jeg-elementor-kit' );
14
  defined( 'JEG_ELEMENTOR_KIT_NAME' ) || define( 'JEG_ELEMENTOR_KIT_NAME', 'Jeg Elementor Kit' );
15
- defined( 'JEG_ELEMENTOR_KIT_VERSION' ) || define( 'JEG_ELEMENTOR_KIT_VERSION', '1.1.3' );
16
  defined( 'JEG_ELEMENTOR_KIT_URL' ) || define( 'JEG_ELEMENTOR_KIT_URL', plugins_url( JEG_ELEMENTOR_KIT ) );
17
  defined( 'JEG_ELEMENTOR_KIT_FILE' ) || define( 'JEG_ELEMENTOR_KIT_FILE', __FILE__ );
18
  defined( 'JEG_ELEMENTOR_KIT_DIR' ) || define( 'JEG_ELEMENTOR_KIT_DIR', plugin_dir_path( __FILE__ ) );
3
  * Plugin Name: Jeg Elementor Kit
4
  * Plugin URI: http://jegtheme.com/
5
  * Description: JegStudio Elements for Elementor
6
+ * Version: 1.1.4
7
  * Author: JegStudio
8
  * Author URI: http://jegtheme.com
9
  * License: GPLv3
12
 
13
  defined( 'JEG_ELEMENTOR_KIT' ) || define( 'JEG_ELEMENTOR_KIT', 'jeg-elementor-kit' );
14
  defined( 'JEG_ELEMENTOR_KIT_NAME' ) || define( 'JEG_ELEMENTOR_KIT_NAME', 'Jeg Elementor Kit' );
15
+ defined( 'JEG_ELEMENTOR_KIT_VERSION' ) || define( 'JEG_ELEMENTOR_KIT_VERSION', '1.1.4' );
16
  defined( 'JEG_ELEMENTOR_KIT_URL' ) || define( 'JEG_ELEMENTOR_KIT_URL', plugins_url( JEG_ELEMENTOR_KIT ) );
17
  defined( 'JEG_ELEMENTOR_KIT_FILE' ) || define( 'JEG_ELEMENTOR_KIT_FILE', __FILE__ );
18
  defined( 'JEG_ELEMENTOR_KIT_DIR' ) || define( 'JEG_ELEMENTOR_KIT_DIR', plugin_dir_path( __FILE__ ) );
languages/jeg-elementor-kit.pot CHANGED
@@ -23,15 +23,15 @@ msgstr ""
23
  msgid "%s ago"
24
  msgstr ""
25
 
26
- #: jeg-elementor-kit/class/elements/class-element.php:352
27
  msgid "JKit - Icons"
28
  msgstr ""
29
 
30
- #: jeg-elementor-kit/class/elements/class-element.php:372
31
  msgid "<i class=\"jkit-option-transform\"></i> Transform"
32
  msgstr ""
33
 
34
- #: jeg-elementor-kit/class/elements/class-element.php:379
35
  msgid "Rotate"
36
  msgstr ""
37
 
23
  msgid "%s ago"
24
  msgstr ""
25
 
26
+ #: jeg-elementor-kit/class/elements/class-element.php:340
27
  msgid "JKit - Icons"
28
  msgstr ""
29
 
30
+ #: jeg-elementor-kit/class/elements/class-element.php:360
31
  msgid "<i class=\"jkit-option-transform\"></i> Transform"
32
  msgstr ""
33
 
34
+ #: jeg-elementor-kit/class/elements/class-element.php:367
35
  msgid "Rotate"
36
  msgstr ""
37
 
readme.txt CHANGED
@@ -4,7 +4,7 @@ Tags: elementor, element, addon, widget, extension, blog, post, elementor addon,
4
  Requires at least: 5.0
5
  Tested up to: 5.6
6
  Requires PHP: 7.0
7
- Stable tag: 1.1.3
8
  License: GPLv3
9
  License URI: https://www.gnu.org/licenses/gpl-3.0.html
10
 
@@ -46,6 +46,9 @@ Yes, you can. This plugin works with any themes as long you use Elementor and th
46
 
47
  == Changelog ==
48
 
 
 
 
49
  = 1.1.3 - 2021-03-03 =
50
  * Fix current menu style, navigation menu widget
51
 
4
  Requires at least: 5.0
5
  Tested up to: 5.6
6
  Requires PHP: 7.0
7
+ Stable tag: 1.1.4
8
  License: GPLv3
9
  License URI: https://www.gnu.org/licenses/gpl-3.0.html
10
 
46
 
47
  == Changelog ==
48
 
49
+ = 1.1.4 - 2021-03-04 =
50
+ * Improvement: Use built JS files
51
+
52
  = 1.1.3 - 2021-03-03 =
53
  * Fix current menu style, navigation menu widget
54