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,265 @@
1
+ (function (global, factory) {
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('./tooltip.js')) :
3
+ typeof define === 'function' && define.amd ? define(['jquery', './tooltip.js'], factory) :
4
+ (global.Popover = factory(global.jQuery,global.Tooltip));
5
+ }(this, (function ($,Tooltip) { 'use strict';
6
+
7
+ $ = $ && $.hasOwnProperty('default') ? $['default'] : $;
8
+ Tooltip = Tooltip && Tooltip.hasOwnProperty('default') ? Tooltip['default'] : Tooltip;
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
+ function _inheritsLoose(subClass, superClass) {
61
+ subClass.prototype = Object.create(superClass.prototype);
62
+ subClass.prototype.constructor = subClass;
63
+ subClass.__proto__ = superClass;
64
+ }
65
+
66
+ /**
67
+ * --------------------------------------------------------------------------
68
+ * Bootstrap (v4.1.3): popover.js
69
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
70
+ * --------------------------------------------------------------------------
71
+ */
72
+
73
+ var Popover = function ($$$1) {
74
+ /**
75
+ * ------------------------------------------------------------------------
76
+ * Constants
77
+ * ------------------------------------------------------------------------
78
+ */
79
+ var NAME = 'popover';
80
+ var VERSION = '4.1.3';
81
+ var DATA_KEY = 'bs.popover';
82
+ var EVENT_KEY = "." + DATA_KEY;
83
+ var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
84
+ var CLASS_PREFIX = 'bs-popover';
85
+ var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
86
+
87
+ var Default = _objectSpread({}, Tooltip.Default, {
88
+ placement: 'right',
89
+ trigger: 'click',
90
+ content: '',
91
+ template: '<div class="popover" role="tooltip">' + '<div class="arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div></div>'
92
+ });
93
+
94
+ var DefaultType = _objectSpread({}, Tooltip.DefaultType, {
95
+ content: '(string|element|function)'
96
+ });
97
+
98
+ var ClassName = {
99
+ FADE: 'fade',
100
+ SHOW: 'show'
101
+ };
102
+ var Selector = {
103
+ TITLE: '.popover-header',
104
+ CONTENT: '.popover-body'
105
+ };
106
+ var Event = {
107
+ HIDE: "hide" + EVENT_KEY,
108
+ HIDDEN: "hidden" + EVENT_KEY,
109
+ SHOW: "show" + EVENT_KEY,
110
+ SHOWN: "shown" + EVENT_KEY,
111
+ INSERTED: "inserted" + EVENT_KEY,
112
+ CLICK: "click" + EVENT_KEY,
113
+ FOCUSIN: "focusin" + EVENT_KEY,
114
+ FOCUSOUT: "focusout" + EVENT_KEY,
115
+ MOUSEENTER: "mouseenter" + EVENT_KEY,
116
+ MOUSELEAVE: "mouseleave" + EVENT_KEY
117
+ /**
118
+ * ------------------------------------------------------------------------
119
+ * Class Definition
120
+ * ------------------------------------------------------------------------
121
+ */
122
+
123
+ };
124
+
125
+ var Popover =
126
+ /*#__PURE__*/
127
+ function (_Tooltip) {
128
+ _inheritsLoose(Popover, _Tooltip);
129
+
130
+ function Popover() {
131
+ return _Tooltip.apply(this, arguments) || this;
132
+ }
133
+
134
+ var _proto = Popover.prototype;
135
+
136
+ // Overrides
137
+ _proto.isWithContent = function isWithContent() {
138
+ return this.getTitle() || this._getContent();
139
+ };
140
+
141
+ _proto.addAttachmentClass = function addAttachmentClass(attachment) {
142
+ $$$1(this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment);
143
+ };
144
+
145
+ _proto.getTipElement = function getTipElement() {
146
+ this.tip = this.tip || $$$1(this.config.template)[0];
147
+ return this.tip;
148
+ };
149
+
150
+ _proto.setContent = function setContent() {
151
+ var $tip = $$$1(this.getTipElement()); // We use append for html objects to maintain js events
152
+
153
+ this.setElementContent($tip.find(Selector.TITLE), this.getTitle());
154
+
155
+ var content = this._getContent();
156
+
157
+ if (typeof content === 'function') {
158
+ content = content.call(this.element);
159
+ }
160
+
161
+ this.setElementContent($tip.find(Selector.CONTENT), content);
162
+ $tip.removeClass(ClassName.FADE + " " + ClassName.SHOW);
163
+ }; // Private
164
+
165
+
166
+ _proto._getContent = function _getContent() {
167
+ return this.element.getAttribute('data-content') || this.config.content;
168
+ };
169
+
170
+ _proto._cleanTipClass = function _cleanTipClass() {
171
+ var $tip = $$$1(this.getTipElement());
172
+ var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);
173
+
174
+ if (tabClass !== null && tabClass.length > 0) {
175
+ $tip.removeClass(tabClass.join(''));
176
+ }
177
+ }; // Static
178
+
179
+
180
+ Popover._jQueryInterface = function _jQueryInterface(config) {
181
+ return this.each(function () {
182
+ var data = $$$1(this).data(DATA_KEY);
183
+
184
+ var _config = typeof config === 'object' ? config : null;
185
+
186
+ if (!data && /destroy|hide/.test(config)) {
187
+ return;
188
+ }
189
+
190
+ if (!data) {
191
+ data = new Popover(this, _config);
192
+ $$$1(this).data(DATA_KEY, data);
193
+ }
194
+
195
+ if (typeof config === 'string') {
196
+ if (typeof data[config] === 'undefined') {
197
+ throw new TypeError("No method named \"" + config + "\"");
198
+ }
199
+
200
+ data[config]();
201
+ }
202
+ });
203
+ };
204
+
205
+ _createClass(Popover, null, [{
206
+ key: "VERSION",
207
+ // Getters
208
+ get: function get() {
209
+ return VERSION;
210
+ }
211
+ }, {
212
+ key: "Default",
213
+ get: function get() {
214
+ return Default;
215
+ }
216
+ }, {
217
+ key: "NAME",
218
+ get: function get() {
219
+ return NAME;
220
+ }
221
+ }, {
222
+ key: "DATA_KEY",
223
+ get: function get() {
224
+ return DATA_KEY;
225
+ }
226
+ }, {
227
+ key: "Event",
228
+ get: function get() {
229
+ return Event;
230
+ }
231
+ }, {
232
+ key: "EVENT_KEY",
233
+ get: function get() {
234
+ return EVENT_KEY;
235
+ }
236
+ }, {
237
+ key: "DefaultType",
238
+ get: function get() {
239
+ return DefaultType;
240
+ }
241
+ }]);
242
+
243
+ return Popover;
244
+ }(Tooltip);
245
+ /**
246
+ * ------------------------------------------------------------------------
247
+ * jQuery
248
+ * ------------------------------------------------------------------------
249
+ */
250
+
251
+
252
+ $$$1.fn[NAME] = Popover._jQueryInterface;
253
+ $$$1.fn[NAME].Constructor = Popover;
254
+
255
+ $$$1.fn[NAME].noConflict = function () {
256
+ $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
257
+ return Popover._jQueryInterface;
258
+ };
259
+
260
+ return Popover;
261
+ }($);
262
+
263
+ return Popover;
264
+
265
+ })));
@@ -0,0 +1,378 @@
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.ScrollSpy = 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): scrollspy.js
63
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
64
+ * --------------------------------------------------------------------------
65
+ */
66
+
67
+ var ScrollSpy = function ($$$1) {
68
+ /**
69
+ * ------------------------------------------------------------------------
70
+ * Constants
71
+ * ------------------------------------------------------------------------
72
+ */
73
+ var NAME = 'scrollspy';
74
+ var VERSION = '4.1.3';
75
+ var DATA_KEY = 'bs.scrollspy';
76
+ var EVENT_KEY = "." + DATA_KEY;
77
+ var DATA_API_KEY = '.data-api';
78
+ var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
79
+ var Default = {
80
+ offset: 10,
81
+ method: 'auto',
82
+ target: ''
83
+ };
84
+ var DefaultType = {
85
+ offset: 'number',
86
+ method: 'string',
87
+ target: '(string|element)'
88
+ };
89
+ var Event = {
90
+ ACTIVATE: "activate" + EVENT_KEY,
91
+ SCROLL: "scroll" + EVENT_KEY,
92
+ LOAD_DATA_API: "load" + EVENT_KEY + DATA_API_KEY
93
+ };
94
+ var ClassName = {
95
+ DROPDOWN_ITEM: 'dropdown-item',
96
+ DROPDOWN_MENU: 'dropdown-menu',
97
+ ACTIVE: 'active'
98
+ };
99
+ var Selector = {
100
+ DATA_SPY: '[data-spy="scroll"]',
101
+ ACTIVE: '.active',
102
+ NAV_LIST_GROUP: '.nav, .list-group',
103
+ NAV_LINKS: '.nav-link',
104
+ NAV_ITEMS: '.nav-item',
105
+ LIST_ITEMS: '.list-group-item',
106
+ DROPDOWN: '.dropdown',
107
+ DROPDOWN_ITEMS: '.dropdown-item',
108
+ DROPDOWN_TOGGLE: '.dropdown-toggle'
109
+ };
110
+ var OffsetMethod = {
111
+ OFFSET: 'offset',
112
+ POSITION: 'position'
113
+ /**
114
+ * ------------------------------------------------------------------------
115
+ * Class Definition
116
+ * ------------------------------------------------------------------------
117
+ */
118
+
119
+ };
120
+
121
+ var ScrollSpy =
122
+ /*#__PURE__*/
123
+ function () {
124
+ function ScrollSpy(element, config) {
125
+ var _this = this;
126
+
127
+ this._element = element;
128
+ this._scrollElement = element.tagName === 'BODY' ? window : element;
129
+ this._config = this._getConfig(config);
130
+ this._selector = this._config.target + " " + Selector.NAV_LINKS + "," + (this._config.target + " " + Selector.LIST_ITEMS + ",") + (this._config.target + " " + Selector.DROPDOWN_ITEMS);
131
+ this._offsets = [];
132
+ this._targets = [];
133
+ this._activeTarget = null;
134
+ this._scrollHeight = 0;
135
+ $$$1(this._scrollElement).on(Event.SCROLL, function (event) {
136
+ return _this._process(event);
137
+ });
138
+ this.refresh();
139
+
140
+ this._process();
141
+ } // Getters
142
+
143
+
144
+ var _proto = ScrollSpy.prototype;
145
+
146
+ // Public
147
+ _proto.refresh = function refresh() {
148
+ var _this2 = this;
149
+
150
+ var autoMethod = this._scrollElement === this._scrollElement.window ? OffsetMethod.OFFSET : OffsetMethod.POSITION;
151
+ var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;
152
+ var offsetBase = offsetMethod === OffsetMethod.POSITION ? this._getScrollTop() : 0;
153
+ this._offsets = [];
154
+ this._targets = [];
155
+ this._scrollHeight = this._getScrollHeight();
156
+ var targets = [].slice.call(document.querySelectorAll(this._selector));
157
+ targets.map(function (element) {
158
+ var target;
159
+ var targetSelector = Util.getSelectorFromElement(element);
160
+
161
+ if (targetSelector) {
162
+ target = document.querySelector(targetSelector);
163
+ }
164
+
165
+ if (target) {
166
+ var targetBCR = target.getBoundingClientRect();
167
+
168
+ if (targetBCR.width || targetBCR.height) {
169
+ // TODO (fat): remove sketch reliance on jQuery position/offset
170
+ return [$$$1(target)[offsetMethod]().top + offsetBase, targetSelector];
171
+ }
172
+ }
173
+
174
+ return null;
175
+ }).filter(function (item) {
176
+ return item;
177
+ }).sort(function (a, b) {
178
+ return a[0] - b[0];
179
+ }).forEach(function (item) {
180
+ _this2._offsets.push(item[0]);
181
+
182
+ _this2._targets.push(item[1]);
183
+ });
184
+ };
185
+
186
+ _proto.dispose = function dispose() {
187
+ $$$1.removeData(this._element, DATA_KEY);
188
+ $$$1(this._scrollElement).off(EVENT_KEY);
189
+ this._element = null;
190
+ this._scrollElement = null;
191
+ this._config = null;
192
+ this._selector = null;
193
+ this._offsets = null;
194
+ this._targets = null;
195
+ this._activeTarget = null;
196
+ this._scrollHeight = null;
197
+ }; // Private
198
+
199
+
200
+ _proto._getConfig = function _getConfig(config) {
201
+ config = _objectSpread({}, Default, typeof config === 'object' && config ? config : {});
202
+
203
+ if (typeof config.target !== 'string') {
204
+ var id = $$$1(config.target).attr('id');
205
+
206
+ if (!id) {
207
+ id = Util.getUID(NAME);
208
+ $$$1(config.target).attr('id', id);
209
+ }
210
+
211
+ config.target = "#" + id;
212
+ }
213
+
214
+ Util.typeCheckConfig(NAME, config, DefaultType);
215
+ return config;
216
+ };
217
+
218
+ _proto._getScrollTop = function _getScrollTop() {
219
+ return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop;
220
+ };
221
+
222
+ _proto._getScrollHeight = function _getScrollHeight() {
223
+ return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);
224
+ };
225
+
226
+ _proto._getOffsetHeight = function _getOffsetHeight() {
227
+ return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height;
228
+ };
229
+
230
+ _proto._process = function _process() {
231
+ var scrollTop = this._getScrollTop() + this._config.offset;
232
+
233
+ var scrollHeight = this._getScrollHeight();
234
+
235
+ var maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight();
236
+
237
+ if (this._scrollHeight !== scrollHeight) {
238
+ this.refresh();
239
+ }
240
+
241
+ if (scrollTop >= maxScroll) {
242
+ var target = this._targets[this._targets.length - 1];
243
+
244
+ if (this._activeTarget !== target) {
245
+ this._activate(target);
246
+ }
247
+
248
+ return;
249
+ }
250
+
251
+ if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {
252
+ this._activeTarget = null;
253
+
254
+ this._clear();
255
+
256
+ return;
257
+ }
258
+
259
+ var offsetLength = this._offsets.length;
260
+
261
+ for (var i = offsetLength; i--;) {
262
+ var isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1]);
263
+
264
+ if (isActiveTarget) {
265
+ this._activate(this._targets[i]);
266
+ }
267
+ }
268
+ };
269
+
270
+ _proto._activate = function _activate(target) {
271
+ this._activeTarget = target;
272
+
273
+ this._clear();
274
+
275
+ var queries = this._selector.split(','); // eslint-disable-next-line arrow-body-style
276
+
277
+
278
+ queries = queries.map(function (selector) {
279
+ return selector + "[data-target=\"" + target + "\"]," + (selector + "[href=\"" + target + "\"]");
280
+ });
281
+ var $link = $$$1([].slice.call(document.querySelectorAll(queries.join(','))));
282
+
283
+ if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {
284
+ $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE);
285
+ $link.addClass(ClassName.ACTIVE);
286
+ } else {
287
+ // Set triggered link as active
288
+ $link.addClass(ClassName.ACTIVE); // Set triggered links parents as active
289
+ // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor
290
+
291
+ $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_LINKS + ", " + Selector.LIST_ITEMS).addClass(ClassName.ACTIVE); // Handle special case when .nav-link is inside .nav-item
292
+
293
+ $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_ITEMS).children(Selector.NAV_LINKS).addClass(ClassName.ACTIVE);
294
+ }
295
+
296
+ $$$1(this._scrollElement).trigger(Event.ACTIVATE, {
297
+ relatedTarget: target
298
+ });
299
+ };
300
+
301
+ _proto._clear = function _clear() {
302
+ var nodes = [].slice.call(document.querySelectorAll(this._selector));
303
+ $$$1(nodes).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE);
304
+ }; // Static
305
+
306
+
307
+ ScrollSpy._jQueryInterface = function _jQueryInterface(config) {
308
+ return this.each(function () {
309
+ var data = $$$1(this).data(DATA_KEY);
310
+
311
+ var _config = typeof config === 'object' && config;
312
+
313
+ if (!data) {
314
+ data = new ScrollSpy(this, _config);
315
+ $$$1(this).data(DATA_KEY, data);
316
+ }
317
+
318
+ if (typeof config === 'string') {
319
+ if (typeof data[config] === 'undefined') {
320
+ throw new TypeError("No method named \"" + config + "\"");
321
+ }
322
+
323
+ data[config]();
324
+ }
325
+ });
326
+ };
327
+
328
+ _createClass(ScrollSpy, null, [{
329
+ key: "VERSION",
330
+ get: function get() {
331
+ return VERSION;
332
+ }
333
+ }, {
334
+ key: "Default",
335
+ get: function get() {
336
+ return Default;
337
+ }
338
+ }]);
339
+
340
+ return ScrollSpy;
341
+ }();
342
+ /**
343
+ * ------------------------------------------------------------------------
344
+ * Data Api implementation
345
+ * ------------------------------------------------------------------------
346
+ */
347
+
348
+
349
+ $$$1(window).on(Event.LOAD_DATA_API, function () {
350
+ var scrollSpys = [].slice.call(document.querySelectorAll(Selector.DATA_SPY));
351
+ var scrollSpysLength = scrollSpys.length;
352
+
353
+ for (var i = scrollSpysLength; i--;) {
354
+ var $spy = $$$1(scrollSpys[i]);
355
+
356
+ ScrollSpy._jQueryInterface.call($spy, $spy.data());
357
+ }
358
+ });
359
+ /**
360
+ * ------------------------------------------------------------------------
361
+ * jQuery
362
+ * ------------------------------------------------------------------------
363
+ */
364
+
365
+ $$$1.fn[NAME] = ScrollSpy._jQueryInterface;
366
+ $$$1.fn[NAME].Constructor = ScrollSpy;
367
+
368
+ $$$1.fn[NAME].noConflict = function () {
369
+ $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
370
+ return ScrollSpy._jQueryInterface;
371
+ };
372
+
373
+ return ScrollSpy;
374
+ }($);
375
+
376
+ return ScrollSpy;
377
+
378
+ })));