my_assets 0.0.1

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 (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
+ })));