PageSourceSearch

https://www.scribbr.co.uk/wp-content/cache/min/1/wp-content/themes…/bootstrap/dropdown.js?ver=1788179853

js scribbr.co.uk collected 2026-09-28 06:39:31 UTC 13,011 bytes, 49 lines download raw bytes

1/*!
2  * Bootstrap dropdown.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){typeof exports==='object'&&typeof module!=='undefined'?module.exports=factory(require('jquery'),require('popper.js'),require('./util.js')):typeof define==='function'&&define.amd?define(['jquery','popper.js','./util'],factory):(global=typeof globalThis!=='undefined'?globalThis:global||self,global.Dropdown=factory(global.jQuery,global.Popper,global.Util))})(this,(function($,Popper,Util){'use strict';function _interopDefaultLegacy(e){return e&&typeof e==='object'&&'default' in e?e:{'default':e}}
7var $__default=_interopDefaultLegacy($);var Popper__default=_interopDefaultLegacy(Popper);var Util__default=_interopDefaultLegacy(Util);function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1;descriptor.configurable=!0;if("value" in descriptor)descriptor.writable=!0;Object.defineProperty(target,descriptor.key,descriptor)}}
8function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}
9function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}
10return target};return _extends.apply(this,arguments)}
11var NAME='dropdown';var VERSION='4.6.1';var DATA_KEY='bs.dropdown';var EVENT_KEY="."+DATA_KEY;var DATA_API_KEY='.data-api';var JQUERY_NO_CONFLICT=$__default["default"].fn[NAME];var ESCAPE_KEYCODE=27;var SPACE_KEYCODE=32;var TAB_KEYCODE=9;var ARROW_UP_KEYCODE=38;var ARROW_DOWN_KEYCODE=40;var RIGHT_MOUSE_BUTTON_WHICH=3;var REGEXP_KEYDOWN=new RegExp(ARROW_UP_KEYCODE+"|"+ARROW_DOWN_KEYCODE+"|"+ESCAPE_KEYCODE);var CLASS_NAME_DISABLED='disabled';var CLASS_NAME_SHOW='show';var CLASS_NAME_DROPUP='dropup';var CLASS_NAME_DROPRIGHT='dropright';var CLASS_NAME_DROPLEFT='dropleft';var CLASS_NAME_MENURIGHT='dropdown-menu-right';var CLASS_NAME_POSITION_STATIC='position-static';var EVENT_HIDE="hide"+EVENT_KEY;var EVENT_HIDDEN="hidden"+EVENT_KEY;var EVENT_SHOW="show"+EVENT_KEY;var EVENT_SHOWN="shown"+EVENT_KEY;var EVENT_CLICK="click"+EVENT_KEY;var EVENT_CLICK_DATA_API="click"+EVENT_KEY+DATA_API_KEY;var EVENT_KEYDOWN_DATA_API="keydown"+EVENT_KEY+DATA_API_KEY;var EVENT_KEYUP_DATA_API="keyup"+EVENT_KEY+DATA_API_KEY;var SELECTOR_DATA_TOGGLE='[data-toggle="dropdown"]';var SELECTOR_FORM_CHILD='.dropdown form';var SELECTOR_MENU='.dropdown-menu';var SELECTOR_NAVBAR_NAV='.navbar-nav';var SELECTOR_VISIBLE_ITEMS='.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)';var PLACEMENT_TOP='top-start';var PLACEMENT_TOPEND='top-end';var PLACEMENT_BOTTOM='bottom-start';var PLACEMENT_BOTTOMEND='bottom-end';var PLACEMENT_RIGHT='right-start';var PLACEMENT_LEFT='left-start';var Default={offset:0,flip:!0,boundary:'scrollParent',reference:'toggle',display:'dynamic',popperConfig:null};var DefaultType={offset:'(number|string|function)',flip:'boolean',boundary:'(string|element)',reference:'(string|element)',display:'string',popperConfig:'(null|object)'};var Dropdown=function(){function Dropdown(element,config){this._element=element;this._popper=null;this._config=this._getConfig(config);this._menu=this._getMenuElement();this._inNavbar=this._detectNavbar();this._addEventListeners()}
12var _proto=Dropdown.prototype;_proto.toggle=function toggle(){if(this._element.disabled||$__default["default"](this._element).hasClass(CLASS_NAME_DISABLED)){return}
13var isActive=$__default["default"](this._menu).hasClass(CLASS_NAME_SHOW);Dropdown._clearMenus();if(isActive){return}
14this.show(!0)};_proto.show=function show(usePopper){if(usePopper===void 0){usePopper=!1}
15if(this._element.disabled||$__default["default"](this._element).hasClass(CLASS_NAME_DISABLED)||$__default["default"](this._menu).hasClass(CLASS_NAME_SHOW)){return}
16var relatedTarget={relatedTarget:this._element};var showEvent=$__default["default"].Event(EVENT_SHOW,relatedTarget);var parent=Dropdown._getParentFromElement(this._element);$__default["default"](parent).trigger(showEvent);if(showEvent.isDefaultPrevented()){return}
17if(!this._inNavbar&&usePopper){if(typeof Popper__default["default"]==='undefined'){throw new TypeError('Bootstrap\'s dropdowns require Popper (https://popper.js.org)')}
18var referenceElement=this._element;if(this._config.reference==='parent'){referenceElement=parent}else if(Util__default["default"].isElement(this._config.reference)){referenceElement=this._config.reference;if(typeof this._config.reference.jquery!=='undefined'){referenceElement=this._config.reference[0]}}
19if(this._config.boundary!=='scrollParent'){$__default["default"](parent).addClass(CLASS_NAME_POSITION_STATIC)}
20this._popper=new Popper__default["default"](referenceElement,this._menu,this._getPopperConfig())}
21if('ontouchstart' in document.documentElement&&$__default["default"](parent).closest(SELECTOR_NAVBAR_NAV).length===0){$__default["default"](document.body).children().on('mouseover',null,$__default["default"].noop)}
22this._element.focus();this._element.setAttribute('aria-expanded',!0);$__default["default"](this._menu).toggleClass(CLASS_NAME_SHOW);$__default["default"](parent).toggleClass(CLASS_NAME_SHOW).trigger($__default["default"].Event(EVENT_SHOWN,relatedTarget))};_proto.hide=function hide(){if(this._element.disabled||$__default["default"](this._element).hasClass(CLASS_NAME_DISABLED)||!$__default["default"](this._menu).hasClass(CLASS_NAME_SHOW)){return}
23var relatedTarget={relatedTarget:this._element};var hideEvent=$__default["default"].Event(EVENT_HIDE,relatedTarget);var parent=Dropdown._getParentFromElement(this._element);$__default["default"](parent).trigger(hideEvent);if(hideEvent.isDefaultPrevented()){return}
24if(this._popper){this._popper.destroy()}
25$__default["default"](this._menu).toggleClass(CLASS_NAME_SHOW);$__default["default"](parent).toggleClass(CLASS_NAME_SHOW).trigger($__default["default"].Event(EVENT_HIDDEN,relatedTarget))};_proto.dispose=function dispose(){$__default["default"].removeData(this._element,DATA_KEY);$__default["default"](this._element).off(EVENT_KEY);this._element=null;this._menu=null;if(this._popper!==null){this._popper.destroy();this._popper=null}};_proto.update=function update(){this._inNavbar=this._detectNavbar();if(this._popper!==null){this._popper.scheduleUpdate()}};_proto._addEventListeners=function _addEventListeners(){var _this=this;$__default["default"](this._element).on(EVENT_CLICK,function(event){event.preventDefault();event.stopPropagation();_this.toggle()})};_proto._getConfig=function _getConfig(config){config=_extends({},this.constructor.Default,$__default["default"](this._element).data(),config);Util__default["default"].typeCheckConfig(NAME,config,this.constructor.DefaultType);return config};_proto._getMenuElement=function _getMenuElement(){if(!this._menu){var parent=Dropdown._getParentFromElement(this._element);if(parent){this._menu=parent.querySelector(SELECTOR_MENU)}}
26return this._menu};_proto._getPlacement=function _getPlacement(){var $parentDropdown=$__default["default"](this._element.parentNode);var placement=PLACEMENT_BOTTOM;if($parentDropdown.hasClass(CLASS_NAME_DROPUP)){placement=$__default["default"](this._menu).hasClass(CLASS_NAME_MENURIGHT)?PLACEMENT_TOPEND:PLACEMENT_TOP}else if($parentDropdown.hasClass(CLASS_NAME_DROPRIGHT)){placement=PLACEMENT_RIGHT}else if($parentDropdown.hasClass(CLASS_NAME_DROPLEFT)){placement=PLACEMENT_LEFT}else if($__default["default"](this._menu).hasClass(CLASS_NAME_MENURIGHT)){placement=PLACEMENT_BOTTOMEND}
27return placement};_proto._detectNavbar=function _detectNavbar(){return $__default["default"](this._element).closest('.navbar').length>0};_proto._getOffset=function _getOffset(){var _this2=this;var offset={};if(typeof this._config.offset==='function'){offset.fn=function(data){data.offsets=_extends({},data.offsets,_this2._config.offset(data.offsets,_this2._element));return data}}else{offset.offset=this._config.offset}
28return offset};_proto._getPopperConfig=function _getPopperConfig(){var popperConfig={placement:this._getPlacement(),modifiers:{offset:this._getOffset(),flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};if(this._config.display==='static'){popperConfig.modifiers.applyStyle={enabled:!1}}
29return _extends({},popperConfig,this._config.popperConfig)};Dropdown._jQueryInterface=function _jQueryInterface(config){return this.each(function(){var data=$__default["default"](this).data(DATA_KEY);var _config=typeof config==='object'?config:null;if(!data){data=new Dropdown(this,_config);$__default["default"](this).data(DATA_KEY,data)}
30if(typeof config==='string'){if(typeof data[config]==='undefined'){throw new TypeError("No method n
30amed \""+config+"\"")}
31data[config]()}})};Dropdown._clearMenus=function _clearMenus(event){if(event&&(event.which===RIGHT_MOUSE_BUTTON_WHICH||event.type==='keyup'&&event.which!==TAB_KEYCODE)){return}
32var toggles=[].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE));for(var i=0,len=toggles.length;i<len;i++){var parent=Dropdown._getParentFromElement(toggles[i]);var context=$__default["default"](toggles[i]).data(DATA_KEY);var relatedTarget={relatedTarget:toggles[i]};if(event&&event.type==='click'){relatedTarget.clickEvent=event}
33if(!context){continue}
34var dropdownMenu=context._menu;if(!$__default["default"](parent).hasClass(CLASS_NAME_SHOW)){continue}
35if(event&&(event.type==='click'&&/input|textarea/i.test(event.target.tagName)||event.type==='keyup'&&event.which===TAB_KEYCODE)&&$__default["default"].contains(parent,event.target)){continue}
36var hideEvent=$__default["default"].Event(EVENT_HIDE,relatedTarget);$__default["default"](parent).trigger(hideEvent);if(hideEvent.isDefaultPrevented()){continue}
37if('ontouchstart' in document.documentElement){$__default["default"](document.body).children().off('mouseover',null,$__default["default"].noop)}
38toggles[i].setAttribute('aria-expanded','false');if(context._popper){context._popper.destroy()}
39$__default["default"](dropdownMenu).removeClass(CLASS_NAME_SHOW);$__default["default"](parent).removeClass(CLASS_NAME_SHOW).trigger($__default["default"].Event(EVENT_HIDDEN,relatedTarget))}};Dropdown._getParentFromElement=function _getParentFromElement(element){var parent;var selector=Util__default["default"].getSelectorFromElement(element);if(selector){parent=document.querySelector(selector)}
40return parent||element.parentNode};Dropdown._dataApiKeydownHandler=function _dataApiKeydownHandler(event){if(/input|textarea/i.test(event.target.tagName)?event.which===SPACE_KEYCODE||event.which!==ESCAPE_KEYCODE&&(event.which!==ARROW_DOWN_KEYCODE&&event.which!==ARROW_UP_KEYCODE||$__default["default"](event.target).closest(SELECTOR_MENU).length):!REGEXP_KEYDOWN.test(event.which)){return}
41if(this.disabled||$__default["default"](this).hasClass(CLASS_NAME_DISABLED)){return}
42var parent=Dropdown._getParentFromElement(this);var isActive=$__default["default"](parent).hasClass(CLASS_NAME_SHOW);if(!isActive&&event.which===ESCAPE_KEYCODE){return}
43event.preventDefault();event.stopPropagation();if(!isActive||event.which===ESCAPE_KEYCODE||event.which===SPACE_KEYCODE){if(event.which===ESCAPE_KEYCODE){$__default["default"](parent.querySelector(SELECTOR_DATA_TOGGLE)).trigger('focus')}
44$__default["default"](this).trigger('click');return}
45var items=[].slice.call(parent.querySelectorAll(SELECTOR_VISIBLE_ITEMS)).filter(function(item){return $__default["default"](item).is(':visible')});if(items.length===0){return}
46var index=items.indexOf(event.target);if(event.which===ARROW_UP_KEYCODE&&index>0){index--}
47if(event.which===ARROW_DOWN_KEYCODE&&index<items.length-1){index++}
48if(index<0){index=0}
49items[index].focus()};_createClass(Dropdown,null,[{key:"VERSION",get:function get(){return VERSION}},{key:"Default",get:function get(){return Default}},{key:"DefaultType",get:function get(){return DefaultType}}]);return Dropdown}();$__default["default"](document).on(EVENT_KEYDOWN_DATA_API,SELECTOR_DATA_TOGGLE,Dropdown._dataApiKeydownHandler).on(EVENT_KEYDOWN_DATA_API,SELECTOR_MENU,Dropdown._dataApiKeydownHandler).on(EVENT_CLICK_DATA_API+" "+EVENT_KEYUP_DATA_API,Dropdown._clearMenus).on(EVENT_CLICK_DATA_API,SELECTOR_DATA_TOGGLE,function(event){event.preventDefault();event.stopPropagation();Dropdown._jQueryInterface.call($__default["default"](this),'toggle')}).on(EVENT_CLICK_DATA_API,SELECTOR_FORM_CHILD,function(e){e.stopPropagation()});$__default["default"].fn[NAME]=Dropdown._jQueryInterface;$__default["default"].fn[NAME].Constructor=Dropdown;$__default["default"].fn[NAME].noConflict=function(){$__default["default"].fn[NAME]=JQUERY_NO_CONFLICT;return Dropdown._jQueryInterface};return Dropdown}))

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.