my_assets 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (114) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +21 -0
  3. data/README.md +43 -0
  4. data/lib/my_assets/version.rb +3 -0
  5. data/lib/my_assets.rb +7 -0
  6. data/vendor/assets/fonts/FontAwesome.otf +0 -0
  7. data/vendor/assets/fonts/fontawesome-webfont.eot +0 -0
  8. data/vendor/assets/fonts/fontawesome-webfont.svg +2671 -0
  9. data/vendor/assets/fonts/fontawesome-webfont.ttf +0 -0
  10. data/vendor/assets/fonts/fontawesome-webfont.woff +0 -0
  11. data/vendor/assets/fonts/fontawesome-webfont.woff2 +0 -0
  12. data/vendor/assets/javascripts/bootstrap/alert.js +203 -0
  13. data/vendor/assets/javascripts/bootstrap/button.js +191 -0
  14. data/vendor/assets/javascripts/bootstrap/carousel.js +566 -0
  15. data/vendor/assets/javascripts/bootstrap/collapse.js +430 -0
  16. data/vendor/assets/javascripts/bootstrap/dropdown.js +551 -0
  17. data/vendor/assets/javascripts/bootstrap/modal.js +633 -0
  18. data/vendor/assets/javascripts/bootstrap/popover.js +265 -0
  19. data/vendor/assets/javascripts/bootstrap/scrollspy.js +378 -0
  20. data/vendor/assets/javascripts/bootstrap/tab.js +277 -0
  21. data/vendor/assets/javascripts/bootstrap/tooltip.js +733 -0
  22. data/vendor/assets/javascripts/bootstrap/util.js +143 -0
  23. data/vendor/assets/javascripts/bootstrap.js +6 -0
  24. data/vendor/assets/javascripts/data-confirm-modal.js +351 -0
  25. data/vendor/assets/javascripts/datatables.js +360 -0
  26. data/vendor/assets/javascripts/jquery.js +4 -0
  27. data/vendor/assets/javascripts/notify.js +625 -0
  28. data/vendor/assets/javascripts/popper.js +5 -0
  29. data/vendor/assets/javascripts/select2.js +1 -0
  30. data/vendor/assets/stylesheets/bootstrap/_alert.scss +51 -0
  31. data/vendor/assets/stylesheets/bootstrap/_badge.scss +47 -0
  32. data/vendor/assets/stylesheets/bootstrap/_breadcrumb.scss +41 -0
  33. data/vendor/assets/stylesheets/bootstrap/_button-group.scss +172 -0
  34. data/vendor/assets/stylesheets/bootstrap/_buttons.scss +143 -0
  35. data/vendor/assets/stylesheets/bootstrap/_card.scss +301 -0
  36. data/vendor/assets/stylesheets/bootstrap/_carousel.scss +236 -0
  37. data/vendor/assets/stylesheets/bootstrap/_close.scss +35 -0
  38. data/vendor/assets/stylesheets/bootstrap/_code.scss +48 -0
  39. data/vendor/assets/stylesheets/bootstrap/_custom-forms.scss +433 -0
  40. data/vendor/assets/stylesheets/bootstrap/_dropdown.scss +166 -0
  41. data/vendor/assets/stylesheets/bootstrap/_forms.scss +333 -0
  42. data/vendor/assets/stylesheets/bootstrap/_functions.scss +86 -0
  43. data/vendor/assets/stylesheets/bootstrap/_grid.scss +52 -0
  44. data/vendor/assets/stylesheets/bootstrap/_images.scss +42 -0
  45. data/vendor/assets/stylesheets/bootstrap/_input-group.scss +173 -0
  46. data/vendor/assets/stylesheets/bootstrap/_jumbotron.scss +16 -0
  47. data/vendor/assets/stylesheets/bootstrap/_list-group.scss +115 -0
  48. data/vendor/assets/stylesheets/bootstrap/_media.scss +8 -0
  49. data/vendor/assets/stylesheets/bootstrap/_mixins.scss +41 -0
  50. data/vendor/assets/stylesheets/bootstrap/_modal.scss +180 -0
  51. data/vendor/assets/stylesheets/bootstrap/_nav.scss +118 -0
  52. data/vendor/assets/stylesheets/bootstrap/_navbar.scss +299 -0
  53. data/vendor/assets/stylesheets/bootstrap/_pagination.scss +78 -0
  54. data/vendor/assets/stylesheets/bootstrap/_popover.scss +183 -0
  55. data/vendor/assets/stylesheets/bootstrap/_print.scss +141 -0
  56. data/vendor/assets/stylesheets/bootstrap/_progress.scss +34 -0
  57. data/vendor/assets/stylesheets/bootstrap/_reboot.scss +483 -0
  58. data/vendor/assets/stylesheets/bootstrap/_root.scss +19 -0
  59. data/vendor/assets/stylesheets/bootstrap/_tables.scss +187 -0
  60. data/vendor/assets/stylesheets/bootstrap/_tooltip.scss +115 -0
  61. data/vendor/assets/stylesheets/bootstrap/_transitions.scss +22 -0
  62. data/vendor/assets/stylesheets/bootstrap/_type.scss +125 -0
  63. data/vendor/assets/stylesheets/bootstrap/_utilities.scss +15 -0
  64. data/vendor/assets/stylesheets/bootstrap/_variables.scss +952 -0
  65. data/vendor/assets/stylesheets/bootstrap/mixins/_alert.scss +13 -0
  66. data/vendor/assets/stylesheets/bootstrap/mixins/_background-variant.scss +21 -0
  67. data/vendor/assets/stylesheets/bootstrap/mixins/_badge.scss +12 -0
  68. data/vendor/assets/stylesheets/bootstrap/mixins/_border-radius.scss +35 -0
  69. data/vendor/assets/stylesheets/bootstrap/mixins/_box-shadow.scss +5 -0
  70. data/vendor/assets/stylesheets/bootstrap/mixins/_breakpoints.scss +123 -0
  71. data/vendor/assets/stylesheets/bootstrap/mixins/_buttons.scss +109 -0
  72. data/vendor/assets/stylesheets/bootstrap/mixins/_caret.scss +66 -0
  73. data/vendor/assets/stylesheets/bootstrap/mixins/_clearfix.scss +7 -0
  74. data/vendor/assets/stylesheets/bootstrap/mixins/_float.scss +11 -0
  75. data/vendor/assets/stylesheets/bootstrap/mixins/_forms.scss +147 -0
  76. data/vendor/assets/stylesheets/bootstrap/mixins/_gradients.scss +45 -0
  77. data/vendor/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +67 -0
  78. data/vendor/assets/stylesheets/bootstrap/mixins/_grid.scss +52 -0
  79. data/vendor/assets/stylesheets/bootstrap/mixins/_hover.scss +37 -0
  80. data/vendor/assets/stylesheets/bootstrap/mixins/_image.scss +36 -0
  81. data/vendor/assets/stylesheets/bootstrap/mixins/_list-group.scss +21 -0
  82. data/vendor/assets/stylesheets/bootstrap/mixins/_lists.scss +7 -0
  83. data/vendor/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +10 -0
  84. data/vendor/assets/stylesheets/bootstrap/mixins/_pagination.scss +22 -0
  85. data/vendor/assets/stylesheets/bootstrap/mixins/_reset-text.scss +17 -0
  86. data/vendor/assets/stylesheets/bootstrap/mixins/_resize.scss +6 -0
  87. data/vendor/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +33 -0
  88. data/vendor/assets/stylesheets/bootstrap/mixins/_size.scss +6 -0
  89. data/vendor/assets/stylesheets/bootstrap/mixins/_table-row.scss +30 -0
  90. data/vendor/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +14 -0
  91. data/vendor/assets/stylesheets/bootstrap/mixins/_text-hide.scss +13 -0
  92. data/vendor/assets/stylesheets/bootstrap/mixins/_text-truncate.scss +8 -0
  93. data/vendor/assets/stylesheets/bootstrap/mixins/_transition.scss +13 -0
  94. data/vendor/assets/stylesheets/bootstrap/mixins/_visibility.scss +7 -0
  95. data/vendor/assets/stylesheets/bootstrap/utilities/_align.scss +8 -0
  96. data/vendor/assets/stylesheets/bootstrap/utilities/_background.scss +19 -0
  97. data/vendor/assets/stylesheets/bootstrap/utilities/_borders.scss +59 -0
  98. data/vendor/assets/stylesheets/bootstrap/utilities/_clearfix.scss +3 -0
  99. data/vendor/assets/stylesheets/bootstrap/utilities/_display.scss +38 -0
  100. data/vendor/assets/stylesheets/bootstrap/utilities/_embed.scss +52 -0
  101. data/vendor/assets/stylesheets/bootstrap/utilities/_flex.scss +51 -0
  102. data/vendor/assets/stylesheets/bootstrap/utilities/_float.scss +9 -0
  103. data/vendor/assets/stylesheets/bootstrap/utilities/_position.scss +37 -0
  104. data/vendor/assets/stylesheets/bootstrap/utilities/_screenreaders.scss +11 -0
  105. data/vendor/assets/stylesheets/bootstrap/utilities/_shadows.scss +6 -0
  106. data/vendor/assets/stylesheets/bootstrap/utilities/_sizing.scss +12 -0
  107. data/vendor/assets/stylesheets/bootstrap/utilities/_spacing.scss +51 -0
  108. data/vendor/assets/stylesheets/bootstrap/utilities/_text.scss +58 -0
  109. data/vendor/assets/stylesheets/bootstrap/utilities/_visibility.scss +11 -0
  110. data/vendor/assets/stylesheets/bootstrap.scss +42 -0
  111. data/vendor/assets/stylesheets/datatables.css +1004 -0
  112. data/vendor/assets/stylesheets/font-awesome.css.erb +2342 -0
  113. data/vendor/assets/stylesheets/select2.css +484 -0
  114. metadata +186 -0
@@ -0,0 +1,551 @@
1
+ (function (global, factory) {
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('popper.js'), require('./util.js')) :
3
+ typeof define === 'function' && define.amd ? define(['jquery', 'popper.js', './util.js'], factory) :
4
+ (global.Dropdown = factory(global.jQuery,global.Popper,global.Util));
5
+ }(this, (function ($,Popper,Util) { 'use strict';
6
+
7
+ $ = $ && $.hasOwnProperty('default') ? $['default'] : $;
8
+ Popper = Popper && Popper.hasOwnProperty('default') ? Popper['default'] : Popper;
9
+ Util = Util && Util.hasOwnProperty('default') ? Util['default'] : Util;
10
+
11
+ function _defineProperties(target, props) {
12
+ for (var i = 0; i < props.length; i++) {
13
+ var descriptor = props[i];
14
+ descriptor.enumerable = descriptor.enumerable || false;
15
+ descriptor.configurable = true;
16
+ if ("value" in descriptor) descriptor.writable = true;
17
+ Object.defineProperty(target, descriptor.key, descriptor);
18
+ }
19
+ }
20
+
21
+ function _createClass(Constructor, protoProps, staticProps) {
22
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
23
+ if (staticProps) _defineProperties(Constructor, staticProps);
24
+ return Constructor;
25
+ }
26
+
27
+ function _defineProperty(obj, key, value) {
28
+ if (key in obj) {
29
+ Object.defineProperty(obj, key, {
30
+ value: value,
31
+ enumerable: true,
32
+ configurable: true,
33
+ writable: true
34
+ });
35
+ } else {
36
+ obj[key] = value;
37
+ }
38
+
39
+ return obj;
40
+ }
41
+
42
+ function _objectSpread(target) {
43
+ for (var i = 1; i < arguments.length; i++) {
44
+ var source = arguments[i] != null ? arguments[i] : {};
45
+ var ownKeys = Object.keys(source);
46
+
47
+ if (typeof Object.getOwnPropertySymbols === 'function') {
48
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {
49
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
50
+ }));
51
+ }
52
+
53
+ ownKeys.forEach(function (key) {
54
+ _defineProperty(target, key, source[key]);
55
+ });
56
+ }
57
+
58
+ return target;
59
+ }
60
+
61
+ /**
62
+ * --------------------------------------------------------------------------
63
+ * Bootstrap (v4.1.3): dropdown.js
64
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
65
+ * --------------------------------------------------------------------------
66
+ */
67
+
68
+ var Dropdown = function ($$$1) {
69
+ /**
70
+ * ------------------------------------------------------------------------
71
+ * Constants
72
+ * ------------------------------------------------------------------------
73
+ */
74
+ var NAME = 'dropdown';
75
+ var VERSION = '4.1.3';
76
+ var DATA_KEY = 'bs.dropdown';
77
+ var EVENT_KEY = "." + DATA_KEY;
78
+ var DATA_API_KEY = '.data-api';
79
+ var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
80
+ var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
81
+
82
+ var SPACE_KEYCODE = 32; // KeyboardEvent.which value for space key
83
+
84
+ var TAB_KEYCODE = 9; // KeyboardEvent.which value for tab key
85
+
86
+ var ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key
87
+
88
+ var ARROW_DOWN_KEYCODE = 40; // KeyboardEvent.which value for down arrow key
89
+
90
+ var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse)
91
+
92
+ var REGEXP_KEYDOWN = new RegExp(ARROW_UP_KEYCODE + "|" + ARROW_DOWN_KEYCODE + "|" + ESCAPE_KEYCODE);
93
+ var Event = {
94
+ HIDE: "hide" + EVENT_KEY,
95
+ HIDDEN: "hidden" + EVENT_KEY,
96
+ SHOW: "show" + EVENT_KEY,
97
+ SHOWN: "shown" + EVENT_KEY,
98
+ CLICK: "click" + EVENT_KEY,
99
+ CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY,
100
+ KEYDOWN_DATA_API: "keydown" + EVENT_KEY + DATA_API_KEY,
101
+ KEYUP_DATA_API: "keyup" + EVENT_KEY + DATA_API_KEY
102
+ };
103
+ var ClassName = {
104
+ DISABLED: 'disabled',
105
+ SHOW: 'show',
106
+ DROPUP: 'dropup',
107
+ DROPRIGHT: 'dropright',
108
+ DROPLEFT: 'dropleft',
109
+ MENURIGHT: 'dropdown-menu-right',
110
+ MENULEFT: 'dropdown-menu-left',
111
+ POSITION_STATIC: 'position-static'
112
+ };
113
+ var Selector = {
114
+ DATA_TOGGLE: '[data-toggle="dropdown"]',
115
+ FORM_CHILD: '.dropdown form',
116
+ MENU: '.dropdown-menu',
117
+ NAVBAR_NAV: '.navbar-nav',
118
+ VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'
119
+ };
120
+ var AttachmentMap = {
121
+ TOP: 'top-start',
122
+ TOPEND: 'top-end',
123
+ BOTTOM: 'bottom-start',
124
+ BOTTOMEND: 'bottom-end',
125
+ RIGHT: 'right-start',
126
+ RIGHTEND: 'right-end',
127
+ LEFT: 'left-start',
128
+ LEFTEND: 'left-end'
129
+ };
130
+ var Default = {
131
+ offset: 0,
132
+ flip: true,
133
+ boundary: 'scrollParent',
134
+ reference: 'toggle',
135
+ display: 'dynamic'
136
+ };
137
+ var DefaultType = {
138
+ offset: '(number|string|function)',
139
+ flip: 'boolean',
140
+ boundary: '(string|element)',
141
+ reference: '(string|element)',
142
+ display: 'string'
143
+ /**
144
+ * ------------------------------------------------------------------------
145
+ * Class Definition
146
+ * ------------------------------------------------------------------------
147
+ */
148
+
149
+ };
150
+
151
+ var Dropdown =
152
+ /*#__PURE__*/
153
+ function () {
154
+ function Dropdown(element, config) {
155
+ this._element = element;
156
+ this._popper = null;
157
+ this._config = this._getConfig(config);
158
+ this._menu = this._getMenuElement();
159
+ this._inNavbar = this._detectNavbar();
160
+
161
+ this._addEventListeners();
162
+ } // Getters
163
+
164
+
165
+ var _proto = Dropdown.prototype;
166
+
167
+ // Public
168
+ _proto.toggle = function toggle() {
169
+ if (this._element.disabled || $$$1(this._element).hasClass(ClassName.DISABLED)) {
170
+ return;
171
+ }
172
+
173
+ var parent = Dropdown._getParentFromElement(this._element);
174
+
175
+ var isActive = $$$1(this._menu).hasClass(ClassName.SHOW);
176
+
177
+ Dropdown._clearMenus();
178
+
179
+ if (isActive) {
180
+ return;
181
+ }
182
+
183
+ var relatedTarget = {
184
+ relatedTarget: this._element
185
+ };
186
+ var showEvent = $$$1.Event(Event.SHOW, relatedTarget);
187
+ $$$1(parent).trigger(showEvent);
188
+
189
+ if (showEvent.isDefaultPrevented()) {
190
+ return;
191
+ } // Disable totally Popper.js for Dropdown in Navbar
192
+
193
+
194
+ if (!this._inNavbar) {
195
+ /**
196
+ * Check for Popper dependency
197
+ * Popper - https://popper.js.org
198
+ */
199
+ if (typeof Popper === 'undefined') {
200
+ throw new TypeError('Bootstrap dropdown require Popper.js (https://popper.js.org)');
201
+ }
202
+
203
+ var referenceElement = this._element;
204
+
205
+ if (this._config.reference === 'parent') {
206
+ referenceElement = parent;
207
+ } else if (Util.isElement(this._config.reference)) {
208
+ referenceElement = this._config.reference; // Check if it's jQuery element
209
+
210
+ if (typeof this._config.reference.jquery !== 'undefined') {
211
+ referenceElement = this._config.reference[0];
212
+ }
213
+ } // If boundary is not `scrollParent`, then set position to `static`
214
+ // to allow the menu to "escape" the scroll parent's boundaries
215
+ // https://github.com/twbs/bootstrap/issues/24251
216
+
217
+
218
+ if (this._config.boundary !== 'scrollParent') {
219
+ $$$1(parent).addClass(ClassName.POSITION_STATIC);
220
+ }
221
+
222
+ this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig());
223
+ } // If this is a touch-enabled device we add extra
224
+ // empty mouseover listeners to the body's immediate children;
225
+ // only needed because of broken event delegation on iOS
226
+ // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
227
+
228
+
229
+ if ('ontouchstart' in document.documentElement && $$$1(parent).closest(Selector.NAVBAR_NAV).length === 0) {
230
+ $$$1(document.body).children().on('mouseover', null, $$$1.noop);
231
+ }
232
+
233
+ this._element.focus();
234
+
235
+ this._element.setAttribute('aria-expanded', true);
236
+
237
+ $$$1(this._menu).toggleClass(ClassName.SHOW);
238
+ $$$1(parent).toggleClass(ClassName.SHOW).trigger($$$1.Event(Event.SHOWN, relatedTarget));
239
+ };
240
+
241
+ _proto.dispose = function dispose() {
242
+ $$$1.removeData(this._element, DATA_KEY);
243
+ $$$1(this._element).off(EVENT_KEY);
244
+ this._element = null;
245
+ this._menu = null;
246
+
247
+ if (this._popper !== null) {
248
+ this._popper.destroy();
249
+
250
+ this._popper = null;
251
+ }
252
+ };
253
+
254
+ _proto.update = function update() {
255
+ this._inNavbar = this._detectNavbar();
256
+
257
+ if (this._popper !== null) {
258
+ this._popper.scheduleUpdate();
259
+ }
260
+ }; // Private
261
+
262
+
263
+ _proto._addEventListeners = function _addEventListeners() {
264
+ var _this = this;
265
+
266
+ $$$1(this._element).on(Event.CLICK, function (event) {
267
+ event.preventDefault();
268
+ event.stopPropagation();
269
+
270
+ _this.toggle();
271
+ });
272
+ };
273
+
274
+ _proto._getConfig = function _getConfig(config) {
275
+ config = _objectSpread({}, this.constructor.Default, $$$1(this._element).data(), config);
276
+ Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
277
+ return config;
278
+ };
279
+
280
+ _proto._getMenuElement = function _getMenuElement() {
281
+ if (!this._menu) {
282
+ var parent = Dropdown._getParentFromElement(this._element);
283
+
284
+ if (parent) {
285
+ this._menu = parent.querySelector(Selector.MENU);
286
+ }
287
+ }
288
+
289
+ return this._menu;
290
+ };
291
+
292
+ _proto._getPlacement = function _getPlacement() {
293
+ var $parentDropdown = $$$1(this._element.parentNode);
294
+ var placement = AttachmentMap.BOTTOM; // Handle dropup
295
+
296
+ if ($parentDropdown.hasClass(ClassName.DROPUP)) {
297
+ placement = AttachmentMap.TOP;
298
+
299
+ if ($$$1(this._menu).hasClass(ClassName.MENURIGHT)) {
300
+ placement = AttachmentMap.TOPEND;
301
+ }
302
+ } else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) {
303
+ placement = AttachmentMap.RIGHT;
304
+ } else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) {
305
+ placement = AttachmentMap.LEFT;
306
+ } else if ($$$1(this._menu).hasClass(ClassName.MENURIGHT)) {
307
+ placement = AttachmentMap.BOTTOMEND;
308
+ }
309
+
310
+ return placement;
311
+ };
312
+
313
+ _proto._detectNavbar = function _detectNavbar() {
314
+ return $$$1(this._element).closest('.navbar').length > 0;
315
+ };
316
+
317
+ _proto._getPopperConfig = function _getPopperConfig() {
318
+ var _this2 = this;
319
+
320
+ var offsetConf = {};
321
+
322
+ if (typeof this._config.offset === 'function') {
323
+ offsetConf.fn = function (data) {
324
+ data.offsets = _objectSpread({}, data.offsets, _this2._config.offset(data.offsets) || {});
325
+ return data;
326
+ };
327
+ } else {
328
+ offsetConf.offset = this._config.offset;
329
+ }
330
+
331
+ var popperConfig = {
332
+ placement: this._getPlacement(),
333
+ modifiers: {
334
+ offset: offsetConf,
335
+ flip: {
336
+ enabled: this._config.flip
337
+ },
338
+ preventOverflow: {
339
+ boundariesElement: this._config.boundary
340
+ }
341
+ } // Disable Popper.js if we have a static display
342
+
343
+ };
344
+
345
+ if (this._config.display === 'static') {
346
+ popperConfig.modifiers.applyStyle = {
347
+ enabled: false
348
+ };
349
+ }
350
+
351
+ return popperConfig;
352
+ }; // Static
353
+
354
+
355
+ Dropdown._jQueryInterface = function _jQueryInterface(config) {
356
+ return this.each(function () {
357
+ var data = $$$1(this).data(DATA_KEY);
358
+
359
+ var _config = typeof config === 'object' ? config : null;
360
+
361
+ if (!data) {
362
+ data = new Dropdown(this, _config);
363
+ $$$1(this).data(DATA_KEY, data);
364
+ }
365
+
366
+ if (typeof config === 'string') {
367
+ if (typeof data[config] === 'undefined') {
368
+ throw new TypeError("No method named \"" + config + "\"");
369
+ }
370
+
371
+ data[config]();
372
+ }
373
+ });
374
+ };
375
+
376
+ Dropdown._clearMenus = function _clearMenus(event) {
377
+ if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH || event.type === 'keyup' && event.which !== TAB_KEYCODE)) {
378
+ return;
379
+ }
380
+
381
+ var toggles = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE));
382
+
383
+ for (var i = 0, len = toggles.length; i < len; i++) {
384
+ var parent = Dropdown._getParentFromElement(toggles[i]);
385
+
386
+ var context = $$$1(toggles[i]).data(DATA_KEY);
387
+ var relatedTarget = {
388
+ relatedTarget: toggles[i]
389
+ };
390
+
391
+ if (event && event.type === 'click') {
392
+ relatedTarget.clickEvent = event;
393
+ }
394
+
395
+ if (!context) {
396
+ continue;
397
+ }
398
+
399
+ var dropdownMenu = context._menu;
400
+
401
+ if (!$$$1(parent).hasClass(ClassName.SHOW)) {
402
+ continue;
403
+ }
404
+
405
+ if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && $$$1.contains(parent, event.target)) {
406
+ continue;
407
+ }
408
+
409
+ var hideEvent = $$$1.Event(Event.HIDE, relatedTarget);
410
+ $$$1(parent).trigger(hideEvent);
411
+
412
+ if (hideEvent.isDefaultPrevented()) {
413
+ continue;
414
+ } // If this is a touch-enabled device we remove the extra
415
+ // empty mouseover listeners we added for iOS support
416
+
417
+
418
+ if ('ontouchstart' in document.documentElement) {
419
+ $$$1(document.body).children().off('mouseover', null, $$$1.noop);
420
+ }
421
+
422
+ toggles[i].setAttribute('aria-expanded', 'false');
423
+ $$$1(dropdownMenu).removeClass(ClassName.SHOW);
424
+ $$$1(parent).removeClass(ClassName.SHOW).trigger($$$1.Event(Event.HIDDEN, relatedTarget));
425
+ }
426
+ };
427
+
428
+ Dropdown._getParentFromElement = function _getParentFromElement(element) {
429
+ var parent;
430
+ var selector = Util.getSelectorFromElement(element);
431
+
432
+ if (selector) {
433
+ parent = document.querySelector(selector);
434
+ }
435
+
436
+ return parent || element.parentNode;
437
+ }; // eslint-disable-next-line complexity
438
+
439
+
440
+ Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) {
441
+ // If not input/textarea:
442
+ // - And not a key in REGEXP_KEYDOWN => not a dropdown command
443
+ // If input/textarea:
444
+ // - If space key => not a dropdown command
445
+ // - If key is other than escape
446
+ // - If key is not up or down => not a dropdown command
447
+ // - If trigger inside the menu => not a dropdown command
448
+ if (/input|textarea/i.test(event.target.tagName) ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE && (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE || $$$1(event.target).closest(Selector.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {
449
+ return;
450
+ }
451
+
452
+ event.preventDefault();
453
+ event.stopPropagation();
454
+
455
+ if (this.disabled || $$$1(this).hasClass(ClassName.DISABLED)) {
456
+ return;
457
+ }
458
+
459
+ var parent = Dropdown._getParentFromElement(this);
460
+
461
+ var isActive = $$$1(parent).hasClass(ClassName.SHOW);
462
+
463
+ if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {
464
+ if (event.which === ESCAPE_KEYCODE) {
465
+ var toggle = parent.querySelector(Selector.DATA_TOGGLE);
466
+ $$$1(toggle).trigger('focus');
467
+ }
468
+
469
+ $$$1(this).trigger('click');
470
+ return;
471
+ }
472
+
473
+ var items = [].slice.call(parent.querySelectorAll(Selector.VISIBLE_ITEMS));
474
+
475
+ if (items.length === 0) {
476
+ return;
477
+ }
478
+
479
+ var index = items.indexOf(event.target);
480
+
481
+ if (event.which === ARROW_UP_KEYCODE && index > 0) {
482
+ // Up
483
+ index--;
484
+ }
485
+
486
+ if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) {
487
+ // Down
488
+ index++;
489
+ }
490
+
491
+ if (index < 0) {
492
+ index = 0;
493
+ }
494
+
495
+ items[index].focus();
496
+ };
497
+
498
+ _createClass(Dropdown, null, [{
499
+ key: "VERSION",
500
+ get: function get() {
501
+ return VERSION;
502
+ }
503
+ }, {
504
+ key: "Default",
505
+ get: function get() {
506
+ return Default;
507
+ }
508
+ }, {
509
+ key: "DefaultType",
510
+ get: function get() {
511
+ return DefaultType;
512
+ }
513
+ }]);
514
+
515
+ return Dropdown;
516
+ }();
517
+ /**
518
+ * ------------------------------------------------------------------------
519
+ * Data Api implementation
520
+ * ------------------------------------------------------------------------
521
+ */
522
+
523
+
524
+ $$$1(document).on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler).on(Event.CLICK_DATA_API + " " + Event.KEYUP_DATA_API, Dropdown._clearMenus).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
525
+ event.preventDefault();
526
+ event.stopPropagation();
527
+
528
+ Dropdown._jQueryInterface.call($$$1(this), 'toggle');
529
+ }).on(Event.CLICK_DATA_API, Selector.FORM_CHILD, function (e) {
530
+ e.stopPropagation();
531
+ });
532
+ /**
533
+ * ------------------------------------------------------------------------
534
+ * jQuery
535
+ * ------------------------------------------------------------------------
536
+ */
537
+
538
+ $$$1.fn[NAME] = Dropdown._jQueryInterface;
539
+ $$$1.fn[NAME].Constructor = Dropdown;
540
+
541
+ $$$1.fn[NAME].noConflict = function () {
542
+ $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
543
+ return Dropdown._jQueryInterface;
544
+ };
545
+
546
+ return Dropdown;
547
+ }($, Popper);
548
+
549
+ return Dropdown;
550
+
551
+ })));