vendor: 5,490 bytes, lines 1-196
1/*! 2 * Bootstrap v3.3.5 (http://getbootstrap.com) 3 * Copyright 2011-2016 Twitter, Inc. 4 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) 5 */ 6 7/*! 8 * Generated using the Bootstrap Customizer (http://getbootstrap.com/customize/?id=ded7ca52facbbc6044526f4e6e624351) 9 * Config saved to config.json and https://gist.github.com/ded7ca52facbbc6044526f4e6e624351 10 */ 11if (typeof jQuery === 'undefined') { 12 throw new Error('Bootstrap\'s JavaScript requires jQuery') 13} 14+function ($) { 15 'use strict'; 16 var version = $.fn.jquery.split(' ')[0].split('.') 17 if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1) || (version[0] > 2)) { 18 throw new Error('Bootstrap\'s JavaScript requires jQuery version 1.9.1 or higher, but lower than version 3') 19 } 20}(jQuery); 21 22/* ======================================================================== 23 * Bootstrap: tab.js v3.3.6 24 * http://getbootstrap.com/javascript/#tabs 25 * ======================================================================== 26 * Copyright 2011-2015 Twitter, Inc. 27 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) 28 * ======================================================================== */ 29 30 31+function ($) { 32 'use strict'; 33 34 // TAB CLASS DEFINITION 35 // ==================== 36 37 var Tab = function (element) { 38 // jscs:disable requireDollarBeforejQueryAssignment 39 this.element = $(element) 40 // jscs:enable requireDollarBeforejQueryAssignment 41 } 42 43 Tab.VERSION = '3.3.6' 44 45 Tab.TRANSITION_DURATION = 150 46 47 Tab.prototype.show = function () { 48 var $this = this.element 49 var $ul = $this.closest('ul:not(.dropdown-menu)') 50 var selector = $this.data('target') 51 52 if (!selector) { 53 selector = $this.attr('href') 54 selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7 55 } 56 57 if ($this.parent('li').hasClass('active')) return 58 59 var $previous = $ul.find('.active:last a') 60 var hideEvent = $.Event('hide.bs.tab', { 61 relatedTarget: $this[0] 62 }) 63 var showEvent = $.Event('show.bs.tab', { 64 relatedTarget: $previous[0] 65 }) 66 67 $previous.trigger(hideEvent) 68 $this.trigger(showEvent) 69 70 if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) return 71 72 var $target = $(selector) 73 74 this.activate($this.closest('li'), $ul) 75 this.activate($target, $target.parent(), function () { 76 $previous.trigger({ 77 type: 'hidden.bs.tab', 78 relatedTarget: $this[0] 79 }) 80 $this.trigger({ 81 type: 'shown.bs.tab', 82 relatedTarget: $previous[0] 83 }) 84 }) 85 } 86 87 Tab.prototype.activate = function (element, container, callback) { 88 var $active = container.find('> .active') 89 var transition = callback 90 && $.support.transition 91 && ($active.length && $active.hasClass('fade') || !!container.find('> .fade').length) 92 93 function next() { 94 $active 95 .removeClass('active') 96 .find('> .dropdown-menu > .active') 97 .removeClass('active') 98 .end() 99 .find('[data-toggle="tab"]') 100 .attr('aria-expanded', false) 101 102 element 103 .addClass('active') 104 .find('[data-toggle="tab"]') 105 .attr('aria-expanded', true) 106 107 if (transition) { 108 element[0].offsetWidth // reflow for transition 109 element.addClass('in') 110 } else { 111 element.removeClass('fade') 112 } 113 114 if (element.parent('.dropdown-menu').length) { 115 element 116 .closest('li.dropdown') 117 .addClass('active') 118 .end() 119 .find('[data-toggle="tab"]') 120 .attr('aria-expanded', true) 121 } 122 123 callback && callback() 124 } 125 126 $active.length && transition ? 127 $active 128 .one('bsTransitionEnd', next) 129 .emulateTransitionEnd(Tab.TRANSITION_DURATION) : 130 next() 131 132 $active.removeClass('in') 133 } 134 135 136 // TAB PLUGIN DEFINITION 137 // ===================== 138 139 function Plugin(option) { 140 return this.each(function () { 141 var $this = $(this) 142 var data = $this.data('bs.tab') 143 144 if (!data) $this.data('bs.tab', (data = new Tab(this))) 145 if (typeof option == 'string') data[option]() 146 }) 147 } 148 149 var old = $.fn.tab 150 151 $.fn.tab = Plugin 152 $.fn.tab.Constructor = Tab 153 154 155 // TAB NO CONFLICT 156 // =============== 157 158 $.fn.tab.noConflict = function () { 159 $.fn.tab = old 160 return this 161 } 162 163 164 // TAB DATA-API 165 // ============ 166 167 var clickHandler = function (e) { 168 e.preventDefault() 169 Plugin.call($(this), 'show') 170 } 171 172 $(document) 173 .on('click.bs.tab.data-api', '[data-toggle="tab"]', clickHandler) 174 .on('click.bs.tab.data-api', '[data-toggle="pill"]', clickHandler) 175 176}(jQuery); 177 178/* ======================================================================== 179 * Bootstrap: collapse.js v3.3.6 180 * http://getbootstrap.com/javascript/#collapse 181 * ======================================================================== 182 * Copyright 2011-2015 Twitter, Inc. 183 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) 184 * ======================================================================== */ 185 186 187+function ($) { 188 'use strict'; 189 190 // COLLAPSE PUBLIC CLASS DEFINITION 191 // ================================ 192 193 var Collapse = function (element, options) { 194 this.$element = $(element) 195 this.options = $.extend({}, Collapse.DEFAULTS, options) 196 this.$trigger = $('[data-toggle="collapse"][href="#' + element.i
vendor: 5,670 bytes, lines 196-401
196d + '"],' + 197 '[data-toggle="collapse"][data-target="#' + element.id + '"]') 198 this.transitioning = null 199 200 if (this.options.parent) { 201 this.$parent = this.getParent() 202 } else { 203 this.addAriaAndCollapsedClass(this.$element, this.$trigger) 204 } 205 206 if (this.options.toggle) this.toggle() 207 } 208 209 Collapse.VERSION = '3.3.6' 210 211 Collapse.TRANSITION_DURATION = 350 212 213 Collapse.DEFAULTS = { 214 toggle: true 215 } 216 217 Collapse.prototype.dimension = function () { 218 var hasWidth = this.$element.hasClass('width') 219 return hasWidth ? 'width' : 'height' 220 } 221 222 Collapse.prototype.show = function () { 223 if (this.transitioning || this.$element.hasClass('in')) return 224 225 var activesData 226 var actives = this.$parent && this.$parent.children('.panel').children('.in, .collapsing') 227 228 if (actives && actives.length) { 229 activesData = actives.data('bs.collapse') 230 if (activesData && activesData.transitioning) return 231 } 232 233 var startEvent = $.Event('show.bs.collapse') 234 this.$element.trigger(startEvent) 235 if (startEvent.isDefaultPrevented()) return 236 237 if (actives && actives.length) { 238 Plugin.call(actives, 'hide') 239 activesData || actives.data('bs.collapse', null) 240 } 241 242 var dimension = this.dimension() 243 244 this.$element 245 .removeClass('collapse') 246 .addClass('collapsing')[dimension](0) 247 .attr('aria-expanded', true) 248 249 this.$trigger 250 .removeClass('collapsed') 251 .attr('aria-expanded', true) 252 253 this.transitioning = 1 254 255 var complete = function () { 256 this.$element 257 .removeClass('collapsing') 258 .addClass('collapse in')[dimension]('') 259 this.transitioning = 0 260 this.$element 261 .trigger('shown.bs.collapse') 262 } 263 264 if (!$.support.transition) return complete.call(this) 265 266 var scrollSize = $.camelCase(['scroll', dimension].join('-')) 267 268 this.$element 269 .one('bsTransitionEnd', $.proxy(complete, this)) 270 .emulateTransitionEnd(Collapse.TRANSITION_DURATION)[dimension](this.$element[0][scrollSize]) 271 } 272 273 Collapse.prototype.hide = function () { 274 if (this.transitioning || !this.$element.hasClass('in')) return 275 276 var startEvent = $.Event('hide.bs.collapse') 277 this.$element.trigger(startEvent) 278 if (startEvent.isDefaultPrevented()) return 279 280 var dimension = this.dimension() 281 282 this.$element[dimension](this.$element[dimension]())[0].offsetHeight 283 284 this.$element 285 .addClass('collapsing') 286 .removeClass('collapse in') 287 .attr('aria-expanded', false) 288 289 this.$trigger 290 .addClass('collapsed') 291 .attr('aria-expanded', false) 292 293 this.transitioning = 1 294 295 var complete = function () { 296 this.transitioning = 0 297 this.$element 298 .removeClass('collapsing') 299 .addClass('collapse') 300 .trigger('hidden.bs.collapse') 301 } 302 303 if (!$.support.transition) return complete.call(this) 304 305 this.$element 306 [dimension](0) 307 .one('bsTransitionEnd', $.proxy(complete, this)) 308 .emulateTransitionEnd(Collapse.TRANSITION_DURATION) 309 } 310 311 Collapse.prototype.toggle = function () { 312 this[this.$element.hasClass('in') ? 'hide' : 'show']() 313 } 314 315 Collapse.prototype.getParent = function () { 316 return $(this.options.parent) 317 .find('[data-toggle="collapse"][data-parent="' + this.options.parent + '"]') 318 .each($.proxy(function (i, element) { 319 var $element = $(element) 320 this.addAriaAndCollapsedClass(getTargetFromTrigger($element), $element) 321 }, this)) 322 .end() 323 } 324 325 Collapse.prototype.addAriaAndCollapsedClass = function ($element, $trigger) { 326 var isOpen = $element.hasClass('in') 327 328 $element.attr('aria-expanded', isOpen) 329 $trigger 330 .toggleClass('collapsed', !isOpen) 331 .attr('aria-expanded', isOpen) 332 } 333 334 function getTargetFromTrigger($trigger) { 335 var href 336 var target = $trigger.attr('data-target') 337 || (href = $trigger.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') // strip for ie7 338 339 return $(target) 340 } 341 342 343 // COLLAPSE PLUGIN DEFINITION 344 // ========================== 345 346 function Plugin(option) { 347 return this.each(function () { 348 var $this = $(this) 349 var data = $this.data('bs.collapse') 350 var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option) 351 352 if (!data && options.toggle && /show|hide/.test(option)) options.toggle = false 353 if (!data) $this.data('bs.collapse', (data = new Collapse(this, options))) 354 if (typeof option == 'string') data[option]() 355 }) 356 } 357 358 var old = $.fn.collapse 359 360 $.fn.collapse = Plugin 361 $.fn.collapse.Constructor = Collapse 362 363 364 // COLLAPSE NO CONFLICT 365 // ==================== 366 367 $.fn.collapse.noConflict = function () { 368 $.fn.collapse = old 369 return this 370 } 371 372 373 // COLLAPSE DATA-API 374 // ================= 375 376 $(document).on('click.bs.collapse.data-api', '[data-toggle="collapse"]', function (e) { 377 var $this = $(this) 378 379 if (!$this.attr('data-target')) e.preventDefault() 380 381 var $target = getTargetFromTrigger($this) 382 var data = $target.data('bs.collapse') 383 var option = data ? 'toggle' : $this.data() 384 385 Plugin.call($target, option) 386 }) 387 388}(jQuery); 389 390/* ======================================================================== 391 * Bootstrap: transition.js v3.3.6 392 * http://getbootstrap.com/javascript/#transitions 393 * ======================================================================== 394 * Copyright 2011-2015 Twitter, Inc. 395 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) 396 * ======================================================================== */ 397 398 399+function ($) { 400 'use strict'; 401
vendor: 1,364 bytes, lines 402-448
402 // CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/) 403 // ============================================================ 404 405 function transitionEnd() { 406 var el = document.createElement('bootstrap') 407 408 var transEndEventNames = { 409 WebkitTransition : 'webkitTransitionEnd', 410 MozTransition : 'transitionend', 411 OTransition : 'oTransitionEnd otransitionend', 412 transition : 'transitionend' 413 } 414 415 for (var name in transEndEventNames) { 416 if (el.style[name] !== undefined) { 417 return { end: transEndEventNames[name] } 418 } 419 } 420 421 return false // explicit for ie8 ( ._.) 422 } 423 424 // http://blog.alexmaccaw.com/css-transitions 425 $.fn.emulateTransitionEnd = function (duration) { 426 var called = false 427 var $el = this 428 $(this).one('bsTransitionEnd', function () { called = true }) 429 var callback = function () { if (!called) $($el).trigger($.support.transition.end) } 430 setTimeout(callback, duration) 431 return this 432 } 433 434 $(function () { 435 $.support.transition = transitionEnd() 436 437 if (!$.support.transition) return 438 439 $.event.special.bsTransitionEnd = { 440 bindType: $.support.transition.end, 441 delegateType: $.support.transition.end, 442 handle: function (e) { 443 if ($(e.target).is(this)) return e.handleObj.handler.apply(this, arguments) 444 } 445 } 446 }) 447 448}(jQuery);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.