mekari_ui_toolkit 1.0.8 → 1.0.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. checksums.yaml +4 -4
  2. data/lib/assets/javascripts/bootstrap/mekari-ui-alert.js +17 -23
  3. data/lib/assets/javascripts/bootstrap/mekari-ui-alert.js.map +1 -1
  4. data/lib/assets/javascripts/bootstrap/mekari-ui-alert.min.js +2 -2
  5. data/lib/assets/javascripts/bootstrap/mekari-ui-button.js +83 -41
  6. data/lib/assets/javascripts/bootstrap/mekari-ui-button.js.map +1 -1
  7. data/lib/assets/javascripts/bootstrap/mekari-ui-button.min.js +2 -2
  8. data/lib/assets/javascripts/bootstrap/mekari-ui-collapse.js +39 -47
  9. data/lib/assets/javascripts/bootstrap/mekari-ui-collapse.js.map +1 -1
  10. data/lib/assets/javascripts/bootstrap/mekari-ui-collapse.min.js +2 -2
  11. data/lib/assets/javascripts/bootstrap/mekari-ui-dropdown.js +104 -112
  12. data/lib/assets/javascripts/bootstrap/mekari-ui-dropdown.js.map +1 -1
  13. data/lib/assets/javascripts/bootstrap/mekari-ui-dropdown.min.js +2 -2
  14. data/lib/assets/javascripts/bootstrap/mekari-ui-modal.js +145 -109
  15. data/lib/assets/javascripts/bootstrap/mekari-ui-modal.js.map +1 -1
  16. data/lib/assets/javascripts/bootstrap/mekari-ui-modal.min.js +2 -2
  17. data/lib/assets/javascripts/bootstrap/mekari-ui-popover.js +11 -15
  18. data/lib/assets/javascripts/bootstrap/mekari-ui-popover.js.map +1 -1
  19. data/lib/assets/javascripts/bootstrap/mekari-ui-popover.min.js +2 -2
  20. data/lib/assets/javascripts/bootstrap/mekari-ui-scrollspy.js +36 -48
  21. data/lib/assets/javascripts/bootstrap/mekari-ui-scrollspy.js.map +1 -1
  22. data/lib/assets/javascripts/bootstrap/mekari-ui-scrollspy.min.js +2 -2
  23. data/lib/assets/javascripts/bootstrap/mekari-ui-tab.js +42 -48
  24. data/lib/assets/javascripts/bootstrap/mekari-ui-tab.js.map +1 -1
  25. data/lib/assets/javascripts/bootstrap/mekari-ui-tab.min.js +2 -2
  26. data/lib/assets/javascripts/bootstrap/mekari-ui-tooltip.js +98 -100
  27. data/lib/assets/javascripts/bootstrap/mekari-ui-tooltip.js.map +1 -1
  28. data/lib/assets/javascripts/bootstrap/mekari-ui-tooltip.min.js +2 -2
  29. data/lib/assets/javascripts/bootstrap/mekari-ui-util.js +25 -4
  30. data/lib/assets/javascripts/bootstrap/mekari-ui-util.js.map +1 -1
  31. data/lib/assets/javascripts/bootstrap/mekari-ui-util.min.js +1 -1
  32. data/lib/assets/javascripts/components/mekari-ui-index.js +1 -2
  33. data/lib/assets/javascripts/components/mekari-ui-index.js.map +1 -1
  34. data/lib/assets/javascripts/components/mekari-ui-index.min.js +1 -1
  35. data/lib/assets/javascripts/components/mekari-ui-index.min.js.map +1 -1
  36. data/lib/assets/javascripts/mekari-ui.bundle.js +750 -1544
  37. data/lib/assets/javascripts/mekari-ui.bundle.js.map +1 -1
  38. data/lib/assets/javascripts/mekari-ui.bundle.min.js +2 -2
  39. data/lib/assets/javascripts/mekari-ui.bundle.min.js.map +1 -1
  40. data/lib/assets/javascripts/mekari-ui.js +750 -1544
  41. data/lib/assets/javascripts/mekari-ui.js.map +1 -1
  42. data/lib/assets/javascripts/mekari-ui.min.js +2 -2
  43. data/lib/assets/javascripts/mekari-ui.min.js.map +1 -1
  44. data/lib/assets/stylesheets/css/components/mekari-ui-alert-min.css +1 -1
  45. data/lib/assets/stylesheets/css/components/mekari-ui-alert-min.css.map +1 -1
  46. data/lib/assets/stylesheets/css/components/mekari-ui-alert.css +7 -5
  47. data/lib/assets/stylesheets/css/components/mekari-ui-alert.css.map +1 -1
  48. data/lib/assets/stylesheets/css/components/mekari-ui-avatar-min.css +1 -1
  49. data/lib/assets/stylesheets/css/components/mekari-ui-avatar-min.css.map +1 -1
  50. data/lib/assets/stylesheets/css/components/mekari-ui-avatar.css +638 -42
  51. data/lib/assets/stylesheets/css/components/mekari-ui-avatar.css.map +1 -1
  52. data/lib/assets/stylesheets/css/components/mekari-ui-badge-min.css +1 -1
  53. data/lib/assets/stylesheets/css/components/mekari-ui-badge-min.css.map +1 -1
  54. data/lib/assets/stylesheets/css/components/mekari-ui-badge.css +4 -6
  55. data/lib/assets/stylesheets/css/components/mekari-ui-badge.css.map +1 -1
  56. data/lib/assets/stylesheets/css/components/mekari-ui-button-min.css +1 -1
  57. data/lib/assets/stylesheets/css/components/mekari-ui-button-min.css.map +1 -1
  58. data/lib/assets/stylesheets/css/components/mekari-ui-button.css +143 -44
  59. data/lib/assets/stylesheets/css/components/mekari-ui-button.css.map +1 -1
  60. data/lib/assets/stylesheets/css/components/mekari-ui-dropdown-min.css +1 -1
  61. data/lib/assets/stylesheets/css/components/mekari-ui-dropdown-min.css.map +1 -1
  62. data/lib/assets/stylesheets/css/components/mekari-ui-dropdown.css +38 -2
  63. data/lib/assets/stylesheets/css/components/mekari-ui-dropdown.css.map +1 -1
  64. data/lib/assets/stylesheets/css/components/mekari-ui-form-min.css +1 -1
  65. data/lib/assets/stylesheets/css/components/mekari-ui-form-min.css.map +1 -1
  66. data/lib/assets/stylesheets/css/components/mekari-ui-form.css +9 -1
  67. data/lib/assets/stylesheets/css/components/mekari-ui-form.css.map +1 -1
  68. data/lib/assets/stylesheets/css/components/mekari-ui-icons-min.css +1 -1
  69. data/lib/assets/stylesheets/css/components/mekari-ui-icons-min.css.map +1 -1
  70. data/lib/assets/stylesheets/css/components/mekari-ui-icons.css +28 -6
  71. data/lib/assets/stylesheets/css/components/mekari-ui-icons.css.map +1 -1
  72. data/lib/assets/stylesheets/css/components/mekari-ui-modal-min.css.map +1 -1
  73. data/lib/assets/stylesheets/css/components/mekari-ui-modal.css.map +1 -1
  74. data/lib/assets/stylesheets/css/components/mekari-ui-navbar-min.css +1 -1
  75. data/lib/assets/stylesheets/css/components/mekari-ui-navbar-min.css.map +1 -1
  76. data/lib/assets/stylesheets/css/components/mekari-ui-navbar.css +2 -2
  77. data/lib/assets/stylesheets/css/components/mekari-ui-navbar.css.map +1 -1
  78. data/lib/assets/stylesheets/css/components/mekari-ui-reboot-bootstrap-min.css.map +1 -1
  79. data/lib/assets/stylesheets/css/components/mekari-ui-reboot-bootstrap.css.map +1 -1
  80. data/lib/assets/stylesheets/css/components/mekari-ui-shimmer-min.css +2 -0
  81. data/lib/assets/stylesheets/css/components/mekari-ui-shimmer-min.css.map +1 -0
  82. data/lib/assets/stylesheets/css/components/mekari-ui-shimmer.css +28 -0
  83. data/lib/assets/stylesheets/css/components/mekari-ui-shimmer.css.map +1 -0
  84. data/lib/assets/stylesheets/css/components/mekari-ui-tabs-min.css +1 -1
  85. data/lib/assets/stylesheets/css/components/mekari-ui-tabs-min.css.map +1 -1
  86. data/lib/assets/stylesheets/css/components/mekari-ui-tabs.css +68 -0
  87. data/lib/assets/stylesheets/css/components/mekari-ui-tabs.css.map +1 -1
  88. data/lib/assets/stylesheets/css/components/mekari-ui-tooltip-min.css +1 -1
  89. data/lib/assets/stylesheets/css/components/mekari-ui-tooltip-min.css.map +1 -1
  90. data/lib/assets/stylesheets/css/components/mekari-ui-tooltip.css +36 -0
  91. data/lib/assets/stylesheets/css/components/mekari-ui-tooltip.css.map +1 -1
  92. data/lib/assets/stylesheets/css/full-bundle/mekari-ui.css +909 -143
  93. data/lib/assets/stylesheets/css/full-bundle/mekari-ui.css.map +1 -1
  94. data/lib/assets/stylesheets/css/full-bundle/mekari-ui.min.css +1 -1
  95. data/lib/assets/stylesheets/css/full-bundle/mekari-ui.min.css.map +1 -1
  96. data/lib/assets/stylesheets/scss/base/_fonts.scss +2 -2
  97. data/lib/assets/stylesheets/scss/components/button.scss +1 -0
  98. data/lib/assets/stylesheets/scss/components/config/_alert.scss +7 -5
  99. data/lib/assets/stylesheets/scss/components/config/_avatar.scss +50 -22
  100. data/lib/assets/stylesheets/scss/components/config/_badge.scss +5 -7
  101. data/lib/assets/stylesheets/scss/components/config/_button.scss +80 -47
  102. data/lib/assets/stylesheets/scss/components/config/_dropdowns.scss +7 -2
  103. data/lib/assets/stylesheets/scss/components/config/_form.scss +7 -1
  104. data/lib/assets/stylesheets/scss/components/config/_icons.scss +13 -8
  105. data/lib/assets/stylesheets/scss/components/config/_shimmer.scss +16 -0
  106. data/lib/assets/stylesheets/scss/components/config/_tabs.scss +10 -0
  107. data/lib/assets/stylesheets/scss/components/config/_tooltip.scss +3 -0
  108. data/lib/assets/stylesheets/scss/components/dropdown.scss +1 -0
  109. data/lib/assets/stylesheets/scss/components/shimmer.scss +3 -0
  110. data/lib/assets/stylesheets/scss/components/tooltip.scss +1 -0
  111. data/lib/assets/stylesheets/scss/main.scss +1 -0
  112. data/lib/assets/stylesheets/scss/vendor-extensions/_navbar.scss +2 -2
  113. data/lib/assets/stylesheets/scss/vendors/_button-group.scss +1 -1
  114. data/lib/assets/stylesheets/scss/vendors/_dropdown.scss +1 -1
  115. data/lib/assets/stylesheets/scss/vendors/_modal.scss +4 -4
  116. data/lib/assets/stylesheets/scss/vendors/_nav.scss +2 -2
  117. data/lib/assets/stylesheets/scss/vendors/_navbar.scss +4 -4
  118. data/lib/assets/stylesheets/scss/vendors/_tooltip.scss +1 -1
  119. data/lib/assets/stylesheets/scss/vendors/_transitions.scss +5 -5
  120. data/lib/assets/stylesheets/scss/vendors/mixins/_buttons.scss +2 -2
  121. data/lib/assets/stylesheets/webfonts/Mekari-Icon-Regular.eot +0 -0
  122. data/lib/assets/stylesheets/webfonts/Mekari-Icon-Regular.svg +130 -128
  123. data/lib/assets/stylesheets/webfonts/Mekari-Icon-Regular.ttf +0 -0
  124. data/lib/assets/stylesheets/webfonts/Mekari-Icon-Regular.woff +0 -0
  125. data/lib/mekari_ui_toolkit/version.rb +1 -1
  126. metadata +9 -7
  127. data/lib/assets/javascripts/bootstrap/mekari-ui-carousel.js +0 -632
  128. data/lib/assets/javascripts/bootstrap/mekari-ui-carousel.js.map +0 -1
  129. data/lib/assets/javascripts/bootstrap/mekari-ui-carousel.min.js +0 -13
  130. data/lib/assets/javascripts/bootstrap/mekari-ui-carousel.min.js.map +0 -1
@@ -1,3 +1,3 @@
1
1
  module MekariUiToolkit
2
- VERSION = "1.0.8"
2
+ VERSION = "1.0.13"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mekari_ui_toolkit
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.8
4
+ version: 1.0.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rezky Pangestu Gunarso
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-08-19 00:00:00.000000000 Z
11
+ date: 2020-11-12 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Mekari ui toolkit is a base styling repository of general components
14
14
  in Mekari
@@ -25,10 +25,6 @@ files:
25
25
  - lib/assets/javascripts/bootstrap/mekari-ui-button.js.map
26
26
  - lib/assets/javascripts/bootstrap/mekari-ui-button.min.js
27
27
  - lib/assets/javascripts/bootstrap/mekari-ui-button.min.js.map
28
- - lib/assets/javascripts/bootstrap/mekari-ui-carousel.js
29
- - lib/assets/javascripts/bootstrap/mekari-ui-carousel.js.map
30
- - lib/assets/javascripts/bootstrap/mekari-ui-carousel.min.js
31
- - lib/assets/javascripts/bootstrap/mekari-ui-carousel.min.js.map
32
28
  - lib/assets/javascripts/bootstrap/mekari-ui-collapse.js
33
29
  - lib/assets/javascripts/bootstrap/mekari-ui-collapse.js.map
34
30
  - lib/assets/javascripts/bootstrap/mekari-ui-collapse.min.js
@@ -161,6 +157,10 @@ files:
161
157
  - lib/assets/stylesheets/css/components/mekari-ui-reboot-bootstrap-min.css.map
162
158
  - lib/assets/stylesheets/css/components/mekari-ui-reboot-bootstrap.css
163
159
  - lib/assets/stylesheets/css/components/mekari-ui-reboot-bootstrap.css.map
160
+ - lib/assets/stylesheets/css/components/mekari-ui-shimmer-min.css
161
+ - lib/assets/stylesheets/css/components/mekari-ui-shimmer-min.css.map
162
+ - lib/assets/stylesheets/css/components/mekari-ui-shimmer.css
163
+ - lib/assets/stylesheets/css/components/mekari-ui-shimmer.css.map
164
164
  - lib/assets/stylesheets/css/components/mekari-ui-spinners-min.css
165
165
  - lib/assets/stylesheets/css/components/mekari-ui-spinners-min.css.map
166
166
  - lib/assets/stylesheets/css/components/mekari-ui-spinners.css
@@ -226,6 +226,7 @@ files:
226
226
  - lib/assets/stylesheets/scss/components/config/_images.scss
227
227
  - lib/assets/stylesheets/scss/components/config/_modal.scss
228
228
  - lib/assets/stylesheets/scss/components/config/_pagination.scss
229
+ - lib/assets/stylesheets/scss/components/config/_shimmer.scss
229
230
  - lib/assets/stylesheets/scss/components/config/_tables.scss
230
231
  - lib/assets/stylesheets/scss/components/config/_tabs.scss
231
232
  - lib/assets/stylesheets/scss/components/config/_tooltip.scss
@@ -241,6 +242,7 @@ files:
241
242
  - lib/assets/stylesheets/scss/components/popover.scss
242
243
  - lib/assets/stylesheets/scss/components/progress.scss
243
244
  - lib/assets/stylesheets/scss/components/reboot-bootstrap.scss
245
+ - lib/assets/stylesheets/scss/components/shimmer.scss
244
246
  - lib/assets/stylesheets/scss/components/spinners.scss
245
247
  - lib/assets/stylesheets/scss/components/tables.scss
246
248
  - lib/assets/stylesheets/scss/components/tabs.scss
@@ -393,7 +395,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
393
395
  requirements:
394
396
  - - ">="
395
397
  - !ruby/object:Gem::Version
396
- version: '0'
398
+ version: 2.0.0
397
399
  required_rubygems_version: !ruby/object:Gem::Requirement
398
400
  requirements:
399
401
  - - ">="
@@ -1,632 +0,0 @@
1
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
2
-
3
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
4
-
5
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
-
7
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
8
-
9
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
10
-
11
- /*!
12
- * Mekari UI carousel.js v1.0.0-beta (https://bitbucket.org/mekariuitoolkit/mekari-ui-toolkit#readme)
13
- * Copyright 2011-2020 Mekari
14
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
15
- */
16
- (function (global, factory) {
17
- typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('./util.js')) : typeof define === 'function' && define.amd ? define(['jquery', './util.js'], factory) : (global = global || self, global.Carousel = factory(global.jQuery, global.Util));
18
- })(this, function ($, Util) {
19
- 'use strict';
20
-
21
- $ = $ && $.hasOwnProperty('default') ? $['default'] : $;
22
- Util = Util && Util.hasOwnProperty('default') ? Util['default'] : Util;
23
- /**
24
- * --------------------------------------------------------------------------
25
- * Bootstrap (v4.3.1): carousel.js
26
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
27
- * --------------------------------------------------------------------------
28
- */
29
-
30
- /**
31
- * ------------------------------------------------------------------------
32
- * Constants
33
- * ------------------------------------------------------------------------
34
- */
35
-
36
- var NAME = 'carousel';
37
- var VERSION = '4.3.1';
38
- var DATA_KEY = 'bs.carousel';
39
- var EVENT_KEY = "." + DATA_KEY;
40
- var DATA_API_KEY = '.data-api';
41
- var JQUERY_NO_CONFLICT = $.fn[NAME];
42
- var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key
43
-
44
- var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key
45
-
46
- var TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch
47
-
48
- var SWIPE_THRESHOLD = 40;
49
- var Default = {
50
- interval: 5000,
51
- keyboard: true,
52
- slide: false,
53
- pause: 'hover',
54
- wrap: true,
55
- touch: true
56
- };
57
- var DefaultType = {
58
- interval: '(number|boolean)',
59
- keyboard: 'boolean',
60
- slide: '(boolean|string)',
61
- pause: '(string|boolean)',
62
- wrap: 'boolean',
63
- touch: 'boolean'
64
- };
65
- var Direction = {
66
- NEXT: 'next',
67
- PREV: 'prev',
68
- LEFT: 'left',
69
- RIGHT: 'right'
70
- };
71
- var Event = {
72
- SLIDE: "slide" + EVENT_KEY,
73
- SLID: "slid" + EVENT_KEY,
74
- KEYDOWN: "keydown" + EVENT_KEY,
75
- MOUSEENTER: "mouseenter" + EVENT_KEY,
76
- MOUSELEAVE: "mouseleave" + EVENT_KEY,
77
- TOUCHSTART: "touchstart" + EVENT_KEY,
78
- TOUCHMOVE: "touchmove" + EVENT_KEY,
79
- TOUCHEND: "touchend" + EVENT_KEY,
80
- POINTERDOWN: "pointerdown" + EVENT_KEY,
81
- POINTERUP: "pointerup" + EVENT_KEY,
82
- DRAG_START: "dragstart" + EVENT_KEY,
83
- LOAD_DATA_API: "load" + EVENT_KEY + DATA_API_KEY,
84
- CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
85
- };
86
- var ClassName = {
87
- CAROUSEL: 'carousel',
88
- ACTIVE: 'active',
89
- SLIDE: 'slide',
90
- RIGHT: 'carousel-item-right',
91
- LEFT: 'carousel-item-left',
92
- NEXT: 'carousel-item-next',
93
- PREV: 'carousel-item-prev',
94
- ITEM: 'carousel-item',
95
- POINTER_EVENT: 'pointer-event'
96
- };
97
- var Selector = {
98
- ACTIVE: '.active',
99
- ACTIVE_ITEM: '.active.carousel-item',
100
- ITEM: '.carousel-item',
101
- ITEM_IMG: '.carousel-item img',
102
- NEXT_PREV: '.carousel-item-next, .carousel-item-prev',
103
- INDICATORS: '.carousel-indicators',
104
- DATA_SLIDE: '[data-slide], [data-slide-to]',
105
- DATA_RIDE: '[data-ride="carousel"]'
106
- };
107
- var PointerType = {
108
- TOUCH: 'touch',
109
- PEN: 'pen'
110
- };
111
- /**
112
- * ------------------------------------------------------------------------
113
- * Class Definition
114
- * ------------------------------------------------------------------------
115
- */
116
-
117
- var Carousel =
118
- /*#__PURE__*/
119
- function () {
120
- function Carousel(element, config) {
121
- this._items = null;
122
- this._interval = null;
123
- this._activeElement = null;
124
- this._isPaused = false;
125
- this._isSliding = false;
126
- this.touchTimeout = null;
127
- this.touchStartX = 0;
128
- this.touchDeltaX = 0;
129
- this._config = this._getConfig(config);
130
- this._element = element;
131
- this._indicatorsElement = this._element.querySelector(Selector.INDICATORS);
132
- this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0;
133
- this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent);
134
-
135
- this._addEventListeners();
136
- } // Getters
137
-
138
-
139
- var _proto = Carousel.prototype;
140
-
141
- // Public
142
- _proto.next = function next() {
143
- if (!this._isSliding) {
144
- this._slide(Direction.NEXT);
145
- }
146
- };
147
-
148
- _proto.nextWhenVisible = function nextWhenVisible() {
149
- // Don't call next when the page isn't visible
150
- // or the carousel or its parent isn't visible
151
- if (!document.hidden && $(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden') {
152
- this.next();
153
- }
154
- };
155
-
156
- _proto.prev = function prev() {
157
- if (!this._isSliding) {
158
- this._slide(Direction.PREV);
159
- }
160
- };
161
-
162
- _proto.pause = function pause(event) {
163
- if (!event) {
164
- this._isPaused = true;
165
- }
166
-
167
- if (this._element.querySelector(Selector.NEXT_PREV)) {
168
- Util.triggerTransitionEnd(this._element);
169
- this.cycle(true);
170
- }
171
-
172
- clearInterval(this._interval);
173
- this._interval = null;
174
- };
175
-
176
- _proto.cycle = function cycle(event) {
177
- if (!event) {
178
- this._isPaused = false;
179
- }
180
-
181
- if (this._interval) {
182
- clearInterval(this._interval);
183
- this._interval = null;
184
- }
185
-
186
- if (this._config.interval && !this._isPaused) {
187
- this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval);
188
- }
189
- };
190
-
191
- _proto.to = function to(index) {
192
- var _this = this;
193
-
194
- this._activeElement = this._element.querySelector(Selector.ACTIVE_ITEM);
195
-
196
- var activeIndex = this._getItemIndex(this._activeElement);
197
-
198
- if (index > this._items.length - 1 || index < 0) {
199
- return;
200
- }
201
-
202
- if (this._isSliding) {
203
- $(this._element).one(Event.SLID, function () {
204
- return _this.to(index);
205
- });
206
- return;
207
- }
208
-
209
- if (activeIndex === index) {
210
- this.pause();
211
- this.cycle();
212
- return;
213
- }
214
-
215
- var direction = index > activeIndex ? Direction.NEXT : Direction.PREV;
216
-
217
- this._slide(direction, this._items[index]);
218
- };
219
-
220
- _proto.dispose = function dispose() {
221
- $(this._element).off(EVENT_KEY);
222
- $.removeData(this._element, DATA_KEY);
223
- this._items = null;
224
- this._config = null;
225
- this._element = null;
226
- this._interval = null;
227
- this._isPaused = null;
228
- this._isSliding = null;
229
- this._activeElement = null;
230
- this._indicatorsElement = null;
231
- } // Private
232
- ;
233
-
234
- _proto._getConfig = function _getConfig(config) {
235
- config = _objectSpread({}, Default, {}, config);
236
- Util.typeCheckConfig(NAME, config, DefaultType);
237
- return config;
238
- };
239
-
240
- _proto._handleSwipe = function _handleSwipe() {
241
- var absDeltax = Math.abs(this.touchDeltaX);
242
-
243
- if (absDeltax <= SWIPE_THRESHOLD) {
244
- return;
245
- }
246
-
247
- var direction = absDeltax / this.touchDeltaX; // swipe left
248
-
249
- if (direction > 0) {
250
- this.prev();
251
- } // swipe right
252
-
253
-
254
- if (direction < 0) {
255
- this.next();
256
- }
257
- };
258
-
259
- _proto._addEventListeners = function _addEventListeners() {
260
- var _this2 = this;
261
-
262
- if (this._config.keyboard) {
263
- $(this._element).on(Event.KEYDOWN, function (event) {
264
- return _this2._keydown(event);
265
- });
266
- }
267
-
268
- if (this._config.pause === 'hover') {
269
- $(this._element).on(Event.MOUSEENTER, function (event) {
270
- return _this2.pause(event);
271
- }).on(Event.MOUSELEAVE, function (event) {
272
- return _this2.cycle(event);
273
- });
274
- }
275
-
276
- if (this._config.touch) {
277
- this._addTouchEventListeners();
278
- }
279
- };
280
-
281
- _proto._addTouchEventListeners = function _addTouchEventListeners() {
282
- var _this3 = this;
283
-
284
- if (!this._touchSupported) {
285
- return;
286
- }
287
-
288
- var start = function start(event) {
289
- if (_this3._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {
290
- _this3.touchStartX = event.originalEvent.clientX;
291
- } else if (!_this3._pointerEvent) {
292
- _this3.touchStartX = event.originalEvent.touches[0].clientX;
293
- }
294
- };
295
-
296
- var move = function move(event) {
297
- // ensure swiping with one touch and not pinching
298
- if (event.originalEvent.touches && event.originalEvent.touches.length > 1) {
299
- _this3.touchDeltaX = 0;
300
- } else {
301
- _this3.touchDeltaX = event.originalEvent.touches[0].clientX - _this3.touchStartX;
302
- }
303
- };
304
-
305
- var end = function end(event) {
306
- if (_this3._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {
307
- _this3.touchDeltaX = event.originalEvent.clientX - _this3.touchStartX;
308
- }
309
-
310
- _this3._handleSwipe();
311
-
312
- if (_this3._config.pause === 'hover') {
313
- // If it's a touch-enabled device, mouseenter/leave are fired as
314
- // part of the mouse compatibility events on first tap - the carousel
315
- // would stop cycling until user tapped out of it;
316
- // here, we listen for touchend, explicitly pause the carousel
317
- // (as if it's the second time we tap on it, mouseenter compat event
318
- // is NOT fired) and after a timeout (to allow for mouse compatibility
319
- // events to fire) we explicitly restart cycling
320
- _this3.pause();
321
-
322
- if (_this3.touchTimeout) {
323
- clearTimeout(_this3.touchTimeout);
324
- }
325
-
326
- _this3.touchTimeout = setTimeout(function (event) {
327
- return _this3.cycle(event);
328
- }, TOUCHEVENT_COMPAT_WAIT + _this3._config.interval);
329
- }
330
- };
331
-
332
- $(this._element.querySelectorAll(Selector.ITEM_IMG)).on(Event.DRAG_START, function (e) {
333
- return e.preventDefault();
334
- });
335
-
336
- if (this._pointerEvent) {
337
- $(this._element).on(Event.POINTERDOWN, function (event) {
338
- return start(event);
339
- });
340
- $(this._element).on(Event.POINTERUP, function (event) {
341
- return end(event);
342
- });
343
-
344
- this._element.classList.add(ClassName.POINTER_EVENT);
345
- } else {
346
- $(this._element).on(Event.TOUCHSTART, function (event) {
347
- return start(event);
348
- });
349
- $(this._element).on(Event.TOUCHMOVE, function (event) {
350
- return move(event);
351
- });
352
- $(this._element).on(Event.TOUCHEND, function (event) {
353
- return end(event);
354
- });
355
- }
356
- };
357
-
358
- _proto._keydown = function _keydown(event) {
359
- if (/input|textarea/i.test(event.target.tagName)) {
360
- return;
361
- }
362
-
363
- switch (event.which) {
364
- case ARROW_LEFT_KEYCODE:
365
- event.preventDefault();
366
- this.prev();
367
- break;
368
-
369
- case ARROW_RIGHT_KEYCODE:
370
- event.preventDefault();
371
- this.next();
372
- break;
373
-
374
- default:
375
- }
376
- };
377
-
378
- _proto._getItemIndex = function _getItemIndex(element) {
379
- this._items = element && element.parentNode ? [].slice.call(element.parentNode.querySelectorAll(Selector.ITEM)) : [];
380
- return this._items.indexOf(element);
381
- };
382
-
383
- _proto._getItemByDirection = function _getItemByDirection(direction, activeElement) {
384
- var isNextDirection = direction === Direction.NEXT;
385
- var isPrevDirection = direction === Direction.PREV;
386
-
387
- var activeIndex = this._getItemIndex(activeElement);
388
-
389
- var lastItemIndex = this._items.length - 1;
390
- var isGoingToWrap = isPrevDirection && activeIndex === 0 || isNextDirection && activeIndex === lastItemIndex;
391
-
392
- if (isGoingToWrap && !this._config.wrap) {
393
- return activeElement;
394
- }
395
-
396
- var delta = direction === Direction.PREV ? -1 : 1;
397
- var itemIndex = (activeIndex + delta) % this._items.length;
398
- return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex];
399
- };
400
-
401
- _proto._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) {
402
- var targetIndex = this._getItemIndex(relatedTarget);
403
-
404
- var fromIndex = this._getItemIndex(this._element.querySelector(Selector.ACTIVE_ITEM));
405
-
406
- var slideEvent = $.Event(Event.SLIDE, {
407
- relatedTarget: relatedTarget,
408
- direction: eventDirectionName,
409
- from: fromIndex,
410
- to: targetIndex
411
- });
412
- $(this._element).trigger(slideEvent);
413
- return slideEvent;
414
- };
415
-
416
- _proto._setActiveIndicatorElement = function _setActiveIndicatorElement(element) {
417
- if (this._indicatorsElement) {
418
- var indicators = [].slice.call(this._indicatorsElement.querySelectorAll(Selector.ACTIVE));
419
- $(indicators).removeClass(ClassName.ACTIVE);
420
-
421
- var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)];
422
-
423
- if (nextIndicator) {
424
- $(nextIndicator).addClass(ClassName.ACTIVE);
425
- }
426
- }
427
- };
428
-
429
- _proto._slide = function _slide(direction, element) {
430
- var _this4 = this;
431
-
432
- var activeElement = this._element.querySelector(Selector.ACTIVE_ITEM);
433
-
434
- var activeElementIndex = this._getItemIndex(activeElement);
435
-
436
- var nextElement = element || activeElement && this._getItemByDirection(direction, activeElement);
437
-
438
- var nextElementIndex = this._getItemIndex(nextElement);
439
-
440
- var isCycling = Boolean(this._interval);
441
- var directionalClassName;
442
- var orderClassName;
443
- var eventDirectionName;
444
-
445
- if (direction === Direction.NEXT) {
446
- directionalClassName = ClassName.LEFT;
447
- orderClassName = ClassName.NEXT;
448
- eventDirectionName = Direction.LEFT;
449
- } else {
450
- directionalClassName = ClassName.RIGHT;
451
- orderClassName = ClassName.PREV;
452
- eventDirectionName = Direction.RIGHT;
453
- }
454
-
455
- if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {
456
- this._isSliding = false;
457
- return;
458
- }
459
-
460
- var slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName);
461
-
462
- if (slideEvent.isDefaultPrevented()) {
463
- return;
464
- }
465
-
466
- if (!activeElement || !nextElement) {
467
- // Some weirdness is happening, so we bail
468
- return;
469
- }
470
-
471
- this._isSliding = true;
472
-
473
- if (isCycling) {
474
- this.pause();
475
- }
476
-
477
- this._setActiveIndicatorElement(nextElement);
478
-
479
- var slidEvent = $.Event(Event.SLID, {
480
- relatedTarget: nextElement,
481
- direction: eventDirectionName,
482
- from: activeElementIndex,
483
- to: nextElementIndex
484
- });
485
-
486
- if ($(this._element).hasClass(ClassName.SLIDE)) {
487
- $(nextElement).addClass(orderClassName);
488
- Util.reflow(nextElement);
489
- $(activeElement).addClass(directionalClassName);
490
- $(nextElement).addClass(directionalClassName);
491
- var nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10);
492
-
493
- if (nextElementInterval) {
494
- this._config.defaultInterval = this._config.defaultInterval || this._config.interval;
495
- this._config.interval = nextElementInterval;
496
- } else {
497
- this._config.interval = this._config.defaultInterval || this._config.interval;
498
- }
499
-
500
- var transitionDuration = Util.getTransitionDurationFromElement(activeElement);
501
- $(activeElement).one(Util.TRANSITION_END, function () {
502
- $(nextElement).removeClass(directionalClassName + " " + orderClassName).addClass(ClassName.ACTIVE);
503
- $(activeElement).removeClass(ClassName.ACTIVE + " " + orderClassName + " " + directionalClassName);
504
- _this4._isSliding = false;
505
- setTimeout(function () {
506
- return $(_this4._element).trigger(slidEvent);
507
- }, 0);
508
- }).emulateTransitionEnd(transitionDuration);
509
- } else {
510
- $(activeElement).removeClass(ClassName.ACTIVE);
511
- $(nextElement).addClass(ClassName.ACTIVE);
512
- this._isSliding = false;
513
- $(this._element).trigger(slidEvent);
514
- }
515
-
516
- if (isCycling) {
517
- this.cycle();
518
- }
519
- } // Static
520
- ;
521
-
522
- Carousel._jQueryInterface = function _jQueryInterface(config) {
523
- return this.each(function () {
524
- var data = $(this).data(DATA_KEY);
525
-
526
- var _config = _objectSpread({}, Default, {}, $(this).data());
527
-
528
- if (typeof config === 'object') {
529
- _config = _objectSpread({}, _config, {}, config);
530
- }
531
-
532
- var action = typeof config === 'string' ? config : _config.slide;
533
-
534
- if (!data) {
535
- data = new Carousel(this, _config);
536
- $(this).data(DATA_KEY, data);
537
- }
538
-
539
- if (typeof config === 'number') {
540
- data.to(config);
541
- } else if (typeof action === 'string') {
542
- if (typeof data[action] === 'undefined') {
543
- throw new TypeError("No method named \"" + action + "\"");
544
- }
545
-
546
- data[action]();
547
- } else if (_config.interval && _config.ride) {
548
- data.pause();
549
- data.cycle();
550
- }
551
- });
552
- };
553
-
554
- Carousel._dataApiClickHandler = function _dataApiClickHandler(event) {
555
- var selector = Util.getSelectorFromElement(this);
556
-
557
- if (!selector) {
558
- return;
559
- }
560
-
561
- var target = $(selector)[0];
562
-
563
- if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {
564
- return;
565
- }
566
-
567
- var config = _objectSpread({}, $(target).data(), {}, $(this).data());
568
-
569
- var slideIndex = this.getAttribute('data-slide-to');
570
-
571
- if (slideIndex) {
572
- config.interval = false;
573
- }
574
-
575
- Carousel._jQueryInterface.call($(target), config);
576
-
577
- if (slideIndex) {
578
- $(target).data(DATA_KEY).to(slideIndex);
579
- }
580
-
581
- event.preventDefault();
582
- };
583
-
584
- _createClass(Carousel, null, [{
585
- key: "VERSION",
586
- get: function get() {
587
- return VERSION;
588
- }
589
- }, {
590
- key: "Default",
591
- get: function get() {
592
- return Default;
593
- }
594
- }]);
595
-
596
- return Carousel;
597
- }();
598
- /**
599
- * ------------------------------------------------------------------------
600
- * Data Api implementation
601
- * ------------------------------------------------------------------------
602
- */
603
-
604
-
605
- $(document).on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler);
606
- $(window).on(Event.LOAD_DATA_API, function () {
607
- var carousels = [].slice.call(document.querySelectorAll(Selector.DATA_RIDE));
608
-
609
- for (var i = 0, len = carousels.length; i < len; i++) {
610
- var $carousel = $(carousels[i]);
611
-
612
- Carousel._jQueryInterface.call($carousel, $carousel.data());
613
- }
614
- });
615
- /**
616
- * ------------------------------------------------------------------------
617
- * jQuery
618
- * ------------------------------------------------------------------------
619
- */
620
-
621
- $.fn[NAME] = Carousel._jQueryInterface;
622
- $.fn[NAME].Constructor = Carousel;
623
-
624
- $.fn[NAME].noConflict = function () {
625
- $.fn[NAME] = JQUERY_NO_CONFLICT;
626
- return Carousel._jQueryInterface;
627
- };
628
-
629
- return Carousel;
630
- });
631
-
632
- //# sourceMappingURL=mekari-ui-carousel.js.map