/*! OOUI v0.41.0 | http://oojs.mit-license.org */ !function(h){"use strict";h.ui.Toolbar=function(o,t,i){h.isPlainObject(o)&&void 0===i&&(o=(i=o).toolFactory,t=i.toolGroupFactory),i=i||{},h.ui.Toolbar.super.call(this,i),h.EventEmitter.call(this),h.ui.mixin.GroupElement.call(this,i),this.toolFactory=o,this.toolGroupFactory=t,this.groupsByName={},this.activeToolGroups=0,this.tools={},this.position=i.position||"top",this.$bar=$("
"),h.ui.mixin.IconElement.call(this,t),h.ui.mixin.IndicatorElement.call(this,t),h.ui.mixin.LabelElement.call(this,t),h.ui.mixin.TitledElement.call(this,t),h.ui.mixin.FlaggedElement.call(this,t),h.ui.mixin.ClippableElement.call(this,$.extend({$clippable:this.$group},t)),h.ui.mixin.FloatableElement.call(this,$.extend({$floatable:this.$group,$floatableContainer:this.$handle,hideWhenOutOfView:!1,verticalPosition:"bottom"===this.toolbar.position?"above":"below"},t)),h.ui.mixin.TabIndexedElement.call(this,$.extend({$tabIndexed:this.$handle},t)),this.$handle.on({keydown:this.onHandleMouseKeyDown.bind(this),keyup:this.onHandleMouseKeyUp.bind(this),mousedown:this.onHandleMouseKeyDown.bind(this),mouseup:this.onHandleMouseKeyUp.bind(this)}),this.$handle.addClass("oo-ui-popupToolGroup-handle").attr("role","button").attr("aria-expanded","false").append(this.$icon,this.$label,this.$indicator),void 0!==t.header&&this.$group.prepend($("").addClass("oo-ui-popupToolGroup-header").text(t.header)),this.$element.addClass("oo-ui-popupToolGroup").prepend(this.$handle),this.$group.addClass("oo-ui-popupToolGroup-tools"),this.toolbar.$popups.append(this.$group)},h.inheritClass(h.ui.PopupToolGroup,h.ui.ToolGroup),h.mixinClass(h.ui.PopupToolGroup,h.ui.mixin.IconElement),h.mixinClass(h.ui.PopupToolGroup,h.ui.mixin.IndicatorElement),h.mixinClass(h.ui.PopupToolGroup,h.ui.mixin.LabelElement),h.mixinClass(h.ui.PopupToolGroup,h.ui.mixin.TitledElement),h.mixinClass(h.ui.PopupToolGroup,h.ui.mixin.FlaggedElement),h.mixinClass(h.ui.PopupToolGroup,h.ui.mixin.ClippableElement),h.mixinClass(h.ui.PopupToolGroup,h.ui.mixin.FloatableElement),h.mixinClass(h.ui.PopupToolGroup,h.ui.mixin.TabIndexedElement),h.ui.PopupToolGroup.prototype.setDisabled=function(){h.ui.PopupToolGroup.super.prototype.setDisabled.apply(this,arguments),this.isDisabled()&&this.isElementAttached()&&this.setActive(!1)},h.ui.PopupToolGroup.prototype.onPopupDocumentMouseKeyUp=function(o){var t=$(o.target);t.closest(".oo-ui-popupToolGroup")[0]!==this.$element[0]&&t.closest(".oo-ui-popupToolGroup-tools")[0]!==this.$group[0]&&this.setActive(!1)},h.ui.PopupToolGroup.prototype.onMouseKeyUp=function(o){return this.isDisabled()||!this.pressed||this.pressed!==this.findTargetTool(o)||o.which!==h.ui.MouseButtons.LEFT&&o.which!==h.ui.Keys.SPACE&&o.which!==h.ui.Keys.ENTER||this.setActive(!1),h.ui.PopupToolGroup.super.prototype.onMouseKeyUp.call(this,o)},h.ui.PopupToolGroup.prototype.onMouseKeyDown=function(o){var t,i,e;if(!this.isDisabled()&&o.which===h.ui.Keys.TAB){if(t=$(document.activeElement),i=h.ui.findFocusable(this.$group),t[0]===i[0]&&o.shiftKey)return this.$handle.trigger("focus"),!1;e=h.ui.findFocusable(this.$group,!0),t[0]!==e[0]||o.shiftKey||(this.$handle.trigger("focus"),this.setActive(!1))}return h.ui.PopupToolGroup.super.prototype.onMouseKeyDown.call(this,o)},h.ui.PopupToolGroup.prototype.onHandleMouseKeyUp=function(o){if(!this.isDisabled()&&(o.which===h.ui.MouseButtons.LEFT||o.which===h.ui.Keys.SPACE||o.which===h.ui.Keys.ENTER))return!1},h.ui.PopupToolGroup.prototype.onHandleMouseKeyDown=function(o){var t;if(!this.isDisabled()){if(o.which===h.ui.Keys.TAB&&!o.shiftKey&&(t=h.ui.findFocusable(this.$group)).length)return t.trigger("focus"),!1;if(o.which===h.ui.MouseButtons.LEFT||o.which===h.ui.Keys.SPACE||o.which===h.ui.Keys.ENTER)return this.setActive(!this.active),!1}},h.ui.PopupToolGroup.prototype.isActive=function(){return this.active},h.ui.PopupToolGroup.prototype.setActive=function(o){var t,i;o=!!o,this.active!==o&&((this.active=o)?(this.getElementDocument().addEventListener("mouseup",this.onPopupDocumentMouseKeyUpHandler,!0),this.getElementDocument().addEventListener("keyup",this.onPopupDocumentMouseKeyUpHandler,!0),this.$clippable.css("left",""),this.$element.addClass("oo-ui-popupToolGroup-active"),this.$group.addClass("oo-ui-popupToolGroup-active-tools"),this.$handle.attr("aria-expanded",!0),this.togglePositioning(!0),this.toggleClipping(!0),this.setHorizontalPosition("start"),(this.isClippedHorizontally()||this.isFloatableOutOfView())&&this.setHorizontalPosition("end"),(this.isClippedHorizontally()||this.isFloatableOutOfView())&&(t=this.$clippableScrollableContainer.width(),i=this.$clippableScrollableContainer[0]===document.documentElement?0:this.$clippableScrollableContainer.offset().left,this.toggleClipping(!1),this.setHorizontalPosition("start"),this.$clippable.css({"margin-left":-(this.$element.offset().left-i),width:t}))):(this.getElementDocument().removeEventListener("mouseup",this.onPopupDocumentMouseKeyUpHandler,!0),this.getElementDocument().removeEventListener("keyup",this.onPopupDocumentMouseKeyUpHandler,!0),this.$element.removeClass("oo-ui-popupToolGroup-active"),this.$group.removeClass("oo-ui-popupToolGroup-active-tools"),this.$handle.attr("aria-expanded",!1),this.togglePositioning(!1),this.toggleClipping(!1)),this.emit("active",this.active),this.updateThemeClasses())},h.ui.ListToolGroup=function(o,t){h.isPlainObject(o)&&void 0===t&&(o=(t=o).toolbar),t=t||{},this.allowCollapse=t.allowCollapse,this.forceExpand=t.forceExpand,this.expanded=void 0!==t.expanded&&t.expanded,this.collapsibleTools=[],h.ui.ListToolGroup.super.call(this,o,t),this.$element.addClass("oo-ui-listToolGroup"),this.$group.addClass("oo-ui-listToolGroup-tools")},h.inheritClass(h.ui.ListToolGroup,h.ui.PopupToolGroup),h.ui.ListToolGroup.static.name="list",h.ui.ListToolGroup.prototype.populate=function(){var o,t,i=[];for(h.ui.ListToolGroup.super.prototype.populate.call(this),void 0!==this.allowCollapse?i=this.allowCollapse:void 0!==this.forceExpand&&(i=h.simpleArrayDifference(Object.keys(this.tools),this.forceExpand)),this.collapsibleTools=[],o=0,t=i.length;o