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,633 @@
1
+ (function (global, factory) {
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('./util.js')) :
3
+ typeof define === 'function' && define.amd ? define(['jquery', './util.js'], factory) :
4
+ (global.Modal = factory(global.jQuery,global.Util));
5
+ }(this, (function ($,Util) { 'use strict';
6
+
7
+ $ = $ && $.hasOwnProperty('default') ? $['default'] : $;
8
+ Util = Util && Util.hasOwnProperty('default') ? Util['default'] : Util;
9
+
10
+ function _defineProperties(target, props) {
11
+ for (var i = 0; i < props.length; i++) {
12
+ var descriptor = props[i];
13
+ descriptor.enumerable = descriptor.enumerable || false;
14
+ descriptor.configurable = true;
15
+ if ("value" in descriptor) descriptor.writable = true;
16
+ Object.defineProperty(target, descriptor.key, descriptor);
17
+ }
18
+ }
19
+
20
+ function _createClass(Constructor, protoProps, staticProps) {
21
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
22
+ if (staticProps) _defineProperties(Constructor, staticProps);
23
+ return Constructor;
24
+ }
25
+
26
+ function _defineProperty(obj, key, value) {
27
+ if (key in obj) {
28
+ Object.defineProperty(obj, key, {
29
+ value: value,
30
+ enumerable: true,
31
+ configurable: true,
32
+ writable: true
33
+ });
34
+ } else {
35
+ obj[key] = value;
36
+ }
37
+
38
+ return obj;
39
+ }
40
+
41
+ function _objectSpread(target) {
42
+ for (var i = 1; i < arguments.length; i++) {
43
+ var source = arguments[i] != null ? arguments[i] : {};
44
+ var ownKeys = Object.keys(source);
45
+
46
+ if (typeof Object.getOwnPropertySymbols === 'function') {
47
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {
48
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
49
+ }));
50
+ }
51
+
52
+ ownKeys.forEach(function (key) {
53
+ _defineProperty(target, key, source[key]);
54
+ });
55
+ }
56
+
57
+ return target;
58
+ }
59
+
60
+ /**
61
+ * --------------------------------------------------------------------------
62
+ * Bootstrap (v4.1.3): modal.js
63
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
64
+ * --------------------------------------------------------------------------
65
+ */
66
+
67
+ var Modal = function ($$$1) {
68
+ /**
69
+ * ------------------------------------------------------------------------
70
+ * Constants
71
+ * ------------------------------------------------------------------------
72
+ */
73
+ var NAME = 'modal';
74
+ var VERSION = '4.1.3';
75
+ var DATA_KEY = 'bs.modal';
76
+ var EVENT_KEY = "." + DATA_KEY;
77
+ var DATA_API_KEY = '.data-api';
78
+ var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
79
+ var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
80
+
81
+ var Default = {
82
+ backdrop: true,
83
+ keyboard: true,
84
+ focus: true,
85
+ show: true
86
+ };
87
+ var DefaultType = {
88
+ backdrop: '(boolean|string)',
89
+ keyboard: 'boolean',
90
+ focus: 'boolean',
91
+ show: 'boolean'
92
+ };
93
+ var Event = {
94
+ HIDE: "hide" + EVENT_KEY,
95
+ HIDDEN: "hidden" + EVENT_KEY,
96
+ SHOW: "show" + EVENT_KEY,
97
+ SHOWN: "shown" + EVENT_KEY,
98
+ FOCUSIN: "focusin" + EVENT_KEY,
99
+ RESIZE: "resize" + EVENT_KEY,
100
+ CLICK_DISMISS: "click.dismiss" + EVENT_KEY,
101
+ KEYDOWN_DISMISS: "keydown.dismiss" + EVENT_KEY,
102
+ MOUSEUP_DISMISS: "mouseup.dismiss" + EVENT_KEY,
103
+ MOUSEDOWN_DISMISS: "mousedown.dismiss" + EVENT_KEY,
104
+ CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
105
+ };
106
+ var ClassName = {
107
+ SCROLLBAR_MEASURER: 'modal-scrollbar-measure',
108
+ BACKDROP: 'modal-backdrop',
109
+ OPEN: 'modal-open',
110
+ FADE: 'fade',
111
+ SHOW: 'show'
112
+ };
113
+ var Selector = {
114
+ DIALOG: '.modal-dialog',
115
+ DATA_TOGGLE: '[data-toggle="modal"]',
116
+ DATA_DISMISS: '[data-dismiss="modal"]',
117
+ FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',
118
+ STICKY_CONTENT: '.sticky-top'
119
+ /**
120
+ * ------------------------------------------------------------------------
121
+ * Class Definition
122
+ * ------------------------------------------------------------------------
123
+ */
124
+
125
+ };
126
+
127
+ var Modal =
128
+ /*#__PURE__*/
129
+ function () {
130
+ function Modal(element, config) {
131
+ this._config = this._getConfig(config);
132
+ this._element = element;
133
+ this._dialog = element.querySelector(Selector.DIALOG);
134
+ this._backdrop = null;
135
+ this._isShown = false;
136
+ this._isBodyOverflowing = false;
137
+ this._ignoreBackdropClick = false;
138
+ this._scrollbarWidth = 0;
139
+ } // Getters
140
+
141
+
142
+ var _proto = Modal.prototype;
143
+
144
+ // Public
145
+ _proto.toggle = function toggle(relatedTarget) {
146
+ return this._isShown ? this.hide() : this.show(relatedTarget);
147
+ };
148
+
149
+ _proto.show = function show(relatedTarget) {
150
+ var _this = this;
151
+
152
+ if (this._isTransitioning || this._isShown) {
153
+ return;
154
+ }
155
+
156
+ if ($$$1(this._element).hasClass(ClassName.FADE)) {
157
+ this._isTransitioning = true;
158
+ }
159
+
160
+ var showEvent = $$$1.Event(Event.SHOW, {
161
+ relatedTarget: relatedTarget
162
+ });
163
+ $$$1(this._element).trigger(showEvent);
164
+
165
+ if (this._isShown || showEvent.isDefaultPrevented()) {
166
+ return;
167
+ }
168
+
169
+ this._isShown = true;
170
+
171
+ this._checkScrollbar();
172
+
173
+ this._setScrollbar();
174
+
175
+ this._adjustDialog();
176
+
177
+ $$$1(document.body).addClass(ClassName.OPEN);
178
+
179
+ this._setEscapeEvent();
180
+
181
+ this._setResizeEvent();
182
+
183
+ $$$1(this._element).on(Event.CLICK_DISMISS, Selector.DATA_DISMISS, function (event) {
184
+ return _this.hide(event);
185
+ });
186
+ $$$1(this._dialog).on(Event.MOUSEDOWN_DISMISS, function () {
187
+ $$$1(_this._element).one(Event.MOUSEUP_DISMISS, function (event) {
188
+ if ($$$1(event.target).is(_this._element)) {
189
+ _this._ignoreBackdropClick = true;
190
+ }
191
+ });
192
+ });
193
+
194
+ this._showBackdrop(function () {
195
+ return _this._showElement(relatedTarget);
196
+ });
197
+ };
198
+
199
+ _proto.hide = function hide(event) {
200
+ var _this2 = this;
201
+
202
+ if (event) {
203
+ event.preventDefault();
204
+ }
205
+
206
+ if (this._isTransitioning || !this._isShown) {
207
+ return;
208
+ }
209
+
210
+ var hideEvent = $$$1.Event(Event.HIDE);
211
+ $$$1(this._element).trigger(hideEvent);
212
+
213
+ if (!this._isShown || hideEvent.isDefaultPrevented()) {
214
+ return;
215
+ }
216
+
217
+ this._isShown = false;
218
+ var transition = $$$1(this._element).hasClass(ClassName.FADE);
219
+
220
+ if (transition) {
221
+ this._isTransitioning = true;
222
+ }
223
+
224
+ this._setEscapeEvent();
225
+
226
+ this._setResizeEvent();
227
+
228
+ $$$1(document).off(Event.FOCUSIN);
229
+ $$$1(this._element).removeClass(ClassName.SHOW);
230
+ $$$1(this._element).off(Event.CLICK_DISMISS);
231
+ $$$1(this._dialog).off(Event.MOUSEDOWN_DISMISS);
232
+
233
+ if (transition) {
234
+ var transitionDuration = Util.getTransitionDurationFromElement(this._element);
235
+ $$$1(this._element).one(Util.TRANSITION_END, function (event) {
236
+ return _this2._hideModal(event);
237
+ }).emulateTransitionEnd(transitionDuration);
238
+ } else {
239
+ this._hideModal();
240
+ }
241
+ };
242
+
243
+ _proto.dispose = function dispose() {
244
+ $$$1.removeData(this._element, DATA_KEY);
245
+ $$$1(window, document, this._element, this._backdrop).off(EVENT_KEY);
246
+ this._config = null;
247
+ this._element = null;
248
+ this._dialog = null;
249
+ this._backdrop = null;
250
+ this._isShown = null;
251
+ this._isBodyOverflowing = null;
252
+ this._ignoreBackdropClick = null;
253
+ this._scrollbarWidth = null;
254
+ };
255
+
256
+ _proto.handleUpdate = function handleUpdate() {
257
+ this._adjustDialog();
258
+ }; // Private
259
+
260
+
261
+ _proto._getConfig = function _getConfig(config) {
262
+ config = _objectSpread({}, Default, config);
263
+ Util.typeCheckConfig(NAME, config, DefaultType);
264
+ return config;
265
+ };
266
+
267
+ _proto._showElement = function _showElement(relatedTarget) {
268
+ var _this3 = this;
269
+
270
+ var transition = $$$1(this._element).hasClass(ClassName.FADE);
271
+
272
+ if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {
273
+ // Don't move modal's DOM position
274
+ document.body.appendChild(this._element);
275
+ }
276
+
277
+ this._element.style.display = 'block';
278
+
279
+ this._element.removeAttribute('aria-hidden');
280
+
281
+ this._element.scrollTop = 0;
282
+
283
+ if (transition) {
284
+ Util.reflow(this._element);
285
+ }
286
+
287
+ $$$1(this._element).addClass(ClassName.SHOW);
288
+
289
+ if (this._config.focus) {
290
+ this._enforceFocus();
291
+ }
292
+
293
+ var shownEvent = $$$1.Event(Event.SHOWN, {
294
+ relatedTarget: relatedTarget
295
+ });
296
+
297
+ var transitionComplete = function transitionComplete() {
298
+ if (_this3._config.focus) {
299
+ _this3._element.focus();
300
+ }
301
+
302
+ _this3._isTransitioning = false;
303
+ $$$1(_this3._element).trigger(shownEvent);
304
+ };
305
+
306
+ if (transition) {
307
+ var transitionDuration = Util.getTransitionDurationFromElement(this._element);
308
+ $$$1(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(transitionDuration);
309
+ } else {
310
+ transitionComplete();
311
+ }
312
+ };
313
+
314
+ _proto._enforceFocus = function _enforceFocus() {
315
+ var _this4 = this;
316
+
317
+ $$$1(document).off(Event.FOCUSIN) // Guard against infinite focus loop
318
+ .on(Event.FOCUSIN, function (event) {
319
+ if (document !== event.target && _this4._element !== event.target && $$$1(_this4._element).has(event.target).length === 0) {
320
+ _this4._element.focus();
321
+ }
322
+ });
323
+ };
324
+
325
+ _proto._setEscapeEvent = function _setEscapeEvent() {
326
+ var _this5 = this;
327
+
328
+ if (this._isShown && this._config.keyboard) {
329
+ $$$1(this._element).on(Event.KEYDOWN_DISMISS, function (event) {
330
+ if (event.which === ESCAPE_KEYCODE) {
331
+ event.preventDefault();
332
+
333
+ _this5.hide();
334
+ }
335
+ });
336
+ } else if (!this._isShown) {
337
+ $$$1(this._element).off(Event.KEYDOWN_DISMISS);
338
+ }
339
+ };
340
+
341
+ _proto._setResizeEvent = function _setResizeEvent() {
342
+ var _this6 = this;
343
+
344
+ if (this._isShown) {
345
+ $$$1(window).on(Event.RESIZE, function (event) {
346
+ return _this6.handleUpdate(event);
347
+ });
348
+ } else {
349
+ $$$1(window).off(Event.RESIZE);
350
+ }
351
+ };
352
+
353
+ _proto._hideModal = function _hideModal() {
354
+ var _this7 = this;
355
+
356
+ this._element.style.display = 'none';
357
+
358
+ this._element.setAttribute('aria-hidden', true);
359
+
360
+ this._isTransitioning = false;
361
+
362
+ this._showBackdrop(function () {
363
+ $$$1(document.body).removeClass(ClassName.OPEN);
364
+
365
+ _this7._resetAdjustments();
366
+
367
+ _this7._resetScrollbar();
368
+
369
+ $$$1(_this7._element).trigger(Event.HIDDEN);
370
+ });
371
+ };
372
+
373
+ _proto._removeBackdrop = function _removeBackdrop() {
374
+ if (this._backdrop) {
375
+ $$$1(this._backdrop).remove();
376
+ this._backdrop = null;
377
+ }
378
+ };
379
+
380
+ _proto._showBackdrop = function _showBackdrop(callback) {
381
+ var _this8 = this;
382
+
383
+ var animate = $$$1(this._element).hasClass(ClassName.FADE) ? ClassName.FADE : '';
384
+
385
+ if (this._isShown && this._config.backdrop) {
386
+ this._backdrop = document.createElement('div');
387
+ this._backdrop.className = ClassName.BACKDROP;
388
+
389
+ if (animate) {
390
+ this._backdrop.classList.add(animate);
391
+ }
392
+
393
+ $$$1(this._backdrop).appendTo(document.body);
394
+ $$$1(this._element).on(Event.CLICK_DISMISS, function (event) {
395
+ if (_this8._ignoreBackdropClick) {
396
+ _this8._ignoreBackdropClick = false;
397
+ return;
398
+ }
399
+
400
+ if (event.target !== event.currentTarget) {
401
+ return;
402
+ }
403
+
404
+ if (_this8._config.backdrop === 'static') {
405
+ _this8._element.focus();
406
+ } else {
407
+ _this8.hide();
408
+ }
409
+ });
410
+
411
+ if (animate) {
412
+ Util.reflow(this._backdrop);
413
+ }
414
+
415
+ $$$1(this._backdrop).addClass(ClassName.SHOW);
416
+
417
+ if (!callback) {
418
+ return;
419
+ }
420
+
421
+ if (!animate) {
422
+ callback();
423
+ return;
424
+ }
425
+
426
+ var backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);
427
+ $$$1(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(backdropTransitionDuration);
428
+ } else if (!this._isShown && this._backdrop) {
429
+ $$$1(this._backdrop).removeClass(ClassName.SHOW);
430
+
431
+ var callbackRemove = function callbackRemove() {
432
+ _this8._removeBackdrop();
433
+
434
+ if (callback) {
435
+ callback();
436
+ }
437
+ };
438
+
439
+ if ($$$1(this._element).hasClass(ClassName.FADE)) {
440
+ var _backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);
441
+
442
+ $$$1(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(_backdropTransitionDuration);
443
+ } else {
444
+ callbackRemove();
445
+ }
446
+ } else if (callback) {
447
+ callback();
448
+ }
449
+ }; // ----------------------------------------------------------------------
450
+ // the following methods are used to handle overflowing modals
451
+ // todo (fat): these should probably be refactored out of modal.js
452
+ // ----------------------------------------------------------------------
453
+
454
+
455
+ _proto._adjustDialog = function _adjustDialog() {
456
+ var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
457
+
458
+ if (!this._isBodyOverflowing && isModalOverflowing) {
459
+ this._element.style.paddingLeft = this._scrollbarWidth + "px";
460
+ }
461
+
462
+ if (this._isBodyOverflowing && !isModalOverflowing) {
463
+ this._element.style.paddingRight = this._scrollbarWidth + "px";
464
+ }
465
+ };
466
+
467
+ _proto._resetAdjustments = function _resetAdjustments() {
468
+ this._element.style.paddingLeft = '';
469
+ this._element.style.paddingRight = '';
470
+ };
471
+
472
+ _proto._checkScrollbar = function _checkScrollbar() {
473
+ var rect = document.body.getBoundingClientRect();
474
+ this._isBodyOverflowing = rect.left + rect.right < window.innerWidth;
475
+ this._scrollbarWidth = this._getScrollbarWidth();
476
+ };
477
+
478
+ _proto._setScrollbar = function _setScrollbar() {
479
+ var _this9 = this;
480
+
481
+ if (this._isBodyOverflowing) {
482
+ // Note: DOMNode.style.paddingRight returns the actual value or '' if not set
483
+ // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set
484
+ var fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT));
485
+ var stickyContent = [].slice.call(document.querySelectorAll(Selector.STICKY_CONTENT)); // Adjust fixed content padding
486
+
487
+ $$$1(fixedContent).each(function (index, element) {
488
+ var actualPadding = element.style.paddingRight;
489
+ var calculatedPadding = $$$1(element).css('padding-right');
490
+ $$$1(element).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + _this9._scrollbarWidth + "px");
491
+ }); // Adjust sticky content margin
492
+
493
+ $$$1(stickyContent).each(function (index, element) {
494
+ var actualMargin = element.style.marginRight;
495
+ var calculatedMargin = $$$1(element).css('margin-right');
496
+ $$$1(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) - _this9._scrollbarWidth + "px");
497
+ }); // Adjust body padding
498
+
499
+ var actualPadding = document.body.style.paddingRight;
500
+ var calculatedPadding = $$$1(document.body).css('padding-right');
501
+ $$$1(document.body).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px");
502
+ }
503
+ };
504
+
505
+ _proto._resetScrollbar = function _resetScrollbar() {
506
+ // Restore fixed content padding
507
+ var fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT));
508
+ $$$1(fixedContent).each(function (index, element) {
509
+ var padding = $$$1(element).data('padding-right');
510
+ $$$1(element).removeData('padding-right');
511
+ element.style.paddingRight = padding ? padding : '';
512
+ }); // Restore sticky content
513
+
514
+ var elements = [].slice.call(document.querySelectorAll("" + Selector.STICKY_CONTENT));
515
+ $$$1(elements).each(function (index, element) {
516
+ var margin = $$$1(element).data('margin-right');
517
+
518
+ if (typeof margin !== 'undefined') {
519
+ $$$1(element).css('margin-right', margin).removeData('margin-right');
520
+ }
521
+ }); // Restore body padding
522
+
523
+ var padding = $$$1(document.body).data('padding-right');
524
+ $$$1(document.body).removeData('padding-right');
525
+ document.body.style.paddingRight = padding ? padding : '';
526
+ };
527
+
528
+ _proto._getScrollbarWidth = function _getScrollbarWidth() {
529
+ // thx d.walsh
530
+ var scrollDiv = document.createElement('div');
531
+ scrollDiv.className = ClassName.SCROLLBAR_MEASURER;
532
+ document.body.appendChild(scrollDiv);
533
+ var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;
534
+ document.body.removeChild(scrollDiv);
535
+ return scrollbarWidth;
536
+ }; // Static
537
+
538
+
539
+ Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) {
540
+ return this.each(function () {
541
+ var data = $$$1(this).data(DATA_KEY);
542
+
543
+ var _config = _objectSpread({}, Default, $$$1(this).data(), typeof config === 'object' && config ? config : {});
544
+
545
+ if (!data) {
546
+ data = new Modal(this, _config);
547
+ $$$1(this).data(DATA_KEY, data);
548
+ }
549
+
550
+ if (typeof config === 'string') {
551
+ if (typeof data[config] === 'undefined') {
552
+ throw new TypeError("No method named \"" + config + "\"");
553
+ }
554
+
555
+ data[config](relatedTarget);
556
+ } else if (_config.show) {
557
+ data.show(relatedTarget);
558
+ }
559
+ });
560
+ };
561
+
562
+ _createClass(Modal, null, [{
563
+ key: "VERSION",
564
+ get: function get() {
565
+ return VERSION;
566
+ }
567
+ }, {
568
+ key: "Default",
569
+ get: function get() {
570
+ return Default;
571
+ }
572
+ }]);
573
+
574
+ return Modal;
575
+ }();
576
+ /**
577
+ * ------------------------------------------------------------------------
578
+ * Data Api implementation
579
+ * ------------------------------------------------------------------------
580
+ */
581
+
582
+
583
+ $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
584
+ var _this10 = this;
585
+
586
+ var target;
587
+ var selector = Util.getSelectorFromElement(this);
588
+
589
+ if (selector) {
590
+ target = document.querySelector(selector);
591
+ }
592
+
593
+ var config = $$$1(target).data(DATA_KEY) ? 'toggle' : _objectSpread({}, $$$1(target).data(), $$$1(this).data());
594
+
595
+ if (this.tagName === 'A' || this.tagName === 'AREA') {
596
+ event.preventDefault();
597
+ }
598
+
599
+ var $target = $$$1(target).one(Event.SHOW, function (showEvent) {
600
+ if (showEvent.isDefaultPrevented()) {
601
+ // Only register focus restorer if modal will actually get shown
602
+ return;
603
+ }
604
+
605
+ $target.one(Event.HIDDEN, function () {
606
+ if ($$$1(_this10).is(':visible')) {
607
+ _this10.focus();
608
+ }
609
+ });
610
+ });
611
+
612
+ Modal._jQueryInterface.call($$$1(target), config, this);
613
+ });
614
+ /**
615
+ * ------------------------------------------------------------------------
616
+ * jQuery
617
+ * ------------------------------------------------------------------------
618
+ */
619
+
620
+ $$$1.fn[NAME] = Modal._jQueryInterface;
621
+ $$$1.fn[NAME].Constructor = Modal;
622
+
623
+ $$$1.fn[NAME].noConflict = function () {
624
+ $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
625
+ return Modal._jQueryInterface;
626
+ };
627
+
628
+ return Modal;
629
+ }($);
630
+
631
+ return Modal;
632
+
633
+ })));