weborama-ui-react
Version:
Weborama Semantic UI React Components
1 lines • 90.3 kB
JavaScript
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react")):"function"==typeof define&&define.amd?define(["react"],t):"object"==typeof exports?exports["weborama-ui-react"]=t(require("react")):e["weborama-ui-react"]=t(e.react)}(window,(function(e){return function(e){var t={};function n(o){if(t[o])return t[o].exports;var i=t[o]={i:o,l:!1,exports:{}};return e[o].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(o,i,function(t){return e[t]}.bind(null,i));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=118)}({0:function(e,t,n){e.exports=n(6)()},1:function(e,t){e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=function(e,t){var n=e[1]||"",o=e[3];if(!o)return n;if(t&&"function"==typeof btoa){var i=(a=o,"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(a))))+" */"),r=o.sources.map((function(e){return"/*# sourceURL="+o.sourceRoot+e+" */"}));return[n].concat(r).concat([i]).join("\n")}var a;return[n].join("\n")}(t,e);return t[2]?"@media "+t[2]+"{"+n+"}":n})).join("")},t.i=function(e,n){"string"==typeof e&&(e=[[null,e,""]]);for(var o={},i=0;i<this.length;i++){var r=this[i][0];"number"==typeof r&&(o[r]=!0)}for(i=0;i<e.length;i++){var a=e[i];"number"==typeof a[0]&&o[a[0]]||(n&&!a[2]?a[2]=n:n&&(a[2]="("+a[2]+") and ("+n+")"),t.push(a))}},t}},118:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}return function(t,n,o){return n&&e(t.prototype,n),o&&e(t,o),t}}(),i=s(n(0)),r=s(n(4)),a=s(n(5));function s(e){return e&&e.__esModule?e:{default:e}}n(119),n(120);var l=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state={defaultValue:e.defaultValue||"",on:e.on||"click"},n.onChange=n.onChange.bind(n),n.onShow=n.onShow.bind(n),n.onHide=n.onHide.bind(n),n.handleFilterChange=n.handleFilterChange.bind(n),n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),o(t,[{key:"componentDidMount",value:function(){var e=this,t={onChange:this.onChange,onShow:this.onShow,onHide:this.onHide,on:this.state.on};this.props.maxSelections&&(t.maxSelections=this.props.maxSelections),this.props.allowAdditions&&(t.allowAdditions=this.props.allowAdditions),this.props.upward&&(t.direction="upward"),$(this.refs.dropdown).dropdown(t),""!==this.state.defaultValue&&setTimeout((function(){$(e.refs.dropdown).dropdown("set selected",e.state.defaultValue)}),350)}},{key:"componentDidUpdate",value:function(e,t){var n=this;(t.defaultValue!==this.state.defaultValue||e.children&&e.children.length!==this.props.children.length)&&setTimeout((function(){$(n.refs.dropdown).dropdown("set selected",n.state.defaultValue)}),10)}},{key:"onChange",value:function(e){this.props.onChange&&this.props.onChange(e)}},{key:"onShow",value:function(){this.props.onShow&&"function"==typeof this.props.onShow&&this.props.onShow("show")}},{key:"onHide",value:function(){this.props.onHide&&"function"==typeof this.props.onHide&&this.props.onHide("hide")}},{key:"setSelected",value:function(e){$(this.refs.dropdown).dropdown("set selected",e)}},{key:"clear",value:function(){$(this.refs.dropdown).dropdown("clear")}},{key:"handleFilterChange",value:function(e){this.props.onFilterChange&&this.props.onFilterChange(e.target.value)}},{key:"render",value:function(){var e=this.props.children;!0===this.props.scrolling&&(e=r.default.createElement("div",{className:"scrolling menu"},e));var t=void 0;this.props.filter&&(t=r.default.createElement("div",{className:"ui icon search input"},r.default.createElement("i",{className:"search icon"}),r.default.createElement("input",{type:"text",placeholder:"Filter",onChange:this.handleFilterChange})));var n=r.default.createElement("input",{name:"dropdownValue",type:"hidden","data-validate":this.props.validation});this.props.isMenu&&(n=null);var o=(0,a.default)({ui:!0,right:this.props.right,left:this.props.left,floated:this.props.floated,basic:this.props.basic,icon:this.props.icon,item:this.props.item,loading:this.props.loading,selection:this.props.selection,label:this.props.label,disabled:this.props.disabled,pointing:this.props.pointing,multiple:this.props.multiple,search:this.props.search,floating:this.props.floating,inline:this.props.inline,fluid:this.props.fluid,button:this.props.button,compact:this.props.compact,dropdown:!0},this.props.className);return r.default.createElement("div",{ref:"dropdown","data-tooltip":this.props.toolTip,"data-position":"bottom right",className:o,style:this.props.style,onClick:this.props.stopPropagation?function(e){e.stopPropagation()}:null},n,!this.props.isMenu&&r.default.createElement("div",{className:"text"}),t,e)}}]),t}(r.default.Component);l.displayName="Dropdown",l.propTypes={right:i.default.bool,left:i.default.bool,floated:i.default.bool,basic:i.default.bool,loading:i.default.bool,inline:i.default.bool,pointing:i.default.bool,fluid:i.default.bool,multiple:i.default.bool,search:i.default.bool,selection:i.default.bool,className:i.default.string,scrolling:i.default.bool,filter:i.default.bool,disabled:i.default.bool,label:i.default.bool,defaultValue:i.default.any,onChange:i.default.func,onShow:i.default.func,onHide:i.default.func,floating:i.default.bool,maxSelections:i.default.number,allowAdditions:i.default.bool,compact:i.default.bool,isMenu:i.default.bool,children:i.default.any,icon:i.default.oneOfType([i.default.string,i.default.bool]),item:i.default.bool,button:i.default.bool,upward:i.default.bool,onFilterChange:i.default.func,toolTip:i.default.string,validation:i.default.string,style:i.default.object,on:i.default.oneOf(["hover","click"]),stopPropagation:i.default.bool},t.default=l},119:function(e,t){!function(e,t,n,o){"use strict";t=void 0!==t&&t.Math==Math?t:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")(),e.fn.dropdown=function(i){var r,a=e(this),s=e(n),l=a.selector||"",d="ontouchstart"in n.documentElement,u=(new Date).getTime(),c=[],p=i,m="string"==typeof p,f=[].slice.call(arguments,1);return a.each((function(h){var g,b,v,w,x,A,y,C,k=e.isPlainObject(i)?e.extend(!0,{},e.fn.dropdown.settings,i):e.extend({},e.fn.dropdown.settings),S=k.className,T=k.message,I=k.fields,D=k.keys,L=k.metadata,O=k.namespace,R=k.regExp,E=k.selector,M=k.error,j=k.templates,q="."+O,F="module-"+O,P=e(this),V=e(k.context),U=P.find(E.text),z=P.find(E.search),B=P.find(E.sizer),N=P.find(E.input),G=P.find(E.icon),H=0<P.prev().find(E.text).length?P.prev().find(E.text):P.prev(),Y=P.children(E.menu),Q=Y.find(E.item),K=!1,W=!1,Z=!1,_=this,J=P.data(F);C={initialize:function(){C.debug("Initializing dropdown",k),C.is.alreadySetup()?C.setup.reference():(C.setup.layout(),k.values&&C.change.values(k.values),C.refreshData(),C.save.defaults(),C.restore.selected(),C.create.id(),C.bind.events(),C.observeChanges(),C.instantiate())},instantiate:function(){C.verbose("Storing instance of dropdown",C),J=C,P.data(F,C)},destroy:function(){C.verbose("Destroying previous dropdown",P),C.remove.tabbable(),P.off(q).removeData(F),Y.off(q),s.off(w),C.disconnect.menuObserver(),C.disconnect.selectObserver()},observeChanges:function(){"MutationObserver"in t&&(A=new MutationObserver(C.event.select.mutation),y=new MutationObserver(C.event.menu.mutation),C.debug("Setting up mutation observer",A,y),C.observe.select(),C.observe.menu())},disconnect:{menuObserver:function(){y&&y.disconnect()},selectObserver:function(){A&&A.disconnect()}},observe:{select:function(){C.has.input()&&A.observe(P[0],{childList:!0,subtree:!0})},menu:function(){C.has.menu()&&y.observe(Y[0],{childList:!0,subtree:!0})}},create:{id:function(){x=(Math.random().toString(16)+"000000000").substr(2,8),w="."+x,C.verbose("Creating unique id for element",x)},userChoice:function(t){var n,i,r;return!!(t=t||C.get.userValues())&&(t=e.isArray(t)?t:[t],e.each(t,(function(t,a){!1===C.get.item(a)&&(r=k.templates.addition(C.add.variables(T.addResult,a)),i=e("<div />").html(r).attr("data-"+L.value,a).attr("data-"+L.text,a).addClass(S.addition).addClass(S.item),k.hideAdditions&&i.addClass(S.hidden),n=n===o?i:n.add(i),C.verbose("Creating user choices for value",a,i))})),n)},userLabels:function(t){var n=C.get.userValues();n&&(C.debug("Adding user labels",n),e.each(n,(function(e,t){C.verbose("Adding custom user value"),C.add.label(t,t)})))},menu:function(){Y=e("<div />").addClass(S.menu).appendTo(P)},sizer:function(){B=e("<span />").addClass(S.sizer).insertAfter(z)}},search:function(e){e=e!==o?e:C.get.query(),C.verbose("Searching for query",e),C.has.minCharacters(e)?C.filter(e):C.hide()},select:{firstUnfiltered:function(){C.verbose("Selecting first non-filtered element"),C.remove.selectedItem(),Q.not(E.unselectable).not(E.addition+E.hidden).eq(0).addClass(S.selected)},nextAvailable:function(e){var t=(e=e.eq(0)).nextAll(E.item).not(E.unselectable).eq(0),n=e.prevAll(E.item).not(E.unselectable).eq(0);0<t.length?(C.verbose("Moving selection to",t),t.addClass(S.selected)):(C.verbose("Moving selection to",n),n.addClass(S.selected))}},setup:{api:function(){var e={debug:k.debug,urlData:{value:C.get.value(),query:C.get.query()},on:!1};C.verbose("First request, initializing API"),P.api(e)},layout:function(){P.is("select")&&(C.setup.select(),C.setup.returnedObject()),C.has.menu()||C.create.menu(),C.is.search()&&!C.has.search()&&(C.verbose("Adding search input"),z=e("<input />").addClass(S.search).prop("autocomplete","off").insertBefore(U)),C.is.multiple()&&C.is.searchSelection()&&!C.has.sizer()&&C.create.sizer(),k.allowTab&&C.set.tabbable()},select:function(){var t=C.get.selectValues();C.debug("Dropdown initialized on a select",t),P.is("select")&&(N=P),0<N.parent(E.dropdown).length?(C.debug("UI dropdown already exists. Creating dropdown menu only"),P=N.closest(E.dropdown),C.has.menu()||C.create.menu(),Y=P.children(E.menu),C.setup.menu(t)):(C.debug("Creating entire dropdown from select"),P=e("<div />").attr("class",N.attr("class")).addClass(S.selection).addClass(S.dropdown).html(j.dropdown(t)).insertBefore(N),N.hasClass(S.multiple)&&!1===N.prop("multiple")&&(C.error(M.missingMultiple),N.prop("multiple",!0)),N.is("[multiple]")&&C.set.multiple(),N.prop("disabled")&&(C.debug("Disabling dropdown"),P.addClass(S.disabled)),N.removeAttr("class").detach().prependTo(P)),C.refresh()},menu:function(e){Y.html(j.menu(e,I)),Q=Y.find(E.item)},reference:function(){C.debug("Dropdown behavior was called on select, replacing with closest dropdown"),P=P.parent(E.dropdown),J=P.data(F),_=P.get(0),C.refresh(),C.setup.returnedObject()},returnedObject:function(){var e=a.slice(0,h),t=a.slice(h+1);a=e.add(P).add(t)}},refresh:function(){C.refreshSelectors(),C.refreshData()},refreshItems:function(){Q=Y.find(E.item)},refreshSelectors:function(){C.verbose("Refreshing selector cache"),U=P.find(E.text),z=P.find(E.search),N=P.find(E.input),G=P.find(E.icon),H=0<P.prev().find(E.text).length?P.prev().find(E.text):P.prev(),Y=P.children(E.menu),Q=Y.find(E.item)},refreshData:function(){C.verbose("Refreshing cached metadata"),Q.removeData(L.text).removeData(L.value)},clearData:function(){C.verbose("Clearing metadata"),Q.removeData(L.text).removeData(L.value),P.removeData(L.defaultText).removeData(L.defaultValue).removeData(L.placeholderText)},toggle:function(){C.verbose("Toggling menu visibility"),C.is.active()?C.hide():C.show()},show:function(t){if(t=e.isFunction(t)?t:function(){},!C.can.show()&&C.is.remote()&&(C.debug("No API results retrieved, searching before show"),C.queryRemote(C.get.query(),C.show)),C.can.show()&&!C.is.active()){if(C.debug("Showing dropdown"),!C.has.message()||C.has.maxSelections()||C.has.allResultsFiltered()||C.remove.message(),C.is.allFiltered())return!0;!1!==k.onShow.call(_)&&C.animate.show((function(){C.can.click()&&C.bind.intent(),C.has.menuSearch()&&C.focusSearch(),C.set.visible(),t.call(_)}))}},hide:function(t){t=e.isFunction(t)?t:function(){},C.is.active()&&!C.is.animatingOutward()&&(C.debug("Hiding dropdown"),!1!==k.onHide.call(_)&&C.animate.hide((function(){C.remove.visible(),t.call(_)})))},hideOthers:function(){C.verbose("Finding other dropdowns to hide"),a.not(P).has(E.menu+"."+S.visible).dropdown("hide")},hideMenu:function(){C.verbose("Hiding menu instantaneously"),C.remove.active(),C.remove.visible(),Y.transition("hide")},hideSubMenus:function(){var e=Y.children(E.item).find(E.menu);C.verbose("Hiding sub menus",e),e.transition("hide")},bind:{events:function(){d&&C.bind.touchEvents(),C.bind.keyboardEvents(),C.bind.inputEvents(),C.bind.mouseEvents()},touchEvents:function(){C.debug("Touch device detected binding additional touch events"),C.is.searchSelection()||C.is.single()&&P.on("touchstart"+q,C.event.test.toggle),Y.on("touchstart"+q,E.item,C.event.item.mouseenter)},keyboardEvents:function(){C.verbose("Binding keyboard events"),P.on("keydown"+q,C.event.keydown),C.has.search()&&P.on(C.get.inputEvent()+q,E.search,C.event.input),C.is.multiple()&&s.on("keydown"+w,C.event.document.keydown)},inputEvents:function(){C.verbose("Binding input change events"),P.on("change"+q,E.input,C.event.change)},mouseEvents:function(){C.verbose("Binding mouse events"),C.is.multiple()&&P.on("click"+q,E.label,C.event.label.click).on("click"+q,E.remove,C.event.remove.click),C.is.searchSelection()?(P.on("mousedown"+q,C.event.mousedown).on("mouseup"+q,C.event.mouseup).on("mousedown"+q,E.menu,C.event.menu.mousedown).on("mouseup"+q,E.menu,C.event.menu.mouseup).on("click"+q,E.icon,C.event.icon.click).on("focus"+q,E.search,C.event.search.focus).on("click"+q,E.search,C.event.search.focus).on("blur"+q,E.search,C.event.search.blur).on("click"+q,E.text,C.event.text.focus),C.is.multiple()&&P.on("click"+q,C.event.click)):("click"==k.on?P.on("click"+q,C.event.test.toggle):"hover"==k.on?P.on("mouseenter"+q,C.delay.show).on("mouseleave"+q,C.delay.hide):P.on(k.on+q,C.toggle),P.on("click"+q,E.icon,C.event.icon.click).on("mousedown"+q,C.event.mousedown).on("mouseup"+q,C.event.mouseup).on("focus"+q,C.event.focus),C.has.menuSearch()?P.on("blur"+q,E.search,C.event.search.blur):P.on("blur"+q,C.event.blur)),Y.on("mouseenter"+q,E.item,C.event.item.mouseenter).on("mouseleave"+q,E.item,C.event.item.mouseleave).on("click"+q,E.item,C.event.item.click)},intent:function(){C.verbose("Binding hide intent event to document"),d&&s.on("touchstart"+w,C.event.test.touch).on("touchmove"+w,C.event.test.touch),s.on("click"+w,C.event.test.hide)}},unbind:{intent:function(){C.verbose("Removing hide intent event from document"),d&&s.off("touchstart"+w).off("touchmove"+w),s.off("click"+w)}},filter:function(e){var t=e!==o?e:C.get.query(),n=function(){C.is.multiple()&&C.filterActive(),(e||!e&&0==C.get.activeItem().length)&&C.select.firstUnfiltered(),C.has.allResultsFiltered()?k.onNoResults.call(_,t)?k.allowAdditions?k.hideAdditions&&(C.verbose("User addition with no menu, setting empty style"),C.set.empty(),C.hideMenu()):(C.verbose("All items filtered, showing message",t),C.add.message(T.noResults)):(C.verbose("All items filtered, hiding dropdown",t),C.hideMenu()):(C.remove.empty(),C.remove.message()),k.allowAdditions&&C.add.userSuggestion(e),C.is.searchSelection()&&C.can.show()&&C.is.focusedOnSearch()&&C.show()};k.useLabels&&C.has.maxSelections()||(k.apiSettings?C.can.useAPI()?C.queryRemote(t,(function(){k.filterRemoteData&&C.filterItems(t),n()})):C.error(M.noAPI):(C.filterItems(t),n()))},queryRemote:function(t,n){var o={errorDuration:!1,cache:"local",throttle:k.throttle,urlData:{query:t},onError:function(){C.add.message(T.serverError),n()},onFailure:function(){C.add.message(T.serverError),n()},onSuccess:function(t){var o=t[I.remoteValues];e.isArray(o)&&0<o.length?(C.remove.message(),C.setup.menu({values:t[I.remoteValues]})):C.add.message(T.noResults),n()}};P.api("get request")||C.setup.api(),o=e.extend(!0,{},o,k.apiSettings),P.api("setting",o).api("query")},filterItems:function(t){var n=t!==o?t:C.get.query(),i=null,r=C.escape.string(n),a=new RegExp("^"+r,"igm");C.has.query()&&(i=[],C.verbose("Searching for matching values",n),Q.each((function(){var t,o,r=e(this);if("both"==k.match||"text"==k.match){if(-1!==(t=String(C.get.choiceText(r,!1))).search(a))return i.push(this),!0;if("exact"===k.fullTextSearch&&C.exactSearch(n,t))return i.push(this),!0;if(!0===k.fullTextSearch&&C.fuzzySearch(n,t))return i.push(this),!0}if("both"==k.match||"value"==k.match){if(-1!==(o=String(C.get.choiceValue(r,t))).search(a))return i.push(this),!0;if("exact"===k.fullTextSearch&&C.exactSearch(n,o))return i.push(this),!0;if(!0===k.fullTextSearch&&C.fuzzySearch(n,o))return i.push(this),!0}}))),C.debug("Showing only matched items",n),C.remove.filteredItem(),i&&Q.not(i).addClass(S.filtered)},fuzzySearch:function(e,t){var n=t.length,o=e.length;if(e=e.toLowerCase(),t=t.toLowerCase(),n<o)return!1;if(o===n)return e===t;e:for(var i=0,r=0;i<o;i++){for(var a=e.charCodeAt(i);r<n;)if(t.charCodeAt(r++)===a)continue e;return!1}return!0},exactSearch:function(e,t){return e=e.toLowerCase(),-1<(t=t.toLowerCase()).indexOf(e)},filterActive:function(){k.useLabels&&Q.filter("."+S.active).addClass(S.filtered)},focusSearch:function(e){C.has.search()&&!C.is.focusedOnSearch()&&(e?(P.off("focus"+q,E.search),z.focus(),P.on("focus"+q,E.search,C.event.search.focus)):z.focus())},forceSelection:function(){var e=Q.not(S.filtered).filter("."+S.selected).eq(0),t=Q.not(S.filtered).filter("."+S.active).eq(0),n=0<e.length?e:t;if(0<n.length&&!C.is.multiple())return C.debug("Forcing partial selection to selected item",n),void C.event.item.click.call(n,{},!0);k.allowAdditions&&C.set.selected(C.get.query()),C.remove.searchTerm()},change:{values:function(t){k.allowAdditions||C.clear(),C.debug("Creating dropdown with specified values",t),C.setup.menu({values:t}),e.each(t,(function(e,t){if(1==t.selected)return C.debug("Setting initial selection to",t.value),C.set.selected(t.value),!0}))}},event:{change:function(){Z||(C.debug("Input changed, updating selection"),C.set.selected())},focus:function(){k.showOnFocus&&!K&&C.is.hidden()&&!b&&C.show()},blur:function(e){b=n.activeElement===this,K||b||(C.remove.activeLabel(),C.hide())},mousedown:function(){C.is.searchSelection()?v=!0:K=!0},mouseup:function(){C.is.searchSelection()?v=!1:K=!1},click:function(t){e(t.target).is(P)&&(C.is.focusedOnSearch()?C.show():C.focusSearch())},search:{focus:function(){K=!0,C.is.multiple()&&C.remove.activeLabel(),k.showOnFocus&&C.search()},blur:function(e){b=n.activeElement===this,C.is.searchSelection()&&!v&&(W||b||(k.forceSelection&&C.forceSelection(),C.hide())),v=!1}},icon:{click:function(e){G.hasClass(S.clear)?C.clear():C.can.click()&&C.toggle()}},text:{focus:function(e){K=!0,C.focusSearch()}},input:function(e){(C.is.multiple()||C.is.searchSelection())&&C.set.filtered(),clearTimeout(C.timer),C.timer=setTimeout(C.search,k.delay.search)},label:{click:function(t){var n=e(this),o=P.find(E.label),i=o.filter("."+S.active),r=n.nextAll("."+S.active),a=n.prevAll("."+S.active),s=0<r.length?n.nextUntil(r).add(i).add(n):n.prevUntil(a).add(i).add(n);t.shiftKey?(i.removeClass(S.active),s.addClass(S.active)):t.ctrlKey?n.toggleClass(S.active):(i.removeClass(S.active),n.addClass(S.active)),k.onLabelSelect.apply(this,o.filter("."+S.active))}},remove:{click:function(){var t=e(this).parent();t.hasClass(S.active)?C.remove.activeLabels():C.remove.activeLabels(t)}},test:{toggle:function(e){var t=C.is.multiple()?C.show:C.toggle;C.is.bubbledLabelClick(e)||C.is.bubbledIconClick(e)||C.determine.eventOnElement(e,t)&&e.preventDefault()},touch:function(e){C.determine.eventOnElement(e,(function(){"touchstart"==e.type?C.timer=setTimeout((function(){C.hide()}),k.delay.touch):"touchmove"==e.type&&clearTimeout(C.timer)})),e.stopPropagation()},hide:function(e){C.determine.eventInModule(e,C.hide)}},select:{mutation:function(t){C.debug("<select> modified, recreating menu");var n=!1;e.each(t,(function(t,o){if(e(o.target).is("select")||e(o.addedNodes).is("select"))return n=!0})),n&&(C.disconnect.selectObserver(),C.refresh(),C.setup.select(),C.set.selected(),C.observe.select())}},menu:{mutation:function(t){var n=t[0],o=n.addedNodes?e(n.addedNodes[0]):e(!1),i=n.removedNodes?e(n.removedNodes[0]):e(!1),r=o.add(i),a=r.is(E.addition)||0<r.closest(E.addition).length,s=r.is(E.message)||0<r.closest(E.message).length;a||s?(C.debug("Updating item selector cache"),C.refreshItems()):(C.debug("Menu modified, updating selector cache"),C.refresh())},mousedown:function(){W=!0},mouseup:function(){W=!1}},item:{mouseenter:function(t){var n=e(t.target),o=e(this),i=o.children(E.menu),r=o.siblings(E.item).children(E.menu),a=0<i.length;!(0<i.find(n).length)&&a&&(clearTimeout(C.itemTimer),C.itemTimer=setTimeout((function(){C.verbose("Showing sub-menu",i),e.each(r,(function(){C.animate.hide(!1,e(this))})),C.animate.show(!1,i)}),k.delay.show),t.preventDefault())},mouseleave:function(t){var n=e(this).children(E.menu);0<n.length&&(clearTimeout(C.itemTimer),C.itemTimer=setTimeout((function(){C.verbose("Hiding sub-menu",n),C.animate.hide(!1,n)}),k.delay.hide))},click:function(t,o){var i=e(this),r=e(t?t.target:""),a=i.find(E.menu),s=C.get.choiceText(i),l=C.get.choiceValue(i,s),d=0<a.length,u=0<a.find(r).length;C.has.menuSearch()&&e(n.activeElement).blur(),u||d&&!k.allowCategorySelection||(C.is.searchSelection()&&(k.allowAdditions&&C.remove.userAddition(),C.remove.searchTerm(),C.is.focusedOnSearch()||1==o||C.focusSearch(!0)),k.useLabels||(C.remove.filteredItem(),C.set.scrollPosition(i)),C.determine.selectAction.call(this,s,l))}},document:{keydown:function(e){var t=e.which;if(C.is.inObject(t,D)){var n=P.find(E.label),o=n.filter("."+S.active),i=(o.data(L.value),n.index(o)),r=n.length,a=0<o.length,s=1<o.length,l=0===i,d=i+1==r,u=C.is.searchSelection(),c=C.is.focusedOnSearch(),p=C.is.focused(),m=c&&0===C.get.caretPosition();if(u&&!a&&!c)return;t==D.leftArrow?!p&&!m||a?a&&(e.shiftKey?C.verbose("Adding previous label to selection"):(C.verbose("Selecting previous label"),n.removeClass(S.active)),l&&!s?o.addClass(S.active):o.prev(E.siblingLabel).addClass(S.active).end(),e.preventDefault()):(C.verbose("Selecting previous label"),n.last().addClass(S.active)):t==D.rightArrow?(p&&!a&&n.first().addClass(S.active),a&&(e.shiftKey?C.verbose("Adding next label to selection"):(C.verbose("Selecting next label"),n.removeClass(S.active)),d?u?c?n.removeClass(S.active):C.focusSearch():s?o.next(E.siblingLabel).addClass(S.active):o.addClass(S.active):o.next(E.siblingLabel).addClass(S.active),e.preventDefault())):t==D.deleteKey||t==D.backspace?a?(C.verbose("Removing active labels"),d&&u&&!c&&C.focusSearch(),o.last().next(E.siblingLabel).addClass(S.active),C.remove.activeLabels(o),e.preventDefault()):m&&!a&&t==D.backspace&&(C.verbose("Removing last label on input backspace"),o=n.last().addClass(S.active),C.remove.activeLabels(o)):o.removeClass(S.active)}}},keydown:function(e){var t=e.which;if(C.is.inObject(t,D)){var n,o=Q.not(E.unselectable).filter("."+S.selected).eq(0),i=Y.children("."+S.active).eq(0),r=0<o.length?o:i,a=0<r.length?r.siblings(":not(."+S.filtered+")").addBack():Y.children(":not(."+S.filtered+")"),s=r.children(E.menu),l=r.closest(E.menu),d=l.hasClass(S.visible)||l.hasClass(S.animating)||0<l.parent(E.menu).length,u=0<s.length,c=0<r.length,p=0<r.not(E.unselectable).length,m=t==D.delimiter&&k.allowAdditions&&C.is.multiple();if(k.allowAdditions&&k.hideAdditions&&(t==D.enter||m)&&p&&(C.verbose("Selecting item from keyboard shortcut",r),C.event.item.click.call(r,e),C.is.searchSelection()&&C.remove.searchTerm()),C.is.visible()){if((t==D.enter||m)&&(t==D.enter&&c&&u&&!k.allowCategorySelection?(C.verbose("Pressed enter on unselectable category, opening sub menu"),t=D.rightArrow):p&&(C.verbose("Selecting item from keyboard shortcut",r),C.event.item.click.call(r,e),C.is.searchSelection()&&C.remove.searchTerm()),e.preventDefault()),c&&(t==D.leftArrow&&l[0]!==Y[0]&&(C.verbose("Left key pressed, closing sub-menu"),C.animate.hide(!1,l),r.removeClass(S.selected),l.closest(E.item).addClass(S.selected),e.preventDefault()),t==D.rightArrow&&u&&(C.verbose("Right key pressed, opening sub-menu"),C.animate.show(!1,s),r.removeClass(S.selected),s.find(E.item).eq(0).addClass(S.selected),e.preventDefault())),t==D.upArrow){if(n=c&&d?r.prevAll(E.item+":not("+E.unselectable+")").eq(0):Q.eq(0),a.index(n)<0)return C.verbose("Up key pressed but reached top of current menu"),void e.preventDefault();C.verbose("Up key pressed, changing active item"),r.removeClass(S.selected),n.addClass(S.selected),C.set.scrollPosition(n),k.selectOnKeydown&&C.is.single()&&C.set.selectedItem(n),e.preventDefault()}if(t==D.downArrow){if(0===(n=c&&d?n=r.nextAll(E.item+":not("+E.unselectable+")").eq(0):Q.eq(0)).length)return C.verbose("Down key pressed but reached bottom of current menu"),void e.preventDefault();C.verbose("Down key pressed, changing active item"),Q.removeClass(S.selected),n.addClass(S.selected),C.set.scrollPosition(n),k.selectOnKeydown&&C.is.single()&&C.set.selectedItem(n),e.preventDefault()}t==D.pageUp&&(C.scrollPage("up"),e.preventDefault()),t==D.pageDown&&(C.scrollPage("down"),e.preventDefault()),t==D.escape&&(C.verbose("Escape key pressed, closing dropdown"),C.hide())}else m&&e.preventDefault(),t!=D.downArrow||C.is.visible()||(C.verbose("Down key pressed, showing dropdown"),C.show(),e.preventDefault())}else C.has.search()||C.set.selectedLetter(String.fromCharCode(t))}},trigger:{change:function(){var e=n.createEvent("HTMLEvents"),t=N[0];t&&(C.verbose("Triggering native change event"),e.initEvent("change",!0,!1),t.dispatchEvent(e))}},determine:{selectAction:function(t,n){C.verbose("Determining action",k.action),e.isFunction(C.action[k.action])?(C.verbose("Triggering preset action",k.action,t,n),C.action[k.action].call(_,t,n,this)):e.isFunction(k.action)?(C.verbose("Triggering user action",k.action,t,n),k.action.call(_,t,n,this)):C.error(M.action,k.action)},eventInModule:function(t,o){var i=e(t.target),r=0<i.closest(n.documentElement).length,a=0<i.closest(P).length;return o=e.isFunction(o)?o:function(){},r&&!a?(C.verbose("Triggering event",o),o(),!0):(C.verbose("Event occurred in dropdown, canceling callback"),!1)},eventOnElement:function(t,o){var i=e(t.target),r=i.closest(E.siblingLabel),a=n.body.contains(t.target),s=0===P.find(r).length,l=0===i.closest(Y).length;return o=e.isFunction(o)?o:function(){},a&&s&&l?(C.verbose("Triggering event",o),o(),!0):(C.verbose("Event occurred in dropdown menu, canceling callback"),!1)}},action:{nothing:function(){},activate:function(t,n,i){if(n=n!==o?n:t,C.can.activate(e(i))){if(C.set.selected(n,e(i)),C.is.multiple()&&!C.is.allFiltered())return;C.hideAndClear()}},select:function(t,n,i){if(n=n!==o?n:t,C.can.activate(e(i))){if(C.set.value(n,t,e(i)),C.is.multiple()&&!C.is.allFiltered())return;C.hideAndClear()}},combo:function(t,n,i){n=n!==o?n:t,C.set.selected(n,e(i)),C.hideAndClear()},hide:function(t,n,o){C.set.value(n,t,e(o)),C.hideAndClear()}},get:{id:function(){return x},defaultText:function(){return P.data(L.defaultText)},defaultValue:function(){return P.data(L.defaultValue)},placeholderText:function(){return"auto"!=k.placeholder&&"string"==typeof k.placeholder?k.placeholder:P.data(L.placeholderText)||""},text:function(){return U.text()},query:function(){return e.trim(z.val())},searchWidth:function(e){return e=e!==o?e:z.val(),B.text(e),Math.ceil(B.width()+1)},selectionCount:function(){var t=C.get.values();return C.is.multiple()?e.isArray(t)?t.length:0:""!==C.get.value()?1:0},transition:function(e){return"auto"==k.transition?C.is.upward(e)?"slide up":"slide down":k.transition},userValues:function(){var t=C.get.values();return!!t&&(t=e.isArray(t)?t:[t],e.grep(t,(function(e){return!1===C.get.item(e)})))},uniqueArray:function(t){return e.grep(t,(function(n,o){return e.inArray(n,t)===o}))},caretPosition:function(){var e,t,o=z.get(0);return"selectionStart"in o?o.selectionStart:n.selection?(o.focus(),t=(e=n.selection.createRange()).text.length,e.moveStart("character",-o.value.length),e.text.length-t):void 0},value:function(){var t=0<N.length?N.val():P.data(L.value),n=e.isArray(t)&&1===t.length&&""===t[0];return t===o||n?"":t},values:function(){var e=C.get.value();return""===e?"":!C.has.selectInput()&&C.is.multiple()?"string"==typeof e?e.split(k.delimiter):"":e},remoteValues:function(){var t=C.get.values(),n=!1;return t&&("string"==typeof t&&(t=[t]),e.each(t,(function(e,t){var o=C.read.remoteData(t);C.verbose("Restoring value from session data",o,t),o&&(n||(n={}),n[t]=o)}))),n},choiceText:function(t,n){if(n=n!==o?n:k.preserveHTML,t)return 0<t.find(E.menu).length&&(C.verbose("Retrieving text of element with sub-menu"),(t=t.clone()).find(E.menu).remove(),t.find(E.menuIcon).remove()),t.data(L.text)!==o?t.data(L.text):n?e.trim(t.html()):e.trim(t.text())},choiceValue:function(t,n){return n=n||C.get.choiceText(t),!!t&&(t.data(L.value)!==o?String(t.data(L.value)):"string"==typeof n?e.trim(n.toLowerCase()):String(n))},inputEvent:function(){var e=z[0];return!!e&&(e.oninput!==o?"input":e.onpropertychange!==o?"propertychange":"keyup")},selectValues:function(){var t={values:[]};return P.find("option").each((function(){var n=e(this),i=n.html(),r=n.attr("disabled"),a=n.attr("value")!==o?n.attr("value"):i;"auto"===k.placeholder&&""===a?t.placeholder=i:t.values.push({name:i,value:a,disabled:r})})),k.placeholder&&"auto"!==k.placeholder&&(C.debug("Setting placeholder value to",k.placeholder),t.placeholder=k.placeholder),k.sortSelect?(t.values.sort((function(e,t){return e.name>t.name?1:-1})),C.debug("Retrieved and sorted values from select",t)):C.debug("Retrieved values from select",t),t},activeItem:function(){return Q.filter("."+S.active)},selectedItem:function(){var e=Q.not(E.unselectable).filter("."+S.selected);return 0<e.length?e:Q.eq(0)},itemWithAdditions:function(e){var t=C.get.item(e),n=C.create.userChoice(e);return n&&0<n.length&&(t=0<t.length?t.add(n):n),t},item:function(t,n){var i,r,a=!1;return t=t!==o?t:C.get.values()!==o?C.get.values():C.get.text(),i=r?0<t.length:t!==o&&null!==t,r=C.is.multiple()&&e.isArray(t),n=""===t||0===t||n||!1,i&&Q.each((function(){var i=e(this),s=C.get.choiceText(i),l=C.get.choiceValue(i,s);if(null!==l&&l!==o)if(r)-1===e.inArray(String(l),t)&&-1===e.inArray(s,t)||(a=a?a.add(i):i);else if(n){if(C.verbose("Ambiguous dropdown value using strict type check",i,t),l===t||s===t)return a=i,!0}else if(String(l)==String(t)||s==t)return C.verbose("Found select item by value",l,t),a=i,!0})),a}},check:{maxSelections:function(e){return!k.maxSelections||((e=e!==o?e:C.get.selectionCount())>=k.maxSelections?(C.debug("Maximum selection count reached"),k.useLabels&&(Q.addClass(S.filtered),C.add.message(T.maxSelections)),!0):(C.verbose("No longer at maximum selection count"),C.remove.message(),C.remove.filteredItem(),C.is.searchSelection()&&C.filterItems(),!1))}},restore:{defaults:function(){C.clear(),C.restore.defaultText(),C.restore.defaultValue()},defaultText:function(){var e=C.get.defaultText();e===C.get.placeholderText?(C.debug("Restoring default placeholder text",e),C.set.placeholderText(e)):(C.debug("Restoring default text",e),C.set.text(e))},placeholderText:function(){C.set.placeholderText()},defaultValue:function(){var e=C.get.defaultValue();e!==o&&(C.debug("Restoring default value",e),""!==e?(C.set.value(e),C.set.selected()):(C.remove.activeItem(),C.remove.selectedItem()))},labels:function(){k.allowAdditions&&(k.useLabels||(C.error(M.labels),k.useLabels=!0),C.debug("Restoring selected values"),C.create.userLabels()),C.check.maxSelections()},selected:function(){C.restore.values(),C.is.multiple()?(C.debug("Restoring previously selected values and labels"),C.restore.labels()):C.debug("Restoring previously selected values")},values:function(){C.set.initialLoad(),k.apiSettings&&k.saveRemoteData&&C.get.remoteValues()?C.restore.remoteValues():C.set.selected(),C.remove.initialLoad()},remoteValues:function(){var t=C.get.remoteValues();C.debug("Recreating selected from session data",t),t&&(C.is.single()?e.each(t,(function(e,t){C.set.text(t)})):e.each(t,(function(e,t){C.add.label(e,t)})))}},read:{remoteData:function(e){var n;if(t.Storage!==o)return(n=sessionStorage.getItem(e))!==o&&n;C.error(M.noStorage)}},save:{defaults:function(){C.save.defaultText(),C.save.placeholderText(),C.save.defaultValue()},defaultValue:function(){var e=C.get.value();C.verbose("Saving default value as",e),P.data(L.defaultValue,e)},defaultText:function(){var e=C.get.text();C.verbose("Saving default text as",e),P.data(L.defaultText,e)},placeholderText:function(){var e;!1!==k.placeholder&&U.hasClass(S.placeholder)&&(e=C.get.text(),C.verbose("Saving placeholder text as",e),P.data(L.placeholderText,e))},remoteData:function(e,n){t.Storage!==o?(C.verbose("Saving remote data to session storage",n,e),sessionStorage.setItem(n,e)):C.error(M.noStorage)}},clear:function(){C.is.multiple()&&k.useLabels?C.remove.labels():(C.remove.activeItem(),C.remove.selectedItem()),C.set.placeholderText(),C.clearValue()},clearValue:function(){C.set.value("")},scrollPage:function(e,t){var n,o,i=t||C.get.selectedItem(),r=i.closest(E.menu),a=r.outerHeight(),s=r.scrollTop(),l=Q.eq(0).outerHeight(),d=Math.floor(a/l),u=(r.prop("scrollHeight"),"up"==e?s-l*d:s+l*d),c=Q.not(E.unselectable);o="up"==e?c.index(i)-d:c.index(i)+d,0<(n=("up"==e?0<=o:o<c.length)?c.eq(o):"up"==e?c.first():c.last()).length&&(C.debug("Scrolling page",e,n),i.removeClass(S.selected),n.addClass(S.selected),k.selectOnKeydown&&C.is.single()&&C.set.selectedItem(n),r.scrollTop(u))},set:{filtered:function(){var e=C.is.multiple(),t=C.is.searchSelection(),n=e&&t,o=t?C.get.query():"",i="string"==typeof o&&0<o.length,r=C.get.searchWidth(),a=""!==o;e&&i&&(C.verbose("Adjusting input width",r,k.glyphWidth),z.css("width",r)),i||n&&a?(C.verbose("Hiding placeholder text"),U.addClass(S.filtered)):(!e||n&&!a)&&(C.verbose("Showing placeholder text"),U.removeClass(S.filtered))},empty:function(){P.addClass(S.empty)},loading:function(){P.addClass(S.loading)},placeholderText:function(e){e=e||C.get.placeholderText(),C.debug("Setting placeholder text",e),C.set.text(e),U.addClass(S.placeholder)},tabbable:function(){C.is.searchSelection()?(C.debug("Added tabindex to searchable dropdown"),z.val("").attr("tabindex",0),Y.attr("tabindex",-1)):(C.debug("Added tabindex to dropdown"),P.attr("tabindex")===o&&(P.attr("tabindex",0),Y.attr("tabindex",-1)))},initialLoad:function(){C.verbose("Setting initial load"),g=!0},activeItem:function(e){k.allowAdditions&&0<e.filter(E.addition).length?e.addClass(S.filtered):e.addClass(S.active)},partialSearch:function(e){var t=C.get.query().length;z.val(e.substr(0,t))},scrollPosition:function(e,t){var n,i,r,a,s,l;n=(e=e||C.get.selectedItem()).closest(E.menu),i=e&&0<e.length,t=t!==o&&t,e&&0<n.length&&i&&(e.position().top,n.addClass(S.loading),r=(a=n.scrollTop())-n.offset().top+e.offset().top,t||(l=a+n.height()<r+5,s=r-5<a),C.debug("Scrolling to active item",r),(t||s||l)&&n.scrollTop(r),n.removeClass(S.loading))},text:function(e){"select"!==k.action&&("combo"==k.action?(C.debug("Changing combo button text",e,H),k.preserveHTML?H.html(e):H.text(e)):(e!==C.get.placeholderText()&&U.removeClass(S.placeholder),C.debug("Changing text",e,U),U.removeClass(S.filtered),k.preserveHTML?U.html(e):U.text(e)))},selectedItem:function(e){var t=C.get.choiceValue(e),n=C.get.choiceText(e,!1),o=C.get.choiceText(e,!0);C.debug("Setting user selection to item",e),C.remove.activeItem(),C.set.partialSearch(n),C.set.activeItem(e),C.set.selected(t,e),C.set.text(o)},selectedLetter:function(t){var n,o=Q.filter("."+S.selected),i=0<o.length&&C.has.firstLetter(o,t),r=!1;i&&(n=o.nextAll(Q).eq(0),C.has.firstLetter(n,t)&&(r=n)),r||Q.each((function(){if(C.has.firstLetter(e(this),t))return r=e(this),!1})),r&&(C.verbose("Scrolling to next value with letter",t),C.set.scrollPosition(r),o.removeClass(S.selected),r.addClass(S.selected),k.selectOnKeydown&&C.is.single()&&C.set.selectedItem(r))},direction:function(e){"auto"==k.direction?(C.remove.upward(),C.can.openDownward(e)?C.remove.upward(e):C.set.upward(e),C.is.leftward(e)||C.can.openRightward(e)||C.set.leftward(e)):"upward"==k.direction&&C.set.upward(e)},upward:function(e){(e||P).addClass(S.upward)},leftward:function(e){(e||Y).addClass(S.leftward)},value:function(e,t,n){var i=C.escape.value(e),r=0<N.length,a=C.get.values(),s=e!==o?String(e):e;if(r){if(!k.allowReselection&&s==a&&(C.verbose("Skipping value update already same value",e,a),!C.is.initialLoad()))return;C.is.single()&&C.has.selectInput()&&C.can.extendSelect()&&(C.debug("Adding user option",e),C.add.optionValue(e)),C.debug("Updating input value",i,a),Z=!0,N.val(i),!1===k.fireOnInit&&C.is.initialLoad()?C.debug("Input native change event ignored on initial load"):C.trigger.change(),Z=!1}else C.verbose("Storing value in metadata",i,N),i!==a&&P.data(L.value,s);C.is.single()&&k.clearable&&(i?C.set.clearable():C.remove.clearable()),!1===k.fireOnInit&&C.is.initialLoad()?C.verbose("No callback on initial load",k.onChange):k.onChange.call(_,e,t,n)},active:function(){P.addClass(S.active)},multiple:function(){P.addClass(S.multiple)},visible:function(){P.addClass(S.visible)},exactly:function(e,t){C.debug("Setting selected to exact values"),C.clear(),C.set.selected(e,t)},selected:function(t,n){var o=C.is.multiple();(n=k.allowAdditions?n||C.get.itemWithAdditions(t):n||C.get.item(t))&&(C.debug("Setting selected menu item to",n),C.is.multiple()&&C.remove.searchWidth(),C.is.single()?(C.remove.activeItem(),C.remove.selectedItem()):k.useLabels&&C.remove.selectedItem(),n.each((function(){var t=e(this),i=C.get.choiceText(t),r=C.get.choiceValue(t,i),a=t.hasClass(S.filtered),s=t.hasClass(S.active),l=t.hasClass(S.addition),d=o&&1==n.length;o?!s||l?(k.apiSettings&&k.saveRemoteData&&C.save.remoteData(i,r),k.useLabels?(C.add.label(r,i,d),C.add.value(r,i,t),C.set.activeItem(t),C.filterActive(),C.select.nextAvailable(n)):(C.add.value(r,i,t),C.set.text(C.add.variables(T.count)),C.set.activeItem(t))):a||(C.debug("Selected active value, removing label"),C.remove.selected(r)):(k.apiSettings&&k.saveRemoteData&&C.save.remoteData(i,r),C.set.text(i),C.set.value(r,i,t),t.addClass(S.active).addClass(S.selected))})))},clearable:function(){G.addClass(S.clear)}},add:{label:function(t,n,o){var i,r=C.is.searchSelection()?z:U,a=C.escape.value(t);k.ignoreCase&&(a=a.toLowerCase()),i=e("<a />").addClass(S.label).attr("data-"+L.value,a).html(j.label(a,n)),i=k.onLabelCreate.call(i,a,n),C.has.label(t)?C.debug("User selection already exists, skipping",a):(k.label.variation&&i.addClass(k.label.variation),!0===o?(C.debug("Animating in label",i),i.addClass(S.hidden).insertBefore(r).transition(k.label.transition,k.label.duration)):(C.debug("Adding selection label",i),i.insertBefore(r)))},message:function(t){var n=Y.children(E.message),o=k.templates.message(C.add.variables(t));0<n.length?n.html(o):n=e("<div/>").html(o).addClass(S.message).appendTo(Y)},optionValue:function(t){var n=C.escape.value(t);0<N.find('option[value="'+C.escape.string(n)+'"]').length||(C.disconnect.selectObserver(),C.is.single()&&(C.verbose("Removing previous user addition"),N.find("option."+S.addition).remove()),e("<option/>").prop("value",n).addClass(S.addition).html(t).appendTo(N),C.verbose("Adding user addition as an <option>",t),C.observe.select())},userSuggestion:function(e){var t,n=Y.children(E.addition),o=C.get.item(e),i=o&&o.not(E.addition).length,r=0<n.length;k.useLabels&&C.has.maxSelections()||(""===e||i?n.remove():(r?(n.data(L.value,e).data(L.text,e).attr("data-"+L.value,e).attr("data-"+L.text,e).removeClass(S.filtered),k.hideAdditions||(t=k.templates.addition(C.add.variables(T.addResult,e)),n.html(t)),C.verbose("Replacing user suggestion with new value",n)):((n=C.create.userChoice(e)).prependTo(Y),C.verbose("Adding item choice to menu corresponding with user choice addition",n)),k.hideAdditions&&!C.is.allFiltered()||n.addClass(S.selected).siblings().removeClass(S.selected),C.refreshItems()))},variables:function(e,t){var n,o,i=-1!==e.search("{count}"),r=-1!==e.search("{maxCount}"),a=-1!==e.search("{term}");return C.verbose("Adding templated variables to message",e),i&&(n=C.get.selectionCount(),e=e.replace("{count}",n)),r&&(n=C.get.selectionCount(),e=e.replace("{maxCount}",k.maxSelections)),a&&(o=t||C.get.query(),e=e.replace("{term}",o)),e},value:function(t,n,o){var i,r=C.get.values();C.has.value(t)?C.debug("Value already selected"):""!==t?(i=e.isArray(r)?(i=r.concat([t]),C.get.uniqueArray(i)):[t],C.has.selectInput()?C.can.extendSelect()&&(C.debug("Adding value to select",t,i,N),C.add.optionValue(t)):(i=i.join(k.delimiter),C.debug("Setting hidden input to delimited value",i,N)),!1===k.fireOnInit&&C.is.initialLoad()?C.verbose("Skipping onadd callback on initial load",k.onAdd):k.onAdd.call(_,t,n,o),C.set.value(i,t,n,o),C.check.maxSelections()):C.debug("Cannot select blank values from multiselect")}},remove:{active:function(){P.removeClass(S.active)},activeLabel:function(){P.find(E.label).removeClass(S.active)},empty:function(){P.removeClass(S.empty)},loading:function(){P.removeClass(S.loading)},initialLoad:function(){g=!1},upward:function(e){(e||P).removeClass(S.upward)},leftward:function(e){(e||Y).removeClass(S.leftward)},visible:function(){P.removeClass(S.visible)},activeItem:function(){Q.removeClass(S.active)},filteredItem:function(){k.useLabels&&C.has.maxSelections()||(k.useLabels&&C.is.multiple()?Q.not("."+S.active).removeClass(S.filtered):Q.removeClass(S.filtered),C.remove.empty())},optionValue:function(e){var t=C.escape.value(e),n=N.find('option[value="'+C.escape.string(t)+'"]');0<n.length&&n.hasClass(S.addition)&&(A&&(A.disconnect(),C.verbose("Temporarily disconnecting mutation observer")),n.remove(),C.verbose("Removing user addition as an <option>",t),A&&A.observe(N[0],{childList:!0,subtree:!0}))},message:function(){Y.children(E.message).remove()},searchWidth:function(){z.css("width","")},searchTerm:function(){C.verbose("Cleared search term"),z.val(""),C.set.filtered()},userAddition:function(){Q.filter(E.addition).remove()},selected:function(t,n){if(!(n=k.allowAdditions?n||C.get.itemWithAdditions(t):n||C.get.item(t)))return!1;n.each((function(){var t=e(this),n=C.get.choiceText(t),o=C.get.choiceValue(t,n);C.is.multiple()?k.useLabels?(C.remove.value(o,n,t),C.remove.label(o)):(C.remove.value(o,n,t),0===C.get.selectionCount()?C.set.placeholderText():C.set.text(C.add.variables(T.count))):C.remove.value(o,n,t),t.removeClass(S.filtered).removeClass(S.active),k.useLabels&&t.removeClass(S.selected)}))},selectedItem:function(){Q.removeClass(S.selected)},value:function(e,t,n){var o,i=C.get.values();C.has.selectInput()?(C.verbose("Input is <select> removing selected option",e),o=C.remove.arrayValue(e,i),C.remove.optionValue(e)):(C.verbose("Removing from delimited values",e),o=(o=C.remove.arrayValue(e,i)).join(k.delimiter)),!1===k.fireOnInit&&C.is.initialLoad()?C.verbose("No callback on initial load",k.onRemove):k.onRemove.call(_,e,t,n),C.set.value(o,t,n),C.check.maxSelections()},arrayValue:function(t,n){return e.isArray(n)||(n=[n]),n=e.grep(n,(function(e){return t!=e})),C.verbose("Removed value from delimited string",t,n),n},label:function(e,t){var n=P.find(E.label).filter("[data-"+L.value+'="'+C.escape.string(e)+'"]');C.verbose("Removing label",n),n.remove()},activeLabels:function(e){e=e||P.find(E.label).filter("."+S.active),C.verbose("Removing active label selections",e),C.remove.labels(e)},labels:function(t){t=t||P.find(E.label),C.verbose("Removing labels",t),t.each((function(){var t=e(this),n=t.data(L.value),i=n!==o?String(n):n,r=C.is.userValue(i);!1!==k.onLabelRemove.call(t,n)?(C.remove.message(),r?(C.remove.value(i),C.remove.label(i)):C.remove.selected(i)):C.debug("Label remove callback cancelled removal")}))},tabbable:function(){C.is.searchSelection()?(C.debug("Searchable dropdown initialized"),z.removeAttr("tabindex")):(C.debug("Simple selection dropdown initialized"),P.removeAttr("tabindex")),Y.removeAttr("tabindex")},clearable:function(){G.removeClass(S.clear)}},has:{menuSearch:function(){return C.has.search()&&0<z.closest(Y).length},search:function(){return 0<z.length},sizer:function(){return 0<B.length},selectInput:function(){return N.is("select")},minCharacters:function(e){return!k.minCharacters||(e=String(e!==o?e:C.get.query())).length>=k.minCharacters},firstLetter:function(e,t){var n;return!(!e||0===e.length||"string"!=typeof t)&&(n=C.get.choiceText(e,!1),(t=t.toLowerCase())==String(n).charAt(0).toLowerCase())},input:function(){return 0<N.length},items:function(){return 0<Q.length},menu:function(){return 0<Y.length},message:function(){return 0!==Y.children(E.message).length},label:function(e){var t=C.escape.value(e),n=P.find(E.label);return k.ignoreCase&&(t=t.toLowerCase()),0<n.filter("[data-"+L.value+'="'+C.escape.string(t)+'"]').length},maxSelections:function(){return k.maxSelections&&C.get.selectionCount()>=k.maxSelections},allResultsFiltered:function(){var e=Q.not(E.addition);return e.filter(E.unselectable).length===e.length},userSuggestion:function(){return 0<Y.children(E.addition).length},query:function(){return""!==C.get.query()},value:function(e){return k.ignoreCase?C.has.valueIgnoringCase(e):C.has.valueMatchingCase(e)},valueMatchingCase:function(t){var n=C.get.values();return!!(e.isArray(n)?n&&-1!==e.inArray(t,n):n==t)},valueIgnoringCase:function(t){var n=C.get.values(),o=!1;return e.isArray(n)||(n=[n]),e.each(n,(function(e,n){if(String(t).toLowerCase()==String(n).toLowerCase())return!(o=!0)})),o}},is:{active:function(){return P.hasClass(S.active)},animatingInward:function(){return Y.transition("is inward")},animatingOutward:function(){return Y.transition("is outward")},bubbledLabelClick:function(t){return e(t.target).is("select, input")&&0<P.closest("label").length},bubbledIconClick:function(t){return 0<e(t.target).closest(G).length},alreadySetup:function(){return P.is("select")&&P.parent(E.dropdown).data(F)!==o&&0===P.prev().length},animating:function(e){return e?e.transition&&e.transition("is animating"):Y.transition&&Y.transition("is animating")},leftward:function(e){return(e||Y).hasClass(S.leftward)},disabled:function(){return P.hasClass(S.disabled)},focused:function(){return n.activeElement===P[0]},focusedOnSearch:function(){return n.activeElement===z[0]},allFiltered:function(){return(C.is.multiple()||C.has.search())&&!(0==k.hideAdditions&&C.has.userSuggestion())&&!C.has.message()&&C.has.allResultsFiltered()},hidden:function(e){return!C.is.visible(e)},initialLoad:function(){return g},inObject:function(t,n){var o=!1;return e.each(n,(function(e,n){if(n==t)return o=!0})),o},multiple:function(){return P.hasClass(S.multiple)},remote:function(){return k.apiSettings&&C.can.useAPI()},single:function(){return!C.is.multiple()},selectMutation:function(t){var n=!1;return e.each(t,(function(t,o){if(o.target&&e(o.target).is("select"))return n=!0})),n},search:function(){return P.hasClass(S.search)},searchSelection:function(){return C.has.search()&&1===z.parent(E.dropdown).length},selection:function(){return P.hasClass(S.selection)},userValue:function(t){return-1!==e.inArray(t,C.get.userValues())},upward:function(e){return(e||P).hasClass(S.upward)},visible:function(e){return e?e.hasClass(S.visible):Y.hasClass(S.visible)},verticallyScrollableContext:function(){var e=V.get(0)!==t&&V.css("overflow-y");return"auto"==e||"scroll"==e},horizontallyScrollableContext:function(){var e=V.get(0)!==t&&V.css("overflow-X");return"auto"==e||"scroll"==e}},can:{activate:function(e){return!!k.useLabels||!C.has.maxSelections()||!(!C.has.maxSelections()||!e.hasClass(S.active))},openDownward:function(e){var n,o,i,r=e||Y;return r.addClass(S.loading),o={context:{offset:V.get(0)===t?{top:0,left:0}:V.offset(),scrollTop:V.scrollTop(),height:V.outerHeight()},menu:{offset:r.offset(),height:r.outerHeight()}},C.is.verticallyScrollableContext()&&(o.menu.offset.top+=o.context.scrollTop),i=(n={above:o.context.scrollTop<=o.menu.offset.top-o.context.offset.top-o.menu.height,below:o.context.scrollTop+o.context.height>=o.menu.offset.top-o.context.offset.top+o.menu.height}).below?(C.verbose("Dropdown can fit in context downward",n),!0):n.below||n.above?(C.verbose("Dropdown cannot fit below, opening upward",n),!1):(C.verbose("Dropdown cannot fit in either direction, favoring downward",n),!0),r.removeClass(S.loading),i},openRightward:function(e){var n,o,i=e||Y,r=!0;return i.addClass(S.loading),o={context:{offset:V.get(0)===t?{top:0,left:0}:V.offset(),scrollLeft:V.scrollLeft(),width:V.outerWidth()},menu:{offset:i.offset(),width:i.outerWidth()}},C.is.horizontallyScrollableContext()&&(o.menu.offset.left+=o.context.scrollLeft),(n=o.menu.offset.left-o.context.offset.left+o.menu.width>=o.context.scrollLeft+o.context.width)&&(C.verbose("Dropdown cannot fit in context rightward",n),r=