nex-bootstrap 4.6.3

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 (163) hide show
  1. checksums.yaml +7 -0
  2. data/.gitattributes +14 -0
  3. data/.gitignore +19 -0
  4. data/.travis.yml +31 -0
  5. data/CHANGELOG.md +25 -0
  6. data/Gemfile +11 -0
  7. data/LICENSE +21 -0
  8. data/README.md +109 -0
  9. data/Rakefile +63 -0
  10. data/assets/javascripts/bootstrap/alert.js +183 -0
  11. data/assets/javascripts/bootstrap/button.js +225 -0
  12. data/assets/javascripts/bootstrap/carousel.js +640 -0
  13. data/assets/javascripts/bootstrap/collapse.js +394 -0
  14. data/assets/javascripts/bootstrap/dropdown.js +557 -0
  15. data/assets/javascripts/bootstrap/modal.js +660 -0
  16. data/assets/javascripts/bootstrap/popover.js +243 -0
  17. data/assets/javascripts/bootstrap/scrollspy.js +337 -0
  18. data/assets/javascripts/bootstrap/tab.js +259 -0
  19. data/assets/javascripts/bootstrap/toast.js +265 -0
  20. data/assets/javascripts/bootstrap/tooltip.js +886 -0
  21. data/assets/javascripts/bootstrap/util.js +189 -0
  22. data/assets/javascripts/bootstrap-sprockets.js +12 -0
  23. data/assets/javascripts/bootstrap.js +4356 -0
  24. data/assets/javascripts/bootstrap.min.js +6 -0
  25. data/assets/stylesheets/_bootstrap-grid.scss +30 -0
  26. data/assets/stylesheets/_bootstrap-reboot.scss +12 -0
  27. data/assets/stylesheets/_bootstrap.scss +44 -0
  28. data/assets/stylesheets/bootstrap/_alert.scss +52 -0
  29. data/assets/stylesheets/bootstrap/_badge.scss +54 -0
  30. data/assets/stylesheets/bootstrap/_breadcrumb.scss +42 -0
  31. data/assets/stylesheets/bootstrap/_button-group.scss +163 -0
  32. data/assets/stylesheets/bootstrap/_buttons.scss +142 -0
  33. data/assets/stylesheets/bootstrap/_card.scss +286 -0
  34. data/assets/stylesheets/bootstrap/_carousel.scss +200 -0
  35. data/assets/stylesheets/bootstrap/_close.scss +40 -0
  36. data/assets/stylesheets/bootstrap/_code.scss +48 -0
  37. data/assets/stylesheets/bootstrap/_custom-forms.scss +526 -0
  38. data/assets/stylesheets/bootstrap/_dropdown.scss +192 -0
  39. data/assets/stylesheets/bootstrap/_forms.scss +347 -0
  40. data/assets/stylesheets/bootstrap/_functions.scss +190 -0
  41. data/assets/stylesheets/bootstrap/_grid.scss +73 -0
  42. data/assets/stylesheets/bootstrap/_images.scss +42 -0
  43. data/assets/stylesheets/bootstrap/_input-group.scss +211 -0
  44. data/assets/stylesheets/bootstrap/_jumbotron.scss +17 -0
  45. data/assets/stylesheets/bootstrap/_list-group.scss +154 -0
  46. data/assets/stylesheets/bootstrap/_media.scss +8 -0
  47. data/assets/stylesheets/bootstrap/_mixins.scss +47 -0
  48. data/assets/stylesheets/bootstrap/_modal.scss +240 -0
  49. data/assets/stylesheets/bootstrap/_nav.scss +125 -0
  50. data/assets/stylesheets/bootstrap/_navbar.scss +332 -0
  51. data/assets/stylesheets/bootstrap/_pagination.scss +74 -0
  52. data/assets/stylesheets/bootstrap/_popover.scss +170 -0
  53. data/assets/stylesheets/bootstrap/_print.scss +132 -0
  54. data/assets/stylesheets/bootstrap/_progress.scss +47 -0
  55. data/assets/stylesheets/bootstrap/_reboot.scss +484 -0
  56. data/assets/stylesheets/bootstrap/_root.scss +19 -0
  57. data/assets/stylesheets/bootstrap/_spinners.scss +65 -0
  58. data/assets/stylesheets/bootstrap/_tables.scss +185 -0
  59. data/assets/stylesheets/bootstrap/_toasts.scss +46 -0
  60. data/assets/stylesheets/bootstrap/_tooltip.scss +115 -0
  61. data/assets/stylesheets/bootstrap/_transitions.scss +26 -0
  62. data/assets/stylesheets/bootstrap/_type.scss +125 -0
  63. data/assets/stylesheets/bootstrap/_utilities.scss +18 -0
  64. data/assets/stylesheets/bootstrap/_variables.scss +1149 -0
  65. data/assets/stylesheets/bootstrap/mixins/_alert.scss +13 -0
  66. data/assets/stylesheets/bootstrap/mixins/_background-variant.scss +23 -0
  67. data/assets/stylesheets/bootstrap/mixins/_badge.scss +17 -0
  68. data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +76 -0
  69. data/assets/stylesheets/bootstrap/mixins/_box-shadow.scss +20 -0
  70. data/assets/stylesheets/bootstrap/mixins/_breakpoints.scss +123 -0
  71. data/assets/stylesheets/bootstrap/mixins/_buttons.scss +110 -0
  72. data/assets/stylesheets/bootstrap/mixins/_caret.scss +62 -0
  73. data/assets/stylesheets/bootstrap/mixins/_clearfix.scss +7 -0
  74. data/assets/stylesheets/bootstrap/mixins/_deprecate.scss +10 -0
  75. data/assets/stylesheets/bootstrap/mixins/_float.scss +14 -0
  76. data/assets/stylesheets/bootstrap/mixins/_forms.scss +195 -0
  77. data/assets/stylesheets/bootstrap/mixins/_gradients.scss +45 -0
  78. data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +80 -0
  79. data/assets/stylesheets/bootstrap/mixins/_grid.scss +69 -0
  80. data/assets/stylesheets/bootstrap/mixins/_hover.scss +37 -0
  81. data/assets/stylesheets/bootstrap/mixins/_image.scss +36 -0
  82. data/assets/stylesheets/bootstrap/mixins/_list-group.scss +21 -0
  83. data/assets/stylesheets/bootstrap/mixins/_lists.scss +7 -0
  84. data/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +11 -0
  85. data/assets/stylesheets/bootstrap/mixins/_pagination.scss +22 -0
  86. data/assets/stylesheets/bootstrap/mixins/_reset-text.scss +17 -0
  87. data/assets/stylesheets/bootstrap/mixins/_resize.scss +6 -0
  88. data/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +34 -0
  89. data/assets/stylesheets/bootstrap/mixins/_size.scss +7 -0
  90. data/assets/stylesheets/bootstrap/mixins/_table-row.scss +39 -0
  91. data/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +17 -0
  92. data/assets/stylesheets/bootstrap/mixins/_text-hide.scss +11 -0
  93. data/assets/stylesheets/bootstrap/mixins/_text-truncate.scss +8 -0
  94. data/assets/stylesheets/bootstrap/mixins/_transition.scss +26 -0
  95. data/assets/stylesheets/bootstrap/mixins/_visibility.scss +8 -0
  96. data/assets/stylesheets/bootstrap/utilities/_align.scss +8 -0
  97. data/assets/stylesheets/bootstrap/utilities/_background.scss +19 -0
  98. data/assets/stylesheets/bootstrap/utilities/_borders.scss +75 -0
  99. data/assets/stylesheets/bootstrap/utilities/_clearfix.scss +3 -0
  100. data/assets/stylesheets/bootstrap/utilities/_display.scss +26 -0
  101. data/assets/stylesheets/bootstrap/utilities/_embed.scss +39 -0
  102. data/assets/stylesheets/bootstrap/utilities/_flex.scss +51 -0
  103. data/assets/stylesheets/bootstrap/utilities/_float.scss +11 -0
  104. data/assets/stylesheets/bootstrap/utilities/_interactions.scss +5 -0
  105. data/assets/stylesheets/bootstrap/utilities/_overflow.scss +5 -0
  106. data/assets/stylesheets/bootstrap/utilities/_position.scss +32 -0
  107. data/assets/stylesheets/bootstrap/utilities/_screenreaders.scss +11 -0
  108. data/assets/stylesheets/bootstrap/utilities/_shadows.scss +6 -0
  109. data/assets/stylesheets/bootstrap/utilities/_sizing.scss +20 -0
  110. data/assets/stylesheets/bootstrap/utilities/_spacing.scss +73 -0
  111. data/assets/stylesheets/bootstrap/utilities/_stretched-link.scss +19 -0
  112. data/assets/stylesheets/bootstrap/utilities/_text.scss +72 -0
  113. data/assets/stylesheets/bootstrap/utilities/_visibility.scss +13 -0
  114. data/assets/stylesheets/bootstrap/vendor/_rfs.scss +228 -0
  115. data/bootstrap.gemspec +38 -0
  116. data/lib/bootstrap/engine.rb +15 -0
  117. data/lib/bootstrap/version.rb +6 -0
  118. data/lib/bootstrap.rb +75 -0
  119. data/tasks/updater/js.rb +68 -0
  120. data/tasks/updater/logger.rb +57 -0
  121. data/tasks/updater/network.rb +103 -0
  122. data/tasks/updater/scss.rb +26 -0
  123. data/tasks/updater.rb +67 -0
  124. data/test/dummy_rails/README.rdoc +3 -0
  125. data/test/dummy_rails/Rakefile +6 -0
  126. data/test/dummy_rails/app/assets/config/manifest.js +3 -0
  127. data/test/dummy_rails/app/assets/images/.keep +0 -0
  128. data/test/dummy_rails/app/assets/javascripts/application.js +7 -0
  129. data/test/dummy_rails/app/assets/stylesheets/.browserslistrc +1 -0
  130. data/test/dummy_rails/app/assets/stylesheets/application.sass +4 -0
  131. data/test/dummy_rails/app/controllers/application_controller.rb +5 -0
  132. data/test/dummy_rails/app/controllers/pages_controller.rb +4 -0
  133. data/test/dummy_rails/app/helpers/application_helper.rb +2 -0
  134. data/test/dummy_rails/app/views/layouts/application.html.erb +14 -0
  135. data/test/dummy_rails/app/views/pages/root.html.slim +58 -0
  136. data/test/dummy_rails/config/application.rb +35 -0
  137. data/test/dummy_rails/config/boot.rb +5 -0
  138. data/test/dummy_rails/config/environment.rb +5 -0
  139. data/test/dummy_rails/config/environments/development.rb +23 -0
  140. data/test/dummy_rails/config/environments/production.rb +82 -0
  141. data/test/dummy_rails/config/environments/test.rb +38 -0
  142. data/test/dummy_rails/config/initializers/backtrace_silencers.rb +7 -0
  143. data/test/dummy_rails/config/initializers/filter_parameter_logging.rb +4 -0
  144. data/test/dummy_rails/config/initializers/inflections.rb +16 -0
  145. data/test/dummy_rails/config/initializers/mime_types.rb +5 -0
  146. data/test/dummy_rails/config/initializers/secret_token.rb +18 -0
  147. data/test/dummy_rails/config/initializers/session_store.rb +3 -0
  148. data/test/dummy_rails/config/initializers/wrap_parameters.rb +14 -0
  149. data/test/dummy_rails/config/locales/en.yml +3 -0
  150. data/test/dummy_rails/config/locales/es.yml +3 -0
  151. data/test/dummy_rails/config/routes.rb +3 -0
  152. data/test/dummy_rails/config.ru +4 -0
  153. data/test/dummy_rails/log/.keep +0 -0
  154. data/test/gemfiles/rails_4_2.gemfile +7 -0
  155. data/test/gemfiles/rails_5_0.gemfile +8 -0
  156. data/test/gemfiles/rails_5_1.gemfile +8 -0
  157. data/test/gemfiles/rails_6_0.gemfile +7 -0
  158. data/test/rails_test.rb +24 -0
  159. data/test/support/dummy_rails_integration.rb +31 -0
  160. data/test/support/reporting.rb +27 -0
  161. data/test/test_helper.rb +41 -0
  162. data/test/test_helper_rails.rb +6 -0
  163. metadata +445 -0
@@ -0,0 +1,394 @@
1
+ /*!
2
+ * Bootstrap collapse.js v4.6.1 (https://getbootstrap.com/)
3
+ * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
4
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
5
+ */
6
+ (function (global, factory) {
7
+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('./util.js')) :
8
+ typeof define === 'function' && define.amd ? define(['jquery', './util'], factory) :
9
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Collapse = factory(global.jQuery, global.Util));
10
+ })(this, (function ($, Util) { 'use strict';
11
+
12
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
13
+
14
+ var $__default = /*#__PURE__*/_interopDefaultLegacy($);
15
+ var Util__default = /*#__PURE__*/_interopDefaultLegacy(Util);
16
+
17
+ function _defineProperties(target, props) {
18
+ for (var i = 0; i < props.length; i++) {
19
+ var descriptor = props[i];
20
+ descriptor.enumerable = descriptor.enumerable || false;
21
+ descriptor.configurable = true;
22
+ if ("value" in descriptor) descriptor.writable = true;
23
+ Object.defineProperty(target, descriptor.key, descriptor);
24
+ }
25
+ }
26
+
27
+ function _createClass(Constructor, protoProps, staticProps) {
28
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
29
+ if (staticProps) _defineProperties(Constructor, staticProps);
30
+ return Constructor;
31
+ }
32
+
33
+ function _extends() {
34
+ _extends = Object.assign || function (target) {
35
+ for (var i = 1; i < arguments.length; i++) {
36
+ var source = arguments[i];
37
+
38
+ for (var key in source) {
39
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
40
+ target[key] = source[key];
41
+ }
42
+ }
43
+ }
44
+
45
+ return target;
46
+ };
47
+
48
+ return _extends.apply(this, arguments);
49
+ }
50
+
51
+ /**
52
+ * Constants
53
+ */
54
+
55
+ var NAME = 'collapse';
56
+ var VERSION = '4.6.1';
57
+ var DATA_KEY = 'bs.collapse';
58
+ var EVENT_KEY = "." + DATA_KEY;
59
+ var DATA_API_KEY = '.data-api';
60
+ var JQUERY_NO_CONFLICT = $__default["default"].fn[NAME];
61
+ var CLASS_NAME_SHOW = 'show';
62
+ var CLASS_NAME_COLLAPSE = 'collapse';
63
+ var CLASS_NAME_COLLAPSING = 'collapsing';
64
+ var CLASS_NAME_COLLAPSED = 'collapsed';
65
+ var DIMENSION_WIDTH = 'width';
66
+ var DIMENSION_HEIGHT = 'height';
67
+ var EVENT_SHOW = "show" + EVENT_KEY;
68
+ var EVENT_SHOWN = "shown" + EVENT_KEY;
69
+ var EVENT_HIDE = "hide" + EVENT_KEY;
70
+ var EVENT_HIDDEN = "hidden" + EVENT_KEY;
71
+ var EVENT_CLICK_DATA_API = "click" + EVENT_KEY + DATA_API_KEY;
72
+ var SELECTOR_ACTIVES = '.show, .collapsing';
73
+ var SELECTOR_DATA_TOGGLE = '[data-toggle="collapse"]';
74
+ var Default = {
75
+ toggle: true,
76
+ parent: ''
77
+ };
78
+ var DefaultType = {
79
+ toggle: 'boolean',
80
+ parent: '(string|element)'
81
+ };
82
+ /**
83
+ * Class definition
84
+ */
85
+
86
+ var Collapse = /*#__PURE__*/function () {
87
+ function Collapse(element, config) {
88
+ this._isTransitioning = false;
89
+ this._element = element;
90
+ this._config = this._getConfig(config);
91
+ this._triggerArray = [].slice.call(document.querySelectorAll("[data-toggle=\"collapse\"][href=\"#" + element.id + "\"]," + ("[data-toggle=\"collapse\"][data-target=\"#" + element.id + "\"]")));
92
+ var toggleList = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE));
93
+
94
+ for (var i = 0, len = toggleList.length; i < len; i++) {
95
+ var elem = toggleList[i];
96
+ var selector = Util__default["default"].getSelectorFromElement(elem);
97
+ var filterElement = [].slice.call(document.querySelectorAll(selector)).filter(function (foundElem) {
98
+ return foundElem === element;
99
+ });
100
+
101
+ if (selector !== null && filterElement.length > 0) {
102
+ this._selector = selector;
103
+
104
+ this._triggerArray.push(elem);
105
+ }
106
+ }
107
+
108
+ this._parent = this._config.parent ? this._getParent() : null;
109
+
110
+ if (!this._config.parent) {
111
+ this._addAriaAndCollapsedClass(this._element, this._triggerArray);
112
+ }
113
+
114
+ if (this._config.toggle) {
115
+ this.toggle();
116
+ }
117
+ } // Getters
118
+
119
+
120
+ var _proto = Collapse.prototype;
121
+
122
+ // Public
123
+ _proto.toggle = function toggle() {
124
+ if ($__default["default"](this._element).hasClass(CLASS_NAME_SHOW)) {
125
+ this.hide();
126
+ } else {
127
+ this.show();
128
+ }
129
+ };
130
+
131
+ _proto.show = function show() {
132
+ var _this = this;
133
+
134
+ if (this._isTransitioning || $__default["default"](this._element).hasClass(CLASS_NAME_SHOW)) {
135
+ return;
136
+ }
137
+
138
+ var actives;
139
+ var activesData;
140
+
141
+ if (this._parent) {
142
+ actives = [].slice.call(this._parent.querySelectorAll(SELECTOR_ACTIVES)).filter(function (elem) {
143
+ if (typeof _this._config.parent === 'string') {
144
+ return elem.getAttribute('data-parent') === _this._config.parent;
145
+ }
146
+
147
+ return elem.classList.contains(CLASS_NAME_COLLAPSE);
148
+ });
149
+
150
+ if (actives.length === 0) {
151
+ actives = null;
152
+ }
153
+ }
154
+
155
+ if (actives) {
156
+ activesData = $__default["default"](actives).not(this._selector).data(DATA_KEY);
157
+
158
+ if (activesData && activesData._isTransitioning) {
159
+ return;
160
+ }
161
+ }
162
+
163
+ var startEvent = $__default["default"].Event(EVENT_SHOW);
164
+ $__default["default"](this._element).trigger(startEvent);
165
+
166
+ if (startEvent.isDefaultPrevented()) {
167
+ return;
168
+ }
169
+
170
+ if (actives) {
171
+ Collapse._jQueryInterface.call($__default["default"](actives).not(this._selector), 'hide');
172
+
173
+ if (!activesData) {
174
+ $__default["default"](actives).data(DATA_KEY, null);
175
+ }
176
+ }
177
+
178
+ var dimension = this._getDimension();
179
+
180
+ $__default["default"](this._element).removeClass(CLASS_NAME_COLLAPSE).addClass(CLASS_NAME_COLLAPSING);
181
+ this._element.style[dimension] = 0;
182
+
183
+ if (this._triggerArray.length) {
184
+ $__default["default"](this._triggerArray).removeClass(CLASS_NAME_COLLAPSED).attr('aria-expanded', true);
185
+ }
186
+
187
+ this.setTransitioning(true);
188
+
189
+ var complete = function complete() {
190
+ $__default["default"](_this._element).removeClass(CLASS_NAME_COLLAPSING).addClass(CLASS_NAME_COLLAPSE + " " + CLASS_NAME_SHOW);
191
+ _this._element.style[dimension] = '';
192
+
193
+ _this.setTransitioning(false);
194
+
195
+ $__default["default"](_this._element).trigger(EVENT_SHOWN);
196
+ };
197
+
198
+ var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
199
+ var scrollSize = "scroll" + capitalizedDimension;
200
+ var transitionDuration = Util__default["default"].getTransitionDurationFromElement(this._element);
201
+ $__default["default"](this._element).one(Util__default["default"].TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
202
+ this._element.style[dimension] = this._element[scrollSize] + "px";
203
+ };
204
+
205
+ _proto.hide = function hide() {
206
+ var _this2 = this;
207
+
208
+ if (this._isTransitioning || !$__default["default"](this._element).hasClass(CLASS_NAME_SHOW)) {
209
+ return;
210
+ }
211
+
212
+ var startEvent = $__default["default"].Event(EVENT_HIDE);
213
+ $__default["default"](this._element).trigger(startEvent);
214
+
215
+ if (startEvent.isDefaultPrevented()) {
216
+ return;
217
+ }
218
+
219
+ var dimension = this._getDimension();
220
+
221
+ this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + "px";
222
+ Util__default["default"].reflow(this._element);
223
+ $__default["default"](this._element).addClass(CLASS_NAME_COLLAPSING).removeClass(CLASS_NAME_COLLAPSE + " " + CLASS_NAME_SHOW);
224
+ var triggerArrayLength = this._triggerArray.length;
225
+
226
+ if (triggerArrayLength > 0) {
227
+ for (var i = 0; i < triggerArrayLength; i++) {
228
+ var trigger = this._triggerArray[i];
229
+ var selector = Util__default["default"].getSelectorFromElement(trigger);
230
+
231
+ if (selector !== null) {
232
+ var $elem = $__default["default"]([].slice.call(document.querySelectorAll(selector)));
233
+
234
+ if (!$elem.hasClass(CLASS_NAME_SHOW)) {
235
+ $__default["default"](trigger).addClass(CLASS_NAME_COLLAPSED).attr('aria-expanded', false);
236
+ }
237
+ }
238
+ }
239
+ }
240
+
241
+ this.setTransitioning(true);
242
+
243
+ var complete = function complete() {
244
+ _this2.setTransitioning(false);
245
+
246
+ $__default["default"](_this2._element).removeClass(CLASS_NAME_COLLAPSING).addClass(CLASS_NAME_COLLAPSE).trigger(EVENT_HIDDEN);
247
+ };
248
+
249
+ this._element.style[dimension] = '';
250
+ var transitionDuration = Util__default["default"].getTransitionDurationFromElement(this._element);
251
+ $__default["default"](this._element).one(Util__default["default"].TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
252
+ };
253
+
254
+ _proto.setTransitioning = function setTransitioning(isTransitioning) {
255
+ this._isTransitioning = isTransitioning;
256
+ };
257
+
258
+ _proto.dispose = function dispose() {
259
+ $__default["default"].removeData(this._element, DATA_KEY);
260
+ this._config = null;
261
+ this._parent = null;
262
+ this._element = null;
263
+ this._triggerArray = null;
264
+ this._isTransitioning = null;
265
+ } // Private
266
+ ;
267
+
268
+ _proto._getConfig = function _getConfig(config) {
269
+ config = _extends({}, Default, config);
270
+ config.toggle = Boolean(config.toggle); // Coerce string values
271
+
272
+ Util__default["default"].typeCheckConfig(NAME, config, DefaultType);
273
+ return config;
274
+ };
275
+
276
+ _proto._getDimension = function _getDimension() {
277
+ var hasWidth = $__default["default"](this._element).hasClass(DIMENSION_WIDTH);
278
+ return hasWidth ? DIMENSION_WIDTH : DIMENSION_HEIGHT;
279
+ };
280
+
281
+ _proto._getParent = function _getParent() {
282
+ var _this3 = this;
283
+
284
+ var parent;
285
+
286
+ if (Util__default["default"].isElement(this._config.parent)) {
287
+ parent = this._config.parent; // It's a jQuery object
288
+
289
+ if (typeof this._config.parent.jquery !== 'undefined') {
290
+ parent = this._config.parent[0];
291
+ }
292
+ } else {
293
+ parent = document.querySelector(this._config.parent);
294
+ }
295
+
296
+ var selector = "[data-toggle=\"collapse\"][data-parent=\"" + this._config.parent + "\"]";
297
+ var children = [].slice.call(parent.querySelectorAll(selector));
298
+ $__default["default"](children).each(function (i, element) {
299
+ _this3._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]);
300
+ });
301
+ return parent;
302
+ };
303
+
304
+ _proto._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) {
305
+ var isOpen = $__default["default"](element).hasClass(CLASS_NAME_SHOW);
306
+
307
+ if (triggerArray.length) {
308
+ $__default["default"](triggerArray).toggleClass(CLASS_NAME_COLLAPSED, !isOpen).attr('aria-expanded', isOpen);
309
+ }
310
+ } // Static
311
+ ;
312
+
313
+ Collapse._getTargetFromElement = function _getTargetFromElement(element) {
314
+ var selector = Util__default["default"].getSelectorFromElement(element);
315
+ return selector ? document.querySelector(selector) : null;
316
+ };
317
+
318
+ Collapse._jQueryInterface = function _jQueryInterface(config) {
319
+ return this.each(function () {
320
+ var $element = $__default["default"](this);
321
+ var data = $element.data(DATA_KEY);
322
+
323
+ var _config = _extends({}, Default, $element.data(), typeof config === 'object' && config ? config : {});
324
+
325
+ if (!data && _config.toggle && typeof config === 'string' && /show|hide/.test(config)) {
326
+ _config.toggle = false;
327
+ }
328
+
329
+ if (!data) {
330
+ data = new Collapse(this, _config);
331
+ $element.data(DATA_KEY, data);
332
+ }
333
+
334
+ if (typeof config === 'string') {
335
+ if (typeof data[config] === 'undefined') {
336
+ throw new TypeError("No method named \"" + config + "\"");
337
+ }
338
+
339
+ data[config]();
340
+ }
341
+ });
342
+ };
343
+
344
+ _createClass(Collapse, null, [{
345
+ key: "VERSION",
346
+ get: function get() {
347
+ return VERSION;
348
+ }
349
+ }, {
350
+ key: "Default",
351
+ get: function get() {
352
+ return Default;
353
+ }
354
+ }]);
355
+
356
+ return Collapse;
357
+ }();
358
+ /**
359
+ * Data API implementation
360
+ */
361
+
362
+
363
+ $__default["default"](document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
364
+ // preventDefault only for <a> elements (which change the URL) not inside the collapsible element
365
+ if (event.currentTarget.tagName === 'A') {
366
+ event.preventDefault();
367
+ }
368
+
369
+ var $trigger = $__default["default"](this);
370
+ var selector = Util__default["default"].getSelectorFromElement(this);
371
+ var selectors = [].slice.call(document.querySelectorAll(selector));
372
+ $__default["default"](selectors).each(function () {
373
+ var $target = $__default["default"](this);
374
+ var data = $target.data(DATA_KEY);
375
+ var config = data ? 'toggle' : $trigger.data();
376
+
377
+ Collapse._jQueryInterface.call($target, config);
378
+ });
379
+ });
380
+ /**
381
+ * jQuery
382
+ */
383
+
384
+ $__default["default"].fn[NAME] = Collapse._jQueryInterface;
385
+ $__default["default"].fn[NAME].Constructor = Collapse;
386
+
387
+ $__default["default"].fn[NAME].noConflict = function () {
388
+ $__default["default"].fn[NAME] = JQUERY_NO_CONFLICT;
389
+ return Collapse._jQueryInterface;
390
+ };
391
+
392
+ return Collapse;
393
+
394
+ }));