From 25202477eba7fe331c8cee88343a6e5a71bcc28f Mon Sep 17 00:00:00 2001 From: Florian Renaut Date: Tue, 17 Jul 2018 16:47:14 +0200 Subject: [PATCH 1/3] hotfix(oui-criteria-adder): fix dropdown closed when select input was clicked (#231) * fix(oui-criteria-adder): fix dropdown * fix(oui-criteria-adder): minor code review changes --- packages/oui-criteria-adder/src/criteria-adder.controller.js | 2 ++ packages/oui-criteria-adder/src/criteria-adder.html | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/packages/oui-criteria-adder/src/criteria-adder.controller.js b/packages/oui-criteria-adder/src/criteria-adder.controller.js index f2c231bc..fee4d2e6 100644 --- a/packages/oui-criteria-adder/src/criteria-adder.controller.js +++ b/packages/oui-criteria-adder/src/criteria-adder.controller.js @@ -31,6 +31,8 @@ export default class { this.selectableOperators = this.filterSelectableOperators(); this.operatorModel = this.selectableOperators[0]; + + this.resetValueModel(); } $postLink () { diff --git a/packages/oui-criteria-adder/src/criteria-adder.html b/packages/oui-criteria-adder/src/criteria-adder.html index 721b11b6..bf63d189 100644 --- a/packages/oui-criteria-adder/src/criteria-adder.html +++ b/packages/oui-criteria-adder/src/criteria-adder.html @@ -15,6 +15,7 @@ ng-attr-id="{{::$ctrl.id}}Column" name="{{::$ctrl.name}}Column" model="$ctrl.columnModel" + ng-click="$event.stopPropagation()" items="$ctrl.properties" match="title" on-change="$ctrl.onColumnChange()"> @@ -29,6 +30,7 @@ ng-attr-id="{{::$ctrl.id}}Operator" name="{{::$ctrl.name}}Operator" model="$ctrl.operatorModel" + ng-click="$event.stopPropagation()" items="$ctrl.selectableOperators" match="title"> @@ -65,6 +67,7 @@ @@ -80,6 +83,7 @@ From 5f8389d9c18eb92624fd232c6ab4da22f4c1d5ec Mon Sep 17 00:00:00 2001 From: CDS Agent Date: Tue, 17 Jul 2018 14:55:04 +0000 Subject: [PATCH 2/3] chore: bump version to v2.16.5 --- CHANGELOG.md | 5 +++++ dist/oui-angular.min.js | 2 +- dist/oui-angular.min.js.map | 2 +- package.json | 2 +- 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8fc0e156..7c0468dc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,8 @@ + +## [2.16.5](https://github.com/ovh-ux/ovh-ui-angular/compare/v2.16.4...v2.16.5) (2018-07-17) + + + ## [2.16.4](https://github.com/ovh-ux/ovh-ui-angular/compare/v2.16.3...v2.16.4) (2018-07-05) diff --git a/dist/oui-angular.min.js b/dist/oui-angular.min.js index b46e471d..4ce0fbf4 100644 --- a/dist/oui-angular.min.js +++ b/dist/oui-angular.min.js @@ -10,7 +10,7 @@ !function(e,n){n(t)}(0,function(e){"use strict";var t="undefined"!=typeof window&&void 0!==window.flatpickr?window.flatpickr:{l10ns:{}},n={weekdays:{shorthand:["zo","ma","di","wo","do","vr","za"],longhand:["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"]},months:{shorthand:["jan","feb","mrt","apr","mei","jun","jul","aug","sept","okt","nov","dec"],longhand:["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"]},firstDayOfWeek:1,weekAbbreviation:"wk",rangeSeparator:" tot ",scrollTitle:"Scroll voor volgende / vorige",toggleTitle:"Klik om te wisselen",ordinal:function(e){return 1===e||8===e||e>=20?"ste":"de"}};t.l10ns.nl=n;var i=t.l10ns;e.Dutch=n,e.default=i,Object.defineProperty(e,"__esModule",{value:!0})})},function(e,t,n){/* flatpickr v4.5.0, @license MIT */ !function(e,n){n(t)}(0,function(e){"use strict";var t="undefined"!=typeof window&&void 0!==window.flatpickr?window.flatpickr:{l10ns:{}},n={weekdays:{shorthand:["Nd","Pn","Wt","Śr","Cz","Pt","So"],longhand:["Niedziela","Poniedziałek","Wtorek","Środa","Czwartek","Piątek","Sobota"]},months:{shorthand:["Sty","Lut","Mar","Kwi","Maj","Cze","Lip","Sie","Wrz","Paź","Lis","Gru"],longhand:["Styczeń","Luty","Marzec","Kwiecień","Maj","Czerwiec","Lipiec","Sierpień","Wrzesień","Październik","Listopad","Grudzień"]},rangeSeparator:" do ",weekAbbreviation:"tydz.",scrollTitle:"Przwiń aby zwiększyć",toggleTitle:"Kliknij aby przełączyć",firstDayOfWeek:1,ordinal:function(){return"."}};t.l10ns.pl=n;var i=t.l10ns;e.Polish=n,e.default=i,Object.defineProperty(e,"__esModule",{value:!0})})},function(e,t,n){/* flatpickr v4.5.0, @license MIT */ !function(e,n){n(t)}(0,function(e){"use strict";var t="undefined"!=typeof window&&void 0!==window.flatpickr?window.flatpickr:{l10ns:{}},n={weekdays:{shorthand:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],longhand:["Domingo","Segunda-feira","Terça-feira","Quarta-feira","Quinta-feira","Sexta-feira","Sábado"]},months:{shorthand:["Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez"],longhand:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"]},rangeSeparator:" até "};t.l10ns.pt=n;var i=t.l10ns;e.Portuguese=n,e.default=i,Object.defineProperty(e,"__esModule",{value:!0})})},function(e,t,n){/* flatpickr v4.5.0, @license MIT */ -!function(e,n){n(t)}(0,function(e){"use strict";var t="undefined"!=typeof window&&void 0!==window.flatpickr?window.flatpickr:{l10ns:{}},n={weekdays:{shorthand:["Ned","Pon","Ut","Str","Štv","Pia","Sob"],longhand:["Nedeľa","Pondelok","Utorok","Streda","Štvrtok","Piatok","Sobota"]},months:{shorthand:["Jan","Feb","Mar","Apr","Máj","Jún","Júl","Aug","Sep","Okt","Nov","Dec"],longhand:["Január","Február","Marec","Apríl","Máj","Jún","Júl","August","September","Október","November","December"]},firstDayOfWeek:1,rangeSeparator:" do ",ordinal:function(){return"."}};t.l10ns.sk=n;var i=t.l10ns;e.Slovak=n,e.default=i,Object.defineProperty(e,"__esModule",{value:!0})})},function(e,t,n){"use strict";var i=n(168),r=function(e){return e&&e.__esModule?e:{default:e}}(i);angular.module("oui.checkbox",[]).component("ouiCheckbox",r.default)},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(169),o=i(r),a=n(170),l=i(a);t.default={template:l.default,controller:o.default,bindings:{text:"@",description:"@?",id:"@?",name:"@?",model:"=?",onChange:"&?",disabled:" '},function(e,t,n){"use strict";var i=n(172),r=function(e){return e&&e.__esModule?e:{default:e}}(i);angular.module("oui.collapsible",[]).component("ouiCollapsible",r.default)},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(173),o=i(r),a=n(174),l=i(a);t.default={template:l.default,controller:o.default,bindings:{id:"@",heading:"@",ariaLabel:"@?",expanded:" {{::$ctrl.heading}}
'},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(176),o=i(r),a=n(177),l=i(a);t.default={require:{radioGroup:"?^ouiRadioGroup",radioToggleGroup:"?^ouiRadioToggleGroup"},template:l.default,controller:o.default,bindings:{text:"@",value:"<",description:"@?",id:"@?",name:"@?",model:"=?",onChange:"&?",disabled:" '},function(e,t,n){"use strict";var i=n(179),r=function(e){return e&&e.__esModule?e:{default:e}}(i);angular.module("oui.message",[]).component("ouiMessage",r.default)},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(180),o=i(r),a=n(181),l=i(a);t.default={template:l.default,controller:o.default,bindings:{type:"@",ariaCloseButtonLabel:"@?",dismissable:"
"},function(e,t,n){"use strict";var i=n(183),r=function(e){return e&&e.__esModule?e:{default:e}}(i);angular.module("oui.spinner",[]).component("ouiSpinner",r.default)},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(184),o=i(r),a=n(185),l=i(a);t.default={template:l.default,controller:o.default,bindings:{size:"@?"}}},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=i(r),a=n(1),l=i(a),u=function(){function e(t){"ngInject";(0,o.default)(this,e),this.$element=t}return e.$inject=["$element"],(0,l.default)(e,[{key:"$onInit",value:function(){this.size=this.size||"m"}},{key:"$postLink",value:function(){this.$element.addClass("oui-spinner oui-spinner_"+this.size)}}]),e}();t.default=u},function(e,t){e.exports="
"},function(e,t,n){"use strict";var i=n(187),r=function(e){return e&&e.__esModule?e:{default:e}}(i);angular.module("oui.back-button",[]).component("ouiBackButton",r.default)},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(188),o=i(r),a=n(189),l=i(a);t.default={template:l.default,controller:o.default,bindings:{id:"@?",name:"@?",ariaLabel:"@?",heading:"@?",title:"@?",onClick:"&?",href:"@?"}}},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=i(r),a=n(1),l=i(a),u=function(){function e(t,n,i,r){"ngInject";(0,o.default)(this,e),this.$attrs=t,this.$element=n,this.$timeout=i,this.$window=r}return e.$inject=["$attrs","$element","$timeout","$window"],(0,l.default)(e,[{key:"$onInit",value:function(){this.$attrs.title&&!this.$attrs.heading&&(this.heading=this.title)}},{key:"$postLink",value:function(){var e=this;this.$element.addClass("oui-back-button"),this.$timeout(function(){return e.$element.removeAttr("aria-label").removeAttr("id").removeAttr("name")})}},{key:"onBtnClick",value:function(){angular.isFunction(this.onClick)?this.onClick():this.href||this.$window.history.back()}}]),e}();t.default=u},function(e,t){e.exports='

'},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(191),o=i(r),a=n(193),l=i(a),u=n(26),s=i(u),c=n(74),d=i(c),f=n(40),p=i(f),h=n(198),g=i(h);t.default=angular.module("oui.dropdown",[]).component("ouiDropdown",o.default).directive("ouiDropdownContent",l.default).component("ouiDropdownDivider",s.default).component("ouiDropdownGroup",d.default).component("ouiDropdownItem",p.default).directive("ouiDropdownTrigger",g.default).name},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(192),r=function(e){return e&&e.__esModule?e:{default:e}}(i);t.default={controller:r.default,bindings:{align:"@?",arrow:"=0&&(e+="-"+this.align),this.arrowElement&&"bottom"===e&&this.arrowElement.setAttribute("x-arrow",""),this.popperElement.style.minWidth=this.getTriggerWidth()+"px",this.popper=new c.default(this.triggerElement,this.popperElement,{placement:e,modifiers:{preventOverflow:{boundariesElement:this.$document[0].body}}})}},{key:"updatePopper",value:function(){this.popper||this.createPopper(),this.popper.scheduleUpdate()}},{key:"destroyPopper",value:function(){this.popper&&(this.popper.destroy(),this.popper=null)}},{key:"getTriggerWidth",value:function(){return Math.max(this.triggerElement.offsetWidth,140)}}]),e}();t.default=d},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=function(){"ngInject";return{restrict:"AE",require:"^ouiDropdown",scope:{},link:function(e,t,n,i){t.addClass("oui-dropdown-menu").attr("aria-labelledby",i.id).attr("role","menu"),i.arrow&&(t.addClass("oui-dropdown-menu_arrow"),t.prepend('
')),i.setDropdownMenu(t[0],t[0].querySelector(".oui-dropdown-menu__arrow"))}}}},function(e,t){e.exports="
"},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(41),o=i(r),a=n(0),l=i(a),u=n(1),s=i(u),c=n(2),d=function(){function e(t,n,i){"ngInject";(0,l.default)(this,e),this.$attrs=t,this.$element=n,this.$timeout=i}return e.$inject=["$attrs","$element","$timeout"],(0,s.default)(e,[{key:"$onInit",value:function(){(0,c.addBooleanParameter)(this,"external"),(0,c.addBooleanParameter)(this,"disabled"),(0,c.addBooleanParameter)(this,"sticky"),this.external&&(this.linkTarget="_blank",this.linkRel="noopener")}},{key:"$postLink",value:function(){var e=this;this.$timeout(function(){e.$element.addClass("oui-dropdown-menu__item").removeAttr("aria-label"),e.sticky&&e.$element.addClass("oui-dropdown-menu__item_sticky")})}},{key:"getFullSref",value:function(){return this.state+"("+(0,o.default)(this.stateParams)+")"}}]),e}();t.default=d},function(e,t,n){var i=n(3),r=i.JSON||(i.JSON={stringify:JSON.stringify});e.exports=function(e){return r.stringify.apply(r,arguments)}},function(e,t){e.exports=' '},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(199),r=function(e){return e&&e.__esModule?e:{default:e}}(i);t.default=function(){return{restrict:"AE",require:{dropdown:"^ouiDropdown"},controller:r.default,controllerAs:"$dropdownTriggerCtrl",bindToController:{text:"@",ariaLabel:"@?",disabled:" '},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}var r=n(202),o=i(r),a=n(26),l=i(a),u=n(40),s=i(u);angular.module("oui.action-menu",[]).component("ouiActionMenu",o.default).component("ouiActionMenuDivider",l.default).component("ouiActionMenuItem",s.default)},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(203),o=i(r),a=n(204),l=i(a);t.default={template:l.default,controller:o.default,bindings:{text:"@",align:"@?",ariaLabel:"@?",compact:" '},function(e,t,n){"use strict";var i=n(206),r=function(e){return e&&e.__esModule?e:{default:e}}(i);angular.module("oui.tooltip",[]).directive("ouiTooltip",r.default)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(207),r=function(e){return e&&e.__esModule?e:{default:e}}(i);t.default=function(){return{restrict:"A",bindToController:{text:"@ouiTooltip",placement:"@?ouiTooltipPlacement"},controller:r.default,controllerAs:"$tooltipCtrl"}}},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=i(r),a=n(1),l=i(a),u=n(25),s=i(u),c=n(208),d=i(c),f=function(){function e(t,n,i,r){"ngInject";(0,o.default)(this,e),this.$compile=t,this.$element=n,this.$scope=i,this.$timeout=r}return e.$inject=["$compile","$element","$scope","$timeout"],(0,l.default)(e,[{key:"$onInit",value:function(){angular.isUndefined(this.placement)&&(this.placement="top")}},{key:"$postLink",value:function(){var e=this;this.$timeout(function(){e.$element.attr("aria-label")||e.$element.attr("aria-label",e.text);var t=angular.extend(e.$scope.$new(!0),{$tooltipCtrl:e}),n=e.$compile(d.default)(t);e.$element.addClass("oui-tooltip__trigger").one("focus mouseenter",function(){return e.createPopper()}).after(n)})}},{key:"createPopper",value:function(){var e=this.$element[0],t=this.$element.next()[0];this.popper=new s.default(e,t,{placement:this.placement})}}]),e}();t.default=f},function(e,t){e.exports=" "},function(e,t,n){"use strict";var i=n(210),r=function(e){return e&&e.__esModule?e:{default:e}}(i);angular.module("oui.numeric",[]).component("ouiNumeric",r.default)},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(211),o=i(r),a=n(213),l=i(a);t.default={template:l.default,controller:o.default,bindings:{id:"@?",name:"@?",model:"=",min:"99999&&this.$log.warn("Invalid attribute max, value should be lower than '99999'"),angular.isDefined(this.$attrs.disabled)&&angular.isUndefined(this.disabled)&&(this.disabled=!0),this.min=(0,s.default)(this.min,0,99999),this.max=(0,s.default)(this.max,this.min,99999),this.previousValue=this.model}},{key:"setModelValue",value:function(e){this.model=e,this.previousValue!==this.model&&angular.isFunction(this.onChange)&&this.onChange({modelValue:this.model}),this.previousValue=this.model}},{key:"increment",value:function(){angular.isNumber(this.model)?this.setModelValue(this.model+1):this.setModelValue(this.min)}},{key:"decrement",value:function(){angular.isNumber(this.model)?this.setModelValue(this.model-1):this.setModelValue(this.min)}},{key:"onInputChanged",value:function(){null===this.model?this.setModelValue(this.min):!angular.isNumber(this.model)||this.modelthis.max?this.model=this.previousValue:this.setModelValue(this.model)}}]),e}();t.default=c},function(e,t,n){function i(e,t,n){return void 0===n&&(n=t,t=void 0),void 0!==n&&(n=o(n),n=n===n?n:0),void 0!==t&&(t=o(t),t=t===t?t:0),r(o(e),t,n)}var r=n(75),o=n(76);e.exports=i},function(e,t){e.exports='
'},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}var r=n(215),o=i(r),a=n(234),l=i(a);angular.module("oui.pagination",[]).component("ouiPagination",o.default).provider("ouiPaginationConfiguration",l.default)},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(216),o=i(r),a=n(233),l=i(a);t.default={template:l.default,bindings:{currentOffset:"<",pageSize:"=s?e?"":void 0:(o=l.charCodeAt(u),o<55296||o>56319||u+1===s||(a=l.charCodeAt(u+1))<56320||a>57343?e?l.charAt(u):o:e?l.slice(u,u+2):a-56320+(o-55296<<10)+65536)}}},function(e,t,n){"use strict";var i=n(46),r=n(17),o=n(51),a={};n(12)(a,n(4)("iterator"),function(){return this}),e.exports=function(e,t,n){e.prototype=i(a,{next:r(1,n)}),o(e,t+" Iterator")}},function(e,t,n){var i=n(7),r=n(8),o=n(20);e.exports=n(9)?Object.defineProperties:function(e,t){r(e);for(var n,a=o(t),l=a.length,u=0;l>u;)i.f(e,n=a[u++],t[n]);return e}},function(e,t,n){var i=n(16),r=n(83),o=n(222);e.exports=function(e){return function(t,n,a){var l,u=i(t),s=r(u.length),c=o(a,s);if(e&&n!=n){for(;s>c;)if((l=u[c++])!=l)return!0}else for(;s>c;c++)if((e||c in u)&&u[c]===n)return e||c||0;return!e&&-1}}},function(e,t,n){var i=n(43),r=Math.max,o=Math.min;e.exports=function(e,t){return e=i(e),e<0?r(e+t,0):o(e,t)}},function(e,t,n){var i=n(6).document;e.exports=i&&i.documentElement},function(e,t,n){"use strict";var i=n(31),r=n(5),o=n(21),a=n(225),l=n(226),u=n(83),s=n(227),c=n(85);r(r.S+r.F*!n(229)(function(e){Array.from(e)}),"Array",{from:function(e){var t,n,r,d,f=o(e),p="function"==typeof this?this:Array,h=arguments.length,g=h>1?arguments[1]:void 0,m=void 0!==g,v=0,b=c(f);if(m&&(g=i(g,h>2?arguments[2]:void 0,2)),void 0==b||p==Array&&l(b))for(t=u(f.length),n=new p(t);t>v;v++)s(n,v,m?g(f[v],v):f[v]);else for(d=b.call(f),n=new p;!(r=d.next()).done;v++)s(n,v,m?a(d,g,[r.value,v],!0):r.value);return n.length=v,n}})},function(e,t,n){var i=n(8);e.exports=function(e,t,n,r){try{return r?t(i(n)[0],n[1]):t(n)}catch(t){var o=e.return;throw void 0!==o&&i(o.call(e)),t}}},function(e,t,n){var i=n(19),r=n(4)("iterator"),o=Array.prototype;e.exports=function(e){return void 0!==e&&(i.Array===e||o[r]===e)}},function(e,t,n){"use strict";var i=n(7),r=n(17);e.exports=function(e,t,n){t in e?i.f(e,t,r(0,n)):e[t]=n}},function(e,t,n){var i=n(47),r=n(4)("toStringTag"),o="Arguments"==i(function(){return arguments}()),a=function(e,t){try{return e[t]}catch(e){}};e.exports=function(e){var t,n,l;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=a(t=Object(e),r))?n:o?i(t):"Object"==(l=i(t))&&"function"==typeof t.callee?"Arguments":l}},function(e,t,n){var i=n(4)("iterator"),r=!1;try{var o=[7][i]();o.return=function(){r=!0},Array.from(o,function(){throw 2})}catch(e){}e.exports=function(e,t){if(!t&&!r)return!1;var n=!1;try{var o=[7],a=o[i]();a.next=function(){return{done:n=!0}},o[i]=function(){return a},e(o)}catch(e){}return n}},function(e,t,n){n(231),e.exports=n(3).Object.assign},function(e,t,n){var i=n(5);i(i.S+i.F,"Object",{assign:n(232)})},function(e,t,n){"use strict";var i=n(20),r=n(52),o=n(28),a=n(21),l=n(82),u=Object.assign;e.exports=!u||n(14)(function(){var e={},t={},n=Symbol(),i="abcdefghijklmnopqrst";return e[n]=7,i.split("").forEach(function(e){t[e]=e}),7!=u({},e)[n]||Object.keys(u({},t)).join("")!=i})?function(e,t){for(var n=a(e),u=arguments.length,s=1,c=r.f,d=o.f;u>s;)for(var f,p=l(arguments[s++]),h=c?i(p).concat(c(p)):i(p),g=h.length,m=0;g>m;)d.call(p,f=h[m++])&&(n[f]=p[f]);return n}:u},function(e,t){e.exports='
'},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=i(r),a=n(1),l=i(a),u=function(){function e(){(0,o.default)(this,e),this.pageSize=25,this.pageSizeList=[25,50,100,300],this.translations={resultsPerPage:"Results per page",ofNResults:"of {{totalItems}} results",currentPageOfPageCount:"Page {{currentPage}} of {{pageCount}}",previousPage:"Previous page",nextPage:"Next page"}}return(0,l.default)(e,[{key:"setPageSize",value:function(e){return this.pageSize=e,this}},{key:"setPageSizeList",value:function(e){return this.pageSizeList=e,this}},{key:"setTranslations",value:function(e){return this.translations=e,this}},{key:"$get",value:function(){return{pageSize:this.pageSize,pageSizeList:this.pageSizeList,translations:this.translations}}}]),e}();t.default=u},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}var r=n(236),o=i(r),a=n(238),l=i(a),u=n(268),s=i(u),c=n(269),d=i(c),f=n(271),p=i(f),h=n(313),g=i(h),m=n(316),v=i(m),b=n(317),y=i(b);angular.module("oui.datagrid",["oui.pagination","oui.dropdown","oui.criteria-container","oui.search","ngAria"]).service("ouiDatagridColumnBuilder",s.default).directive("ouiDatagrid",l.default).component("ouiDatagridCell",o.default).component("ouiDatagridExtraTop",d.default).service("ouiDatagridPaging",p.default).provider("ouiDatagridConfiguration",v.default).service("ouiDatagridService",y.default).component("ouiDatagridParameters",g.default)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(237),r=function(e){return e&&e.__esModule?e:{default:e}}(i);t.default={controller:r.default,require:{datagridCtrl:"^^ouiDatagrid"},bindings:{row:"<",column:"<"}}},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=i(r),a=n(1),l=i(a),u=function(){function e(t){"ngInject";(0,o.default)(this,e),this.$element=t}return e.$inject=["$element"],(0,l.default)(e,[{key:"$postLink",value:function(){var e=this;this.cellScope=this.datagridCtrl.getParentScope().$new(!1),this.$element.css("display","block"),this.row&&this.row.$promise?this.row.$promise.finally(function(){e._compileCell()}):this._compileCell()}},{key:"$onChanges",value:function(e){(e.row&&!e.row.isFirstChange()||e.column&&!e.column.isFirstChange())&&this._compileCell()}},{key:"_compileCell",value:function(){var e=this;this.cellScope.$row=this.row,this.cellScope.$column=this.column,this.cellScope.$value=this.row[this.column.name],this.column.compiledTemplate?this.column.compiledTemplate(this.cellScope,function(t){e.$element.empty(),e.$element.append(t)}):this.$element[0].innerHTML=this.cellScope.$value}}]),e}();t.default=u},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(239),r=function(e){return e&&e.__esModule?e:{default:e}}(i);t.default=function(){"ngInject";return{controller:r.default,controllerAs:"$ctrl",bindToController:!0,scope:{id:"@?",columnsDescription:"0,this.filterableColumns=this.columns.filter(function(e){return e.filterable})}},{key:"$onChanges",value:function(e){e.columnsDescription&&!e.columnsDescription.isFirstChange()&&this.buildColumns(),e.columnsParameters&&!e.columnsParameters.isFirstChange()&&this.buildColumns()}},{key:"$doCheck",value:function(){var e=this;!angular.equals(this.previousRows,this.rows)&&this.rows&&this.paging&&!this.paging.preventLoadingRows&&(this.previousRows=angular.copy(this.rows),this.refreshData(function(){return e.paging.setRows(e.rows)}))}},{key:"$onDestroy",value:function(){this.hasActionMenu&&(angular.element(this.$window).off("resize",this.checkScroll),angular.element(this.scrollablePanel).off("scroll")),this.id&&this.ouiDatagridService.unregisterDatagrid(this.id)}},{key:"buildColumns",value:function(){var e=this,t=this.columnsDescription&&this.columnsDescription.length?this.ouiDatagridColumnBuilder.buildFromJs(this.columnsDescription,this.getParentScope()):this.ouiDatagridColumnBuilder.build(this.columnElements,this.getParentScope());return this.actionColumnElements.length&&(this.actionColumn=this.ouiDatagridColumnBuilder.buildActionColumn(this.actionColumnElements[0]),this.hasActionMenu=!0),this.extraTopElements.length&&(this.extraTopCompiledTemplate=this.$compile("
"+this.extraTopElements[0].innerHTML+"
"),this.hasExtraTopContent=!0),this.availableColumns=angular.copy(t.columns).map(function(t){var n=(0,p.default)(e.columnsParameters,{name:t.name});return n&&(t.hidden=n.hidden),t}),this.columns=this.availableColumns.filter(function(e){return!e.hidden}),this.columns.forEach(function(t){t.title||(t.disableWatcher=e.$scope.$watch(function(){return e.ouiDatagridColumnBuilder.buildTitle(t.rawTitle,e.getParentScope())},function(e){e&&(t.title=e,t.disableWatcher())}))}),t}},{key:"onColumnsChange",value:function(e){this.availableColumns=angular.copy(e),this.columns=e.filter(function(e){return!e.hidden});var t=this.availableColumns.filter(function(e){return e.name}).map(function(e){var t={name:e.name};return e.hidden&&(t.hidden=!0),t});this.id&&this.onColumnsParametersChange({id:this.id,columns:t})}},{key:"getParentScope",value:function(){return this.$scope.$parent}},{key:"hasProperty",value:function(e,t){return!!e&&(0,g.hasProperty)(e,t)}},{key:"onCriteriaChange",value:function(e){var t=this;this.criteria=e,this.appliedCriteria=this.criteria.filter(function(e){return!e.preview}),this.refreshData(function(){t.paging.setOffset(1),t.paging.setCriteria(e)},!1,!1)}},{key:"onPaginationChange",value:function(e){var t=this;this.refreshData(function(){t.paging.setOffset(e.offset),t.paging.setPageSize(e.pageSize)},!0,!0)}},{key:"scrollToTop",value:function(){var e=this;this.$timeout(function(){e.$element[0].scrollIntoView(!0)})}},{key:"refreshData",value:function(t,n,i,r,o){var a=this;return this.loading?this.$q.when():(r||(this.loading=!0,this.displayedRows=e.createEmptyRows(this.paging.getCurrentPageSize())),this.refreshDatagridPromise=this.$q.when((t||angular.noop)()).then(function(){return a.paging.loadData(n,o)}).then(function(e){a.displayedRows=e.data,i&&a.scrollToTop(),a.hasActionMenu&&setTimeout(function(){return a.checkScroll()},1e3)}).finally(function(){a.loading=!1,a.firstLoading=!1,a.refreshDatagridPromise=null}),this.refreshDatagridPromise)}},{key:"sort",value:function(e){var t=this;e&&e.sortable&&this.refreshData(function(){return t.paging.setSort(e.name)})}},{key:"getSortableClasses",value:function(e){var t;return e.name!==this.paging.getSortColumnName()?(0,l.default)({},"oui-datagrid__header_sortable",!!e.sortable):(t={},(0,l.default)(t,"oui-datagrid__header_sortable",!!e.sortable),(0,l.default)(t,"oui-datagrid__cell_sorted",!0),(0,l.default)(t,"oui-datagrid__header_sortable-asc",this.paging.isSortAsc()),(0,l.default)(t,"oui-datagrid__header_sortable-desc",this.paging.isSortDesc()),t)}}],[{key:"createEmptyRows",value:function(e){return Array.apply(void 0,(0,o.default)({length:e})).map(function(){})}},{key:"filterElements",value:function(e,t){var n=t.toUpperCase(),i=[];return angular.forEach(e,function(e){e.tagName===n&&i.push(e)}),i}}]),e}();t.default=b},function(e,t,n){"use strict";t.__esModule=!0;var i=n(57),r=function(e){return e&&e.__esModule?e:{default:e}}(i);t.default=function(e,t,n){return t in e?(0,r.default)(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}},function(e,t,n){function i(e){return function(t,n,i){var l=Object(t);if(!o(t)){var u=r(n,3);t=a(t),n=function(e){return u(l[e],e,l)}}var s=e(t,n,i);return s>-1?l[u?t[s]:s]:void 0}}var r=n(87),o=n(66),a=n(90);e.exports=i},function(e,t,n){function i(e){var t=o(e);return 1==t.length&&t[0][2]?a(t[0][0],t[0][1]):function(n){return n===e||r(n,e,t)}}var r=n(243),o=n(254),a=n(91);e.exports=i},function(e,t,n){function i(e,t,n,i){var u=n.length,s=u,c=!i;if(null==e)return!s;for(e=Object(e);u--;){var d=n[u];if(c&&d[2]?d[1]!==e[d[0]]:!(d[0]in e))return!1}for(;++uf))return!1;var h=c.get(e);if(h&&c.get(t))return h==t;var g=-1,m=!0,v=n&u?new r:void 0;for(c.set(e,t),c.set(t,e);++g-1}var r=n(249);e.exports=i},function(e,t){function n(e,t,n){for(var i=n-1,r=e.length;++i-1&&e%1==0&&e
'},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(22),o=i(r),a=n(0),l=i(a),u=n(1),s=i(u),c=n(2),d=["hidden","title","type","type-options"],f=["string"],p=["boolean","date","number","options","string"],h=function(){function e(t,n){"ngInject";(0,l.default)(this,e),this.$parse=t,this.$compile=n}return e.$inject=["$parse","$compile"],(0,s.default)(e,[{key:"build",value:function(t,n){var i=this,r=[],a={columnName:void 0,dir:0};return angular.forEach(t,function(t){var l={};if((0,c.hasAttribute)(t,"name")&&(l.name=(0,c.getAttribute)(t,"name")),(0,c.hasAttribute)(t,"property")){var u=(0,c.getAttribute)(t,"property");if(l.name=l.name||u,l.getValue=i.$parse(u),(0,c.hasAttribute)(t,"sortable")){var s=(0,c.getAttribute)(t,"sortable");l.sortable=!!s,(0,o.default)(a,e.defineDefaultSorting(l,s))}}if(d.forEach(function(e){(0,c.hasAttribute)(t,e)&&(l[e]=(0,c.getAttribute)(t,e))}),l.filterable=e.isFilterable(l)&&(0,c.hasAttribute)(t,"filterable"),l.searchable=e.isSearchable(l)&&(0,c.hasAttribute)(t,"searchable"),l["type-options"]&&(l.typeOptions=i.$parse(l["type-options"])(n)),(0,c.hasAttribute)(t,"prevent-customization")&&(l.preventCustomization=!0),(0,c.hasAttribute)(t,"hidden")&&(l.hidden=!0),(0,c.hasAttribute)(t,"title")){var f=(0,c.getAttribute)(t,"title");l.title=i.buildTitle(f,n),l.rawTitle=f}l.sortProperty||(l.sortProperty=l.name);var p=t.innerHTML.trim();!l.template&&p.length&&(l.template=p),l.template&&(l.compiledTemplate=i._getColumnTemplate(l)),r.push(l)}),{columns:r,currentSorting:a}}},{key:"buildFromJs",value:function(t){var n=this,i=[],r={columnName:void 0,dir:0};return angular.forEach(t,function(t){var a={};a.name=t.name;var l=t.property;if(l){a.name=a.name||l,a.getValue=n.$parse(l);var u=t.sortable;t.sortable&&(a.sortable=!!u,(0,o.default)(r,e.defineDefaultSorting(a,u)))}d.forEach(function(e){a[e]=t[e]}),a.filterable=e.isFilterable(a)&&t.filterable,a.searchable=e.isSearchable(a)&&t.searchable,t.typeOptions&&(a.typeOptions=t.typeOptions),a.preventCustomization=t.preventCustomization,a.title=t.title,a.sortProperty||(a.sortProperty=a.name);var s=t.template?t.template.trim():"";a.template=s,a.template&&""!==a.template&&(a.compiledTemplate=n._getColumnTemplate(a)),i.push(a)}),{columns:i,currentSorting:r}}},{key:"buildTitle",value:function(e,t){return this.$parse(e)(t)}},{key:"buildActionColumn",value:function(e){var t={template:e.outerHTML};return t.compiledTemplate=this._getColumnTemplate(t),t.alwaysVisible=!0,t}},{key:"_getColumnTemplate",value:function(e){return e.compiledTemplate||(e.compiledTemplate=this.$compile("
"+e.template+"
")),e.compiledTemplate}}],[{key:"defineDefaultSorting",value:function(e,t){return e.sortable=void 0!==t,t&&t.length?(e.defaultSortDir="asc"===t?1:-1,{columnName:e.name,dir:e.defaultSortDir}):{}}},{key:"isSearchable",value:function(e){return f.indexOf(e.type)>-1}},{key:"isFilterable",value:function(e){return p.indexOf(e.type)>-1}}]),e}();t.default=h},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(270),r=function(e){return e&&e.__esModule?e:{default:e}}(i);t.default={controller:r.default,require:{datagridCtrl:"^^ouiDatagrid"}}},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=i(r),a=n(1),l=i(a),u=function(){function e(t){"ngInject";(0,o.default)(this,e),this.$element=t}return e.$inject=["$element"],(0,l.default)(e,[{key:"$postLink",value:function(){this.extraTopScope=this.datagridCtrl.getParentScope().$new(!1),this._compileElement()}},{key:"_compileElement",value:function(){var e=this;this.datagridCtrl.extraTopCompiledTemplate(this.extraTopScope,function(t){e.$element.empty(),e.$element.append(t)})}}]),e}();t.default=u},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=i(r),a=n(1),l=i(a),u=n(272),s=i(u),c=n(312),d=i(c),f=function(){function e(t,n,i){"ngInject";(0,o.default)(this,e),this.$q=t,this.$timeout=n,this.orderByFilter=i}return e.$inject=["$q","$timeout","orderByFilter"],(0,l.default)(e,[{key:"createLocal",value:function(e,t,n,i,r){return new s.default(e,t,n,i,this,r)}},{key:"createRemote",value:function(e,t,n,i,r){return new d.default(e,t,n,i,this,r)}}]),e}();t.default=f},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(98),o=i(r),a=n(0),l=i(a),u=n(1),s=i(u),c=n(100),d=i(c),f=n(105),p=i(f),h=n(106),g=i(h),m=n(297),v=i(m),b=function(e){function t(e,n,i,r,a,u){(0,l.default)(this,t);var s=(0,d.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,n,i,r,a));return s.setRows(u),s}return(0,p.default)(t,e),(0,s.default)(t,[{key:"setRows",value:function(e){this.rows=angular.copy(e),this.cachedRows=angular.copy(e),this.totalCount=e?e.length:0}},{key:"loadData",value:function(e,t){var n=this;return t&&(this.cachedRows=angular.copy(this.rows)),e&&!t||(this._filter(),this._sort()),this.$q.when({data:this.sortedRows.slice(this.offset-1,this.offset-1+this.pageSize),meta:{pageCount:Math.ceil(this.sortedRows.length/this.pageSize),totalCount:this.sortedRows.length}}).then(function(e){return n.loadRows(e)})}},{key:"loadRows",value:function(e){var t=this;return this.preventLoadingRows=!0,this.loadRowsData(e.data).finally(function(){t.$timeout(function(){t.preventLoadingRows=!1})}),this.totalCount=e.meta.totalCount,e}},{key:"_filter",value:function(){var e=new v.default(this.criteria,this.columns);this.filteredRows=e.applyFilter(this.cachedRows)}},{key:"_sort",value:function(){var e=this.getSortingConfiguration();this.sortedRows=this.orderByFilter(this.filteredRows,e.property,e.dir<0)}}]),t}(g.default);t.default=b},function(e,t,n){n(274),e.exports=n(3).Object.getPrototypeOf},function(e,t,n){var i=n(21),r=n(84);n(99)("getPrototypeOf",function(){return function(e){return r(i(e))}})},function(e,t,n){e.exports={default:n(276),__esModule:!0}},function(e,t,n){n(42),n(102),e.exports=n(54).f("iterator")},function(e,t,n){"use strict";var i=n(278),r=n(279),o=n(19),a=n(16);e.exports=n(79)(Array,"Array",function(e,t){this._t=a(e),this._i=0,this._k=t},function(){var e=this._t,t=this._k,n=this._i++;return!e||n>=e.length?(this._t=void 0,r(1)):"keys"==t?r(0,n):"values"==t?r(0,e[n]):r(0,[n,e[n]])},"values"),o.Arguments=o.Array,i("keys"),i("values"),i("entries")},function(e,t){e.exports=function(){}},function(e,t){e.exports=function(e,t){return{value:t,done:!!e}}},function(e,t,n){e.exports={default:n(281),__esModule:!0}},function(e,t,n){n(282),n(287),n(288),n(289),e.exports=n(3).Symbol},function(e,t,n){"use strict";var i=n(6),r=n(10),o=n(9),a=n(5),l=n(80),u=n(283).KEY,s=n(14),c=n(49),d=n(51),f=n(27),p=n(4),h=n(54),g=n(55),m=n(284),v=n(285),b=n(8),y=n(13),$=n(16),_=n(32),k=n(17),w=n(46),x=n(286),C=n(104),M=n(7),S=n(20),E=C.f,P=M.f,D=x.f,O=i.Symbol,T=i.JSON,L=T&&T.stringify,j=p("_hidden"),A=p("toPrimitive"),I={}.propertyIsEnumerable,F=c("symbol-registry"),N=c("symbols"),R=c("op-symbols"),B=Object.prototype,H="function"==typeof O,z=i.QObject,q=!z||!z.prototype||!z.prototype.findChild,Y=o&&s(function(){return 7!=w(P({},"a",{get:function(){return P(this,"a",{value:7}).a}})).a})?function(e,t,n){var i=E(B,t);i&&delete B[t],P(e,t,n),i&&e!==B&&P(B,t,i)}:P,V=function(e){var t=N[e]=w(O.prototype);return t._k=e,t},W=H&&"symbol"==typeof O.iterator?function(e){return"symbol"==typeof e}:function(e){return e instanceof O},K=function(e,t,n){return e===B&&K(R,t,n),b(e),t=_(t,!0),b(n),r(N,t)?(n.enumerable?(r(e,j)&&e[j][t]&&(e[j][t]=!1),n=w(n,{enumerable:k(0,!1)})):(r(e,j)||P(e,j,k(1,{})),e[j][t]=!0),Y(e,t,n)):P(e,t,n)},G=function(e,t){b(e);for(var n,i=m(t=$(t)),r=0,o=i.length;o>r;)K(e,n=i[r++],t[n]);return e},U=function(e,t){return void 0===t?w(e):G(w(e),t)},J=function(e){var t=I.call(this,e=_(e,!0));return!(this===B&&r(N,e)&&!r(R,e))&&(!(t||!r(this,e)||!r(N,e)||r(this,j)&&this[j][e])||t)},X=function(e,t){if(e=$(e),t=_(t,!0),e!==B||!r(N,t)||r(R,t)){var n=E(e,t);return!n||!r(N,t)||r(e,j)&&e[j][t]||(n.enumerable=!0),n}},Q=function(e){for(var t,n=D($(e)),i=[],o=0;n.length>o;)r(N,t=n[o++])||t==j||t==u||i.push(t);return i},Z=function(e){for(var t,n=e===B,i=D(n?R:$(e)),o=[],a=0;i.length>a;)!r(N,t=i[a++])||n&&!r(B,t)||o.push(N[t]);return o};H||(O=function(){if(this instanceof O)throw TypeError("Symbol is not a constructor!");var e=f(arguments.length>0?arguments[0]:void 0),t=function(n){this===B&&t.call(R,n),r(this,j)&&r(this[j],e)&&(this[j][e]=!1),Y(this,e,k(1,n))};return o&&q&&Y(B,e,{configurable:!0,set:t}),V(e)},l(O.prototype,"toString",function(){return this._k}),C.f=X,M.f=K,n(103).f=x.f=Q,n(28).f=J,n(52).f=Z,o&&!n(45)&&l(B,"propertyIsEnumerable",J,!0),h.f=function(e){return V(p(e))}),a(a.G+a.W+a.F*!H,{Symbol:O});for(var ee="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),te=0;ee.length>te;)p(ee[te++]);for(var ne=S(p.store),ie=0;ne.length>ie;)g(ne[ie++]);a(a.S+a.F*!H,"Symbol",{for:function(e){return r(F,e+="")?F[e]:F[e]=O(e)},keyFor:function(e){if(!W(e))throw TypeError(e+" is not a symbol!");for(var t in F)if(F[t]===e)return t},useSetter:function(){q=!0},useSimple:function(){q=!1}}),a(a.S+a.F*!H,"Object",{create:U,defineProperty:K,defineProperties:G,getOwnPropertyDescriptor:X,getOwnPropertyNames:Q,getOwnPropertySymbols:Z}),T&&a(a.S+a.F*(!H||s(function(){var e=O();return"[null]"!=L([e])||"{}"!=L({a:e})||"{}"!=L(Object(e))})),"JSON",{stringify:function(e){for(var t,n,i=[e],r=1;arguments.length>r;)i.push(arguments[r++]);if(n=t=i[1],(y(t)||void 0!==e)&&!W(e))return v(t)||(t=function(e,t){if("function"==typeof n&&(t=n.call(this,e,t)),!W(t))return t}),i[1]=t,L.apply(T,i)}}),O.prototype[A]||n(12)(O.prototype,A,O.prototype.valueOf),d(O,"Symbol"),d(Math,"Math",!0),d(i.JSON,"JSON",!0)},function(e,t,n){var i=n(27)("meta"),r=n(13),o=n(10),a=n(7).f,l=0,u=Object.isExtensible||function(){return!0},s=!n(14)(function(){return u(Object.preventExtensions({}))}),c=function(e){a(e,i,{value:{i:"O"+ ++l,w:{}}})},d=function(e,t){if(!r(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!o(e,i)){if(!u(e))return"F";if(!t)return"E";c(e)}return e[i].i},f=function(e,t){if(!o(e,i)){if(!u(e))return!0;if(!t)return!1;c(e)}return e[i].w},p=function(e){return s&&h.NEED&&u(e)&&!o(e,i)&&c(e),e},h=e.exports={KEY:i,NEED:!1,fastKey:d,getWeak:f,onFreeze:p}},function(e,t,n){var i=n(20),r=n(52),o=n(28);e.exports=function(e){var t=i(e),n=r.f;if(n)for(var a,l=n(e),u=o.f,s=0;l.length>s;)u.call(e,a=l[s++])&&t.push(a);return t}},function(e,t,n){var i=n(47);e.exports=Array.isArray||function(e){return"Array"==i(e)}},function(e,t,n){var i=n(16),r=n(103).f,o={}.toString,a="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],l=function(e){try{return r(e)}catch(e){return a.slice()}};e.exports.f=function(e){return a&&"[object Window]"==o.call(e)?l(e):r(i(e))}},function(e,t){},function(e,t,n){n(55)("asyncIterator")},function(e,t,n){n(55)("observable")},function(e,t,n){e.exports={default:n(291),__esModule:!0}},function(e,t,n){n(292),e.exports=n(3).Object.setPrototypeOf},function(e,t,n){var i=n(5);i(i.S,"Object",{setPrototypeOf:n(293).set})},function(e,t,n){var i=n(13),r=n(8),o=function(e,t){if(r(e),!i(t)&&null!==t)throw TypeError(t+": can't set as prototype!")};e.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(e,t,i){try{i=n(31)(Function.call,n(104).f(Object.prototype,"__proto__").set,2),i(e,[]),t=!(e instanceof Array)}catch(e){t=!0}return function(e,n){return o(e,n),t?e.__proto__=n:i(e,n),e}}({},!1):void 0),check:o}},function(e,t,n){e.exports={default:n(295),__esModule:!0}},function(e,t,n){n(296);var i=n(3).Object;e.exports=function(e,t){return i.create(e,t)}},function(e,t,n){var i=n(5);i(i.S,"Object",{create:n(46)})},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=i(r),a=n(1),l=i(a),u=n(29),s=i(u),c=n(86),d=i(c),f=n(298),p=i(f),h=n(107),g=i(h),m=function(){function e(t,n){(0,o.default)(this,e),this.criteria=t,this.columns=n,this.searchableColumns=this._getSearchableColumns()}return(0,l.default)(e,[{key:"applyFilter",value:function(e){var t=this,n=e;return this.criteria.forEach(function(e){n=t.applyCriteria(n,e)}),n}},{key:"applyCriteria",value:function(e,t){var n=this;if(null===t.property&&"contains"===t.operator)return e.filter(function(e){return n.itemContainsText(e,t.value)});var i=(0,d.default)(this.columns,["name",t.property]);if(!i)return e;var r=p.default.resolveComparator(t,i.type);return t.property&&t.operator&&void 0!==t.value&&i.type&&r?e.filter(function(e){var n=(0,s.default)(e,t.property);return r(n,t.value)}):e}},{key:"itemContainsText",value:function(e,t){return this.searchableColumns.reduce(function(n,i){var r=(0,s.default)(e,i);return n||g.default.contains(r,t)},!1)}},{key:"_getSearchableColumns",value:function(){return this.columns.filter(function(e){return e.searchable}).map(function(e){return e.name})}}]),e}();t.default=m},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=i(r),a=n(1),l=i(a),u=n(299),s=i(u),c=n(300),d=i(c),f=n(302),p=i(f),h=n(303),g=i(h),m=n(310),v=i(m),b=n(107),y=i(b),$={boolean:p.default,date:g.default,number:v.default,options:p.default,string:y.default},_=function(){function e(){(0,o.default)(this,e)}return(0,l.default)(e,null,[{key:"resolveComparator",value:function(e,t){var n=e.operator.replace(/Not$/,""),i=(0,d.default)(e.operator,"Not"),r=$[t]?$[t][n]:null;return r&&i?(0,s.default)(r):r}}]),e}();t.default=_},function(e,t){function n(e){if("function"!=typeof e)throw new TypeError(i);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}var i="Expected a function";e.exports=n},function(e,t,n){function i(e,t,n){e=l(e),t=o(t);var i=e.length;n=void 0===n?i:r(a(n),0,i);var u=n;return(n-=t.length)>=0&&e.slice(n,u)==t}var r=n(75),o=n(301),a=n(96),l=n(94);e.exports=i},function(e,t){function n(e){return e}e.exports=n},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=i(r),a=n(1),l=i(a),u=function(){function e(){(0,o.default)(this,e)}return(0,l.default)(e,null,[{key:"is",value:function(e,t){return e===t}}]),e}();t.default=u},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=i(r),a=n(1),l=i(a),u=n(304),s=i(u),c=n(306),d=i(c),f=function(){function e(){(0,o.default)(this,e)}return(0,l.default)(e,null,[{key:"is",value:function(t,n){return e.transformDate(t)===n}},{key:"isBefore",value:function(t,n){return e.transformDate(t)n}},{key:"normalizeDate",value:function(e){var t=e.getDate(),n=e.getMonth()+1;return t<10&&(t="0"+t),n<10&&(n="0"+n),e.getFullYear()+"-"+n+"-"+t}},{key:"transformDate",value:function(t){var n=t;if(!(0,d.default)(n)&&(n=new Date(n),(0,s.default)(n.valueOf())))throw new Error("ovh-ui-angular: date "+t+" cannot be parsed.");return e.normalizeDate(n)}}]),e}();t.default=f},function(e,t,n){function i(e){return r(e)&&e!=+e}var r=n(305);e.exports=i},function(e,t,n){function i(e){return"number"==typeof e||o(e)&&r(e)==a}var r=n(24),o=n(18),a="[object Number]";e.exports=i},function(e,t,n){var i=n(307),r=n(308),o=n(309),a=o&&o.isDate,l=a?r(a):i;e.exports=l},function(e,t,n){function i(e){return o(e)&&r(e)==a}var r=n(24),o=n(18),a="[object Date]";e.exports=i},function(e,t){function n(e){return function(t){return e(t)}}e.exports=n},function(e,t,n){(function(e){var i=n(62),r="object"==typeof t&&t&&!t.nodeType&&t,o=r&&"object"==typeof e&&e&&!e.nodeType&&e,a=o&&o.exports===r,l=a&&i.process,u=function(){try{return l&&l.binding&&l.binding("util")}catch(e){}}();e.exports=u}).call(t,n(61)(e))},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=i(r),a=n(1),l=i(a),u=function(){function e(){(0,o.default)(this,e)}return(0,l.default)(e,null,[{key:"is",value:function(e,t){return e===t}},{key:"smaller",value:function(e,t){return et}}]),e}();t.default=u},function(e,t,n){"use strict";var i=/[|\\{}()[\]^$+*?.]/g;e.exports=function(e){if("string"!=typeof e)throw new TypeError("Expected a string");return e.replace(i,"\\$&")}},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(22),o=i(r),a=n(98),l=i(a),u=n(0),s=i(u),c=n(1),d=i(c),f=n(100),p=i(f),h=n(105),g=i(h),m=n(106),v=i(m),b=function(e){function t(e,n,i,r,o,a){(0,s.default)(this,t);var u=(0,p.default)(this,(t.__proto__||(0,l.default)(t)).call(this,e,n,i,r,o));return u.rowsLoader=a,u}return(0,g.default)(t,e),(0,d.default)(t,[{key:"loadData",value:function(e){var t=this;return this.rowsLoader({$config:(0,o.default)({offset:this.offset,pageSize:this.pageSize,sort:this.getSortingConfiguration(),criteria:this.criteria},{skipSort:e})}).then(function(e){return t.loadRows(e)})}},{key:"loadRows",value:function(e){return this.loadRowsData(e.data),this.totalCount=e.meta.totalCount,e}}]),t}(v.default);t.default=b},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(314),o=i(r),a=n(315),l=i(a);t.default={bindings:{columns:"<",onChange:"&"},controller:o.default,template:l.default}},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=i(r),a=n(1),l=i(a),u=function(){function e(t,n){"ngInject";(0,o.default)(this,e),this.$element=t,this.$timeout=n}return e.$inject=["$element","$timeout"],(0,l.default)(e,[{key:"$onChanges",value:function(){this.computeColumns()}},{key:"$postLink",value:function(){var e=this;this.$timeout(function(){e.$element.addClass("oui-datagrid-parameters")})}},{key:"computeColumns",value:function(){this.customizedColumns=angular.copy(this.columns).map(function(e){return e.visible=!e.hidden,e})}},{key:"onColumnChange",value:function(e,t){this.changedColumns=angular.copy(this.customizedColumns),this.changedColumns.forEach(function(n,i){i===e&&(n.hidden=!t),delete n.visible}),this.onChange({columns:this.changedColumns})}}]),e}();t.default=u},function(e,t){e.exports='
Columns Display
'},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=i(r),a=n(1),l=i(a),u=function(){function e(){(0,o.default)(this,e),this.pageSize=25,this.translations={emptyPlaceholder:"No data available"}}return(0,l.default)(e,[{key:"setPageSize",value:function(e){return this.pageSize=e,this}},{key:"setTranslations",value:function(e){return this.translations=e,this}},{key:"$get",value:function(){return{pageSize:this.pageSize,translations:this.translations}}}]),e}();t.default=u},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=i(r),a=n(1),l=i(a),u=function(){function e(){(0,o.default)(this,e),this.datagrids={}}return(0,l.default)(e,[{key:"registerDatagrid",value:function(e){var t=e.id;if(this.datagrids[t])throw new Error('Duplicated datagrid: id="'+t+'".');t&&(this.datagrids[t]=e)}},{key:"unregisterDatagrid",value:function(e){delete this.datagrids[e]}},{key:"refresh",value:function(e,t){var n=this.datagrids[e];n&&n.refreshData(!1,!1,!1,!t,!0)}}]),e}();t.default=u},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}var r=n(319),o=i(r),a=n(320),l=i(a),u=n(323),s=i(u),c=n(324),d=i(c),f=n(326),p=i(f),h=n(327),g=i(h),m=n(330),v=i(m);angular.module("oui.navbar",["ngAria","ngSanitize"]).constant("KEYBOARD_KEYS",o.default).component("ouiNavbar",l.default).directive("ouiNavbarGroup",d.default).component("ouiNavbarMenu",g.default).provider("ouiNavbarConfiguration",s.default).service("NavbarService",v.default).service("NavbarGroupService",p.default)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={ALT:9,TAB:16,ESC:27}},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(321),o=i(r),a=n(322),l=i(a);t.default={bindings:{brand:" '},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=i(r),a=n(1),l=i(a),u=function(){function e(){(0,o.default)(this,e),this.translations={notification:{errorInNotification:"Oups, there’s an error!",errorInNotificationDescription:"We can’t initialize the menu.",markRead:"Mark as read",markUnread:"Mark as unread",noNotification:"You are all caught up!",noNotificationDescription:"You don't have any notification."}}}return(0,l.default)(e,[{key:"setTranslations",value:function(e){return this.translations=e,this}},{key:"$get",value:function(){return{translations:this.translations}}}]),e}();t.default=u},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(325),r=function(e){return e&&e.__esModule?e:{default:e}}(i);t.default=function(){return{restrict:"A",bindToController:{groupName:"@ouiNavbarGroup",isLast:"=o?0:l+1:n[t.KEYBOARD_KEYS.ALT]&&n[t.KEYBOARD_KEYS.TAB]&&(l=l<=0?o:l-1),r[l].clientHeight?r[l].focus():e(i,l)};angular.element(r).on("keydown",function(n){i.test(n.which)&&t.navbarService.isOpen(e)&&(n.preventDefault(),a(n,t.keyboardNav[e].indexOf(n.target)))}).on("keyup",function(e){delete n[e.which]})}},{key:"setFocusTo",value:function(e,t){var n=this;this.$timeout(function(){return n.keyboardNav[e][t]&&n.keyboardNav[e][t].focus()},50)}}]),e}();t.default=u},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(328),o=i(r),a=n(329),l=i(a);t.default={bindings:{backButton:"

'},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=i(r),a=n(1),l=i(a),u=function(){function e(){(0,o.default)(this,e)}return(0,l.default)(e,[{key:"isOpen",value:function(e){return this.navigation&&this.navigation[e]}},{key:"toggleMenu",value:function(e,t){return e?(t||this.navigation&&this.navigation[e]||(this.navigation={}),t||!this.navigation[e]?this.navigation[e]=!this.navigation[e]:this.navigation[e]&&(this.navigation=null)):this.navigation=null,this.navigation}}]),e}();t.default=u},function(e,t,n){"use strict";var i=n(332),r=function(e){return e&&e.__esModule?e:{default:e}}(i);angular.module("oui.modal",[]).component("ouiModal",r.default)},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(333),o=i(r),a=n(334),l=i(a);t.default={template:l.default,controller:o.default,bindings:{heading:"@?",title:"@?",primaryAction:"&?",primaryLabel:"@?",secondaryAction:"&?",secondaryLabel:"@?",onDismiss:"&?",loading:"

'},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}var r=n(336),o=i(r),a=n(341),l=i(a);angular.module("oui.field",[]).component("ouiField",o.default).provider("ouiFieldConfiguration",l.default)},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(337),o=i(r),a=n(340),l=i(a);t.default={bindings:{label:"@?",helpText:"@?",size:"@?",errorMessages:"1||(i.forEach(function(e){angular.element(e).hasClass("oui-field__component")||t.bindDOMEvents(e,n)}),t.validationParameters[n]=e.getValidationParameters(t.controls[n][0]))}),t.label=angular.element(t.$element[0].querySelector(".oui-field__label")),t.label.on("click",function(){t.$scope.$broadcast("oui:focus")}),t.labelPopover&&(t.popoverId="oui-field-popover-"+t.$scope.$id,t.for)){angular.element(t.$element[0].querySelector("#"+t.for)).attr("aria-describedby",t.popoverId)}})}},{key:"$destroy",value:function(){var e=this;(0,l.default)(this.controls).forEach(function(t){e.controls[t].forEach(function(e){angular.element(e).off("blur"),angular.element(e).off("focus")})}),this.label&&this.label.off("click")}},{key:"bindDOMEvents",value:function(e,t){var n=this;angular.element(e).on("blur",function(){n.$timeout(function(){n.checkControlErrors(e,t),n.hasFocus=!1})}),angular.element(e).on("focus",function(){n.$timeout(function(){n.hideErrors(e,t),n.hasFocus=!0})})}},{key:"checkControlErrors",value:function(e,t){this.form[t]&&this.form[t].$invalid?(this.invalidOnBlur=!0,this.currentErrorField=t):(this.invalidOnBlur=!1,this.currentErrorField=null)}},{key:"hideErrors",value:function(e,t){this.form[t].$touched=!1,this.invalidOnBlur=!1}},{key:"isErrorVisible",value:function(){return!!this.form&&(this.checkAllErrors(),this.invalidOnBlur||this.form.$submitted&&this.invalid&&!this.hasFocus)}},{key:"checkAllErrors",value:function(){var e=this;this.invalid=(0,l.default)(this.controls).map(function(t){return e.form[t].$invalid&&!e.currentErrorField&&(e.currentErrorField=t),e.form[t].$invalid}).reduce(function(e,t){return e||t},!1)}},{key:"getFirstError",value:function(){for(var e=(0,l.default)(this.controls),t=0;t
'},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=i(r),a=n(1),l=i(a),u=function(){function e(){(0,o.default)(this,e),this.translations={errors:{required:"Mandatory.",number:"Invalid number.",email:"Invalid email.",min:"Too low ({{min}} min).",max:"Too high ({{max}} max).",minlength:"Too short ({{minlength}} characters min).",maxlength:"Too high ({{maxlength}} characters max).",pattern:"Invalid format."}}}return(0,l.default)(e,[{key:"setTranslations",value:function(e){return this.translations=e,this}},{key:"$get",value:function(){return{translations:this.translations}}}]),e}();t.default=u},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(109),r=function(e){return e&&e.__esModule?e:{default:e}}(i);t.default={template:"",controller:r.default,bindings:{name:"@?",model:"=?",onChange:"&"},transclude:!0}},function(e,t,n){"use strict";n(39),n(108);var i=n(344),r=function(e){return e&&e.__esModule?e:{default:e}}(i);angular.module("oui.radio-toggle-group",["oui.radio","oui.radio-group"]).component("ouiRadioToggleGroup",r.default)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(109),r=function(e){return e&&e.__esModule?e:{default:e}}(i);t.default={template:"
",controller:r.default,bindings:{name:"@?",model:"=?",onChange:"&"},transclude:!0}},function(e,t,n){"use strict";n(346);var i=n(350),r=function(e){return e&&e.__esModule?e:{default:e}}(i);angular.module("oui.select",["oui.field","ui.select","ngSanitize"]).directive("ouiSelect",r.default)},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}var r=n(56),o=i(r),a=n(25),l=i(a);!function(){function e(e){return angular.isUndefined(e)||null===e}var t={TAB:9,ENTER:13,ESC:27,SPACE:32,LEFT:37,UP:38,RIGHT:39,DOWN:40,SHIFT:16,CTRL:17,ALT:18,PAGE_UP:33,PAGE_DOWN:34,HOME:36,END:35,BACKSPACE:8,DELETE:46,COMMAND:91,MAP:{91:"COMMAND",8:"BACKSPACE",9:"TAB",13:"ENTER",16:"SHIFT",17:"CTRL",18:"ALT",19:"PAUSEBREAK",20:"CAPSLOCK",27:"ESC",32:"SPACE",33:"PAGE_UP",34:"PAGE_DOWN",35:"END",36:"HOME",37:"LEFT",38:"UP",39:"RIGHT",40:"DOWN",43:"+",44:"PRINTSCREEN",45:"INSERT",46:"DELETE",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",61:"=",65:"A",66:"B",67:"C",68:"D",69:"E",70:"F",71:"G",72:"H",73:"I",74:"J",75:"K",76:"L",77:"M",78:"N",79:"O",80:"P",81:"Q",82:"R",83:"S",84:"T",85:"U",86:"V",87:"W",88:"X",89:"Y",90:"Z",96:"0",97:"1",98:"2",99:"3",100:"4",101:"5",102:"6",103:"7",104:"8",105:"9",106:"*",107:"+",109:"-",110:".",111:"/",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NUMLOCK",145:"SCROLLLOCK",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},isControl:function(e){switch(e.which){case t.COMMAND:case t.SHIFT:case t.CTRL:case t.ALT:return!0}return!!(e.metaKey||e.ctrlKey||e.altKey)},isFunctionKey:function(e){return(e=e.which?e.which:e)>=112&&e<=123},isVerticalMovement:function(e){return~[t.UP,t.DOWN].indexOf(e)},isHorizontalMovement:function(e){return~[t.LEFT,t.RIGHT,t.BACKSPACE,t.DELETE].indexOf(e)},toSeparator:function(e){var n={ENTER:"\n",TAB:"\t",SPACE:" "}[e];return n||(t[e]?void 0:e)}};void 0===angular.element.prototype.querySelectorAll&&(angular.element.prototype.querySelectorAll=function(e){return angular.element(this[0].querySelectorAll(e))}),void 0===angular.element.prototype.closest&&(angular.element.prototype.closest=function(e){for(var t=this[0],n=t.matches||t.webkitMatchesSelector||t.mozMatchesSelector||t.msMatchesSelector;t;){if(n.bind(t)(e))return t;t=t.parentElement}return!1});var n=0,i=angular.module("ui.select",[]).constant("uiSelectConfig",{theme:"bootstrap",searchEnabled:!0,sortable:!1,placeholder:"",refreshDelay:1e3,closeOnSelect:!0,skipFocusser:!1,dropdownPosition:"auto",removeSelected:!0,resetSearchInput:!0,generateId:function(){return n++},appendToBody:!1,spinnerEnabled:!1,spinnerClass:"glyphicon glyphicon-refresh ui-select-spin",backspaceReset:!0}).service("uiSelectMinErr",function(){var e=angular.$$minErr("ui.select");return function(){var t=e.apply(this,arguments),n=t.message.replace(new RegExp("\nhttp://errors.angularjs.org/.*"),"");return new Error(n)}}).directive("uisTranscludeAppend",function(){return{link:function(e,t,n,i,r){r(e,function(e){t.append(e)})}}}).filter("highlight",function(){function e(e){return(""+e).replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")}return function(t,n){return n&&t?(""+t).replace(new RegExp(e(n),"gi"),'$&'):t}}).factory("uisOffset",["$document","$window",function(e,t){return function(n){var i=n[0].getBoundingClientRect();return{width:i.width||n.prop("offsetWidth"),height:i.height||n.prop("offsetHeight"),top:i.top+(t.pageYOffset||e[0].documentElement.scrollTop),left:i.left+(t.pageXOffset||e[0].documentElement.scrollLeft)}}}]);i.factory("$$uisDebounce",["$timeout",function(e){return function(t,n){var i;return function(){var r=this,o=Array.prototype.slice.call(arguments);i&&e.cancel(i),i=e(function(){t.apply(r,o)},n)}}}]),i.directive("uiSelectChoices",["uiSelectConfig","uisRepeatParser","uiSelectMinErr","$compile","$window",function(e,t,n,i,r){return{restrict:"EA",require:"^uiSelect",replace:!0,transclude:!0,templateUrl:function(t){return t.addClass("ui-select-choices"),(t.parent().attr("theme")||e.theme)+"/choices.tpl.html"},compile:function(i,o){if(!o.repeat)throw n("repeat","Expected 'repeat' expression.");var a=o.groupBy,l=o.groupFilter;if(a){var u=i.querySelectorAll(".ui-select-choices-group");if(1!==u.length)throw n("rows","Expected 1 .ui-select-choices-group but got '{0}'.",u.length);u.attr("ng-repeat",t.getGroupNgRepeatExpression())}var s=t.parse(o.repeat),c=i.querySelectorAll(".ui-select-choices-row");if(1!==c.length)throw n("rows","Expected 1 .ui-select-choices-row but got '{0}'.",c.length);c.attr("ng-repeat",s.repeatExpression(a));var d=i.querySelectorAll(".ui-select-choices-row-inner");if(1!==d.length)throw n("rows","Expected 1 .ui-select-choices-row-inner but got '{0}'.",d.length);return d.attr("uis-transclude-append",""),(r.document.addEventListener?c:d).attr("ng-click","$select.select("+s.itemName+",$select.skipFocusser,$event)"),function(t,n,r,o){o.parseRepeatAttr(r.repeat,a,l),o.disableChoiceExpression=r.uiDisableChoice,o.onHighlightCallback=r.onHighlight,o.minimumInputLength=parseInt(r.minimumInputLength)||0,o.dropdownPosition=r.position?r.position.toLowerCase():e.dropdownPosition,t.$watch("$select.search",function(e){e&&!o.open&&o.multiple&&o.activate(!1,!0),o.activeIndex=o.tagging.isActivated?-1:0,!r.minimumInputLength||o.search.length>=r.minimumInputLength?o.refresh(r.refresh):o.items=[]}),r.$observe("refreshDelay",function(){var n=t.$eval(r.refreshDelay);o.refreshDelay=void 0!==n?n:e.refreshDelay}),t.$watch("$select.open",function(e){e?(i.attr("role","listbox"),o.refresh(r.refresh)):n.removeAttr("role")})}}}}]),i.controller("uiSelectCtrl",["$scope","$element","$timeout","$filter","$$uisDebounce","uisRepeatParser","uiSelectMinErr","uiSelectConfig","$parse","$injector","$window","$document","$attrs",function(n,i,r,a,u,s,c,d,f,p,h,g,m){function v(e,t,n){if(e.findIndex)return e.findIndex(t,n);for(var i,r=Object(e),o=r.length>>>0,a=0;a=0&&(e+="-"+M.align),M.popper=new l.default(M.referenceElement,M.popperElement,{placement:e,modifiers:{preventOverflow:{boundariesElement:M.$document[0].body}}}),M.popperElement.style.minWidth=M.referenceElement.offsetWidth+"px"}function _(e,t){var n=D.indexOf(e);t&&-1===n&&D.push(e),!t&&n>-1&&D.splice(n,1)}function k(e){return D.indexOf(e)>-1}function w(e){function t(e,t){var n=i.indexOf(e);t&&-1===n&&i.push(e),!t&&n>-1&&i.splice(n,1)}function n(e){return i.indexOf(e)>-1}if(e){var i=[];M.isLocked=function(e,i){var r=!1,o=M.selected[i];return o&&(e?(r=!!e.$eval(M.lockChoiceExpression),t(o,r)):r=n(o)),r}}}function x(e){var n=!0;switch(e){case t.DOWN:if(!M.open&&M.multiple)M.activate(!1,!0);else if(M.activeIndexr)for(var o=--M.activeIndex;k(M.items[o])&&o>r;)M.activeIndex=--o;break;case t.TAB:M.multiple&&!M.open||M.select(M.items[M.activeIndex],!0);break;case t.ENTER:M.open&&(M.tagging.isActivated||M.activeIndex>=0)?M.select(M.items[M.activeIndex],M.skipFocusser):M.activate(!1,!0);break;case t.ESC:M.close();break;default:n=!1}return n}function C(){var e=i.querySelectorAll(".ui-select-choices-content"),t=e.querySelectorAll(".ui-select-choices-row");if(t.length<1)throw c("choices","Expected multiple .ui-select-choices-row but got '{0}'.",t.length);if(!(M.activeIndex<0)){var n=t[M.activeIndex],r=n.offsetTop+n.clientHeight-e[0].scrollTop,o=e[0].offsetHeight;r>o?e[0].scrollTop+=r-o:r=M.items.length?0:M.activeIndex,-1===M.activeIndex&&!1!==M.taggingLabel&&(M.activeIndex=0);var o=i.querySelectorAll(".ui-select-choices-content"),a=i.querySelectorAll(".ui-select-search");if(M.$animate&&M.$animate.on&&M.$animate.enabled(o[0])){var l=function t(n,i){"start"===i&&0===M.items.length?(M.$animate.off("removeClass",a[0],t),r(function(){M.focusSearchInput(e)})):"close"===i&&(M.$animate.off("enter",o[0],t),r(function(){M.focusSearchInput(e)}))};M.items.length>0?M.$animate.on("enter",o[0],l):M.$animate.on("removeClass",a[0],l)}else r(function(){M.focusSearchInput(e),!M.tagging.isActivated&&M.items.length>1&&C()});M.referenceElement=i[0].querySelector(".oui-button_dropdown"),M.popperElement=i[0].querySelector(".ui-select-choices-container"),$()}},M.focusSearchInput=function(e){M.search=e||M.search,M.searchInput[0].focus()},M.findGroupByName=function(e){return M.groups&&M.groups.filter(function(t){return t.name===e})[0]},M.parseRepeatAttr=function(e,t,i){function r(e){var r=n.$eval(t);if(M.groups=[],angular.forEach(e,function(e){var t=angular.isFunction(r)?r(e):e[r],n=M.findGroupByName(t);n?n.items.push(e):M.groups.push({name:t,items:[e]})}),i){var o=n.$eval(i);angular.isFunction(o)?M.groups=o(M.groups):angular.isArray(o)&&(M.groups=y(M.groups,o))}M.items=[],M.groups.forEach(function(e){M.items=M.items.concat(e.items)})}function a(e){M.items=e||[]}M.setItemsFn=t?r:a,M.parserResult=s.parse(e),M.isGrouped=!!t,M.itemProperty=M.parserResult.itemName;var l=M.parserResult.source,u=function(){var e=l(n);n.$uisSource=(0,o.default)(e).map(function(t){var n={};return n[M.parserResult.keyName]=t,n.value=e[t],n})};M.parserResult.keyName&&(u(),M.parserResult.source=f("$uisSource"+M.parserResult.filters),n.$watch(l,function(e,t){e!==t&&u()},!0)),M.refreshItems=function(e){e=e||M.parserResult.source(n);var t=M.selected;if(M.isEmpty()||angular.isArray(t)&&!t.length||!M.multiple||!M.removeSelected)M.setItemsFn(e);else if(void 0!==e&&null!==e){var i=e.filter(function(e){return angular.isArray(t)?t.every(function(t){return!angular.equals(e,t)}):!angular.equals(e,t)});M.setItemsFn(i)}"auto"!==M.dropdownPosition&&"up"!==M.dropdownPosition||n.calculateDropdownPos(),n.$broadcast("uis:refresh")},n.$watchCollection(M.parserResult.source,function(e){if(void 0===e||null===e)M.items=[];else{if(!angular.isArray(e))throw c("items","Expected an array but got '{0}'.",e);M.refreshItems(e),angular.isDefined(M.ngModel.$modelValue)&&(M.ngModel.$modelValue=null)}})};var E;M.refresh=function(e){void 0!==e&&(E&&r.cancel(E),E=r(function(){if(n.$select.search.length>=n.$select.minimumInputLength){var t=n.$eval(e);t&&angular.isFunction(t.then)&&!M.refreshing&&(M.refreshing=!0,t.finally(function(){M.refreshing=!1}))}},M.refreshDelay))},M.isActive=function(e){if(!M.open)return!1;var t=M.items.indexOf(e[M.itemProperty]),n=t==M.activeIndex;return!(!n||t<0)&&(n&&!angular.isUndefined(M.onHighlightCallback)&&e.$eval(M.onHighlightCallback),n)};var P=function(e){return M.selected&&angular.isArray(M.selected)&&M.selected.filter(function(t){return angular.equals(t,e)}).length>0};M.isSelected=function(e){var t=e.$item,n=M.selected;return angular.isArray(n)?P(t):angular.equals(n,t)};var D=[];M.isDisabled=function(e){if(M.open){var t=e[M.itemProperty],n=M.items.indexOf(t),i=!1;if(n>=0&&(angular.isDefined(M.disableChoiceExpression)||M.multiple)){if(t.isTag)return!1;M.multiple&&(i=P(t)),!i&&angular.isDefined(M.disableChoiceExpression)&&(i=!!e.$eval(M.disableChoiceExpression)),_(t,i)}return i}},M.select=function(t,i,r){if(e(t)||!k(t)){if(!M.items&&!M.search&&!M.tagging.isActivated)return;if(!t||!k(t)){if(M.clickTriggeredSelect=!1,r&&("click"===r.type||"touchend"===r.type)&&t&&(M.clickTriggeredSelect=!0),M.tagging.isActivated&&!1===M.clickTriggeredSelect){if(!1===M.taggingLabel)if(M.activeIndex<0){if(void 0===t&&(t=void 0!==M.tagging.fct?M.tagging.fct(M.search):M.search),!t||angular.equals(M.items[0],t))return}else t=M.items[M.activeIndex];else if(0===M.activeIndex){if(void 0===t)return;if(void 0!==M.tagging.fct&&"string"==typeof t){if(!(t=M.tagging.fct(t)))return}else"string"==typeof t&&(t=t.replace(M.taggingLabel,"").trim())}if(P(t))return void M.close(i)}b(),n.$broadcast("uis:select",t),M.closeOnSelect&&M.close(i)}}},M.close=function(e){M.open&&(M.ngModel&&M.ngModel.$setTouched&&M.ngModel.$setTouched(),M.open=!1,b(),n.$broadcast("uis:close",e))},M.setFocus=function(){M.focus||M.focusInput[0].focus()},M.clear=function(e){M.select(null),e.stopPropagation(),r(function(){M.focusser[0].focus()},0,!1)},M.toggle=function(e){M.open?(M.close(),e.preventDefault(),e.stopPropagation()):M.activate()},M.isLocked=function(){return!1},n.$watch(function(){return angular.isDefined(M.lockChoiceExpression)&&""!==M.lockChoiceExpression},w);var O=null,T=!1;M.sizeSearchInput=function(){var e=M.searchInput[0],t=M.$element[0],i=function(){return t.clientWidth*!!e.offsetParent},o=function(t){if(0===t)return!1;var n=t-e.offsetLeft;return n<50&&(n=t),M.searchInput.css("width",n+"px"),!0};M.searchInput.css("width","10px"),r(function(){null!==O||o(i())||(O=n.$watch(function(){T||(T=!0,n.$$postDigest(function(){T=!1,o(i())&&(O(),O=null)}))},angular.noop))})},M.keydownHandler=function(e){var i=e.which;~[t.ENTER,t.ESC].indexOf(i)&&(e.preventDefault(),e.stopPropagation()),t.TAB!==i&&(n.$apply(function(){var n=!1;if((M.items.length>0||M.tagging.isActivated)&&(x(i)||M.searchEnabled||(e.preventDefault(),e.stopPropagation()),M.taggingTokens.isActivated)){for(var o=0;o0&&(n=!0);n&&r(function(){M.searchInput.triggerHandler("tagged");var n=M.search.replace(t.MAP[e.keyCode],"").trim();M.tagging.fct&&(n=M.tagging.fct(n)),n&&M.select(n,!0)})}}),t.isVerticalMovement(i)&&M.items.length>0&&(e.preventDefault(),C()),i!==t.ENTER&&i!==t.ESC||(e.preventDefault(),e.stopPropagation()))},M.searchInput.on("keydown",M.keydownHandler),M.searchInput.on("paste",function(e){var n;if(n=window.clipboardData&&window.clipboardData.getData?window.clipboardData.getData("Text"):(e.originalEvent||e).clipboardData.getData("text/plain"),(n=M.search+n)&&n.length>0)if(M.taggingTokens.isActivated){for(var i=[],r=0;r-1){i=n.split(o);break}}0===i.length&&(i=[n]);var a=M.search;angular.forEach(i,function(e){var t=M.tagging.fct?M.tagging.fct(e):e;t&&M.select(t,!0)}),M.search=a||S,e.preventDefault(),e.stopPropagation()}else M.paste&&(M.paste(n),M.search=S,e.preventDefault(),e.stopPropagation())}),M.searchInput.on("tagged",function(){r(function(){b()})});var L=u(function(){M.sizeSearchInput()},50);angular.element(h).bind("resize",L),n.$on("$destroy",function(){M.searchInput.off("keyup keydown tagged blur paste"),angular.element(h).off("resize",L)}),n.$watch("$select.activeIndex",function(e){e&&i.find("input").attr("aria-activedescendant","ui-select-choices-row-"+M.generatedId+"-"+e)}),n.$watch("$select.open",function(e){e||i.find("input").removeAttr("aria-activedescendant")})}]),i.directive("uiSelect",["$document","uiSelectConfig","uiSelectMinErr","uisOffset","$compile","$parse","$timeout",function(e,t,n,i,r,o,a){return{restrict:"EA",templateUrl:function(e,n){return(n.theme||t.theme)+(angular.isDefined(n.multiple)?"/select-multiple.tpl.html":"/select.tpl.html")},replace:!0,transclude:!0,require:["uiSelect","^ngModel"],scope:!0,controller:"uiSelectCtrl",controllerAs:"$select",compile:function(r,l){var u=/{(.*)}\s*{(.*)}/.exec(l.ngClass);if(u){var s="{"+u[1]+", "+u[2]+"}";l.ngClass=s,r.attr("ng-class",s)}return angular.isDefined(l.multiple)?r.append("").removeAttr("multiple"):r.append(""),l.inputId&&(r.querySelectorAll("input.ui-select-search")[0].id=l.inputId),function(r,l,u,s,c){function d(e){if(h.open){if(!(window.jQuery?window.jQuery.contains(l[0],e.target):l[0].contains(e.target))&&!h.clickTriggeredSelect){var t;if(h.skipFocusser)t=!0;else{var n=["input","button","textarea","select"],i=angular.element(e.target).controller("uiSelect");t=i&&i!==h,t||(t=~n.indexOf(e.target.tagName.toLowerCase()))}h.close(t),r.$digest()}h.clickTriggeredSelect=!1}}function f(){var t=i(l);v=angular.element('
'),v[0].style.width=t.width+"px",v[0].style.height=t.height+"px",l.after(v),b=l[0].style.width,e.find("body").append(l),l[0].style.position="absolute",l[0].style.left=t.left+"px",l[0].style.top=t.top+"px",l[0].style.width=t.width+"px"}function p(){null!==v&&(v.replaceWith(l),v=null,l[0].style.position="",l[0].style.left="",l[0].style.top="",l[0].style.width=b,h.setFocus())}var h=s[0],g=s[1];h.generatedId=t.generateId(),h.baseTitle=u.title||"Select box",h.focusserTitle=h.baseTitle+" focus",h.focusserId="focusser-"+h.generatedId,h.closeOnSelect=function(){return angular.isDefined(u.closeOnSelect)?o(u.closeOnSelect)():t.closeOnSelect}(),r.$watch("skipFocusser",function(){var e=r.$eval(u.skipFocusser);h.skipFocusser=void 0!==e?e:t.skipFocusser}),h.onSelectCallback=o(u.onSelect),h.onRemoveCallback=o(u.onRemove),h.onBlurCallback=o(u.onBlur),h.onFocusCallback=o(u.onFocus),h.onBlur=function(){h.onBlurCallback(r)},h.onFocus=function(){h.onFocusCallback(r)},h.ngModel=g,h.choiceGrouped=function(e){return h.isGrouped&&e&&e.name},u.tabindex&&u.$observe("tabindex",function(e){h.focusInput.attr("tabindex",e),l.removeAttr("tabindex")}),r.$watch(function(){return r.$eval(u.searchEnabled)},function(e){h.searchEnabled=void 0!==e?e:t.searchEnabled}),r.$watch("sortable",function(){var e=r.$eval(u.sortable);h.sortable=void 0!==e?e:t.sortable}),u.$observe("backspaceReset",function(){var e=r.$eval(u.backspaceReset);h.backspaceReset=void 0===e||e}),u.$observe("limit",function(){h.limit=angular.isDefined(u.limit)?parseInt(u.limit,10):void 0}),r.$watch("removeSelected",function(){var e=r.$eval(u.removeSelected);h.removeSelected=void 0!==e?e:t.removeSelected}),u.$observe("disabled",function(){h.disabled=void 0!==u.disabled&&u.disabled}),u.$observe("resetSearchInput",function(){var e=r.$eval(u.resetSearchInput);h.resetSearchInput=void 0===e||e}),u.$observe("paste",function(){h.paste=r.$eval(u.paste)}),u.$observe("tagging",function(){if(void 0!==u.tagging){var e=r.$eval(u.tagging);h.tagging={isActivated:!0,fct:!0!==e?e:void 0}}else h.tagging={isActivated:!1,fct:void 0}}),u.$observe("taggingLabel",function(){void 0!==u.tagging&&("false"===u.taggingLabel?h.taggingLabel=!1:h.taggingLabel=void 0!==u.taggingLabel?u.taggingLabel:"(new)")}),u.$observe("taggingTokens",function(){if(void 0!==u.tagging){var e=void 0!==u.taggingTokens?u.taggingTokens.split("|"):[",","ENTER"];h.taggingTokens={isActivated:!0,tokens:e}}}),u.$observe("spinnerEnabled",function(){var e=r.$eval(u.spinnerEnabled);h.spinnerEnabled=void 0!==e?e:t.spinnerEnabled}),u.$observe("spinnerClass",function(){var e=u.spinnerClass;h.spinnerClass=void 0!==e?u.spinnerClass:t.spinnerClass}),angular.isDefined(u.autofocus)&&a(function(){h.setFocus()}),angular.isDefined(u.focusOn)&&r.$on(u.focusOn,function(){a(function(){h.setFocus()})}),e.on("click",d),r.$on("$destroy",function(){e.off("click",d)}),c(r,function(e){var t=angular.element("
").append(e),i=t.querySelectorAll(".ui-select-match");if(i.removeAttr("ui-select-match"),i.removeAttr("data-ui-select-match"),1!==i.length)throw n("transcluded","Expected 1 .ui-select-match but got '{0}'.",i.length);l.querySelectorAll(".ui-select-match").replaceWith(i);var r=t.querySelectorAll(".ui-select-choices");if(r.removeAttr("ui-select-choices"),r.removeAttr("data-ui-select-choices"),1!==r.length)throw n("transcluded","Expected 1 .ui-select-choices but got '{0}'.",r.length);l.querySelectorAll(".ui-select-choices").replaceWith(r);var o=t.querySelectorAll(".ui-select-no-choice");o.removeAttr("ui-select-no-choice"),o.removeAttr("data-ui-select-no-choice"),1==o.length&&l.querySelectorAll(".ui-select-no-choice").replaceWith(o)});var m=r.$eval(u.appendToBody);(void 0!==m?m:t.appendToBody)&&(r.$watch("$select.open",function(e){e?f():p()}),r.$on("$destroy",function(){p()}));var v=null,b="",y=null;r.$watch("$select.open",function(){"auto"!==h.dropdownPosition&&"up"!==h.dropdownPosition||r.calculateDropdownPos()});var $=function(e,t){e=e||i(l),t=t||i(y),y[0].style.position="absolute",y[0].style.top=-1*t.height+"px",l.addClass("direction-up")},_=function(e,t){l.removeClass("direction-up"),e=e||i(l),t=t||i(y),y[0].style.position="",y[0].style.top=""},k=function(){a(function(){if("up"===h.dropdownPosition)$();else{l.removeClass("direction-up");var t=i(l),n=i(y),r=e[0].documentElement.scrollTop||e[0].body.scrollTop;t.top+t.height+n.height>r+e[0].documentElement.clientHeight?$(t,n):_(t,n)}y[0].style.opacity=1})},w=!1;r.calculateDropdownPos=function(){if(h.open){if(y=angular.element(l).querySelectorAll(".ui-select-dropdown"),0===y.length)return;if(""!==h.search||w||(y[0].style.opacity=0,w=!0),!i(y).height&&h.$animate&&h.$animate.on&&h.$animate.enabled(y)){var e=!0;h.$animate.on("enter",y,function(t,n){"close"===n&&e&&(k(),e=!1)})}else k()}else{if(null===y||0===y.length)return;y[0].style.opacity=0,y[0].style.position="",y[0].style.top="",l.removeClass("direction-up")}}}}}}]),i.directive("uiSelectMatch",["uiSelectConfig",function(e){function t(e,t){return e[0].hasAttribute(t)?e.attr(t):e[0].hasAttribute("data-"+t)?e.attr("data-"+t):e[0].hasAttribute("x-"+t)?e.attr("x-"+t):void 0}return{restrict:"EA",require:"^uiSelect",replace:!0,transclude:!0,templateUrl:function(n){n.addClass("ui-select-match");var i=n.parent();return(t(i,"theme")||e.theme)+(angular.isDefined(t(i,"multiple"))?"/match-multiple.tpl.html":"/match.tpl.html")},link:function(t,n,i,r){function o(e){r.allowClear=!!angular.isDefined(e)&&(""===e||"true"===e.toLowerCase())}r.lockChoiceExpression=i.uiLockChoice,i.$observe("placeholder",function(t){r.placeholder=void 0!==t?t:e.placeholder}),i.$observe("allowClear",o),o(i.allowClear),r.multiple&&r.sizeSearchInput(),n.on("keydown",r.keydownHandler)}}}]),i.directive("uiSelectMultiple",["uiSelectMinErr","$timeout",function(n,i){return{restrict:"EA",require:["^uiSelect","^ngModel"],controller:["$scope","$timeout",function(e,t){var n,i=this,r=e.$select;angular.isUndefined(r.selected)&&(r.selected=[]),e.$evalAsync(function(){n=e.ngModel}),i.activeMatchIndex=-1,i.updateModel=function(){n.$setViewValue(Date.now()),i.refreshComponent()},i.refreshComponent=function(){r.refreshItems&&r.refreshItems(),r.sizeSearchInput&&r.sizeSearchInput()},i.removeChoice=function(n){if(r.isLocked(null,n))return!1;var o=r.selected[n],a={};return a[r.parserResult.itemName]=o,r.selected.splice(n,1),i.activeMatchIndex=-1,r.sizeSearchInput(),t(function(){r.onRemoveCallback(e,{$item:o,$model:r.parserResult.modelMapper(e,a)})}),i.updateModel(),!0},i.getPlaceholder=function(){if(!r.selected||!r.selected.length)return r.placeholder}}],controllerAs:"$selectMultiple",link:function(r,o,a,l){function u(e){return angular.isNumber(e.selectionStart)?e.selectionStart:e.value.length}function s(e){var n=u(f.searchInput[0]),i=f.selected.length,r=i-1,o=h.activeMatchIndex,a=h.activeMatchIndex+1,l=h.activeMatchIndex-1,s=o;return!(n>0||f.search.length&&e==t.RIGHT)&&(f.close(),s=function(){switch(e){case t.LEFT:return~h.activeMatchIndex?l:r;case t.RIGHT:return~h.activeMatchIndex&&o!==r?a:(f.activate(),!1);case t.BACKSPACE:return~h.activeMatchIndex?h.removeChoice(o)?l:o:r;case t.DELETE:return!!~h.activeMatchIndex&&(h.removeChoice(h.activeMatchIndex),o)}}(),f.selected.length&&!1!==s?h.activeMatchIndex=Math.min(r,Math.max(0,s)):h.activeMatchIndex=-1,!0)}function c(e){return void 0!==e&&void 0!==f.search&&e.filter(function(e){return void 0!==f.search.toUpperCase()&&void 0!==e&&e.toUpperCase()===f.search.toUpperCase()}).length>0}function d(e,t){var n=-1;if(angular.isArray(e))for(var i=angular.copy(e),r=0;r=0;i--)t={},t[f.parserResult.itemName]=f.selected[i],e=f.parserResult.modelMapper(r,t),n.unshift(e);return n}),p.$formatters.unshift(function(e){var t,n=f.parserResult&&f.parserResult.source(r,{$select:{search:""}}),i={};if(!n)return e;var o=[],a=function(e,n){if(e&&e.length){for(var a=e.length-1;a>=0;a--){if(i[f.parserResult.itemName]=e[a],t=f.parserResult.modelMapper(r,i),f.parserResult.trackByExp){var l=/(\w*)\./.exec(f.parserResult.trackByExp),u=/\.([^\s]+)/.exec(f.parserResult.trackByExp);if(l&&l.length>0&&l[1]==f.parserResult.itemName&&u&&u.length>0&&t[u[1]]==n[u[1]])return o.unshift(e[a]),!0}if(angular.equals(t,n))return o.unshift(e[a]),!0}return!1}};if(!e)return o;for(var l=e.length-1;l>=0;l--)a(f.selected,e[l])||a(n,e[l])||o.unshift(e[l]);return o}),r.$watchCollection(function(){return p.$modelValue},function(e,t){t!=e&&(angular.isDefined(p.$modelValue)&&(p.$modelValue=null),h.refreshComponent())}),p.$render=function(){if(!angular.isArray(p.$viewValue)){if(!e(p.$viewValue))throw n("multiarr","Expected model value to be array but got '{0}'",p.$viewValue);p.$viewValue=[]}f.selected=p.$viewValue,h.refreshComponent(),r.$evalAsync()},r.$on("uis:select",function(e,t){if(!(f.selected.length>=f.limit)){f.selected.push(t);var n={};n[f.parserResult.itemName]=t,i(function(){f.onSelectCallback(r,{$item:t,$model:f.parserResult.modelMapper(r,n)})}),h.updateModel()}}),r.$on("uis:activate",function(){h.activeMatchIndex=-1}),r.$watch("$select.disabled",function(e,t){t&&!e&&f.sizeSearchInput()}),f.searchInput.on("keydown",function(e){var n=e.which;r.$apply(function(){var i=!1;t.isHorizontalMovement(n)&&(i=s(n)),i&&n!=t.TAB&&(e.preventDefault(),e.stopPropagation())})}),f.searchInput.on("keyup",function(e){if(t.isVerticalMovement(e.which)||r.$evalAsync(function(){f.activeIndex=!1===f.taggingLabel?-1:0}),f.tagging.isActivated&&f.search.length>0){if(e.which===t.TAB||t.isControl(e)||t.isFunctionKey(e)||e.which===t.ESC||t.isVerticalMovement(e.which))return;if(f.activeIndex=!1===f.taggingLabel?-1:0,!1===f.taggingLabel)return;var n,i,o,a,l=angular.copy(f.items),u=angular.copy(f.items),s=!1,p=-1;if(void 0!==f.tagging.fct){if(o=f.$filter("filter")(l,{isTag:!0}),o.length>0&&(a=o[0]),l.length>0&&a&&(s=!0,l=l.slice(1,l.length),u=u.slice(1,u.length)),n=f.tagging.fct(f.search),u.some(function(e){return angular.equals(e,n)})||f.selected.some(function(e){return angular.equals(e,n)}))return void r.$evalAsync(function(){f.activeIndex=0,f.items=l});n&&(n.isTag=!0)}else{if(o=f.$filter("filter")(l,function(e){return e.match(f.taggingLabel)}),o.length>0&&(a=o[0]),i=l[0],void 0!==i&&l.length>0&&a&&(s=!0,l=l.slice(1,l.length),u=u.slice(1,u.length)),n=f.search+" "+f.taggingLabel,d(f.selected,f.search)>-1)return;if(c(u.concat(f.selected)))return void(s&&(l=u,r.$evalAsync(function(){f.activeIndex=0,f.items=l})));if(c(u))return void(s&&(f.items=u.slice(1,u.length)))}s&&(p=d(f.selected,n)),p>-1?l=l.slice(p+1,l.length-1):(l=[],n&&l.push(n),l=l.concat(u)),r.$evalAsync(function(){if(f.activeIndex=0,f.items=l,f.isGrouped){var e=n?l.slice(1):l;f.setItemsFn(e),n&&(f.items.unshift(n),f.groups.unshift({name:"",items:[n],tagging:!0}))}})}}),f.searchInput.on("blur",function(){i(function(){h.activeMatchIndex=-1})})}}}]),i.directive("uiSelectNoChoice",["uiSelectConfig",function(e){return{restrict:"EA",require:"^uiSelect",replace:!0,transclude:!0,templateUrl:function(t){return t.addClass("ui-select-no-choice"),(t.parent().attr("theme")||e.theme)+"/no-choice.tpl.html"}}}]),i.directive("uiSelectSingle",["$timeout","$compile",function(n,i){return{restrict:"EA",require:["^uiSelect","^ngModel"],link:function(r,o,a,l){function u(){return o.parent()[0].querySelector(".ui-select-match")}var s=l[0],c=l[1];c.$parsers.unshift(function(t){if(e(t))return t;var n={};return n[s.parserResult.itemName]=t,s.parserResult.modelMapper(r,n)}),c.$formatters.unshift(function(t){if(e(t))return t;var n,i=s.parserResult&&s.parserResult.source(r,{$select:{search:""}}),o={};if(i){var a=function(e){return o[s.parserResult.itemName]=e,(n=s.parserResult.modelMapper(r,o))===t};if(s.selected&&a(s.selected))return s.selected;for(var l=i.length-1;l>=0;l--)if(a(i[l]))return i[l]}return t}),r.$watch("$select.selected",function(e){c.$viewValue!==e&&c.$setViewValue(e)}),c.$render=function(){s.selected=c.$viewValue},r.$on("uis:select",function(t,i){s.selected=i;var o={};o[s.parserResult.itemName]=i,n(function(){s.onSelectCallback(r,{$item:i,$model:e(i)?i:s.parserResult.modelMapper(r,o)})})}),r.$on("uis:close",function(e,t){n(function(){t||u().focus()},0,!1)}),r.$on("uis:activate",function(){d.prop("disabled",!0)});var d=angular.element("");i(d)(r),s.focusser=d,s.focusInput=d,o.parent().append(d),d.bind("focus",function(){r.$evalAsync(function(){s.focus=!0})}),d.bind("blur",function(){r.$evalAsync(function(){s.focus=!1})}),d.bind("keydown",function(e){if(e.which===t.BACKSPACE&&!1!==s.backspaceReset)return e.preventDefault(),e.stopPropagation(),s.select(void 0),void r.$apply();e.which===t.TAB||t.isControl(e)||t.isFunctionKey(e)||e.which===t.ESC||(e.which!=t.DOWN&&e.which!=t.UP&&e.which!=t.ENTER&&e.which!=t.SPACE||(e.preventDefault(),e.stopPropagation(),s.activate()),r.$digest())}),d.bind("keyup input",function(e){e.which===t.TAB||t.isControl(e)||t.isFunctionKey(e)||e.which===t.ESC||e.which==t.ENTER||e.which===t.BACKSPACE||(s.activate(d.val()),d.val(""),r.$digest())})}}}]),i.directive("uiSelectSort",["$timeout","uiSelectConfig","uiSelectMinErr",function(e,t,n){return{require:["^^uiSelect","^ngModel"],link:function(t,i,r,o){if(null===t[r.uiSelectSort])throw n("sort","Expected a list to sort");var a=o[0],l=o[1],u=angular.extend({axis:"horizontal"},t.$eval(r.uiSelectSortOptions)),s=u.axis;t.$watch(function(){return a.sortable},function(e){e?i.attr("draggable",!0):i.removeAttr("draggable")}),i.on("dragstart",function(e){i.addClass("dragging"),(e.dataTransfer||e.originalEvent.dataTransfer).setData("text",t.$index.toString())}),i.on("dragend",function(){f("dragging")});var c,d=function(e,t){this.splice(t,0,this.splice(e,1)[0])},f=function(e){angular.forEach(a.$element.querySelectorAll("."+e),function(t){angular.element(t).removeClass(e)})},p=function(e){e.preventDefault(),("vertical"===s?e.offsetY||e.layerY||(e.originalEvent?e.originalEvent.offsetY:0):e.offsetX||e.layerX||(e.originalEvent?e.originalEvent.offsetX:0)) × '),e.put("bootstrap/match.tpl.html",n(348)),e.put("bootstrap/no-choice.tpl.html",''),e.put("bootstrap/select-multiple.tpl.html",''),e.put("bootstrap/select.tpl.html",n(349))}])},function(e,t){e.exports='
'},function(e,t){e.exports=' '},function(e,t){e.exports='
'},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(351),o=i(r),a=n(352),l=i(a);t.default=function(){return{require:{fieldCtrl:"?^^ouiField",selectCtrl:"ouiSelect"},controller:o.default,controllerAs:"$ctrl",bindToController:!0,scope:{model:"=",name:"@?",required:" '},function(e,t,n){"use strict";var i=n(354),r=function(e){return e&&e.__esModule?e:{default:e}}(i);angular.module("oui.select-picker",[]).component("ouiSelectPicker",r.default)},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(355),o=i(r),a=n(356),l=i(a);t.default={template:l.default,controller:o.default,transclude:{sectionSlot:"?span"},bindings:{text:"@",description:"@?",picture:"@?",placeholder:"@?",values:"<",id:"@?",name:"@?",match:"@",model:"=?",onChange:"&?",disabled:"1&&!this.selectedValue){var n=angular.element(this.$element[0].querySelectorAll(".ui-select-match"));!e.hasParentButton(t.target)&&n.length>0&&(n.triggerHandler("click"),t.stopPropagation())}}},{key:"onSelectModelChange",value:function(e){this.model=e.modelValue,this.onRadioModelChange(e)}},{key:"onRadioModelChange",value:function(e){var t=this;this.onChange&&this.$timeout(function(){return t.onChange(e)})}}],[{key:"hasParentButton",value:function(e){var t=e;do{if("BUTTON"===t.nodeName)return!0;t=t.parentNode}while("OUI-SELECT-PICKER"!==t.nodeName);return!1}}]),e}();t.default=d},function(e,t){e.exports='
'},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}var r=n(358),o=i(r),a=n(361),l=i(a);angular.module("oui.textarea",[]).component("ouiTextarea",o.default).provider("ouiTextareaConfiguration",l.default)},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(359),o=i(r),a=n(360),l=i(a);t.default={template:l.default,controller:o.default,bindings:{model:"=?",id:"@?",name:"@?",placeholder:"@?",rows:"@?",disabled:"this.maxlength)}}},{key:"getMaxLengthText",value:function(){return this.ouiTextareaConfiguration.translations.lengthCounter.replace("{{length}}",this.textarea?this.textarea.value.length:0).replace("{{max}}",this.maxlength)}},{key:"setDisabled",value:function(e){this.disabled=e,this.$element.toggleClass("oui-textarea_disabled",e)}},{key:"setFocus",value:function(e){this.$element.toggleClass("oui-textarea_active",e)}},{key:"setReadonly",value:function(e){this.readonly=e,this.$element.toggleClass("oui-textarea_readonly",e)}}]),e}();t.default=s},function(e,t){e.exports=" "},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=i(r),a=n(1),l=i(a),u=function(){function e(){(0,o.default)(this,e),this.translations={lengthCounter:"{{length}}/{{max}} characters"}}return(0,l.default)(e,[{key:"setTranslations",value:function(e){return this.translations=e,this}},{key:"$get",value:function(){return{translations:this.translations}}}]),e}();t.default=u},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}var r=n(363),o=i(r),a=n(366),l=i(a);angular.module("oui.form-actions",[]).component("ouiFormActions",o.default).provider("ouiFormActionsConfiguration",l.default)},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(364),o=i(r),a=n(365),l=i(a);t.default={template:l.default,controller:o.default,bindings:{submitText:"@?",cancelText:"@?",onSubmit:"&",onCancel:"&?",href:"@?"},transclude:!0}},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(22),o=i(r),a=n(0),l=i(a),u=n(1),s=i(u),c=function(){function e(t,n){"ngInject";(0,l.default)(this,e),this.$attrs=t,this.config=n}return e.$inject=["$attrs","ouiFormActionsConfiguration"],(0,s.default)(e,[{key:"$onInit",value:function(){this.processTranslations()}},{key:"processTranslations",value:function(){this.translations=(0,o.default)({},this.config.translations),angular.isUndefined(this.submitText)&&(this.submitText=this.translations.submit),angular.isUndefined(this.cancelText)&&(this.cancelText=this.translations.cancel)}}]),e}();t.default=c},function(e,t){e.exports=' '},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=i(r),a=n(1),l=i(a),u=function(){function e(){(0,o.default)(this,e),this.translations={submit:"Submit",cancel:"Cancel"}}return(0,l.default)(e,[{key:"setTranslations",value:function(e){return this.translations=e,this}},{key:"$get",value:function(){return{translations:this.translations}}}]),e}();t.default=u},function(e,t,n){"use strict";var i=n(368),r=function(e){return e&&e.__esModule?e:{default:e}}(i);angular.module("oui.search",[]).component("ouiSearch",r.default)},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(369),o=i(r),a=n(372),l=i(a);t.default={require:{criteriaContainer:"?^^ouiCriteriaContainer"},bindings:{model:"=",id:"@?",name:"@?",placeholder:"@?",ariaLabel:"@?",disabled:"=2?this.criteriaContainer.setPreviewCriterion(e.getCriterion(t),!0):this.criteriaContainer.deletePreviewCriterion())}},{key:"onSearchSubmit",value:function(e){this.model=void 0,this.onSubmit({modelValue:e}),this.onCriterionSubmit(e)}},{key:"onCriterionSubmit",value:function(t){this.criteriaContainer&&t&&t.length>=2&&this.criteriaContainer.add(e.getCriterion(t))}},{key:"onSearchReset",value:function(){this.model=void 0,this.onReset(),this.onCriterionReset()}},{key:"onCriterionReset",value:function(){this.criteriaContainer&&this.criteriaContainer.deletePreviewCriterion()}}],[{key:"getCriterion",value:function(e){return{title:e,property:null,operator:"contains",value:e}}}]),e}();t.default=f},function(e,t,n){function i(e,t,n){function i(t){var n=b,i=y;return b=y=void 0,x=t,_=e.apply(i,n)}function c(e){return x=e,k=setTimeout(p,t),C?i(e):_}function d(e){var n=e-w,i=e-x,r=t-n;return M?s(r,$-i):r}function f(e){var n=e-w,i=e-x;return void 0===w||n>=t||n<0||M&&i>=$}function p(){var e=o();if(f(e))return h(e);k=setTimeout(p,d(e))}function h(e){return k=void 0,S&&b?i(e):(b=y=void 0,_)}function g(){void 0!==k&&clearTimeout(k),x=0,b=w=y=k=void 0}function m(){return void 0===k?_:h(o())}function v(){var e=o(),n=f(e);if(b=arguments,y=this,w=e,n){if(void 0===k)return c(w);if(M)return k=setTimeout(p,t),i(w)}return void 0===k&&(k=setTimeout(p,t)),_}var b,y,$,_,k,w,x=0,C=!1,M=!1,S=!0;if("function"!=typeof e)throw new TypeError(l);return t=a(t)||0,r(n)&&(C=!!n.leading,M="maxWait"in n,$=M?u(a(n.maxWait)||0,t):$,S="trailing"in n?!!n.trailing:S),v.cancel=g,v.flush=m,v}var r=n(15),o=n(371),a=n(76),l="Expected a function",u=Math.max,s=Math.min;e.exports=i},function(e,t,n){var i=n(37),r=function(){return i.Date.now()};e.exports=r},function(e,t){e.exports=' '},function(e,t,n){"use strict";var i=n(374),r=function(e){return e&&e.__esModule?e:{default:e}}(i);angular.module("oui.criteria-container",[]).component("ouiCriteriaContainer",r.default)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(375),r=function(e){return e&&e.__esModule?e:{default:e}}(i);t.default={template:"",transclude:!0,controller:r.default,bindings:{onChange:"&"}}},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=i(r),a=n(1),l=i(a),u=n(95),s=i(u),c=function(){function e(){(0,o.default)(this,e)}return(0,l.default)(e,[{key:"$onInit",value:function(){this.criteria=[]}},{key:"triggerChange",value:function(){this.onChange&&this.onChange({modelValue:this.criteria})}},{key:"indexOfCriterion",value:function(e){for(var t=this.criteria.length-1;t>=0&&!angular.equals(this.criteria[t],e);)--t;return t}},{key:"setPreviewCriterion",value:function(e){var t=(0,s.default)(this.criteria,["preview",!0]);e.preview=!0,t>-1?this.criteria[t]=e:this.criteria.push(e),this.triggerChange()}},{key:"deletePreviewCriterion",value:function(){var e=(0,s.default)(this.criteria,["preview",!0]);e>-1&&(this.criteria.splice(e,1),this.triggerChange())}},{key:"add",value:function(e){var t=angular.copy(e);t.preview=!0;var n=this.indexOfCriterion(t);n>-1&&this.criteria.splice(n,1),this.indexOfCriterion(e)<0&&(this.criteria.push(e),this.triggerChange())}},{key:"remove",value:function(e){var t=this.indexOfCriterion(e);t>-1&&(this.criteria.splice(t,1),this.triggerChange())}},{key:"set",value:function(e){this.criteria=e,this.triggerChange()}},{key:"clear",value:function(){this.criteria=[],this.triggerChange()}}]),e}();t.default=c},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}var r=n(377),o=i(r),a=n(380),l=i(a);angular.module("oui.criteria-adder",[]).component("ouiCriteriaAdder",o.default).provider("ouiCriteriaAdderConfiguration",l.default)},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(378),o=i(r),a=n(379),l=i(a);t.default={require:{criteriaContainer:"?^^ouiCriteriaContainer"},bindings:{id:"@?",name:"@",align:"@?",properties:"<",disabled:"
'},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=i(r),a=n(1),l=i(a),u=function(){function e(){(0,o.default)(this,e),this.operatorsByType={boolean:["is","isNot"],date:["is","isAfter","isBefore"],number:["is","smaller","bigger"],options:["is","isNot"],string:["contains","containsNot","startsWith","endsWith","is","isNot"]},this.translations={column_label:"Column",operator_label:"Operator",operator_boolean_is:"is",operator_boolean_isNot:"is not",operator_string_contains:"contains",operator_string_containsNot:"does not contain",operator_string_startsWith:"starts with",operator_string_endsWith:"ends with",operator_string_is:"is",operator_string_isNot:"is not",operator_number_is:"is",operator_number_smaller:"is smaller than",operator_number_bigger:"is bigger than",operator_date_is:"is",operator_date_isBefore:"is before",operator_date_isAfter:"is after",operator_options_is:"is",operator_options_isNot:"is not",true_label:"Yes",false_label:"No",value_label:"Value",submit_label:"Add"}}return(0,l.default)(e,[{key:"setOperatorsByType",value:function(e){return this.operatorsByType=e,this}},{key:"setTranslations",value:function(e){return this.translations=e,this}},{key:"$get",value:function(){return{operatorsByType:this.operatorsByType,translations:this.translations}}}]),e}();t.default=u},function(e,t,n){"use strict";var i=n(382),r=function(e){return e&&e.__esModule?e:{default:e}}(i);angular.module("oui.chips",[]).component("ouiChips",r.default)},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(383),o=i(r),a=n(384),l=i(a);t.default={require:{criteriaContainer:"?^^ouiCriteriaContainer"},template:l.default,controller:o.default,bindings:{items:"<",closable:" '},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}var r=n(386),o=i(r),a=n(389),l=i(a),u=n(391),s=i(u);angular.module("oui.popover",[]).component("ouiPopover",o.default).directive("ouiPopoverContent",l.default).directive("ouiPopoverTrigger",s.default)},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(387),o=i(r),a=n(388),l=i(a);t.default={template:l.default,controller:o.default,bindings:{placement:"@?"},transclude:!0}},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=i(r),a=n(1),l=i(a),u=n(25),s=i(u),c=function(){function e(t,n,i,r,a){"ngInject";(0,o.default)(this,e),this.$scope=t,this.$element=n,this.$attrs=i,this.$document=r,this.$timeout=a}return e.$inject=["$scope","$element","$attrs","$document","$timeout"],(0,l.default)(e,[{key:"$onInit",value:function(){this.isPopoverOpen=!1,this.id="ouiPopover"+this.$scope.$id,angular.isUndefined(this.placement)&&(this.placement="right")}},{key:"$postLink",value:function(){this.triggerElement=this.$element[0].querySelector(".oui-popover__trigger"),this.popperElement=this.$element[0].querySelector(".oui-popover__content"),this.arrowElement=this.$element[0].querySelector(".oui-popover__arrow")}},{key:"$destroy",value:function(){this.closePopover()}},{key:"onTriggerClick",value:function(){this.isPopoverOpen?this.closePopover():this.openPopover()}},{key:"triggerKeyHandler",value:function(e){var t=this;e&&"keydown"===e.type&&27===e.which&&this.$scope.$apply(function(){t.closePopover()})}},{key:"openPopover",value:function(){var e=this;this.isPopoverOpen=!0,angular.element(this.$element.children()[0]).addClass("oui-popover_active"),this.updatePopper(),this.$document.on("keydown",function(t){return e.triggerKeyHandler(t)}),this.$scope.$broadcast("oui:popover:afterOpen",this.id)}},{key:"closePopover",value:function(){var e=this;this.isPopoverOpen=!1,angular.element(this.$element.children()[0]).removeClass("oui-popover_active"),this.destroyPopper(),this.$document.off("keydown",function(t){return e.triggerKeyHandler(t)}),this.$scope.$broadcast("oui:popover:afterClose",this.id)}},{key:"createPopper",value:function(){this.arrowElement&&this.arrowElement.setAttribute("x-arrow",""),this.popperElement.style.minWidth=this.triggerElement.offsetWidth+"px",this.popper=new s.default(this.triggerElement,this.popperElement,{placement:this.placement,modifiers:{preventOverflow:{boundariesElement:this.$document[0].body}}})}},{key:"updatePopper",value:function(){this.popper?this.popper.scheduleUpdate():this.createPopper()}},{key:"destroyPopper",value:function(){this.popper&&(this.popper.destroy(),this.popper=null)}}]),e}();t.default=c},function(e,t){e.exports="
"},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=i(r),a=n(390),l=i(a);t.default=function(){"ngInject";return{restrict:"AE",require:{popover:"^ouiPopover"},controller:function e(){(0,o.default)(this,e)},controllerAs:"$ctrl",bindToController:!0,scope:{},template:l.default,transclude:!0}}},function(e,t){e.exports='
'},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=function(){"ngInject";return{restrict:"AE",require:"^ouiPopover",scope:{},link:function(e,t,n,i){var r=t;r.addClass("oui-popover__trigger"),r.attr("id",i.id),r.attr({"aria-haspopup":!0,"aria-expanded":!1}),r.on("click",function(){return i.onTriggerClick()}),e.$on("oui:popover:afterOpen",function(e,t){t===i.id&&r.attr("aria-expanded",!0)}),e.$on("oui:popover:afterClose",function(e,t){t===i.id&&r.attr("aria-expanded",!1)}),e.$on("$destroy",function(){r.off("click")})}}}},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}var r=n(393),o=i(r),a=n(396),l=i(a),u=n(399),s=i(u);angular.module("oui.stepper",[]).component("ouiStepper",l.default).component("ouiStepForm",o.default).provider("ouiStepperConfiguration",s.default)},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(394),o=i(r),a=n(395),l=i(a);t.default={require:{stepperCtrl:"^ouiStepper"},bindings:{id:"@?",name:"@?",header:"@",description:"@?",cancelHref:"@?",cancelText:"@?",loadingText:"@?",submitText:"@?",disabled:"
'},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(397),o=i(r),a=n(398),l=i(a);t.default={bindings:{name:"@",id:"@",onInit:"&",onFinish:"&"},controller:o.default,template:l.default,transclude:!0}},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=i(r),a=n(1),l=i(a),u=function(){function e(t,n,i){"ngInject";(0,o.default)(this,e),this.$attrs=t,this.$element=n,this.$timeout=i}return e.$inject=["$attrs","$element","$timeout"],(0,l.default)(e,[{key:"$onInit",value:function(){this.forms=[],this.steps=[],this.currentIndex=0,this.onInit()}},{key:"$postLink",value:function(){var e=this;this.$timeout(function(){return e.$element.removeAttr("id").removeAttr("name").addClass("oui-stepper")})}},{key:"addStep",value:function(e){this.steps.push(e),this.focusStep(this.currentIndex)}},{key:"addForm",value:function(e,t){this.forms[t]=e,this.nextStep(),t===this.steps.length-1&&this.onFinish({forms:this.forms})}},{key:"nextStep",value:function(){var e=Math.min(this.currentIndex+1,this.steps.length);this.focusStep(e)}},{key:"prevStep",value:function(){var e=Math.max(this.currentIndex-1,0);this.focusStep(e)}},{key:"focusStep",value:function(e){var t=this;this.currentIndex=e,this.steps.forEach(function(n,i){var r=i===e;angular.isDefined(n.stepper)&&(n.stepper.index=i,n.stepper.focused=r,n.stepper.disabled=i>t.currentIndex,n.stepper.last=i===t.steps.length-1),r&&n.onFocus()})}}]),e}();t.default=u},function(e,t){e.exports="
"},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=i(r),a=n(1),l=i(a),u=n(33),s=i(u),c=function(){function e(){(0,o.default)(this,e),this.translations={optionalLabel:"(optional)",modifyThisStep:"Modify this step",skipThisStep:"Skip this step",nextButtonLabel:"Next",submitButtonLabel:"Submit",cancelButtonLabel:"Cancel"}}return(0,l.default)(e,[{key:"setTranslations",value:function(e){return this.translations=(0,s.default)(this.translations,e),this}},{key:"$get",value:function(){return{translations:this.translations}}}]),e}();t.default=c},function(e,t,n){"use strict";var i=n(401),r=function(e){return e&&e.__esModule?e:{default:e}}(i);angular.module("oui.skeleton",[]).component("ouiSkeleton",r.default)},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(402),o=i(r),a=n(403),l=i(a);t.default={controller:o.default,template:l.default,bindings:{size:"@?",randomized:"
"},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}var r=n(405),o=i(r),a=n(409),l=i(a);angular.module("oui.clipboard",[]).component("ouiClipboard",o.default).provider("ouiClipboardConfiguration",l.default)},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(406),o=i(r),a=n(408),l=i(a);t.default={template:l.default,controller:o.default,bindings:{name:"@?",id:"@?",model:"="}}},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=i(r),a=n(1),l=i(a),u=n(407),s=i(u),c=function(){function e(t,n,i,r){"ngInject";(0,o.default)(this,e),this.$attrs=t,this.$element=n,this.$timeout=i,this.translations=angular.copy(r.translations)}return e.$inject=["$attrs","$element","$timeout","ouiClipboardConfiguration"],(0,l.default)(e,[{key:"$onInit",value:function(){this.tooltipText=this.translations.copyToClipboardLabel,this.trigger=this.$element[0].querySelector(".oui-clipboard__button"),this.target=this.$element[0].querySelector(".oui-clipboard__control")}},{key:"$onDestroy",value:function(){this.clipboard.destroy()}},{key:"$postLink",value:function(){var e=this;this.$timeout(function(){e.$element.addClass("oui-input-group oui-input-group_clipboard").removeAttr("id").removeAttr("name")}),this.clipboard=new s.default(this.trigger,{target:function(){return e.target},text:function(){return e.model}}),this.clipboard.on("success",function(){return e.selectInputText(e.translations.copiedLabel)}).on("error",function(){return e.selectInputText(e.translations.notSupported)})}},{key:"selectInputText",value:function(e){var t=this,n=this.model.length||0;this.$timeout(function(){t.target.focus(),t.target.selectionStart=0,t.target.selectionEnd=n,t.target.setSelectionRange(0,n),t.target.select(),t.tooltipText=e,angular.element(t.target).one("blur",function(){return t.reset()})})}},{key:"onInputClick",value:function(){this.trigger.click()}},{key:"reset",value:function(){var e=this;this.$timeout(function(){e.tooltipText=e.translations.copyToClipboardLabel},500)}}]),e}();t.default=c},function(e,t,n){/*! +!function(e,n){n(t)}(0,function(e){"use strict";var t="undefined"!=typeof window&&void 0!==window.flatpickr?window.flatpickr:{l10ns:{}},n={weekdays:{shorthand:["Ned","Pon","Ut","Str","Štv","Pia","Sob"],longhand:["Nedeľa","Pondelok","Utorok","Streda","Štvrtok","Piatok","Sobota"]},months:{shorthand:["Jan","Feb","Mar","Apr","Máj","Jún","Júl","Aug","Sep","Okt","Nov","Dec"],longhand:["Január","Február","Marec","Apríl","Máj","Jún","Júl","August","September","Október","November","December"]},firstDayOfWeek:1,rangeSeparator:" do ",ordinal:function(){return"."}};t.l10ns.sk=n;var i=t.l10ns;e.Slovak=n,e.default=i,Object.defineProperty(e,"__esModule",{value:!0})})},function(e,t,n){"use strict";var i=n(168),r=function(e){return e&&e.__esModule?e:{default:e}}(i);angular.module("oui.checkbox",[]).component("ouiCheckbox",r.default)},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(169),o=i(r),a=n(170),l=i(a);t.default={template:l.default,controller:o.default,bindings:{text:"@",description:"@?",id:"@?",name:"@?",model:"=?",onChange:"&?",disabled:" '},function(e,t,n){"use strict";var i=n(172),r=function(e){return e&&e.__esModule?e:{default:e}}(i);angular.module("oui.collapsible",[]).component("ouiCollapsible",r.default)},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(173),o=i(r),a=n(174),l=i(a);t.default={template:l.default,controller:o.default,bindings:{id:"@",heading:"@",ariaLabel:"@?",expanded:" {{::$ctrl.heading}}
'},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(176),o=i(r),a=n(177),l=i(a);t.default={require:{radioGroup:"?^ouiRadioGroup",radioToggleGroup:"?^ouiRadioToggleGroup"},template:l.default,controller:o.default,bindings:{text:"@",value:"<",description:"@?",id:"@?",name:"@?",model:"=?",onChange:"&?",disabled:" '},function(e,t,n){"use strict";var i=n(179),r=function(e){return e&&e.__esModule?e:{default:e}}(i);angular.module("oui.message",[]).component("ouiMessage",r.default)},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(180),o=i(r),a=n(181),l=i(a);t.default={template:l.default,controller:o.default,bindings:{type:"@",ariaCloseButtonLabel:"@?",dismissable:"
"},function(e,t,n){"use strict";var i=n(183),r=function(e){return e&&e.__esModule?e:{default:e}}(i);angular.module("oui.spinner",[]).component("ouiSpinner",r.default)},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(184),o=i(r),a=n(185),l=i(a);t.default={template:l.default,controller:o.default,bindings:{size:"@?"}}},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=i(r),a=n(1),l=i(a),u=function(){function e(t){"ngInject";(0,o.default)(this,e),this.$element=t}return e.$inject=["$element"],(0,l.default)(e,[{key:"$onInit",value:function(){this.size=this.size||"m"}},{key:"$postLink",value:function(){this.$element.addClass("oui-spinner oui-spinner_"+this.size)}}]),e}();t.default=u},function(e,t){e.exports="
"},function(e,t,n){"use strict";var i=n(187),r=function(e){return e&&e.__esModule?e:{default:e}}(i);angular.module("oui.back-button",[]).component("ouiBackButton",r.default)},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(188),o=i(r),a=n(189),l=i(a);t.default={template:l.default,controller:o.default,bindings:{id:"@?",name:"@?",ariaLabel:"@?",heading:"@?",title:"@?",onClick:"&?",href:"@?"}}},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=i(r),a=n(1),l=i(a),u=function(){function e(t,n,i,r){"ngInject";(0,o.default)(this,e),this.$attrs=t,this.$element=n,this.$timeout=i,this.$window=r}return e.$inject=["$attrs","$element","$timeout","$window"],(0,l.default)(e,[{key:"$onInit",value:function(){this.$attrs.title&&!this.$attrs.heading&&(this.heading=this.title)}},{key:"$postLink",value:function(){var e=this;this.$element.addClass("oui-back-button"),this.$timeout(function(){return e.$element.removeAttr("aria-label").removeAttr("id").removeAttr("name")})}},{key:"onBtnClick",value:function(){angular.isFunction(this.onClick)?this.onClick():this.href||this.$window.history.back()}}]),e}();t.default=u},function(e,t){e.exports='

'},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(191),o=i(r),a=n(193),l=i(a),u=n(26),s=i(u),c=n(74),d=i(c),f=n(40),p=i(f),h=n(198),g=i(h);t.default=angular.module("oui.dropdown",[]).component("ouiDropdown",o.default).directive("ouiDropdownContent",l.default).component("ouiDropdownDivider",s.default).component("ouiDropdownGroup",d.default).component("ouiDropdownItem",p.default).directive("ouiDropdownTrigger",g.default).name},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(192),r=function(e){return e&&e.__esModule?e:{default:e}}(i);t.default={controller:r.default,bindings:{align:"@?",arrow:"=0&&(e+="-"+this.align),this.arrowElement&&"bottom"===e&&this.arrowElement.setAttribute("x-arrow",""),this.popperElement.style.minWidth=this.getTriggerWidth()+"px",this.popper=new c.default(this.triggerElement,this.popperElement,{placement:e,modifiers:{preventOverflow:{boundariesElement:this.$document[0].body}}})}},{key:"updatePopper",value:function(){this.popper||this.createPopper(),this.popper.scheduleUpdate()}},{key:"destroyPopper",value:function(){this.popper&&(this.popper.destroy(),this.popper=null)}},{key:"getTriggerWidth",value:function(){return Math.max(this.triggerElement.offsetWidth,140)}}]),e}();t.default=d},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=function(){"ngInject";return{restrict:"AE",require:"^ouiDropdown",scope:{},link:function(e,t,n,i){t.addClass("oui-dropdown-menu").attr("aria-labelledby",i.id).attr("role","menu"),i.arrow&&(t.addClass("oui-dropdown-menu_arrow"),t.prepend('
')),i.setDropdownMenu(t[0],t[0].querySelector(".oui-dropdown-menu__arrow"))}}}},function(e,t){e.exports="
"},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(41),o=i(r),a=n(0),l=i(a),u=n(1),s=i(u),c=n(2),d=function(){function e(t,n,i){"ngInject";(0,l.default)(this,e),this.$attrs=t,this.$element=n,this.$timeout=i}return e.$inject=["$attrs","$element","$timeout"],(0,s.default)(e,[{key:"$onInit",value:function(){(0,c.addBooleanParameter)(this,"external"),(0,c.addBooleanParameter)(this,"disabled"),(0,c.addBooleanParameter)(this,"sticky"),this.external&&(this.linkTarget="_blank",this.linkRel="noopener")}},{key:"$postLink",value:function(){var e=this;this.$timeout(function(){e.$element.addClass("oui-dropdown-menu__item").removeAttr("aria-label"),e.sticky&&e.$element.addClass("oui-dropdown-menu__item_sticky")})}},{key:"getFullSref",value:function(){return this.state+"("+(0,o.default)(this.stateParams)+")"}}]),e}();t.default=d},function(e,t,n){var i=n(3),r=i.JSON||(i.JSON={stringify:JSON.stringify});e.exports=function(e){return r.stringify.apply(r,arguments)}},function(e,t){e.exports=' '},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(199),r=function(e){return e&&e.__esModule?e:{default:e}}(i);t.default=function(){return{restrict:"AE",require:{dropdown:"^ouiDropdown"},controller:r.default,controllerAs:"$dropdownTriggerCtrl",bindToController:{text:"@",ariaLabel:"@?",disabled:" '},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}var r=n(202),o=i(r),a=n(26),l=i(a),u=n(40),s=i(u);angular.module("oui.action-menu",[]).component("ouiActionMenu",o.default).component("ouiActionMenuDivider",l.default).component("ouiActionMenuItem",s.default)},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(203),o=i(r),a=n(204),l=i(a);t.default={template:l.default,controller:o.default,bindings:{text:"@",align:"@?",ariaLabel:"@?",compact:" '},function(e,t,n){"use strict";var i=n(206),r=function(e){return e&&e.__esModule?e:{default:e}}(i);angular.module("oui.tooltip",[]).directive("ouiTooltip",r.default)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(207),r=function(e){return e&&e.__esModule?e:{default:e}}(i);t.default=function(){return{restrict:"A",bindToController:{text:"@ouiTooltip",placement:"@?ouiTooltipPlacement"},controller:r.default,controllerAs:"$tooltipCtrl"}}},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=i(r),a=n(1),l=i(a),u=n(25),s=i(u),c=n(208),d=i(c),f=function(){function e(t,n,i,r){"ngInject";(0,o.default)(this,e),this.$compile=t,this.$element=n,this.$scope=i,this.$timeout=r}return e.$inject=["$compile","$element","$scope","$timeout"],(0,l.default)(e,[{key:"$onInit",value:function(){angular.isUndefined(this.placement)&&(this.placement="top")}},{key:"$postLink",value:function(){var e=this;this.$timeout(function(){e.$element.attr("aria-label")||e.$element.attr("aria-label",e.text);var t=angular.extend(e.$scope.$new(!0),{$tooltipCtrl:e}),n=e.$compile(d.default)(t);e.$element.addClass("oui-tooltip__trigger").one("focus mouseenter",function(){return e.createPopper()}).after(n)})}},{key:"createPopper",value:function(){var e=this.$element[0],t=this.$element.next()[0];this.popper=new s.default(e,t,{placement:this.placement})}}]),e}();t.default=f},function(e,t){e.exports=" "},function(e,t,n){"use strict";var i=n(210),r=function(e){return e&&e.__esModule?e:{default:e}}(i);angular.module("oui.numeric",[]).component("ouiNumeric",r.default)},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(211),o=i(r),a=n(213),l=i(a);t.default={template:l.default,controller:o.default,bindings:{id:"@?",name:"@?",model:"=",min:"99999&&this.$log.warn("Invalid attribute max, value should be lower than '99999'"),angular.isDefined(this.$attrs.disabled)&&angular.isUndefined(this.disabled)&&(this.disabled=!0),this.min=(0,s.default)(this.min,0,99999),this.max=(0,s.default)(this.max,this.min,99999),this.previousValue=this.model}},{key:"setModelValue",value:function(e){this.model=e,this.previousValue!==this.model&&angular.isFunction(this.onChange)&&this.onChange({modelValue:this.model}),this.previousValue=this.model}},{key:"increment",value:function(){angular.isNumber(this.model)?this.setModelValue(this.model+1):this.setModelValue(this.min)}},{key:"decrement",value:function(){angular.isNumber(this.model)?this.setModelValue(this.model-1):this.setModelValue(this.min)}},{key:"onInputChanged",value:function(){null===this.model?this.setModelValue(this.min):!angular.isNumber(this.model)||this.modelthis.max?this.model=this.previousValue:this.setModelValue(this.model)}}]),e}();t.default=c},function(e,t,n){function i(e,t,n){return void 0===n&&(n=t,t=void 0),void 0!==n&&(n=o(n),n=n===n?n:0),void 0!==t&&(t=o(t),t=t===t?t:0),r(o(e),t,n)}var r=n(75),o=n(76);e.exports=i},function(e,t){e.exports='
'},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}var r=n(215),o=i(r),a=n(234),l=i(a);angular.module("oui.pagination",[]).component("ouiPagination",o.default).provider("ouiPaginationConfiguration",l.default)},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(216),o=i(r),a=n(233),l=i(a);t.default={template:l.default,bindings:{currentOffset:"<",pageSize:"=s?e?"":void 0:(o=l.charCodeAt(u),o<55296||o>56319||u+1===s||(a=l.charCodeAt(u+1))<56320||a>57343?e?l.charAt(u):o:e?l.slice(u,u+2):a-56320+(o-55296<<10)+65536)}}},function(e,t,n){"use strict";var i=n(46),r=n(17),o=n(51),a={};n(12)(a,n(4)("iterator"),function(){return this}),e.exports=function(e,t,n){e.prototype=i(a,{next:r(1,n)}),o(e,t+" Iterator")}},function(e,t,n){var i=n(7),r=n(8),o=n(20);e.exports=n(9)?Object.defineProperties:function(e,t){r(e);for(var n,a=o(t),l=a.length,u=0;l>u;)i.f(e,n=a[u++],t[n]);return e}},function(e,t,n){var i=n(16),r=n(83),o=n(222);e.exports=function(e){return function(t,n,a){var l,u=i(t),s=r(u.length),c=o(a,s);if(e&&n!=n){for(;s>c;)if((l=u[c++])!=l)return!0}else for(;s>c;c++)if((e||c in u)&&u[c]===n)return e||c||0;return!e&&-1}}},function(e,t,n){var i=n(43),r=Math.max,o=Math.min;e.exports=function(e,t){return e=i(e),e<0?r(e+t,0):o(e,t)}},function(e,t,n){var i=n(6).document;e.exports=i&&i.documentElement},function(e,t,n){"use strict";var i=n(31),r=n(5),o=n(21),a=n(225),l=n(226),u=n(83),s=n(227),c=n(85);r(r.S+r.F*!n(229)(function(e){Array.from(e)}),"Array",{from:function(e){var t,n,r,d,f=o(e),p="function"==typeof this?this:Array,h=arguments.length,g=h>1?arguments[1]:void 0,m=void 0!==g,v=0,b=c(f);if(m&&(g=i(g,h>2?arguments[2]:void 0,2)),void 0==b||p==Array&&l(b))for(t=u(f.length),n=new p(t);t>v;v++)s(n,v,m?g(f[v],v):f[v]);else for(d=b.call(f),n=new p;!(r=d.next()).done;v++)s(n,v,m?a(d,g,[r.value,v],!0):r.value);return n.length=v,n}})},function(e,t,n){var i=n(8);e.exports=function(e,t,n,r){try{return r?t(i(n)[0],n[1]):t(n)}catch(t){var o=e.return;throw void 0!==o&&i(o.call(e)),t}}},function(e,t,n){var i=n(19),r=n(4)("iterator"),o=Array.prototype;e.exports=function(e){return void 0!==e&&(i.Array===e||o[r]===e)}},function(e,t,n){"use strict";var i=n(7),r=n(17);e.exports=function(e,t,n){t in e?i.f(e,t,r(0,n)):e[t]=n}},function(e,t,n){var i=n(47),r=n(4)("toStringTag"),o="Arguments"==i(function(){return arguments}()),a=function(e,t){try{return e[t]}catch(e){}};e.exports=function(e){var t,n,l;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=a(t=Object(e),r))?n:o?i(t):"Object"==(l=i(t))&&"function"==typeof t.callee?"Arguments":l}},function(e,t,n){var i=n(4)("iterator"),r=!1;try{var o=[7][i]();o.return=function(){r=!0},Array.from(o,function(){throw 2})}catch(e){}e.exports=function(e,t){if(!t&&!r)return!1;var n=!1;try{var o=[7],a=o[i]();a.next=function(){return{done:n=!0}},o[i]=function(){return a},e(o)}catch(e){}return n}},function(e,t,n){n(231),e.exports=n(3).Object.assign},function(e,t,n){var i=n(5);i(i.S+i.F,"Object",{assign:n(232)})},function(e,t,n){"use strict";var i=n(20),r=n(52),o=n(28),a=n(21),l=n(82),u=Object.assign;e.exports=!u||n(14)(function(){var e={},t={},n=Symbol(),i="abcdefghijklmnopqrst";return e[n]=7,i.split("").forEach(function(e){t[e]=e}),7!=u({},e)[n]||Object.keys(u({},t)).join("")!=i})?function(e,t){for(var n=a(e),u=arguments.length,s=1,c=r.f,d=o.f;u>s;)for(var f,p=l(arguments[s++]),h=c?i(p).concat(c(p)):i(p),g=h.length,m=0;g>m;)d.call(p,f=h[m++])&&(n[f]=p[f]);return n}:u},function(e,t){e.exports='
'},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=i(r),a=n(1),l=i(a),u=function(){function e(){(0,o.default)(this,e),this.pageSize=25,this.pageSizeList=[25,50,100,300],this.translations={resultsPerPage:"Results per page",ofNResults:"of {{totalItems}} results",currentPageOfPageCount:"Page {{currentPage}} of {{pageCount}}",previousPage:"Previous page",nextPage:"Next page"}}return(0,l.default)(e,[{key:"setPageSize",value:function(e){return this.pageSize=e,this}},{key:"setPageSizeList",value:function(e){return this.pageSizeList=e,this}},{key:"setTranslations",value:function(e){return this.translations=e,this}},{key:"$get",value:function(){return{pageSize:this.pageSize,pageSizeList:this.pageSizeList,translations:this.translations}}}]),e}();t.default=u},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}var r=n(236),o=i(r),a=n(238),l=i(a),u=n(268),s=i(u),c=n(269),d=i(c),f=n(271),p=i(f),h=n(313),g=i(h),m=n(316),v=i(m),b=n(317),y=i(b);angular.module("oui.datagrid",["oui.pagination","oui.dropdown","oui.criteria-container","oui.search","ngAria"]).service("ouiDatagridColumnBuilder",s.default).directive("ouiDatagrid",l.default).component("ouiDatagridCell",o.default).component("ouiDatagridExtraTop",d.default).service("ouiDatagridPaging",p.default).provider("ouiDatagridConfiguration",v.default).service("ouiDatagridService",y.default).component("ouiDatagridParameters",g.default)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(237),r=function(e){return e&&e.__esModule?e:{default:e}}(i);t.default={controller:r.default,require:{datagridCtrl:"^^ouiDatagrid"},bindings:{row:"<",column:"<"}}},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=i(r),a=n(1),l=i(a),u=function(){function e(t){"ngInject";(0,o.default)(this,e),this.$element=t}return e.$inject=["$element"],(0,l.default)(e,[{key:"$postLink",value:function(){var e=this;this.cellScope=this.datagridCtrl.getParentScope().$new(!1),this.$element.css("display","block"),this.row&&this.row.$promise?this.row.$promise.finally(function(){e._compileCell()}):this._compileCell()}},{key:"$onChanges",value:function(e){(e.row&&!e.row.isFirstChange()||e.column&&!e.column.isFirstChange())&&this._compileCell()}},{key:"_compileCell",value:function(){var e=this;this.cellScope.$row=this.row,this.cellScope.$column=this.column,this.cellScope.$value=this.row[this.column.name],this.column.compiledTemplate?this.column.compiledTemplate(this.cellScope,function(t){e.$element.empty(),e.$element.append(t)}):this.$element[0].innerHTML=this.cellScope.$value}}]),e}();t.default=u},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(239),r=function(e){return e&&e.__esModule?e:{default:e}}(i);t.default=function(){"ngInject";return{controller:r.default,controllerAs:"$ctrl",bindToController:!0,scope:{id:"@?",columnsDescription:"0,this.filterableColumns=this.columns.filter(function(e){return e.filterable})}},{key:"$onChanges",value:function(e){e.columnsDescription&&!e.columnsDescription.isFirstChange()&&this.buildColumns(),e.columnsParameters&&!e.columnsParameters.isFirstChange()&&this.buildColumns()}},{key:"$doCheck",value:function(){var e=this;!angular.equals(this.previousRows,this.rows)&&this.rows&&this.paging&&!this.paging.preventLoadingRows&&(this.previousRows=angular.copy(this.rows),this.refreshData(function(){return e.paging.setRows(e.rows)}))}},{key:"$onDestroy",value:function(){this.hasActionMenu&&(angular.element(this.$window).off("resize",this.checkScroll),angular.element(this.scrollablePanel).off("scroll")),this.id&&this.ouiDatagridService.unregisterDatagrid(this.id)}},{key:"buildColumns",value:function(){var e=this,t=this.columnsDescription&&this.columnsDescription.length?this.ouiDatagridColumnBuilder.buildFromJs(this.columnsDescription,this.getParentScope()):this.ouiDatagridColumnBuilder.build(this.columnElements,this.getParentScope());return this.actionColumnElements.length&&(this.actionColumn=this.ouiDatagridColumnBuilder.buildActionColumn(this.actionColumnElements[0]),this.hasActionMenu=!0),this.extraTopElements.length&&(this.extraTopCompiledTemplate=this.$compile("
"+this.extraTopElements[0].innerHTML+"
"),this.hasExtraTopContent=!0),this.availableColumns=angular.copy(t.columns).map(function(t){var n=(0,p.default)(e.columnsParameters,{name:t.name});return n&&(t.hidden=n.hidden),t}),this.columns=this.availableColumns.filter(function(e){return!e.hidden}),this.columns.forEach(function(t){t.title||(t.disableWatcher=e.$scope.$watch(function(){return e.ouiDatagridColumnBuilder.buildTitle(t.rawTitle,e.getParentScope())},function(e){e&&(t.title=e,t.disableWatcher())}))}),t}},{key:"onColumnsChange",value:function(e){this.availableColumns=angular.copy(e),this.columns=e.filter(function(e){return!e.hidden});var t=this.availableColumns.filter(function(e){return e.name}).map(function(e){var t={name:e.name};return e.hidden&&(t.hidden=!0),t});this.id&&this.onColumnsParametersChange({id:this.id,columns:t})}},{key:"getParentScope",value:function(){return this.$scope.$parent}},{key:"hasProperty",value:function(e,t){return!!e&&(0,g.hasProperty)(e,t)}},{key:"onCriteriaChange",value:function(e){var t=this;this.criteria=e,this.appliedCriteria=this.criteria.filter(function(e){return!e.preview}),this.refreshData(function(){t.paging.setOffset(1),t.paging.setCriteria(e)},!1,!1)}},{key:"onPaginationChange",value:function(e){var t=this;this.refreshData(function(){t.paging.setOffset(e.offset),t.paging.setPageSize(e.pageSize)},!0,!0)}},{key:"scrollToTop",value:function(){var e=this;this.$timeout(function(){e.$element[0].scrollIntoView(!0)})}},{key:"refreshData",value:function(t,n,i,r,o){var a=this;return this.loading?this.$q.when():(r||(this.loading=!0,this.displayedRows=e.createEmptyRows(this.paging.getCurrentPageSize())),this.refreshDatagridPromise=this.$q.when((t||angular.noop)()).then(function(){return a.paging.loadData(n,o)}).then(function(e){a.displayedRows=e.data,i&&a.scrollToTop(),a.hasActionMenu&&setTimeout(function(){return a.checkScroll()},1e3)}).finally(function(){a.loading=!1,a.firstLoading=!1,a.refreshDatagridPromise=null}),this.refreshDatagridPromise)}},{key:"sort",value:function(e){var t=this;e&&e.sortable&&this.refreshData(function(){return t.paging.setSort(e.name)})}},{key:"getSortableClasses",value:function(e){var t;return e.name!==this.paging.getSortColumnName()?(0,l.default)({},"oui-datagrid__header_sortable",!!e.sortable):(t={},(0,l.default)(t,"oui-datagrid__header_sortable",!!e.sortable),(0,l.default)(t,"oui-datagrid__cell_sorted",!0),(0,l.default)(t,"oui-datagrid__header_sortable-asc",this.paging.isSortAsc()),(0,l.default)(t,"oui-datagrid__header_sortable-desc",this.paging.isSortDesc()),t)}}],[{key:"createEmptyRows",value:function(e){return Array.apply(void 0,(0,o.default)({length:e})).map(function(){})}},{key:"filterElements",value:function(e,t){var n=t.toUpperCase(),i=[];return angular.forEach(e,function(e){e.tagName===n&&i.push(e)}),i}}]),e}();t.default=b},function(e,t,n){"use strict";t.__esModule=!0;var i=n(57),r=function(e){return e&&e.__esModule?e:{default:e}}(i);t.default=function(e,t,n){return t in e?(0,r.default)(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}},function(e,t,n){function i(e){return function(t,n,i){var l=Object(t);if(!o(t)){var u=r(n,3);t=a(t),n=function(e){return u(l[e],e,l)}}var s=e(t,n,i);return s>-1?l[u?t[s]:s]:void 0}}var r=n(87),o=n(66),a=n(90);e.exports=i},function(e,t,n){function i(e){var t=o(e);return 1==t.length&&t[0][2]?a(t[0][0],t[0][1]):function(n){return n===e||r(n,e,t)}}var r=n(243),o=n(254),a=n(91);e.exports=i},function(e,t,n){function i(e,t,n,i){var u=n.length,s=u,c=!i;if(null==e)return!s;for(e=Object(e);u--;){var d=n[u];if(c&&d[2]?d[1]!==e[d[0]]:!(d[0]in e))return!1}for(;++uf))return!1;var h=c.get(e);if(h&&c.get(t))return h==t;var g=-1,m=!0,v=n&u?new r:void 0;for(c.set(e,t),c.set(t,e);++g-1}var r=n(249);e.exports=i},function(e,t){function n(e,t,n){for(var i=n-1,r=e.length;++i-1&&e%1==0&&e
'},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(22),o=i(r),a=n(0),l=i(a),u=n(1),s=i(u),c=n(2),d=["hidden","title","type","type-options"],f=["string"],p=["boolean","date","number","options","string"],h=function(){function e(t,n){"ngInject";(0,l.default)(this,e),this.$parse=t,this.$compile=n}return e.$inject=["$parse","$compile"],(0,s.default)(e,[{key:"build",value:function(t,n){var i=this,r=[],a={columnName:void 0,dir:0};return angular.forEach(t,function(t){var l={};if((0,c.hasAttribute)(t,"name")&&(l.name=(0,c.getAttribute)(t,"name")),(0,c.hasAttribute)(t,"property")){var u=(0,c.getAttribute)(t,"property");if(l.name=l.name||u,l.getValue=i.$parse(u),(0,c.hasAttribute)(t,"sortable")){var s=(0,c.getAttribute)(t,"sortable");l.sortable=!!s,(0,o.default)(a,e.defineDefaultSorting(l,s))}}if(d.forEach(function(e){(0,c.hasAttribute)(t,e)&&(l[e]=(0,c.getAttribute)(t,e))}),l.filterable=e.isFilterable(l)&&(0,c.hasAttribute)(t,"filterable"),l.searchable=e.isSearchable(l)&&(0,c.hasAttribute)(t,"searchable"),l["type-options"]&&(l.typeOptions=i.$parse(l["type-options"])(n)),(0,c.hasAttribute)(t,"prevent-customization")&&(l.preventCustomization=!0),(0,c.hasAttribute)(t,"hidden")&&(l.hidden=!0),(0,c.hasAttribute)(t,"title")){var f=(0,c.getAttribute)(t,"title");l.title=i.buildTitle(f,n),l.rawTitle=f}l.sortProperty||(l.sortProperty=l.name);var p=t.innerHTML.trim();!l.template&&p.length&&(l.template=p),l.template&&(l.compiledTemplate=i._getColumnTemplate(l)),r.push(l)}),{columns:r,currentSorting:a}}},{key:"buildFromJs",value:function(t){var n=this,i=[],r={columnName:void 0,dir:0};return angular.forEach(t,function(t){var a={};a.name=t.name;var l=t.property;if(l){a.name=a.name||l,a.getValue=n.$parse(l);var u=t.sortable;t.sortable&&(a.sortable=!!u,(0,o.default)(r,e.defineDefaultSorting(a,u)))}d.forEach(function(e){a[e]=t[e]}),a.filterable=e.isFilterable(a)&&t.filterable,a.searchable=e.isSearchable(a)&&t.searchable,t.typeOptions&&(a.typeOptions=t.typeOptions),a.preventCustomization=t.preventCustomization,a.title=t.title,a.sortProperty||(a.sortProperty=a.name);var s=t.template?t.template.trim():"";a.template=s,a.template&&""!==a.template&&(a.compiledTemplate=n._getColumnTemplate(a)),i.push(a)}),{columns:i,currentSorting:r}}},{key:"buildTitle",value:function(e,t){return this.$parse(e)(t)}},{key:"buildActionColumn",value:function(e){var t={template:e.outerHTML};return t.compiledTemplate=this._getColumnTemplate(t),t.alwaysVisible=!0,t}},{key:"_getColumnTemplate",value:function(e){return e.compiledTemplate||(e.compiledTemplate=this.$compile("
"+e.template+"
")),e.compiledTemplate}}],[{key:"defineDefaultSorting",value:function(e,t){return e.sortable=void 0!==t,t&&t.length?(e.defaultSortDir="asc"===t?1:-1,{columnName:e.name,dir:e.defaultSortDir}):{}}},{key:"isSearchable",value:function(e){return f.indexOf(e.type)>-1}},{key:"isFilterable",value:function(e){return p.indexOf(e.type)>-1}}]),e}();t.default=h},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(270),r=function(e){return e&&e.__esModule?e:{default:e}}(i);t.default={controller:r.default,require:{datagridCtrl:"^^ouiDatagrid"}}},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=i(r),a=n(1),l=i(a),u=function(){function e(t){"ngInject";(0,o.default)(this,e),this.$element=t}return e.$inject=["$element"],(0,l.default)(e,[{key:"$postLink",value:function(){this.extraTopScope=this.datagridCtrl.getParentScope().$new(!1),this._compileElement()}},{key:"_compileElement",value:function(){var e=this;this.datagridCtrl.extraTopCompiledTemplate(this.extraTopScope,function(t){e.$element.empty(),e.$element.append(t)})}}]),e}();t.default=u},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=i(r),a=n(1),l=i(a),u=n(272),s=i(u),c=n(312),d=i(c),f=function(){function e(t,n,i){"ngInject";(0,o.default)(this,e),this.$q=t,this.$timeout=n,this.orderByFilter=i}return e.$inject=["$q","$timeout","orderByFilter"],(0,l.default)(e,[{key:"createLocal",value:function(e,t,n,i,r){return new s.default(e,t,n,i,this,r)}},{key:"createRemote",value:function(e,t,n,i,r){return new d.default(e,t,n,i,this,r)}}]),e}();t.default=f},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(98),o=i(r),a=n(0),l=i(a),u=n(1),s=i(u),c=n(100),d=i(c),f=n(105),p=i(f),h=n(106),g=i(h),m=n(297),v=i(m),b=function(e){function t(e,n,i,r,a,u){(0,l.default)(this,t);var s=(0,d.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,n,i,r,a));return s.setRows(u),s}return(0,p.default)(t,e),(0,s.default)(t,[{key:"setRows",value:function(e){this.rows=angular.copy(e),this.cachedRows=angular.copy(e),this.totalCount=e?e.length:0}},{key:"loadData",value:function(e,t){var n=this;return t&&(this.cachedRows=angular.copy(this.rows)),e&&!t||(this._filter(),this._sort()),this.$q.when({data:this.sortedRows.slice(this.offset-1,this.offset-1+this.pageSize),meta:{pageCount:Math.ceil(this.sortedRows.length/this.pageSize),totalCount:this.sortedRows.length}}).then(function(e){return n.loadRows(e)})}},{key:"loadRows",value:function(e){var t=this;return this.preventLoadingRows=!0,this.loadRowsData(e.data).finally(function(){t.$timeout(function(){t.preventLoadingRows=!1})}),this.totalCount=e.meta.totalCount,e}},{key:"_filter",value:function(){var e=new v.default(this.criteria,this.columns);this.filteredRows=e.applyFilter(this.cachedRows)}},{key:"_sort",value:function(){var e=this.getSortingConfiguration();this.sortedRows=this.orderByFilter(this.filteredRows,e.property,e.dir<0)}}]),t}(g.default);t.default=b},function(e,t,n){n(274),e.exports=n(3).Object.getPrototypeOf},function(e,t,n){var i=n(21),r=n(84);n(99)("getPrototypeOf",function(){return function(e){return r(i(e))}})},function(e,t,n){e.exports={default:n(276),__esModule:!0}},function(e,t,n){n(42),n(102),e.exports=n(54).f("iterator")},function(e,t,n){"use strict";var i=n(278),r=n(279),o=n(19),a=n(16);e.exports=n(79)(Array,"Array",function(e,t){this._t=a(e),this._i=0,this._k=t},function(){var e=this._t,t=this._k,n=this._i++;return!e||n>=e.length?(this._t=void 0,r(1)):"keys"==t?r(0,n):"values"==t?r(0,e[n]):r(0,[n,e[n]])},"values"),o.Arguments=o.Array,i("keys"),i("values"),i("entries")},function(e,t){e.exports=function(){}},function(e,t){e.exports=function(e,t){return{value:t,done:!!e}}},function(e,t,n){e.exports={default:n(281),__esModule:!0}},function(e,t,n){n(282),n(287),n(288),n(289),e.exports=n(3).Symbol},function(e,t,n){"use strict";var i=n(6),r=n(10),o=n(9),a=n(5),l=n(80),u=n(283).KEY,s=n(14),c=n(49),d=n(51),f=n(27),p=n(4),h=n(54),g=n(55),m=n(284),v=n(285),b=n(8),y=n(13),$=n(16),_=n(32),k=n(17),w=n(46),x=n(286),C=n(104),M=n(7),S=n(20),E=C.f,P=M.f,D=x.f,O=i.Symbol,T=i.JSON,L=T&&T.stringify,j=p("_hidden"),A=p("toPrimitive"),I={}.propertyIsEnumerable,F=c("symbol-registry"),N=c("symbols"),R=c("op-symbols"),B=Object.prototype,H="function"==typeof O,z=i.QObject,q=!z||!z.prototype||!z.prototype.findChild,Y=o&&s(function(){return 7!=w(P({},"a",{get:function(){return P(this,"a",{value:7}).a}})).a})?function(e,t,n){var i=E(B,t);i&&delete B[t],P(e,t,n),i&&e!==B&&P(B,t,i)}:P,V=function(e){var t=N[e]=w(O.prototype);return t._k=e,t},W=H&&"symbol"==typeof O.iterator?function(e){return"symbol"==typeof e}:function(e){return e instanceof O},K=function(e,t,n){return e===B&&K(R,t,n),b(e),t=_(t,!0),b(n),r(N,t)?(n.enumerable?(r(e,j)&&e[j][t]&&(e[j][t]=!1),n=w(n,{enumerable:k(0,!1)})):(r(e,j)||P(e,j,k(1,{})),e[j][t]=!0),Y(e,t,n)):P(e,t,n)},G=function(e,t){b(e);for(var n,i=m(t=$(t)),r=0,o=i.length;o>r;)K(e,n=i[r++],t[n]);return e},U=function(e,t){return void 0===t?w(e):G(w(e),t)},J=function(e){var t=I.call(this,e=_(e,!0));return!(this===B&&r(N,e)&&!r(R,e))&&(!(t||!r(this,e)||!r(N,e)||r(this,j)&&this[j][e])||t)},X=function(e,t){if(e=$(e),t=_(t,!0),e!==B||!r(N,t)||r(R,t)){var n=E(e,t);return!n||!r(N,t)||r(e,j)&&e[j][t]||(n.enumerable=!0),n}},Q=function(e){for(var t,n=D($(e)),i=[],o=0;n.length>o;)r(N,t=n[o++])||t==j||t==u||i.push(t);return i},Z=function(e){for(var t,n=e===B,i=D(n?R:$(e)),o=[],a=0;i.length>a;)!r(N,t=i[a++])||n&&!r(B,t)||o.push(N[t]);return o};H||(O=function(){if(this instanceof O)throw TypeError("Symbol is not a constructor!");var e=f(arguments.length>0?arguments[0]:void 0),t=function(n){this===B&&t.call(R,n),r(this,j)&&r(this[j],e)&&(this[j][e]=!1),Y(this,e,k(1,n))};return o&&q&&Y(B,e,{configurable:!0,set:t}),V(e)},l(O.prototype,"toString",function(){return this._k}),C.f=X,M.f=K,n(103).f=x.f=Q,n(28).f=J,n(52).f=Z,o&&!n(45)&&l(B,"propertyIsEnumerable",J,!0),h.f=function(e){return V(p(e))}),a(a.G+a.W+a.F*!H,{Symbol:O});for(var ee="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),te=0;ee.length>te;)p(ee[te++]);for(var ne=S(p.store),ie=0;ne.length>ie;)g(ne[ie++]);a(a.S+a.F*!H,"Symbol",{for:function(e){return r(F,e+="")?F[e]:F[e]=O(e)},keyFor:function(e){if(!W(e))throw TypeError(e+" is not a symbol!");for(var t in F)if(F[t]===e)return t},useSetter:function(){q=!0},useSimple:function(){q=!1}}),a(a.S+a.F*!H,"Object",{create:U,defineProperty:K,defineProperties:G,getOwnPropertyDescriptor:X,getOwnPropertyNames:Q,getOwnPropertySymbols:Z}),T&&a(a.S+a.F*(!H||s(function(){var e=O();return"[null]"!=L([e])||"{}"!=L({a:e})||"{}"!=L(Object(e))})),"JSON",{stringify:function(e){for(var t,n,i=[e],r=1;arguments.length>r;)i.push(arguments[r++]);if(n=t=i[1],(y(t)||void 0!==e)&&!W(e))return v(t)||(t=function(e,t){if("function"==typeof n&&(t=n.call(this,e,t)),!W(t))return t}),i[1]=t,L.apply(T,i)}}),O.prototype[A]||n(12)(O.prototype,A,O.prototype.valueOf),d(O,"Symbol"),d(Math,"Math",!0),d(i.JSON,"JSON",!0)},function(e,t,n){var i=n(27)("meta"),r=n(13),o=n(10),a=n(7).f,l=0,u=Object.isExtensible||function(){return!0},s=!n(14)(function(){return u(Object.preventExtensions({}))}),c=function(e){a(e,i,{value:{i:"O"+ ++l,w:{}}})},d=function(e,t){if(!r(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!o(e,i)){if(!u(e))return"F";if(!t)return"E";c(e)}return e[i].i},f=function(e,t){if(!o(e,i)){if(!u(e))return!0;if(!t)return!1;c(e)}return e[i].w},p=function(e){return s&&h.NEED&&u(e)&&!o(e,i)&&c(e),e},h=e.exports={KEY:i,NEED:!1,fastKey:d,getWeak:f,onFreeze:p}},function(e,t,n){var i=n(20),r=n(52),o=n(28);e.exports=function(e){var t=i(e),n=r.f;if(n)for(var a,l=n(e),u=o.f,s=0;l.length>s;)u.call(e,a=l[s++])&&t.push(a);return t}},function(e,t,n){var i=n(47);e.exports=Array.isArray||function(e){return"Array"==i(e)}},function(e,t,n){var i=n(16),r=n(103).f,o={}.toString,a="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],l=function(e){try{return r(e)}catch(e){return a.slice()}};e.exports.f=function(e){return a&&"[object Window]"==o.call(e)?l(e):r(i(e))}},function(e,t){},function(e,t,n){n(55)("asyncIterator")},function(e,t,n){n(55)("observable")},function(e,t,n){e.exports={default:n(291),__esModule:!0}},function(e,t,n){n(292),e.exports=n(3).Object.setPrototypeOf},function(e,t,n){var i=n(5);i(i.S,"Object",{setPrototypeOf:n(293).set})},function(e,t,n){var i=n(13),r=n(8),o=function(e,t){if(r(e),!i(t)&&null!==t)throw TypeError(t+": can't set as prototype!")};e.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(e,t,i){try{i=n(31)(Function.call,n(104).f(Object.prototype,"__proto__").set,2),i(e,[]),t=!(e instanceof Array)}catch(e){t=!0}return function(e,n){return o(e,n),t?e.__proto__=n:i(e,n),e}}({},!1):void 0),check:o}},function(e,t,n){e.exports={default:n(295),__esModule:!0}},function(e,t,n){n(296);var i=n(3).Object;e.exports=function(e,t){return i.create(e,t)}},function(e,t,n){var i=n(5);i(i.S,"Object",{create:n(46)})},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=i(r),a=n(1),l=i(a),u=n(29),s=i(u),c=n(86),d=i(c),f=n(298),p=i(f),h=n(107),g=i(h),m=function(){function e(t,n){(0,o.default)(this,e),this.criteria=t,this.columns=n,this.searchableColumns=this._getSearchableColumns()}return(0,l.default)(e,[{key:"applyFilter",value:function(e){var t=this,n=e;return this.criteria.forEach(function(e){n=t.applyCriteria(n,e)}),n}},{key:"applyCriteria",value:function(e,t){var n=this;if(null===t.property&&"contains"===t.operator)return e.filter(function(e){return n.itemContainsText(e,t.value)});var i=(0,d.default)(this.columns,["name",t.property]);if(!i)return e;var r=p.default.resolveComparator(t,i.type);return t.property&&t.operator&&void 0!==t.value&&i.type&&r?e.filter(function(e){var n=(0,s.default)(e,t.property);return r(n,t.value)}):e}},{key:"itemContainsText",value:function(e,t){return this.searchableColumns.reduce(function(n,i){var r=(0,s.default)(e,i);return n||g.default.contains(r,t)},!1)}},{key:"_getSearchableColumns",value:function(){return this.columns.filter(function(e){return e.searchable}).map(function(e){return e.name})}}]),e}();t.default=m},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=i(r),a=n(1),l=i(a),u=n(299),s=i(u),c=n(300),d=i(c),f=n(302),p=i(f),h=n(303),g=i(h),m=n(310),v=i(m),b=n(107),y=i(b),$={boolean:p.default,date:g.default,number:v.default,options:p.default,string:y.default},_=function(){function e(){(0,o.default)(this,e)}return(0,l.default)(e,null,[{key:"resolveComparator",value:function(e,t){var n=e.operator.replace(/Not$/,""),i=(0,d.default)(e.operator,"Not"),r=$[t]?$[t][n]:null;return r&&i?(0,s.default)(r):r}}]),e}();t.default=_},function(e,t){function n(e){if("function"!=typeof e)throw new TypeError(i);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}var i="Expected a function";e.exports=n},function(e,t,n){function i(e,t,n){e=l(e),t=o(t);var i=e.length;n=void 0===n?i:r(a(n),0,i);var u=n;return(n-=t.length)>=0&&e.slice(n,u)==t}var r=n(75),o=n(301),a=n(96),l=n(94);e.exports=i},function(e,t){function n(e){return e}e.exports=n},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=i(r),a=n(1),l=i(a),u=function(){function e(){(0,o.default)(this,e)}return(0,l.default)(e,null,[{key:"is",value:function(e,t){return e===t}}]),e}();t.default=u},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=i(r),a=n(1),l=i(a),u=n(304),s=i(u),c=n(306),d=i(c),f=function(){function e(){(0,o.default)(this,e)}return(0,l.default)(e,null,[{key:"is",value:function(t,n){return e.transformDate(t)===n}},{key:"isBefore",value:function(t,n){return e.transformDate(t)n}},{key:"normalizeDate",value:function(e){var t=e.getDate(),n=e.getMonth()+1;return t<10&&(t="0"+t),n<10&&(n="0"+n),e.getFullYear()+"-"+n+"-"+t}},{key:"transformDate",value:function(t){var n=t;if(!(0,d.default)(n)&&(n=new Date(n),(0,s.default)(n.valueOf())))throw new Error("ovh-ui-angular: date "+t+" cannot be parsed.");return e.normalizeDate(n)}}]),e}();t.default=f},function(e,t,n){function i(e){return r(e)&&e!=+e}var r=n(305);e.exports=i},function(e,t,n){function i(e){return"number"==typeof e||o(e)&&r(e)==a}var r=n(24),o=n(18),a="[object Number]";e.exports=i},function(e,t,n){var i=n(307),r=n(308),o=n(309),a=o&&o.isDate,l=a?r(a):i;e.exports=l},function(e,t,n){function i(e){return o(e)&&r(e)==a}var r=n(24),o=n(18),a="[object Date]";e.exports=i},function(e,t){function n(e){return function(t){return e(t)}}e.exports=n},function(e,t,n){(function(e){var i=n(62),r="object"==typeof t&&t&&!t.nodeType&&t,o=r&&"object"==typeof e&&e&&!e.nodeType&&e,a=o&&o.exports===r,l=a&&i.process,u=function(){try{return l&&l.binding&&l.binding("util")}catch(e){}}();e.exports=u}).call(t,n(61)(e))},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=i(r),a=n(1),l=i(a),u=function(){function e(){(0,o.default)(this,e)}return(0,l.default)(e,null,[{key:"is",value:function(e,t){return e===t}},{key:"smaller",value:function(e,t){return et}}]),e}();t.default=u},function(e,t,n){"use strict";var i=/[|\\{}()[\]^$+*?.]/g;e.exports=function(e){if("string"!=typeof e)throw new TypeError("Expected a string");return e.replace(i,"\\$&")}},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(22),o=i(r),a=n(98),l=i(a),u=n(0),s=i(u),c=n(1),d=i(c),f=n(100),p=i(f),h=n(105),g=i(h),m=n(106),v=i(m),b=function(e){function t(e,n,i,r,o,a){(0,s.default)(this,t);var u=(0,p.default)(this,(t.__proto__||(0,l.default)(t)).call(this,e,n,i,r,o));return u.rowsLoader=a,u}return(0,g.default)(t,e),(0,d.default)(t,[{key:"loadData",value:function(e){var t=this;return this.rowsLoader({$config:(0,o.default)({offset:this.offset,pageSize:this.pageSize,sort:this.getSortingConfiguration(),criteria:this.criteria},{skipSort:e})}).then(function(e){return t.loadRows(e)})}},{key:"loadRows",value:function(e){return this.loadRowsData(e.data),this.totalCount=e.meta.totalCount,e}}]),t}(v.default);t.default=b},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(314),o=i(r),a=n(315),l=i(a);t.default={bindings:{columns:"<",onChange:"&"},controller:o.default,template:l.default}},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=i(r),a=n(1),l=i(a),u=function(){function e(t,n){"ngInject";(0,o.default)(this,e),this.$element=t,this.$timeout=n}return e.$inject=["$element","$timeout"],(0,l.default)(e,[{key:"$onChanges",value:function(){this.computeColumns()}},{key:"$postLink",value:function(){var e=this;this.$timeout(function(){e.$element.addClass("oui-datagrid-parameters")})}},{key:"computeColumns",value:function(){this.customizedColumns=angular.copy(this.columns).map(function(e){return e.visible=!e.hidden,e})}},{key:"onColumnChange",value:function(e,t){this.changedColumns=angular.copy(this.customizedColumns),this.changedColumns.forEach(function(n,i){i===e&&(n.hidden=!t),delete n.visible}),this.onChange({columns:this.changedColumns})}}]),e}();t.default=u},function(e,t){e.exports='
Columns Display
'},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=i(r),a=n(1),l=i(a),u=function(){function e(){(0,o.default)(this,e),this.pageSize=25,this.translations={emptyPlaceholder:"No data available"}}return(0,l.default)(e,[{key:"setPageSize",value:function(e){return this.pageSize=e,this}},{key:"setTranslations",value:function(e){return this.translations=e,this}},{key:"$get",value:function(){return{pageSize:this.pageSize,translations:this.translations}}}]),e}();t.default=u},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=i(r),a=n(1),l=i(a),u=function(){function e(){(0,o.default)(this,e),this.datagrids={}}return(0,l.default)(e,[{key:"registerDatagrid",value:function(e){var t=e.id;if(this.datagrids[t])throw new Error('Duplicated datagrid: id="'+t+'".');t&&(this.datagrids[t]=e)}},{key:"unregisterDatagrid",value:function(e){delete this.datagrids[e]}},{key:"refresh",value:function(e,t){var n=this.datagrids[e];n&&n.refreshData(!1,!1,!1,!t,!0)}}]),e}();t.default=u},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}var r=n(319),o=i(r),a=n(320),l=i(a),u=n(323),s=i(u),c=n(324),d=i(c),f=n(326),p=i(f),h=n(327),g=i(h),m=n(330),v=i(m);angular.module("oui.navbar",["ngAria","ngSanitize"]).constant("KEYBOARD_KEYS",o.default).component("ouiNavbar",l.default).directive("ouiNavbarGroup",d.default).component("ouiNavbarMenu",g.default).provider("ouiNavbarConfiguration",s.default).service("NavbarService",v.default).service("NavbarGroupService",p.default)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={ALT:9,TAB:16,ESC:27}},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(321),o=i(r),a=n(322),l=i(a);t.default={bindings:{brand:" '},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=i(r),a=n(1),l=i(a),u=function(){function e(){(0,o.default)(this,e),this.translations={notification:{errorInNotification:"Oups, there’s an error!",errorInNotificationDescription:"We can’t initialize the menu.",markRead:"Mark as read",markUnread:"Mark as unread",noNotification:"You are all caught up!",noNotificationDescription:"You don't have any notification."}}}return(0,l.default)(e,[{key:"setTranslations",value:function(e){return this.translations=e,this}},{key:"$get",value:function(){return{translations:this.translations}}}]),e}();t.default=u},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(325),r=function(e){return e&&e.__esModule?e:{default:e}}(i);t.default=function(){return{restrict:"A",bindToController:{groupName:"@ouiNavbarGroup",isLast:"=o?0:l+1:n[t.KEYBOARD_KEYS.ALT]&&n[t.KEYBOARD_KEYS.TAB]&&(l=l<=0?o:l-1),r[l].clientHeight?r[l].focus():e(i,l)};angular.element(r).on("keydown",function(n){i.test(n.which)&&t.navbarService.isOpen(e)&&(n.preventDefault(),a(n,t.keyboardNav[e].indexOf(n.target)))}).on("keyup",function(e){delete n[e.which]})}},{key:"setFocusTo",value:function(e,t){var n=this;this.$timeout(function(){return n.keyboardNav[e][t]&&n.keyboardNav[e][t].focus()},50)}}]),e}();t.default=u},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(328),o=i(r),a=n(329),l=i(a);t.default={bindings:{backButton:"

'},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=i(r),a=n(1),l=i(a),u=function(){function e(){(0,o.default)(this,e)}return(0,l.default)(e,[{key:"isOpen",value:function(e){return this.navigation&&this.navigation[e]}},{key:"toggleMenu",value:function(e,t){return e?(t||this.navigation&&this.navigation[e]||(this.navigation={}),t||!this.navigation[e]?this.navigation[e]=!this.navigation[e]:this.navigation[e]&&(this.navigation=null)):this.navigation=null,this.navigation}}]),e}();t.default=u},function(e,t,n){"use strict";var i=n(332),r=function(e){return e&&e.__esModule?e:{default:e}}(i);angular.module("oui.modal",[]).component("ouiModal",r.default)},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(333),o=i(r),a=n(334),l=i(a);t.default={template:l.default,controller:o.default,bindings:{heading:"@?",title:"@?",primaryAction:"&?",primaryLabel:"@?",secondaryAction:"&?",secondaryLabel:"@?",onDismiss:"&?",loading:"

'},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}var r=n(336),o=i(r),a=n(341),l=i(a);angular.module("oui.field",[]).component("ouiField",o.default).provider("ouiFieldConfiguration",l.default)},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(337),o=i(r),a=n(340),l=i(a);t.default={bindings:{label:"@?",helpText:"@?",size:"@?",errorMessages:"1||(i.forEach(function(e){angular.element(e).hasClass("oui-field__component")||t.bindDOMEvents(e,n)}),t.validationParameters[n]=e.getValidationParameters(t.controls[n][0]))}),t.label=angular.element(t.$element[0].querySelector(".oui-field__label")),t.label.on("click",function(){t.$scope.$broadcast("oui:focus")}),t.labelPopover&&(t.popoverId="oui-field-popover-"+t.$scope.$id,t.for)){angular.element(t.$element[0].querySelector("#"+t.for)).attr("aria-describedby",t.popoverId)}})}},{key:"$destroy",value:function(){var e=this;(0,l.default)(this.controls).forEach(function(t){e.controls[t].forEach(function(e){angular.element(e).off("blur"),angular.element(e).off("focus")})}),this.label&&this.label.off("click")}},{key:"bindDOMEvents",value:function(e,t){var n=this;angular.element(e).on("blur",function(){n.$timeout(function(){n.checkControlErrors(e,t),n.hasFocus=!1})}),angular.element(e).on("focus",function(){n.$timeout(function(){n.hideErrors(e,t),n.hasFocus=!0})})}},{key:"checkControlErrors",value:function(e,t){this.form[t]&&this.form[t].$invalid?(this.invalidOnBlur=!0,this.currentErrorField=t):(this.invalidOnBlur=!1,this.currentErrorField=null)}},{key:"hideErrors",value:function(e,t){this.form[t].$touched=!1,this.invalidOnBlur=!1}},{key:"isErrorVisible",value:function(){return!!this.form&&(this.checkAllErrors(),this.invalidOnBlur||this.form.$submitted&&this.invalid&&!this.hasFocus)}},{key:"checkAllErrors",value:function(){var e=this;this.invalid=(0,l.default)(this.controls).map(function(t){return e.form[t].$invalid&&!e.currentErrorField&&(e.currentErrorField=t),e.form[t].$invalid}).reduce(function(e,t){return e||t},!1)}},{key:"getFirstError",value:function(){for(var e=(0,l.default)(this.controls),t=0;t
'},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=i(r),a=n(1),l=i(a),u=function(){function e(){(0,o.default)(this,e),this.translations={errors:{required:"Mandatory.",number:"Invalid number.",email:"Invalid email.",min:"Too low ({{min}} min).",max:"Too high ({{max}} max).",minlength:"Too short ({{minlength}} characters min).",maxlength:"Too high ({{maxlength}} characters max).",pattern:"Invalid format."}}}return(0,l.default)(e,[{key:"setTranslations",value:function(e){return this.translations=e,this}},{key:"$get",value:function(){return{translations:this.translations}}}]),e}();t.default=u},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(109),r=function(e){return e&&e.__esModule?e:{default:e}}(i);t.default={template:"",controller:r.default,bindings:{name:"@?",model:"=?",onChange:"&"},transclude:!0}},function(e,t,n){"use strict";n(39),n(108);var i=n(344),r=function(e){return e&&e.__esModule?e:{default:e}}(i);angular.module("oui.radio-toggle-group",["oui.radio","oui.radio-group"]).component("ouiRadioToggleGroup",r.default)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(109),r=function(e){return e&&e.__esModule?e:{default:e}}(i);t.default={template:"
",controller:r.default,bindings:{name:"@?",model:"=?",onChange:"&"},transclude:!0}},function(e,t,n){"use strict";n(346);var i=n(350),r=function(e){return e&&e.__esModule?e:{default:e}}(i);angular.module("oui.select",["oui.field","ui.select","ngSanitize"]).directive("ouiSelect",r.default)},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}var r=n(56),o=i(r),a=n(25),l=i(a);!function(){function e(e){return angular.isUndefined(e)||null===e}var t={TAB:9,ENTER:13,ESC:27,SPACE:32,LEFT:37,UP:38,RIGHT:39,DOWN:40,SHIFT:16,CTRL:17,ALT:18,PAGE_UP:33,PAGE_DOWN:34,HOME:36,END:35,BACKSPACE:8,DELETE:46,COMMAND:91,MAP:{91:"COMMAND",8:"BACKSPACE",9:"TAB",13:"ENTER",16:"SHIFT",17:"CTRL",18:"ALT",19:"PAUSEBREAK",20:"CAPSLOCK",27:"ESC",32:"SPACE",33:"PAGE_UP",34:"PAGE_DOWN",35:"END",36:"HOME",37:"LEFT",38:"UP",39:"RIGHT",40:"DOWN",43:"+",44:"PRINTSCREEN",45:"INSERT",46:"DELETE",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",61:"=",65:"A",66:"B",67:"C",68:"D",69:"E",70:"F",71:"G",72:"H",73:"I",74:"J",75:"K",76:"L",77:"M",78:"N",79:"O",80:"P",81:"Q",82:"R",83:"S",84:"T",85:"U",86:"V",87:"W",88:"X",89:"Y",90:"Z",96:"0",97:"1",98:"2",99:"3",100:"4",101:"5",102:"6",103:"7",104:"8",105:"9",106:"*",107:"+",109:"-",110:".",111:"/",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NUMLOCK",145:"SCROLLLOCK",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},isControl:function(e){switch(e.which){case t.COMMAND:case t.SHIFT:case t.CTRL:case t.ALT:return!0}return!!(e.metaKey||e.ctrlKey||e.altKey)},isFunctionKey:function(e){return(e=e.which?e.which:e)>=112&&e<=123},isVerticalMovement:function(e){return~[t.UP,t.DOWN].indexOf(e)},isHorizontalMovement:function(e){return~[t.LEFT,t.RIGHT,t.BACKSPACE,t.DELETE].indexOf(e)},toSeparator:function(e){var n={ENTER:"\n",TAB:"\t",SPACE:" "}[e];return n||(t[e]?void 0:e)}};void 0===angular.element.prototype.querySelectorAll&&(angular.element.prototype.querySelectorAll=function(e){return angular.element(this[0].querySelectorAll(e))}),void 0===angular.element.prototype.closest&&(angular.element.prototype.closest=function(e){for(var t=this[0],n=t.matches||t.webkitMatchesSelector||t.mozMatchesSelector||t.msMatchesSelector;t;){if(n.bind(t)(e))return t;t=t.parentElement}return!1});var n=0,i=angular.module("ui.select",[]).constant("uiSelectConfig",{theme:"bootstrap",searchEnabled:!0,sortable:!1,placeholder:"",refreshDelay:1e3,closeOnSelect:!0,skipFocusser:!1,dropdownPosition:"auto",removeSelected:!0,resetSearchInput:!0,generateId:function(){return n++},appendToBody:!1,spinnerEnabled:!1,spinnerClass:"glyphicon glyphicon-refresh ui-select-spin",backspaceReset:!0}).service("uiSelectMinErr",function(){var e=angular.$$minErr("ui.select");return function(){var t=e.apply(this,arguments),n=t.message.replace(new RegExp("\nhttp://errors.angularjs.org/.*"),"");return new Error(n)}}).directive("uisTranscludeAppend",function(){return{link:function(e,t,n,i,r){r(e,function(e){t.append(e)})}}}).filter("highlight",function(){function e(e){return(""+e).replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")}return function(t,n){return n&&t?(""+t).replace(new RegExp(e(n),"gi"),'$&'):t}}).factory("uisOffset",["$document","$window",function(e,t){return function(n){var i=n[0].getBoundingClientRect();return{width:i.width||n.prop("offsetWidth"),height:i.height||n.prop("offsetHeight"),top:i.top+(t.pageYOffset||e[0].documentElement.scrollTop),left:i.left+(t.pageXOffset||e[0].documentElement.scrollLeft)}}}]);i.factory("$$uisDebounce",["$timeout",function(e){return function(t,n){var i;return function(){var r=this,o=Array.prototype.slice.call(arguments);i&&e.cancel(i),i=e(function(){t.apply(r,o)},n)}}}]),i.directive("uiSelectChoices",["uiSelectConfig","uisRepeatParser","uiSelectMinErr","$compile","$window",function(e,t,n,i,r){return{restrict:"EA",require:"^uiSelect",replace:!0,transclude:!0,templateUrl:function(t){return t.addClass("ui-select-choices"),(t.parent().attr("theme")||e.theme)+"/choices.tpl.html"},compile:function(i,o){if(!o.repeat)throw n("repeat","Expected 'repeat' expression.");var a=o.groupBy,l=o.groupFilter;if(a){var u=i.querySelectorAll(".ui-select-choices-group");if(1!==u.length)throw n("rows","Expected 1 .ui-select-choices-group but got '{0}'.",u.length);u.attr("ng-repeat",t.getGroupNgRepeatExpression())}var s=t.parse(o.repeat),c=i.querySelectorAll(".ui-select-choices-row");if(1!==c.length)throw n("rows","Expected 1 .ui-select-choices-row but got '{0}'.",c.length);c.attr("ng-repeat",s.repeatExpression(a));var d=i.querySelectorAll(".ui-select-choices-row-inner");if(1!==d.length)throw n("rows","Expected 1 .ui-select-choices-row-inner but got '{0}'.",d.length);return d.attr("uis-transclude-append",""),(r.document.addEventListener?c:d).attr("ng-click","$select.select("+s.itemName+",$select.skipFocusser,$event)"),function(t,n,r,o){o.parseRepeatAttr(r.repeat,a,l),o.disableChoiceExpression=r.uiDisableChoice,o.onHighlightCallback=r.onHighlight,o.minimumInputLength=parseInt(r.minimumInputLength)||0,o.dropdownPosition=r.position?r.position.toLowerCase():e.dropdownPosition,t.$watch("$select.search",function(e){e&&!o.open&&o.multiple&&o.activate(!1,!0),o.activeIndex=o.tagging.isActivated?-1:0,!r.minimumInputLength||o.search.length>=r.minimumInputLength?o.refresh(r.refresh):o.items=[]}),r.$observe("refreshDelay",function(){var n=t.$eval(r.refreshDelay);o.refreshDelay=void 0!==n?n:e.refreshDelay}),t.$watch("$select.open",function(e){e?(i.attr("role","listbox"),o.refresh(r.refresh)):n.removeAttr("role")})}}}}]),i.controller("uiSelectCtrl",["$scope","$element","$timeout","$filter","$$uisDebounce","uisRepeatParser","uiSelectMinErr","uiSelectConfig","$parse","$injector","$window","$document","$attrs",function(n,i,r,a,u,s,c,d,f,p,h,g,m){function v(e,t,n){if(e.findIndex)return e.findIndex(t,n);for(var i,r=Object(e),o=r.length>>>0,a=0;a=0&&(e+="-"+M.align),M.popper=new l.default(M.referenceElement,M.popperElement,{placement:e,modifiers:{preventOverflow:{boundariesElement:M.$document[0].body}}}),M.popperElement.style.minWidth=M.referenceElement.offsetWidth+"px"}function _(e,t){var n=D.indexOf(e);t&&-1===n&&D.push(e),!t&&n>-1&&D.splice(n,1)}function k(e){return D.indexOf(e)>-1}function w(e){function t(e,t){var n=i.indexOf(e);t&&-1===n&&i.push(e),!t&&n>-1&&i.splice(n,1)}function n(e){return i.indexOf(e)>-1}if(e){var i=[];M.isLocked=function(e,i){var r=!1,o=M.selected[i];return o&&(e?(r=!!e.$eval(M.lockChoiceExpression),t(o,r)):r=n(o)),r}}}function x(e){var n=!0;switch(e){case t.DOWN:if(!M.open&&M.multiple)M.activate(!1,!0);else if(M.activeIndexr)for(var o=--M.activeIndex;k(M.items[o])&&o>r;)M.activeIndex=--o;break;case t.TAB:M.multiple&&!M.open||M.select(M.items[M.activeIndex],!0);break;case t.ENTER:M.open&&(M.tagging.isActivated||M.activeIndex>=0)?M.select(M.items[M.activeIndex],M.skipFocusser):M.activate(!1,!0);break;case t.ESC:M.close();break;default:n=!1}return n}function C(){var e=i.querySelectorAll(".ui-select-choices-content"),t=e.querySelectorAll(".ui-select-choices-row");if(t.length<1)throw c("choices","Expected multiple .ui-select-choices-row but got '{0}'.",t.length);if(!(M.activeIndex<0)){var n=t[M.activeIndex],r=n.offsetTop+n.clientHeight-e[0].scrollTop,o=e[0].offsetHeight;r>o?e[0].scrollTop+=r-o:r=M.items.length?0:M.activeIndex,-1===M.activeIndex&&!1!==M.taggingLabel&&(M.activeIndex=0);var o=i.querySelectorAll(".ui-select-choices-content"),a=i.querySelectorAll(".ui-select-search");if(M.$animate&&M.$animate.on&&M.$animate.enabled(o[0])){var l=function t(n,i){"start"===i&&0===M.items.length?(M.$animate.off("removeClass",a[0],t),r(function(){M.focusSearchInput(e)})):"close"===i&&(M.$animate.off("enter",o[0],t),r(function(){M.focusSearchInput(e)}))};M.items.length>0?M.$animate.on("enter",o[0],l):M.$animate.on("removeClass",a[0],l)}else r(function(){M.focusSearchInput(e),!M.tagging.isActivated&&M.items.length>1&&C()});M.referenceElement=i[0].querySelector(".oui-button_dropdown"),M.popperElement=i[0].querySelector(".ui-select-choices-container"),$()}},M.focusSearchInput=function(e){M.search=e||M.search,M.searchInput[0].focus()},M.findGroupByName=function(e){return M.groups&&M.groups.filter(function(t){return t.name===e})[0]},M.parseRepeatAttr=function(e,t,i){function r(e){var r=n.$eval(t);if(M.groups=[],angular.forEach(e,function(e){var t=angular.isFunction(r)?r(e):e[r],n=M.findGroupByName(t);n?n.items.push(e):M.groups.push({name:t,items:[e]})}),i){var o=n.$eval(i);angular.isFunction(o)?M.groups=o(M.groups):angular.isArray(o)&&(M.groups=y(M.groups,o))}M.items=[],M.groups.forEach(function(e){M.items=M.items.concat(e.items)})}function a(e){M.items=e||[]}M.setItemsFn=t?r:a,M.parserResult=s.parse(e),M.isGrouped=!!t,M.itemProperty=M.parserResult.itemName;var l=M.parserResult.source,u=function(){var e=l(n);n.$uisSource=(0,o.default)(e).map(function(t){var n={};return n[M.parserResult.keyName]=t,n.value=e[t],n})};M.parserResult.keyName&&(u(),M.parserResult.source=f("$uisSource"+M.parserResult.filters),n.$watch(l,function(e,t){e!==t&&u()},!0)),M.refreshItems=function(e){e=e||M.parserResult.source(n);var t=M.selected;if(M.isEmpty()||angular.isArray(t)&&!t.length||!M.multiple||!M.removeSelected)M.setItemsFn(e);else if(void 0!==e&&null!==e){var i=e.filter(function(e){return angular.isArray(t)?t.every(function(t){return!angular.equals(e,t)}):!angular.equals(e,t)});M.setItemsFn(i)}"auto"!==M.dropdownPosition&&"up"!==M.dropdownPosition||n.calculateDropdownPos(),n.$broadcast("uis:refresh")},n.$watchCollection(M.parserResult.source,function(e){if(void 0===e||null===e)M.items=[];else{if(!angular.isArray(e))throw c("items","Expected an array but got '{0}'.",e);M.refreshItems(e),angular.isDefined(M.ngModel.$modelValue)&&(M.ngModel.$modelValue=null)}})};var E;M.refresh=function(e){void 0!==e&&(E&&r.cancel(E),E=r(function(){if(n.$select.search.length>=n.$select.minimumInputLength){var t=n.$eval(e);t&&angular.isFunction(t.then)&&!M.refreshing&&(M.refreshing=!0,t.finally(function(){M.refreshing=!1}))}},M.refreshDelay))},M.isActive=function(e){if(!M.open)return!1;var t=M.items.indexOf(e[M.itemProperty]),n=t==M.activeIndex;return!(!n||t<0)&&(n&&!angular.isUndefined(M.onHighlightCallback)&&e.$eval(M.onHighlightCallback),n)};var P=function(e){return M.selected&&angular.isArray(M.selected)&&M.selected.filter(function(t){return angular.equals(t,e)}).length>0};M.isSelected=function(e){var t=e.$item,n=M.selected;return angular.isArray(n)?P(t):angular.equals(n,t)};var D=[];M.isDisabled=function(e){if(M.open){var t=e[M.itemProperty],n=M.items.indexOf(t),i=!1;if(n>=0&&(angular.isDefined(M.disableChoiceExpression)||M.multiple)){if(t.isTag)return!1;M.multiple&&(i=P(t)),!i&&angular.isDefined(M.disableChoiceExpression)&&(i=!!e.$eval(M.disableChoiceExpression)),_(t,i)}return i}},M.select=function(t,i,r){if(e(t)||!k(t)){if(!M.items&&!M.search&&!M.tagging.isActivated)return;if(!t||!k(t)){if(M.clickTriggeredSelect=!1,r&&("click"===r.type||"touchend"===r.type)&&t&&(M.clickTriggeredSelect=!0),M.tagging.isActivated&&!1===M.clickTriggeredSelect){if(!1===M.taggingLabel)if(M.activeIndex<0){if(void 0===t&&(t=void 0!==M.tagging.fct?M.tagging.fct(M.search):M.search),!t||angular.equals(M.items[0],t))return}else t=M.items[M.activeIndex];else if(0===M.activeIndex){if(void 0===t)return;if(void 0!==M.tagging.fct&&"string"==typeof t){if(!(t=M.tagging.fct(t)))return}else"string"==typeof t&&(t=t.replace(M.taggingLabel,"").trim())}if(P(t))return void M.close(i)}b(),n.$broadcast("uis:select",t),M.closeOnSelect&&M.close(i)}}},M.close=function(e){M.open&&(M.ngModel&&M.ngModel.$setTouched&&M.ngModel.$setTouched(),M.open=!1,b(),n.$broadcast("uis:close",e))},M.setFocus=function(){M.focus||M.focusInput[0].focus()},M.clear=function(e){M.select(null),e.stopPropagation(),r(function(){M.focusser[0].focus()},0,!1)},M.toggle=function(e){M.open?(M.close(),e.preventDefault(),e.stopPropagation()):M.activate()},M.isLocked=function(){return!1},n.$watch(function(){return angular.isDefined(M.lockChoiceExpression)&&""!==M.lockChoiceExpression},w);var O=null,T=!1;M.sizeSearchInput=function(){var e=M.searchInput[0],t=M.$element[0],i=function(){return t.clientWidth*!!e.offsetParent},o=function(t){if(0===t)return!1;var n=t-e.offsetLeft;return n<50&&(n=t),M.searchInput.css("width",n+"px"),!0};M.searchInput.css("width","10px"),r(function(){null!==O||o(i())||(O=n.$watch(function(){T||(T=!0,n.$$postDigest(function(){T=!1,o(i())&&(O(),O=null)}))},angular.noop))})},M.keydownHandler=function(e){var i=e.which;~[t.ENTER,t.ESC].indexOf(i)&&(e.preventDefault(),e.stopPropagation()),t.TAB!==i&&(n.$apply(function(){var n=!1;if((M.items.length>0||M.tagging.isActivated)&&(x(i)||M.searchEnabled||(e.preventDefault(),e.stopPropagation()),M.taggingTokens.isActivated)){for(var o=0;o0&&(n=!0);n&&r(function(){M.searchInput.triggerHandler("tagged");var n=M.search.replace(t.MAP[e.keyCode],"").trim();M.tagging.fct&&(n=M.tagging.fct(n)),n&&M.select(n,!0)})}}),t.isVerticalMovement(i)&&M.items.length>0&&(e.preventDefault(),C()),i!==t.ENTER&&i!==t.ESC||(e.preventDefault(),e.stopPropagation()))},M.searchInput.on("keydown",M.keydownHandler),M.searchInput.on("paste",function(e){var n;if(n=window.clipboardData&&window.clipboardData.getData?window.clipboardData.getData("Text"):(e.originalEvent||e).clipboardData.getData("text/plain"),(n=M.search+n)&&n.length>0)if(M.taggingTokens.isActivated){for(var i=[],r=0;r-1){i=n.split(o);break}}0===i.length&&(i=[n]);var a=M.search;angular.forEach(i,function(e){var t=M.tagging.fct?M.tagging.fct(e):e;t&&M.select(t,!0)}),M.search=a||S,e.preventDefault(),e.stopPropagation()}else M.paste&&(M.paste(n),M.search=S,e.preventDefault(),e.stopPropagation())}),M.searchInput.on("tagged",function(){r(function(){b()})});var L=u(function(){M.sizeSearchInput()},50);angular.element(h).bind("resize",L),n.$on("$destroy",function(){M.searchInput.off("keyup keydown tagged blur paste"),angular.element(h).off("resize",L)}),n.$watch("$select.activeIndex",function(e){e&&i.find("input").attr("aria-activedescendant","ui-select-choices-row-"+M.generatedId+"-"+e)}),n.$watch("$select.open",function(e){e||i.find("input").removeAttr("aria-activedescendant")})}]),i.directive("uiSelect",["$document","uiSelectConfig","uiSelectMinErr","uisOffset","$compile","$parse","$timeout",function(e,t,n,i,r,o,a){return{restrict:"EA",templateUrl:function(e,n){return(n.theme||t.theme)+(angular.isDefined(n.multiple)?"/select-multiple.tpl.html":"/select.tpl.html")},replace:!0,transclude:!0,require:["uiSelect","^ngModel"],scope:!0,controller:"uiSelectCtrl",controllerAs:"$select",compile:function(r,l){var u=/{(.*)}\s*{(.*)}/.exec(l.ngClass);if(u){var s="{"+u[1]+", "+u[2]+"}";l.ngClass=s,r.attr("ng-class",s)}return angular.isDefined(l.multiple)?r.append("").removeAttr("multiple"):r.append(""),l.inputId&&(r.querySelectorAll("input.ui-select-search")[0].id=l.inputId),function(r,l,u,s,c){function d(e){if(h.open){if(!(window.jQuery?window.jQuery.contains(l[0],e.target):l[0].contains(e.target))&&!h.clickTriggeredSelect){var t;if(h.skipFocusser)t=!0;else{var n=["input","button","textarea","select"],i=angular.element(e.target).controller("uiSelect");t=i&&i!==h,t||(t=~n.indexOf(e.target.tagName.toLowerCase()))}h.close(t),r.$digest()}h.clickTriggeredSelect=!1}}function f(){var t=i(l);v=angular.element('
'),v[0].style.width=t.width+"px",v[0].style.height=t.height+"px",l.after(v),b=l[0].style.width,e.find("body").append(l),l[0].style.position="absolute",l[0].style.left=t.left+"px",l[0].style.top=t.top+"px",l[0].style.width=t.width+"px"}function p(){null!==v&&(v.replaceWith(l),v=null,l[0].style.position="",l[0].style.left="",l[0].style.top="",l[0].style.width=b,h.setFocus())}var h=s[0],g=s[1];h.generatedId=t.generateId(),h.baseTitle=u.title||"Select box",h.focusserTitle=h.baseTitle+" focus",h.focusserId="focusser-"+h.generatedId,h.closeOnSelect=function(){return angular.isDefined(u.closeOnSelect)?o(u.closeOnSelect)():t.closeOnSelect}(),r.$watch("skipFocusser",function(){var e=r.$eval(u.skipFocusser);h.skipFocusser=void 0!==e?e:t.skipFocusser}),h.onSelectCallback=o(u.onSelect),h.onRemoveCallback=o(u.onRemove),h.onBlurCallback=o(u.onBlur),h.onFocusCallback=o(u.onFocus),h.onBlur=function(){h.onBlurCallback(r)},h.onFocus=function(){h.onFocusCallback(r)},h.ngModel=g,h.choiceGrouped=function(e){return h.isGrouped&&e&&e.name},u.tabindex&&u.$observe("tabindex",function(e){h.focusInput.attr("tabindex",e),l.removeAttr("tabindex")}),r.$watch(function(){return r.$eval(u.searchEnabled)},function(e){h.searchEnabled=void 0!==e?e:t.searchEnabled}),r.$watch("sortable",function(){var e=r.$eval(u.sortable);h.sortable=void 0!==e?e:t.sortable}),u.$observe("backspaceReset",function(){var e=r.$eval(u.backspaceReset);h.backspaceReset=void 0===e||e}),u.$observe("limit",function(){h.limit=angular.isDefined(u.limit)?parseInt(u.limit,10):void 0}),r.$watch("removeSelected",function(){var e=r.$eval(u.removeSelected);h.removeSelected=void 0!==e?e:t.removeSelected}),u.$observe("disabled",function(){h.disabled=void 0!==u.disabled&&u.disabled}),u.$observe("resetSearchInput",function(){var e=r.$eval(u.resetSearchInput);h.resetSearchInput=void 0===e||e}),u.$observe("paste",function(){h.paste=r.$eval(u.paste)}),u.$observe("tagging",function(){if(void 0!==u.tagging){var e=r.$eval(u.tagging);h.tagging={isActivated:!0,fct:!0!==e?e:void 0}}else h.tagging={isActivated:!1,fct:void 0}}),u.$observe("taggingLabel",function(){void 0!==u.tagging&&("false"===u.taggingLabel?h.taggingLabel=!1:h.taggingLabel=void 0!==u.taggingLabel?u.taggingLabel:"(new)")}),u.$observe("taggingTokens",function(){if(void 0!==u.tagging){var e=void 0!==u.taggingTokens?u.taggingTokens.split("|"):[",","ENTER"];h.taggingTokens={isActivated:!0,tokens:e}}}),u.$observe("spinnerEnabled",function(){var e=r.$eval(u.spinnerEnabled);h.spinnerEnabled=void 0!==e?e:t.spinnerEnabled}),u.$observe("spinnerClass",function(){var e=u.spinnerClass;h.spinnerClass=void 0!==e?u.spinnerClass:t.spinnerClass}),angular.isDefined(u.autofocus)&&a(function(){h.setFocus()}),angular.isDefined(u.focusOn)&&r.$on(u.focusOn,function(){a(function(){h.setFocus()})}),e.on("click",d),r.$on("$destroy",function(){e.off("click",d)}),c(r,function(e){var t=angular.element("
").append(e),i=t.querySelectorAll(".ui-select-match");if(i.removeAttr("ui-select-match"),i.removeAttr("data-ui-select-match"),1!==i.length)throw n("transcluded","Expected 1 .ui-select-match but got '{0}'.",i.length);l.querySelectorAll(".ui-select-match").replaceWith(i);var r=t.querySelectorAll(".ui-select-choices");if(r.removeAttr("ui-select-choices"),r.removeAttr("data-ui-select-choices"),1!==r.length)throw n("transcluded","Expected 1 .ui-select-choices but got '{0}'.",r.length);l.querySelectorAll(".ui-select-choices").replaceWith(r);var o=t.querySelectorAll(".ui-select-no-choice");o.removeAttr("ui-select-no-choice"),o.removeAttr("data-ui-select-no-choice"),1==o.length&&l.querySelectorAll(".ui-select-no-choice").replaceWith(o)});var m=r.$eval(u.appendToBody);(void 0!==m?m:t.appendToBody)&&(r.$watch("$select.open",function(e){e?f():p()}),r.$on("$destroy",function(){p()}));var v=null,b="",y=null;r.$watch("$select.open",function(){"auto"!==h.dropdownPosition&&"up"!==h.dropdownPosition||r.calculateDropdownPos()});var $=function(e,t){e=e||i(l),t=t||i(y),y[0].style.position="absolute",y[0].style.top=-1*t.height+"px",l.addClass("direction-up")},_=function(e,t){l.removeClass("direction-up"),e=e||i(l),t=t||i(y),y[0].style.position="",y[0].style.top=""},k=function(){a(function(){if("up"===h.dropdownPosition)$();else{l.removeClass("direction-up");var t=i(l),n=i(y),r=e[0].documentElement.scrollTop||e[0].body.scrollTop;t.top+t.height+n.height>r+e[0].documentElement.clientHeight?$(t,n):_(t,n)}y[0].style.opacity=1})},w=!1;r.calculateDropdownPos=function(){if(h.open){if(y=angular.element(l).querySelectorAll(".ui-select-dropdown"),0===y.length)return;if(""!==h.search||w||(y[0].style.opacity=0,w=!0),!i(y).height&&h.$animate&&h.$animate.on&&h.$animate.enabled(y)){var e=!0;h.$animate.on("enter",y,function(t,n){"close"===n&&e&&(k(),e=!1)})}else k()}else{if(null===y||0===y.length)return;y[0].style.opacity=0,y[0].style.position="",y[0].style.top="",l.removeClass("direction-up")}}}}}}]),i.directive("uiSelectMatch",["uiSelectConfig",function(e){function t(e,t){return e[0].hasAttribute(t)?e.attr(t):e[0].hasAttribute("data-"+t)?e.attr("data-"+t):e[0].hasAttribute("x-"+t)?e.attr("x-"+t):void 0}return{restrict:"EA",require:"^uiSelect",replace:!0,transclude:!0,templateUrl:function(n){n.addClass("ui-select-match");var i=n.parent();return(t(i,"theme")||e.theme)+(angular.isDefined(t(i,"multiple"))?"/match-multiple.tpl.html":"/match.tpl.html")},link:function(t,n,i,r){function o(e){r.allowClear=!!angular.isDefined(e)&&(""===e||"true"===e.toLowerCase())}r.lockChoiceExpression=i.uiLockChoice,i.$observe("placeholder",function(t){r.placeholder=void 0!==t?t:e.placeholder}),i.$observe("allowClear",o),o(i.allowClear),r.multiple&&r.sizeSearchInput(),n.on("keydown",r.keydownHandler)}}}]),i.directive("uiSelectMultiple",["uiSelectMinErr","$timeout",function(n,i){return{restrict:"EA",require:["^uiSelect","^ngModel"],controller:["$scope","$timeout",function(e,t){var n,i=this,r=e.$select;angular.isUndefined(r.selected)&&(r.selected=[]),e.$evalAsync(function(){n=e.ngModel}),i.activeMatchIndex=-1,i.updateModel=function(){n.$setViewValue(Date.now()),i.refreshComponent()},i.refreshComponent=function(){r.refreshItems&&r.refreshItems(),r.sizeSearchInput&&r.sizeSearchInput()},i.removeChoice=function(n){if(r.isLocked(null,n))return!1;var o=r.selected[n],a={};return a[r.parserResult.itemName]=o,r.selected.splice(n,1),i.activeMatchIndex=-1,r.sizeSearchInput(),t(function(){r.onRemoveCallback(e,{$item:o,$model:r.parserResult.modelMapper(e,a)})}),i.updateModel(),!0},i.getPlaceholder=function(){if(!r.selected||!r.selected.length)return r.placeholder}}],controllerAs:"$selectMultiple",link:function(r,o,a,l){function u(e){return angular.isNumber(e.selectionStart)?e.selectionStart:e.value.length}function s(e){var n=u(f.searchInput[0]),i=f.selected.length,r=i-1,o=h.activeMatchIndex,a=h.activeMatchIndex+1,l=h.activeMatchIndex-1,s=o;return!(n>0||f.search.length&&e==t.RIGHT)&&(f.close(),s=function(){switch(e){case t.LEFT:return~h.activeMatchIndex?l:r;case t.RIGHT:return~h.activeMatchIndex&&o!==r?a:(f.activate(),!1);case t.BACKSPACE:return~h.activeMatchIndex?h.removeChoice(o)?l:o:r;case t.DELETE:return!!~h.activeMatchIndex&&(h.removeChoice(h.activeMatchIndex),o)}}(),f.selected.length&&!1!==s?h.activeMatchIndex=Math.min(r,Math.max(0,s)):h.activeMatchIndex=-1,!0)}function c(e){return void 0!==e&&void 0!==f.search&&e.filter(function(e){return void 0!==f.search.toUpperCase()&&void 0!==e&&e.toUpperCase()===f.search.toUpperCase()}).length>0}function d(e,t){var n=-1;if(angular.isArray(e))for(var i=angular.copy(e),r=0;r=0;i--)t={},t[f.parserResult.itemName]=f.selected[i],e=f.parserResult.modelMapper(r,t),n.unshift(e);return n}),p.$formatters.unshift(function(e){var t,n=f.parserResult&&f.parserResult.source(r,{$select:{search:""}}),i={};if(!n)return e;var o=[],a=function(e,n){if(e&&e.length){for(var a=e.length-1;a>=0;a--){if(i[f.parserResult.itemName]=e[a],t=f.parserResult.modelMapper(r,i),f.parserResult.trackByExp){var l=/(\w*)\./.exec(f.parserResult.trackByExp),u=/\.([^\s]+)/.exec(f.parserResult.trackByExp);if(l&&l.length>0&&l[1]==f.parserResult.itemName&&u&&u.length>0&&t[u[1]]==n[u[1]])return o.unshift(e[a]),!0}if(angular.equals(t,n))return o.unshift(e[a]),!0}return!1}};if(!e)return o;for(var l=e.length-1;l>=0;l--)a(f.selected,e[l])||a(n,e[l])||o.unshift(e[l]);return o}),r.$watchCollection(function(){return p.$modelValue},function(e,t){t!=e&&(angular.isDefined(p.$modelValue)&&(p.$modelValue=null),h.refreshComponent())}),p.$render=function(){if(!angular.isArray(p.$viewValue)){if(!e(p.$viewValue))throw n("multiarr","Expected model value to be array but got '{0}'",p.$viewValue);p.$viewValue=[]}f.selected=p.$viewValue,h.refreshComponent(),r.$evalAsync()},r.$on("uis:select",function(e,t){if(!(f.selected.length>=f.limit)){f.selected.push(t);var n={};n[f.parserResult.itemName]=t,i(function(){f.onSelectCallback(r,{$item:t,$model:f.parserResult.modelMapper(r,n)})}),h.updateModel()}}),r.$on("uis:activate",function(){h.activeMatchIndex=-1}),r.$watch("$select.disabled",function(e,t){t&&!e&&f.sizeSearchInput()}),f.searchInput.on("keydown",function(e){var n=e.which;r.$apply(function(){var i=!1;t.isHorizontalMovement(n)&&(i=s(n)),i&&n!=t.TAB&&(e.preventDefault(),e.stopPropagation())})}),f.searchInput.on("keyup",function(e){if(t.isVerticalMovement(e.which)||r.$evalAsync(function(){f.activeIndex=!1===f.taggingLabel?-1:0}),f.tagging.isActivated&&f.search.length>0){if(e.which===t.TAB||t.isControl(e)||t.isFunctionKey(e)||e.which===t.ESC||t.isVerticalMovement(e.which))return;if(f.activeIndex=!1===f.taggingLabel?-1:0,!1===f.taggingLabel)return;var n,i,o,a,l=angular.copy(f.items),u=angular.copy(f.items),s=!1,p=-1;if(void 0!==f.tagging.fct){if(o=f.$filter("filter")(l,{isTag:!0}),o.length>0&&(a=o[0]),l.length>0&&a&&(s=!0,l=l.slice(1,l.length),u=u.slice(1,u.length)),n=f.tagging.fct(f.search),u.some(function(e){return angular.equals(e,n)})||f.selected.some(function(e){return angular.equals(e,n)}))return void r.$evalAsync(function(){f.activeIndex=0,f.items=l});n&&(n.isTag=!0)}else{if(o=f.$filter("filter")(l,function(e){return e.match(f.taggingLabel)}),o.length>0&&(a=o[0]),i=l[0],void 0!==i&&l.length>0&&a&&(s=!0,l=l.slice(1,l.length),u=u.slice(1,u.length)),n=f.search+" "+f.taggingLabel,d(f.selected,f.search)>-1)return;if(c(u.concat(f.selected)))return void(s&&(l=u,r.$evalAsync(function(){f.activeIndex=0,f.items=l})));if(c(u))return void(s&&(f.items=u.slice(1,u.length)))}s&&(p=d(f.selected,n)),p>-1?l=l.slice(p+1,l.length-1):(l=[],n&&l.push(n),l=l.concat(u)),r.$evalAsync(function(){if(f.activeIndex=0,f.items=l,f.isGrouped){var e=n?l.slice(1):l;f.setItemsFn(e),n&&(f.items.unshift(n),f.groups.unshift({name:"",items:[n],tagging:!0}))}})}}),f.searchInput.on("blur",function(){i(function(){h.activeMatchIndex=-1})})}}}]),i.directive("uiSelectNoChoice",["uiSelectConfig",function(e){return{restrict:"EA",require:"^uiSelect",replace:!0,transclude:!0,templateUrl:function(t){return t.addClass("ui-select-no-choice"),(t.parent().attr("theme")||e.theme)+"/no-choice.tpl.html"}}}]),i.directive("uiSelectSingle",["$timeout","$compile",function(n,i){return{restrict:"EA",require:["^uiSelect","^ngModel"],link:function(r,o,a,l){function u(){return o.parent()[0].querySelector(".ui-select-match")}var s=l[0],c=l[1];c.$parsers.unshift(function(t){if(e(t))return t;var n={};return n[s.parserResult.itemName]=t,s.parserResult.modelMapper(r,n)}),c.$formatters.unshift(function(t){if(e(t))return t;var n,i=s.parserResult&&s.parserResult.source(r,{$select:{search:""}}),o={};if(i){var a=function(e){return o[s.parserResult.itemName]=e,(n=s.parserResult.modelMapper(r,o))===t};if(s.selected&&a(s.selected))return s.selected;for(var l=i.length-1;l>=0;l--)if(a(i[l]))return i[l]}return t}),r.$watch("$select.selected",function(e){c.$viewValue!==e&&c.$setViewValue(e)}),c.$render=function(){s.selected=c.$viewValue},r.$on("uis:select",function(t,i){s.selected=i;var o={};o[s.parserResult.itemName]=i,n(function(){s.onSelectCallback(r,{$item:i,$model:e(i)?i:s.parserResult.modelMapper(r,o)})})}),r.$on("uis:close",function(e,t){n(function(){t||u().focus()},0,!1)}),r.$on("uis:activate",function(){d.prop("disabled",!0)});var d=angular.element("");i(d)(r),s.focusser=d,s.focusInput=d,o.parent().append(d),d.bind("focus",function(){r.$evalAsync(function(){s.focus=!0})}),d.bind("blur",function(){r.$evalAsync(function(){s.focus=!1})}),d.bind("keydown",function(e){if(e.which===t.BACKSPACE&&!1!==s.backspaceReset)return e.preventDefault(),e.stopPropagation(),s.select(void 0),void r.$apply();e.which===t.TAB||t.isControl(e)||t.isFunctionKey(e)||e.which===t.ESC||(e.which!=t.DOWN&&e.which!=t.UP&&e.which!=t.ENTER&&e.which!=t.SPACE||(e.preventDefault(),e.stopPropagation(),s.activate()),r.$digest())}),d.bind("keyup input",function(e){e.which===t.TAB||t.isControl(e)||t.isFunctionKey(e)||e.which===t.ESC||e.which==t.ENTER||e.which===t.BACKSPACE||(s.activate(d.val()),d.val(""),r.$digest())})}}}]),i.directive("uiSelectSort",["$timeout","uiSelectConfig","uiSelectMinErr",function(e,t,n){return{require:["^^uiSelect","^ngModel"],link:function(t,i,r,o){if(null===t[r.uiSelectSort])throw n("sort","Expected a list to sort");var a=o[0],l=o[1],u=angular.extend({axis:"horizontal"},t.$eval(r.uiSelectSortOptions)),s=u.axis;t.$watch(function(){return a.sortable},function(e){e?i.attr("draggable",!0):i.removeAttr("draggable")}),i.on("dragstart",function(e){i.addClass("dragging"),(e.dataTransfer||e.originalEvent.dataTransfer).setData("text",t.$index.toString())}),i.on("dragend",function(){f("dragging")});var c,d=function(e,t){this.splice(t,0,this.splice(e,1)[0])},f=function(e){angular.forEach(a.$element.querySelectorAll("."+e),function(t){angular.element(t).removeClass(e)})},p=function(e){e.preventDefault(),("vertical"===s?e.offsetY||e.layerY||(e.originalEvent?e.originalEvent.offsetY:0):e.offsetX||e.layerX||(e.originalEvent?e.originalEvent.offsetX:0)) × '),e.put("bootstrap/match.tpl.html",n(348)),e.put("bootstrap/no-choice.tpl.html",''),e.put("bootstrap/select-multiple.tpl.html",''),e.put("bootstrap/select.tpl.html",n(349))}])},function(e,t){e.exports='
'},function(e,t){e.exports=' '},function(e,t){e.exports='
'},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(351),o=i(r),a=n(352),l=i(a);t.default=function(){return{require:{fieldCtrl:"?^^ouiField",selectCtrl:"ouiSelect"},controller:o.default,controllerAs:"$ctrl",bindToController:!0,scope:{model:"=",name:"@?",required:" '},function(e,t,n){"use strict";var i=n(354),r=function(e){return e&&e.__esModule?e:{default:e}}(i);angular.module("oui.select-picker",[]).component("ouiSelectPicker",r.default)},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(355),o=i(r),a=n(356),l=i(a);t.default={template:l.default,controller:o.default,transclude:{sectionSlot:"?span"},bindings:{text:"@",description:"@?",picture:"@?",placeholder:"@?",values:"<",id:"@?",name:"@?",match:"@",model:"=?",onChange:"&?",disabled:"1&&!this.selectedValue){var n=angular.element(this.$element[0].querySelectorAll(".ui-select-match"));!e.hasParentButton(t.target)&&n.length>0&&(n.triggerHandler("click"),t.stopPropagation())}}},{key:"onSelectModelChange",value:function(e){this.model=e.modelValue,this.onRadioModelChange(e)}},{key:"onRadioModelChange",value:function(e){var t=this;this.onChange&&this.$timeout(function(){return t.onChange(e)})}}],[{key:"hasParentButton",value:function(e){var t=e;do{if("BUTTON"===t.nodeName)return!0;t=t.parentNode}while("OUI-SELECT-PICKER"!==t.nodeName);return!1}}]),e}();t.default=d},function(e,t){e.exports='
'},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}var r=n(358),o=i(r),a=n(361),l=i(a);angular.module("oui.textarea",[]).component("ouiTextarea",o.default).provider("ouiTextareaConfiguration",l.default)},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(359),o=i(r),a=n(360),l=i(a);t.default={template:l.default,controller:o.default,bindings:{model:"=?",id:"@?",name:"@?",placeholder:"@?",rows:"@?",disabled:"this.maxlength)}}},{key:"getMaxLengthText",value:function(){return this.ouiTextareaConfiguration.translations.lengthCounter.replace("{{length}}",this.textarea?this.textarea.value.length:0).replace("{{max}}",this.maxlength)}},{key:"setDisabled",value:function(e){this.disabled=e,this.$element.toggleClass("oui-textarea_disabled",e)}},{key:"setFocus",value:function(e){this.$element.toggleClass("oui-textarea_active",e)}},{key:"setReadonly",value:function(e){this.readonly=e,this.$element.toggleClass("oui-textarea_readonly",e)}}]),e}();t.default=s},function(e,t){e.exports=" "},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=i(r),a=n(1),l=i(a),u=function(){function e(){(0,o.default)(this,e),this.translations={lengthCounter:"{{length}}/{{max}} characters"}}return(0,l.default)(e,[{key:"setTranslations",value:function(e){return this.translations=e,this}},{key:"$get",value:function(){return{translations:this.translations}}}]),e}();t.default=u},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}var r=n(363),o=i(r),a=n(366),l=i(a);angular.module("oui.form-actions",[]).component("ouiFormActions",o.default).provider("ouiFormActionsConfiguration",l.default)},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(364),o=i(r),a=n(365),l=i(a);t.default={template:l.default,controller:o.default,bindings:{submitText:"@?",cancelText:"@?",onSubmit:"&",onCancel:"&?",href:"@?"},transclude:!0}},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(22),o=i(r),a=n(0),l=i(a),u=n(1),s=i(u),c=function(){function e(t,n){"ngInject";(0,l.default)(this,e),this.$attrs=t,this.config=n}return e.$inject=["$attrs","ouiFormActionsConfiguration"],(0,s.default)(e,[{key:"$onInit",value:function(){this.processTranslations()}},{key:"processTranslations",value:function(){this.translations=(0,o.default)({},this.config.translations),angular.isUndefined(this.submitText)&&(this.submitText=this.translations.submit),angular.isUndefined(this.cancelText)&&(this.cancelText=this.translations.cancel)}}]),e}();t.default=c},function(e,t){e.exports=' '},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=i(r),a=n(1),l=i(a),u=function(){function e(){(0,o.default)(this,e),this.translations={submit:"Submit",cancel:"Cancel"}}return(0,l.default)(e,[{key:"setTranslations",value:function(e){return this.translations=e,this}},{key:"$get",value:function(){return{translations:this.translations}}}]),e}();t.default=u},function(e,t,n){"use strict";var i=n(368),r=function(e){return e&&e.__esModule?e:{default:e}}(i);angular.module("oui.search",[]).component("ouiSearch",r.default)},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(369),o=i(r),a=n(372),l=i(a);t.default={require:{criteriaContainer:"?^^ouiCriteriaContainer"},bindings:{model:"=",id:"@?",name:"@?",placeholder:"@?",ariaLabel:"@?",disabled:"=2?this.criteriaContainer.setPreviewCriterion(e.getCriterion(t),!0):this.criteriaContainer.deletePreviewCriterion())}},{key:"onSearchSubmit",value:function(e){this.model=void 0,this.onSubmit({modelValue:e}),this.onCriterionSubmit(e)}},{key:"onCriterionSubmit",value:function(t){this.criteriaContainer&&t&&t.length>=2&&this.criteriaContainer.add(e.getCriterion(t))}},{key:"onSearchReset",value:function(){this.model=void 0,this.onReset(),this.onCriterionReset()}},{key:"onCriterionReset",value:function(){this.criteriaContainer&&this.criteriaContainer.deletePreviewCriterion()}}],[{key:"getCriterion",value:function(e){return{title:e,property:null,operator:"contains",value:e}}}]),e}();t.default=f},function(e,t,n){function i(e,t,n){function i(t){var n=b,i=y;return b=y=void 0,x=t,_=e.apply(i,n)}function c(e){return x=e,k=setTimeout(p,t),C?i(e):_}function d(e){var n=e-w,i=e-x,r=t-n;return M?s(r,$-i):r}function f(e){var n=e-w,i=e-x;return void 0===w||n>=t||n<0||M&&i>=$}function p(){var e=o();if(f(e))return h(e);k=setTimeout(p,d(e))}function h(e){return k=void 0,S&&b?i(e):(b=y=void 0,_)}function g(){void 0!==k&&clearTimeout(k),x=0,b=w=y=k=void 0}function m(){return void 0===k?_:h(o())}function v(){var e=o(),n=f(e);if(b=arguments,y=this,w=e,n){if(void 0===k)return c(w);if(M)return k=setTimeout(p,t),i(w)}return void 0===k&&(k=setTimeout(p,t)),_}var b,y,$,_,k,w,x=0,C=!1,M=!1,S=!0;if("function"!=typeof e)throw new TypeError(l);return t=a(t)||0,r(n)&&(C=!!n.leading,M="maxWait"in n,$=M?u(a(n.maxWait)||0,t):$,S="trailing"in n?!!n.trailing:S),v.cancel=g,v.flush=m,v}var r=n(15),o=n(371),a=n(76),l="Expected a function",u=Math.max,s=Math.min;e.exports=i},function(e,t,n){var i=n(37),r=function(){return i.Date.now()};e.exports=r},function(e,t){e.exports=' '},function(e,t,n){"use strict";var i=n(374),r=function(e){return e&&e.__esModule?e:{default:e}}(i);angular.module("oui.criteria-container",[]).component("ouiCriteriaContainer",r.default)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(375),r=function(e){return e&&e.__esModule?e:{default:e}}(i);t.default={template:"",transclude:!0,controller:r.default,bindings:{onChange:"&"}}},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=i(r),a=n(1),l=i(a),u=n(95),s=i(u),c=function(){function e(){(0,o.default)(this,e)}return(0,l.default)(e,[{key:"$onInit",value:function(){this.criteria=[]}},{key:"triggerChange",value:function(){this.onChange&&this.onChange({modelValue:this.criteria})}},{key:"indexOfCriterion",value:function(e){for(var t=this.criteria.length-1;t>=0&&!angular.equals(this.criteria[t],e);)--t;return t}},{key:"setPreviewCriterion",value:function(e){var t=(0,s.default)(this.criteria,["preview",!0]);e.preview=!0,t>-1?this.criteria[t]=e:this.criteria.push(e),this.triggerChange()}},{key:"deletePreviewCriterion",value:function(){var e=(0,s.default)(this.criteria,["preview",!0]);e>-1&&(this.criteria.splice(e,1),this.triggerChange())}},{key:"add",value:function(e){var t=angular.copy(e);t.preview=!0;var n=this.indexOfCriterion(t);n>-1&&this.criteria.splice(n,1),this.indexOfCriterion(e)<0&&(this.criteria.push(e),this.triggerChange())}},{key:"remove",value:function(e){var t=this.indexOfCriterion(e);t>-1&&(this.criteria.splice(t,1),this.triggerChange())}},{key:"set",value:function(e){this.criteria=e,this.triggerChange()}},{key:"clear",value:function(){this.criteria=[],this.triggerChange()}}]),e}();t.default=c},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}var r=n(377),o=i(r),a=n(380),l=i(a);angular.module("oui.criteria-adder",[]).component("ouiCriteriaAdder",o.default).provider("ouiCriteriaAdderConfiguration",l.default)},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(378),o=i(r),a=n(379),l=i(a);t.default={require:{criteriaContainer:"?^^ouiCriteriaContainer"},bindings:{id:"@?",name:"@",align:"@?",properties:"<",disabled:"
'},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=i(r),a=n(1),l=i(a),u=function(){function e(){(0,o.default)(this,e),this.operatorsByType={boolean:["is","isNot"],date:["is","isAfter","isBefore"],number:["is","smaller","bigger"],options:["is","isNot"],string:["contains","containsNot","startsWith","endsWith","is","isNot"]},this.translations={column_label:"Column",operator_label:"Operator",operator_boolean_is:"is",operator_boolean_isNot:"is not",operator_string_contains:"contains",operator_string_containsNot:"does not contain",operator_string_startsWith:"starts with",operator_string_endsWith:"ends with",operator_string_is:"is",operator_string_isNot:"is not",operator_number_is:"is",operator_number_smaller:"is smaller than",operator_number_bigger:"is bigger than",operator_date_is:"is",operator_date_isBefore:"is before",operator_date_isAfter:"is after",operator_options_is:"is",operator_options_isNot:"is not",true_label:"Yes",false_label:"No",value_label:"Value",submit_label:"Add"}}return(0,l.default)(e,[{key:"setOperatorsByType",value:function(e){return this.operatorsByType=e,this}},{key:"setTranslations",value:function(e){return this.translations=e,this}},{key:"$get",value:function(){return{operatorsByType:this.operatorsByType,translations:this.translations}}}]),e}();t.default=u},function(e,t,n){"use strict";var i=n(382),r=function(e){return e&&e.__esModule?e:{default:e}}(i);angular.module("oui.chips",[]).component("ouiChips",r.default)},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(383),o=i(r),a=n(384),l=i(a);t.default={require:{criteriaContainer:"?^^ouiCriteriaContainer"},template:l.default,controller:o.default,bindings:{items:"<",closable:" '},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}var r=n(386),o=i(r),a=n(389),l=i(a),u=n(391),s=i(u);angular.module("oui.popover",[]).component("ouiPopover",o.default).directive("ouiPopoverContent",l.default).directive("ouiPopoverTrigger",s.default)},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(387),o=i(r),a=n(388),l=i(a);t.default={template:l.default,controller:o.default,bindings:{placement:"@?"},transclude:!0}},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=i(r),a=n(1),l=i(a),u=n(25),s=i(u),c=function(){function e(t,n,i,r,a){"ngInject";(0,o.default)(this,e),this.$scope=t,this.$element=n,this.$attrs=i,this.$document=r,this.$timeout=a}return e.$inject=["$scope","$element","$attrs","$document","$timeout"],(0,l.default)(e,[{key:"$onInit",value:function(){this.isPopoverOpen=!1,this.id="ouiPopover"+this.$scope.$id,angular.isUndefined(this.placement)&&(this.placement="right")}},{key:"$postLink",value:function(){this.triggerElement=this.$element[0].querySelector(".oui-popover__trigger"),this.popperElement=this.$element[0].querySelector(".oui-popover__content"),this.arrowElement=this.$element[0].querySelector(".oui-popover__arrow")}},{key:"$destroy",value:function(){this.closePopover()}},{key:"onTriggerClick",value:function(){this.isPopoverOpen?this.closePopover():this.openPopover()}},{key:"triggerKeyHandler",value:function(e){var t=this;e&&"keydown"===e.type&&27===e.which&&this.$scope.$apply(function(){t.closePopover()})}},{key:"openPopover",value:function(){var e=this;this.isPopoverOpen=!0,angular.element(this.$element.children()[0]).addClass("oui-popover_active"),this.updatePopper(),this.$document.on("keydown",function(t){return e.triggerKeyHandler(t)}),this.$scope.$broadcast("oui:popover:afterOpen",this.id)}},{key:"closePopover",value:function(){var e=this;this.isPopoverOpen=!1,angular.element(this.$element.children()[0]).removeClass("oui-popover_active"),this.destroyPopper(),this.$document.off("keydown",function(t){return e.triggerKeyHandler(t)}),this.$scope.$broadcast("oui:popover:afterClose",this.id)}},{key:"createPopper",value:function(){this.arrowElement&&this.arrowElement.setAttribute("x-arrow",""),this.popperElement.style.minWidth=this.triggerElement.offsetWidth+"px",this.popper=new s.default(this.triggerElement,this.popperElement,{placement:this.placement,modifiers:{preventOverflow:{boundariesElement:this.$document[0].body}}})}},{key:"updatePopper",value:function(){this.popper?this.popper.scheduleUpdate():this.createPopper()}},{key:"destroyPopper",value:function(){this.popper&&(this.popper.destroy(),this.popper=null)}}]),e}();t.default=c},function(e,t){e.exports="
"},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=i(r),a=n(390),l=i(a);t.default=function(){"ngInject";return{restrict:"AE",require:{popover:"^ouiPopover"},controller:function e(){(0,o.default)(this,e)},controllerAs:"$ctrl",bindToController:!0,scope:{},template:l.default,transclude:!0}}},function(e,t){e.exports='
'},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=function(){"ngInject";return{restrict:"AE",require:"^ouiPopover",scope:{},link:function(e,t,n,i){var r=t;r.addClass("oui-popover__trigger"),r.attr("id",i.id),r.attr({"aria-haspopup":!0,"aria-expanded":!1}),r.on("click",function(){return i.onTriggerClick()}),e.$on("oui:popover:afterOpen",function(e,t){t===i.id&&r.attr("aria-expanded",!0)}),e.$on("oui:popover:afterClose",function(e,t){t===i.id&&r.attr("aria-expanded",!1)}),e.$on("$destroy",function(){r.off("click")})}}}},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}var r=n(393),o=i(r),a=n(396),l=i(a),u=n(399),s=i(u);angular.module("oui.stepper",[]).component("ouiStepper",l.default).component("ouiStepForm",o.default).provider("ouiStepperConfiguration",s.default)},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(394),o=i(r),a=n(395),l=i(a);t.default={require:{stepperCtrl:"^ouiStepper"},bindings:{id:"@?",name:"@?",header:"@",description:"@?",cancelHref:"@?",cancelText:"@?",loadingText:"@?",submitText:"@?",disabled:"
'},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(397),o=i(r),a=n(398),l=i(a);t.default={bindings:{name:"@",id:"@",onInit:"&",onFinish:"&"},controller:o.default,template:l.default,transclude:!0}},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=i(r),a=n(1),l=i(a),u=function(){function e(t,n,i){"ngInject";(0,o.default)(this,e),this.$attrs=t,this.$element=n,this.$timeout=i}return e.$inject=["$attrs","$element","$timeout"],(0,l.default)(e,[{key:"$onInit",value:function(){this.forms=[],this.steps=[],this.currentIndex=0,this.onInit()}},{key:"$postLink",value:function(){var e=this;this.$timeout(function(){return e.$element.removeAttr("id").removeAttr("name").addClass("oui-stepper")})}},{key:"addStep",value:function(e){this.steps.push(e),this.focusStep(this.currentIndex)}},{key:"addForm",value:function(e,t){this.forms[t]=e,this.nextStep(),t===this.steps.length-1&&this.onFinish({forms:this.forms})}},{key:"nextStep",value:function(){var e=Math.min(this.currentIndex+1,this.steps.length);this.focusStep(e)}},{key:"prevStep",value:function(){var e=Math.max(this.currentIndex-1,0);this.focusStep(e)}},{key:"focusStep",value:function(e){var t=this;this.currentIndex=e,this.steps.forEach(function(n,i){var r=i===e;angular.isDefined(n.stepper)&&(n.stepper.index=i,n.stepper.focused=r,n.stepper.disabled=i>t.currentIndex,n.stepper.last=i===t.steps.length-1),r&&n.onFocus()})}}]),e}();t.default=u},function(e,t){e.exports="
"},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=i(r),a=n(1),l=i(a),u=n(33),s=i(u),c=function(){function e(){(0,o.default)(this,e),this.translations={optionalLabel:"(optional)",modifyThisStep:"Modify this step",skipThisStep:"Skip this step",nextButtonLabel:"Next",submitButtonLabel:"Submit",cancelButtonLabel:"Cancel"}}return(0,l.default)(e,[{key:"setTranslations",value:function(e){return this.translations=(0,s.default)(this.translations,e),this}},{key:"$get",value:function(){return{translations:this.translations}}}]),e}();t.default=c},function(e,t,n){"use strict";var i=n(401),r=function(e){return e&&e.__esModule?e:{default:e}}(i);angular.module("oui.skeleton",[]).component("ouiSkeleton",r.default)},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(402),o=i(r),a=n(403),l=i(a);t.default={controller:o.default,template:l.default,bindings:{size:"@?",randomized:"
"},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}var r=n(405),o=i(r),a=n(409),l=i(a);angular.module("oui.clipboard",[]).component("ouiClipboard",o.default).provider("ouiClipboardConfiguration",l.default)},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(406),o=i(r),a=n(408),l=i(a);t.default={template:l.default,controller:o.default,bindings:{name:"@?",id:"@?",model:"="}}},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=i(r),a=n(1),l=i(a),u=n(407),s=i(u),c=function(){function e(t,n,i,r){"ngInject";(0,o.default)(this,e),this.$attrs=t,this.$element=n,this.$timeout=i,this.translations=angular.copy(r.translations)}return e.$inject=["$attrs","$element","$timeout","ouiClipboardConfiguration"],(0,l.default)(e,[{key:"$onInit",value:function(){this.tooltipText=this.translations.copyToClipboardLabel,this.trigger=this.$element[0].querySelector(".oui-clipboard__button"),this.target=this.$element[0].querySelector(".oui-clipboard__control")}},{key:"$onDestroy",value:function(){this.clipboard.destroy()}},{key:"$postLink",value:function(){var e=this;this.$timeout(function(){e.$element.addClass("oui-input-group oui-input-group_clipboard").removeAttr("id").removeAttr("name")}),this.clipboard=new s.default(this.trigger,{target:function(){return e.target},text:function(){return e.model}}),this.clipboard.on("success",function(){return e.selectInputText(e.translations.copiedLabel)}).on("error",function(){return e.selectInputText(e.translations.notSupported)})}},{key:"selectInputText",value:function(e){var t=this,n=this.model.length||0;this.$timeout(function(){t.target.focus(),t.target.selectionStart=0,t.target.selectionEnd=n,t.target.setSelectionRange(0,n),t.target.select(),t.tooltipText=e,angular.element(t.target).one("blur",function(){return t.reset()})})}},{key:"onInputClick",value:function(){this.trigger.click()}},{key:"reset",value:function(){var e=this;this.$timeout(function(){e.tooltipText=e.translations.copyToClipboardLabel},500)}}]),e}();t.default=c},function(e,t,n){/*! * clipboard.js v2.0.1 * https://zenorocha.github.io/clipboard.js * diff --git a/dist/oui-angular.min.js.map b/dist/oui-angular.min.js.map index f736d0d2..4bb67612 100644 --- a/dist/oui-angular.min.js.map +++ b/dist/oui-angular.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///oui-angular.min.js","webpack:///webpack/bootstrap 9a368cbba1ae86174ed1","webpack:///./node_modules/babel-runtime/helpers/classCallCheck.js","webpack:///./node_modules/babel-runtime/helpers/createClass.js","webpack:///./packages/common/component-utils.js","webpack:///./node_modules/core-js/library/modules/_core.js","webpack:///./node_modules/core-js/library/modules/_wks.js","webpack:///./node_modules/core-js/library/modules/_export.js","webpack:///./node_modules/core-js/library/modules/_global.js","webpack:///./node_modules/core-js/library/modules/_object-dp.js","webpack:///./node_modules/core-js/library/modules/_an-object.js","webpack:///./node_modules/core-js/library/modules/_descriptors.js","webpack:///./node_modules/core-js/library/modules/_has.js","webpack:///./node_modules/lodash/isArray.js","webpack:///./node_modules/core-js/library/modules/_hide.js","webpack:///./node_modules/core-js/library/modules/_is-object.js","webpack:///./node_modules/core-js/library/modules/_fails.js","webpack:///./node_modules/lodash/isObject.js","webpack:///./node_modules/core-js/library/modules/_to-iobject.js","webpack:///./node_modules/core-js/library/modules/_property-desc.js","webpack:///./node_modules/lodash/isObjectLike.js","webpack:///./node_modules/core-js/library/modules/_iterators.js","webpack:///./node_modules/core-js/library/modules/_object-keys.js","webpack:///./node_modules/core-js/library/modules/_to-object.js","webpack:///./node_modules/babel-runtime/core-js/object/assign.js","webpack:///./node_modules/lodash/_assocIndexOf.js","webpack:///./node_modules/lodash/_baseGetTag.js","webpack:///./node_modules/popper.js/dist/esm/popper.js","webpack:///./packages/oui-dropdown/src/divider/dropdown-divider.component.js","webpack:///./node_modules/core-js/library/modules/_uid.js","webpack:///./node_modules/core-js/library/modules/_object-pie.js","webpack:///./node_modules/lodash/get.js","webpack:///./node_modules/lodash/_toKey.js","webpack:///./node_modules/core-js/library/modules/_ctx.js","webpack:///./node_modules/core-js/library/modules/_to-primitive.js","webpack:///./node_modules/lodash/merge.js","webpack:///./node_modules/lodash/_Stack.js","webpack:///./node_modules/lodash/eq.js","webpack:///./node_modules/lodash/_baseAssignValue.js","webpack:///./node_modules/lodash/_root.js","webpack:///./node_modules/lodash/_overArg.js","webpack:///./packages/oui-radio/src/index.js","webpack:///./packages/oui-dropdown/src/item/dropdown-item.component.js","webpack:///./node_modules/babel-runtime/core-js/json/stringify.js","webpack:///./node_modules/core-js/library/modules/es6.string.iterator.js","webpack:///./node_modules/core-js/library/modules/_to-integer.js","webpack:///./node_modules/core-js/library/modules/_defined.js","webpack:///./node_modules/core-js/library/modules/_library.js","webpack:///./node_modules/core-js/library/modules/_object-create.js","webpack:///./node_modules/core-js/library/modules/_cof.js","webpack:///./node_modules/core-js/library/modules/_shared-key.js","webpack:///./node_modules/core-js/library/modules/_shared.js","webpack:///./node_modules/core-js/library/modules/_enum-bug-keys.js","webpack:///./node_modules/core-js/library/modules/_set-to-string-tag.js","webpack:///./node_modules/core-js/library/modules/_object-gops.js","webpack:///./node_modules/lodash/_isKey.js","webpack:///./node_modules/core-js/library/modules/_wks-ext.js","webpack:///./node_modules/core-js/library/modules/_wks-define.js","webpack:///./node_modules/babel-runtime/core-js/object/keys.js","webpack:///./node_modules/babel-runtime/core-js/object/define-property.js","webpack:///./node_modules/core-js/library/modules/_ie8-dom-define.js","webpack:///./node_modules/core-js/library/modules/_dom-create.js","webpack:///./node_modules/lodash/_assignMergeValue.js","webpack:///(webpack)/buildin/module.js","webpack:///./node_modules/lodash/_freeGlobal.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/lodash/_getPrototype.js","webpack:///./node_modules/lodash/isArguments.js","webpack:///./node_modules/lodash/isArrayLike.js","webpack:///./node_modules/lodash/isFunction.js","webpack:///./node_modules/lodash/isLength.js","webpack:///./node_modules/lodash/isBuffer.js","webpack:///./node_modules/lodash/isTypedArray.js","webpack:///./node_modules/lodash/_safeGet.js","webpack:///./node_modules/lodash/keysIn.js","webpack:///./node_modules/lodash/identity.js","webpack:///./packages/oui-dropdown/src/group/dropdown-group.component.js","webpack:///./node_modules/lodash/_baseClamp.js","webpack:///./node_modules/lodash/toNumber.js","webpack:///./node_modules/babel-runtime/helpers/toConsumableArray.js","webpack:///./node_modules/babel-runtime/core-js/array/from.js","webpack:///./node_modules/core-js/library/modules/_iter-define.js","webpack:///./node_modules/core-js/library/modules/_redefine.js","webpack:///./node_modules/core-js/library/modules/_object-keys-internal.js","webpack:///./node_modules/core-js/library/modules/_iobject.js","webpack:///./node_modules/core-js/library/modules/_to-length.js","webpack:///./node_modules/core-js/library/modules/_object-gpo.js","webpack:///./node_modules/core-js/library/modules/core.get-iterator-method.js","webpack:///./node_modules/lodash/find.js","webpack:///./node_modules/lodash/_baseIteratee.js","webpack:///./node_modules/lodash/_baseIsEqual.js","webpack:///./node_modules/lodash/_isStrictComparable.js","webpack:///./node_modules/lodash/keys.js","webpack:///./node_modules/lodash/_matchesStrictComparable.js","webpack:///./node_modules/lodash/_baseGet.js","webpack:///./node_modules/lodash/_castPath.js","webpack:///./node_modules/lodash/toString.js","webpack:///./node_modules/lodash/findIndex.js","webpack:///./node_modules/lodash/toInteger.js","webpack:///./packages/oui-datagrid/src/util.js","webpack:///./node_modules/babel-runtime/core-js/object/get-prototype-of.js","webpack:///./node_modules/core-js/library/modules/_object-sap.js","webpack:///./node_modules/babel-runtime/helpers/possibleConstructorReturn.js","webpack:///./node_modules/babel-runtime/helpers/typeof.js","webpack:///./node_modules/core-js/library/modules/web.dom.iterable.js","webpack:///./node_modules/core-js/library/modules/_object-gopn.js","webpack:///./node_modules/core-js/library/modules/_object-gopd.js","webpack:///./node_modules/babel-runtime/helpers/inherits.js","webpack:///./packages/oui-datagrid/src/paging/datagrid-paging-abstract.js","webpack:///./packages/oui-datagrid/src/filter/string.js","webpack:///./packages/oui-radio-group/src/index.js","webpack:///./packages/oui-radio-group/src/radio-group.controller.js","webpack:///./packages/oui-header-tabs/src/header-tabs-item.html","webpack:///./packages/oui-angular/src/index.js","webpack:///./packages/oui-button/src/index.js","webpack:///./packages/oui-button/src/button.component.js","webpack:///./packages/oui-button/src/button.controller.js","webpack:///./node_modules/core-js/library/fn/object/define-property.js","webpack:///./node_modules/core-js/library/modules/es6.object.define-property.js","webpack:///./node_modules/core-js/library/modules/_a-function.js","webpack:///./packages/oui-button/src/button.html","webpack:///./packages/oui-calendar/src/index.js","webpack:///./packages/oui-calendar/src/calendar.component.js","webpack:///./packages/oui-calendar/src/calendar.controller.js","webpack:///./node_modules/flatpickr/dist/flatpickr.js","webpack:///./packages/oui-calendar/src/calendar.html","webpack:///./packages/oui-calendar/src/calendar.provider.js","webpack:///./node_modules/lodash/_baseMerge.js","webpack:///./node_modules/lodash/_listCacheClear.js","webpack:///./node_modules/lodash/_listCacheDelete.js","webpack:///./node_modules/lodash/_listCacheGet.js","webpack:///./node_modules/lodash/_listCacheHas.js","webpack:///./node_modules/lodash/_listCacheSet.js","webpack:///./node_modules/lodash/_defineProperty.js","webpack:///./node_modules/lodash/_getNative.js","webpack:///./node_modules/lodash/_baseFor.js","webpack:///./node_modules/lodash/_createBaseFor.js","webpack:///./node_modules/lodash/_baseMergeDeep.js","webpack:///./node_modules/lodash/_cloneBuffer.js","webpack:///./node_modules/lodash/_cloneTypedArray.js","webpack:///./node_modules/lodash/_cloneArrayBuffer.js","webpack:///./node_modules/lodash/_Uint8Array.js","webpack:///./node_modules/lodash/_copyArray.js","webpack:///./node_modules/lodash/_initCloneObject.js","webpack:///./node_modules/lodash/_baseCreate.js","webpack:///./node_modules/lodash/_isPrototype.js","webpack:///./node_modules/lodash/isArrayLikeObject.js","webpack:///./node_modules/lodash/isPlainObject.js","webpack:///./node_modules/lodash/toPlainObject.js","webpack:///./node_modules/lodash/_copyObject.js","webpack:///./node_modules/lodash/_assignValue.js","webpack:///./node_modules/lodash/_createAssigner.js","webpack:///./node_modules/lodash/_baseRest.js","webpack:///./node_modules/lodash/_overRest.js","webpack:///./node_modules/lodash/_apply.js","webpack:///./node_modules/lodash/_setToString.js","webpack:///./node_modules/lodash/_isIterateeCall.js","webpack:///./node_modules/flatpickr/dist/l10n/cs.js","webpack:///./node_modules/flatpickr/dist/l10n/de.js","webpack:///./node_modules/flatpickr/dist/l10n/es.js","webpack:///./node_modules/flatpickr/dist/l10n/fi.js","webpack:///./node_modules/flatpickr/dist/l10n/fr.js","webpack:///./node_modules/flatpickr/dist/l10n/it.js","webpack:///./node_modules/flatpickr/dist/l10n/lt.js","webpack:///./node_modules/flatpickr/dist/l10n/nl.js","webpack:///./node_modules/flatpickr/dist/l10n/pl.js","webpack:///./node_modules/flatpickr/dist/l10n/pt.js","webpack:///./node_modules/flatpickr/dist/l10n/sk.js","webpack:///./packages/oui-checkbox/src/index.js","webpack:///./packages/oui-checkbox/src/checkbox.component.js","webpack:///./packages/oui-checkbox/src/checkbox.controller.js","webpack:///./packages/oui-checkbox/src/checkbox.html","webpack:///./packages/oui-collapsible/src/index.js","webpack:///./packages/oui-collapsible/src/collapsible.component.js","webpack:///./packages/oui-collapsible/src/collapsible.controller.js","webpack:///./packages/oui-collapsible/src/collapsible.html","webpack:///./packages/oui-radio/src/radio.component.js","webpack:///./packages/oui-radio/src/radio.controller.js","webpack:///./packages/oui-radio/src/radio.html","webpack:///./packages/oui-message/src/index.js","webpack:///./packages/oui-message/src/message.component.js","webpack:///./packages/oui-message/src/message.controller.js","webpack:///./packages/oui-message/src/message.html","webpack:///./packages/oui-spinner/src/index.js","webpack:///./packages/oui-spinner/src/spinner.component.js","webpack:///./packages/oui-spinner/src/spinner.controller.js","webpack:///./packages/oui-spinner/src/spinner.html","webpack:///./packages/oui-back-button/src/index.js","webpack:///./packages/oui-back-button/src/back-button.component.js","webpack:///./packages/oui-back-button/src/back-button.controller.js","webpack:///./packages/oui-back-button/src/back-button.html","webpack:///./packages/oui-dropdown/src/index.js","webpack:///./packages/oui-dropdown/src/dropdown.component.js","webpack:///./packages/oui-dropdown/src/dropdown.controller.js","webpack:///./packages/oui-dropdown/src/content/dropdown-content.directive.js","webpack:///./packages/oui-dropdown/src/group/dropdown-group.html","webpack:///./packages/oui-dropdown/src/item/dropdown-item.controller.js","webpack:///./node_modules/core-js/library/fn/json/stringify.js","webpack:///./packages/oui-dropdown/src/item/dropdown-item.html","webpack:///./packages/oui-dropdown/src/trigger/dropdown-trigger.directive.js","webpack:///./packages/oui-dropdown/src/trigger/dropdown-trigger.controller.js","webpack:///./packages/oui-dropdown/src/trigger/dropdown-trigger.html","webpack:///./packages/oui-action-menu/src/index.js","webpack:///./packages/oui-action-menu/src/action-menu.component.js","webpack:///./packages/oui-action-menu/src/action-menu.controller.js","webpack:///./packages/oui-action-menu/src/action-menu.html","webpack:///./packages/oui-tooltip/src/index.js","webpack:///./packages/oui-tooltip/src/tooltip.directive.js","webpack:///./packages/oui-tooltip/src/tooltip.controller.js","webpack:///./packages/oui-tooltip/src/tooltip.html","webpack:///./packages/oui-numeric/src/index.js","webpack:///./packages/oui-numeric/src/numeric.component.js","webpack:///./packages/oui-numeric/src/numeric.controller.js","webpack:///./node_modules/lodash/clamp.js","webpack:///./packages/oui-numeric/src/numeric.html","webpack:///./packages/oui-pagination/src/index.js","webpack:///./packages/oui-pagination/src/pagination.component.js","webpack:///./packages/oui-pagination/src/pagination.controller.js","webpack:///./node_modules/core-js/library/fn/array/from.js","webpack:///./node_modules/core-js/library/modules/_string-at.js","webpack:///./node_modules/core-js/library/modules/_iter-create.js","webpack:///./node_modules/core-js/library/modules/_object-dps.js","webpack:///./node_modules/core-js/library/modules/_array-includes.js","webpack:///./node_modules/core-js/library/modules/_to-absolute-index.js","webpack:///./node_modules/core-js/library/modules/_html.js","webpack:///./node_modules/core-js/library/modules/es6.array.from.js","webpack:///./node_modules/core-js/library/modules/_iter-call.js","webpack:///./node_modules/core-js/library/modules/_is-array-iter.js","webpack:///./node_modules/core-js/library/modules/_create-property.js","webpack:///./node_modules/core-js/library/modules/_classof.js","webpack:///./node_modules/core-js/library/modules/_iter-detect.js","webpack:///./node_modules/core-js/library/fn/object/assign.js","webpack:///./node_modules/core-js/library/modules/es6.object.assign.js","webpack:///./node_modules/core-js/library/modules/_object-assign.js","webpack:///./packages/oui-pagination/src/pagination.html","webpack:///./packages/oui-pagination/src/pagination.provider.js","webpack:///./packages/oui-datagrid/src/index.js","webpack:///./packages/oui-datagrid/src/cell/cell.component.js","webpack:///./packages/oui-datagrid/src/cell/cell.controller.js","webpack:///./packages/oui-datagrid/src/datagrid.directive.js","webpack:///./packages/oui-datagrid/src/datagrid.controller.js","webpack:///./node_modules/babel-runtime/helpers/defineProperty.js","webpack:///./node_modules/lodash/_createFind.js","webpack:///./node_modules/lodash/_baseMatches.js","webpack:///./node_modules/lodash/_baseIsMatch.js","webpack:///./node_modules/lodash/_baseIsEqualDeep.js","webpack:///./node_modules/lodash/_equalArrays.js","webpack:///./node_modules/lodash/_SetCache.js","webpack:///./node_modules/lodash/_arraySome.js","webpack:///./node_modules/lodash/_cacheHas.js","webpack:///./node_modules/lodash/_baseIndexOf.js","webpack:///./node_modules/lodash/_equalByTag.js","webpack:///./node_modules/lodash/_equalObjects.js","webpack:///./node_modules/lodash/_getAllKeys.js","webpack:///./node_modules/lodash/_getTag.js","webpack:///./node_modules/lodash/_getMatchData.js","webpack:///./node_modules/lodash/_baseMatchesProperty.js","webpack:///./node_modules/lodash/isSymbol.js","webpack:///./node_modules/lodash/_stringToPath.js","webpack:///./node_modules/lodash/_memoizeCapped.js","webpack:///./node_modules/lodash/hasIn.js","webpack:///./node_modules/lodash/_baseHasIn.js","webpack:///./node_modules/lodash/_hasPath.js","webpack:///./node_modules/lodash/_isIndex.js","webpack:///./node_modules/lodash/property.js","webpack:///./node_modules/lodash/_baseProperty.js","webpack:///./node_modules/lodash/_basePropertyDeep.js","webpack:///./node_modules/lodash/_baseFindIndex.js","webpack:///./packages/oui-datagrid/src/datagrid.html","webpack:///./packages/oui-datagrid/src/datagrid-column-builder.service.js","webpack:///./packages/oui-datagrid/src/extra-top/extra-top.component.js","webpack:///./packages/oui-datagrid/src/extra-top/extra-top.controller.js","webpack:///./packages/oui-datagrid/src/paging/datagrid-paging.service.js","webpack:///./packages/oui-datagrid/src/paging/datagrid-local-paging.js","webpack:///./node_modules/core-js/library/fn/object/get-prototype-of.js","webpack:///./node_modules/core-js/library/modules/es6.object.get-prototype-of.js","webpack:///./node_modules/babel-runtime/core-js/symbol/iterator.js","webpack:///./node_modules/core-js/library/fn/symbol/iterator.js","webpack:///./node_modules/core-js/library/modules/es6.array.iterator.js","webpack:///./node_modules/core-js/library/modules/_add-to-unscopables.js","webpack:///./node_modules/core-js/library/modules/_iter-step.js","webpack:///./node_modules/babel-runtime/core-js/symbol.js","webpack:///./node_modules/core-js/library/fn/symbol/index.js","webpack:///./node_modules/core-js/library/modules/es6.symbol.js","webpack:///./node_modules/core-js/library/modules/_meta.js","webpack:///./node_modules/core-js/library/modules/_enum-keys.js","webpack:///./node_modules/core-js/library/modules/_is-array.js","webpack:///./node_modules/core-js/library/modules/_object-gopn-ext.js","webpack:///./node_modules/core-js/library/modules/es7.symbol.async-iterator.js","webpack:///./node_modules/core-js/library/modules/es7.symbol.observable.js","webpack:///./node_modules/babel-runtime/core-js/object/set-prototype-of.js","webpack:///./node_modules/core-js/library/fn/object/set-prototype-of.js","webpack:///./node_modules/core-js/library/modules/es6.object.set-prototype-of.js","webpack:///./node_modules/core-js/library/modules/_set-proto.js","webpack:///./node_modules/babel-runtime/core-js/object/create.js","webpack:///./node_modules/core-js/library/fn/object/create.js","webpack:///./node_modules/core-js/library/modules/es6.object.create.js","webpack:///./packages/oui-datagrid/src/filter/filter.js","webpack:///./packages/oui-datagrid/src/filter/comparator-resolver.js","webpack:///./node_modules/lodash/negate.js","webpack:///./node_modules/lodash/endsWith.js","webpack:///./node_modules/lodash/_baseToString.js","webpack:///./packages/oui-datagrid/src/filter/basic.js","webpack:///./packages/oui-datagrid/src/filter/date.js","webpack:///./node_modules/lodash/isNaN.js","webpack:///./node_modules/lodash/isNumber.js","webpack:///./node_modules/lodash/isDate.js","webpack:///./node_modules/lodash/_baseIsDate.js","webpack:///./node_modules/lodash/_baseUnary.js","webpack:///./node_modules/lodash/_nodeUtil.js","webpack:///./packages/oui-datagrid/src/filter/number.js","webpack:///./node_modules/escape-string-regexp/index.js","webpack:///./packages/oui-datagrid/src/paging/datagrid-remote-paging.js","webpack:///./packages/oui-datagrid/src/parameters/datagrid-parameters.component.js","webpack:///./packages/oui-datagrid/src/parameters/datagrid-parameters.controller.js","webpack:///./packages/oui-datagrid/src/parameters/datagrid-parameters.html","webpack:///./packages/oui-datagrid/src/datagrid.provider.js","webpack:///./packages/oui-datagrid/src/datagrid.service.js","webpack:///./packages/oui-navbar/src/index.js","webpack:///./packages/oui-navbar/src/keyboard-keys.constant.js","webpack:///./packages/oui-navbar/src/navbar.component.js","webpack:///./packages/oui-navbar/src/navbar.controller.js","webpack:///./packages/oui-navbar/src/navbar.html","webpack:///./packages/oui-navbar/src/navbar.provider.js","webpack:///./packages/oui-navbar/src/group/navbar-group.directive.js","webpack:///./packages/oui-navbar/src/group/navbar-group.controller.js","webpack:///./packages/oui-navbar/src/group/navbar-group.service.js","webpack:///./packages/oui-navbar/src/menu/navbar-menu.component.js","webpack:///./packages/oui-navbar/src/menu/navbar-menu.controller.js","webpack:///./packages/oui-navbar/src/menu/navbar-menu.html","webpack:///./packages/oui-navbar/src/navbar.service.js","webpack:///./packages/oui-modal/src/index.js","webpack:///./packages/oui-modal/src/modal.component.js","webpack:///./packages/oui-modal/src/modal.controller.js","webpack:///./packages/oui-modal/src/modal.html","webpack:///./packages/oui-field/src/index.js","webpack:///./packages/oui-field/src/field.component.js","webpack:///./packages/oui-field/src/field.controller.js","webpack:///./node_modules/core-js/library/fn/object/keys.js","webpack:///./node_modules/core-js/library/modules/es6.object.keys.js","webpack:///./packages/oui-field/src/field.html","webpack:///./packages/oui-field/src/field.provider.js","webpack:///./packages/oui-radio-group/src/radio-group.component.js","webpack:///./packages/oui-radio-toggle-group/src/index.js","webpack:///./packages/oui-radio-toggle-group/src/radio-toggle-group.component.js","webpack:///./packages/oui-select/src/index.js","webpack:///./packages/oui-select/src/ui-select.js","webpack:///./packages/oui-select/src/templates/choices.html","webpack:///./packages/oui-select/src/templates/match.html","webpack:///./packages/oui-select/src/templates/select.html","webpack:///./packages/oui-select/src/select.directive.js","webpack:///./packages/oui-select/src/select.controller.js","webpack:///./packages/oui-select/src/select.html","webpack:///./packages/oui-select-picker/src/index.js","webpack:///./packages/oui-select-picker/src/select-picker.component.js","webpack:///./packages/oui-select-picker/src/select-picker.controller.js","webpack:///./packages/oui-select-picker/src/select-picker.html","webpack:///./packages/oui-textarea/src/index.js","webpack:///./packages/oui-textarea/src/textarea.component.js","webpack:///./packages/oui-textarea/src/textarea.controller.js","webpack:///./packages/oui-textarea/src/textarea.html","webpack:///./packages/oui-textarea/src/textarea.provider.js","webpack:///./packages/oui-form-actions/src/index.js","webpack:///./packages/oui-form-actions/src/form-actions.component.js","webpack:///./packages/oui-form-actions/src/form-actions.controller.js","webpack:///./packages/oui-form-actions/src/form-actions.html","webpack:///./packages/oui-form-actions/src/form-actions.provider.js","webpack:///./packages/oui-search/src/index.js","webpack:///./packages/oui-search/src/search.component.js","webpack:///./packages/oui-search/src/search.controller.js","webpack:///./node_modules/lodash/debounce.js","webpack:///./node_modules/lodash/now.js","webpack:///./packages/oui-search/src/search.html","webpack:///./packages/oui-criteria-container/src/index.js","webpack:///./packages/oui-criteria-container/src/criteria-container.component.js","webpack:///./packages/oui-criteria-container/src/criteria-container.controller.js","webpack:///./packages/oui-criteria-adder/src/index.js","webpack:///./packages/oui-criteria-adder/src/criteria-adder.component.js","webpack:///./packages/oui-criteria-adder/src/criteria-adder.controller.js","webpack:///./packages/oui-criteria-adder/src/criteria-adder.html","webpack:///./packages/oui-criteria-adder/src/criteria-adder.provider.js","webpack:///./packages/oui-chips/src/index.js","webpack:///./packages/oui-chips/src/chips.component.js","webpack:///./packages/oui-chips/src/chips.controller.js","webpack:///./packages/oui-chips/src/chips.html","webpack:///./packages/oui-popover/src/index.js","webpack:///./packages/oui-popover/src/popover.component.js","webpack:///./packages/oui-popover/src/popover.controller.js","webpack:///./packages/oui-popover/src/popover.html","webpack:///./packages/oui-popover/src/popover-content.directive.js","webpack:///./packages/oui-popover/src/popover-content.html","webpack:///./packages/oui-popover/src/popover-trigger.directive.js","webpack:///./packages/oui-stepper/src/index.js","webpack:///./packages/oui-stepper/src/step-form/step-form.component.js","webpack:///./packages/oui-stepper/src/step-form/step-form.controller.js","webpack:///./packages/oui-stepper/src/step-form/step-form.html","webpack:///./packages/oui-stepper/src/stepper.component.js","webpack:///./packages/oui-stepper/src/stepper.controller.js","webpack:///./packages/oui-stepper/src/stepper.html","webpack:///./packages/oui-stepper/src/stepper.provider.js","webpack:///./packages/oui-skeleton/src/index.js","webpack:///./packages/oui-skeleton/src/skeleton.component.js","webpack:///./packages/oui-skeleton/src/skeleton.controller.js","webpack:///./packages/oui-skeleton/src/skeleton.html","webpack:///./packages/oui-clipboard/src/index.js","webpack:///./packages/oui-clipboard/src/clipboard.component.js","webpack:///./packages/oui-clipboard/src/clipboard.controller.js","webpack:///./node_modules/clipboard/dist/clipboard.js","webpack:///./packages/oui-clipboard/src/clipboard.html","webpack:///./packages/oui-clipboard/src/clipboard.provider.js","webpack:///./packages/oui-slideshow/src/index.js","webpack:///./packages/oui-slideshow/src/slideshow.component.js","webpack:///./packages/oui-slideshow/src/slideshow.controller.js","webpack:///./packages/oui-slideshow/src/slideshow.html","webpack:///./packages/oui-slideshow/src/slideshow-panel.component.js","webpack:///./packages/oui-slideshow/src/slideshow-panel.controller.js","webpack:///./packages/oui-slideshow/src/slideshow-panel.html","webpack:///./packages/oui-page-header/src/index.js","webpack:///./packages/oui-page-header/src/page-header.component.js","webpack:///./packages/oui-page-header/src/page-header.controller.js","webpack:///./packages/oui-page-header/src/page-header.html","webpack:///./packages/oui-tile/src/index.js","webpack:///./packages/oui-tile/src/tile.component.js","webpack:///./packages/oui-tile/src/tile.controller.js","webpack:///./packages/oui-tile/src/tile.html","webpack:///./packages/oui-tile/src/button/tile-button.component.js","webpack:///./packages/oui-tile/src/button/tile-button.controller.js","webpack:///./packages/oui-tile/src/button/tile-button.html","webpack:///./packages/oui-tile/src/definition/tile-definition.component.js","webpack:///./packages/oui-tile/src/definition/tile-definition.controller.js","webpack:///./packages/oui-tile/src/definition/tile-definition.html","webpack:///./packages/oui-guide-menu/src/index.js","webpack:///./packages/oui-guide-menu/src/guide-menu.component.js","webpack:///./packages/oui-guide-menu/src/guide-menu.controller.js","webpack:///./packages/oui-guide-menu/src/guide-menu.html","webpack:///./packages/oui-header-tabs/src/index.js","webpack:///./packages/oui-header-tabs/src/header-tabs.component.js","webpack:///./packages/oui-header-tabs/src/header-tabs.controller.js","webpack:///./node_modules/babel-runtime/core-js/get-iterator.js","webpack:///./node_modules/core-js/library/fn/get-iterator.js","webpack:///./node_modules/core-js/library/modules/core.get-iterator.js","webpack:///./packages/oui-header-tabs/src/header-tabs.html","webpack:///./packages/oui-header-tabs/src/header-tabs-dropdown.component.js","webpack:///./packages/oui-header-tabs/src/header-tabs-dropdown.controller.js","webpack:///./packages/oui-header-tabs/src/header-tabs-dropdown.html","webpack:///./packages/oui-header-tabs/src/header-tabs-item.component.js","webpack:///./packages/oui-header-tabs/src/header-tabs-item.controller.js"],"names":["modules","__webpack_require__","moduleId","installedModules","exports","module","i","l","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","default","instance","Constructor","TypeError","_defineProperty","_defineProperty2","obj","defineProperties","target","props","length","descriptor","writable","key","protoProps","staticProps","addBooleanParameter","controller","parameterName","angular","isDefined","$attrs","addDefaultParameter","defaultValue","trim","hasAttribute","element","attributeName","getAttribute","hasAttributeValue","attribute","value","core","version","__e","store","uid","Symbol","USE_SYMBOL","global","ctx","hide","has","$export","type","source","own","out","IS_FORCED","F","IS_GLOBAL","G","IS_STATIC","S","IS_PROTO","P","IS_BIND","B","IS_WRAP","W","expProto","undefined","C","a","b","this","arguments","apply","Function","virtual","R","U","window","Math","self","__g","anObject","IE8_DOM_DEFINE","toPrimitive","dP","f","O","Attributes","e","isObject","it","isArray","Array","createDesc","exec","IObject","defined","bitmap","isObjectLike","$keys","enumBugKeys","keys","assocIndexOf","array","eq","objectToString","nativeObjectToString","objectProto","toString","__webpack_exports__","microtaskDebounce","fn","called","Promise","resolve","then","taskDebounce","scheduled","setTimeout","timeoutDuration","isFunction","functionToCheck","getType","getStyleComputedProperty","nodeType","css","getComputedStyle","getParentNode","nodeName","parentNode","host","getScrollParent","document","body","ownerDocument","_getStyleComputedProp","overflow","overflowX","test","overflowY","isIE","isIE11","isIE10","getOffsetParent","documentElement","noOffsetParent","offsetParent","nextElementSibling","indexOf","isOffsetContainer","firstElementChild","getRoot","node","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","start","end","range","createRange","setStart","setEnd","commonAncestorContainer","contains","element1root","getScroll","side","upperSide","html","scrollingElement","includeScroll","rect","subtract","scrollTop","scrollLeft","modifier","top","bottom","left","right","getBordersSize","styles","axis","sideA","sideB","parseFloat","getSize","computedStyle","max","getWindowSizes","height","width","getClientRect","offsets","_extends","getBoundingClientRect","result","sizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","offsetHeight","getOffsetRectRelativeToArbitraryNode","children","parent","fixedPosition","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","getViewportOffsetRectRelativeToArtbitraryNode","excludeScroll","relativeOffset","innerWidth","innerHeight","isFixed","getFixedPositionOffsetParent","parentElement","el","getBoundaries","popper","reference","padding","boundariesElement","boundaries","boundariesNode","_getWindowSizes","getArea","_ref","computeAutoPlacement","placement","refRect","rects","sortedAreas","map","area","sort","filteredAreas","filter","_ref2","computedPlacement","variation","split","getReferenceOffsets","state","getOuterSizes","x","marginBottom","y","marginRight","getOppositePlacement","hash","replace","matched","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","find","arr","check","findIndex","prop","cur","match","runModifiers","modifiers","data","ends","slice","forEach","console","warn","enabled","update","isDestroyed","arrowStyles","attributes","flipped","options","positionFixed","flip","originalPlacement","position","isCreated","onUpdate","onCreate","isModifierEnabled","modifierName","some","getSupportedPropertyName","prefixes","upperProp","charAt","toUpperCase","prefix","toCheck","style","destroy","removeAttribute","willChange","disableEventListeners","removeOnDestroy","removeChild","getWindow","defaultView","attachToScrollParents","event","callback","scrollParents","isBody","addEventListener","passive","push","setupEventListeners","updateBound","scrollElement","eventsEnabled","enableEventListeners","scheduleUpdate","removeEventListeners","removeEventListener","cancelAnimationFrame","isNumeric","isNaN","isFinite","setStyles","unit","setAttributes","setAttribute","applyStyle","arrowElement","applyStyleOnLoad","modifierOptions","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","floor","round","prefixedProperty","invertTop","invertLeft","x-placement","arrow","isModifierRequired","requestingName","requestedName","requesting","isRequired","_requesting","requested","_data$offsets$arrow","querySelector","_data$offsets","isVertical","len","sideCapitalized","toLowerCase","altSide","opSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","min","getOppositeVariation","clockwise","counter","index","validPlacements","concat","reverse","placementOpposite","flipOrder","behavior","BEHAVIORS","FLIP","CLOCKWISE","COUNTERCLOCKWISE","step","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariation","flipVariations","keepTogether","toValue","str","parseOffset","offset","basePlacement","useHeight","fragments","frag","divider","search","splitRegex","ops","op","mergeWithPrevious","reduce","index2","preventOverflow","transformProp","popperStyles","transform","priority","primary","escapeWithReference","secondary","shift","shiftvariation","shiftOffsets","bound","inner","subtractLength","isBrowser","longerTimeoutBrowsers","navigator","userAgent","supportsMicroTasks","debounce","MSInputMethodContext","documentMode","classCallCheck","createClass","assign","placements","onLoad","Defaults","Popper","_this","requestAnimationFrame","bind","jquery","Utils","PopperUtils","_interopRequireDefault","_classCallCheck2","_classCallCheck3","_createClass2","_createClass3","$element","$timeout","$inject","addClass","attr","id","px","random","propertyIsEnumerable","path","baseGet","identity","aFunction","that","val","valueOf","baseMerge","createAssigner","merge","srcIndex","ListCache","entries","clear","entry","set","listCacheClear","listCacheDelete","listCacheGet","listCacheHas","listCacheSet","other","baseAssignValue","freeGlobal","freeSelf","root","overArg","func","arg","_radioComponent","_radioComponent2","component","_dropdownItem","_dropdownItem2","_dropdownItem3","_dropdownItem4","template","bindings","text","ariaLabel","href","stateParams","disabled","external","onClick","$at","String","iterated","_t","_i","point","done","ceil","dPs","IE_PROTO","Empty","createDict","iframeDocument","iframe","display","appendChild","src","contentWindow","open","write","lt","close","create","Properties","shared","def","TAG","tag","stat","getOwnPropertySymbols","isKey","isSymbol","reIsPlainProp","reIsDeepProp","LIBRARY","wksExt","$Symbol","is","createElement","assignMergeValue","webpackPolyfill","deprecate","paths","g","eval","getPrototype","getPrototypeOf","stubFalse","isArrayLike","isLength","baseGetTag","funcTag","genTag","asyncTag","proxyTag","MAX_SAFE_INTEGER","safeGet","nativeKeysIn","_dropdownGroup","_dropdownGroup2","label","transclude","baseClamp","number","lower","upper","_from","_from2","arr2","redefine","Iterators","$iterCreate","setToStringTag","ITERATOR","BUGGY","returnThis","Base","NAME","next","DEFAULT","IS_SET","FORCED","methods","IteratorPrototype","getMethod","kind","proto","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","values","toIObject","arrayIndexOf","names","cof","toInteger","toObject","ObjectProto","constructor","classof","getIteratorMethod","createFind","baseIteratee","baseMatchesProperty","baseMatches","baseIsEqual","bitmask","customizer","stack","baseIsEqualDeep","isStrictComparable","nativeKeys","matchesStrictComparable","srcValue","castPath","toKey","stringToPath","predicate","fromIndex","nativeMax","baseFindIndex","hasProperty","theObject","fails","KEY","exp","_typeof2","_typeof3","ReferenceError","_iterator","_iterator2","_symbol","_symbol2","_typeof","TO_STRING_TAG","DOMIterables","Collection","hiddenKeys","getOwnPropertyNames","pIE","gOPD","getOwnPropertyDescriptor","_setPrototypeOf","_setPrototypeOf2","_create","_create2","subClass","superClass","__proto__","_assign","_assign2","_util","DatagridPagingAbstract","columns","currentSorting","pageSize","rowLoader","pagingService","criteria","$q","orderByFilter","preventLoadingRows","cachedPageResult","cachedPageResultPristine","totalCount","columnName","dir","selectedColumn","getColumn","sortProperty","rows","all","row","loadRowData","when","isRowLoaded","$promise","$row","fullRow","finally","column","loadRows","_escapeStringRegexp","_escapeStringRegexp2","StringComparators","haystack","needle","testString","escapedNeedle","regexp","RegExp","_radioGroupComponent","_radioGroupComponent2","_class","$scope","$id","_this2","model","onChange","modelValue","_buttonComponent","_buttonComponent2","_button","_button2","_button3","_button4","variant","variantNav","_componentUtils","isUndefined","removeAttr","$Object","desc","_calendarComponent","_calendarComponent2","_calendar","_calendar2","provider","_calendar3","_calendar4","placeholder","mode","format","altFormat","appendToBody","inline","maxDate","minDate","disableDate","enableDate","required","weekNumbers","onClose","onOpen","_flatpickr","_flatpickr2","ouiCalendarConfiguration","locale","copy","flatpickr","setDate","hooks","hook","selectedDates","dateStr","setOptionsProperty","appendTo","wrapper","setEventHooks","initCalendarInstance","_this3","factory","wait","immediate","timeout","context","args","clearTimeout","compareDates","date1","date2","timeless","Date","getTime","setHours","toggleClass","elem","className","bool","classList","add","remove","content","textContent","clearNode","firstChild","findParent","condition","createNumberInput","inputClassName","opts","numInput","arrowUp","arrowDown","pattern","FlatpickrInstance","instanceConfig","setupHelperFunctions","utils","getDaysInMonth","month","yr","currentMonth","currentYear","l10n","daysInMonth","bindToInstance","setCalendarWidth","config","showMonths","noCalendar","calendarContainer","visibility","daysContainer","daysWidth","days","weekWrapper","removeProperty","updateTime","timeWrapper","setHoursFromInputs","updateValue","_debouncedChange","ampm2military","hour","amPM","int","military2ampm","hourElement","minuteElement","hours","parseInt","minutes","seconds","secondElement","limitMinHours","minTime","minDateHasTime","latestSelectedDateObj","maxTime","maxDateHasTime","getHours","getMinutes","getSeconds","setHoursFromDate","dateObj","date","setDefaultHours","defaultHour","defaultMinute","defaultSeconds","min_hr","min_minutes","max_hr","max_minutes","isMobile","pad","time_24hr","onYearInput","year","delta","changeYear","handler","ev","_handlers","evt","which","triggerChange","triggerEvent","bindEvents","wrap","querySelectorAll","setupMobile","debouncedResize","onResize","DEBOUNCED_CHANGE_MS","onMouseOver","onKeyDown","static","_input","ontouchstart","documentClick","capture","clickOpens","monthNav","onMonthNavClick","selectDate","timeContainer","selText","select","timeIncrement","jumpToDate","jumpDate","jumpTo","parseDate","now","getFullYear","getMonth","message","errorHandler","redraw","incrementNumInput","inputElem","input","createEvent","dispatchEvent","build","fragment","createDocumentFragment","tabIndex","buildMonthNav","innerContainer","_buildWeeks","buildWeeks","rContainer","buildWeekdays","buildDays","enableTime","buildTime","animate","customAppend","insertBefore","nextSibling","altInput","createDay","dayNumber","dateIsEnabled","isEnabled","dayElement","getDate","$i","formatDate","ariaDateFormat","todayDateElem","isDateSelected","selectedDateElem","isDateInRange","insertAdjacentHTML","getWeek","focusOnDayElem","targetNode","focus","getFirstAvailableDay","startMonth","endMonth","startIndex","endIndex","getNextAvailableDay","current","givenMonth","loopDelta","numMonthDays","abs","changeMonth","focusOnDay","dayFocused","isInView","activeElement","startElem","buildMonthDays","firstOfMonth","getDay","firstDayOfWeek","prevMonthDays","isMultiMonth","prevMonthDayClass","nextMonthDayClass","dayIndex","dayNum","dayContainer","setMonth","buildMonth","container","monthNavFragment","monthElement","title","scrollTitle","yearInput","tabindex","yearElement","childNodes","yearAriaLabel","buildMonths","prevMonthNav","yearElements","monthElements","nextMonthNav","innerHTML","prevArrow","nextArrow","__hidePrevMonthArrow","__hideNextMonthArrow","currentYearElement","updateNavigationCurrentMonth","separator","hourInput","minuteInput","hourIncrement","minuteIncrement","enableSeconds","secondInput","toggleTitle","weekdayContainer","updateWeekdays","weekdays","shorthand","splice","join","weekAbbreviation","is_offset","_hidePrevMonthArrow","_hideNextMonthArrow","triggerChangeEvent","mobileInput","showTimeInput","isOpen","h","_type","k","_","isCalendarElem","isCalendarElement","isInput","lostFocus","relatedTarget","isIgnored","ignoredFocusElements","newYear","newYearNum","isNewYear","dateToCheck","enable","disable","parsed","from","to","allowInput","allowKeydown","allowInlineKeydown","keyCode","dateFormat","blur","isTimeObj","preventDefault","focusAndClose","_delta","ctrlKey","elems","shiftKey","hoverDate","initialDate","rangeStartDate","rangeEndDate","containsDisabled","minRange","maxRange","t","duration","DAY","prevMonth","dayElem","timestamp","outOfRange","lastChild","isBetween","positionCalendar","positionElement","wasOpen","minMaxDateSetter","inverseDateObj","parseConfig","boolOpts","userConfig","JSON","parse","stringify","dataset","formats$$1","_enable","dates","parseDateRules","_disable","timeMode","defaultConfig","_minDate","_maxDate","minMaxTimeSetter","_minTime","_maxTime","arrayify","disableMobile","_i2","plugins","pluginConf","setupLocale","l10ns","Error","tokenRegex","K","createDateFormatter","customPositionElement","_positionElement","calendarHeight","acc","child","calendarWidth","configPos","configPosVertical","configPosHorizontal","inputBounds","distanceFromBottom","showOnTop","pageYOffset","pageXOffset","rightMost","msMaxTouchPoints","stopPropagation","isSelectable","day","selectedDate","shouldChangeMonth","selectedIndex","closeOnSelect","single","option","CALLBACKS","setSelectedDate","inputDate","conjunction","rangeSeparator","rule","setupDates","preloadedDate","defaultDate","_showTimeInput","setupInputs","altInputClass","inputType","mobileFormatStr","_a","toggle","initEvent","monthToStr","shorthandCurrentMonth","joinChar","dObj","isPrevMonth","isNextMonth","isKeyDown","curValue","newValue","isHourElem","isMinuteElem","english","createDateParser","_bind","_setHoursFromDate","_positionCalendar","_createElement","isSafari","nodeList","nodes","instances","error","do_nothing","monthNumber","months","revFormat","D","monthName","longhand","H","J","M","shortMonth","setSeconds","unixSeconds","weekNum","weekNumber","Y","setFullYear","Z","ISODate","setMinutes","j","w","formats","toISOString","ordinal","substring","nth","_ref$config","defaults","_ref$l10n","frmt","overrideLocale","_ref2$config","_ref2$l10n","givenFormat","parsedDate","date_orig","toFixed","datestr","matchIndex","regexStr","token","isBackSlash","escaped","_ref3","givenDate","week1","ts","ts1","ts2","err","onDayCreate","onDestroy","onMonthChange","onParseConfig","onReady","onValueUpdate","onYearChange","onPreCalendarPosition","_len","_key","HTMLElement","HTMLCollection","NodeList","selector","en","localize","setDefaults","jQuery","fp_incr","_merge2","_merge3","baseFor","Stack","baseMergeDeep","keysIn","__data__","size","pop","arrayProto","getNative","getValue","createBaseFor","fromRight","iteratee","keysFunc","iterable","mergeFunc","objValue","stacked","isCommon","isArr","isBuff","isBuffer","isTyped","isTypedArray","isArrayLikeObject","copyArray","cloneBuffer","cloneTypedArray","isPlainObject","isArguments","toPlainObject","initCloneObject","buffer","isDeep","allocUnsafe","freeExports","freeModule","moduleExports","Buffer","typedArray","cloneArrayBuffer","byteOffset","arrayBuffer","byteLength","Uint8Array","isPrototype","baseCreate","objectCreate","objectTag","Ctor","funcToString","objectCtorString","funcProto","copyObject","isNew","assignValue","assigner","baseRest","sources","guard","isIterateeCall","setToString","overRest","otherArgs","thisArg","fp","Czech","cs","German","de","Spanish","es","Finnish","fi","French","fr","Italian","Lithuanian","Dutch","nl","Polish","pl","Portuguese","pt","Slovak","sk","_checkboxComponent","_checkboxComponent2","_checkbox","_checkbox2","_checkbox3","_checkbox4","description","checkboxElement","$watch","_updateIndeterminateState","_collapsibleComponent","_collapsibleComponent2","_collapsibleController","_collapsibleController2","_collapsible","_collapsible2","heading","expanded","$window","newHeight","oldHeight","wrapperHeight","on","$apply","_radio","_radio2","_radio3","_radio4","require","radioGroup","radioToggleGroup","thumbnail","group","setModelValue","_messageComponent","_messageComponent2","_message","_message2","_message3","_message4","ariaCloseButtonLabel","dismissable","onDismissed","dismissed","_spinnerComponent","_spinnerComponent2","_spinner","_spinner2","_spinner3","_spinner4","_backButtonComponent","_backButtonComponent2","_backButton","_backButton2","_backButton3","_backButton4","history","back","_dropdownComponent","_dropdownComponent2","_dropdownContentDirective","_dropdownContentDirective2","_dropdownDividerComponent","_dropdownDividerComponent2","_dropdownGroupComponent","_dropdownGroupComponent2","_dropdownItemComponent","_dropdownItemComponent2","_dropdownTriggerDirective","_dropdownTriggerDirective2","directive","_dropdown","_dropdown2","align","persistent","_popper","_popper2","$document","isDropdownOpen","hasFocus","currentFocusedElement","documentClickHandler","triggerElement","popperElement","closeDropdown","triggerKeyHandler","triggerBlurHandler","off","destroyPopper","trigger","ctrl","triggerCtrl","menu","openDropdown","updatePopper","afterOpen","afterClose","minWidth","getTriggerWidth","createPopper","restrict","scope","link","attrs","prepend","setDropdownMenu","_stringify","_stringify2","linkTarget","linkRel","sticky","$JSON","_dropdownTrigger","_dropdownTrigger2","dropdown","controllerAs","bindToController","$compile","tagName","clone","replaceWith","$trigger","aria-haspopup","aria-expanded","onTriggerClick","setDropdownTrigger","_actionMenuComponent","_actionMenuComponent2","_dropdownDivider","_dropdownDivider2","_actionMenuController","_actionMenuController2","_actionMenu","_actionMenu2","compact","_tooltip","_tooltip2","tooltipScope","extend","$new","$tooltipCtrl","tooltipTemplate","one","after","tooltip","_numericComponent","_numericComponent2","_numeric","_numeric2","_numeric3","_numeric4","_clamp2","_clamp3","$log","isNumber","previousValue","clamp","toNumber","_pagination","_pagination2","_pagination3","_pagination4","currentOffset","pageSizeMax","totalItems","_toConsumableArray2","_toConsumableArray3","ouiPaginationConfiguration","pageSizeList","changes","processPaginationChange","processTranslations","pageCount","getPageCount","pageRange","getPageRange","currentPage","getCurrentPage","translations","ofNResults","currentPageOfPageCount","page","_onChange","item","$event","TO_STRING","pos","charCodeAt","getKeys","toLength","toAbsoluteIndex","IS_INCLUDES","$this","isArrayIter","createProperty","getIterFn","iter","arrayLike","iterator","aLen","mapfn","mapping","iterFn","ret","ArrayProto","$defineProperty","ARG","tryGet","T","callee","SAFE_CLOSING","riter","skipClosing","safe","gOPS","$assign","A","getSymbols","isEnum","resultsPerPage","previousPage","nextPage","_cell","_cell2","_datagrid","_datagrid2","_datagridColumnBuilder","_datagridColumnBuilder2","_extraTop","_extraTop2","_datagridPaging","_datagridPaging2","_datagridParameters","_datagridParameters2","_datagrid3","_datagrid4","_datagrid5","_datagrid6","service","datagridCtrl","cellScope","getParentScope","_compileCell","isFirstChange","$column","$value","compiledTemplate","empty","append","columnsDescription","columnsParameters","customizable","rowsLoader","onColumnsParametersChange","compile","elm","htmlContent","tableCtrl","_defineProperty3","_find2","_find3","DatagridController","$transclude","ouiDatagridPaging","ouiDatagridColumnBuilder","ouiDatagridConfiguration","ouiDatagridService","columnElements","actionColumnElements","extraTopElements","checkScroll","panel","scrollablePanel","scrollWidth","scrollBegin","scrollEnd","hasActionMenu","firstLoading","filterableColumns","registerDatagrid","originalContent","filterElements","builtColumns","buildColumns","previousRows","paging","createRemote","refreshData","setOffset","createLocal","setRows","isSearchTextVisible","searchable","filterable","equals","unregisterDatagrid","_this4","buildFromJs","actionColumn","buildActionColumn","extraTopCompiledTemplate","hasExtraTopContent","availableColumns","customColumn","hidden","disableWatcher","buildTitle","rawTitle","newTitle","cleanColumn","$parent","_this5","appliedCriteria","criterion","preview","setCriteria","_this6","setPageSize","_this7","scrollIntoView","skipSortAndFilter","requireScrollToTop","hideLoader","forceLoadRows","_this8","loading","displayedRows","createEmptyRows","getCurrentPageSize","refreshDatagridPromise","noop","loadData","scrollToTop","_this9","sortable","setSort","getSortColumnName","isSortAsc","isSortDesc","elements","tagNameUpper","filteredElements","findIndexFunc","collection","matchData","getMatchData","baseIsMatch","noCustomizer","COMPARE_PARTIAL_FLAG","COMPARE_UNORDERED_FLAG","equalFunc","objIsArr","othIsArr","objTag","arrayTag","getTag","othTag","argsTag","objIsObj","othIsObj","isSameTag","equalArrays","equalByTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","equalObjects","isPartial","arrLength","othLength","seen","SetCache","arrValue","othValue","compared","arraySome","othIndex","cacheHas","castArray","arrayIncludes","baseIndexOf","strictIndexOf","objProps","getAllKeys","objLength","skipCtor","objCtor","othCtor","hasIn","memoizeCapped","rePropName","reEscapeChar","string","quote","subString","hasPath","baseHasIn","hasFunc","isIndex","reIsUint","baseProperty","basePropertyDeep","copyValueProperties","searchableTypes","filterableTypes","DatagridColumnBuilder","$parse","columnElement","propertyValue","sortableValue","defineDefaultSorting","propertyName","isFilterable","isSearchable","typeOptions","preventCustomization","titleValue","htmlTemplate","_getColumnTemplate","columnDescription","actionColumnElement","outerHTML","alwaysVisible","defaultSortDir","extraTopScope","_compileElement","_datagridLocalPaging","_datagridLocalPaging2","_datagridRemotePaging","_datagridRemotePaging2","sorting","_getPrototypeOf","_getPrototypeOf2","_possibleConstructorReturn2","_possibleConstructorReturn3","_inherits2","_inherits3","_datagridPagingAbstract","_datagridPagingAbstract2","_filter2","_filter3","DatagridLocalPaging","_DatagridPagingAbstra","cachedRows","_filter","_sort","sortedRows","meta","pageResult","loadRowsData","filteredRows","applyFilter","sortConfiguration","getSortingConfiguration","$getPrototypeOf","addToUnscopables","_k","Arguments","DESCRIPTORS","META","$fails","wks","wksDefine","enumKeys","gOPNExt","$GOPD","$DP","gOPN","HIDDEN","TO_PRIMITIVE","SymbolRegistry","AllSymbols","OPSymbols","USE_NATIVE","QObject","setter","findChild","setSymbolDesc","protoDesc","sym","$defineProperties","$create","$propertyIsEnumerable","E","$getOwnPropertyDescriptor","$getOwnPropertyNames","$getOwnPropertySymbols","IS_OP","$set","es6Symbols","wellKnownSymbols","for","keyFor","useSetter","useSimple","replacer","$replacer","setDesc","isExtensible","FREEZE","preventExtensions","setMeta","fastKey","getWeak","onFreeze","NEED","symbols","windowNames","getWindowNames","setPrototypeOf","buggy","_get2","_get3","_comparatorResolver","_comparatorResolver2","_string","_string2","Filter","searchableColumns","_getSearchableColumns","filtered","applyCriteria","operator","itemContainsText","propertyMeta","comparatorFn","resolveComparator","subject","aggregator","_negate2","_negate3","_endsWith2","_endsWith3","_basic","_basic2","_date","_date2","_number","_number2","comparators","boolean","ComparatorResolver","baseOperator","negated","comparator","negate","FUNC_ERROR_TEXT","endsWith","baseToString","BooleanComparators","_isNaN2","_isNaN3","_isDate2","_isDate3","DateComparators","transformDate","daydate","rawDate","normalizeDate","numberTag","baseIsDate","baseUnary","nodeUtil","nodeIsDate","isDate","dateTag","freeProcess","process","binding","NumberComparators","matchOperatorsRe","DatagridRemotePaging","skipSort","$config","_datagridParameters3","_datagridParameters4","DatagridParametersController","computeColumns","customizedColumns","visible","columnIndex","isVisible","changedColumns","emptyPlaceholder","DatagridService","datagrids","datagridController","datagridId","showSpinner","_keyboardKeys","_keyboardKeys2","_navbar","_navbar2","_navbarProvider","_navbarProvider2","_navbarGroup","_navbarGroup2","_navbarGroup3","_navbarGroup4","_navbarMenu","_navbarMenu2","_navbar3","_navbar4","constant","ALT","TAB","ESC","brand","activeLink","mainLinks","asideLinks","togglerLinks","fixed","ouiNavbarConfiguration","NavbarService","KEYBOARD_KEYS","navbarService","isInternalNav","navigation","toggleMenu","togglerLoaded","updateLinks","currentValue","notification","errorInNotification","errorInNotificationDescription","markRead","markUnread","noNotification","noNotificationDescription","groupName","isLast","NavbarGroupService","navbarGroupService","ouiNavbarGroupLast","addItemToGroup","bindGroup","keyboardNav","keysRegex","tabbableItems","lastIndex","focusElement","groupIndex","_navbarMenu3","_navbarMenu4","backButton","childrenClass","headerBreadcrumb","headerClass","headerTitle","menuLinks","menuName","prev","previousElementSibling","setFocusTo","_modalComponent","_modalComponent2","_modal","_modal2","_modal3","_modal4","primaryAction","primaryLabel","secondaryAction","secondaryLabel","onDismiss","_fieldComponent","_fieldComponent2","_fieldProvider","_fieldProvider2","_fieldController","_fieldController2","_field","_field2","helpText","errorMessages","labelPopover","form","_keys","_keys2","CONTROLS_SELECTORS","VALIDATION_PARAMETERS","minlength","maxlength","MESSAGES_ORDER","FieldController","ouiFieldConfiguration","controlElements","controls","currentErrorField","ids","validationParameters","invalid","invalidOnBlur","getAllControls","$ouiFieldElement","namedControls","control","hasClass","bindDOMEvents","getValidationParameters","$broadcast","popoverId","controlElement","checkControlErrors","hideErrors","$invalid","$touched","checkAllErrors","$submitted","fieldInvalid","controlInvalid","$error","getFirstError","errorName","errors","getMessageString","parameterValue","controlsSelector","validationName","email","_radioGroup","_radioGroup2","_radioToggleGroupComponent","_radioToggleGroupComponent2","_select","_select2","isNil","ENTER","SPACE","LEFT","UP","RIGHT","DOWN","SHIFT","CTRL","PAGE_UP","PAGE_DOWN","HOME","END","BACKSPACE","DELETE","COMMAND","MAP","91","8","9","13","16","17","18","19","20","27","32","33","34","35","36","37","38","39","40","43","44","45","46","48","49","50","51","52","53","54","55","56","57","59","61","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","96","97","98","99","100","101","102","103","104","105","106","107","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","144","145","186","187","188","189","190","191","192","219","220","221","222","isControl","metaKey","altKey","isFunctionKey","isVerticalMovement","isHorizontalMovement","toSeparator","sep","closest","matchesSelector","matches","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","latestId","uis","theme","searchEnabled","refreshDelay","skipFocusser","dropdownPosition","removeSelected","resetSearchInput","generateId","spinnerEnabled","spinnerClass","backspaceReset","minErr","$$minErr","escapeRegexp","queryToEscape","matchItem","query","boundingClientRect","debounceTime","timeoutPromise","cancel","uiSelectConfig","RepeatParser","uiSelectMinErr","templateUrl","tElement","tAttrs","repeat","groupByExp","groupBy","groupFilterExp","groupFilter","groups","getGroupNgRepeatExpression","parserResult","choices","repeatExpression","rowsInner","itemName","$select","parseRepeatAttr","disableChoiceExpression","uiDisableChoice","onHighlightCallback","onHighlight","minimumInputLength","multiple","activate","activeIndex","tagging","isActivated","refresh","items","$observe","$eval","$filter","$$uisDebounce","$injector","_findIndex","list","_resetSearchInput","EMPTY_SEARCH","selected","_groupsFilter","groupNames","referenceElement","_updateItemDisabled","isDisabled","disabledItemIndex","disabledItems","_isItemDisabled","_initaliseLockedChoices","doInitalise","_updateItemLocked","isLocked","lockedItemIndex","lockedItems","_isItemlocked","itemScope","itemIndex","lockChoiceExpression","_handleDropDownSelection","processed","idx","minActiveIndex","idxmin","_ensureHighlightVisible","highlighted","posY","offsetTop","isGrouped","paste","refreshing","focusser","fct","taggingTokens","tokens","clickTriggeredSelect","$animate","searchInput","isEmpty","initSearchValue","avoidReset","taggingLabel","animateHandler","phase","focusSearchInput","findGroupByName","repeatAttr","updateGroups","groupFn","groupFilterFn","setPlainItems","setItemsFn","itemProperty","originalSource","createArrayFromObject","origSrc","$uisSource","v","keyName","filters","newVal","oldVal","refreshItems","selectedItems","filteredItems","every","selectedItem","calculateDropdownPos","$watchCollection","ngModel","$modelValue","_refreshDelayPromise","refreshAttr","refreshPromise","isActive","_isItemSelected","selection","isSelected","$item","isTag","$setTouched","setFocus","focusInput","sizeWatch","updaterScheduled","sizeSearchInput","calculateContainerWidth","updateIfVisible","containerWidth","inputWidth","offsetLeft","$$postDigest","keydownHandler","tagged","triggerHandler","newItem","clipboardData","getData","originalEvent","oldsearch","$on","generatedId","uisOffset","ngClass","combined","inputId","ctrls","transcludeFn","onDocumentClick","focusableControls","targetController","$digest","positionDropdown","originalWidth","resetDropdown","baseTitle","focusserTitle","focusserId","onSelectCallback","onSelect","onRemoveCallback","onRemove","onBlurCallback","onBlur","onFocusCallback","onFocus","choiceGrouped","limit","taggingEval","autofocus","focusOn","transcluded","transcludedMatch","transcludedChoices","transcludedNoChoice","setDropdownPosUp","offsetDropdown","setDropdownPosDown","removeClass","calculateDropdownPosAfterAnimation","opacity","opened","needsCalculated","setAllowClear","allow","allowClear","uiLockChoice","$evalAsync","activeMatchIndex","updateModel","$setViewValue","refreshComponent","removeChoice","removedChoice","locals","$model","modelMapper","getPlaceholder","_getCaretPosition","selectionStart","_handleMatchSelection","caretPosition","last","curr","$selectMultiple","newIndex","_findCaseInsensitiveDupe","origItem","_findApproxDupe","dupeIndex","tempArr","mockObj","$isEmpty","$parsers","unshift","resultMultiple","$formatters","inputValue","checkFnMultiple","trackByExp","propsItemNameMatches","oldValue","$render","$viewValue","tagItems","tagItem","stashArr","hasTag","itemsWithoutTag","getDropdownTrigger","checkFnSingle","uiSelectSort","$ngModel","uiSelectSortOptions","dataTransfer","setData","$index","dropTimeout","move","dragOverHandler","offsetY","layerY","offsetX","layerX","dropHandler","droppedItemIndex","_dropHandler","theList","itemToMove","$emit","onOpenCloseCallback","uisOpenClose","previousState","expression","filterMatch","grouped","run","$templateCache","put","_select3","_select4","fieldCtrl","selectCtrl","itemTemplate","$template","choicesElement","$htmlContent","matchElement","uiSelectElement","uiSelectDropdownTrigger","unregisterFocus","_selectPickerComponent","_selectPickerComponent2","_selectPicker","_selectPicker2","_selectPicker3","_selectPicker4","sectionSlot","picture","SelectPickerController","getItemValue","labelElement","openSelectMenu","isImgPath","selectedValue","transcludeSection","isSlotFilled","$button","hasParentButton","onRadioModelChange","currentNode","_textareaComponent","_textareaComponent2","_textareaProvider","_textareaProvider2","_textarea","_textarea2","_textarea3","_textarea4","readonly","ouiTextareaConfiguration","$footer","textarea","updateErrorState","setDisabled","setReadonly","lengthCounter","focused","_formActions","_formActions2","_formActions3","_formActions4","_formActionsController","_formActionsController2","submitText","cancelText","onSubmit","onCancel","ouiFormActionsConfiguration","submit","_search","_search2","_search3","_search4","criteriaContainer","onReset","_debounce2","_debounce3","criterionDebounceDelay","SearchController","onCriterionChange","onCriterionSubmit","onCriterionReset","onSearchReset","$input","setPreviewCriterion","getCriterion","deletePreviewCriterion","invokeFunc","time","lastArgs","lastThis","lastInvokeTime","leadingEdge","timerId","timerExpired","leading","remainingWait","timeSinceLastCall","lastCallTime","timeSinceLastInvoke","timeWaiting","maxing","nativeMin","maxWait","shouldInvoke","trailingEdge","trailing","flush","debounced","isInvoking","_criteriaContainer","_criteriaContainer2","_findIndex2","_findIndex3","CriteriaController","criterionIndex","previewCriterion","previewCriterionIndex","indexOfCriterion","_criteriaAdder","_criteriaAdder2","_criteriaAdder3","_criteriaAdder4","properties","ouiCriteriaAdderConfiguration","operators","operatorsByType","valueModel","dropdownContent","columnModel","selectableOperators","filterSelectableOperators","operatorModel","resetValueModel","getCriterionValueLabel","getCriterionValue","getBooleanLabel","getOptionsLabel","true_label","false_label","booleanChoices","optionsChoices","localeCompare","initBooleanCriterion","initOptionsCriterion","column_label","operator_label","operator_boolean_is","operator_boolean_isNot","operator_string_contains","operator_string_containsNot","operator_string_startsWith","operator_string_endsWith","operator_string_is","operator_string_isNot","operator_number_is","operator_number_smaller","operator_number_bigger","operator_date_is","operator_date_isBefore","operator_date_isAfter","operator_options_is","operator_options_isNot","value_label","submit_label","_chipsComponent","_chipsComponent2","_chips","_chips2","_chips3","_chips4","closable","removed","_popoverComponent","_popoverComponent2","_popoverContent","_popoverContent2","_popoverTrigger","_popoverTrigger2","_popover","_popover2","_popover3","_popover4","PopoverController","isPopoverOpen","closePopover","openPopover","popover","_stepForm","_stepForm2","_stepper","_stepper2","_stepper3","_stepper4","_stepFormController","_stepFormController2","stepperCtrl","header","cancelHref","loadingText","skippable","valid","StepFormController","ouiStepperConfiguration","cancelButtonLabel","stepper","addStep","$valid","addForm","focusStep","$setPristine","_stepperController","_stepperController2","onInit","onFinish","forms","steps","currentIndex","nextStep","indexToFocus","optionalLabel","modifyThisStep","skipThisStep","nextButtonLabel","submitButtonLabel","_skeletonComponent","_skeletonComponent2","_skeleton","_skeleton2","_skeleton3","_skeleton4","randomized","randomWidth","_clipboardComponent","_clipboardComponent2","_clipboardProvider","_clipboardProvider2","_clipboard","_clipboard2","_clipboard3","_clipboard4","ouiClipboardConfiguration","tooltipText","copyToClipboardLabel","clipboard","selectInputText","copiedLabel","notSupported","selectionEnd","setSelectionRange","reset","click","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","_classCallCheck","_createClass","ClipboardAction","resolveOptions","initSelection","action","emitter","selectedText","selectFake","selectTarget","isRTL","removeFake","fakeHandlerCallback","fakeHandler","fakeElem","fontSize","border","margin","yPosition","copyText","succeeded","execCommand","handleResult","emit","clearSelection","getSelection","removeAllRanges","_action","_target","listen","listenNode","listenNodeList","listenSelector","delegate","once","listener","evtArr","evts","liveEvents","_clipboardAction","_tinyEmitter","_goodListener","_possibleConstructorReturn","_inherits","getAttributeValue","suffix","_clipboardAction2","_tinyEmitter2","_goodListener2","Clipboard","_Emitter","listenClick","defaultAction","defaultTarget","defaultText","delegateTarget","currentTarget","clipboardAction","actions","support","queryCommandSupported","DOCUMENT_NODE_TYPE","Element","oMatchesSelector","_delegate","useCapture","listenerFn","isReadOnly","selectNodeContents","addRange","_slideshow","_slideshow2","_slideshowPanel","_slideshowPanel2","_slideshow3","_slideshow4","loop","Direction","NEXT","PREV","themeClassname","_componentElement","_contentElement","_isSliding","isIllustrated","_isTouch","_client","_triggerKeyHandler","panels","_isIllustratedPanel","firstPanelElement","_setTouchEventListener","closeOnBoarding","_slide","active","slideTo","direction","isNextDirection","isPrevDirection","lastItemIndex","indexTo","slideType","activePanel","$activePanel","nextPanelIndex","_getIndexByDirection","nextPanel","$nextPanel","nextIsIllustrated","reflowElement","touches","clientX","clientY","xDiff","yDiff","_slideshowPanel3","_slideshowPanel4","_pageHeader","_pageHeader2","_pageHeaderController","_pageHeaderController2","guide","tabs","transcludeGuide","transcludeTabs","_tileComponent","_tileComponent2","_tileButtonComponent","_tileButtonComponent2","_tileDefinitionComponent","_tileDefinitionComponent2","_tile","_tile2","_tile3","_tile4","_tileButton","_tileButton2","_tileButton3","_tileButton4","_tileDefinition","_tileDefinition2","_tileDefinition3","_tileDefinition4","term","termPopover","descriptionSlot","actionSlot","transcludeAction","_guideMenu","_guideMenu2","_guideMenu3","_guideMenu4","_headerTabs","_headerTabs2","_headerTabsDropdown","_headerTabsDropdown2","_headerTabsItem","_headerTabsItem2","_headerTabs3","_headerTabs4","_getIterator2","_getIterator3","$interval","scroll","begin","_tabsElement","_checkScroll","_initialCheck","_scroll","activeTab","itemToGo","_findItemToGo","_scrollToItem","tabsList","tabsOffset","tabsStart","tabsEnd","itemGutter","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","itemStart","return","itemEnd","tabsWidth","screenEnd","getIterator","_headerTabsDropdown3","_headerTabsDropdown4","ouiHeaderTabsItemClass","itemCount","itemDisabledCount","hasActive","_headerTabsItem3","_headerTabsItem4"],"mappings":"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","file":"oui-angular.min.js","sourcesContent":["/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 111);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nexports.default = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _defineProperty = __webpack_require__(57);\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n (0, _defineProperty2.default)(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.addBooleanParameter = addBooleanParameter;\nexports.addDefaultParameter = addDefaultParameter;\nexports.hasAttribute = hasAttribute;\nexports.hasAttributeValue = hasAttributeValue;\nexports.getAttribute = getAttribute;\nfunction addBooleanParameter(controller, parameterName) {\n if (angular.isDefined(controller.$attrs[parameterName]) && controller.$attrs[parameterName] === \"\") {\n controller[parameterName] = true;\n }\n}\n\nfunction addDefaultParameter(controller, parameterName, defaultValue) {\n if (!angular.isDefined(controller.$attrs[parameterName]) || angular.isDefined(controller.$attrs[parameterName]) && controller.$attrs[parameterName].trim() === \"\") {\n controller[parameterName] = defaultValue;\n }\n}\n\nfunction hasAttribute(element, attributeName) {\n return element.getAttribute(attributeName) !== null || element.getAttribute(\"data-\" + attributeName) !== null;\n}\n\nfunction hasAttributeValue(element, attributeName) {\n var attribute = element.getAttribute(attributeName) || element.getAttribute(\"data-\" + attributeName);\n return attribute && attribute !== \"\";\n}\n\nfunction getAttribute(element, attributeName) {\n return element.getAttribute(attributeName) || element.getAttribute(\"data-\" + attributeName);\n}\n\nexports.default = {\n addBooleanParameter: addBooleanParameter,\n addDefaultParameter: addDefaultParameter,\n hasAttribute: hasAttribute,\n hasAttributeValue: hasAttributeValue,\n getAttribute: getAttribute\n};\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports) {\n\nvar core = module.exports = { version: '2.5.4' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar store = __webpack_require__(49)('wks');\nvar uid = __webpack_require__(27);\nvar Symbol = __webpack_require__(6).Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(6);\nvar core = __webpack_require__(3);\nvar ctx = __webpack_require__(31);\nvar hide = __webpack_require__(12);\nvar has = __webpack_require__(10);\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var IS_WRAP = type & $export.W;\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE];\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n var key, own, out;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n if (own && has(exports, key)) continue;\n // export native or passed\n out = own ? target[key] : source[key];\n // prevent global pollution for namespaces\n exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n // bind timers to global for call from export context\n : IS_BIND && own ? ctx(out, global)\n // wrap global constructors for prevent change them in library\n : IS_WRAP && target[key] == out ? (function (C) {\n var F = function (a, b, c) {\n if (this instanceof C) {\n switch (arguments.length) {\n case 0: return new C();\n case 1: return new C(a);\n case 2: return new C(a, b);\n } return new C(a, b, c);\n } return C.apply(this, arguments);\n };\n F[PROTOTYPE] = C[PROTOTYPE];\n return F;\n // make static versions for prototype methods\n })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n if (IS_PROTO) {\n (exports.virtual || (exports.virtual = {}))[key] = out;\n // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n }\n }\n};\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports) {\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(8);\nvar IE8_DOM_DEFINE = __webpack_require__(58);\nvar toPrimitive = __webpack_require__(32);\nvar dP = Object.defineProperty;\n\nexports.f = __webpack_require__(9) ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(13);\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !__webpack_require__(14)(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports) {\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(7);\nvar createDesc = __webpack_require__(17);\nmodule.exports = __webpack_require__(9) ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports) {\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = __webpack_require__(82);\nvar defined = __webpack_require__(44);\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports) {\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = __webpack_require__(81);\nvar enumBugKeys = __webpack_require__(50);\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.13 ToObject(argument)\nvar defined = __webpack_require__(44);\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(230), __esModule: true };\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar eq = __webpack_require__(35);\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports) {\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n\n\n/***/ }),\n/* 25 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* WEBPACK VAR INJECTION */(function(global) {/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.14.3\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nvar longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\nvar timeoutDuration = 0;\nfor (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n timeoutDuration = 1;\n break;\n }\n}\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var css = getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? html['offset' + axis] + computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')] + computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')] : 0);\n}\n\nfunction getWindowSizes() {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes() : {};\n var width = sizes.width || element.clientWidth || result.right - result.left;\n var height = sizes.height || element.clientHeight || result.bottom - result.top;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth, 10);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && parent.nodeName === 'HTML') {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop, 10);\n var marginLeft = parseFloat(styles.marginLeft, 10);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n return isFixed(getParentNode(element));\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n boundaries.left += padding;\n boundaries.top += padding;\n boundaries.right -= padding;\n boundaries.bottom -= padding;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var styles = getComputedStyle(element);\n var x = parseFloat(styles.marginTop) + parseFloat(styles.marginBottom);\n var y = parseFloat(styles.marginLeft) + parseFloat(styles.marginRight);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.
\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroy the popper\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicity asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger onUpdate callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n // Avoid blurry text by using full pixel integers.\n // For pixel-perfect positioning, top/bottom prefers rounded\n // values, while left/right prefers floored values.\n var offsets = {\n left: Math.floor(popper.left),\n top: Math.round(popper.top),\n bottom: Math.round(popper.bottom),\n right: Math.floor(popper.right)\n };\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n top = -offsetParentRect.height + offsets.bottom;\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n left = -offsetParentRect.width + offsets.right;\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.
\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjuction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.
\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.
\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-right` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var flippedVariation = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.
\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.
\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.
\n * It will read the variation of the `placement` property.
\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unitless, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.
\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the height.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.
\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.
\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > More on this [reading this issue](https://github.com/FezVrasta/popper.js/issues/373)\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * An scenario exists where the reference itself is not within the boundaries.
\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".
\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper this makes sure the popper has always a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier, can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near eachothers\n * without leaving any gap between the two. Expecially useful when the arrow is\n * enabled and you want to assure it to point to its reference element.\n * It cares only about the first axis, you can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjuction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations).\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position,\n * the popper will never be placed outside of the defined boundaries\n * (except if keepTogether is enabled)\n */\n boundariesElement: 'viewport'\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3d transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties.\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define you own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3d transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties.\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the informations used by Popper.js\n * this object get passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper.\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper, it expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow, it expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements.\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.
\n * These can be overriden using the `options` argument of Popper.js.
\n * To override an option, simply pass as 3rd argument an object with the same\n * structure of this object, example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.
\n * By default, is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated, this callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.
\n * By default, is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Create a new Popper.js instance\n * @class Popper\n * @param {HTMLElement|referenceObject} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper.\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedule an update, it will run on the next UI update available\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.
\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Popper);\n//# sourceMappingURL=popper.js.map\n\n/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(63)))\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n controller: function () {\n controller.$inject = [\"$element\", \"$timeout\"];\n function controller($element, $timeout) {\n \"ngInject\";\n\n (0, _classCallCheck3.default)(this, controller);\n this.$element = $element;\n this.$timeout = $timeout;\n }\n\n (0, _createClass3.default)(controller, [{\n key: \"$postLink\",\n value: function $postLink() {\n var _this = this;\n\n this.$timeout(function () {\n return _this.$element.addClass(\"oui-dropdown-menu__divider\").attr(\"role\", \"separator\");\n });\n }\n }]);\n return controller;\n }()\n};\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports) {\n\nvar id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports) {\n\nexports.f = {}.propertyIsEnumerable;\n\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar baseGet = __webpack_require__(92);\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nmodule.exports = get;\n\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports) {\n\n/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// optional / simple context binding\nvar aFunction = __webpack_require__(118);\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = __webpack_require__(13);\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar baseMerge = __webpack_require__(126),\n createAssigner = __webpack_require__(150);\n\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\nvar merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n});\n\nmodule.exports = merge;\n\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar listCacheClear = __webpack_require__(127),\n listCacheDelete = __webpack_require__(128),\n listCacheGet = __webpack_require__(129),\n listCacheHas = __webpack_require__(130),\n listCacheSet = __webpack_require__(131);\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports) {\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar defineProperty = __webpack_require__(132);\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar freeGlobal = __webpack_require__(62);\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports) {\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _radioComponent = __webpack_require__(175);\n\nvar _radioComponent2 = _interopRequireDefault(_radioComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.radio\", []).component(\"ouiRadio\", _radioComponent2.default);\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _dropdownItem = __webpack_require__(195);\n\nvar _dropdownItem2 = _interopRequireDefault(_dropdownItem);\n\nvar _dropdownItem3 = __webpack_require__(197);\n\nvar _dropdownItem4 = _interopRequireDefault(_dropdownItem3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n controller: _dropdownItem2.default,\n template: _dropdownItem4.default,\n bindings: {\n text: \"@\",\n ariaLabel: \"@?\",\n href: \"@?\",\n state: \"@?\",\n stateParams: \"= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports) {\n\n// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports) {\n\n// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports) {\n\nmodule.exports = true;\n\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = __webpack_require__(8);\nvar dPs = __webpack_require__(220);\nvar enumBugKeys = __webpack_require__(50);\nvar IE_PROTO = __webpack_require__(48)('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = __webpack_require__(59)('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n __webpack_require__(223).appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar shared = __webpack_require__(49)('keys');\nvar uid = __webpack_require__(27);\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(6);\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\nmodule.exports = function (key) {\n return store[key] || (store[key] = {});\n};\n\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports) {\n\n// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar def = __webpack_require__(7).f;\nvar has = __webpack_require__(10);\nvar TAG = __webpack_require__(4)('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports) {\n\nexports.f = Object.getOwnPropertySymbols;\n\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isArray = __webpack_require__(11),\n isSymbol = __webpack_require__(256);\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nmodule.exports = isKey;\n\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports.f = __webpack_require__(4);\n\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(6);\nvar core = __webpack_require__(3);\nvar LIBRARY = __webpack_require__(45);\nvar wksExt = __webpack_require__(54);\nvar defineProperty = __webpack_require__(7).f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(338), __esModule: true };\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(116), __esModule: true };\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = !__webpack_require__(9) && !__webpack_require__(14)(function () {\n return Object.defineProperty(__webpack_require__(59)('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(13);\nvar document = __webpack_require__(6).document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar baseAssignValue = __webpack_require__(36),\n eq = __webpack_require__(35);\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignMergeValue;\n\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports) {\n\nmodule.exports = function(module) {\r\n\tif(!module.webpackPolyfill) {\r\n\t\tmodule.deprecate = function() {};\r\n\t\tmodule.paths = [];\r\n\t\t// module.parent = undefined by default\r\n\t\tif(!module.children) module.children = [];\r\n\t\tObject.defineProperty(module, \"loaded\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.l;\r\n\t\t\t}\r\n\t\t});\r\n\t\tObject.defineProperty(module, \"id\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.i;\r\n\t\t\t}\r\n\t\t});\r\n\t\tmodule.webpackPolyfill = 1;\r\n\t}\r\n\treturn module;\r\n};\r\n\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(global) {/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(63)))\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports) {\n\nvar g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar overArg = __webpack_require__(38);\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports) {\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n\n\n/***/ }),\n/* 66 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isFunction = __webpack_require__(67),\n isLength = __webpack_require__(68);\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar baseGetTag = __webpack_require__(24),\n isObject = __webpack_require__(15);\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports) {\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n/***/ }),\n/* 69 */\n/***/ (function(module, exports) {\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n\n\n/***/ }),\n/* 70 */\n/***/ (function(module, exports) {\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports) {\n\n/**\n * Gets the value at `key`, unless `key` is \"__proto__\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n return key == '__proto__'\n ? undefined\n : object[key];\n}\n\nmodule.exports = safeGet;\n\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports) {\n\n/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = nativeKeysIn;\n\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports) {\n\n/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n/***/ }),\n/* 74 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _dropdownGroup = __webpack_require__(194);\n\nvar _dropdownGroup2 = _interopRequireDefault(_dropdownGroup);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n template: _dropdownGroup2.default,\n controller: function () {\n controller.$inject = [\"$element\", \"$timeout\"];\n function controller($element, $timeout) {\n \"ngInject\";\n\n (0, _classCallCheck3.default)(this, controller);\n this.$element = $element;\n this.$timeout = $timeout;\n }\n\n (0, _createClass3.default)(controller, [{\n key: \"$postLink\",\n value: function $postLink() {\n var _this = this;\n\n this.$timeout(function () {\n return _this.$element.addClass(\"oui-dropdown-group\");\n });\n }\n }]);\n return controller;\n }(),\n bindings: {\n label: \"@\"\n },\n transclude: true\n};\n\n/***/ }),\n/* 75 */\n/***/ (function(module, exports) {\n\n/**\n * The base implementation of `_.clamp` which doesn't coerce arguments.\n *\n * @private\n * @param {number} number The number to clamp.\n * @param {number} [lower] The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the clamped number.\n */\nfunction baseClamp(number, lower, upper) {\n if (number === number) {\n if (upper !== undefined) {\n number = number <= upper ? number : upper;\n }\n if (lower !== undefined) {\n number = number >= lower ? number : lower;\n }\n }\n return number;\n}\n\nmodule.exports = baseClamp;\n\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports) {\n\n/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _from = __webpack_require__(78);\n\nvar _from2 = _interopRequireDefault(_from);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n } else {\n return (0, _from2.default)(arr);\n }\n};\n\n/***/ }),\n/* 78 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(217), __esModule: true };\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar LIBRARY = __webpack_require__(45);\nvar $export = __webpack_require__(5);\nvar redefine = __webpack_require__(80);\nvar hide = __webpack_require__(12);\nvar Iterators = __webpack_require__(19);\nvar $iterCreate = __webpack_require__(219);\nvar setToStringTag = __webpack_require__(51);\nvar getPrototypeOf = __webpack_require__(84);\nvar ITERATOR = __webpack_require__(4)('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(12);\n\n\n/***/ }),\n/* 81 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar has = __webpack_require__(10);\nvar toIObject = __webpack_require__(16);\nvar arrayIndexOf = __webpack_require__(221)(false);\nvar IE_PROTO = __webpack_require__(48)('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n\n\n/***/ }),\n/* 82 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = __webpack_require__(47);\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n/***/ }),\n/* 83 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.15 ToLength\nvar toInteger = __webpack_require__(43);\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n/***/ }),\n/* 84 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = __webpack_require__(10);\nvar toObject = __webpack_require__(21);\nvar IE_PROTO = __webpack_require__(48)('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n\n\n/***/ }),\n/* 85 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar classof = __webpack_require__(228);\nvar ITERATOR = __webpack_require__(4)('iterator');\nvar Iterators = __webpack_require__(19);\nmodule.exports = __webpack_require__(3).getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n\n\n/***/ }),\n/* 86 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar createFind = __webpack_require__(241),\n findIndex = __webpack_require__(95);\n\n/**\n * Iterates over elements of `collection`, returning the first element\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {*} Returns the matched element, else `undefined`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false },\n * { 'user': 'pebbles', 'age': 1, 'active': true }\n * ];\n *\n * _.find(users, function(o) { return o.age < 40; });\n * // => object for 'barney'\n *\n * // The `_.matches` iteratee shorthand.\n * _.find(users, { 'age': 1, 'active': true });\n * // => object for 'pebbles'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.find(users, ['active', false]);\n * // => object for 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.find(users, 'active');\n * // => object for 'barney'\n */\nvar find = createFind(findIndex);\n\nmodule.exports = find;\n\n\n/***/ }),\n/* 87 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar baseMatches = __webpack_require__(242),\n baseMatchesProperty = __webpack_require__(255),\n identity = __webpack_require__(73),\n isArray = __webpack_require__(11),\n property = __webpack_require__(263);\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\nmodule.exports = baseIteratee;\n\n\n/***/ }),\n/* 88 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar baseIsEqualDeep = __webpack_require__(244),\n isObjectLike = __webpack_require__(18);\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nmodule.exports = baseIsEqual;\n\n\n/***/ }),\n/* 89 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(15);\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\nmodule.exports = isStrictComparable;\n\n\n/***/ }),\n/* 90 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar overArg = __webpack_require__(38);\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n\n\n/***/ }),\n/* 91 */\n/***/ (function(module, exports) {\n\n/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\nmodule.exports = matchesStrictComparable;\n\n\n/***/ }),\n/* 92 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar castPath = __webpack_require__(93),\n toKey = __webpack_require__(30);\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\nmodule.exports = baseGet;\n\n\n/***/ }),\n/* 93 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isArray = __webpack_require__(11),\n isKey = __webpack_require__(53),\n stringToPath = __webpack_require__(257),\n toString = __webpack_require__(94);\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nmodule.exports = castPath;\n\n\n/***/ }),\n/* 94 */\n/***/ (function(module, exports) {\n\n/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n/***/ }),\n/* 95 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar baseFindIndex = __webpack_require__(266),\n baseIteratee = __webpack_require__(87),\n toInteger = __webpack_require__(96);\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * This method is like `_.find` except that it returns the index of the first\n * element `predicate` returns truthy for instead of the element itself.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.findIndex(users, function(o) { return o.user == 'barney'; });\n * // => 0\n *\n * // The `_.matches` iteratee shorthand.\n * _.findIndex(users, { 'user': 'fred', 'active': false });\n * // => 1\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findIndex(users, ['active', false]);\n * // => 0\n *\n * // The `_.property` iteratee shorthand.\n * _.findIndex(users, 'active');\n * // => 2\n */\nfunction findIndex(array, predicate, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = fromIndex == null ? 0 : toInteger(fromIndex);\n if (index < 0) {\n index = nativeMax(length + index, 0);\n }\n return baseFindIndex(array, baseIteratee(predicate, 3), index);\n}\n\nmodule.exports = findIndex;\n\n\n/***/ }),\n/* 96 */\n/***/ (function(module, exports) {\n\n/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n/***/ }),\n/* 97 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.hasProperty = hasProperty;\nfunction hasProperty(obj) {\n var prop = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"\";\n\n var props = prop.split(\".\");\n var theObject = obj;\n for (var i = 0; i < props.length; i++) {\n if (!Object.prototype.hasOwnProperty.call(theObject, props[i])) {\n return false;\n }\n theObject = theObject[props[i]] || {};\n }\n return true;\n}\n\n/***/ }),\n/* 98 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(273), __esModule: true };\n\n/***/ }),\n/* 99 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// most Object methods by ES6 should accept primitives\nvar $export = __webpack_require__(5);\nvar core = __webpack_require__(3);\nvar fails = __webpack_require__(14);\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n\n\n/***/ }),\n/* 100 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _typeof2 = __webpack_require__(101);\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && ((typeof call === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(call)) === \"object\" || typeof call === \"function\") ? call : self;\n};\n\n/***/ }),\n/* 101 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _iterator = __webpack_require__(275);\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = __webpack_require__(280);\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};\n\n/***/ }),\n/* 102 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(277);\nvar global = __webpack_require__(6);\nvar hide = __webpack_require__(12);\nvar Iterators = __webpack_require__(19);\nvar TO_STRING_TAG = __webpack_require__(4)('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n 'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n 'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n 'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n 'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n var NAME = DOMIterables[i];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = Iterators.Array;\n}\n\n\n/***/ }),\n/* 103 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = __webpack_require__(81);\nvar hiddenKeys = __webpack_require__(50).concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n\n\n/***/ }),\n/* 104 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar pIE = __webpack_require__(28);\nvar createDesc = __webpack_require__(17);\nvar toIObject = __webpack_require__(16);\nvar toPrimitive = __webpack_require__(32);\nvar has = __webpack_require__(10);\nvar IE8_DOM_DEFINE = __webpack_require__(58);\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = __webpack_require__(9) ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n\n/***/ }),\n/* 105 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _setPrototypeOf = __webpack_require__(290);\n\nvar _setPrototypeOf2 = _interopRequireDefault(_setPrototypeOf);\n\nvar _create = __webpack_require__(294);\n\nvar _create2 = _interopRequireDefault(_create);\n\nvar _typeof2 = __webpack_require__(101);\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + (typeof superClass === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(superClass)));\n }\n\n subClass.prototype = (0, _create2.default)(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf2.default ? (0, _setPrototypeOf2.default)(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\n/***/ }),\n/* 106 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _assign = __webpack_require__(22);\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _util = __webpack_require__(97);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar DatagridPagingAbstract = function () {\n function DatagridPagingAbstract(columns, currentSorting, pageSize, rowLoader, pagingService) {\n (0, _classCallCheck3.default)(this, DatagridPagingAbstract);\n\n this.columns = columns;\n this.currentSorting = currentSorting;\n this.criteria = [];\n this.pageSize = pageSize;\n this.offset = 1;\n this.rowLoader = rowLoader;\n\n this.$q = pagingService.$q;\n this.$timeout = pagingService.$timeout;\n this.orderByFilter = pagingService.orderByFilter;\n\n this.preventLoadingRows = false;\n\n this.cachedPageResult = null;\n this.cachedPageResultPristine = null;\n }\n\n (0, _createClass3.default)(DatagridPagingAbstract, [{\n key: \"setCriteria\",\n value: function setCriteria(criteria) {\n this.criteria = criteria;\n }\n }, {\n key: \"setOffset\",\n value: function setOffset(offset) {\n this.offset = offset;\n }\n }, {\n key: \"setPageSize\",\n value: function setPageSize(pageSize) {\n this.pageSize = pageSize;\n }\n }, {\n key: \"getCurrentPageSize\",\n value: function getCurrentPageSize() {\n if (!this.totalCount) {\n return this.pageSize;\n }\n\n return Math.min(this.pageSize, this.totalCount - (this.offset - 1));\n }\n }, {\n key: \"setSort\",\n value: function setSort(columnName) {\n if (columnName === this.currentSorting.columnName) {\n this.currentSorting.dir = this.currentSorting.dir === -1 ? 1 : -1;\n } else {\n this.currentSorting = {\n columnName: columnName,\n dir: 1\n };\n }\n }\n }, {\n key: \"getSortColumnName\",\n value: function getSortColumnName() {\n return this.currentSorting.columnName;\n }\n }, {\n key: \"isSortAsc\",\n value: function isSortAsc() {\n return this.currentSorting.dir === 1;\n }\n }, {\n key: \"isSortDesc\",\n value: function isSortDesc() {\n return this.currentSorting.dir === -1;\n }\n }, {\n key: \"getSortingConfiguration\",\n value: function getSortingConfiguration() {\n var selectedColumn = this.getColumn(this.currentSorting.columnName);\n return (0, _assign2.default)({\n property: selectedColumn && selectedColumn.sortProperty\n }, this.currentSorting);\n }\n }, {\n key: \"getColumn\",\n value: function getColumn(name) {\n for (var i = 0; i < this.columns.length; i++) {\n if (this.columns[i].name === name) {\n return this.columns[i];\n }\n }\n return null;\n }\n }, {\n key: \"loadRowsData\",\n value: function loadRowsData(rows) {\n var _this = this;\n\n if (!this.rowLoader) {\n return this.$q.when();\n }\n\n return this.$q.all(rows.map(function (row) {\n return _this.loadRowData(row);\n }));\n }\n }, {\n key: \"loadRowData\",\n value: function loadRowData(row) {\n if (!this.isRowLoaded(row) && !row.$promise) {\n row.$promise = this.$q.when(this.rowLoader({ $row: row })).then(function (fullRow) {\n return (0, _assign2.default)(row, fullRow);\n }).finally(function () {\n delete row.$promise;\n });\n\n return row.$promise;\n }\n\n return this.$q.when();\n }\n }, {\n key: \"isRowLoaded\",\n value: function isRowLoaded(row) {\n return this.columns.map(function (column) {\n return (0, _util.hasProperty)(row, column.name);\n }).reduce(function (a, b) {\n return a && b;\n }, true);\n }\n }, {\n key: \"reloadRows\",\n value: function reloadRows() {\n return this.loadRows(null, true);\n }\n }]);\n return DatagridPagingAbstract;\n}();\n\nexports.default = DatagridPagingAbstract;\n\n/***/ }),\n/* 107 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _escapeStringRegexp = __webpack_require__(311);\n\nvar _escapeStringRegexp2 = _interopRequireDefault(_escapeStringRegexp);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar StringComparators = function () {\n function StringComparators() {\n (0, _classCallCheck3.default)(this, StringComparators);\n }\n\n (0, _createClass3.default)(StringComparators, null, [{\n key: \"contains\",\n value: function contains(haystack, needle) {\n return StringComparators.testString(haystack, (0, _escapeStringRegexp2.default)(needle));\n }\n }, {\n key: \"startsWith\",\n value: function startsWith(haystack, needle) {\n var escapedNeedle = (0, _escapeStringRegexp2.default)(needle);\n return StringComparators.testString(haystack, \"^\" + escapedNeedle);\n }\n }, {\n key: \"endsWith\",\n value: function endsWith(haystack, needle) {\n var escapedNeedle = (0, _escapeStringRegexp2.default)(needle);\n return StringComparators.testString(haystack, escapedNeedle + \"$\");\n }\n }, {\n key: \"is\",\n value: function is(haystack, needle) {\n var escapedNeedle = (0, _escapeStringRegexp2.default)(needle);\n return StringComparators.testString(haystack, \"^\" + escapedNeedle + \"$\");\n }\n }, {\n key: \"testString\",\n value: function testString(haystack, regexp) {\n var pattern = new RegExp(regexp, \"i\");\n return pattern.test(haystack);\n }\n }]);\n return StringComparators;\n}();\n\nexports.default = StringComparators;\n\n/***/ }),\n/* 108 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n__webpack_require__(39);\n\nvar _radioGroupComponent = __webpack_require__(342);\n\nvar _radioGroupComponent2 = _interopRequireDefault(_radioGroupComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.radio-group\", [\"oui.radio\"]).component(\"ouiRadioGroup\", _radioGroupComponent2.default);\n\n/***/ }),\n/* 109 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _class = function () {\n _class.$inject = [\"$scope\", \"$element\", \"$timeout\"];\n function _class($scope, $element, $timeout) {\n \"ngInject\";\n\n (0, _classCallCheck3.default)(this, _class);\n this.$scope = $scope;\n this.$element = $element;\n this.$timeout = $timeout;\n }\n\n (0, _createClass3.default)(_class, [{\n key: \"$postLink\",\n value: function $postLink() {\n var _this = this;\n\n this.$timeout(function () {\n _this.$element.attr(\"role\", \"radiogroup\");\n });\n }\n }, {\n key: \"$onInit\",\n value: function $onInit() {\n if (!this.name) {\n this.name = \"oui-radio-group-\" + this.$scope.$id;\n }\n }\n }, {\n key: \"setModelValue\",\n value: function setModelValue(value) {\n var _this2 = this;\n\n this.model = value;\n\n if (this.onChange) {\n this.$timeout(function () {\n return _this2.onChange({ modelValue: value });\n });\n }\n }\n }]);\n return _class;\n}();\n\nexports.default = _class;\n\n/***/ }),\n/* 110 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 111 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(112);\n\n\n/***/ }),\n/* 112 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n__webpack_require__(113);\n\n__webpack_require__(120);\n\n__webpack_require__(167);\n\n__webpack_require__(171);\n\n__webpack_require__(39);\n\n__webpack_require__(178);\n\n__webpack_require__(182);\n\n__webpack_require__(186);\n\n__webpack_require__(190);\n\n__webpack_require__(201);\n\n__webpack_require__(205);\n\n__webpack_require__(209);\n\n__webpack_require__(214);\n\n__webpack_require__(235);\n\n__webpack_require__(318);\n\n__webpack_require__(331);\n\n__webpack_require__(335);\n\n__webpack_require__(108);\n\n__webpack_require__(343);\n\n__webpack_require__(345);\n\n__webpack_require__(353);\n\n__webpack_require__(357);\n\n__webpack_require__(362);\n\n__webpack_require__(367);\n\n__webpack_require__(373);\n\n__webpack_require__(376);\n\n__webpack_require__(381);\n\n__webpack_require__(385);\n\n__webpack_require__(392);\n\n__webpack_require__(400);\n\n__webpack_require__(404);\n\n__webpack_require__(410);\n\n__webpack_require__(417);\n\n__webpack_require__(421);\n\n__webpack_require__(431);\n\n__webpack_require__(435);\n\nangular.module(\"oui\", [\"oui.button\", \"oui.calendar\", \"oui.checkbox\", \"oui.collapsible\", \"oui.radio\", \"oui.message\", \"oui.spinner\", \"oui.back-button\", \"oui.dropdown\", \"oui.action-menu\", \"oui.tooltip\", \"oui.numeric\", \"oui.pagination\", \"oui.datagrid\", \"oui.navbar\", \"oui.modal\", \"oui.field\", \"oui.radio-group\", \"oui.select\", \"oui.select-picker\", \"oui.textarea\", \"oui.form-actions\", \"oui.search\", \"oui.criteria-container\", \"oui.radio-toggle-group\", \"oui.criteria-adder\", \"oui.chips\", \"oui.popover\", \"oui.stepper\", \"oui.skeleton\", \"oui.clipboard\", \"oui.slideshow\", \"oui.page-header\", \"oui.tile\", \"oui.guide-menu\", \"oui.header-tabs\"]);\n\n/***/ }),\n/* 113 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _buttonComponent = __webpack_require__(114);\n\nvar _buttonComponent2 = _interopRequireDefault(_buttonComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.button\", []).component(\"ouiButton\", _buttonComponent2.default);\n\n/***/ }),\n/* 114 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _button = __webpack_require__(115);\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _button3 = __webpack_require__(119);\n\nvar _button4 = _interopRequireDefault(_button3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n bindings: {\n text: \"@\",\n id: \"@?\",\n name: \"@?\",\n type: \"@?\",\n variant: \"@?\",\n variantNav: \"@?\",\n ariaLabel: \"@?\",\n\n disabled: \" \";\n\n/***/ }),\n/* 120 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _calendarComponent = __webpack_require__(121);\n\nvar _calendarComponent2 = _interopRequireDefault(_calendarComponent);\n\nvar _calendar = __webpack_require__(125);\n\nvar _calendar2 = _interopRequireDefault(_calendar);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.calendar\", []).component(\"ouiCalendar\", _calendarComponent2.default).provider(\"ouiCalendarConfiguration\", _calendar2.default);\n\n/***/ }),\n/* 121 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _calendar = __webpack_require__(122);\n\nvar _calendar2 = _interopRequireDefault(_calendar);\n\nvar _calendar3 = __webpack_require__(124);\n\nvar _calendar4 = _interopRequireDefault(_calendar3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n bindings: {\n model: \"=\",\n\n id: \"@?\",\n name: \"@?\",\n placeholder: \"@?\",\n mode: \"@?\",\n format: \"@?\",\n altFormat: \"@?\",\n\n appendToBody: \" 11)];\n },\n M: function M(date, locale) {\n return monthToStr(date.getMonth(), true, locale);\n },\n S: function S(date) {\n return pad(date.getSeconds());\n },\n U: function U(date) {\n return date.getTime() / 1000;\n },\n W: function W(date, _, options) {\n return options.getWeek(date);\n },\n Y: function Y(date) {\n return date.getFullYear();\n },\n d: function d(date) {\n return pad(date.getDate());\n },\n h: function h(date) {\n return date.getHours() % 12 ? date.getHours() % 12 : 12;\n },\n i: function i(date) {\n return pad(date.getMinutes());\n },\n j: function j(date) {\n return date.getDate();\n },\n l: function l(date, locale) {\n return locale.weekdays.longhand[date.getDay()];\n },\n m: function m(date) {\n return pad(date.getMonth() + 1);\n },\n n: function n(date) {\n return date.getMonth() + 1;\n },\n s: function s(date) {\n return date.getSeconds();\n },\n w: function w(date) {\n return date.getDay();\n },\n y: function y(date) {\n return String(date.getFullYear()).substring(2);\n }\n };\n\n var english = {\n weekdays: {\n shorthand: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n longhand: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"]\n },\n months: {\n shorthand: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"],\n longhand: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"]\n },\n daysInMonth: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],\n firstDayOfWeek: 0,\n ordinal: function ordinal(nth) {\n var s = nth % 100;\n if (s > 3 && s < 21) return \"th\";\n\n switch (s % 10) {\n case 1:\n return \"st\";\n\n case 2:\n return \"nd\";\n\n case 3:\n return \"rd\";\n\n default:\n return \"th\";\n }\n },\n rangeSeparator: \" to \",\n weekAbbreviation: \"Wk\",\n scrollTitle: \"Scroll to increment\",\n toggleTitle: \"Click to toggle\",\n amPM: [\"AM\", \"PM\"],\n yearAriaLabel: \"Year\"\n };\n\n var createDateFormatter = function createDateFormatter(_ref) {\n var _ref$config = _ref.config,\n config = _ref$config === void 0 ? defaults : _ref$config,\n _ref$l10n = _ref.l10n,\n l10n = _ref$l10n === void 0 ? english : _ref$l10n;\n return function (dateObj, frmt, overrideLocale) {\n if (config.formatDate !== undefined) return config.formatDate(dateObj, frmt);\n var locale = overrideLocale || l10n;\n return frmt.split(\"\").map(function (c, i, arr) {\n return formats[c] && arr[i - 1] !== \"\\\\\" ? formats[c](dateObj, locale, config) : c !== \"\\\\\" ? c : \"\";\n }).join(\"\");\n };\n };\n var createDateParser = function createDateParser(_ref2) {\n var _ref2$config = _ref2.config,\n config = _ref2$config === void 0 ? defaults : _ref2$config,\n _ref2$l10n = _ref2.l10n,\n l10n = _ref2$l10n === void 0 ? english : _ref2$l10n;\n return function (date, givenFormat, timeless) {\n if (date !== 0 && !date) return undefined;\n var parsedDate;\n var date_orig = date;\n if (date instanceof Date) parsedDate = new Date(date.getTime());else if (typeof date !== \"string\" && date.toFixed !== undefined) parsedDate = new Date(date);else if (typeof date === \"string\") {\n var format = givenFormat || (config || defaults).dateFormat;\n var datestr = String(date).trim();\n\n if (datestr === \"today\") {\n parsedDate = new Date();\n timeless = true;\n } else if (/Z$/.test(datestr) || /GMT$/.test(datestr)) parsedDate = new Date(date);else if (config && config.parseDate) parsedDate = config.parseDate(date, format);else {\n parsedDate = !config || !config.noCalendar ? new Date(new Date().getFullYear(), 0, 1, 0, 0, 0, 0) : new Date(new Date().setHours(0, 0, 0, 0));\n var matched,\n ops = [];\n\n for (var i = 0, matchIndex = 0, regexStr = \"\"; i < format.length; i++) {\n var token = format[i];\n var isBackSlash = token === \"\\\\\";\n var escaped = format[i - 1] === \"\\\\\" || isBackSlash;\n\n if (tokenRegex[token] && !escaped) {\n regexStr += tokenRegex[token];\n var match = new RegExp(regexStr).exec(date);\n\n if (match && (matched = true)) {\n ops[token !== \"Y\" ? \"push\" : \"unshift\"]({\n fn: revFormat[token],\n val: match[++matchIndex]\n });\n }\n } else if (!isBackSlash) regexStr += \".\";\n\n ops.forEach(function (_ref3) {\n var fn = _ref3.fn,\n val = _ref3.val;\n return parsedDate = fn(parsedDate, val, l10n) || parsedDate;\n });\n }\n\n parsedDate = matched ? parsedDate : undefined;\n }\n }\n\n if (!(parsedDate instanceof Date && !isNaN(parsedDate.getTime()))) {\n config.errorHandler(new Error(\"Invalid date provided: \" + date_orig));\n return undefined;\n }\n\n if (timeless === true) parsedDate.setHours(0, 0, 0, 0);\n return parsedDate;\n };\n };\n function compareDates(date1, date2, timeless) {\n if (timeless === void 0) {\n timeless = true;\n }\n\n if (timeless !== false) {\n return new Date(date1.getTime()).setHours(0, 0, 0, 0) - new Date(date2.getTime()).setHours(0, 0, 0, 0);\n }\n\n return date1.getTime() - date2.getTime();\n }\n var getWeek = function getWeek(givenDate) {\n var date = new Date(givenDate.getTime());\n date.setHours(0, 0, 0, 0);\n date.setDate(date.getDate() + 3 - (date.getDay() + 6) % 7);\n var week1 = new Date(date.getFullYear(), 0, 4);\n return 1 + Math.round(((date.getTime() - week1.getTime()) / 86400000 - 3 + (week1.getDay() + 6) % 7) / 7);\n };\n var isBetween = function isBetween(ts, ts1, ts2) {\n return ts > Math.min(ts1, ts2) && ts < Math.max(ts1, ts2);\n };\n var duration = {\n DAY: 86400000\n };\n\n var defaults = {\n _disable: [],\n _enable: [],\n allowInput: false,\n altFormat: \"F j, Y\",\n altInput: false,\n altInputClass: \"form-control input\",\n animate: typeof window === \"object\" && window.navigator.userAgent.indexOf(\"MSIE\") === -1,\n ariaDateFormat: \"F j, Y\",\n clickOpens: true,\n closeOnSelect: true,\n conjunction: \", \",\n dateFormat: \"Y-m-d\",\n defaultHour: 12,\n defaultMinute: 0,\n defaultSeconds: 0,\n disable: [],\n disableMobile: false,\n enable: [],\n enableSeconds: false,\n enableTime: false,\n errorHandler: function errorHandler(err) {\n return typeof console !== \"undefined\" && console.warn(err);\n },\n getWeek: getWeek,\n hourIncrement: 1,\n ignoredFocusElements: [],\n inline: false,\n locale: \"default\",\n minuteIncrement: 5,\n mode: \"single\",\n nextArrow: \"\",\n noCalendar: false,\n now: new Date(),\n onChange: [],\n onClose: [],\n onDayCreate: [],\n onDestroy: [],\n onKeyDown: [],\n onMonthChange: [],\n onOpen: [],\n onParseConfig: [],\n onReady: [],\n onValueUpdate: [],\n onYearChange: [],\n onPreCalendarPosition: [],\n plugins: [],\n position: \"auto\",\n positionElement: undefined,\n prevArrow: \"\",\n shorthandCurrentMonth: false,\n showMonths: 1,\n static: false,\n time_24hr: false,\n weekNumbers: false,\n wrap: false\n };\n\n function toggleClass(elem, className, bool) {\n if (bool === true) return elem.classList.add(className);\n elem.classList.remove(className);\n }\n function createElement(tag, className, content) {\n var e = window.document.createElement(tag);\n className = className || \"\";\n content = content || \"\";\n e.className = className;\n if (content !== undefined) e.textContent = content;\n return e;\n }\n function clearNode(node) {\n while (node.firstChild) {\n node.removeChild(node.firstChild);\n }\n }\n function findParent(node, condition) {\n if (condition(node)) return node;else if (node.parentNode) return findParent(node.parentNode, condition);\n return undefined;\n }\n function createNumberInput(inputClassName, opts) {\n var wrapper = createElement(\"div\", \"numInputWrapper\"),\n numInput = createElement(\"input\", \"numInput \" + inputClassName),\n arrowUp = createElement(\"span\", \"arrowUp\"),\n arrowDown = createElement(\"span\", \"arrowDown\");\n numInput.type = \"text\";\n numInput.pattern = \"\\\\d*\";\n if (opts !== undefined) for (var key in opts) {\n numInput.setAttribute(key, opts[key]);\n }\n wrapper.appendChild(numInput);\n wrapper.appendChild(arrowUp);\n wrapper.appendChild(arrowDown);\n return wrapper;\n }\n\n if (typeof Object.assign !== \"function\") {\n Object.assign = function (target) {\n if (!target) {\n throw TypeError(\"Cannot convert undefined or null to object\");\n }\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var _loop = function _loop() {\n var source = args[_i];\n\n if (source) {\n Object.keys(source).forEach(function (key) {\n return target[key] = source[key];\n });\n }\n };\n\n for (var _i = 0; _i < args.length; _i++) {\n _loop();\n }\n\n return target;\n };\n }\n\n var DEBOUNCED_CHANGE_MS = 300;\n\n function FlatpickrInstance(element, instanceConfig) {\n var self = {\n config: Object.assign({}, flatpickr.defaultConfig),\n l10n: english\n };\n self.parseDate = createDateParser({\n config: self.config,\n l10n: self.l10n\n });\n self._handlers = [];\n self._bind = bind;\n self._setHoursFromDate = setHoursFromDate;\n self._positionCalendar = positionCalendar;\n self.changeMonth = changeMonth;\n self.changeYear = changeYear;\n self.clear = clear;\n self.close = close;\n self._createElement = createElement;\n self.destroy = destroy;\n self.isEnabled = isEnabled;\n self.jumpToDate = jumpToDate;\n self.open = open;\n self.redraw = redraw;\n self.set = set;\n self.setDate = setDate;\n self.toggle = toggle;\n\n function setupHelperFunctions() {\n self.utils = {\n getDaysInMonth: function getDaysInMonth(month, yr) {\n if (month === void 0) {\n month = self.currentMonth;\n }\n\n if (yr === void 0) {\n yr = self.currentYear;\n }\n\n if (month === 1 && (yr % 4 === 0 && yr % 100 !== 0 || yr % 400 === 0)) return 29;\n return self.l10n.daysInMonth[month];\n }\n };\n }\n\n function init() {\n self.element = self.input = element;\n self.isOpen = false;\n parseConfig();\n setupLocale();\n setupInputs();\n setupDates();\n setupHelperFunctions();\n if (!self.isMobile) build();\n bindEvents();\n\n if (self.selectedDates.length || self.config.noCalendar) {\n if (self.config.enableTime) {\n setHoursFromDate(self.config.noCalendar ? self.latestSelectedDateObj || self.config.minDate : undefined);\n }\n\n updateValue(false);\n }\n\n setCalendarWidth();\n self.showTimeInput = self.selectedDates.length > 0 || self.config.noCalendar;\n var isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n\n if (!self.isMobile && isSafari) {\n positionCalendar();\n }\n\n triggerEvent(\"onReady\");\n }\n\n function bindToInstance(fn) {\n return fn.bind(self);\n }\n\n function setCalendarWidth() {\n var config = self.config;\n if (config.weekNumbers === false && config.showMonths === 1) return;else if (config.noCalendar !== true) {\n window.requestAnimationFrame(function () {\n self.calendarContainer.style.visibility = \"hidden\";\n self.calendarContainer.style.display = \"block\";\n\n if (self.daysContainer !== undefined) {\n var daysWidth = (self.days.offsetWidth + 1) * config.showMonths;\n self.daysContainer.style.width = daysWidth + \"px\";\n self.calendarContainer.style.width = daysWidth + (self.weekWrapper !== undefined ? self.weekWrapper.offsetWidth : 0) + \"px\";\n self.calendarContainer.style.removeProperty(\"visibility\");\n self.calendarContainer.style.removeProperty(\"display\");\n }\n });\n }\n }\n\n function updateTime(e) {\n if (self.selectedDates.length === 0) return;\n if (e !== undefined && e.type !== \"blur\") timeWrapper(e);\n setHoursFromInputs();\n updateValue();\n\n self._debouncedChange();\n }\n\n function ampm2military(hour, amPM) {\n return hour % 12 + 12 * int(amPM === self.l10n.amPM[1]);\n }\n\n function military2ampm(hour) {\n switch (hour % 24) {\n case 0:\n case 12:\n return 12;\n\n default:\n return hour % 12;\n }\n }\n\n function setHoursFromInputs() {\n if (self.hourElement === undefined || self.minuteElement === undefined) return;\n var hours = (parseInt(self.hourElement.value.slice(-2), 10) || 0) % 24,\n minutes = (parseInt(self.minuteElement.value, 10) || 0) % 60,\n seconds = self.secondElement !== undefined ? (parseInt(self.secondElement.value, 10) || 0) % 60 : 0;\n\n if (self.amPM !== undefined) {\n hours = ampm2military(hours, self.amPM.textContent);\n }\n\n var limitMinHours = self.config.minTime !== undefined || self.config.minDate && self.minDateHasTime && self.latestSelectedDateObj && compareDates(self.latestSelectedDateObj, self.config.minDate, true) === 0;\n var limitMaxHours = self.config.maxTime !== undefined || self.config.maxDate && self.maxDateHasTime && self.latestSelectedDateObj && compareDates(self.latestSelectedDateObj, self.config.maxDate, true) === 0;\n\n if (limitMaxHours) {\n var maxTime = self.config.maxTime !== undefined ? self.config.maxTime : self.config.maxDate;\n hours = Math.min(hours, maxTime.getHours());\n if (hours === maxTime.getHours()) minutes = Math.min(minutes, maxTime.getMinutes());\n if (minutes === maxTime.getMinutes()) seconds = Math.min(seconds, maxTime.getSeconds());\n }\n\n if (limitMinHours) {\n var minTime = self.config.minTime !== undefined ? self.config.minTime : self.config.minDate;\n hours = Math.max(hours, minTime.getHours());\n if (hours === minTime.getHours()) minutes = Math.max(minutes, minTime.getMinutes());\n if (minutes === minTime.getMinutes()) seconds = Math.max(seconds, minTime.getSeconds());\n }\n\n setHours(hours, minutes, seconds);\n }\n\n function setHoursFromDate(dateObj) {\n var date = dateObj || self.latestSelectedDateObj;\n if (date) setHours(date.getHours(), date.getMinutes(), date.getSeconds());\n }\n\n function setDefaultHours() {\n var hours = self.config.defaultHour;\n var minutes = self.config.defaultMinute;\n var seconds = self.config.defaultSeconds;\n\n if (self.config.minDate !== undefined) {\n var min_hr = self.config.minDate.getHours();\n var min_minutes = self.config.minDate.getMinutes();\n hours = Math.max(hours, min_hr);\n if (hours === min_hr) minutes = Math.max(min_minutes, minutes);\n if (hours === min_hr && minutes === min_minutes) seconds = self.config.minDate.getSeconds();\n }\n\n if (self.config.maxDate !== undefined) {\n var max_hr = self.config.maxDate.getHours();\n var max_minutes = self.config.maxDate.getMinutes();\n hours = Math.min(hours, max_hr);\n if (hours === max_hr) minutes = Math.min(max_minutes, minutes);\n if (hours === max_hr && minutes === max_minutes) seconds = self.config.maxDate.getSeconds();\n }\n\n setHours(hours, minutes, seconds);\n }\n\n function setHours(hours, minutes, seconds) {\n if (self.latestSelectedDateObj !== undefined) {\n self.latestSelectedDateObj.setHours(hours % 24, minutes, seconds || 0, 0);\n }\n\n if (!self.hourElement || !self.minuteElement || self.isMobile) return;\n self.hourElement.value = pad(!self.config.time_24hr ? (12 + hours) % 12 + 12 * int(hours % 12 === 0) : hours);\n self.minuteElement.value = pad(minutes);\n if (self.amPM !== undefined) self.amPM.textContent = self.l10n.amPM[int(hours >= 12)];\n if (self.secondElement !== undefined) self.secondElement.value = pad(seconds);\n }\n\n function onYearInput(event) {\n var year = parseInt(event.target.value) + (event.delta || 0);\n\n if (year / 1000 > 1 || event.key === \"Enter\" && !/[^\\d]/.test(year.toString())) {\n changeYear(year);\n }\n }\n\n function bind(element, event, handler, options) {\n if (event instanceof Array) return event.forEach(function (ev) {\n return bind(element, ev, handler, options);\n });\n if (element instanceof Array) return element.forEach(function (el) {\n return bind(el, event, handler, options);\n });\n element.addEventListener(event, handler, options);\n\n self._handlers.push({\n element: element,\n event: event,\n handler: handler,\n options: options\n });\n }\n\n function onClick(handler) {\n return function (evt) {\n evt.which === 1 && handler(evt);\n };\n }\n\n function triggerChange() {\n triggerEvent(\"onChange\");\n }\n\n function bindEvents() {\n if (self.config.wrap) {\n [\"open\", \"close\", \"toggle\", \"clear\"].forEach(function (evt) {\n Array.prototype.forEach.call(self.element.querySelectorAll(\"[data-\" + evt + \"]\"), function (el) {\n return bind(el, \"click\", self[evt]);\n });\n });\n }\n\n if (self.isMobile) {\n setupMobile();\n return;\n }\n\n var debouncedResize = debounce(onResize, 50);\n self._debouncedChange = debounce(triggerChange, DEBOUNCED_CHANGE_MS);\n if (self.daysContainer && !/iPhone|iPad|iPod/i.test(navigator.userAgent)) bind(self.daysContainer, \"mouseover\", function (e) {\n if (self.config.mode === \"range\") onMouseOver(e.target);\n });\n bind(window.document.body, \"keydown\", onKeyDown);\n if (!self.config.static) bind(self._input, \"keydown\", onKeyDown);\n if (!self.config.inline && !self.config.static) bind(window, \"resize\", debouncedResize);\n if (window.ontouchstart !== undefined) bind(window.document, \"click\", documentClick);else bind(window.document, \"mousedown\", onClick(documentClick));\n bind(window.document, \"focus\", documentClick, {\n capture: true\n });\n\n if (self.config.clickOpens === true) {\n bind(self._input, \"focus\", self.open);\n bind(self._input, \"mousedown\", onClick(self.open));\n }\n\n if (self.daysContainer !== undefined) {\n bind(self.monthNav, \"mousedown\", onClick(onMonthNavClick));\n bind(self.monthNav, [\"keyup\", \"increment\"], onYearInput);\n bind(self.daysContainer, \"mousedown\", onClick(selectDate));\n }\n\n if (self.timeContainer !== undefined && self.minuteElement !== undefined && self.hourElement !== undefined) {\n var selText = function selText(e) {\n return e.target.select();\n };\n\n bind(self.timeContainer, [\"increment\"], updateTime);\n bind(self.timeContainer, \"blur\", updateTime, {\n capture: true\n });\n bind(self.timeContainer, \"mousedown\", onClick(timeIncrement));\n bind([self.hourElement, self.minuteElement], [\"focus\", \"click\"], selText);\n if (self.secondElement !== undefined) bind(self.secondElement, \"focus\", function () {\n return self.secondElement && self.secondElement.select();\n });\n\n if (self.amPM !== undefined) {\n bind(self.amPM, \"mousedown\", onClick(function (e) {\n updateTime(e);\n triggerChange();\n }));\n }\n }\n }\n\n function jumpToDate(jumpDate) {\n var jumpTo = jumpDate !== undefined ? self.parseDate(jumpDate) : self.latestSelectedDateObj || (self.config.minDate && self.config.minDate > self.now ? self.config.minDate : self.config.maxDate && self.config.maxDate < self.now ? self.config.maxDate : self.now);\n\n try {\n if (jumpTo !== undefined) {\n self.currentYear = jumpTo.getFullYear();\n self.currentMonth = jumpTo.getMonth();\n }\n } catch (e) {\n e.message = \"Invalid date supplied: \" + jumpTo;\n self.config.errorHandler(e);\n }\n\n self.redraw();\n }\n\n function timeIncrement(e) {\n if (~e.target.className.indexOf(\"arrow\")) incrementNumInput(e, e.target.classList.contains(\"arrowUp\") ? 1 : -1);\n }\n\n function incrementNumInput(e, delta, inputElem) {\n var target = e && e.target;\n var input = inputElem || target && target.parentNode && target.parentNode.firstChild;\n var event = createEvent(\"increment\");\n event.delta = delta;\n input && input.dispatchEvent(event);\n }\n\n function build() {\n var fragment = window.document.createDocumentFragment();\n self.calendarContainer = createElement(\"div\", \"flatpickr-calendar\");\n self.calendarContainer.tabIndex = -1;\n\n if (!self.config.noCalendar) {\n fragment.appendChild(buildMonthNav());\n self.innerContainer = createElement(\"div\", \"flatpickr-innerContainer\");\n\n if (self.config.weekNumbers) {\n var _buildWeeks = buildWeeks(),\n weekWrapper = _buildWeeks.weekWrapper,\n weekNumbers = _buildWeeks.weekNumbers;\n\n self.innerContainer.appendChild(weekWrapper);\n self.weekNumbers = weekNumbers;\n self.weekWrapper = weekWrapper;\n }\n\n self.rContainer = createElement(\"div\", \"flatpickr-rContainer\");\n self.rContainer.appendChild(buildWeekdays());\n\n if (!self.daysContainer) {\n self.daysContainer = createElement(\"div\", \"flatpickr-days\");\n self.daysContainer.tabIndex = -1;\n }\n\n buildDays();\n self.rContainer.appendChild(self.daysContainer);\n self.innerContainer.appendChild(self.rContainer);\n fragment.appendChild(self.innerContainer);\n }\n\n if (self.config.enableTime) {\n fragment.appendChild(buildTime());\n }\n\n toggleClass(self.calendarContainer, \"rangeMode\", self.config.mode === \"range\");\n toggleClass(self.calendarContainer, \"animate\", self.config.animate === true);\n toggleClass(self.calendarContainer, \"multiMonth\", self.config.showMonths > 1);\n self.calendarContainer.appendChild(fragment);\n var customAppend = self.config.appendTo !== undefined && self.config.appendTo.nodeType !== undefined;\n\n if (self.config.inline || self.config.static) {\n self.calendarContainer.classList.add(self.config.inline ? \"inline\" : \"static\");\n\n if (self.config.inline) {\n if (!customAppend && self.element.parentNode) self.element.parentNode.insertBefore(self.calendarContainer, self._input.nextSibling);else if (self.config.appendTo !== undefined) self.config.appendTo.appendChild(self.calendarContainer);\n }\n\n if (self.config.static) {\n var wrapper = createElement(\"div\", \"flatpickr-wrapper\");\n if (self.element.parentNode) self.element.parentNode.insertBefore(wrapper, self.element);\n wrapper.appendChild(self.element);\n if (self.altInput) wrapper.appendChild(self.altInput);\n wrapper.appendChild(self.calendarContainer);\n }\n }\n\n if (!self.config.static && !self.config.inline) (self.config.appendTo !== undefined ? self.config.appendTo : window.document.body).appendChild(self.calendarContainer);\n }\n\n function createDay(className, date, dayNumber, i) {\n var dateIsEnabled = isEnabled(date, true),\n dayElement = createElement(\"span\", \"flatpickr-day \" + className, date.getDate().toString());\n dayElement.dateObj = date;\n dayElement.$i = i;\n dayElement.setAttribute(\"aria-label\", self.formatDate(date, self.config.ariaDateFormat));\n\n if (className.indexOf(\"hidden\") === -1 && compareDates(date, self.now) === 0) {\n self.todayDateElem = dayElement;\n dayElement.classList.add(\"today\");\n dayElement.setAttribute(\"aria-current\", \"date\");\n }\n\n if (dateIsEnabled) {\n dayElement.tabIndex = -1;\n\n if (isDateSelected(date)) {\n dayElement.classList.add(\"selected\");\n self.selectedDateElem = dayElement;\n\n if (self.config.mode === \"range\") {\n toggleClass(dayElement, \"startRange\", self.selectedDates[0] && compareDates(date, self.selectedDates[0], true) === 0);\n toggleClass(dayElement, \"endRange\", self.selectedDates[1] && compareDates(date, self.selectedDates[1], true) === 0);\n if (className === \"nextMonthDay\") dayElement.classList.add(\"inRange\");\n }\n }\n } else {\n dayElement.classList.add(\"disabled\");\n }\n\n if (self.config.mode === \"range\") {\n if (isDateInRange(date) && !isDateSelected(date)) dayElement.classList.add(\"inRange\");\n }\n\n if (self.weekNumbers && self.config.showMonths === 1 && className !== \"prevMonthDay\" && dayNumber % 7 === 1) {\n self.weekNumbers.insertAdjacentHTML(\"beforeend\", \"\" + self.config.getWeek(date) + \"\");\n }\n\n triggerEvent(\"onDayCreate\", dayElement);\n return dayElement;\n }\n\n function focusOnDayElem(targetNode) {\n targetNode.focus();\n if (self.config.mode === \"range\") onMouseOver(targetNode);\n }\n\n function getFirstAvailableDay(delta) {\n var startMonth = delta > 0 ? 0 : self.config.showMonths - 1;\n var endMonth = delta > 0 ? self.config.showMonths : -1;\n\n for (var m = startMonth; m != endMonth; m += delta) {\n var month = self.daysContainer.children[m];\n var startIndex = delta > 0 ? 0 : month.children.length - 1;\n var endIndex = delta > 0 ? month.children.length : -1;\n\n for (var i = startIndex; i != endIndex; i += delta) {\n var c = month.children[i];\n if (c.className.indexOf(\"hidden\") === -1 && isEnabled(c.dateObj)) return c;\n }\n }\n\n return undefined;\n }\n\n function getNextAvailableDay(current, delta) {\n var givenMonth = current.className.indexOf(\"Month\") === -1 ? current.dateObj.getMonth() : self.currentMonth;\n var endMonth = delta > 0 ? self.config.showMonths : -1;\n var loopDelta = delta > 0 ? 1 : -1;\n\n for (var m = givenMonth - self.currentMonth; m != endMonth; m += loopDelta) {\n var month = self.daysContainer.children[m];\n var startIndex = givenMonth - self.currentMonth === m ? current.$i + delta : delta < 0 ? month.children.length - 1 : 0;\n var numMonthDays = month.children.length;\n\n for (var i = startIndex; i >= 0 && i < numMonthDays && i != (delta > 0 ? numMonthDays : -1); i += loopDelta) {\n var c = month.children[i];\n if (c.className.indexOf(\"hidden\") === -1 && isEnabled(c.dateObj) && Math.abs(current.$i - i) >= Math.abs(delta)) return focusOnDayElem(c);\n }\n }\n\n self.changeMonth(loopDelta);\n focusOnDay(getFirstAvailableDay(loopDelta), 0);\n return undefined;\n }\n\n function focusOnDay(current, offset) {\n var dayFocused = isInView(document.activeElement);\n var startElem = current !== undefined ? current : dayFocused ? document.activeElement : self.selectedDateElem !== undefined && isInView(self.selectedDateElem) ? self.selectedDateElem : self.todayDateElem !== undefined && isInView(self.todayDateElem) ? self.todayDateElem : getFirstAvailableDay(offset > 0 ? 1 : -1);\n if (startElem === undefined) return self._input.focus();\n if (!dayFocused) return focusOnDayElem(startElem);\n getNextAvailableDay(startElem, offset);\n }\n\n function buildMonthDays(year, month) {\n var firstOfMonth = (new Date(year, month, 1).getDay() - self.l10n.firstDayOfWeek + 7) % 7;\n var prevMonthDays = self.utils.getDaysInMonth((month - 1 + 12) % 12);\n var daysInMonth = self.utils.getDaysInMonth(month),\n days = window.document.createDocumentFragment(),\n isMultiMonth = self.config.showMonths > 1,\n prevMonthDayClass = isMultiMonth ? \"prevMonthDay hidden\" : \"prevMonthDay\",\n nextMonthDayClass = isMultiMonth ? \"nextMonthDay hidden\" : \"nextMonthDay\";\n var dayNumber = prevMonthDays + 1 - firstOfMonth,\n dayIndex = 0;\n\n for (; dayNumber <= prevMonthDays; dayNumber++, dayIndex++) {\n days.appendChild(createDay(prevMonthDayClass, new Date(year, month - 1, dayNumber), dayNumber, dayIndex));\n }\n\n for (dayNumber = 1; dayNumber <= daysInMonth; dayNumber++, dayIndex++) {\n days.appendChild(createDay(\"\", new Date(year, month, dayNumber), dayNumber, dayIndex));\n }\n\n for (var dayNum = daysInMonth + 1; dayNum <= 42 - firstOfMonth && (self.config.showMonths === 1 || dayIndex % 7 !== 0); dayNum++, dayIndex++) {\n days.appendChild(createDay(nextMonthDayClass, new Date(year, month + 1, dayNum % daysInMonth), dayNum, dayIndex));\n }\n\n var dayContainer = createElement(\"div\", \"dayContainer\");\n dayContainer.appendChild(days);\n return dayContainer;\n }\n\n function buildDays() {\n if (self.daysContainer === undefined) {\n return;\n }\n\n clearNode(self.daysContainer);\n if (self.weekNumbers) clearNode(self.weekNumbers);\n var frag = document.createDocumentFragment();\n\n for (var i = 0; i < self.config.showMonths; i++) {\n var d = new Date(self.currentYear, self.currentMonth, 1);\n d.setMonth(self.currentMonth + i);\n frag.appendChild(buildMonthDays(d.getFullYear(), d.getMonth()));\n }\n\n self.daysContainer.appendChild(frag);\n self.days = self.daysContainer.firstChild;\n }\n\n function buildMonth() {\n var container = createElement(\"div\", \"flatpickr-month\");\n var monthNavFragment = window.document.createDocumentFragment();\n var monthElement = createElement(\"span\", \"cur-month\");\n monthElement.title = self.l10n.scrollTitle;\n var yearInput = createNumberInput(\"cur-year\", {\n tabindex: \"-1\"\n });\n var yearElement = yearInput.childNodes[0];\n yearElement.title = self.l10n.scrollTitle;\n yearElement.setAttribute(\"aria-label\", self.l10n.yearAriaLabel);\n if (self.config.minDate) yearElement.setAttribute(\"data-min\", self.config.minDate.getFullYear().toString());\n\n if (self.config.maxDate) {\n yearElement.setAttribute(\"data-max\", self.config.maxDate.getFullYear().toString());\n yearElement.disabled = !!self.config.minDate && self.config.minDate.getFullYear() === self.config.maxDate.getFullYear();\n }\n\n var currentMonth = createElement(\"div\", \"flatpickr-current-month\");\n currentMonth.appendChild(monthElement);\n currentMonth.appendChild(yearInput);\n monthNavFragment.appendChild(currentMonth);\n container.appendChild(monthNavFragment);\n return {\n container: container,\n yearElement: yearElement,\n monthElement: monthElement\n };\n }\n\n function buildMonths() {\n clearNode(self.monthNav);\n self.monthNav.appendChild(self.prevMonthNav);\n\n for (var m = self.config.showMonths; m--;) {\n var month = buildMonth();\n self.yearElements.push(month.yearElement);\n self.monthElements.push(month.monthElement);\n self.monthNav.appendChild(month.container);\n }\n\n self.monthNav.appendChild(self.nextMonthNav);\n }\n\n function buildMonthNav() {\n self.monthNav = createElement(\"div\", \"flatpickr-months\");\n self.yearElements = [];\n self.monthElements = [];\n self.prevMonthNav = createElement(\"span\", \"flatpickr-prev-month\");\n self.prevMonthNav.innerHTML = self.config.prevArrow;\n self.nextMonthNav = createElement(\"span\", \"flatpickr-next-month\");\n self.nextMonthNav.innerHTML = self.config.nextArrow;\n buildMonths();\n Object.defineProperty(self, \"_hidePrevMonthArrow\", {\n get: function get() {\n return self.__hidePrevMonthArrow;\n },\n set: function set(bool) {\n if (self.__hidePrevMonthArrow !== bool) {\n toggleClass(self.prevMonthNav, \"disabled\", bool);\n self.__hidePrevMonthArrow = bool;\n }\n }\n });\n Object.defineProperty(self, \"_hideNextMonthArrow\", {\n get: function get() {\n return self.__hideNextMonthArrow;\n },\n set: function set(bool) {\n if (self.__hideNextMonthArrow !== bool) {\n toggleClass(self.nextMonthNav, \"disabled\", bool);\n self.__hideNextMonthArrow = bool;\n }\n }\n });\n self.currentYearElement = self.yearElements[0];\n updateNavigationCurrentMonth();\n return self.monthNav;\n }\n\n function buildTime() {\n self.calendarContainer.classList.add(\"hasTime\");\n if (self.config.noCalendar) self.calendarContainer.classList.add(\"noCalendar\");\n self.timeContainer = createElement(\"div\", \"flatpickr-time\");\n self.timeContainer.tabIndex = -1;\n var separator = createElement(\"span\", \"flatpickr-time-separator\", \":\");\n var hourInput = createNumberInput(\"flatpickr-hour\");\n self.hourElement = hourInput.childNodes[0];\n var minuteInput = createNumberInput(\"flatpickr-minute\");\n self.minuteElement = minuteInput.childNodes[0];\n self.hourElement.tabIndex = self.minuteElement.tabIndex = -1;\n self.hourElement.value = pad(self.latestSelectedDateObj ? self.latestSelectedDateObj.getHours() : self.config.time_24hr ? self.config.defaultHour : military2ampm(self.config.defaultHour));\n self.minuteElement.value = pad(self.latestSelectedDateObj ? self.latestSelectedDateObj.getMinutes() : self.config.defaultMinute);\n self.hourElement.setAttribute(\"data-step\", self.config.hourIncrement.toString());\n self.minuteElement.setAttribute(\"data-step\", self.config.minuteIncrement.toString());\n self.hourElement.setAttribute(\"data-min\", self.config.time_24hr ? \"0\" : \"1\");\n self.hourElement.setAttribute(\"data-max\", self.config.time_24hr ? \"23\" : \"12\");\n self.minuteElement.setAttribute(\"data-min\", \"0\");\n self.minuteElement.setAttribute(\"data-max\", \"59\");\n self.timeContainer.appendChild(hourInput);\n self.timeContainer.appendChild(separator);\n self.timeContainer.appendChild(minuteInput);\n if (self.config.time_24hr) self.timeContainer.classList.add(\"time24hr\");\n\n if (self.config.enableSeconds) {\n self.timeContainer.classList.add(\"hasSeconds\");\n var secondInput = createNumberInput(\"flatpickr-second\");\n self.secondElement = secondInput.childNodes[0];\n self.secondElement.value = pad(self.latestSelectedDateObj ? self.latestSelectedDateObj.getSeconds() : self.config.defaultSeconds);\n self.secondElement.setAttribute(\"data-step\", self.minuteElement.getAttribute(\"data-step\"));\n self.secondElement.setAttribute(\"data-min\", self.minuteElement.getAttribute(\"data-min\"));\n self.secondElement.setAttribute(\"data-max\", self.minuteElement.getAttribute(\"data-max\"));\n self.timeContainer.appendChild(createElement(\"span\", \"flatpickr-time-separator\", \":\"));\n self.timeContainer.appendChild(secondInput);\n }\n\n if (!self.config.time_24hr) {\n self.amPM = createElement(\"span\", \"flatpickr-am-pm\", self.l10n.amPM[int((self.latestSelectedDateObj ? self.hourElement.value : self.config.defaultHour) > 11)]);\n self.amPM.title = self.l10n.toggleTitle;\n self.amPM.tabIndex = -1;\n self.timeContainer.appendChild(self.amPM);\n }\n\n return self.timeContainer;\n }\n\n function buildWeekdays() {\n if (!self.weekdayContainer) self.weekdayContainer = createElement(\"div\", \"flatpickr-weekdays\");else clearNode(self.weekdayContainer);\n\n for (var i = self.config.showMonths; i--;) {\n var container = createElement(\"div\", \"flatpickr-weekdaycontainer\");\n self.weekdayContainer.appendChild(container);\n }\n\n updateWeekdays();\n return self.weekdayContainer;\n }\n\n function updateWeekdays() {\n var firstDayOfWeek = self.l10n.firstDayOfWeek;\n var weekdays = self.l10n.weekdays.shorthand.concat();\n\n if (firstDayOfWeek > 0 && firstDayOfWeek < weekdays.length) {\n weekdays = weekdays.splice(firstDayOfWeek, weekdays.length).concat(weekdays.splice(0, firstDayOfWeek));\n }\n\n for (var i = self.config.showMonths; i--;) {\n self.weekdayContainer.children[i].innerHTML = \"\\n \\n \" + weekdays.join(\"\") + \"\\n \\n \";\n }\n }\n\n function buildWeeks() {\n self.calendarContainer.classList.add(\"hasWeeks\");\n var weekWrapper = createElement(\"div\", \"flatpickr-weekwrapper\");\n weekWrapper.appendChild(createElement(\"span\", \"flatpickr-weekday\", self.l10n.weekAbbreviation));\n var weekNumbers = createElement(\"div\", \"flatpickr-weeks\");\n weekWrapper.appendChild(weekNumbers);\n return {\n weekWrapper: weekWrapper,\n weekNumbers: weekNumbers\n };\n }\n\n function changeMonth(value, is_offset) {\n if (is_offset === void 0) {\n is_offset = true;\n }\n\n var delta = is_offset ? value : value - self.currentMonth;\n if (delta < 0 && self._hidePrevMonthArrow === true || delta > 0 && self._hideNextMonthArrow === true) return;\n self.currentMonth += delta;\n\n if (self.currentMonth < 0 || self.currentMonth > 11) {\n self.currentYear += self.currentMonth > 11 ? 1 : -1;\n self.currentMonth = (self.currentMonth + 12) % 12;\n triggerEvent(\"onYearChange\");\n }\n\n buildDays();\n triggerEvent(\"onMonthChange\");\n updateNavigationCurrentMonth();\n }\n\n function clear(triggerChangeEvent) {\n if (triggerChangeEvent === void 0) {\n triggerChangeEvent = true;\n }\n\n self.input.value = \"\";\n if (self.altInput !== undefined) self.altInput.value = \"\";\n if (self.mobileInput !== undefined) self.mobileInput.value = \"\";\n self.selectedDates = [];\n self.latestSelectedDateObj = undefined;\n self.showTimeInput = false;\n\n if (self.config.enableTime === true) {\n setDefaultHours();\n }\n\n self.redraw();\n if (triggerChangeEvent) triggerEvent(\"onChange\");\n }\n\n function close() {\n self.isOpen = false;\n\n if (!self.isMobile) {\n self.calendarContainer.classList.remove(\"open\");\n\n self._input.classList.remove(\"active\");\n }\n\n triggerEvent(\"onClose\");\n }\n\n function destroy() {\n if (self.config !== undefined) triggerEvent(\"onDestroy\");\n\n for (var i = self._handlers.length; i--;) {\n var h = self._handlers[i];\n h.element.removeEventListener(h.event, h.handler, h.options);\n }\n\n self._handlers = [];\n\n if (self.mobileInput) {\n if (self.mobileInput.parentNode) self.mobileInput.parentNode.removeChild(self.mobileInput);\n self.mobileInput = undefined;\n } else if (self.calendarContainer && self.calendarContainer.parentNode) self.calendarContainer.parentNode.removeChild(self.calendarContainer);\n\n if (self.altInput) {\n self.input.type = \"text\";\n if (self.altInput.parentNode) self.altInput.parentNode.removeChild(self.altInput);\n delete self.altInput;\n }\n\n if (self.input) {\n self.input.type = self.input._type;\n self.input.classList.remove(\"flatpickr-input\");\n self.input.removeAttribute(\"readonly\");\n self.input.value = \"\";\n }\n\n [\"_showTimeInput\", \"latestSelectedDateObj\", \"_hideNextMonthArrow\", \"_hidePrevMonthArrow\", \"__hideNextMonthArrow\", \"__hidePrevMonthArrow\", \"isMobile\", \"isOpen\", \"selectedDateElem\", \"minDateHasTime\", \"maxDateHasTime\", \"days\", \"daysContainer\", \"_input\", \"_positionElement\", \"innerContainer\", \"rContainer\", \"monthNav\", \"todayDateElem\", \"calendarContainer\", \"weekdayContainer\", \"prevMonthNav\", \"nextMonthNav\", \"currentMonthElement\", \"currentYearElement\", \"navigationCurrentMonth\", \"selectedDateElem\", \"config\"].forEach(function (k) {\n try {\n delete self[k];\n } catch (_) {}\n });\n }\n\n function isCalendarElem(elem) {\n if (self.config.appendTo && self.config.appendTo.contains(elem)) return true;\n return self.calendarContainer.contains(elem);\n }\n\n function documentClick(e) {\n if (self.isOpen && !self.config.inline) {\n var isCalendarElement = isCalendarElem(e.target);\n var isInput = e.target === self.input || e.target === self.altInput || self.element.contains(e.target) || e.path && e.path.indexOf && (~e.path.indexOf(self.input) || ~e.path.indexOf(self.altInput));\n var lostFocus = e.type === \"blur\" ? isInput && e.relatedTarget && !isCalendarElem(e.relatedTarget) : !isInput && !isCalendarElement;\n var isIgnored = !self.config.ignoredFocusElements.some(function (elem) {\n return elem.contains(e.target);\n });\n\n if (lostFocus && isIgnored) {\n self.close();\n\n if (self.config.mode === \"range\" && self.selectedDates.length === 1) {\n self.clear(false);\n self.redraw();\n }\n }\n }\n }\n\n function changeYear(newYear) {\n if (!newYear || self.config.minDate && newYear < self.config.minDate.getFullYear() || self.config.maxDate && newYear > self.config.maxDate.getFullYear()) return;\n var newYearNum = newYear,\n isNewYear = self.currentYear !== newYearNum;\n self.currentYear = newYearNum || self.currentYear;\n\n if (self.config.maxDate && self.currentYear === self.config.maxDate.getFullYear()) {\n self.currentMonth = Math.min(self.config.maxDate.getMonth(), self.currentMonth);\n } else if (self.config.minDate && self.currentYear === self.config.minDate.getFullYear()) {\n self.currentMonth = Math.max(self.config.minDate.getMonth(), self.currentMonth);\n }\n\n if (isNewYear) {\n self.redraw();\n triggerEvent(\"onYearChange\");\n }\n }\n\n function isEnabled(date, timeless) {\n if (timeless === void 0) {\n timeless = true;\n }\n\n var dateToCheck = self.parseDate(date, undefined, timeless);\n if (self.config.minDate && dateToCheck && compareDates(dateToCheck, self.config.minDate, timeless !== undefined ? timeless : !self.minDateHasTime) < 0 || self.config.maxDate && dateToCheck && compareDates(dateToCheck, self.config.maxDate, timeless !== undefined ? timeless : !self.maxDateHasTime) > 0) return false;\n if (self.config.enable.length === 0 && self.config.disable.length === 0) return true;\n if (dateToCheck === undefined) return false;\n var bool = self.config.enable.length > 0,\n array = bool ? self.config.enable : self.config.disable;\n\n for (var i = 0, d; i < array.length; i++) {\n d = array[i];\n if (typeof d === \"function\" && d(dateToCheck)) return bool;else if (d instanceof Date && dateToCheck !== undefined && d.getTime() === dateToCheck.getTime()) return bool;else if (typeof d === \"string\" && dateToCheck !== undefined) {\n var parsed = self.parseDate(d, undefined, true);\n return parsed && parsed.getTime() === dateToCheck.getTime() ? bool : !bool;\n } else if (typeof d === \"object\" && dateToCheck !== undefined && d.from && d.to && dateToCheck.getTime() >= d.from.getTime() && dateToCheck.getTime() <= d.to.getTime()) return bool;\n }\n\n return !bool;\n }\n\n function isInView(elem) {\n if (self.daysContainer !== undefined) return elem.className.indexOf(\"hidden\") === -1 && self.daysContainer.contains(elem);\n return false;\n }\n\n function onKeyDown(e) {\n var isInput = e.target === self._input;\n var allowInput = self.config.allowInput;\n var allowKeydown = self.isOpen && (!allowInput || !isInput);\n var allowInlineKeydown = self.config.inline && isInput && !allowInput;\n\n if (e.keyCode === 13 && isInput) {\n if (allowInput) {\n self.setDate(self._input.value, true, e.target === self.altInput ? self.config.altFormat : self.config.dateFormat);\n return e.target.blur();\n } else self.open();\n } else if (isCalendarElem(e.target) || allowKeydown || allowInlineKeydown) {\n var isTimeObj = !!self.timeContainer && self.timeContainer.contains(e.target);\n\n switch (e.keyCode) {\n case 13:\n if (isTimeObj) updateTime();else selectDate(e);\n break;\n\n case 27:\n e.preventDefault();\n focusAndClose();\n break;\n\n case 8:\n case 46:\n if (isInput && !self.config.allowInput) {\n e.preventDefault();\n self.clear();\n }\n\n break;\n\n case 37:\n case 39:\n if (!isTimeObj) {\n e.preventDefault();\n\n if (self.daysContainer !== undefined && (allowInput === false || isInView(document.activeElement))) {\n var _delta = e.keyCode === 39 ? 1 : -1;\n\n if (!e.ctrlKey) focusOnDay(undefined, _delta);else {\n changeMonth(_delta);\n focusOnDay(getFirstAvailableDay(1), 0);\n }\n }\n } else if (self.hourElement) self.hourElement.focus();\n\n break;\n\n case 38:\n case 40:\n e.preventDefault();\n var delta = e.keyCode === 40 ? 1 : -1;\n\n if (self.daysContainer) {\n if (e.ctrlKey) {\n changeYear(self.currentYear - delta);\n focusOnDay(getFirstAvailableDay(1), 0);\n } else if (!isTimeObj) focusOnDay(undefined, delta * 7);\n } else if (self.config.enableTime) {\n if (!isTimeObj && self.hourElement) self.hourElement.focus();\n updateTime(e);\n\n self._debouncedChange();\n }\n\n break;\n\n case 9:\n if (!isTimeObj) break;\n var elems = [self.hourElement, self.minuteElement, self.secondElement, self.amPM].filter(function (x) {\n return x;\n });\n var i = elems.indexOf(e.target);\n\n if (i !== -1) {\n var target = elems[i + (e.shiftKey ? -1 : 1)];\n\n if (target !== undefined) {\n e.preventDefault();\n target.focus();\n }\n }\n\n break;\n\n default:\n break;\n }\n }\n\n if (self.amPM !== undefined && e.target === self.amPM) {\n switch (e.key) {\n case self.l10n.amPM[0].charAt(0):\n case self.l10n.amPM[0].charAt(0).toLowerCase():\n self.amPM.textContent = self.l10n.amPM[0];\n setHoursFromInputs();\n updateValue();\n break;\n\n case self.l10n.amPM[1].charAt(0):\n case self.l10n.amPM[1].charAt(0).toLowerCase():\n self.amPM.textContent = self.l10n.amPM[1];\n setHoursFromInputs();\n updateValue();\n break;\n }\n }\n\n triggerEvent(\"onKeyDown\", e);\n }\n\n function onMouseOver(elem) {\n if (self.selectedDates.length !== 1 || !elem.classList.contains(\"flatpickr-day\") || elem.classList.contains(\"disabled\")) return;\n var hoverDate = elem.dateObj.getTime(),\n initialDate = self.parseDate(self.selectedDates[0], undefined, true).getTime(),\n rangeStartDate = Math.min(hoverDate, self.selectedDates[0].getTime()),\n rangeEndDate = Math.max(hoverDate, self.selectedDates[0].getTime());\n var containsDisabled = false;\n var minRange = 0,\n maxRange = 0;\n\n for (var t = rangeStartDate; t < rangeEndDate; t += duration.DAY) {\n if (!isEnabled(new Date(t), true)) {\n containsDisabled = containsDisabled || t > rangeStartDate && t < rangeEndDate;\n if (t < initialDate && (!minRange || t > minRange)) minRange = t;else if (t > initialDate && (!maxRange || t < maxRange)) maxRange = t;\n }\n }\n\n for (var m = 0; m < self.config.showMonths; m++) {\n var month = self.daysContainer.children[m];\n var prevMonth = self.daysContainer.children[m - 1];\n\n var _loop = function _loop(i, l) {\n var dayElem = month.children[i],\n date = dayElem.dateObj;\n var timestamp = date.getTime();\n var outOfRange = minRange > 0 && timestamp < minRange || maxRange > 0 && timestamp > maxRange;\n\n if (outOfRange) {\n dayElem.classList.add(\"notAllowed\");\n [\"inRange\", \"startRange\", \"endRange\"].forEach(function (c) {\n dayElem.classList.remove(c);\n });\n return \"continue\";\n } else if (containsDisabled && !outOfRange) return \"continue\";\n\n [\"startRange\", \"inRange\", \"endRange\", \"notAllowed\"].forEach(function (c) {\n dayElem.classList.remove(c);\n });\n elem.classList.add(hoverDate < self.selectedDates[0].getTime() ? \"startRange\" : \"endRange\");\n\n if (month.contains(elem) || !(m > 0 && prevMonth && prevMonth.lastChild.dateObj.getTime() >= timestamp)) {\n if (initialDate < hoverDate && timestamp === initialDate) dayElem.classList.add(\"startRange\");else if (initialDate > hoverDate && timestamp === initialDate) dayElem.classList.add(\"endRange\");\n if (timestamp >= minRange && (maxRange === 0 || timestamp <= maxRange) && isBetween(timestamp, initialDate, hoverDate)) dayElem.classList.add(\"inRange\");\n }\n };\n\n for (var i = 0, l = month.children.length; i < l; i++) {\n var _ret = _loop(i, l);\n\n if (_ret === \"continue\") continue;\n }\n }\n }\n\n function onResize() {\n if (self.isOpen && !self.config.static && !self.config.inline) positionCalendar();\n }\n\n function open(e, positionElement) {\n if (positionElement === void 0) {\n positionElement = self._input;\n }\n\n if (self.isMobile === true) {\n if (e) {\n e.preventDefault();\n e.target && e.target.blur();\n }\n\n setTimeout(function () {\n self.mobileInput !== undefined && self.mobileInput.focus();\n }, 0);\n triggerEvent(\"onOpen\");\n return;\n }\n\n if (self._input.disabled || self.config.inline) return;\n var wasOpen = self.isOpen;\n self.isOpen = true;\n\n if (!wasOpen) {\n self.calendarContainer.classList.add(\"open\");\n\n self._input.classList.add(\"active\");\n\n triggerEvent(\"onOpen\");\n positionCalendar(positionElement);\n }\n\n if (self.config.enableTime === true && self.config.noCalendar === true) {\n if (self.selectedDates.length === 0) {\n self.setDate(self.config.minDate !== undefined ? new Date(self.config.minDate.getTime()) : new Date(), false);\n setDefaultHours();\n updateValue();\n }\n\n if (self.config.allowInput === false && (e === undefined || !self.timeContainer.contains(e.relatedTarget))) {\n setTimeout(function () {\n return self.hourElement.select();\n }, 50);\n }\n }\n }\n\n function minMaxDateSetter(type) {\n return function (date) {\n var dateObj = self.config[\"_\" + type + \"Date\"] = self.parseDate(date, self.config.dateFormat);\n var inverseDateObj = self.config[\"_\" + (type === \"min\" ? \"max\" : \"min\") + \"Date\"];\n\n if (dateObj !== undefined) {\n self[type === \"min\" ? \"minDateHasTime\" : \"maxDateHasTime\"] = dateObj.getHours() > 0 || dateObj.getMinutes() > 0 || dateObj.getSeconds() > 0;\n }\n\n if (self.selectedDates) {\n self.selectedDates = self.selectedDates.filter(function (d) {\n return isEnabled(d);\n });\n if (!self.selectedDates.length && type === \"min\") setHoursFromDate(dateObj);\n updateValue();\n }\n\n if (self.daysContainer) {\n redraw();\n if (dateObj !== undefined) self.currentYearElement[type] = dateObj.getFullYear().toString();else self.currentYearElement.removeAttribute(type);\n self.currentYearElement.disabled = !!inverseDateObj && dateObj !== undefined && inverseDateObj.getFullYear() === dateObj.getFullYear();\n }\n };\n }\n\n function parseConfig() {\n var boolOpts = [\"wrap\", \"weekNumbers\", \"allowInput\", \"clickOpens\", \"time_24hr\", \"enableTime\", \"noCalendar\", \"altInput\", \"shorthandCurrentMonth\", \"inline\", \"static\", \"enableSeconds\", \"disableMobile\"];\n var hooks = [\"onChange\", \"onClose\", \"onDayCreate\", \"onDestroy\", \"onKeyDown\", \"onMonthChange\", \"onOpen\", \"onParseConfig\", \"onReady\", \"onValueUpdate\", \"onYearChange\", \"onPreCalendarPosition\"];\n var userConfig = Object.assign({}, instanceConfig, JSON.parse(JSON.stringify(element.dataset || {})));\n var formats$$1 = {};\n self.config.parseDate = userConfig.parseDate;\n self.config.formatDate = userConfig.formatDate;\n Object.defineProperty(self.config, \"enable\", {\n get: function get() {\n return self.config._enable;\n },\n set: function set(dates) {\n self.config._enable = parseDateRules(dates);\n }\n });\n Object.defineProperty(self.config, \"disable\", {\n get: function get() {\n return self.config._disable;\n },\n set: function set(dates) {\n self.config._disable = parseDateRules(dates);\n }\n });\n var timeMode = userConfig.mode === \"time\";\n\n if (!userConfig.dateFormat && (userConfig.enableTime || timeMode)) {\n formats$$1.dateFormat = userConfig.noCalendar || timeMode ? \"H:i\" + (userConfig.enableSeconds ? \":S\" : \"\") : flatpickr.defaultConfig.dateFormat + \" H:i\" + (userConfig.enableSeconds ? \":S\" : \"\");\n }\n\n if (userConfig.altInput && (userConfig.enableTime || timeMode) && !userConfig.altFormat) {\n formats$$1.altFormat = userConfig.noCalendar || timeMode ? \"h:i\" + (userConfig.enableSeconds ? \":S K\" : \" K\") : flatpickr.defaultConfig.altFormat + (\" h:i\" + (userConfig.enableSeconds ? \":S\" : \"\") + \" K\");\n }\n\n Object.defineProperty(self.config, \"minDate\", {\n get: function get() {\n return self.config._minDate;\n },\n set: minMaxDateSetter(\"min\")\n });\n Object.defineProperty(self.config, \"maxDate\", {\n get: function get() {\n return self.config._maxDate;\n },\n set: minMaxDateSetter(\"max\")\n });\n\n var minMaxTimeSetter = function minMaxTimeSetter(type) {\n return function (val) {\n self.config[type === \"min\" ? \"_minTime\" : \"_maxTime\"] = self.parseDate(val, \"H:i\");\n };\n };\n\n Object.defineProperty(self.config, \"minTime\", {\n get: function get() {\n return self.config._minTime;\n },\n set: minMaxTimeSetter(\"min\")\n });\n Object.defineProperty(self.config, \"maxTime\", {\n get: function get() {\n return self.config._maxTime;\n },\n set: minMaxTimeSetter(\"max\")\n });\n\n if (userConfig.mode === \"time\") {\n self.config.noCalendar = true;\n self.config.enableTime = true;\n }\n\n Object.assign(self.config, formats$$1, userConfig);\n\n for (var i = 0; i < boolOpts.length; i++) {\n self.config[boolOpts[i]] = self.config[boolOpts[i]] === true || self.config[boolOpts[i]] === \"true\";\n }\n\n for (var _i = hooks.length; _i--;) {\n if (self.config[hooks[_i]] !== undefined) {\n self.config[hooks[_i]] = arrayify(self.config[hooks[_i]] || []).map(bindToInstance);\n }\n }\n\n self.isMobile = !self.config.disableMobile && !self.config.inline && self.config.mode === \"single\" && !self.config.disable.length && !self.config.enable.length && !self.config.weekNumbers && /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);\n\n for (var _i2 = 0; _i2 < self.config.plugins.length; _i2++) {\n var pluginConf = self.config.plugins[_i2](self) || {};\n\n for (var key in pluginConf) {\n if (~hooks.indexOf(key)) {\n self.config[key] = arrayify(pluginConf[key]).map(bindToInstance).concat(self.config[key]);\n } else if (typeof userConfig[key] === \"undefined\") self.config[key] = pluginConf[key];\n }\n }\n\n triggerEvent(\"onParseConfig\");\n }\n\n function setupLocale() {\n if (typeof self.config.locale !== \"object\" && typeof flatpickr.l10ns[self.config.locale] === \"undefined\") self.config.errorHandler(new Error(\"flatpickr: invalid locale \" + self.config.locale));\n self.l10n = Object.assign({}, flatpickr.l10ns.default, typeof self.config.locale === \"object\" ? self.config.locale : self.config.locale !== \"default\" ? flatpickr.l10ns[self.config.locale] : undefined);\n tokenRegex.K = \"(\" + self.l10n.amPM[0] + \"|\" + self.l10n.amPM[1] + \"|\" + self.l10n.amPM[0].toLowerCase() + \"|\" + self.l10n.amPM[1].toLowerCase() + \")\";\n self.formatDate = createDateFormatter(self);\n }\n\n function positionCalendar(customPositionElement) {\n if (self.calendarContainer === undefined) return;\n triggerEvent(\"onPreCalendarPosition\");\n var positionElement = customPositionElement || self._positionElement;\n var calendarHeight = Array.prototype.reduce.call(self.calendarContainer.children, function (acc, child) {\n return acc + child.offsetHeight;\n }, 0),\n calendarWidth = self.calendarContainer.offsetWidth,\n configPos = self.config.position.split(\" \"),\n configPosVertical = configPos[0],\n configPosHorizontal = configPos.length > 1 ? configPos[1] : null,\n inputBounds = positionElement.getBoundingClientRect(),\n distanceFromBottom = window.innerHeight - inputBounds.bottom,\n showOnTop = configPosVertical === \"above\" || configPosVertical !== \"below\" && distanceFromBottom < calendarHeight && inputBounds.top > calendarHeight;\n var top = window.pageYOffset + inputBounds.top + (!showOnTop ? positionElement.offsetHeight + 2 : -calendarHeight - 2);\n toggleClass(self.calendarContainer, \"arrowTop\", !showOnTop);\n toggleClass(self.calendarContainer, \"arrowBottom\", showOnTop);\n if (self.config.inline) return;\n var left = window.pageXOffset + inputBounds.left - (configPosHorizontal != null && configPosHorizontal === \"center\" ? (calendarWidth - inputBounds.width) / 2 : 0);\n var right = window.document.body.offsetWidth - inputBounds.right;\n var rightMost = left + calendarWidth > window.document.body.offsetWidth;\n toggleClass(self.calendarContainer, \"rightMost\", rightMost);\n if (self.config.static) return;\n self.calendarContainer.style.top = top + \"px\";\n\n if (!rightMost) {\n self.calendarContainer.style.left = left + \"px\";\n self.calendarContainer.style.right = \"auto\";\n } else {\n self.calendarContainer.style.left = \"auto\";\n self.calendarContainer.style.right = right + \"px\";\n }\n }\n\n function redraw() {\n if (self.config.noCalendar || self.isMobile) return;\n updateNavigationCurrentMonth();\n buildDays();\n }\n\n function focusAndClose() {\n self._input.focus();\n\n if (window.navigator.userAgent.indexOf(\"MSIE\") !== -1 || navigator.msMaxTouchPoints !== undefined) {\n setTimeout(self.close, 0);\n } else {\n self.close();\n }\n }\n\n function selectDate(e) {\n e.preventDefault();\n e.stopPropagation();\n\n var isSelectable = function isSelectable(day) {\n return day.classList && day.classList.contains(\"flatpickr-day\") && !day.classList.contains(\"disabled\") && !day.classList.contains(\"notAllowed\");\n };\n\n var t = findParent(e.target, isSelectable);\n if (t === undefined) return;\n var target = t;\n var selectedDate = self.latestSelectedDateObj = new Date(target.dateObj.getTime());\n var shouldChangeMonth = (selectedDate.getMonth() < self.currentMonth || selectedDate.getMonth() > self.currentMonth + self.config.showMonths - 1) && self.config.mode !== \"range\";\n self.selectedDateElem = target;\n if (self.config.mode === \"single\") self.selectedDates = [selectedDate];else if (self.config.mode === \"multiple\") {\n var selectedIndex = isDateSelected(selectedDate);\n if (selectedIndex) self.selectedDates.splice(parseInt(selectedIndex), 1);else self.selectedDates.push(selectedDate);\n } else if (self.config.mode === \"range\") {\n if (self.selectedDates.length === 2) self.clear(false);\n self.selectedDates.push(selectedDate);\n if (compareDates(selectedDate, self.selectedDates[0], true) !== 0) self.selectedDates.sort(function (a, b) {\n return a.getTime() - b.getTime();\n });\n }\n setHoursFromInputs();\n\n if (shouldChangeMonth) {\n var isNewYear = self.currentYear !== selectedDate.getFullYear();\n self.currentYear = selectedDate.getFullYear();\n self.currentMonth = selectedDate.getMonth();\n if (isNewYear) triggerEvent(\"onYearChange\");\n triggerEvent(\"onMonthChange\");\n }\n\n updateNavigationCurrentMonth();\n buildDays();\n setDefaultHours();\n updateValue();\n if (self.config.enableTime) setTimeout(function () {\n return self.showTimeInput = true;\n }, 50);\n\n if (self.config.mode === \"range\") {\n if (self.selectedDates.length === 1) {\n onMouseOver(target);\n } else updateNavigationCurrentMonth();\n }\n\n if (!shouldChangeMonth && self.config.mode !== \"range\" && self.config.showMonths === 1) focusOnDayElem(target);else self.selectedDateElem && self.selectedDateElem.focus();\n if (self.hourElement !== undefined) setTimeout(function () {\n return self.hourElement !== undefined && self.hourElement.select();\n }, 451);\n\n if (self.config.closeOnSelect) {\n var single = self.config.mode === \"single\" && !self.config.enableTime;\n var range = self.config.mode === \"range\" && self.selectedDates.length === 2 && !self.config.enableTime;\n\n if (single || range) {\n focusAndClose();\n }\n }\n\n triggerChange();\n }\n\n var CALLBACKS = {\n locale: [setupLocale, updateWeekdays],\n showMonths: [buildMonths, setCalendarWidth, buildWeekdays]\n };\n\n function set(option, value) {\n if (option !== null && typeof option === \"object\") Object.assign(self.config, option);else {\n self.config[option] = value;\n if (CALLBACKS[option] !== undefined) CALLBACKS[option].forEach(function (x) {\n return x();\n });\n }\n self.redraw();\n jumpToDate();\n }\n\n function setSelectedDate(inputDate, format) {\n var dates = [];\n if (inputDate instanceof Array) dates = inputDate.map(function (d) {\n return self.parseDate(d, format);\n });else if (inputDate instanceof Date || typeof inputDate === \"number\") dates = [self.parseDate(inputDate, format)];else if (typeof inputDate === \"string\") {\n switch (self.config.mode) {\n case \"single\":\n case \"time\":\n dates = [self.parseDate(inputDate, format)];\n break;\n\n case \"multiple\":\n dates = inputDate.split(self.config.conjunction).map(function (date) {\n return self.parseDate(date, format);\n });\n break;\n\n case \"range\":\n dates = inputDate.split(self.l10n.rangeSeparator).map(function (date) {\n return self.parseDate(date, format);\n });\n break;\n\n default:\n break;\n }\n } else self.config.errorHandler(new Error(\"Invalid date supplied: \" + JSON.stringify(inputDate)));\n self.selectedDates = dates.filter(function (d) {\n return d instanceof Date && isEnabled(d, false);\n });\n if (self.config.mode === \"range\") self.selectedDates.sort(function (a, b) {\n return a.getTime() - b.getTime();\n });\n }\n\n function setDate(date, triggerChange, format) {\n if (triggerChange === void 0) {\n triggerChange = false;\n }\n\n if (format === void 0) {\n format = self.config.dateFormat;\n }\n\n if (date !== 0 && !date || date instanceof Array && date.length === 0) return self.clear(triggerChange);\n setSelectedDate(date, format);\n self.showTimeInput = self.selectedDates.length > 0;\n self.latestSelectedDateObj = self.selectedDates[0];\n self.redraw();\n jumpToDate();\n setHoursFromDate();\n updateValue(triggerChange);\n if (triggerChange) triggerEvent(\"onChange\");\n }\n\n function parseDateRules(arr) {\n return arr.slice().map(function (rule) {\n if (typeof rule === \"string\" || typeof rule === \"number\" || rule instanceof Date) {\n return self.parseDate(rule, undefined, true);\n } else if (rule && typeof rule === \"object\" && rule.from && rule.to) return {\n from: self.parseDate(rule.from, undefined),\n to: self.parseDate(rule.to, undefined)\n };\n\n return rule;\n }).filter(function (x) {\n return x;\n });\n }\n\n function setupDates() {\n self.selectedDates = [];\n self.now = self.parseDate(self.config.now) || new Date();\n var preloadedDate = self.config.defaultDate || (self.input.placeholder.length > 0 && self.input.value === self.input.placeholder ? null : self.input.value);\n if (preloadedDate) setSelectedDate(preloadedDate, self.config.dateFormat);\n var initialDate = self.selectedDates.length > 0 ? self.selectedDates[0] : self.config.minDate && self.config.minDate.getTime() > self.now.getTime() ? self.config.minDate : self.config.maxDate && self.config.maxDate.getTime() < self.now.getTime() ? self.config.maxDate : self.now;\n self.currentYear = initialDate.getFullYear();\n self.currentMonth = initialDate.getMonth();\n if (self.selectedDates.length > 0) self.latestSelectedDateObj = self.selectedDates[0];\n if (self.config.minTime !== undefined) self.config.minTime = self.parseDate(self.config.minTime, \"H:i\");\n if (self.config.maxTime !== undefined) self.config.maxTime = self.parseDate(self.config.maxTime, \"H:i\");\n self.minDateHasTime = !!self.config.minDate && (self.config.minDate.getHours() > 0 || self.config.minDate.getMinutes() > 0 || self.config.minDate.getSeconds() > 0);\n self.maxDateHasTime = !!self.config.maxDate && (self.config.maxDate.getHours() > 0 || self.config.maxDate.getMinutes() > 0 || self.config.maxDate.getSeconds() > 0);\n Object.defineProperty(self, \"showTimeInput\", {\n get: function get() {\n return self._showTimeInput;\n },\n set: function set(bool) {\n self._showTimeInput = bool;\n if (self.calendarContainer) toggleClass(self.calendarContainer, \"showTimeInput\", bool);\n self.isOpen && positionCalendar();\n }\n });\n }\n\n function setupInputs() {\n self.input = self.config.wrap ? element.querySelector(\"[data-input]\") : element;\n\n if (!self.input) {\n self.config.errorHandler(new Error(\"Invalid input element specified\"));\n return;\n }\n\n self.input._type = self.input.type;\n self.input.type = \"text\";\n self.input.classList.add(\"flatpickr-input\");\n self._input = self.input;\n\n if (self.config.altInput) {\n self.altInput = createElement(self.input.nodeName, self.input.className + \" \" + self.config.altInputClass);\n self._input = self.altInput;\n self.altInput.placeholder = self.input.placeholder;\n self.altInput.disabled = self.input.disabled;\n self.altInput.required = self.input.required;\n self.altInput.tabIndex = self.input.tabIndex;\n self.altInput.type = \"text\";\n self.input.setAttribute(\"type\", \"hidden\");\n if (!self.config.static && self.input.parentNode) self.input.parentNode.insertBefore(self.altInput, self.input.nextSibling);\n }\n\n if (!self.config.allowInput) self._input.setAttribute(\"readonly\", \"readonly\");\n self._positionElement = self.config.positionElement || self._input;\n }\n\n function setupMobile() {\n var inputType = self.config.enableTime ? self.config.noCalendar ? \"time\" : \"datetime-local\" : \"date\";\n self.mobileInput = createElement(\"input\", self.input.className + \" flatpickr-mobile\");\n self.mobileInput.step = self.input.getAttribute(\"step\") || \"any\";\n self.mobileInput.tabIndex = 1;\n self.mobileInput.type = inputType;\n self.mobileInput.disabled = self.input.disabled;\n self.mobileInput.required = self.input.required;\n self.mobileInput.placeholder = self.input.placeholder;\n self.mobileFormatStr = inputType === \"datetime-local\" ? \"Y-m-d\\\\TH:i:S\" : inputType === \"date\" ? \"Y-m-d\" : \"H:i:S\";\n\n if (self.selectedDates.length > 0) {\n self.mobileInput.defaultValue = self.mobileInput.value = self.formatDate(self.selectedDates[0], self.mobileFormatStr);\n }\n\n if (self.config.minDate) self.mobileInput.min = self.formatDate(self.config.minDate, \"Y-m-d\");\n if (self.config.maxDate) self.mobileInput.max = self.formatDate(self.config.maxDate, \"Y-m-d\");\n self.input.type = \"hidden\";\n if (self.altInput !== undefined) self.altInput.type = \"hidden\";\n\n try {\n if (self.input.parentNode) self.input.parentNode.insertBefore(self.mobileInput, self.input.nextSibling);\n } catch (_a) {}\n\n bind(self.mobileInput, \"change\", function (e) {\n self.setDate(e.target.value, false, self.mobileFormatStr);\n triggerEvent(\"onChange\");\n triggerEvent(\"onClose\");\n });\n }\n\n function toggle(e) {\n if (self.isOpen === true) return self.close();\n self.open(e);\n }\n\n function triggerEvent(event, data) {\n var hooks = self.config[event];\n\n if (hooks !== undefined && hooks.length > 0) {\n for (var i = 0; hooks[i] && i < hooks.length; i++) {\n hooks[i](self.selectedDates, self.input.value, self, data);\n }\n }\n\n if (event === \"onChange\") {\n self.input.dispatchEvent(createEvent(\"change\"));\n self.input.dispatchEvent(createEvent(\"input\"));\n }\n }\n\n function createEvent(name) {\n var e = document.createEvent(\"Event\");\n e.initEvent(name, true, true);\n return e;\n }\n\n function isDateSelected(date) {\n for (var i = 0; i < self.selectedDates.length; i++) {\n if (compareDates(self.selectedDates[i], date) === 0) return \"\" + i;\n }\n\n return false;\n }\n\n function isDateInRange(date) {\n if (self.config.mode !== \"range\" || self.selectedDates.length < 2) return false;\n return compareDates(date, self.selectedDates[0]) >= 0 && compareDates(date, self.selectedDates[1]) <= 0;\n }\n\n function updateNavigationCurrentMonth() {\n if (self.config.noCalendar || self.isMobile || !self.monthNav) return;\n self.yearElements.forEach(function (yearElement, i) {\n var d = new Date(self.currentYear, self.currentMonth, 1);\n d.setMonth(self.currentMonth + i);\n self.monthElements[i].textContent = monthToStr(d.getMonth(), self.config.shorthandCurrentMonth, self.l10n) + \" \";\n yearElement.value = d.getFullYear().toString();\n });\n self._hidePrevMonthArrow = self.config.minDate !== undefined && (self.currentYear === self.config.minDate.getFullYear() ? self.currentMonth <= self.config.minDate.getMonth() : self.currentYear < self.config.minDate.getFullYear());\n self._hideNextMonthArrow = self.config.maxDate !== undefined && (self.currentYear === self.config.maxDate.getFullYear() ? self.currentMonth + 1 > self.config.maxDate.getMonth() : self.currentYear > self.config.maxDate.getFullYear());\n }\n\n function updateValue(triggerChange) {\n if (triggerChange === void 0) {\n triggerChange = true;\n }\n\n if (self.selectedDates.length === 0) return self.clear(triggerChange);\n\n if (self.mobileInput !== undefined && self.mobileFormatStr) {\n self.mobileInput.value = self.latestSelectedDateObj !== undefined ? self.formatDate(self.latestSelectedDateObj, self.mobileFormatStr) : \"\";\n }\n\n var joinChar = self.config.mode !== \"range\" ? self.config.conjunction : self.l10n.rangeSeparator;\n self.input.value = self.selectedDates.map(function (dObj) {\n return self.formatDate(dObj, self.config.dateFormat);\n }).join(joinChar);\n\n if (self.altInput !== undefined) {\n self.altInput.value = self.selectedDates.map(function (dObj) {\n return self.formatDate(dObj, self.config.altFormat);\n }).join(joinChar);\n }\n\n if (triggerChange !== false) triggerEvent(\"onValueUpdate\");\n }\n\n function onMonthNavClick(e) {\n e.preventDefault();\n var isPrevMonth = self.prevMonthNav.contains(e.target);\n var isNextMonth = self.nextMonthNav.contains(e.target);\n\n if (isPrevMonth || isNextMonth) {\n changeMonth(isPrevMonth ? -1 : 1);\n } else if (self.yearElements.indexOf(e.target) >= 0) {\n e.target.select();\n } else if (e.target.classList.contains(\"arrowUp\")) {\n self.changeYear(self.currentYear + 1);\n } else if (e.target.classList.contains(\"arrowDown\")) {\n self.changeYear(self.currentYear - 1);\n }\n }\n\n function timeWrapper(e) {\n e.preventDefault();\n var isKeyDown = e.type === \"keydown\",\n input = e.target;\n\n if (self.amPM !== undefined && e.target === self.amPM) {\n self.amPM.textContent = self.l10n.amPM[int(self.amPM.textContent === self.l10n.amPM[0])];\n }\n\n var min = parseFloat(input.getAttribute(\"data-min\")),\n max = parseFloat(input.getAttribute(\"data-max\")),\n step = parseFloat(input.getAttribute(\"data-step\")),\n curValue = parseInt(input.value, 10),\n delta = e.delta || (isKeyDown ? e.which === 38 ? 1 : -1 : 0);\n var newValue = curValue + step * delta;\n\n if (typeof input.value !== \"undefined\" && input.value.length === 2) {\n var isHourElem = input === self.hourElement,\n isMinuteElem = input === self.minuteElement;\n\n if (newValue < min) {\n newValue = max + newValue + int(!isHourElem) + (int(isHourElem) && int(!self.amPM));\n if (isMinuteElem) incrementNumInput(undefined, -1, self.hourElement);\n } else if (newValue > max) {\n newValue = input === self.hourElement ? newValue - max - int(!self.amPM) : min;\n if (isMinuteElem) incrementNumInput(undefined, 1, self.hourElement);\n }\n\n if (self.amPM && isHourElem && (step === 1 ? newValue + curValue === 23 : Math.abs(newValue - curValue) > step)) {\n self.amPM.textContent = self.l10n.amPM[int(self.amPM.textContent === self.l10n.amPM[0])];\n }\n\n input.value = pad(newValue);\n }\n }\n\n init();\n return self;\n }\n\n function _flatpickr(nodeList, config) {\n var nodes = Array.prototype.slice.call(nodeList);\n var instances = [];\n\n for (var i = 0; i < nodes.length; i++) {\n var node = nodes[i];\n\n try {\n if (node.getAttribute(\"data-fp-omit\") !== null) continue;\n\n if (node._flatpickr !== undefined) {\n node._flatpickr.destroy();\n\n node._flatpickr = undefined;\n }\n\n node._flatpickr = FlatpickrInstance(node, config || {});\n instances.push(node._flatpickr);\n } catch (e) {\n console.error(e);\n }\n }\n\n return instances.length === 1 ? instances[0] : instances;\n }\n\n if (typeof HTMLElement !== \"undefined\") {\n HTMLCollection.prototype.flatpickr = NodeList.prototype.flatpickr = function (config) {\n return _flatpickr(this, config);\n };\n\n HTMLElement.prototype.flatpickr = function (config) {\n return _flatpickr([this], config);\n };\n }\n\n var flatpickr = function flatpickr(selector, config) {\n if (selector instanceof NodeList) return _flatpickr(selector, config);else if (typeof selector === \"string\") return _flatpickr(window.document.querySelectorAll(selector), config);\n return _flatpickr([selector], config);\n };\n\n flatpickr.defaultConfig = defaults;\n flatpickr.l10ns = {\n en: Object.assign({}, english),\n default: Object.assign({}, english)\n };\n\n flatpickr.localize = function (l10n) {\n flatpickr.l10ns.default = Object.assign({}, flatpickr.l10ns.default, l10n);\n };\n\n flatpickr.setDefaults = function (config) {\n flatpickr.defaultConfig = Object.assign({}, flatpickr.defaultConfig, config);\n };\n\n flatpickr.parseDate = createDateParser({});\n flatpickr.formatDate = createDateFormatter({});\n flatpickr.compareDates = compareDates;\n\n if (typeof jQuery !== \"undefined\") {\n jQuery.fn.flatpickr = function (config) {\n return _flatpickr(this, config);\n };\n }\n\n Date.prototype.fp_incr = function (days) {\n return new Date(this.getFullYear(), this.getMonth(), this.getDate() + (typeof days === \"string\" ? parseInt(days, 10) : days));\n };\n\n if (typeof window !== \"undefined\") {\n window.flatpickr = flatpickr;\n }\n\n return flatpickr;\n\n})));\n\n\n/***/ }),\n/* 124 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"
\";\n\n/***/ }),\n/* 125 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _merge2 = __webpack_require__(33);\n\nvar _merge3 = _interopRequireDefault(_merge2);\n\n__webpack_require__(156);\n\n__webpack_require__(157);\n\n__webpack_require__(158);\n\n__webpack_require__(159);\n\n__webpack_require__(160);\n\n__webpack_require__(161);\n\n__webpack_require__(162);\n\n__webpack_require__(163);\n\n__webpack_require__(164);\n\n__webpack_require__(165);\n\n__webpack_require__(166);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _class = function () {\n function _class() {\n (0, _classCallCheck3.default)(this, _class);\n\n this.locale = \"en\";\n this.options = {\n altInputClass: \"oui-calendar__control_alt\",\n allowInput: false,\n dateFormat: \"Y-m-d\",\n disableMobile: true,\n maxDate: null,\n minDate: null,\n mode: \"single\",\n nextArrow: '',\n prevArrow: '',\n showMonths: 1\n };\n }\n\n (0, _createClass3.default)(_class, [{\n key: \"setLocale\",\n value: function setLocale(locale) {\n this.locale = locale;\n return this;\n }\n }, {\n key: \"setOptions\",\n value: function setOptions(options) {\n this.options = (0, _merge3.default)(this.options, options);\n return this;\n }\n }, {\n key: \"$get\",\n value: function $get() {\n return angular.copy({\n locale: this.locale,\n options: this.options\n });\n }\n }]);\n return _class;\n}();\n\nexports.default = _class;\n\n/***/ }),\n/* 126 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Stack = __webpack_require__(34),\n assignMergeValue = __webpack_require__(60),\n baseFor = __webpack_require__(134),\n baseMergeDeep = __webpack_require__(136),\n isObject = __webpack_require__(15),\n keysIn = __webpack_require__(72),\n safeGet = __webpack_require__(71);\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n if (isObject(srcValue)) {\n stack || (stack = new Stack);\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n}\n\nmodule.exports = baseMerge;\n\n\n/***/ }),\n/* 127 */\n/***/ (function(module, exports) {\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n\n\n/***/ }),\n/* 128 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar assocIndexOf = __webpack_require__(23);\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n\n\n/***/ }),\n/* 129 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar assocIndexOf = __webpack_require__(23);\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n\n\n/***/ }),\n/* 130 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar assocIndexOf = __webpack_require__(23);\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n\n\n/***/ }),\n/* 131 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar assocIndexOf = __webpack_require__(23);\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n\n\n/***/ }),\n/* 132 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar getNative = __webpack_require__(133);\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n\n\n/***/ }),\n/* 133 */\n/***/ (function(module, exports) {\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n\n\n/***/ }),\n/* 134 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar createBaseFor = __webpack_require__(135);\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n\n\n/***/ }),\n/* 135 */\n/***/ (function(module, exports) {\n\n/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n\n\n/***/ }),\n/* 136 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar assignMergeValue = __webpack_require__(60),\n cloneBuffer = __webpack_require__(137),\n cloneTypedArray = __webpack_require__(138),\n copyArray = __webpack_require__(141),\n initCloneObject = __webpack_require__(142),\n isArguments = __webpack_require__(65),\n isArray = __webpack_require__(11),\n isArrayLikeObject = __webpack_require__(145),\n isBuffer = __webpack_require__(69),\n isFunction = __webpack_require__(67),\n isObject = __webpack_require__(15),\n isPlainObject = __webpack_require__(146),\n isTypedArray = __webpack_require__(70),\n safeGet = __webpack_require__(71),\n toPlainObject = __webpack_require__(147);\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || (srcIndex && isFunction(objValue))) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\n\nmodule.exports = baseMergeDeep;\n\n\n/***/ }),\n/* 137 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(module) {var root = __webpack_require__(37);\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nmodule.exports = cloneBuffer;\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(61)(module)))\n\n/***/ }),\n/* 138 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar cloneArrayBuffer = __webpack_require__(139);\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nmodule.exports = cloneTypedArray;\n\n\n/***/ }),\n/* 139 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Uint8Array = __webpack_require__(140);\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nmodule.exports = cloneArrayBuffer;\n\n\n/***/ }),\n/* 140 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar root = __webpack_require__(37);\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n\n\n/***/ }),\n/* 141 */\n/***/ (function(module, exports) {\n\n/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = copyArray;\n\n\n/***/ }),\n/* 142 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar baseCreate = __webpack_require__(143),\n getPrototype = __webpack_require__(64),\n isPrototype = __webpack_require__(144);\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nmodule.exports = initCloneObject;\n\n\n/***/ }),\n/* 143 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(15);\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nmodule.exports = baseCreate;\n\n\n/***/ }),\n/* 144 */\n/***/ (function(module, exports) {\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n\n\n/***/ }),\n/* 145 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isArrayLike = __webpack_require__(66),\n isObjectLike = __webpack_require__(18);\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\nmodule.exports = isArrayLikeObject;\n\n\n/***/ }),\n/* 146 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar baseGetTag = __webpack_require__(24),\n getPrototype = __webpack_require__(64),\n isObjectLike = __webpack_require__(18);\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nmodule.exports = isPlainObject;\n\n\n/***/ }),\n/* 147 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar copyObject = __webpack_require__(148),\n keysIn = __webpack_require__(72);\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\n\nmodule.exports = toPlainObject;\n\n\n/***/ }),\n/* 148 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar assignValue = __webpack_require__(149),\n baseAssignValue = __webpack_require__(36);\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nmodule.exports = copyObject;\n\n\n/***/ }),\n/* 149 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar baseAssignValue = __webpack_require__(36),\n eq = __webpack_require__(35);\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n\n\n/***/ }),\n/* 150 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar baseRest = __webpack_require__(151),\n isIterateeCall = __webpack_require__(155);\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\nmodule.exports = createAssigner;\n\n\n/***/ }),\n/* 151 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar identity = __webpack_require__(73),\n overRest = __webpack_require__(152),\n setToString = __webpack_require__(154);\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nmodule.exports = baseRest;\n\n\n/***/ }),\n/* 152 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar apply = __webpack_require__(153);\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nmodule.exports = overRest;\n\n\n/***/ }),\n/* 153 */\n/***/ (function(module, exports) {\n\n/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nmodule.exports = apply;\n\n\n/***/ }),\n/* 154 */\n/***/ (function(module, exports) {\n\n/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n/***/ }),\n/* 155 */\n/***/ (function(module, exports) {\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n\n\n/***/ }),\n/* 156 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* flatpickr v4.5.0, @license MIT */\n(function (global, factory) {\n true ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (factory((global.cs = {})));\n}(this, (function (exports) { 'use strict';\n\n var fp = typeof window !== \"undefined\" && window.flatpickr !== undefined ? window.flatpickr : {\n l10ns: {}\n };\n var Czech = {\n weekdays: {\n shorthand: [\"Ne\", \"Po\", \"Út\", \"St\", \"Čt\", \"Pá\", \"So\"],\n longhand: [\"Neděle\", \"Pondělí\", \"Úterý\", \"Středa\", \"Čtvrtek\", \"Pátek\", \"Sobota\"]\n },\n months: {\n shorthand: [\"Led\", \"Ún\", \"Bře\", \"Dub\", \"Kvě\", \"Čer\", \"Čvc\", \"Srp\", \"Zář\", \"Říj\", \"Lis\", \"Pro\"],\n longhand: [\"Leden\", \"Únor\", \"Březen\", \"Duben\", \"Květen\", \"Červen\", \"Červenec\", \"Srpen\", \"Září\", \"Říjen\", \"Listopad\", \"Prosinec\"]\n },\n firstDayOfWeek: 1,\n ordinal: function ordinal() {\n return \".\";\n },\n rangeSeparator: \" do \",\n weekAbbreviation: \"Týd.\",\n scrollTitle: \"Rolujte pro změnu\",\n toggleTitle: \"Přepnout dopoledne/odpoledne\",\n amPM: [\"dop.\", \"odp.\"],\n yearAriaLabel: \"Rok\"\n };\n fp.l10ns.cs = Czech;\n var cs = fp.l10ns;\n\n exports.Czech = Czech;\n exports.default = cs;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n\n\n/***/ }),\n/* 157 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* flatpickr v4.5.0, @license MIT */\n(function (global, factory) {\n true ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (factory((global.de = {})));\n}(this, (function (exports) { 'use strict';\n\n var fp = typeof window !== \"undefined\" && window.flatpickr !== undefined ? window.flatpickr : {\n l10ns: {}\n };\n var German = {\n weekdays: {\n shorthand: [\"So\", \"Mo\", \"Di\", \"Mi\", \"Do\", \"Fr\", \"Sa\"],\n longhand: [\"Sonntag\", \"Montag\", \"Dienstag\", \"Mittwoch\", \"Donnerstag\", \"Freitag\", \"Samstag\"]\n },\n months: {\n shorthand: [\"Jan\", \"Feb\", \"Mär\", \"Apr\", \"Mai\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Okt\", \"Nov\", \"Dez\"],\n longhand: [\"Januar\", \"Februar\", \"März\", \"April\", \"Mai\", \"Juni\", \"Juli\", \"August\", \"September\", \"Oktober\", \"November\", \"Dezember\"]\n },\n firstDayOfWeek: 1,\n weekAbbreviation: \"KW\",\n rangeSeparator: \" bis \",\n scrollTitle: \"Zum Ändern scrollen\",\n toggleTitle: \"Zum Umschalten klicken\"\n };\n fp.l10ns.de = German;\n var de = fp.l10ns;\n\n exports.German = German;\n exports.default = de;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n\n\n/***/ }),\n/* 158 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* flatpickr v4.5.0, @license MIT */\n(function (global, factory) {\n true ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (factory((global.es = {})));\n}(this, (function (exports) { 'use strict';\n\n var fp = typeof window !== \"undefined\" && window.flatpickr !== undefined ? window.flatpickr : {\n l10ns: {}\n };\n var Spanish = {\n weekdays: {\n shorthand: [\"Dom\", \"Lun\", \"Mar\", \"Mié\", \"Jue\", \"Vie\", \"Sáb\"],\n longhand: [\"Domingo\", \"Lunes\", \"Martes\", \"Miércoles\", \"Jueves\", \"Viernes\", \"Sábado\"]\n },\n months: {\n shorthand: [\"Ene\", \"Feb\", \"Mar\", \"Abr\", \"May\", \"Jun\", \"Jul\", \"Ago\", \"Sep\", \"Oct\", \"Nov\", \"Dic\"],\n longhand: [\"Enero\", \"Febrero\", \"Marzo\", \"Abril\", \"Mayo\", \"Junio\", \"Julio\", \"Agosto\", \"Septiembre\", \"Octubre\", \"Noviembre\", \"Diciembre\"]\n },\n ordinal: function ordinal() {\n return \"º\";\n },\n firstDayOfWeek: 1,\n rangeSeparator: \" a \"\n };\n fp.l10ns.es = Spanish;\n var es = fp.l10ns;\n\n exports.Spanish = Spanish;\n exports.default = es;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n\n\n/***/ }),\n/* 159 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* flatpickr v4.5.0, @license MIT */\n(function (global, factory) {\n true ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (factory((global.fi = {})));\n}(this, (function (exports) { 'use strict';\n\n var fp = typeof window !== \"undefined\" && window.flatpickr !== undefined ? window.flatpickr : {\n l10ns: {}\n };\n var Finnish = {\n firstDayOfWeek: 1,\n weekdays: {\n shorthand: [\"Su\", \"Ma\", \"Ti\", \"Ke\", \"To\", \"Pe\", \"La\"],\n longhand: [\"Sunnuntai\", \"Maanantai\", \"Tiistai\", \"Keskiviikko\", \"Torstai\", \"Perjantai\", \"Lauantai\"]\n },\n months: {\n shorthand: [\"Tammi\", \"Helmi\", \"Maalis\", \"Huhti\", \"Touko\", \"Kesä\", \"Heinä\", \"Elo\", \"Syys\", \"Loka\", \"Marras\", \"Joulu\"],\n longhand: [\"Tammikuu\", \"Helmikuu\", \"Maaliskuu\", \"Huhtikuu\", \"Toukokuu\", \"Kesäkuu\", \"Heinäkuu\", \"Elokuu\", \"Syyskuu\", \"Lokakuu\", \"Marraskuu\", \"Joulukuu\"]\n },\n ordinal: function ordinal() {\n return \".\";\n }\n };\n fp.l10ns.fi = Finnish;\n var fi = fp.l10ns;\n\n exports.Finnish = Finnish;\n exports.default = fi;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n\n\n/***/ }),\n/* 160 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* flatpickr v4.5.0, @license MIT */\n(function (global, factory) {\n true ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (factory((global.fr = {})));\n}(this, (function (exports) { 'use strict';\n\n var fp = typeof window !== \"undefined\" && window.flatpickr !== undefined ? window.flatpickr : {\n l10ns: {}\n };\n var French = {\n firstDayOfWeek: 1,\n weekdays: {\n shorthand: [\"dim\", \"lun\", \"mar\", \"mer\", \"jeu\", \"ven\", \"sam\"],\n longhand: [\"dimanche\", \"lundi\", \"mardi\", \"mercredi\", \"jeudi\", \"vendredi\", \"samedi\"]\n },\n months: {\n shorthand: [\"janv\", \"févr\", \"mars\", \"avr\", \"mai\", \"juin\", \"juil\", \"août\", \"sept\", \"oct\", \"nov\", \"déc\"],\n longhand: [\"janvier\", \"février\", \"mars\", \"avril\", \"mai\", \"juin\", \"juillet\", \"août\", \"septembre\", \"octobre\", \"novembre\", \"décembre\"]\n },\n ordinal: function ordinal(nth) {\n if (nth > 1) return \"\";\n return \"er\";\n },\n rangeSeparator: \" au \",\n weekAbbreviation: \"Sem\",\n scrollTitle: \"Défiler pour augmenter la valeur\",\n toggleTitle: \"Cliquer pour basculer\"\n };\n fp.l10ns.fr = French;\n var fr = fp.l10ns;\n\n exports.French = French;\n exports.default = fr;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n\n\n/***/ }),\n/* 161 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* flatpickr v4.5.0, @license MIT */\n(function (global, factory) {\n true ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (factory((global.it = {})));\n}(this, (function (exports) { 'use strict';\n\n var fp = typeof window !== \"undefined\" && window.flatpickr !== undefined ? window.flatpickr : {\n l10ns: {}\n };\n var Italian = {\n weekdays: {\n shorthand: [\"Dom\", \"Lun\", \"Mar\", \"Mer\", \"Gio\", \"Ven\", \"Sab\"],\n longhand: [\"Domenica\", \"Lunedì\", \"Martedì\", \"Mercoledì\", \"Giovedì\", \"Venerdì\", \"Sabato\"]\n },\n months: {\n shorthand: [\"Gen\", \"Feb\", \"Mar\", \"Apr\", \"Mag\", \"Giu\", \"Lug\", \"Ago\", \"Set\", \"Ott\", \"Nov\", \"Dic\"],\n longhand: [\"Gennaio\", \"Febbraio\", \"Marzo\", \"Aprile\", \"Maggio\", \"Giugno\", \"Luglio\", \"Agosto\", \"Settembre\", \"Ottobre\", \"Novembre\", \"Dicembre\"]\n },\n firstDayOfWeek: 1,\n ordinal: function ordinal() {\n return \"°\";\n },\n rangeSeparator: \" al \",\n weekAbbreviation: \"Se\",\n scrollTitle: \"Scrolla per aumentare\",\n toggleTitle: \"Clicca per cambiare\"\n };\n fp.l10ns.it = Italian;\n var it = fp.l10ns;\n\n exports.Italian = Italian;\n exports.default = it;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n\n\n/***/ }),\n/* 162 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* flatpickr v4.5.0, @license MIT */\n(function (global, factory) {\n true ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (factory((global.lt = {})));\n}(this, (function (exports) { 'use strict';\n\n var fp = typeof window !== \"undefined\" && window.flatpickr !== undefined ? window.flatpickr : {\n l10ns: {}\n };\n var Lithuanian = {\n weekdays: {\n shorthand: [\"S\", \"Pr\", \"A\", \"T\", \"K\", \"Pn\", \"Š\"],\n longhand: [\"Sekmadienis\", \"Pirmadienis\", \"Antradienis\", \"Trečiadienis\", \"Ketvirtadienis\", \"Penktadienis\", \"Šeštadienis\"]\n },\n months: {\n shorthand: [\"Sau\", \"Vas\", \"Kov\", \"Bal\", \"Geg\", \"Bir\", \"Lie\", \"Rgp\", \"Rgs\", \"Spl\", \"Lap\", \"Grd\"],\n longhand: [\"Sausis\", \"Vasaris\", \"Kovas\", \"Balandis\", \"Gegužė\", \"Birželis\", \"Liepa\", \"Rugpjūtis\", \"Rugsėjis\", \"Spalis\", \"Lapkritis\", \"Gruodis\"]\n },\n firstDayOfWeek: 1,\n ordinal: function ordinal() {\n return \"-a\";\n },\n weekAbbreviation: \"Sav\",\n scrollTitle: \"Keisti laiką pelės rateliu\",\n toggleTitle: \"Perjungti laiko formatą\"\n };\n fp.l10ns.lt = Lithuanian;\n var lt = fp.l10ns;\n\n exports.Lithuanian = Lithuanian;\n exports.default = lt;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n\n\n/***/ }),\n/* 163 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* flatpickr v4.5.0, @license MIT */\n(function (global, factory) {\n true ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (factory((global.nl = {})));\n}(this, (function (exports) { 'use strict';\n\n var fp = typeof window !== \"undefined\" && window.flatpickr !== undefined ? window.flatpickr : {\n l10ns: {}\n };\n var Dutch = {\n weekdays: {\n shorthand: [\"zo\", \"ma\", \"di\", \"wo\", \"do\", \"vr\", \"za\"],\n longhand: [\"zondag\", \"maandag\", \"dinsdag\", \"woensdag\", \"donderdag\", \"vrijdag\", \"zaterdag\"]\n },\n months: {\n shorthand: [\"jan\", \"feb\", \"mrt\", \"apr\", \"mei\", \"jun\", \"jul\", \"aug\", \"sept\", \"okt\", \"nov\", \"dec\"],\n longhand: [\"januari\", \"februari\", \"maart\", \"april\", \"mei\", \"juni\", \"juli\", \"augustus\", \"september\", \"oktober\", \"november\", \"december\"]\n },\n firstDayOfWeek: 1,\n weekAbbreviation: \"wk\",\n rangeSeparator: \" tot \",\n scrollTitle: \"Scroll voor volgende / vorige\",\n toggleTitle: \"Klik om te wisselen\",\n ordinal: function ordinal(nth) {\n if (nth === 1 || nth === 8 || nth >= 20) return \"ste\";\n return \"de\";\n }\n };\n fp.l10ns.nl = Dutch;\n var nl = fp.l10ns;\n\n exports.Dutch = Dutch;\n exports.default = nl;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n\n\n/***/ }),\n/* 164 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* flatpickr v4.5.0, @license MIT */\n(function (global, factory) {\n true ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (factory((global.pl = {})));\n}(this, (function (exports) { 'use strict';\n\n var fp = typeof window !== \"undefined\" && window.flatpickr !== undefined ? window.flatpickr : {\n l10ns: {}\n };\n var Polish = {\n weekdays: {\n shorthand: [\"Nd\", \"Pn\", \"Wt\", \"Śr\", \"Cz\", \"Pt\", \"So\"],\n longhand: [\"Niedziela\", \"Poniedziałek\", \"Wtorek\", \"Środa\", \"Czwartek\", \"Piątek\", \"Sobota\"]\n },\n months: {\n shorthand: [\"Sty\", \"Lut\", \"Mar\", \"Kwi\", \"Maj\", \"Cze\", \"Lip\", \"Sie\", \"Wrz\", \"Paź\", \"Lis\", \"Gru\"],\n longhand: [\"Styczeń\", \"Luty\", \"Marzec\", \"Kwiecień\", \"Maj\", \"Czerwiec\", \"Lipiec\", \"Sierpień\", \"Wrzesień\", \"Październik\", \"Listopad\", \"Grudzień\"]\n },\n rangeSeparator: \" do \",\n weekAbbreviation: \"tydz.\",\n scrollTitle: \"Przwiń aby zwiększyć\",\n toggleTitle: \"Kliknij aby przełączyć\",\n firstDayOfWeek: 1,\n ordinal: function ordinal() {\n return \".\";\n }\n };\n fp.l10ns.pl = Polish;\n var pl = fp.l10ns;\n\n exports.Polish = Polish;\n exports.default = pl;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n\n\n/***/ }),\n/* 165 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* flatpickr v4.5.0, @license MIT */\n(function (global, factory) {\n true ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (factory((global.pt = {})));\n}(this, (function (exports) { 'use strict';\n\n var fp = typeof window !== \"undefined\" && window.flatpickr !== undefined ? window.flatpickr : {\n l10ns: {}\n };\n var Portuguese = {\n weekdays: {\n shorthand: [\"Dom\", \"Seg\", \"Ter\", \"Qua\", \"Qui\", \"Sex\", \"Sáb\"],\n longhand: [\"Domingo\", \"Segunda-feira\", \"Terça-feira\", \"Quarta-feira\", \"Quinta-feira\", \"Sexta-feira\", \"Sábado\"]\n },\n months: {\n shorthand: [\"Jan\", \"Fev\", \"Mar\", \"Abr\", \"Mai\", \"Jun\", \"Jul\", \"Ago\", \"Set\", \"Out\", \"Nov\", \"Dez\"],\n longhand: [\"Janeiro\", \"Fevereiro\", \"Março\", \"Abril\", \"Maio\", \"Junho\", \"Julho\", \"Agosto\", \"Setembro\", \"Outubro\", \"Novembro\", \"Dezembro\"]\n },\n rangeSeparator: \" até \"\n };\n fp.l10ns.pt = Portuguese;\n var pt = fp.l10ns;\n\n exports.Portuguese = Portuguese;\n exports.default = pt;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n\n\n/***/ }),\n/* 166 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* flatpickr v4.5.0, @license MIT */\n(function (global, factory) {\n true ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (factory((global.sk = {})));\n}(this, (function (exports) { 'use strict';\n\n var fp = typeof window !== \"undefined\" && window.flatpickr !== undefined ? window.flatpickr : {\n l10ns: {}\n };\n var Slovak = {\n weekdays: {\n shorthand: [\"Ned\", \"Pon\", \"Ut\", \"Str\", \"Štv\", \"Pia\", \"Sob\"],\n longhand: [\"Nedeľa\", \"Pondelok\", \"Utorok\", \"Streda\", \"Štvrtok\", \"Piatok\", \"Sobota\"]\n },\n months: {\n shorthand: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"Máj\", \"Jún\", \"Júl\", \"Aug\", \"Sep\", \"Okt\", \"Nov\", \"Dec\"],\n longhand: [\"Január\", \"Február\", \"Marec\", \"Apríl\", \"Máj\", \"Jún\", \"Júl\", \"August\", \"September\", \"Október\", \"November\", \"December\"]\n },\n firstDayOfWeek: 1,\n rangeSeparator: \" do \",\n ordinal: function ordinal() {\n return \".\";\n }\n };\n fp.l10ns.sk = Slovak;\n var sk = fp.l10ns;\n\n exports.Slovak = Slovak;\n exports.default = sk;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n\n\n/***/ }),\n/* 167 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _checkboxComponent = __webpack_require__(168);\n\nvar _checkboxComponent2 = _interopRequireDefault(_checkboxComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.checkbox\", []).component(\"ouiCheckbox\", _checkboxComponent2.default);\n\n/***/ }),\n/* 168 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _checkbox = __webpack_require__(169);\n\nvar _checkbox2 = _interopRequireDefault(_checkbox);\n\nvar _checkbox3 = __webpack_require__(170);\n\nvar _checkbox4 = _interopRequireDefault(_checkbox3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n template: _checkbox4.default,\n controller: _checkbox2.default,\n bindings: {\n text: \"@\",\n description: \"@?\",\n id: \"@?\",\n name: \"@?\",\n model: \"=?\",\n onChange: \"&?\",\n disabled: \" \";\n\n/***/ }),\n/* 171 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _collapsibleComponent = __webpack_require__(172);\n\nvar _collapsibleComponent2 = _interopRequireDefault(_collapsibleComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.collapsible\", []).component(\"ouiCollapsible\", _collapsibleComponent2.default);\n\n/***/ }),\n/* 172 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _collapsibleController = __webpack_require__(173);\n\nvar _collapsibleController2 = _interopRequireDefault(_collapsibleController);\n\nvar _collapsible = __webpack_require__(174);\n\nvar _collapsible2 = _interopRequireDefault(_collapsible);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n template: _collapsible2.default,\n controller: _collapsibleController2.default,\n bindings: {\n id: \"@\",\n heading: \"@\",\n ariaLabel: \"@?\",\n expanded: \" {{::$ctrl.heading}}
\";\n\n/***/ }),\n/* 175 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _radio = __webpack_require__(176);\n\nvar _radio2 = _interopRequireDefault(_radio);\n\nvar _radio3 = __webpack_require__(177);\n\nvar _radio4 = _interopRequireDefault(_radio3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n require: {\n radioGroup: \"?^ouiRadioGroup\",\n radioToggleGroup: \"?^ouiRadioToggleGroup\"\n },\n template: _radio4.default,\n controller: _radio2.default,\n bindings: {\n text: \"@\",\n value: \"<\",\n description: \"@?\",\n id: \"@?\",\n name: \"@?\",\n model: \"=?\",\n onChange: \"&?\",\n disabled: \" \";\n\n/***/ }),\n/* 178 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _messageComponent = __webpack_require__(179);\n\nvar _messageComponent2 = _interopRequireDefault(_messageComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.message\", []).component(\"ouiMessage\", _messageComponent2.default);\n\n/***/ }),\n/* 179 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _message = __webpack_require__(180);\n\nvar _message2 = _interopRequireDefault(_message);\n\nvar _message3 = __webpack_require__(181);\n\nvar _message4 = _interopRequireDefault(_message3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n template: _message4.default,\n controller: _message2.default,\n bindings: {\n type: \"@\",\n ariaCloseButtonLabel: \"@?\",\n dismissable: \"
\";\n\n/***/ }),\n/* 182 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _spinnerComponent = __webpack_require__(183);\n\nvar _spinnerComponent2 = _interopRequireDefault(_spinnerComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.spinner\", []).component(\"ouiSpinner\", _spinnerComponent2.default);\n\n/***/ }),\n/* 183 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _spinner = __webpack_require__(184);\n\nvar _spinner2 = _interopRequireDefault(_spinner);\n\nvar _spinner3 = __webpack_require__(185);\n\nvar _spinner4 = _interopRequireDefault(_spinner3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n template: _spinner4.default,\n controller: _spinner2.default,\n bindings: {\n size: \"@?\"\n }\n};\n\n/***/ }),\n/* 184 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _class = function () {\n _class.$inject = [\"$element\"];\n function _class($element) {\n \"ngInject\";\n\n (0, _classCallCheck3.default)(this, _class);\n this.$element = $element;\n }\n\n (0, _createClass3.default)(_class, [{\n key: \"$onInit\",\n value: function $onInit() {\n this.size = this.size || \"m\";\n }\n }, {\n key: \"$postLink\",\n value: function $postLink() {\n this.$element.addClass(\"oui-spinner oui-spinner_\" + this.size);\n }\n }]);\n return _class;\n}();\n\nexports.default = _class;\n\n/***/ }),\n/* 185 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"
\";\n\n/***/ }),\n/* 186 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _backButtonComponent = __webpack_require__(187);\n\nvar _backButtonComponent2 = _interopRequireDefault(_backButtonComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.back-button\", []).component(\"ouiBackButton\", _backButtonComponent2.default);\n\n/***/ }),\n/* 187 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _backButton = __webpack_require__(188);\n\nvar _backButton2 = _interopRequireDefault(_backButton);\n\nvar _backButton3 = __webpack_require__(189);\n\nvar _backButton4 = _interopRequireDefault(_backButton3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n template: _backButton4.default,\n controller: _backButton2.default,\n bindings: {\n id: \"@?\",\n name: \"@?\",\n ariaLabel: \"@?\",\n heading: \"@?\",\n title: \"@?\",\n onClick: \"&?\",\n href: \"@?\"\n }\n};\n\n/***/ }),\n/* 188 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _class = function () {\n _class.$inject = [\"$attrs\", \"$element\", \"$timeout\", \"$window\"];\n function _class($attrs, $element, $timeout, $window) {\n \"ngInject\";\n\n (0, _classCallCheck3.default)(this, _class);\n this.$attrs = $attrs;\n this.$element = $element;\n this.$timeout = $timeout;\n this.$window = $window;\n }\n\n (0, _createClass3.default)(_class, [{\n key: \"$onInit\",\n value: function $onInit() {\n if (!!this.$attrs.title && !this.$attrs.heading) {\n this.heading = this.title;\n }\n }\n }, {\n key: \"$postLink\",\n value: function $postLink() {\n var _this = this;\n\n this.$element.addClass(\"oui-back-button\");\n\n this.$timeout(function () {\n return _this.$element.removeAttr(\"aria-label\").removeAttr(\"id\").removeAttr(\"name\");\n });\n }\n }, {\n key: \"onBtnClick\",\n value: function onBtnClick() {\n if (angular.isFunction(this.onClick)) {\n this.onClick();\n } else if (!this.href) {\n this.$window.history.back();\n }\n }\n }]);\n return _class;\n}();\n\nexports.default = _class;\n\n/***/ }),\n/* 189 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"

\";\n\n/***/ }),\n/* 190 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _dropdownComponent = __webpack_require__(191);\n\nvar _dropdownComponent2 = _interopRequireDefault(_dropdownComponent);\n\nvar _dropdownContentDirective = __webpack_require__(193);\n\nvar _dropdownContentDirective2 = _interopRequireDefault(_dropdownContentDirective);\n\nvar _dropdownDividerComponent = __webpack_require__(26);\n\nvar _dropdownDividerComponent2 = _interopRequireDefault(_dropdownDividerComponent);\n\nvar _dropdownGroupComponent = __webpack_require__(74);\n\nvar _dropdownGroupComponent2 = _interopRequireDefault(_dropdownGroupComponent);\n\nvar _dropdownItemComponent = __webpack_require__(40);\n\nvar _dropdownItemComponent2 = _interopRequireDefault(_dropdownItemComponent);\n\nvar _dropdownTriggerDirective = __webpack_require__(198);\n\nvar _dropdownTriggerDirective2 = _interopRequireDefault(_dropdownTriggerDirective);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = angular.module(\"oui.dropdown\", []).component(\"ouiDropdown\", _dropdownComponent2.default).directive(\"ouiDropdownContent\", _dropdownContentDirective2.default).component(\"ouiDropdownDivider\", _dropdownDividerComponent2.default).component(\"ouiDropdownGroup\", _dropdownGroupComponent2.default).component(\"ouiDropdownItem\", _dropdownItemComponent2.default).directive(\"ouiDropdownTrigger\", _dropdownTriggerDirective2.default).name;\n\n/***/ }),\n/* 191 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _dropdown = __webpack_require__(192);\n\nvar _dropdown2 = _interopRequireDefault(_dropdown);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n controller: _dropdown2.default,\n bindings: {\n align: \"@?\",\n arrow: \"= 0) {\n placement += \"-\" + this.align;\n }\n\n if (this.arrowElement && placement === \"bottom\") {\n this.arrowElement.setAttribute(\"x-arrow\", \"\");\n }\n\n this.popperElement.style.minWidth = this.getTriggerWidth() + \"px\";\n\n this.popper = new _popper2.default(this.triggerElement, this.popperElement, {\n placement: placement,\n modifiers: {\n preventOverflow: {\n boundariesElement: this.$document[0].body\n }\n }\n });\n }\n }, {\n key: \"updatePopper\",\n value: function updatePopper() {\n if (!this.popper) {\n this.createPopper();\n }\n\n this.popper.scheduleUpdate();\n }\n }, {\n key: \"destroyPopper\",\n value: function destroyPopper() {\n if (!this.popper) {\n return;\n }\n\n this.popper.destroy();\n this.popper = null;\n }\n }, {\n key: \"getTriggerWidth\",\n value: function getTriggerWidth() {\n var MINWIDTH = 140;\n return Math.max(this.triggerElement.offsetWidth, MINWIDTH);\n }\n }]);\n return _class;\n}();\n\nexports.default = _class;\n\n/***/ }),\n/* 193 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar dropdownContentClass = \"oui-dropdown-menu\";\nvar arrowDropdownContentModifierClass = \"oui-dropdown-menu_arrow\";\nvar arrowDropdownContentClass = \"oui-dropdown-menu__arrow\";\n\nexports.default = function () {\n \"ngInject\";\n\n return {\n restrict: \"AE\",\n require: \"^ouiDropdown\",\n scope: {},\n link: function link(scope, element, attrs, ctrl) {\n element.addClass(dropdownContentClass).attr(\"aria-labelledby\", ctrl.id).attr(\"role\", \"menu\");\n\n if (ctrl.arrow) {\n element.addClass(arrowDropdownContentModifierClass);\n element.prepend(\"
\");\n }\n\n ctrl.setDropdownMenu(element[0], element[0].querySelector(\".\" + arrowDropdownContentClass));\n }\n };\n};\n\n/***/ }),\n/* 194 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"
\";\n\n/***/ }),\n/* 195 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _stringify = __webpack_require__(41);\n\nvar _stringify2 = _interopRequireDefault(_stringify);\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _componentUtils = __webpack_require__(2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _class = function () {\n _class.$inject = [\"$attrs\", \"$element\", \"$timeout\"];\n function _class($attrs, $element, $timeout) {\n \"ngInject\";\n\n (0, _classCallCheck3.default)(this, _class);\n this.$attrs = $attrs;\n this.$element = $element;\n this.$timeout = $timeout;\n }\n\n (0, _createClass3.default)(_class, [{\n key: \"$onInit\",\n value: function $onInit() {\n (0, _componentUtils.addBooleanParameter)(this, \"external\");\n (0, _componentUtils.addBooleanParameter)(this, \"disabled\");\n (0, _componentUtils.addBooleanParameter)(this, \"sticky\");\n\n if (this.external) {\n this.linkTarget = \"_blank\";\n this.linkRel = \"noopener\";\n }\n }\n }, {\n key: \"$postLink\",\n value: function $postLink() {\n var _this = this;\n\n this.$timeout(function () {\n _this.$element.addClass(\"oui-dropdown-menu__item\").removeAttr(\"aria-label\");\n\n if (_this.sticky) {\n _this.$element.addClass(\"oui-dropdown-menu__item_sticky\");\n }\n });\n }\n }, {\n key: \"getFullSref\",\n value: function getFullSref() {\n return this.state + \"(\" + (0, _stringify2.default)(this.stateParams) + \")\";\n }\n }]);\n return _class;\n}();\n\nexports.default = _class;\n\n/***/ }),\n/* 196 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar core = __webpack_require__(3);\nvar $JSON = core.JSON || (core.JSON = { stringify: JSON.stringify });\nmodule.exports = function stringify(it) { // eslint-disable-line no-unused-vars\n return $JSON.stringify.apply($JSON, arguments);\n};\n\n\n/***/ }),\n/* 197 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 198 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _dropdownTrigger = __webpack_require__(199);\n\nvar _dropdownTrigger2 = _interopRequireDefault(_dropdownTrigger);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n return {\n restrict: \"AE\",\n require: {\n dropdown: \"^ouiDropdown\"\n },\n controller: _dropdownTrigger2.default,\n controllerAs: \"$dropdownTriggerCtrl\",\n bindToController: {\n text: \"@\",\n ariaLabel: \"@?\",\n disabled: \" \";\n\n/***/ }),\n/* 201 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _actionMenuComponent = __webpack_require__(202);\n\nvar _actionMenuComponent2 = _interopRequireDefault(_actionMenuComponent);\n\nvar _dropdownDivider = __webpack_require__(26);\n\nvar _dropdownDivider2 = _interopRequireDefault(_dropdownDivider);\n\nvar _dropdownItem = __webpack_require__(40);\n\nvar _dropdownItem2 = _interopRequireDefault(_dropdownItem);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.action-menu\", []).component(\"ouiActionMenu\", _actionMenuComponent2.default).component(\"ouiActionMenuDivider\", _dropdownDivider2.default).component(\"ouiActionMenuItem\", _dropdownItem2.default);\n\n/***/ }),\n/* 202 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _actionMenuController = __webpack_require__(203);\n\nvar _actionMenuController2 = _interopRequireDefault(_actionMenuController);\n\nvar _actionMenu = __webpack_require__(204);\n\nvar _actionMenu2 = _interopRequireDefault(_actionMenu);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n template: _actionMenu2.default,\n controller: _actionMenuController2.default,\n bindings: {\n text: \"@\",\n align: \"@?\",\n ariaLabel: \"@?\",\n compact: \" \";\n\n/***/ }),\n/* 205 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _tooltip = __webpack_require__(206);\n\nvar _tooltip2 = _interopRequireDefault(_tooltip);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.tooltip\", []).directive(\"ouiTooltip\", _tooltip2.default);\n\n/***/ }),\n/* 206 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _tooltip = __webpack_require__(207);\n\nvar _tooltip2 = _interopRequireDefault(_tooltip);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n return {\n restrict: \"A\",\n bindToController: {\n text: \"@ouiTooltip\",\n placement: \"@?ouiTooltipPlacement\" },\n controller: _tooltip2.default,\n controllerAs: \"$tooltipCtrl\"\n };\n};\n\n/***/ }),\n/* 207 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _popper = __webpack_require__(25);\n\nvar _popper2 = _interopRequireDefault(_popper);\n\nvar _tooltip = __webpack_require__(208);\n\nvar _tooltip2 = _interopRequireDefault(_tooltip);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _class = function () {\n _class.$inject = [\"$compile\", \"$element\", \"$scope\", \"$timeout\"];\n function _class($compile, $element, $scope, $timeout) {\n \"ngInject\";\n\n (0, _classCallCheck3.default)(this, _class);\n this.$compile = $compile;\n this.$element = $element;\n this.$scope = $scope;\n this.$timeout = $timeout;\n }\n\n (0, _createClass3.default)(_class, [{\n key: \"$onInit\",\n value: function $onInit() {\n if (angular.isUndefined(this.placement)) {\n this.placement = \"top\";\n }\n }\n }, {\n key: \"$postLink\",\n value: function $postLink() {\n var _this = this;\n\n this.$timeout(function () {\n if (!_this.$element.attr(\"aria-label\")) {\n _this.$element.attr(\"aria-label\", _this.text);\n }\n\n var tooltipScope = angular.extend(_this.$scope.$new(true), { $tooltipCtrl: _this });\n var tooltipTemplate = _this.$compile(_tooltip2.default)(tooltipScope);\n\n _this.$element.addClass(\"oui-tooltip__trigger\").one(\"focus mouseenter\", function () {\n return _this.createPopper();\n }).after(tooltipTemplate);\n });\n }\n }, {\n key: \"createPopper\",\n value: function createPopper() {\n var trigger = this.$element[0];\n var tooltip = this.$element.next()[0];\n\n this.popper = new _popper2.default(trigger, tooltip, {\n placement: this.placement\n });\n }\n }]);\n return _class;\n}();\n\nexports.default = _class;\n\n/***/ }),\n/* 208 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 209 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _numericComponent = __webpack_require__(210);\n\nvar _numericComponent2 = _interopRequireDefault(_numericComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.numeric\", []).component(\"ouiNumeric\", _numericComponent2.default);\n\n/***/ }),\n/* 210 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _numeric = __webpack_require__(211);\n\nvar _numeric2 = _interopRequireDefault(_numeric);\n\nvar _numeric3 = __webpack_require__(213);\n\nvar _numeric4 = _interopRequireDefault(_numeric3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n template: _numeric4.default,\n controller: _numeric2.default,\n bindings: {\n id: \"@?\",\n name: \"@?\",\n model: \"=\",\n min: \" MAX_VALUE) {\n this.$log.warn(\"Invalid attribute max, value should be lower than '\" + MAX_VALUE + \"'\");\n }\n\n if (angular.isDefined(this.$attrs.disabled) && angular.isUndefined(this.disabled)) {\n this.disabled = true;\n }\n\n this.min = (0, _clamp3.default)(this.min, MIN_VALUE, MAX_VALUE);\n this.max = (0, _clamp3.default)(this.max, this.min, MAX_VALUE);\n\n this.previousValue = this.model;\n }\n }, {\n key: \"setModelValue\",\n value: function setModelValue(value) {\n this.model = value;\n\n if (this.previousValue !== this.model && angular.isFunction(this.onChange)) {\n this.onChange({\n modelValue: this.model\n });\n }\n\n this.previousValue = this.model;\n }\n }, {\n key: \"increment\",\n value: function increment() {\n if (angular.isNumber(this.model)) {\n this.setModelValue(this.model + 1);\n } else {\n this.setModelValue(this.min);\n }\n }\n }, {\n key: \"decrement\",\n value: function decrement() {\n if (angular.isNumber(this.model)) {\n this.setModelValue(this.model - 1);\n } else {\n this.setModelValue(this.min);\n }\n }\n }, {\n key: \"onInputChanged\",\n value: function onInputChanged() {\n if (this.model === null) {\n this.setModelValue(this.min);\n } else if (!angular.isNumber(this.model) || this.model < this.min || this.model > this.max) {\n this.model = this.previousValue;\n } else {\n this.setModelValue(this.model);\n }\n }\n }]);\n return _class;\n}();\n\nexports.default = _class;\n\n/***/ }),\n/* 212 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar baseClamp = __webpack_require__(75),\n toNumber = __webpack_require__(76);\n\n/**\n * Clamps `number` within the inclusive `lower` and `upper` bounds.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Number\n * @param {number} number The number to clamp.\n * @param {number} [lower] The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the clamped number.\n * @example\n *\n * _.clamp(-10, -5, 5);\n * // => -5\n *\n * _.clamp(10, -5, 5);\n * // => 5\n */\nfunction clamp(number, lower, upper) {\n if (upper === undefined) {\n upper = lower;\n lower = undefined;\n }\n if (upper !== undefined) {\n upper = toNumber(upper);\n upper = upper === upper ? upper : 0;\n }\n if (lower !== undefined) {\n lower = toNumber(lower);\n lower = lower === lower ? lower : 0;\n }\n return baseClamp(toNumber(number), lower, upper);\n}\n\nmodule.exports = clamp;\n\n\n/***/ }),\n/* 213 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"
\";\n\n/***/ }),\n/* 214 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _pagination = __webpack_require__(215);\n\nvar _pagination2 = _interopRequireDefault(_pagination);\n\nvar _pagination3 = __webpack_require__(234);\n\nvar _pagination4 = _interopRequireDefault(_pagination3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.pagination\", []).component(\"ouiPagination\", _pagination2.default).provider(\"ouiPaginationConfiguration\", _pagination4.default);\n\n/***/ }),\n/* 215 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _pagination = __webpack_require__(216);\n\nvar _pagination2 = _interopRequireDefault(_pagination);\n\nvar _pagination3 = __webpack_require__(233);\n\nvar _pagination4 = _interopRequireDefault(_pagination3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n template: _pagination4.default,\n bindings: {\n currentOffset: \"<\",\n pageSize: \" String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n\n\n/***/ }),\n/* 219 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar create = __webpack_require__(46);\nvar descriptor = __webpack_require__(17);\nvar setToStringTag = __webpack_require__(51);\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\n__webpack_require__(12)(IteratorPrototype, __webpack_require__(4)('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n/***/ }),\n/* 220 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(7);\nvar anObject = __webpack_require__(8);\nvar getKeys = __webpack_require__(20);\n\nmodule.exports = __webpack_require__(9) ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n\n\n/***/ }),\n/* 221 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = __webpack_require__(16);\nvar toLength = __webpack_require__(83);\nvar toAbsoluteIndex = __webpack_require__(222);\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\n\n/***/ }),\n/* 222 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(43);\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n/***/ }),\n/* 223 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar document = __webpack_require__(6).document;\nmodule.exports = document && document.documentElement;\n\n\n/***/ }),\n/* 224 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ctx = __webpack_require__(31);\nvar $export = __webpack_require__(5);\nvar toObject = __webpack_require__(21);\nvar call = __webpack_require__(225);\nvar isArrayIter = __webpack_require__(226);\nvar toLength = __webpack_require__(83);\nvar createProperty = __webpack_require__(227);\nvar getIterFn = __webpack_require__(85);\n\n$export($export.S + $export.F * !__webpack_require__(229)(function (iter) { Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iterFn = getIterFn(O);\n var length, result, step, iterator;\n if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for (result = new C(length); length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n\n\n/***/ }),\n/* 225 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// call something on iterator step with safe closing on error\nvar anObject = __webpack_require__(8);\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n\n\n/***/ }),\n/* 226 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// check on default Array iterator\nvar Iterators = __webpack_require__(19);\nvar ITERATOR = __webpack_require__(4)('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n\n/***/ }),\n/* 227 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $defineProperty = __webpack_require__(7);\nvar createDesc = __webpack_require__(17);\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n\n\n/***/ }),\n/* 228 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = __webpack_require__(47);\nvar TAG = __webpack_require__(4)('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n/***/ }),\n/* 229 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar ITERATOR = __webpack_require__(4)('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n\n\n/***/ }),\n/* 230 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(231);\nmodule.exports = __webpack_require__(3).Object.assign;\n\n\n/***/ }),\n/* 231 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.3.1 Object.assign(target, source)\nvar $export = __webpack_require__(5);\n\n$export($export.S + $export.F, 'Object', { assign: __webpack_require__(232) });\n\n\n/***/ }),\n/* 232 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = __webpack_require__(20);\nvar gOPS = __webpack_require__(52);\nvar pIE = __webpack_require__(28);\nvar toObject = __webpack_require__(21);\nvar IObject = __webpack_require__(82);\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || __webpack_require__(14)(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n } return T;\n} : $assign;\n\n\n/***/ }),\n/* 233 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"
$ctrl.pageSize\\\">
5\\\">
\";\n\n/***/ }),\n/* 234 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _class = function () {\n function _class() {\n (0, _classCallCheck3.default)(this, _class);\n\n this.pageSize = 25;\n this.pageSizeList = [25, 50, 100, 300];\n this.translations = {\n resultsPerPage: \"Results per page\",\n ofNResults: \"of {{totalItems}} results\",\n currentPageOfPageCount: \"Page {{currentPage}} of {{pageCount}}\",\n previousPage: \"Previous page\",\n nextPage: \"Next page\"\n };\n }\n\n (0, _createClass3.default)(_class, [{\n key: \"setPageSize\",\n value: function setPageSize(pageSize) {\n this.pageSize = pageSize;\n return this;\n }\n }, {\n key: \"setPageSizeList\",\n value: function setPageSizeList(pageSizeList) {\n this.pageSizeList = pageSizeList;\n return this;\n }\n }, {\n key: \"setTranslations\",\n value: function setTranslations(translations) {\n this.translations = translations;\n return this;\n }\n }, {\n key: \"$get\",\n value: function $get() {\n return {\n pageSize: this.pageSize,\n pageSizeList: this.pageSizeList,\n translations: this.translations\n };\n }\n }]);\n return _class;\n}();\n\nexports.default = _class;\n\n/***/ }),\n/* 235 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _cell = __webpack_require__(236);\n\nvar _cell2 = _interopRequireDefault(_cell);\n\nvar _datagrid = __webpack_require__(238);\n\nvar _datagrid2 = _interopRequireDefault(_datagrid);\n\nvar _datagridColumnBuilder = __webpack_require__(268);\n\nvar _datagridColumnBuilder2 = _interopRequireDefault(_datagridColumnBuilder);\n\nvar _extraTop = __webpack_require__(269);\n\nvar _extraTop2 = _interopRequireDefault(_extraTop);\n\nvar _datagridPaging = __webpack_require__(271);\n\nvar _datagridPaging2 = _interopRequireDefault(_datagridPaging);\n\nvar _datagridParameters = __webpack_require__(313);\n\nvar _datagridParameters2 = _interopRequireDefault(_datagridParameters);\n\nvar _datagrid3 = __webpack_require__(316);\n\nvar _datagrid4 = _interopRequireDefault(_datagrid3);\n\nvar _datagrid5 = __webpack_require__(317);\n\nvar _datagrid6 = _interopRequireDefault(_datagrid5);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.datagrid\", [\"oui.pagination\", \"oui.dropdown\", \"oui.criteria-container\", \"oui.search\", \"ngAria\"]).service(\"ouiDatagridColumnBuilder\", _datagridColumnBuilder2.default).directive(\"ouiDatagrid\", _datagrid2.default).component(\"ouiDatagridCell\", _cell2.default).component(\"ouiDatagridExtraTop\", _extraTop2.default).service(\"ouiDatagridPaging\", _datagridPaging2.default).provider(\"ouiDatagridConfiguration\", _datagrid4.default).service(\"ouiDatagridService\", _datagrid6.default).component(\"ouiDatagridParameters\", _datagridParameters2.default);\n\n/***/ }),\n/* 236 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _cell = __webpack_require__(237);\n\nvar _cell2 = _interopRequireDefault(_cell);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n controller: _cell2.default,\n require: {\n datagridCtrl: \"^^ouiDatagrid\"\n },\n bindings: {\n row: \"<\",\n column: \"<\"\n }\n};\n\n/***/ }),\n/* 237 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _class = function () {\n _class.$inject = [\"$element\"];\n function _class($element) {\n \"ngInject\";\n\n (0, _classCallCheck3.default)(this, _class);\n this.$element = $element;\n }\n\n (0, _createClass3.default)(_class, [{\n key: \"$postLink\",\n value: function $postLink() {\n var _this = this;\n\n this.cellScope = this.datagridCtrl.getParentScope().$new(false);\n\n this.$element.css(\"display\", \"block\");\n\n if (this.row && this.row.$promise) {\n this.row.$promise.finally(function () {\n _this._compileCell();\n });\n } else {\n this._compileCell();\n }\n }\n }, {\n key: \"$onChanges\",\n value: function $onChanges(changes) {\n if (changes.row && !changes.row.isFirstChange() || changes.column && !changes.column.isFirstChange()) {\n this._compileCell();\n }\n }\n }, {\n key: \"_compileCell\",\n value: function _compileCell() {\n var _this2 = this;\n\n this.cellScope.$row = this.row;\n this.cellScope.$column = this.column;\n this.cellScope.$value = this.row[this.column.name];\n\n if (this.column.compiledTemplate) {\n this.column.compiledTemplate(this.cellScope, function (clone) {\n _this2.$element.empty();\n _this2.$element.append(clone);\n });\n } else {\n this.$element[0].innerHTML = this.cellScope.$value;\n }\n }\n }]);\n return _class;\n}();\n\nexports.default = _class;\n\n/***/ }),\n/* 238 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _datagrid = __webpack_require__(239);\n\nvar _datagrid2 = _interopRequireDefault(_datagrid);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n \"ngInject\";\n\n return {\n controller: _datagrid2.default,\n controllerAs: \"$ctrl\",\n bindToController: true,\n scope: {\n id: \"@?\",\n columnsDescription: \" 0;\n this.filterableColumns = this.columns.filter(function (column) {\n return column.filterable;\n });\n }\n }, {\n key: \"$onChanges\",\n value: function $onChanges(changes) {\n if (changes.columnsDescription && !changes.columnsDescription.isFirstChange()) {\n this.buildColumns();\n }\n\n if (changes.columnsParameters && !changes.columnsParameters.isFirstChange()) {\n this.buildColumns();\n }\n }\n }, {\n key: \"$doCheck\",\n value: function $doCheck() {\n var _this3 = this;\n\n if (!angular.equals(this.previousRows, this.rows) && this.rows && this.paging && !this.paging.preventLoadingRows) {\n this.previousRows = angular.copy(this.rows);\n this.refreshData(function () {\n return _this3.paging.setRows(_this3.rows);\n });\n }\n }\n }, {\n key: \"$onDestroy\",\n value: function $onDestroy() {\n if (this.hasActionMenu) {\n angular.element(this.$window).off(\"resize\", this.checkScroll);\n angular.element(this.scrollablePanel).off(\"scroll\");\n }\n\n if (this.id) {\n this.ouiDatagridService.unregisterDatagrid(this.id);\n }\n }\n }, {\n key: \"buildColumns\",\n value: function buildColumns() {\n var _this4 = this;\n\n var builtColumns = this.columnsDescription && this.columnsDescription.length ? this.ouiDatagridColumnBuilder.buildFromJs(this.columnsDescription, this.getParentScope()) : this.ouiDatagridColumnBuilder.build(this.columnElements, this.getParentScope());\n\n if (this.actionColumnElements.length) {\n this.actionColumn = this.ouiDatagridColumnBuilder.buildActionColumn(this.actionColumnElements[0]);\n this.hasActionMenu = true;\n }\n\n if (this.extraTopElements.length) {\n this.extraTopCompiledTemplate = this.$compile(\"
\" + this.extraTopElements[0].innerHTML + \"
\");\n this.hasExtraTopContent = true;\n }\n\n this.availableColumns = angular.copy(builtColumns.columns).map(function (column) {\n var customColumn = (0, _find3.default)(_this4.columnsParameters, {\n name: column.name\n });\n if (customColumn) {\n column.hidden = customColumn.hidden;\n }\n return column;\n });\n\n this.columns = this.availableColumns.filter(function (column) {\n return !column.hidden;\n });\n\n this.columns.forEach(function (column) {\n if (column.title) {\n return;\n }\n\n column.disableWatcher = _this4.$scope.$watch(function () {\n return _this4.ouiDatagridColumnBuilder.buildTitle(column.rawTitle, _this4.getParentScope());\n }, function (newTitle) {\n if (newTitle) {\n column.title = newTitle;\n column.disableWatcher();\n }\n });\n });\n\n return builtColumns;\n }\n }, {\n key: \"onColumnsChange\",\n value: function onColumnsChange(columns) {\n this.availableColumns = angular.copy(columns);\n this.columns = columns.filter(function (column) {\n return !column.hidden;\n });\n\n var columnsParameters = this.availableColumns.filter(function (column) {\n return column.name;\n }).map(function (column) {\n var cleanColumn = {\n name: column.name\n };\n\n if (column.hidden) {\n cleanColumn.hidden = true;\n }\n\n return cleanColumn;\n });\n\n if (this.id) {\n this.onColumnsParametersChange({\n id: this.id,\n columns: columnsParameters\n });\n }\n }\n }, {\n key: \"getParentScope\",\n value: function getParentScope() {\n return this.$scope.$parent;\n }\n }, {\n key: \"hasProperty\",\n value: function hasProperty(obj, prop) {\n if (!obj) {\n return false;\n }\n\n return (0, _util.hasProperty)(obj, prop);\n }\n }, {\n key: \"onCriteriaChange\",\n value: function onCriteriaChange(criteria) {\n var _this5 = this;\n\n this.criteria = criteria;\n this.appliedCriteria = this.criteria.filter(function (criterion) {\n return !criterion.preview;\n });\n this.refreshData(function () {\n _this5.paging.setOffset(1);\n _this5.paging.setCriteria(criteria);\n }, false, false);\n }\n }, {\n key: \"onPaginationChange\",\n value: function onPaginationChange($event) {\n var _this6 = this;\n\n this.refreshData(function () {\n _this6.paging.setOffset($event.offset);\n _this6.paging.setPageSize($event.pageSize);\n }, true, true);\n }\n }, {\n key: \"scrollToTop\",\n value: function scrollToTop() {\n var _this7 = this;\n\n this.$timeout(function () {\n _this7.$element[0].scrollIntoView(true);\n });\n }\n }, {\n key: \"refreshData\",\n value: function refreshData(callback, skipSortAndFilter, requireScrollToTop, hideLoader, forceLoadRows) {\n var _this8 = this;\n\n if (this.loading) {\n return this.$q.when();\n }\n\n if (!hideLoader) {\n this.loading = true;\n this.displayedRows = DatagridController.createEmptyRows(this.paging.getCurrentPageSize());\n }\n\n this.refreshDatagridPromise = this.$q.when((callback || angular.noop)()).then(function () {\n return _this8.paging.loadData(skipSortAndFilter, forceLoadRows);\n }).then(function (result) {\n _this8.displayedRows = result.data;\n if (requireScrollToTop) {\n _this8.scrollToTop();\n }\n if (_this8.hasActionMenu) {\n setTimeout(function () {\n return _this8.checkScroll();\n }, checkScrollOnRefreshDataDelay);\n }\n }).finally(function () {\n _this8.loading = false;\n _this8.firstLoading = false;\n _this8.refreshDatagridPromise = null;\n });\n\n return this.refreshDatagridPromise;\n }\n }, {\n key: \"sort\",\n value: function sort(column) {\n var _this9 = this;\n\n if (!column || !column.sortable) {\n return;\n }\n\n this.refreshData(function () {\n return _this9.paging.setSort(column.name);\n });\n }\n }, {\n key: \"getSortableClasses\",\n value: function getSortableClasses(column) {\n var _ref2;\n\n if (column.name !== this.paging.getSortColumnName()) {\n return (0, _defineProperty3.default)({}, cssSortable, !!column.sortable);\n }\n return _ref2 = {}, (0, _defineProperty3.default)(_ref2, cssSortable, !!column.sortable), (0, _defineProperty3.default)(_ref2, cssSorted, true), (0, _defineProperty3.default)(_ref2, cssSortableAsc, this.paging.isSortAsc()), (0, _defineProperty3.default)(_ref2, cssSortableDesc, this.paging.isSortDesc()), _ref2;\n }\n }], [{\n key: \"createEmptyRows\",\n value: function createEmptyRows(pageSize) {\n return Array.apply(undefined, (0, _toConsumableArray3.default)({ length: pageSize })).map(function () {\n return undefined;\n });\n }\n }, {\n key: \"filterElements\",\n value: function filterElements(elements, tagName) {\n var tagNameUpper = tagName.toUpperCase();\n var filteredElements = [];\n\n angular.forEach(elements, function (element) {\n if (element.tagName === tagNameUpper) {\n filteredElements.push(element);\n }\n });\n\n return filteredElements;\n }\n }]);\n return DatagridController;\n}();\n\nexports.default = DatagridController;\n\n/***/ }),\n/* 240 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _defineProperty = __webpack_require__(57);\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (obj, key, value) {\n if (key in obj) {\n (0, _defineProperty2.default)(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\n/***/ }),\n/* 241 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar baseIteratee = __webpack_require__(87),\n isArrayLike = __webpack_require__(66),\n keys = __webpack_require__(90);\n\n/**\n * Creates a `_.find` or `_.findLast` function.\n *\n * @private\n * @param {Function} findIndexFunc The function to find the collection index.\n * @returns {Function} Returns the new find function.\n */\nfunction createFind(findIndexFunc) {\n return function(collection, predicate, fromIndex) {\n var iterable = Object(collection);\n if (!isArrayLike(collection)) {\n var iteratee = baseIteratee(predicate, 3);\n collection = keys(collection);\n predicate = function(key) { return iteratee(iterable[key], key, iterable); };\n }\n var index = findIndexFunc(collection, predicate, fromIndex);\n return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined;\n };\n}\n\nmodule.exports = createFind;\n\n\n/***/ }),\n/* 242 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar baseIsMatch = __webpack_require__(243),\n getMatchData = __webpack_require__(254),\n matchesStrictComparable = __webpack_require__(91);\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n\nmodule.exports = baseMatches;\n\n\n/***/ }),\n/* 243 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Stack = __webpack_require__(34),\n baseIsEqual = __webpack_require__(88);\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\nmodule.exports = baseIsMatch;\n\n\n/***/ }),\n/* 244 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Stack = __webpack_require__(34),\n equalArrays = __webpack_require__(245),\n equalByTag = __webpack_require__(250),\n equalObjects = __webpack_require__(251),\n getTag = __webpack_require__(253),\n isArray = __webpack_require__(11),\n isBuffer = __webpack_require__(69),\n isTypedArray = __webpack_require__(70);\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nmodule.exports = baseIsEqualDeep;\n\n\n/***/ }),\n/* 245 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar SetCache = __webpack_require__(246),\n arraySome = __webpack_require__(247),\n cacheHas = __webpack_require__(248);\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalArrays;\n\n\n/***/ }),\n/* 246 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isArray = __webpack_require__(11);\n\n/**\n * Casts `value` as an array if it's not one.\n *\n * @static\n * @memberOf _\n * @since 4.4.0\n * @category Lang\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast array.\n * @example\n *\n * _.castArray(1);\n * // => [1]\n *\n * _.castArray({ 'a': 1 });\n * // => [{ 'a': 1 }]\n *\n * _.castArray('abc');\n * // => ['abc']\n *\n * _.castArray(null);\n * // => [null]\n *\n * _.castArray(undefined);\n * // => [undefined]\n *\n * _.castArray();\n * // => []\n *\n * var array = [1, 2, 3];\n * console.log(_.castArray(array) === array);\n * // => true\n */\nfunction castArray() {\n if (!arguments.length) {\n return [];\n }\n var value = arguments[0];\n return isArray(value) ? value : [value];\n}\n\nmodule.exports = castArray;\n\n\n/***/ }),\n/* 247 */\n/***/ (function(module, exports) {\n\n/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n\n\n/***/ }),\n/* 248 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar baseIndexOf = __webpack_require__(249);\n\n/**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludes(array, value) {\n var length = array == null ? 0 : array.length;\n return !!length && baseIndexOf(array, value, 0) > -1;\n}\n\nmodule.exports = arrayIncludes;\n\n\n/***/ }),\n/* 249 */\n/***/ (function(module, exports) {\n\n/**\n * A specialized version of `_.indexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction strictIndexOf(array, value, fromIndex) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = strictIndexOf;\n\n\n/***/ }),\n/* 250 */\n/***/ (function(module, exports) {\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n\n\n/***/ }),\n/* 251 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar getAllKeys = __webpack_require__(252);\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalObjects;\n\n\n/***/ }),\n/* 252 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar overArg = __webpack_require__(38);\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n\n\n/***/ }),\n/* 253 */\n/***/ (function(module, exports) {\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n\n\n/***/ }),\n/* 254 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isStrictComparable = __webpack_require__(89),\n keys = __webpack_require__(90);\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\n\nmodule.exports = getMatchData;\n\n\n/***/ }),\n/* 255 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar baseIsEqual = __webpack_require__(88),\n get = __webpack_require__(29),\n hasIn = __webpack_require__(259),\n isKey = __webpack_require__(53),\n isStrictComparable = __webpack_require__(89),\n matchesStrictComparable = __webpack_require__(91),\n toKey = __webpack_require__(30);\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n };\n}\n\nmodule.exports = baseMatchesProperty;\n\n\n/***/ }),\n/* 256 */\n/***/ (function(module, exports) {\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n\n\n/***/ }),\n/* 257 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar memoizeCapped = __webpack_require__(258);\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nmodule.exports = stringToPath;\n\n\n/***/ }),\n/* 258 */\n/***/ (function(module, exports) {\n\n/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n/***/ }),\n/* 259 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar baseHasIn = __webpack_require__(260),\n hasPath = __webpack_require__(261);\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\n\nmodule.exports = hasIn;\n\n\n/***/ }),\n/* 260 */\n/***/ (function(module, exports) {\n\n/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\nmodule.exports = baseHasIn;\n\n\n/***/ }),\n/* 261 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar castPath = __webpack_require__(93),\n isArguments = __webpack_require__(65),\n isArray = __webpack_require__(11),\n isIndex = __webpack_require__(262),\n isLength = __webpack_require__(68),\n toKey = __webpack_require__(30);\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\nmodule.exports = hasPath;\n\n\n/***/ }),\n/* 262 */\n/***/ (function(module, exports) {\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n\n\n/***/ }),\n/* 263 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar baseProperty = __webpack_require__(264),\n basePropertyDeep = __webpack_require__(265),\n isKey = __webpack_require__(53),\n toKey = __webpack_require__(30);\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nmodule.exports = property;\n\n\n/***/ }),\n/* 264 */\n/***/ (function(module, exports) {\n\n/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n\n\n/***/ }),\n/* 265 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar baseGet = __webpack_require__(92);\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\nmodule.exports = basePropertyDeep;\n\n\n/***/ }),\n/* 266 */\n/***/ (function(module, exports) {\n\n/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = baseFindIndex;\n\n\n/***/ }),\n/* 267 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"
\";\n\n/***/ }),\n/* 268 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _assign = __webpack_require__(22);\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _componentUtils = __webpack_require__(2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar copyValueProperties = [\"hidden\", \"title\", \"type\", \"type-options\"];\nvar searchableTypes = [\"string\"];\nvar filterableTypes = [\"boolean\", \"date\", \"number\", \"options\", \"string\"];\n\nvar DatagridColumnBuilder = function () {\n DatagridColumnBuilder.$inject = [\"$parse\", \"$compile\"];\n function DatagridColumnBuilder($parse, $compile) {\n \"ngInject\";\n\n (0, _classCallCheck3.default)(this, DatagridColumnBuilder);\n this.$parse = $parse;\n this.$compile = $compile;\n }\n\n (0, _createClass3.default)(DatagridColumnBuilder, [{\n key: \"build\",\n value: function build(columnElements, $scope) {\n var _this = this;\n\n var columns = [];\n var currentSorting = {\n columnName: undefined,\n dir: 0\n };\n\n angular.forEach(columnElements, function (columnElement) {\n var column = {};\n\n if ((0, _componentUtils.hasAttribute)(columnElement, \"name\")) {\n column.name = (0, _componentUtils.getAttribute)(columnElement, \"name\");\n }\n\n if ((0, _componentUtils.hasAttribute)(columnElement, \"property\")) {\n var propertyValue = (0, _componentUtils.getAttribute)(columnElement, \"property\");\n\n column.name = column.name || propertyValue;\n column.getValue = _this.$parse(propertyValue);\n\n if ((0, _componentUtils.hasAttribute)(columnElement, \"sortable\")) {\n var sortableValue = (0, _componentUtils.getAttribute)(columnElement, \"sortable\");\n column.sortable = !!sortableValue;\n (0, _assign2.default)(currentSorting, DatagridColumnBuilder.defineDefaultSorting(column, sortableValue));\n }\n }\n\n copyValueProperties.forEach(function (propertyName) {\n if ((0, _componentUtils.hasAttribute)(columnElement, propertyName)) {\n column[propertyName] = (0, _componentUtils.getAttribute)(columnElement, propertyName);\n }\n });\n\n column.filterable = DatagridColumnBuilder.isFilterable(column) && (0, _componentUtils.hasAttribute)(columnElement, \"filterable\");\n column.searchable = DatagridColumnBuilder.isSearchable(column) && (0, _componentUtils.hasAttribute)(columnElement, \"searchable\");\n\n if (column[\"type-options\"]) {\n column.typeOptions = _this.$parse(column[\"type-options\"])($scope);\n }\n\n if ((0, _componentUtils.hasAttribute)(columnElement, \"prevent-customization\")) {\n column.preventCustomization = true;\n }\n\n if ((0, _componentUtils.hasAttribute)(columnElement, \"hidden\")) {\n column.hidden = true;\n }\n\n if ((0, _componentUtils.hasAttribute)(columnElement, \"title\")) {\n var titleValue = (0, _componentUtils.getAttribute)(columnElement, \"title\");\n\n column.title = _this.buildTitle(titleValue, $scope);\n column.rawTitle = titleValue;\n }\n\n if (!column.sortProperty) {\n column.sortProperty = column.name;\n }\n\n var htmlTemplate = columnElement.innerHTML.trim();\n if (!column.template && htmlTemplate.length) {\n column.template = htmlTemplate;\n }\n\n if (column.template) {\n column.compiledTemplate = _this._getColumnTemplate(column);\n }\n\n columns.push(column);\n });\n\n return {\n columns: columns,\n currentSorting: currentSorting\n };\n }\n }, {\n key: \"buildFromJs\",\n value: function buildFromJs(columnsDescription) {\n var _this2 = this;\n\n var columns = [];\n var currentSorting = {\n columnName: undefined,\n dir: 0\n };\n\n angular.forEach(columnsDescription, function (columnDescription) {\n var column = {};\n\n column.name = columnDescription.name;\n\n var propertyValue = columnDescription.property;\n if (propertyValue) {\n column.name = column.name || propertyValue;\n column.getValue = _this2.$parse(propertyValue);\n\n var sortableValue = columnDescription.sortable;\n if (columnDescription.sortable) {\n column.sortable = !!sortableValue;\n (0, _assign2.default)(currentSorting, DatagridColumnBuilder.defineDefaultSorting(column, sortableValue));\n }\n }\n\n copyValueProperties.forEach(function (propertyName) {\n column[propertyName] = columnDescription[propertyName];\n });\n\n column.filterable = DatagridColumnBuilder.isFilterable(column) && columnDescription.filterable;\n column.searchable = DatagridColumnBuilder.isSearchable(column) && columnDescription.searchable;\n\n if (columnDescription.typeOptions) {\n column.typeOptions = columnDescription.typeOptions;\n }\n\n column.preventCustomization = columnDescription.preventCustomization;\n\n column.title = columnDescription.title;\n\n if (!column.sortProperty) {\n column.sortProperty = column.name;\n }\n\n var htmlTemplate = columnDescription.template ? columnDescription.template.trim() : \"\";\n column.template = htmlTemplate;\n\n if (column.template && column.template !== \"\") {\n column.compiledTemplate = _this2._getColumnTemplate(column);\n }\n\n columns.push(column);\n });\n\n return {\n columns: columns,\n currentSorting: currentSorting\n };\n }\n }, {\n key: \"buildTitle\",\n value: function buildTitle(titleValue, $scope) {\n return this.$parse(titleValue)($scope);\n }\n }, {\n key: \"buildActionColumn\",\n value: function buildActionColumn(actionColumnElement) {\n var column = {\n template: actionColumnElement.outerHTML\n };\n column.compiledTemplate = this._getColumnTemplate(column);\n column.alwaysVisible = true;\n return column;\n }\n }, {\n key: \"_getColumnTemplate\",\n value: function _getColumnTemplate(column) {\n if (!column.compiledTemplate) {\n column.compiledTemplate = this.$compile(\"
\" + column.template + \"
\");\n }\n return column.compiledTemplate;\n }\n }], [{\n key: \"defineDefaultSorting\",\n value: function defineDefaultSorting(column, sortableValue) {\n column.sortable = sortableValue !== undefined;\n\n if (sortableValue && sortableValue.length) {\n column.defaultSortDir = sortableValue === \"asc\" ? 1 : -1;\n return {\n columnName: column.name,\n dir: column.defaultSortDir\n };\n }\n\n return {};\n }\n }, {\n key: \"isSearchable\",\n value: function isSearchable(column) {\n return searchableTypes.indexOf(column.type) > -1;\n }\n }, {\n key: \"isFilterable\",\n value: function isFilterable(column) {\n return filterableTypes.indexOf(column.type) > -1;\n }\n }]);\n return DatagridColumnBuilder;\n}();\n\nexports.default = DatagridColumnBuilder;\n\n/***/ }),\n/* 269 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extraTop = __webpack_require__(270);\n\nvar _extraTop2 = _interopRequireDefault(_extraTop);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n controller: _extraTop2.default,\n require: {\n datagridCtrl: \"^^ouiDatagrid\"\n }\n};\n\n/***/ }),\n/* 270 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _class = function () {\n _class.$inject = [\"$element\"];\n function _class($element) {\n \"ngInject\";\n\n (0, _classCallCheck3.default)(this, _class);\n this.$element = $element;\n }\n\n (0, _createClass3.default)(_class, [{\n key: \"$postLink\",\n value: function $postLink() {\n this.extraTopScope = this.datagridCtrl.getParentScope().$new(false);\n this._compileElement();\n }\n }, {\n key: \"_compileElement\",\n value: function _compileElement() {\n var _this = this;\n\n this.datagridCtrl.extraTopCompiledTemplate(this.extraTopScope, function (clone) {\n _this.$element.empty();\n _this.$element.append(clone);\n });\n }\n }]);\n return _class;\n}();\n\nexports.default = _class;\n\n/***/ }),\n/* 271 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _datagridLocalPaging = __webpack_require__(272);\n\nvar _datagridLocalPaging2 = _interopRequireDefault(_datagridLocalPaging);\n\nvar _datagridRemotePaging = __webpack_require__(312);\n\nvar _datagridRemotePaging2 = _interopRequireDefault(_datagridRemotePaging);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _class = function () {\n _class.$inject = [\"$q\", \"$timeout\", \"orderByFilter\"];\n function _class($q, $timeout, orderByFilter) {\n \"ngInject\";\n\n (0, _classCallCheck3.default)(this, _class);\n this.$q = $q;\n this.$timeout = $timeout;\n this.orderByFilter = orderByFilter;\n }\n\n (0, _createClass3.default)(_class, [{\n key: \"createLocal\",\n value: function createLocal(columns, sorting, pageSize, rowLoader, rows) {\n return new _datagridLocalPaging2.default(columns, sorting, pageSize, rowLoader, this, rows);\n }\n }, {\n key: \"createRemote\",\n value: function createRemote(columns, sorting, pageSize, rowLoader, rowsLoader) {\n return new _datagridRemotePaging2.default(columns, sorting, pageSize, rowLoader, this, rowsLoader);\n }\n }]);\n return _class;\n}();\n\nexports.default = _class;\n\n/***/ }),\n/* 272 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _getPrototypeOf = __webpack_require__(98);\n\nvar _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _possibleConstructorReturn2 = __webpack_require__(100);\n\nvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\nvar _inherits2 = __webpack_require__(105);\n\nvar _inherits3 = _interopRequireDefault(_inherits2);\n\nvar _datagridPagingAbstract = __webpack_require__(106);\n\nvar _datagridPagingAbstract2 = _interopRequireDefault(_datagridPagingAbstract);\n\nvar _filter2 = __webpack_require__(297);\n\nvar _filter3 = _interopRequireDefault(_filter2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar DatagridLocalPaging = function (_DatagridPagingAbstra) {\n (0, _inherits3.default)(DatagridLocalPaging, _DatagridPagingAbstra);\n\n function DatagridLocalPaging(columns, currentSorting, pageSize, rowLoader, pagingService, rows) {\n (0, _classCallCheck3.default)(this, DatagridLocalPaging);\n\n var _this = (0, _possibleConstructorReturn3.default)(this, (DatagridLocalPaging.__proto__ || (0, _getPrototypeOf2.default)(DatagridLocalPaging)).call(this, columns, currentSorting, pageSize, rowLoader, pagingService));\n\n _this.setRows(rows);\n return _this;\n }\n\n (0, _createClass3.default)(DatagridLocalPaging, [{\n key: \"setRows\",\n value: function setRows(rows) {\n this.rows = angular.copy(rows);\n\n this.cachedRows = angular.copy(rows);\n\n this.totalCount = rows ? rows.length : 0;\n }\n }, {\n key: \"loadData\",\n value: function loadData(skipSortAndFilter, forceLoadRows) {\n var _this2 = this;\n\n if (forceLoadRows) {\n this.cachedRows = angular.copy(this.rows);\n }\n\n if (!skipSortAndFilter || forceLoadRows) {\n this._filter();\n this._sort();\n }\n\n return this.$q.when({\n data: this.sortedRows.slice(this.offset - 1, this.offset - 1 + this.pageSize),\n meta: {\n pageCount: Math.ceil(this.sortedRows.length / this.pageSize),\n totalCount: this.sortedRows.length\n }\n }).then(function (result) {\n return _this2.loadRows(result);\n });\n }\n }, {\n key: \"loadRows\",\n value: function loadRows(pageResult) {\n var _this3 = this;\n\n this.preventLoadingRows = true;\n this.loadRowsData(pageResult.data).finally(function () {\n _this3.$timeout(function () {\n _this3.preventLoadingRows = false;\n });\n });\n this.totalCount = pageResult.meta.totalCount;\n\n return pageResult;\n }\n }, {\n key: \"_filter\",\n value: function _filter() {\n var filter = new _filter3.default(this.criteria, this.columns);\n this.filteredRows = filter.applyFilter(this.cachedRows);\n }\n }, {\n key: \"_sort\",\n value: function _sort() {\n var sortConfiguration = this.getSortingConfiguration();\n this.sortedRows = this.orderByFilter(this.filteredRows, sortConfiguration.property, sortConfiguration.dir < 0);\n }\n }]);\n return DatagridLocalPaging;\n}(_datagridPagingAbstract2.default);\n\nexports.default = DatagridLocalPaging;\n\n/***/ }),\n/* 273 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(274);\nmodule.exports = __webpack_require__(3).Object.getPrototypeOf;\n\n\n/***/ }),\n/* 274 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = __webpack_require__(21);\nvar $getPrototypeOf = __webpack_require__(84);\n\n__webpack_require__(99)('getPrototypeOf', function () {\n return function getPrototypeOf(it) {\n return $getPrototypeOf(toObject(it));\n };\n});\n\n\n/***/ }),\n/* 275 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(276), __esModule: true };\n\n/***/ }),\n/* 276 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(42);\n__webpack_require__(102);\nmodule.exports = __webpack_require__(54).f('iterator');\n\n\n/***/ }),\n/* 277 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar addToUnscopables = __webpack_require__(278);\nvar step = __webpack_require__(279);\nvar Iterators = __webpack_require__(19);\nvar toIObject = __webpack_require__(16);\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = __webpack_require__(79)(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n/***/ }),\n/* 278 */\n/***/ (function(module, exports) {\n\nmodule.exports = function () { /* empty */ };\n\n\n/***/ }),\n/* 279 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n\n\n/***/ }),\n/* 280 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(281), __esModule: true };\n\n/***/ }),\n/* 281 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(282);\n__webpack_require__(287);\n__webpack_require__(288);\n__webpack_require__(289);\nmodule.exports = __webpack_require__(3).Symbol;\n\n\n/***/ }),\n/* 282 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// ECMAScript 6 symbols shim\nvar global = __webpack_require__(6);\nvar has = __webpack_require__(10);\nvar DESCRIPTORS = __webpack_require__(9);\nvar $export = __webpack_require__(5);\nvar redefine = __webpack_require__(80);\nvar META = __webpack_require__(283).KEY;\nvar $fails = __webpack_require__(14);\nvar shared = __webpack_require__(49);\nvar setToStringTag = __webpack_require__(51);\nvar uid = __webpack_require__(27);\nvar wks = __webpack_require__(4);\nvar wksExt = __webpack_require__(54);\nvar wksDefine = __webpack_require__(55);\nvar enumKeys = __webpack_require__(284);\nvar isArray = __webpack_require__(285);\nvar anObject = __webpack_require__(8);\nvar isObject = __webpack_require__(13);\nvar toIObject = __webpack_require__(16);\nvar toPrimitive = __webpack_require__(32);\nvar createDesc = __webpack_require__(17);\nvar _create = __webpack_require__(46);\nvar gOPNExt = __webpack_require__(286);\nvar $GOPD = __webpack_require__(104);\nvar $DP = __webpack_require__(7);\nvar $keys = __webpack_require__(20);\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n __webpack_require__(103).f = gOPNExt.f = $getOwnPropertyNames;\n __webpack_require__(28).f = $propertyIsEnumerable;\n __webpack_require__(52).f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !__webpack_require__(45)) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(12)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n/***/ }),\n/* 283 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar META = __webpack_require__(27)('meta');\nvar isObject = __webpack_require__(13);\nvar has = __webpack_require__(10);\nvar setDesc = __webpack_require__(7).f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !__webpack_require__(14)(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n\n\n/***/ }),\n/* 284 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// all enumerable object keys, includes symbols\nvar getKeys = __webpack_require__(20);\nvar gOPS = __webpack_require__(52);\nvar pIE = __webpack_require__(28);\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n\n\n/***/ }),\n/* 285 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.2.2 IsArray(argument)\nvar cof = __webpack_require__(47);\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n\n\n/***/ }),\n/* 286 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = __webpack_require__(16);\nvar gOPN = __webpack_require__(103).f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n\n/***/ }),\n/* 287 */\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n/* 288 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(55)('asyncIterator');\n\n\n/***/ }),\n/* 289 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(55)('observable');\n\n\n/***/ }),\n/* 290 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(291), __esModule: true };\n\n/***/ }),\n/* 291 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(292);\nmodule.exports = __webpack_require__(3).Object.setPrototypeOf;\n\n\n/***/ }),\n/* 292 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = __webpack_require__(5);\n$export($export.S, 'Object', { setPrototypeOf: __webpack_require__(293).set });\n\n\n/***/ }),\n/* 293 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = __webpack_require__(13);\nvar anObject = __webpack_require__(8);\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = __webpack_require__(31)(Function.call, __webpack_require__(104).f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) { buggy = true; }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n\n\n/***/ }),\n/* 294 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(295), __esModule: true };\n\n/***/ }),\n/* 295 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(296);\nvar $Object = __webpack_require__(3).Object;\nmodule.exports = function create(P, D) {\n return $Object.create(P, D);\n};\n\n\n/***/ }),\n/* 296 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(5);\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', { create: __webpack_require__(46) });\n\n\n/***/ }),\n/* 297 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _get2 = __webpack_require__(29);\n\nvar _get3 = _interopRequireDefault(_get2);\n\nvar _find2 = __webpack_require__(86);\n\nvar _find3 = _interopRequireDefault(_find2);\n\nvar _comparatorResolver = __webpack_require__(298);\n\nvar _comparatorResolver2 = _interopRequireDefault(_comparatorResolver);\n\nvar _string = __webpack_require__(107);\n\nvar _string2 = _interopRequireDefault(_string);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Filter = function () {\n function Filter(criteria, columns) {\n (0, _classCallCheck3.default)(this, Filter);\n\n this.criteria = criteria;\n this.columns = columns;\n this.searchableColumns = this._getSearchableColumns();\n }\n\n (0, _createClass3.default)(Filter, [{\n key: \"applyFilter\",\n value: function applyFilter(collection) {\n var _this = this;\n\n var filtered = collection;\n this.criteria.forEach(function (criterion) {\n filtered = _this.applyCriteria(filtered, criterion);\n });\n return filtered;\n }\n }, {\n key: \"applyCriteria\",\n value: function applyCriteria(collection, criterion) {\n var _this2 = this;\n\n if (criterion.property === null && criterion.operator === \"contains\") {\n return collection.filter(function (item) {\n return _this2.itemContainsText(item, criterion.value);\n });\n }\n\n var propertyMeta = (0, _find3.default)(this.columns, [\"name\", criterion.property]);\n\n if (!propertyMeta) {\n return collection;\n }\n\n var comparatorFn = _comparatorResolver2.default.resolveComparator(criterion, propertyMeta.type);\n\n if (!criterion.property || !criterion.operator || criterion.value === undefined || !propertyMeta.type || !comparatorFn) {\n return collection;\n }\n\n return collection.filter(function (item) {\n var subject = (0, _get3.default)(item, criterion.property);\n return comparatorFn(subject, criterion.value);\n });\n }\n }, {\n key: \"itemContainsText\",\n value: function itemContainsText(item, text) {\n return this.searchableColumns.reduce(function (aggregator, name) {\n var value = (0, _get3.default)(item, name);\n return aggregator || _string2.default.contains(value, text);\n }, false);\n }\n }, {\n key: \"_getSearchableColumns\",\n value: function _getSearchableColumns() {\n return this.columns.filter(function (column) {\n return column.searchable;\n }).map(function (column) {\n return column.name;\n });\n }\n }]);\n return Filter;\n}();\n\nexports.default = Filter;\n\n/***/ }),\n/* 298 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _negate2 = __webpack_require__(299);\n\nvar _negate3 = _interopRequireDefault(_negate2);\n\nvar _endsWith2 = __webpack_require__(300);\n\nvar _endsWith3 = _interopRequireDefault(_endsWith2);\n\nvar _basic = __webpack_require__(302);\n\nvar _basic2 = _interopRequireDefault(_basic);\n\nvar _date = __webpack_require__(303);\n\nvar _date2 = _interopRequireDefault(_date);\n\nvar _number = __webpack_require__(310);\n\nvar _number2 = _interopRequireDefault(_number);\n\nvar _string = __webpack_require__(107);\n\nvar _string2 = _interopRequireDefault(_string);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar comparators = {\n \"boolean\": _basic2.default,\n date: _date2.default,\n number: _number2.default,\n options: _basic2.default,\n string: _string2.default\n};\n\nvar ComparatorResolver = function () {\n function ComparatorResolver() {\n (0, _classCallCheck3.default)(this, ComparatorResolver);\n }\n\n (0, _createClass3.default)(ComparatorResolver, null, [{\n key: \"resolveComparator\",\n value: function resolveComparator(criterion, type) {\n var baseOperator = criterion.operator.replace(/Not$/, \"\");\n var negated = (0, _endsWith3.default)(criterion.operator, \"Not\");\n var comparator = comparators[type] ? comparators[type][baseOperator] : null;\n return comparator && negated ? (0, _negate3.default)(comparator) : comparator;\n }\n }]);\n return ComparatorResolver;\n}();\n\nexports.default = ComparatorResolver;\n\n/***/ }),\n/* 299 */\n/***/ (function(module, exports) {\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that negates the result of the predicate `func`. The\n * `func` predicate is invoked with the `this` binding and arguments of the\n * created function.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} predicate The predicate to negate.\n * @returns {Function} Returns the new negated function.\n * @example\n *\n * function isEven(n) {\n * return n % 2 == 0;\n * }\n *\n * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven));\n * // => [1, 3, 5]\n */\nfunction negate(predicate) {\n if (typeof predicate != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n return function() {\n var args = arguments;\n switch (args.length) {\n case 0: return !predicate.call(this);\n case 1: return !predicate.call(this, args[0]);\n case 2: return !predicate.call(this, args[0], args[1]);\n case 3: return !predicate.call(this, args[0], args[1], args[2]);\n }\n return !predicate.apply(this, args);\n };\n}\n\nmodule.exports = negate;\n\n\n/***/ }),\n/* 300 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar baseClamp = __webpack_require__(75),\n baseToString = __webpack_require__(301),\n toInteger = __webpack_require__(96),\n toString = __webpack_require__(94);\n\n/**\n * Checks if `string` ends with the given target string.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to inspect.\n * @param {string} [target] The string to search for.\n * @param {number} [position=string.length] The position to search up to.\n * @returns {boolean} Returns `true` if `string` ends with `target`,\n * else `false`.\n * @example\n *\n * _.endsWith('abc', 'c');\n * // => true\n *\n * _.endsWith('abc', 'b');\n * // => false\n *\n * _.endsWith('abc', 'b', 2);\n * // => true\n */\nfunction endsWith(string, target, position) {\n string = toString(string);\n target = baseToString(target);\n\n var length = string.length;\n position = position === undefined\n ? length\n : baseClamp(toInteger(position), 0, length);\n\n var end = position;\n position -= target.length;\n return position >= 0 && string.slice(position, end) == target;\n}\n\nmodule.exports = endsWith;\n\n\n/***/ }),\n/* 301 */\n/***/ (function(module, exports) {\n\n/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n/***/ }),\n/* 302 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar BooleanComparators = function () {\n function BooleanComparators() {\n (0, _classCallCheck3.default)(this, BooleanComparators);\n }\n\n (0, _createClass3.default)(BooleanComparators, null, [{\n key: \"is\",\n value: function is(subject, value) {\n return subject === value;\n }\n }]);\n return BooleanComparators;\n}();\n\nexports.default = BooleanComparators;\n\n/***/ }),\n/* 303 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _isNaN2 = __webpack_require__(304);\n\nvar _isNaN3 = _interopRequireDefault(_isNaN2);\n\nvar _isDate2 = __webpack_require__(306);\n\nvar _isDate3 = _interopRequireDefault(_isDate2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar DateComparators = function () {\n function DateComparators() {\n (0, _classCallCheck3.default)(this, DateComparators);\n }\n\n (0, _createClass3.default)(DateComparators, null, [{\n key: \"is\",\n value: function is(subject, value) {\n return DateComparators.transformDate(subject) === value;\n }\n }, {\n key: \"isBefore\",\n value: function isBefore(subject, value) {\n return DateComparators.transformDate(subject) < value;\n }\n }, {\n key: \"isAfter\",\n value: function isAfter(subject, value) {\n return DateComparators.transformDate(subject) > value;\n }\n }, {\n key: \"normalizeDate\",\n value: function normalizeDate(date) {\n var daydate = date.getDate();\n var month = date.getMonth() + 1;\n\n if (daydate < 10) {\n daydate = \"0\" + daydate;\n }\n\n if (month < 10) {\n month = \"0\" + month;\n }\n\n return date.getFullYear() + \"-\" + month + \"-\" + daydate;\n }\n }, {\n key: \"transformDate\",\n value: function transformDate(rawDate) {\n var date = rawDate;\n\n if (!(0, _isDate3.default)(date)) {\n date = new Date(date);\n if ((0, _isNaN3.default)(date.valueOf())) {\n throw new Error(\"ovh-ui-angular: date \" + rawDate + \" cannot be parsed.\");\n }\n }\n\n return DateComparators.normalizeDate(date);\n }\n }]);\n return DateComparators;\n}();\n\nexports.default = DateComparators;\n\n/***/ }),\n/* 304 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isNumber = __webpack_require__(305);\n\n/**\n * Checks if `value` is `NaN`.\n *\n * **Note:** This method is based on\n * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as\n * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for\n * `undefined` and other non-number values.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n * @example\n *\n * _.isNaN(NaN);\n * // => true\n *\n * _.isNaN(new Number(NaN));\n * // => true\n *\n * isNaN(undefined);\n * // => true\n *\n * _.isNaN(undefined);\n * // => false\n */\nfunction isNaN(value) {\n // An `NaN` primitive is the only value that is not equal to itself.\n // Perform the `toStringTag` check first to avoid errors with some\n // ActiveX objects in IE.\n return isNumber(value) && value != +value;\n}\n\nmodule.exports = isNaN;\n\n\n/***/ }),\n/* 305 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar baseGetTag = __webpack_require__(24),\n isObjectLike = __webpack_require__(18);\n\n/** `Object#toString` result references. */\nvar numberTag = '[object Number]';\n\n/**\n * Checks if `value` is classified as a `Number` primitive or object.\n *\n * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are\n * classified as numbers, use the `_.isFinite` method.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a number, else `false`.\n * @example\n *\n * _.isNumber(3);\n * // => true\n *\n * _.isNumber(Number.MIN_VALUE);\n * // => true\n *\n * _.isNumber(Infinity);\n * // => true\n *\n * _.isNumber('3');\n * // => false\n */\nfunction isNumber(value) {\n return typeof value == 'number' ||\n (isObjectLike(value) && baseGetTag(value) == numberTag);\n}\n\nmodule.exports = isNumber;\n\n\n/***/ }),\n/* 306 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar baseIsDate = __webpack_require__(307),\n baseUnary = __webpack_require__(308),\n nodeUtil = __webpack_require__(309);\n\n/* Node.js helper references. */\nvar nodeIsDate = nodeUtil && nodeUtil.isDate;\n\n/**\n * Checks if `value` is classified as a `Date` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\n * @example\n *\n * _.isDate(new Date);\n * // => true\n *\n * _.isDate('Mon April 23 2012');\n * // => false\n */\nvar isDate = nodeIsDate ? baseUnary(nodeIsDate) : baseIsDate;\n\nmodule.exports = isDate;\n\n\n/***/ }),\n/* 307 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar baseGetTag = __webpack_require__(24),\n isObjectLike = __webpack_require__(18);\n\n/** `Object#toString` result references. */\nvar dateTag = '[object Date]';\n\n/**\n * The base implementation of `_.isDate` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\n */\nfunction baseIsDate(value) {\n return isObjectLike(value) && baseGetTag(value) == dateTag;\n}\n\nmodule.exports = baseIsDate;\n\n\n/***/ }),\n/* 308 */\n/***/ (function(module, exports) {\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n\n\n/***/ }),\n/* 309 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(module) {var freeGlobal = __webpack_require__(62);\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(61)(module)))\n\n/***/ }),\n/* 310 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar NumberComparators = function () {\n function NumberComparators() {\n (0, _classCallCheck3.default)(this, NumberComparators);\n }\n\n (0, _createClass3.default)(NumberComparators, null, [{\n key: \"is\",\n value: function is(subject, value) {\n return subject === value;\n }\n }, {\n key: \"smaller\",\n value: function smaller(subject, value) {\n return subject < value;\n }\n }, {\n key: \"bigger\",\n value: function bigger(subject, value) {\n return subject > value;\n }\n }]);\n return NumberComparators;\n}();\n\nexports.default = NumberComparators;\n\n/***/ }),\n/* 311 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar matchOperatorsRe = /[|\\\\{}()[\\]^$+*?.]/g;\n\nmodule.exports = function (str) {\n\tif (typeof str !== 'string') {\n\t\tthrow new TypeError('Expected a string');\n\t}\n\n\treturn str.replace(matchOperatorsRe, '\\\\$&');\n};\n\n\n/***/ }),\n/* 312 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _assign = __webpack_require__(22);\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nvar _getPrototypeOf = __webpack_require__(98);\n\nvar _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _possibleConstructorReturn2 = __webpack_require__(100);\n\nvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\nvar _inherits2 = __webpack_require__(105);\n\nvar _inherits3 = _interopRequireDefault(_inherits2);\n\nvar _datagridPagingAbstract = __webpack_require__(106);\n\nvar _datagridPagingAbstract2 = _interopRequireDefault(_datagridPagingAbstract);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar DatagridRemotePaging = function (_DatagridPagingAbstra) {\n (0, _inherits3.default)(DatagridRemotePaging, _DatagridPagingAbstra);\n\n function DatagridRemotePaging(columns, currentSorting, pageSize, rowLoader, pagingService, rowsLoader) {\n (0, _classCallCheck3.default)(this, DatagridRemotePaging);\n\n var _this = (0, _possibleConstructorReturn3.default)(this, (DatagridRemotePaging.__proto__ || (0, _getPrototypeOf2.default)(DatagridRemotePaging)).call(this, columns, currentSorting, pageSize, rowLoader, pagingService));\n\n _this.rowsLoader = rowsLoader;\n return _this;\n }\n\n (0, _createClass3.default)(DatagridRemotePaging, [{\n key: \"loadData\",\n value: function loadData(skipSort) {\n var _this2 = this;\n\n return this.rowsLoader({\n $config: (0, _assign2.default)({\n offset: this.offset,\n pageSize: this.pageSize,\n sort: this.getSortingConfiguration(),\n criteria: this.criteria\n }, {\n skipSort: skipSort\n })\n }).then(function (result) {\n return _this2.loadRows(result);\n });\n }\n }, {\n key: \"loadRows\",\n value: function loadRows(pageResult) {\n this.loadRowsData(pageResult.data);\n this.totalCount = pageResult.meta.totalCount;\n\n return pageResult;\n }\n }]);\n return DatagridRemotePaging;\n}(_datagridPagingAbstract2.default);\n\nexports.default = DatagridRemotePaging;\n\n/***/ }),\n/* 313 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _datagridParameters = __webpack_require__(314);\n\nvar _datagridParameters2 = _interopRequireDefault(_datagridParameters);\n\nvar _datagridParameters3 = __webpack_require__(315);\n\nvar _datagridParameters4 = _interopRequireDefault(_datagridParameters3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n bindings: {\n columns: \"<\",\n onChange: \"&\"\n },\n controller: _datagridParameters2.default,\n template: _datagridParameters4.default\n};\n\n/***/ }),\n/* 314 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar DatagridParametersController = function () {\n DatagridParametersController.$inject = [\"$element\", \"$timeout\"];\n function DatagridParametersController($element, $timeout) {\n \"ngInject\";\n\n (0, _classCallCheck3.default)(this, DatagridParametersController);\n this.$element = $element;\n this.$timeout = $timeout;\n }\n\n (0, _createClass3.default)(DatagridParametersController, [{\n key: \"$onChanges\",\n value: function $onChanges() {\n this.computeColumns();\n }\n }, {\n key: \"$postLink\",\n value: function $postLink() {\n var _this = this;\n\n this.$timeout(function () {\n _this.$element.addClass(\"oui-datagrid-parameters\");\n });\n }\n }, {\n key: \"computeColumns\",\n value: function computeColumns() {\n this.customizedColumns = angular.copy(this.columns).map(function (column) {\n column.visible = !column.hidden;\n return column;\n });\n }\n }, {\n key: \"onColumnChange\",\n value: function onColumnChange(columnIndex, isVisible) {\n this.changedColumns = angular.copy(this.customizedColumns);\n this.changedColumns.forEach(function (column, index) {\n if (index === columnIndex) {\n column.hidden = !isVisible;\n }\n delete column.visible;\n });\n this.onChange({ columns: this.changedColumns });\n }\n }]);\n return DatagridParametersController;\n}();\n\nexports.default = DatagridParametersController;\n\n/***/ }),\n/* 315 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"
Columns Display
\";\n\n/***/ }),\n/* 316 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _class = function () {\n function _class() {\n (0, _classCallCheck3.default)(this, _class);\n\n this.pageSize = 25;\n this.translations = {\n emptyPlaceholder: \"No data available\"\n };\n }\n\n (0, _createClass3.default)(_class, [{\n key: \"setPageSize\",\n value: function setPageSize(pageSize) {\n this.pageSize = pageSize;\n return this;\n }\n }, {\n key: \"setTranslations\",\n value: function setTranslations(translations) {\n this.translations = translations;\n return this;\n }\n }, {\n key: \"$get\",\n value: function $get() {\n return {\n pageSize: this.pageSize,\n translations: this.translations\n };\n }\n }]);\n return _class;\n}();\n\nexports.default = _class;\n\n/***/ }),\n/* 317 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar DatagridService = function () {\n function DatagridService() {\n (0, _classCallCheck3.default)(this, DatagridService);\n\n this.datagrids = {};\n }\n\n (0, _createClass3.default)(DatagridService, [{\n key: \"registerDatagrid\",\n value: function registerDatagrid(datagridController) {\n var datagridId = datagridController.id;\n\n if (this.datagrids[datagridId]) {\n throw new Error(\"Duplicated datagrid: id=\\\"\" + datagridId + \"\\\".\");\n }\n\n if (datagridId) {\n this.datagrids[datagridId] = datagridController;\n }\n }\n }, {\n key: \"unregisterDatagrid\",\n value: function unregisterDatagrid(datagridId) {\n delete this.datagrids[datagridId];\n }\n }, {\n key: \"refresh\",\n value: function refresh(datagridId, showSpinner) {\n var datagridController = this.datagrids[datagridId];\n\n if (datagridController) {\n datagridController.refreshData(false, false, false, !showSpinner, true);\n }\n }\n }]);\n return DatagridService;\n}();\n\nexports.default = DatagridService;\n\n/***/ }),\n/* 318 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _keyboardKeys = __webpack_require__(319);\n\nvar _keyboardKeys2 = _interopRequireDefault(_keyboardKeys);\n\nvar _navbar = __webpack_require__(320);\n\nvar _navbar2 = _interopRequireDefault(_navbar);\n\nvar _navbarProvider = __webpack_require__(323);\n\nvar _navbarProvider2 = _interopRequireDefault(_navbarProvider);\n\nvar _navbarGroup = __webpack_require__(324);\n\nvar _navbarGroup2 = _interopRequireDefault(_navbarGroup);\n\nvar _navbarGroup3 = __webpack_require__(326);\n\nvar _navbarGroup4 = _interopRequireDefault(_navbarGroup3);\n\nvar _navbarMenu = __webpack_require__(327);\n\nvar _navbarMenu2 = _interopRequireDefault(_navbarMenu);\n\nvar _navbar3 = __webpack_require__(330);\n\nvar _navbar4 = _interopRequireDefault(_navbar3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.navbar\", [\"ngAria\", \"ngSanitize\"]).constant(\"KEYBOARD_KEYS\", _keyboardKeys2.default).component(\"ouiNavbar\", _navbar2.default).directive(\"ouiNavbarGroup\", _navbarGroup2.default).component(\"ouiNavbarMenu\", _navbarMenu2.default).provider(\"ouiNavbarConfiguration\", _navbarProvider2.default).service(\"NavbarService\", _navbar4.default).service(\"NavbarGroupService\", _navbarGroup4.default);\n\n/***/ }),\n/* 319 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n ALT: 9,\n TAB: 16,\n ESC: 27\n};\n\n/***/ }),\n/* 320 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _navbar = __webpack_require__(321);\n\nvar _navbar2 = _interopRequireDefault(_navbar);\n\nvar _navbar3 = __webpack_require__(322);\n\nvar _navbar4 = _interopRequireDefault(_navbar3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n bindings: {\n brand: \" \";\n\n/***/ }),\n/* 323 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _class = function () {\n function _class() {\n (0, _classCallCheck3.default)(this, _class);\n\n this.translations = {\n notification: {\n errorInNotification: \"Oups, there’s an error!\",\n errorInNotificationDescription: \"We can’t initialize the menu.\",\n markRead: \"Mark as read\",\n markUnread: \"Mark as unread\",\n noNotification: \"You are all caught up!\",\n noNotificationDescription: \"You don't have any notification.\"\n }\n };\n }\n\n (0, _createClass3.default)(_class, [{\n key: \"setTranslations\",\n value: function setTranslations(translations) {\n this.translations = translations;\n return this;\n }\n }, {\n key: \"$get\",\n value: function $get() {\n return {\n translations: this.translations\n };\n }\n }]);\n return _class;\n}();\n\nexports.default = _class;\n\n/***/ }),\n/* 324 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _navbarGroup = __webpack_require__(325);\n\nvar _navbarGroup2 = _interopRequireDefault(_navbarGroup);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n return {\n restrict: \"A\",\n bindToController: {\n groupName: \"@ouiNavbarGroup\",\n isLast: \"= lastIndex ? 0 : index + 1;\n } else if (keys[_this.KEYBOARD_KEYS.ALT] && keys[_this.KEYBOARD_KEYS.TAB]) {\n index = index <= 0 ? lastIndex : index - 1;\n }\n\n if (tabbableItems[index].clientHeight) {\n tabbableItems[index].focus();\n } else {\n focusElement(e, index);\n }\n };\n\n angular.element(tabbableItems).on(\"keydown\", function (e) {\n if (keysRegex.test(e.which) && _this.navbarService.isOpen(groupName)) {\n e.preventDefault();\n focusElement(e, _this.keyboardNav[groupName].indexOf(e.target));\n }\n }).on(\"keyup\", function (e) {\n delete keys[e.which];\n });\n }\n }, {\n key: \"setFocusTo\",\n value: function setFocusTo(groupName, index) {\n var _this2 = this;\n\n var delay = 50;\n this.$timeout(function () {\n return _this2.keyboardNav[groupName][index] && _this2.keyboardNav[groupName][index].focus();\n }, delay);\n }\n }]);\n return _class;\n}();\n\nexports.default = _class;\n\n/***/ }),\n/* 327 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _navbarMenu = __webpack_require__(328);\n\nvar _navbarMenu2 = _interopRequireDefault(_navbarMenu);\n\nvar _navbarMenu3 = __webpack_require__(329);\n\nvar _navbarMenu4 = _interopRequireDefault(_navbarMenu3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n bindings: {\n backButton: \"

\";\n\n/***/ }),\n/* 330 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _class = function () {\n function _class() {\n (0, _classCallCheck3.default)(this, _class);\n }\n\n (0, _createClass3.default)(_class, [{\n key: \"isOpen\",\n value: function isOpen(state) {\n return this.navigation && this.navigation[state];\n }\n }, {\n key: \"toggleMenu\",\n value: function toggleMenu(state, isInternalNav) {\n if (state) {\n if (!isInternalNav && (!this.navigation || !this.navigation[state])) {\n this.navigation = {};\n }\n\n if (isInternalNav || !this.navigation[state]) {\n this.navigation[state] = !this.navigation[state];\n } else if (this.navigation[state]) {\n this.navigation = null;\n }\n } else {\n this.navigation = null;\n }\n\n return this.navigation;\n }\n }]);\n return _class;\n}();\n\nexports.default = _class;\n\n/***/ }),\n/* 331 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _modalComponent = __webpack_require__(332);\n\nvar _modalComponent2 = _interopRequireDefault(_modalComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.modal\", []).component(\"ouiModal\", _modalComponent2.default);\n\n/***/ }),\n/* 332 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _modal = __webpack_require__(333);\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nvar _modal3 = __webpack_require__(334);\n\nvar _modal4 = _interopRequireDefault(_modal3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n template: _modal4.default,\n controller: _modal2.default,\n bindings: {\n heading: \"@?\",\n title: \"@?\",\n primaryAction: \"&?\",\n primaryLabel: \"@?\",\n secondaryAction: \"&?\",\n secondaryLabel: \"@?\",\n onDismiss: \"&?\",\n loading: \"

\";\n\n/***/ }),\n/* 335 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _fieldComponent = __webpack_require__(336);\n\nvar _fieldComponent2 = _interopRequireDefault(_fieldComponent);\n\nvar _fieldProvider = __webpack_require__(341);\n\nvar _fieldProvider2 = _interopRequireDefault(_fieldProvider);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.field\", []).component(\"ouiField\", _fieldComponent2.default).provider(\"ouiFieldConfiguration\", _fieldProvider2.default);\n\n/***/ }),\n/* 336 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _fieldController = __webpack_require__(337);\n\nvar _fieldController2 = _interopRequireDefault(_fieldController);\n\nvar _field = __webpack_require__(340);\n\nvar _field2 = _interopRequireDefault(_field);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n bindings: {\n label: \"@?\",\n helpText: \"@?\",\n size: \"@?\",\n errorMessages: \" 1) {\n return;\n }\n\n namedControls.forEach(function (control) {\n if (angular.element(control).hasClass(CUSTOM_ELEMENT_CLASS)) {\n return;\n }\n _this.bindDOMEvents(control, name);\n });\n\n _this.validationParameters[name] = FieldController.getValidationParameters(_this.controls[name][0]);\n });\n\n _this.label = angular.element(_this.$element[0].querySelector(LABEL_SELECTOR));\n _this.label.on(\"click\", function () {\n _this.$scope.$broadcast(\"oui:focus\");\n });\n\n if (_this.labelPopover) {\n _this.popoverId = \"oui-field-popover-\" + _this.$scope.$id;\n if (_this.for) {\n var $ouiFieldInput = angular.element(_this.$element[0].querySelector(\"#\" + _this.for));\n $ouiFieldInput.attr(\"aria-describedby\", _this.popoverId);\n }\n }\n });\n }\n }, {\n key: \"$destroy\",\n value: function $destroy() {\n var _this2 = this;\n\n (0, _keys2.default)(this.controls).forEach(function (name) {\n var namedControls = _this2.controls[name];\n namedControls.forEach(function (control) {\n angular.element(control).off(\"blur\");\n angular.element(control).off(\"focus\");\n });\n });\n\n if (this.label) {\n this.label.off(\"click\");\n }\n }\n }, {\n key: \"bindDOMEvents\",\n value: function bindDOMEvents(controlElement, name) {\n var _this3 = this;\n\n angular.element(controlElement).on(\"blur\", function () {\n _this3.$timeout(function () {\n _this3.checkControlErrors(controlElement, name);\n _this3.hasFocus = false;\n });\n });\n\n angular.element(controlElement).on(\"focus\", function () {\n _this3.$timeout(function () {\n _this3.hideErrors(controlElement, name);\n _this3.hasFocus = true;\n });\n });\n }\n }, {\n key: \"checkControlErrors\",\n value: function checkControlErrors(controlElement, name) {\n if (this.form[name] && this.form[name].$invalid) {\n this.invalidOnBlur = true;\n this.currentErrorField = name;\n } else {\n this.invalidOnBlur = false;\n this.currentErrorField = null;\n }\n }\n }, {\n key: \"hideErrors\",\n value: function hideErrors(controlElement, name) {\n this.form[name].$touched = false;\n this.invalidOnBlur = false;\n }\n }, {\n key: \"isErrorVisible\",\n value: function isErrorVisible() {\n if (!this.form) {\n return false;\n }\n\n this.checkAllErrors();\n return this.invalidOnBlur || this.form.$submitted && this.invalid && !this.hasFocus;\n }\n }, {\n key: \"checkAllErrors\",\n value: function checkAllErrors() {\n var _this4 = this;\n\n this.invalid = (0, _keys2.default)(this.controls).map(function (name) {\n if (_this4.form[name].$invalid && !_this4.currentErrorField) {\n _this4.currentErrorField = name;\n }\n return _this4.form[name].$invalid;\n }).reduce(function (fieldInvalid, controlInvalid) {\n return fieldInvalid || controlInvalid;\n }, false);\n }\n }, {\n key: \"getFirstError\",\n value: function getFirstError() {\n var names = (0, _keys2.default)(this.controls);\n for (var i = 0; i < names.length; ++i) {\n if (this.form[names[i]] && this.form[names[i]].$invalid) {\n return this.form[names[i]].$error;\n }\n }\n\n return null;\n }\n }, {\n key: \"getMessagesOrder\",\n value: function getMessagesOrder() {\n return (0, _keys2.default)(this.getFirstError()).sort(function (a, b) {\n return MESSAGES_ORDER.indexOf(a) < MESSAGES_ORDER.indexOf(b);\n });\n }\n }, {\n key: \"getMessageString\",\n value: function getMessageString(errorName) {\n return this.errorMessages && this.errorMessages[errorName] || this.ouiFieldConfiguration.translations.errors[errorName];\n }\n }, {\n key: \"getErrorMessage\",\n value: function getErrorMessage(errorName) {\n var message = this.getMessageString(errorName);\n var parameterValue = this.validationParameters[this.currentErrorField][errorName];\n return message.replace(\"{{\" + errorName + \"}}\", parameterValue);\n }\n }, {\n key: \"getAllControls\",\n value: function getAllControls() {\n var _this5 = this;\n\n var controlsSelector = CONTROLS_SELECTORS.join(\",\");\n this.controlElements = (0, _from2.default)(this.$element[0].querySelectorAll(controlsSelector));\n return this.controlElements.filter(function (control) {\n return (0, _componentUtils.hasAttributeValue)(control, \"name\");\n }).map(function (control) {\n if ((0, _componentUtils.hasAttributeValue)(control, \"id\")) {\n _this5.ids.push((0, _componentUtils.getAttribute)(control, \"id\"));\n }\n\n return (0, _componentUtils.getAttribute)(control, \"name\");\n }).reduce(function (controls, name) {\n controls[name] = (0, _from2.default)(_this5.$element[0].querySelectorAll(\"[name=\\\"\" + name + \"\\\"]\"));\n return controls;\n }, {});\n }\n }], [{\n key: \"getValidationParameters\",\n value: function getValidationParameters(controlElement) {\n var validationParameters = {};\n (0, _keys2.default)(VALIDATION_PARAMETERS).forEach(function (validationName) {\n var attributes = VALIDATION_PARAMETERS[validationName];\n attributes.forEach(function (attributeName) {\n if ((0, _componentUtils.hasAttributeValue)(controlElement, attributeName)) {\n validationParameters[validationName] = (0, _componentUtils.getAttribute)(controlElement, attributeName);\n }\n });\n });\n return validationParameters;\n }\n }]);\n return FieldController;\n}();\n\nexports.default = FieldController;\n\n/***/ }),\n/* 338 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(339);\nmodule.exports = __webpack_require__(3).Object.keys;\n\n\n/***/ }),\n/* 339 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 Object.keys(O)\nvar toObject = __webpack_require__(21);\nvar $keys = __webpack_require__(20);\n\n__webpack_require__(99)('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n\n\n/***/ }),\n/* 340 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"
\";\n\n/***/ }),\n/* 341 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _class = function () {\n function _class() {\n (0, _classCallCheck3.default)(this, _class);\n\n this.translations = {\n errors: {\n required: \"Mandatory.\",\n number: \"Invalid number.\",\n email: \"Invalid email.\",\n min: \"Too low ({{min}} min).\",\n max: \"Too high ({{max}} max).\",\n minlength: \"Too short ({{minlength}} characters min).\",\n maxlength: \"Too high ({{maxlength}} characters max).\",\n pattern: \"Invalid format.\"\n }\n };\n }\n\n (0, _createClass3.default)(_class, [{\n key: \"setTranslations\",\n value: function setTranslations(translations) {\n this.translations = translations;\n return this;\n }\n }, {\n key: \"$get\",\n value: function $get() {\n return {\n translations: this.translations\n };\n }\n }]);\n return _class;\n}();\n\nexports.default = _class;\n\n/***/ }),\n/* 342 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _radioGroup = __webpack_require__(109);\n\nvar _radioGroup2 = _interopRequireDefault(_radioGroup);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n template: \"\",\n controller: _radioGroup2.default,\n bindings: {\n name: \"@?\",\n model: \"=?\",\n onChange: \"&\"\n },\n transclude: true\n};\n\n/***/ }),\n/* 343 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n__webpack_require__(39);\n\n__webpack_require__(108);\n\nvar _radioToggleGroupComponent = __webpack_require__(344);\n\nvar _radioToggleGroupComponent2 = _interopRequireDefault(_radioToggleGroupComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.radio-toggle-group\", [\"oui.radio\", \"oui.radio-group\"]).component(\"ouiRadioToggleGroup\", _radioToggleGroupComponent2.default);\n\n/***/ }),\n/* 344 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _radioGroup = __webpack_require__(109);\n\nvar _radioGroup2 = _interopRequireDefault(_radioGroup);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n template: \"
\",\n controller: _radioGroup2.default,\n bindings: {\n name: \"@?\",\n model: \"=?\",\n onChange: \"&\"\n },\n transclude: true\n};\n\n/***/ }),\n/* 345 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n__webpack_require__(346);\n\nvar _select = __webpack_require__(350);\n\nvar _select2 = _interopRequireDefault(_select);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.select\", [\"oui.field\", \"ui.select\", \"ngSanitize\"]).directive(\"ouiSelect\", _select2.default);\n\n/***/ }),\n/* 346 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _keys = __webpack_require__(56);\n\nvar _keys2 = _interopRequireDefault(_keys);\n\nvar _popper = __webpack_require__(25);\n\nvar _popper2 = _interopRequireDefault(_popper);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n(function () {\n \"use strict\";\n\n var KEY = {\n TAB: 9,\n ENTER: 13,\n ESC: 27,\n SPACE: 32,\n LEFT: 37,\n UP: 38,\n RIGHT: 39,\n DOWN: 40,\n SHIFT: 16,\n CTRL: 17,\n ALT: 18,\n PAGE_UP: 33,\n PAGE_DOWN: 34,\n HOME: 36,\n END: 35,\n BACKSPACE: 8,\n DELETE: 46,\n COMMAND: 91,\n\n MAP: { 91: \"COMMAND\", 8: \"BACKSPACE\", 9: \"TAB\", 13: \"ENTER\", 16: \"SHIFT\", 17: \"CTRL\", 18: \"ALT\", 19: \"PAUSEBREAK\", 20: \"CAPSLOCK\", 27: \"ESC\", 32: \"SPACE\", 33: \"PAGE_UP\", 34: \"PAGE_DOWN\", 35: \"END\", 36: \"HOME\", 37: \"LEFT\", 38: \"UP\", 39: \"RIGHT\", 40: \"DOWN\", 43: \"+\", 44: \"PRINTSCREEN\", 45: \"INSERT\", 46: \"DELETE\", 48: \"0\", 49: \"1\", 50: \"2\", 51: \"3\", 52: \"4\", 53: \"5\", 54: \"6\", 55: \"7\", 56: \"8\", 57: \"9\", 59: \";\", 61: \"=\", 65: \"A\", 66: \"B\", 67: \"C\", 68: \"D\", 69: \"E\", 70: \"F\", 71: \"G\", 72: \"H\", 73: \"I\", 74: \"J\", 75: \"K\", 76: \"L\", 77: \"M\", 78: \"N\", 79: \"O\", 80: \"P\", 81: \"Q\", 82: \"R\", 83: \"S\", 84: \"T\", 85: \"U\", 86: \"V\", 87: \"W\", 88: \"X\", 89: \"Y\", 90: \"Z\", 96: \"0\", 97: \"1\", 98: \"2\", 99: \"3\", 100: \"4\", 101: \"5\", 102: \"6\", 103: \"7\", 104: \"8\", 105: \"9\", 106: \"*\", 107: \"+\", 109: \"-\", 110: \".\", 111: \"/\", 112: \"F1\", 113: \"F2\", 114: \"F3\", 115: \"F4\", 116: \"F5\", 117: \"F6\", 118: \"F7\", 119: \"F8\", 120: \"F9\", 121: \"F10\", 122: \"F11\", 123: \"F12\", 144: \"NUMLOCK\", 145: \"SCROLLLOCK\", 186: \";\", 187: \"=\", 188: \",\", 189: \"-\", 190: \".\", 191: \"/\", 192: \"`\", 219: \"[\", 220: \"\\\\\", 221: \"]\", 222: \"'\"\n },\n\n isControl: function isControl(e) {\n var k = e.which;\n switch (k) {\n case KEY.COMMAND:\n case KEY.SHIFT:\n case KEY.CTRL:\n case KEY.ALT:\n return true;\n }\n\n if (e.metaKey || e.ctrlKey || e.altKey) return true;\n\n return false;\n },\n isFunctionKey: function isFunctionKey(k) {\n k = k.which ? k.which : k;\n return k >= 112 && k <= 123;\n },\n isVerticalMovement: function isVerticalMovement(k) {\n return ~[KEY.UP, KEY.DOWN].indexOf(k);\n },\n isHorizontalMovement: function isHorizontalMovement(k) {\n return ~[KEY.LEFT, KEY.RIGHT, KEY.BACKSPACE, KEY.DELETE].indexOf(k);\n },\n toSeparator: function toSeparator(k) {\n var sep = { ENTER: \"\\n\", TAB: \"\\t\", SPACE: \" \" }[k];\n if (sep) return sep;\n\n return KEY[k] ? undefined : k;\n }\n };\n\n function isNil(value) {\n return angular.isUndefined(value) || value === null;\n }\n\n if (angular.element.prototype.querySelectorAll === undefined) {\n angular.element.prototype.querySelectorAll = function (selector) {\n return angular.element(this[0].querySelectorAll(selector));\n };\n }\n\n if (angular.element.prototype.closest === undefined) {\n angular.element.prototype.closest = function (selector) {\n var elem = this[0];\n var matchesSelector = elem.matches || elem.webkitMatchesSelector || elem.mozMatchesSelector || elem.msMatchesSelector;\n\n while (elem) {\n if (matchesSelector.bind(elem)(selector)) {\n return elem;\n } else {\n elem = elem.parentElement;\n }\n }\n return false;\n };\n }\n\n var latestId = 0;\n\n var uis = angular.module('ui.select', []).constant('uiSelectConfig', {\n theme: 'bootstrap',\n searchEnabled: true,\n sortable: false,\n placeholder: '',\n refreshDelay: 1000,\n closeOnSelect: true,\n skipFocusser: false,\n dropdownPosition: 'auto',\n removeSelected: true,\n resetSearchInput: true,\n generateId: function generateId() {\n return latestId++;\n },\n appendToBody: false,\n spinnerEnabled: false,\n spinnerClass: 'glyphicon glyphicon-refresh ui-select-spin',\n backspaceReset: true\n }).service('uiSelectMinErr', function () {\n var minErr = angular.$$minErr('ui.select');\n return function () {\n var error = minErr.apply(this, arguments);\n var message = error.message.replace(new RegExp('\\nhttp://errors.angularjs.org/.*'), '');\n return new Error(message);\n };\n }).directive('uisTranscludeAppend', function () {\n return {\n link: function link(scope, element, attrs, ctrl, transclude) {\n transclude(scope, function (clone) {\n element.append(clone);\n });\n }\n };\n }).filter('highlight', function () {\n function escapeRegexp(queryToEscape) {\n return ('' + queryToEscape).replace(/([.?*+^$[\\]\\\\(){}|-])/g, '\\\\$1');\n }\n\n return function (matchItem, query) {\n return query && matchItem ? ('' + matchItem).replace(new RegExp(escapeRegexp(query), 'gi'), '$&') : matchItem;\n };\n }).factory('uisOffset', ['$document', '$window', function ($document, $window) {\n\n return function (element) {\n var boundingClientRect = element[0].getBoundingClientRect();\n return {\n width: boundingClientRect.width || element.prop('offsetWidth'),\n height: boundingClientRect.height || element.prop('offsetHeight'),\n top: boundingClientRect.top + ($window.pageYOffset || $document[0].documentElement.scrollTop),\n left: boundingClientRect.left + ($window.pageXOffset || $document[0].documentElement.scrollLeft)\n };\n };\n }]);\n\n uis.factory('$$uisDebounce', ['$timeout', function ($timeout) {\n return function (callback, debounceTime) {\n var timeoutPromise;\n\n return function () {\n var self = this;\n var args = Array.prototype.slice.call(arguments);\n if (timeoutPromise) {\n $timeout.cancel(timeoutPromise);\n }\n\n timeoutPromise = $timeout(function () {\n callback.apply(self, args);\n }, debounceTime);\n };\n };\n }]);\n\n uis.directive('uiSelectChoices', ['uiSelectConfig', 'uisRepeatParser', 'uiSelectMinErr', '$compile', '$window', function (uiSelectConfig, RepeatParser, uiSelectMinErr, $compile, $window) {\n\n return {\n restrict: 'EA',\n require: '^uiSelect',\n replace: true,\n transclude: true,\n templateUrl: function templateUrl(tElement) {\n tElement.addClass('ui-select-choices');\n\n var theme = tElement.parent().attr('theme') || uiSelectConfig.theme;\n return theme + '/choices.tpl.html';\n },\n\n compile: function compile(tElement, tAttrs) {\n\n if (!tAttrs.repeat) throw uiSelectMinErr('repeat', \"Expected 'repeat' expression.\");\n\n var groupByExp = tAttrs.groupBy;\n var groupFilterExp = tAttrs.groupFilter;\n\n if (groupByExp) {\n var groups = tElement.querySelectorAll('.ui-select-choices-group');\n if (groups.length !== 1) throw uiSelectMinErr('rows', \"Expected 1 .ui-select-choices-group but got '{0}'.\", groups.length);\n groups.attr('ng-repeat', RepeatParser.getGroupNgRepeatExpression());\n }\n\n var parserResult = RepeatParser.parse(tAttrs.repeat);\n\n var choices = tElement.querySelectorAll('.ui-select-choices-row');\n if (choices.length !== 1) {\n throw uiSelectMinErr('rows', \"Expected 1 .ui-select-choices-row but got '{0}'.\", choices.length);\n }\n\n choices.attr('ng-repeat', parserResult.repeatExpression(groupByExp));\n\n\n var rowsInner = tElement.querySelectorAll('.ui-select-choices-row-inner');\n if (rowsInner.length !== 1) {\n throw uiSelectMinErr('rows', \"Expected 1 .ui-select-choices-row-inner but got '{0}'.\", rowsInner.length);\n }\n rowsInner.attr('uis-transclude-append', '');\n var clickTarget = $window.document.addEventListener ? choices : rowsInner;\n clickTarget.attr('ng-click', '$select.select(' + parserResult.itemName + ',$select.skipFocusser,$event)');\n\n return function link(scope, element, attrs, $select) {\n\n $select.parseRepeatAttr(attrs.repeat, groupByExp, groupFilterExp);\n $select.disableChoiceExpression = attrs.uiDisableChoice;\n $select.onHighlightCallback = attrs.onHighlight;\n $select.minimumInputLength = parseInt(attrs.minimumInputLength) || 0;\n $select.dropdownPosition = attrs.position ? attrs.position.toLowerCase() : uiSelectConfig.dropdownPosition;\n\n scope.$watch('$select.search', function (newValue) {\n if (newValue && !$select.open && $select.multiple) $select.activate(false, true);\n $select.activeIndex = $select.tagging.isActivated ? -1 : 0;\n if (!attrs.minimumInputLength || $select.search.length >= attrs.minimumInputLength) {\n $select.refresh(attrs.refresh);\n } else {\n $select.items = [];\n }\n });\n\n attrs.$observe('refreshDelay', function () {\n var refreshDelay = scope.$eval(attrs.refreshDelay);\n $select.refreshDelay = refreshDelay !== undefined ? refreshDelay : uiSelectConfig.refreshDelay;\n });\n\n scope.$watch('$select.open', function (open) {\n if (open) {\n tElement.attr('role', 'listbox');\n $select.refresh(attrs.refresh);\n } else {\n element.removeAttr('role');\n }\n });\n };\n }\n };\n }]);\n\n uis.controller('uiSelectCtrl', ['$scope', '$element', '$timeout', '$filter', '$$uisDebounce', 'uisRepeatParser', 'uiSelectMinErr', 'uiSelectConfig', '$parse', '$injector', '$window', '$document', '$attrs', function ($scope, $element, $timeout, $filter, $$uisDebounce, RepeatParser, uiSelectMinErr, uiSelectConfig, $parse, $injector, $window, $document, $attrs) {\n\n var ctrl = this;\n\n var EMPTY_SEARCH = '';\n\n ctrl.placeholder = uiSelectConfig.placeholder;\n ctrl.searchEnabled = uiSelectConfig.searchEnabled;\n ctrl.sortable = uiSelectConfig.sortable;\n ctrl.refreshDelay = uiSelectConfig.refreshDelay;\n ctrl.paste = uiSelectConfig.paste;\n ctrl.resetSearchInput = uiSelectConfig.resetSearchInput;\n ctrl.refreshing = false;\n ctrl.spinnerEnabled = uiSelectConfig.spinnerEnabled;\n ctrl.spinnerClass = uiSelectConfig.spinnerClass;\n ctrl.removeSelected = uiSelectConfig.removeSelected;\n ctrl.closeOnSelect = true;\n ctrl.skipFocusser = false;\n ctrl.search = EMPTY_SEARCH;\n\n ctrl.activeIndex = 0;\n ctrl.items = [];\n\n ctrl.open = false;\n ctrl.focus = false;\n ctrl.disabled = false;\n ctrl.selected = undefined;\n\n ctrl.dropdownPosition = 'auto';\n\n ctrl.focusser = undefined;\n ctrl.multiple = undefined;\n ctrl.disableChoiceExpression = undefined;\n ctrl.tagging = { isActivated: false, fct: undefined };\n ctrl.taggingTokens = { isActivated: false, tokens: undefined };\n ctrl.lockChoiceExpression = undefined;\n ctrl.clickTriggeredSelect = false;\n ctrl.$filter = $filter;\n ctrl.$element = $element;\n ctrl.$document = $document;\n\n ctrl.referenceElement = null;\n ctrl.popperElement = null;\n\n ctrl.align = $attrs['data-align'] || $attrs.align || 'start';\n\n ctrl.$animate = function () {\n try {\n return $injector.get('$animate');\n } catch (err) {\n return null;\n }\n }();\n\n ctrl.searchInput = $element.querySelectorAll('input.ui-select-search');\n if (ctrl.searchInput.length !== 1) {\n throw uiSelectMinErr('searchInput', \"Expected 1 input.ui-select-search but got '{0}'.\", ctrl.searchInput.length);\n }\n\n ctrl.isEmpty = function () {\n return isNil(ctrl.selected) || ctrl.selected === '' || ctrl.multiple && ctrl.selected.length === 0;\n };\n\n function _findIndex(collection, predicate, thisArg) {\n if (collection.findIndex) {\n return collection.findIndex(predicate, thisArg);\n } else {\n var list = Object(collection);\n var length = list.length >>> 0;\n var value;\n\n for (var i = 0; i < length; i++) {\n value = list[i];\n if (predicate.call(thisArg, value, i, list)) {\n return i;\n }\n }\n return -1;\n }\n }\n\n function _resetSearchInput() {\n if (ctrl.resetSearchInput) {\n ctrl.search = EMPTY_SEARCH;\n\n if (ctrl.selected && ctrl.items.length && !ctrl.multiple) {\n ctrl.activeIndex = _findIndex(ctrl.items, function (item) {\n return angular.equals(this, item);\n }, ctrl.selected);\n }\n }\n }\n\n function _groupsFilter(groups, groupNames) {\n var i,\n j,\n result = [];\n for (i = 0; i < groupNames.length; i++) {\n for (j = 0; j < groups.length; j++) {\n if (groups[j].name == [groupNames[i]]) {\n result.push(groups[j]);\n }\n }\n }\n return result;\n }\n\n ctrl.activate = function (initSearchValue, avoidReset) {\n if (!ctrl.disabled && !ctrl.open) {\n if (!avoidReset) _resetSearchInput();\n\n $scope.$broadcast('uis:activate');\n ctrl.open = true;\n ctrl.activeIndex = ctrl.activeIndex >= ctrl.items.length ? 0 : ctrl.activeIndex;\n\n if (ctrl.activeIndex === -1 && ctrl.taggingLabel !== false) {\n ctrl.activeIndex = 0;\n }\n\n var container = $element.querySelectorAll('.ui-select-choices-content');\n var searchInput = $element.querySelectorAll('.ui-select-search');\n if (ctrl.$animate && ctrl.$animate.on && ctrl.$animate.enabled(container[0])) {\n var animateHandler = function animateHandler(elem, phase) {\n if (phase === 'start' && ctrl.items.length === 0) {\n ctrl.$animate.off('removeClass', searchInput[0], animateHandler);\n $timeout(function () {\n ctrl.focusSearchInput(initSearchValue);\n });\n } else if (phase === 'close') {\n ctrl.$animate.off('enter', container[0], animateHandler);\n $timeout(function () {\n ctrl.focusSearchInput(initSearchValue);\n });\n }\n };\n\n if (ctrl.items.length > 0) {\n ctrl.$animate.on('enter', container[0], animateHandler);\n } else {\n ctrl.$animate.on('removeClass', searchInput[0], animateHandler);\n }\n } else {\n $timeout(function () {\n ctrl.focusSearchInput(initSearchValue);\n if (!ctrl.tagging.isActivated && ctrl.items.length > 1) {\n _ensureHighlightVisible();\n }\n });\n }\n\n ctrl.referenceElement = $element[0].querySelector('.oui-button_dropdown');\n ctrl.popperElement = $element[0].querySelector('.ui-select-choices-container');\n\n createPopper();\n } else if (ctrl.open && !ctrl.searchEnabled) {\n ctrl.close();\n }\n };\n\n function createPopper() {\n var placement = \"bottom\";\n\n if ([\"start\", \"end\"].indexOf(ctrl.align) >= 0) {\n placement += \"-\" + ctrl.align;\n }\n\n ctrl.popper = new _popper2.default(ctrl.referenceElement, ctrl.popperElement, {\n placement: placement,\n modifiers: {\n preventOverflow: {\n boundariesElement: ctrl.$document[0].body\n }\n }\n });\n\n ctrl.popperElement.style.minWidth = ctrl.referenceElement.offsetWidth + \"px\";\n }\n\n ctrl.focusSearchInput = function (initSearchValue) {\n ctrl.search = initSearchValue || ctrl.search;\n ctrl.searchInput[0].focus();\n };\n\n ctrl.findGroupByName = function (name) {\n return ctrl.groups && ctrl.groups.filter(function (group) {\n return group.name === name;\n })[0];\n };\n\n ctrl.parseRepeatAttr = function (repeatAttr, groupByExp, groupFilterExp) {\n function updateGroups(items) {\n var groupFn = $scope.$eval(groupByExp);\n ctrl.groups = [];\n angular.forEach(items, function (item) {\n var groupName = angular.isFunction(groupFn) ? groupFn(item) : item[groupFn];\n var group = ctrl.findGroupByName(groupName);\n if (group) {\n group.items.push(item);\n } else {\n ctrl.groups.push({ name: groupName, items: [item] });\n }\n });\n if (groupFilterExp) {\n var groupFilterFn = $scope.$eval(groupFilterExp);\n if (angular.isFunction(groupFilterFn)) {\n ctrl.groups = groupFilterFn(ctrl.groups);\n } else if (angular.isArray(groupFilterFn)) {\n ctrl.groups = _groupsFilter(ctrl.groups, groupFilterFn);\n }\n }\n ctrl.items = [];\n ctrl.groups.forEach(function (group) {\n ctrl.items = ctrl.items.concat(group.items);\n });\n }\n\n function setPlainItems(items) {\n ctrl.items = items || [];\n }\n\n ctrl.setItemsFn = groupByExp ? updateGroups : setPlainItems;\n\n ctrl.parserResult = RepeatParser.parse(repeatAttr);\n\n ctrl.isGrouped = !!groupByExp;\n ctrl.itemProperty = ctrl.parserResult.itemName;\n\n var originalSource = ctrl.parserResult.source;\n\n var createArrayFromObject = function createArrayFromObject() {\n var origSrc = originalSource($scope);\n $scope.$uisSource = (0, _keys2.default)(origSrc).map(function (v) {\n var result = {};\n result[ctrl.parserResult.keyName] = v;\n result.value = origSrc[v];\n return result;\n });\n };\n\n if (ctrl.parserResult.keyName) {\n createArrayFromObject();\n ctrl.parserResult.source = $parse('$uisSource' + ctrl.parserResult.filters);\n $scope.$watch(originalSource, function (newVal, oldVal) {\n if (newVal !== oldVal) createArrayFromObject();\n }, true);\n }\n\n ctrl.refreshItems = function (data) {\n data = data || ctrl.parserResult.source($scope);\n var selectedItems = ctrl.selected;\n\n if (ctrl.isEmpty() || angular.isArray(selectedItems) && !selectedItems.length || !ctrl.multiple || !ctrl.removeSelected) {\n ctrl.setItemsFn(data);\n } else {\n if (data !== undefined && data !== null) {\n var filteredItems = data.filter(function (i) {\n return angular.isArray(selectedItems) ? selectedItems.every(function (selectedItem) {\n return !angular.equals(i, selectedItem);\n }) : !angular.equals(i, selectedItems);\n });\n ctrl.setItemsFn(filteredItems);\n }\n }\n if (ctrl.dropdownPosition === 'auto' || ctrl.dropdownPosition === 'up') {\n $scope.calculateDropdownPos();\n }\n $scope.$broadcast('uis:refresh');\n };\n\n $scope.$watchCollection(ctrl.parserResult.source, function (items) {\n if (items === undefined || items === null) {\n ctrl.items = [];\n } else {\n if (!angular.isArray(items)) {\n throw uiSelectMinErr('items', \"Expected an array but got '{0}'.\", items);\n } else {\n ctrl.refreshItems(items);\n\n if (angular.isDefined(ctrl.ngModel.$modelValue)) {\n ctrl.ngModel.$modelValue = null;\n }\n }\n }\n });\n };\n\n var _refreshDelayPromise;\n\n ctrl.refresh = function (refreshAttr) {\n if (refreshAttr !== undefined) {\n if (_refreshDelayPromise) {\n $timeout.cancel(_refreshDelayPromise);\n }\n _refreshDelayPromise = $timeout(function () {\n if ($scope.$select.search.length >= $scope.$select.minimumInputLength) {\n var refreshPromise = $scope.$eval(refreshAttr);\n if (refreshPromise && angular.isFunction(refreshPromise.then) && !ctrl.refreshing) {\n ctrl.refreshing = true;\n refreshPromise.finally(function () {\n ctrl.refreshing = false;\n });\n }\n }\n }, ctrl.refreshDelay);\n }\n };\n\n ctrl.isActive = function (itemScope) {\n if (!ctrl.open) {\n return false;\n }\n\n var itemIndex = ctrl.items.indexOf(itemScope[ctrl.itemProperty]);\n var isActive = itemIndex == ctrl.activeIndex;\n\n if (!isActive || itemIndex < 0) {\n return false;\n }\n\n if (isActive && !angular.isUndefined(ctrl.onHighlightCallback)) {\n itemScope.$eval(ctrl.onHighlightCallback);\n }\n\n return isActive;\n };\n\n var _isItemSelected = function _isItemSelected(item) {\n return ctrl.selected && angular.isArray(ctrl.selected) && ctrl.selected.filter(function (selection) {\n return angular.equals(selection, item);\n }).length > 0;\n };\n\n ctrl.isSelected = function (itemScope) {\n var item = itemScope.$item;\n var selected = ctrl.selected;\n if (!angular.isArray(selected)) {\n return angular.equals(selected, item);\n }\n return _isItemSelected(item);\n };\n\n var disabledItems = [];\n\n function _updateItemDisabled(item, isDisabled) {\n var disabledItemIndex = disabledItems.indexOf(item);\n if (isDisabled && disabledItemIndex === -1) {\n disabledItems.push(item);\n }\n\n if (!isDisabled && disabledItemIndex > -1) {\n disabledItems.splice(disabledItemIndex, 1);\n }\n }\n\n function _isItemDisabled(item) {\n return disabledItems.indexOf(item) > -1;\n }\n\n ctrl.isDisabled = function (itemScope) {\n\n if (!ctrl.open) return;\n\n var item = itemScope[ctrl.itemProperty];\n var itemIndex = ctrl.items.indexOf(item);\n var isDisabled = false;\n\n if (itemIndex >= 0 && (angular.isDefined(ctrl.disableChoiceExpression) || ctrl.multiple)) {\n\n if (item.isTag) return false;\n\n if (ctrl.multiple) {\n isDisabled = _isItemSelected(item);\n }\n\n if (!isDisabled && angular.isDefined(ctrl.disableChoiceExpression)) {\n isDisabled = !!itemScope.$eval(ctrl.disableChoiceExpression);\n }\n\n _updateItemDisabled(item, isDisabled);\n }\n\n return isDisabled;\n };\n\n ctrl.select = function (item, skipFocusser, $event) {\n if (isNil(item) || !_isItemDisabled(item)) {\n\n if (!ctrl.items && !ctrl.search && !ctrl.tagging.isActivated) return;\n\n if (!item || !_isItemDisabled(item)) {\n ctrl.clickTriggeredSelect = false;\n if ($event && ($event.type === 'click' || $event.type === 'touchend') && item) ctrl.clickTriggeredSelect = true;\n\n if (ctrl.tagging.isActivated && ctrl.clickTriggeredSelect === false) {\n if (ctrl.taggingLabel === false) {\n if (ctrl.activeIndex < 0) {\n if (item === undefined) {\n item = ctrl.tagging.fct !== undefined ? ctrl.tagging.fct(ctrl.search) : ctrl.search;\n }\n if (!item || angular.equals(ctrl.items[0], item)) {\n return;\n }\n } else {\n item = ctrl.items[ctrl.activeIndex];\n }\n } else {\n if (ctrl.activeIndex === 0) {\n if (item === undefined) return;\n\n if (ctrl.tagging.fct !== undefined && typeof item === 'string') {\n item = ctrl.tagging.fct(item);\n if (!item) return;\n } else if (typeof item === 'string') {\n item = item.replace(ctrl.taggingLabel, '').trim();\n }\n }\n }\n\n if (_isItemSelected(item)) {\n ctrl.close(skipFocusser);\n return;\n }\n }\n _resetSearchInput();\n $scope.$broadcast('uis:select', item);\n\n if (ctrl.closeOnSelect) {\n ctrl.close(skipFocusser);\n }\n }\n }\n };\n\n ctrl.close = function (skipFocusser) {\n if (!ctrl.open) return;\n if (ctrl.ngModel && ctrl.ngModel.$setTouched) ctrl.ngModel.$setTouched();\n ctrl.open = false;\n _resetSearchInput();\n $scope.$broadcast('uis:close', skipFocusser);\n };\n\n ctrl.setFocus = function () {\n if (!ctrl.focus) ctrl.focusInput[0].focus();\n };\n\n ctrl.clear = function ($event) {\n ctrl.select(null);\n $event.stopPropagation();\n $timeout(function () {\n ctrl.focusser[0].focus();\n }, 0, false);\n };\n\n ctrl.toggle = function (e) {\n if (ctrl.open) {\n ctrl.close();\n e.preventDefault();\n e.stopPropagation();\n } else {\n ctrl.activate();\n }\n };\n\n ctrl.isLocked = function () {\n return false;\n };\n\n $scope.$watch(function () {\n return angular.isDefined(ctrl.lockChoiceExpression) && ctrl.lockChoiceExpression !== \"\";\n }, _initaliseLockedChoices);\n\n function _initaliseLockedChoices(doInitalise) {\n if (!doInitalise) return;\n\n var lockedItems = [];\n\n function _updateItemLocked(item, isLocked) {\n var lockedItemIndex = lockedItems.indexOf(item);\n if (isLocked && lockedItemIndex === -1) {\n lockedItems.push(item);\n }\n\n if (!isLocked && lockedItemIndex > -1) {\n lockedItems.splice(lockedItemIndex, 1);\n }\n }\n\n function _isItemlocked(item) {\n return lockedItems.indexOf(item) > -1;\n }\n\n ctrl.isLocked = function (itemScope, itemIndex) {\n var isLocked = false,\n item = ctrl.selected[itemIndex];\n\n if (item) {\n if (itemScope) {\n isLocked = !!itemScope.$eval(ctrl.lockChoiceExpression);\n _updateItemLocked(item, isLocked);\n } else {\n isLocked = _isItemlocked(item);\n }\n }\n\n return isLocked;\n };\n }\n\n var sizeWatch = null;\n var updaterScheduled = false;\n ctrl.sizeSearchInput = function () {\n\n var input = ctrl.searchInput[0],\n container = ctrl.$element[0],\n calculateContainerWidth = function calculateContainerWidth() {\n return container.clientWidth * !!input.offsetParent;\n },\n updateIfVisible = function updateIfVisible(containerWidth) {\n if (containerWidth === 0) {\n return false;\n }\n var inputWidth = containerWidth - input.offsetLeft;\n if (inputWidth < 50) inputWidth = containerWidth;\n ctrl.searchInput.css('width', inputWidth + 'px');\n return true;\n };\n\n ctrl.searchInput.css('width', '10px');\n $timeout(function () {\n if (sizeWatch === null && !updateIfVisible(calculateContainerWidth())) {\n sizeWatch = $scope.$watch(function () {\n if (!updaterScheduled) {\n updaterScheduled = true;\n $scope.$$postDigest(function () {\n updaterScheduled = false;\n if (updateIfVisible(calculateContainerWidth())) {\n sizeWatch();\n sizeWatch = null;\n }\n });\n }\n }, angular.noop);\n }\n });\n };\n\n function _handleDropDownSelection(key) {\n var processed = true;\n switch (key) {\n case KEY.DOWN:\n if (!ctrl.open && ctrl.multiple) ctrl.activate(false, true);else if (ctrl.activeIndex < ctrl.items.length - 1) {\n var idx = ++ctrl.activeIndex;\n while (_isItemDisabled(ctrl.items[idx]) && idx < ctrl.items.length) {\n ctrl.activeIndex = ++idx;\n }\n }\n break;\n case KEY.UP:\n var minActiveIndex = ctrl.search.length === 0 && ctrl.tagging.isActivated ? -1 : 0;\n if (!ctrl.open && ctrl.multiple) ctrl.activate(false, true);else if (ctrl.activeIndex > minActiveIndex) {\n var idxmin = --ctrl.activeIndex;\n while (_isItemDisabled(ctrl.items[idxmin]) && idxmin > minActiveIndex) {\n ctrl.activeIndex = --idxmin;\n }\n }\n break;\n case KEY.TAB:\n if (!ctrl.multiple || ctrl.open) ctrl.select(ctrl.items[ctrl.activeIndex], true);\n break;\n case KEY.ENTER:\n if (ctrl.open && (ctrl.tagging.isActivated || ctrl.activeIndex >= 0)) {\n ctrl.select(ctrl.items[ctrl.activeIndex], ctrl.skipFocusser);\n } else {\n ctrl.activate(false, true);\n }\n break;\n case KEY.ESC:\n ctrl.close();\n break;\n default:\n processed = false;\n }\n return processed;\n }\n\n ctrl.keydownHandler = function (e) {\n var key = e.which;\n\n if (~[KEY.ENTER, KEY.ESC].indexOf(key)) {\n e.preventDefault();\n e.stopPropagation();\n }\n\n if (KEY.TAB === key) {\n return;\n }\n\n $scope.$apply(function () {\n\n var tagged = false;\n\n if (ctrl.items.length > 0 || ctrl.tagging.isActivated) {\n if (!_handleDropDownSelection(key) && !ctrl.searchEnabled) {\n e.preventDefault();\n e.stopPropagation();\n }\n if (ctrl.taggingTokens.isActivated) {\n for (var i = 0; i < ctrl.taggingTokens.tokens.length; i++) {\n if (ctrl.taggingTokens.tokens[i] === KEY.MAP[e.keyCode]) {\n if (ctrl.search.length > 0) {\n tagged = true;\n }\n }\n }\n if (tagged) {\n $timeout(function () {\n ctrl.searchInput.triggerHandler('tagged');\n var newItem = ctrl.search.replace(KEY.MAP[e.keyCode], '').trim();\n if (ctrl.tagging.fct) {\n newItem = ctrl.tagging.fct(newItem);\n }\n if (newItem) ctrl.select(newItem, true);\n });\n }\n }\n }\n });\n\n if (KEY.isVerticalMovement(key) && ctrl.items.length > 0) {\n e.preventDefault();\n _ensureHighlightVisible();\n }\n\n if (key === KEY.ENTER || key === KEY.ESC) {\n e.preventDefault();\n e.stopPropagation();\n }\n };\n\n ctrl.searchInput.on('keydown', ctrl.keydownHandler);\n\n ctrl.searchInput.on('paste', function (e) {\n var data;\n\n if (window.clipboardData && window.clipboardData.getData) {\n data = window.clipboardData.getData('Text');\n } else {\n data = (e.originalEvent || e).clipboardData.getData('text/plain');\n }\n\n data = ctrl.search + data;\n\n if (data && data.length > 0) {\n if (ctrl.taggingTokens.isActivated) {\n var items = [];\n for (var i = 0; i < ctrl.taggingTokens.tokens.length; i++) {\n var separator = KEY.toSeparator(ctrl.taggingTokens.tokens[i]) || ctrl.taggingTokens.tokens[i];\n if (data.indexOf(separator) > -1) {\n items = data.split(separator);\n break;\n }\n }\n if (items.length === 0) {\n items = [data];\n }\n var oldsearch = ctrl.search;\n angular.forEach(items, function (item) {\n var newItem = ctrl.tagging.fct ? ctrl.tagging.fct(item) : item;\n if (newItem) {\n ctrl.select(newItem, true);\n }\n });\n ctrl.search = oldsearch || EMPTY_SEARCH;\n e.preventDefault();\n e.stopPropagation();\n } else if (ctrl.paste) {\n ctrl.paste(data);\n ctrl.search = EMPTY_SEARCH;\n e.preventDefault();\n e.stopPropagation();\n }\n }\n });\n\n ctrl.searchInput.on('tagged', function () {\n $timeout(function () {\n _resetSearchInput();\n });\n });\n\n function _ensureHighlightVisible() {\n var container = $element.querySelectorAll('.ui-select-choices-content');\n var choices = container.querySelectorAll('.ui-select-choices-row');\n if (choices.length < 1) {\n throw uiSelectMinErr('choices', \"Expected multiple .ui-select-choices-row but got '{0}'.\", choices.length);\n }\n\n if (ctrl.activeIndex < 0) {\n return;\n }\n\n var highlighted = choices[ctrl.activeIndex];\n var posY = highlighted.offsetTop + highlighted.clientHeight - container[0].scrollTop;\n var height = container[0].offsetHeight;\n\n if (posY > height) {\n container[0].scrollTop += posY - height;\n } else if (posY < highlighted.clientHeight) {\n if (ctrl.isGrouped && ctrl.activeIndex === 0) container[0].scrollTop = 0;else container[0].scrollTop -= highlighted.clientHeight - posY;\n }\n }\n\n var onResize = $$uisDebounce(function () {\n ctrl.sizeSearchInput();\n }, 50);\n\n angular.element($window).bind('resize', onResize);\n\n $scope.$on('$destroy', function () {\n ctrl.searchInput.off('keyup keydown tagged blur paste');\n angular.element($window).off('resize', onResize);\n });\n\n $scope.$watch('$select.activeIndex', function (activeIndex) {\n if (activeIndex) $element.find('input').attr('aria-activedescendant', 'ui-select-choices-row-' + ctrl.generatedId + '-' + activeIndex);\n });\n\n $scope.$watch('$select.open', function (open) {\n if (!open) $element.find('input').removeAttr('aria-activedescendant');\n });\n }]);\n\n uis.directive('uiSelect', ['$document', 'uiSelectConfig', 'uiSelectMinErr', 'uisOffset', '$compile', '$parse', '$timeout', function ($document, uiSelectConfig, uiSelectMinErr, uisOffset, $compile, $parse, $timeout) {\n\n return {\n restrict: 'EA',\n templateUrl: function templateUrl(tElement, tAttrs) {\n var theme = tAttrs.theme || uiSelectConfig.theme;\n return theme + (angular.isDefined(tAttrs.multiple) ? '/select-multiple.tpl.html' : '/select.tpl.html');\n },\n replace: true,\n transclude: true,\n require: ['uiSelect', '^ngModel'],\n scope: true,\n\n controller: 'uiSelectCtrl',\n controllerAs: '$select',\n compile: function compile(tElement, tAttrs) {\n var match = /{(.*)}\\s*{(.*)}/.exec(tAttrs.ngClass);\n if (match) {\n var combined = '{' + match[1] + ', ' + match[2] + '}';\n tAttrs.ngClass = combined;\n tElement.attr('ng-class', combined);\n }\n\n if (angular.isDefined(tAttrs.multiple)) tElement.append('').removeAttr('multiple');else tElement.append('');\n\n if (tAttrs.inputId) tElement.querySelectorAll('input.ui-select-search')[0].id = tAttrs.inputId;\n\n return function (scope, element, attrs, ctrls, transcludeFn) {\n\n var $select = ctrls[0];\n var ngModel = ctrls[1];\n\n $select.generatedId = uiSelectConfig.generateId();\n $select.baseTitle = attrs.title || 'Select box';\n $select.focusserTitle = $select.baseTitle + ' focus';\n $select.focusserId = 'focusser-' + $select.generatedId;\n\n $select.closeOnSelect = function () {\n if (angular.isDefined(attrs.closeOnSelect)) {\n return $parse(attrs.closeOnSelect)();\n } else {\n return uiSelectConfig.closeOnSelect;\n }\n }();\n\n scope.$watch('skipFocusser', function () {\n var skipFocusser = scope.$eval(attrs.skipFocusser);\n $select.skipFocusser = skipFocusser !== undefined ? skipFocusser : uiSelectConfig.skipFocusser;\n });\n\n $select.onSelectCallback = $parse(attrs.onSelect);\n $select.onRemoveCallback = $parse(attrs.onRemove);\n $select.onBlurCallback = $parse(attrs.onBlur);\n $select.onFocusCallback = $parse(attrs.onFocus);\n $select.onBlur = function () {\n $select.onBlurCallback(scope);\n };\n $select.onFocus = function () {\n $select.onFocusCallback(scope);\n };\n\n $select.ngModel = ngModel;\n\n $select.choiceGrouped = function (group) {\n return $select.isGrouped && group && group.name;\n };\n\n if (attrs.tabindex) {\n attrs.$observe('tabindex', function (value) {\n $select.focusInput.attr('tabindex', value);\n element.removeAttr('tabindex');\n });\n }\n\n scope.$watch(function () {\n return scope.$eval(attrs.searchEnabled);\n }, function (newVal) {\n $select.searchEnabled = newVal !== undefined ? newVal : uiSelectConfig.searchEnabled;\n });\n\n scope.$watch('sortable', function () {\n var sortable = scope.$eval(attrs.sortable);\n $select.sortable = sortable !== undefined ? sortable : uiSelectConfig.sortable;\n });\n\n attrs.$observe('backspaceReset', function () {\n var backspaceReset = scope.$eval(attrs.backspaceReset);\n $select.backspaceReset = backspaceReset !== undefined ? backspaceReset : true;\n });\n\n attrs.$observe('limit', function () {\n $select.limit = angular.isDefined(attrs.limit) ? parseInt(attrs.limit, 10) : undefined;\n });\n\n scope.$watch('removeSelected', function () {\n var removeSelected = scope.$eval(attrs.removeSelected);\n $select.removeSelected = removeSelected !== undefined ? removeSelected : uiSelectConfig.removeSelected;\n });\n\n attrs.$observe('disabled', function () {\n $select.disabled = attrs.disabled !== undefined ? attrs.disabled : false;\n });\n\n attrs.$observe('resetSearchInput', function () {\n var resetSearchInput = scope.$eval(attrs.resetSearchInput);\n $select.resetSearchInput = resetSearchInput !== undefined ? resetSearchInput : true;\n });\n\n attrs.$observe('paste', function () {\n $select.paste = scope.$eval(attrs.paste);\n });\n\n attrs.$observe('tagging', function () {\n if (attrs.tagging !== undefined) {\n var taggingEval = scope.$eval(attrs.tagging);\n $select.tagging = { isActivated: true, fct: taggingEval !== true ? taggingEval : undefined };\n } else {\n $select.tagging = { isActivated: false, fct: undefined };\n }\n });\n\n attrs.$observe('taggingLabel', function () {\n if (attrs.tagging !== undefined) {\n if (attrs.taggingLabel === 'false') {\n $select.taggingLabel = false;\n } else {\n $select.taggingLabel = attrs.taggingLabel !== undefined ? attrs.taggingLabel : '(new)';\n }\n }\n });\n\n attrs.$observe('taggingTokens', function () {\n if (attrs.tagging !== undefined) {\n var tokens = attrs.taggingTokens !== undefined ? attrs.taggingTokens.split('|') : [',', 'ENTER'];\n $select.taggingTokens = { isActivated: true, tokens: tokens };\n }\n });\n\n attrs.$observe('spinnerEnabled', function () {\n var spinnerEnabled = scope.$eval(attrs.spinnerEnabled);\n $select.spinnerEnabled = spinnerEnabled !== undefined ? spinnerEnabled : uiSelectConfig.spinnerEnabled;\n });\n\n attrs.$observe('spinnerClass', function () {\n var spinnerClass = attrs.spinnerClass;\n $select.spinnerClass = spinnerClass !== undefined ? attrs.spinnerClass : uiSelectConfig.spinnerClass;\n });\n\n if (angular.isDefined(attrs.autofocus)) {\n $timeout(function () {\n $select.setFocus();\n });\n }\n\n if (angular.isDefined(attrs.focusOn)) {\n scope.$on(attrs.focusOn, function () {\n $timeout(function () {\n $select.setFocus();\n });\n });\n }\n\n function onDocumentClick(e) {\n if (!$select.open) return;\n\n var contains = false;\n\n if (window.jQuery) {\n contains = window.jQuery.contains(element[0], e.target);\n } else {\n contains = element[0].contains(e.target);\n }\n\n if (!contains && !$select.clickTriggeredSelect) {\n var skipFocusser;\n if (!$select.skipFocusser) {\n var focusableControls = ['input', 'button', 'textarea', 'select'];\n var targetController = angular.element(e.target).controller('uiSelect');\n skipFocusser = targetController && targetController !== $select;\n if (!skipFocusser) skipFocusser = ~focusableControls.indexOf(e.target.tagName.toLowerCase());\n } else {\n skipFocusser = true;\n }\n $select.close(skipFocusser);\n scope.$digest();\n }\n $select.clickTriggeredSelect = false;\n }\n\n $document.on('click', onDocumentClick);\n\n scope.$on('$destroy', function () {\n $document.off('click', onDocumentClick);\n });\n\n transcludeFn(scope, function (clone) {\n var transcluded = angular.element('
').append(clone);\n\n var transcludedMatch = transcluded.querySelectorAll('.ui-select-match');\n transcludedMatch.removeAttr('ui-select-match');\n transcludedMatch.removeAttr('data-ui-select-match');\n if (transcludedMatch.length !== 1) {\n throw uiSelectMinErr('transcluded', \"Expected 1 .ui-select-match but got '{0}'.\", transcludedMatch.length);\n }\n element.querySelectorAll('.ui-select-match').replaceWith(transcludedMatch);\n\n var transcludedChoices = transcluded.querySelectorAll('.ui-select-choices');\n transcludedChoices.removeAttr('ui-select-choices');\n transcludedChoices.removeAttr('data-ui-select-choices');\n if (transcludedChoices.length !== 1) {\n throw uiSelectMinErr('transcluded', \"Expected 1 .ui-select-choices but got '{0}'.\", transcludedChoices.length);\n }\n element.querySelectorAll('.ui-select-choices').replaceWith(transcludedChoices);\n\n var transcludedNoChoice = transcluded.querySelectorAll('.ui-select-no-choice');\n transcludedNoChoice.removeAttr('ui-select-no-choice');\n transcludedNoChoice.removeAttr('data-ui-select-no-choice');\n if (transcludedNoChoice.length == 1) {\n element.querySelectorAll('.ui-select-no-choice').replaceWith(transcludedNoChoice);\n }\n });\n\n var appendToBody = scope.$eval(attrs.appendToBody);\n if (appendToBody !== undefined ? appendToBody : uiSelectConfig.appendToBody) {\n scope.$watch('$select.open', function (isOpen) {\n if (isOpen) {\n positionDropdown();\n } else {\n resetDropdown();\n }\n });\n\n scope.$on('$destroy', function () {\n resetDropdown();\n });\n }\n\n var placeholder = null,\n originalWidth = '';\n\n function positionDropdown() {\n var offset = uisOffset(element);\n\n placeholder = angular.element('
');\n placeholder[0].style.width = offset.width + 'px';\n placeholder[0].style.height = offset.height + 'px';\n element.after(placeholder);\n\n originalWidth = element[0].style.width;\n\n $document.find('body').append(element);\n\n element[0].style.position = 'absolute';\n element[0].style.left = offset.left + 'px';\n element[0].style.top = offset.top + 'px';\n element[0].style.width = offset.width + 'px';\n }\n\n function resetDropdown() {\n if (placeholder === null) {\n return;\n }\n\n placeholder.replaceWith(element);\n placeholder = null;\n\n element[0].style.position = '';\n element[0].style.left = '';\n element[0].style.top = '';\n element[0].style.width = originalWidth;\n\n $select.setFocus();\n }\n\n var dropdown = null,\n directionUpClassName = 'direction-up';\n\n scope.$watch('$select.open', function () {\n\n if ($select.dropdownPosition === 'auto' || $select.dropdownPosition === 'up') {\n scope.calculateDropdownPos();\n }\n });\n\n var setDropdownPosUp = function setDropdownPosUp(offset, offsetDropdown) {\n\n offset = offset || uisOffset(element);\n offsetDropdown = offsetDropdown || uisOffset(dropdown);\n\n dropdown[0].style.position = 'absolute';\n dropdown[0].style.top = offsetDropdown.height * -1 + 'px';\n element.addClass(directionUpClassName);\n };\n\n var setDropdownPosDown = function setDropdownPosDown(offset, offsetDropdown) {\n\n element.removeClass(directionUpClassName);\n\n offset = offset || uisOffset(element);\n offsetDropdown = offsetDropdown || uisOffset(dropdown);\n\n dropdown[0].style.position = '';\n dropdown[0].style.top = '';\n };\n\n var calculateDropdownPosAfterAnimation = function calculateDropdownPosAfterAnimation() {\n $timeout(function () {\n if ($select.dropdownPosition === 'up') {\n setDropdownPosUp();\n } else {\n element.removeClass(directionUpClassName);\n\n var offset = uisOffset(element);\n var offsetDropdown = uisOffset(dropdown);\n\n var scrollTop = $document[0].documentElement.scrollTop || $document[0].body.scrollTop;\n if (offset.top + offset.height + offsetDropdown.height > scrollTop + $document[0].documentElement.clientHeight) {\n setDropdownPosUp(offset, offsetDropdown);\n } else {\n setDropdownPosDown(offset, offsetDropdown);\n }\n }\n\n dropdown[0].style.opacity = 1;\n });\n };\n\n var opened = false;\n\n scope.calculateDropdownPos = function () {\n if ($select.open) {\n dropdown = angular.element(element).querySelectorAll('.ui-select-dropdown');\n\n if (dropdown.length === 0) {\n return;\n }\n\n if ($select.search === '' && !opened) {\n dropdown[0].style.opacity = 0;\n opened = true;\n }\n\n if (!uisOffset(dropdown).height && $select.$animate && $select.$animate.on && $select.$animate.enabled(dropdown)) {\n var needsCalculated = true;\n\n $select.$animate.on('enter', dropdown, function (elem, phase) {\n if (phase === 'close' && needsCalculated) {\n calculateDropdownPosAfterAnimation();\n needsCalculated = false;\n }\n });\n } else {\n calculateDropdownPosAfterAnimation();\n }\n } else {\n if (dropdown === null || dropdown.length === 0) {\n return;\n }\n\n dropdown[0].style.opacity = 0;\n dropdown[0].style.position = '';\n dropdown[0].style.top = '';\n element.removeClass(directionUpClassName);\n }\n };\n };\n }\n };\n }]);\n\n uis.directive('uiSelectMatch', ['uiSelectConfig', function (uiSelectConfig) {\n return {\n restrict: 'EA',\n require: '^uiSelect',\n replace: true,\n transclude: true,\n templateUrl: function templateUrl(tElement) {\n tElement.addClass('ui-select-match');\n\n var parent = tElement.parent();\n\n var theme = getAttribute(parent, 'theme') || uiSelectConfig.theme;\n var multi = angular.isDefined(getAttribute(parent, 'multiple'));\n\n return theme + (multi ? '/match-multiple.tpl.html' : '/match.tpl.html');\n },\n link: function link(scope, element, attrs, $select) {\n $select.lockChoiceExpression = attrs.uiLockChoice;\n attrs.$observe('placeholder', function (placeholder) {\n $select.placeholder = placeholder !== undefined ? placeholder : uiSelectConfig.placeholder;\n });\n\n function setAllowClear(allow) {\n $select.allowClear = angular.isDefined(allow) ? allow === '' ? true : allow.toLowerCase() === 'true' : false;\n }\n\n attrs.$observe('allowClear', setAllowClear);\n setAllowClear(attrs.allowClear);\n\n if ($select.multiple) {\n $select.sizeSearchInput();\n }\n\n element.on('keydown', $select.keydownHandler);\n }\n };\n\n function getAttribute(elem, attribute) {\n if (elem[0].hasAttribute(attribute)) return elem.attr(attribute);\n\n if (elem[0].hasAttribute('data-' + attribute)) return elem.attr('data-' + attribute);\n\n if (elem[0].hasAttribute('x-' + attribute)) return elem.attr('x-' + attribute);\n }\n }]);\n\n uis.directive('uiSelectMultiple', ['uiSelectMinErr', '$timeout', function (uiSelectMinErr, $timeout) {\n return {\n restrict: 'EA',\n require: ['^uiSelect', '^ngModel'],\n\n controller: ['$scope', '$timeout', function ($scope, $timeout) {\n\n var ctrl = this,\n $select = $scope.$select,\n ngModel;\n\n if (angular.isUndefined($select.selected)) $select.selected = [];\n\n $scope.$evalAsync(function () {\n ngModel = $scope.ngModel;\n });\n\n ctrl.activeMatchIndex = -1;\n\n ctrl.updateModel = function () {\n ngModel.$setViewValue(Date.now());\n ctrl.refreshComponent();\n };\n\n ctrl.refreshComponent = function () {\n if ($select.refreshItems) {\n $select.refreshItems();\n }\n if ($select.sizeSearchInput) {\n $select.sizeSearchInput();\n }\n };\n\n ctrl.removeChoice = function (index) {\n if ($select.isLocked(null, index)) return false;\n\n var removedChoice = $select.selected[index];\n\n var locals = {};\n locals[$select.parserResult.itemName] = removedChoice;\n\n $select.selected.splice(index, 1);\n ctrl.activeMatchIndex = -1;\n $select.sizeSearchInput();\n\n $timeout(function () {\n $select.onRemoveCallback($scope, {\n $item: removedChoice,\n $model: $select.parserResult.modelMapper($scope, locals)\n });\n });\n\n ctrl.updateModel();\n\n return true;\n };\n\n ctrl.getPlaceholder = function () {\n if ($select.selected && $select.selected.length) return;\n return $select.placeholder;\n };\n }],\n controllerAs: '$selectMultiple',\n\n link: function link(scope, element, attrs, ctrls) {\n\n var $select = ctrls[0];\n var ngModel = scope.ngModel = ctrls[1];\n var $selectMultiple = scope.$selectMultiple;\n\n $select.multiple = true;\n\n $select.focusInput = $select.searchInput;\n\n ngModel.$isEmpty = function (value) {\n return !value || value.length === 0;\n };\n\n ngModel.$parsers.unshift(function () {\n var locals = {},\n result,\n resultMultiple = [];\n for (var j = $select.selected.length - 1; j >= 0; j--) {\n locals = {};\n locals[$select.parserResult.itemName] = $select.selected[j];\n result = $select.parserResult.modelMapper(scope, locals);\n resultMultiple.unshift(result);\n }\n return resultMultiple;\n });\n\n ngModel.$formatters.unshift(function (inputValue) {\n var data = $select.parserResult && $select.parserResult.source(scope, { $select: { search: '' } }),\n locals = {},\n result;\n if (!data) return inputValue;\n var resultMultiple = [];\n var checkFnMultiple = function checkFnMultiple(list, value) {\n if (!list || !list.length) return;\n for (var p = list.length - 1; p >= 0; p--) {\n locals[$select.parserResult.itemName] = list[p];\n result = $select.parserResult.modelMapper(scope, locals);\n if ($select.parserResult.trackByExp) {\n var propsItemNameMatches = /(\\w*)\\./.exec($select.parserResult.trackByExp);\n var matches = /\\.([^\\s]+)/.exec($select.parserResult.trackByExp);\n if (propsItemNameMatches && propsItemNameMatches.length > 0 && propsItemNameMatches[1] == $select.parserResult.itemName) {\n if (matches && matches.length > 0 && result[matches[1]] == value[matches[1]]) {\n resultMultiple.unshift(list[p]);\n return true;\n }\n }\n }\n if (angular.equals(result, value)) {\n resultMultiple.unshift(list[p]);\n return true;\n }\n }\n return false;\n };\n if (!inputValue) return resultMultiple;\n for (var k = inputValue.length - 1; k >= 0; k--) {\n if (!checkFnMultiple($select.selected, inputValue[k])) {\n if (!checkFnMultiple(data, inputValue[k])) {\n resultMultiple.unshift(inputValue[k]);\n }\n }\n }\n return resultMultiple;\n });\n\n scope.$watchCollection(function () {\n return ngModel.$modelValue;\n }, function (newValue, oldValue) {\n if (oldValue != newValue) {\n if (angular.isDefined(ngModel.$modelValue)) {\n ngModel.$modelValue = null;\n }\n $selectMultiple.refreshComponent();\n }\n });\n\n ngModel.$render = function () {\n if (!angular.isArray(ngModel.$viewValue)) {\n if (isNil(ngModel.$viewValue)) {\n ngModel.$viewValue = [];\n } else {\n throw uiSelectMinErr('multiarr', \"Expected model value to be array but got '{0}'\", ngModel.$viewValue);\n }\n }\n $select.selected = ngModel.$viewValue;\n $selectMultiple.refreshComponent();\n scope.$evalAsync();\n };\n\n scope.$on('uis:select', function (event, item) {\n if ($select.selected.length >= $select.limit) {\n return;\n }\n $select.selected.push(item);\n var locals = {};\n locals[$select.parserResult.itemName] = item;\n\n $timeout(function () {\n $select.onSelectCallback(scope, {\n $item: item,\n $model: $select.parserResult.modelMapper(scope, locals)\n });\n });\n $selectMultiple.updateModel();\n });\n\n scope.$on('uis:activate', function () {\n $selectMultiple.activeMatchIndex = -1;\n });\n\n scope.$watch('$select.disabled', function (newValue, oldValue) {\n if (oldValue && !newValue) $select.sizeSearchInput();\n });\n\n $select.searchInput.on('keydown', function (e) {\n var key = e.which;\n scope.$apply(function () {\n var processed = false;\n\n if (KEY.isHorizontalMovement(key)) {\n processed = _handleMatchSelection(key);\n }\n if (processed && key != KEY.TAB) {\n e.preventDefault();\n e.stopPropagation();\n }\n });\n });\n function _getCaretPosition(el) {\n if (angular.isNumber(el.selectionStart)) return el.selectionStart;else return el.value.length;\n }\n\n function _handleMatchSelection(key) {\n var caretPosition = _getCaretPosition($select.searchInput[0]),\n length = $select.selected.length,\n first = 0,\n last = length - 1,\n curr = $selectMultiple.activeMatchIndex,\n next = $selectMultiple.activeMatchIndex + 1,\n prev = $selectMultiple.activeMatchIndex - 1,\n newIndex = curr;\n\n if (caretPosition > 0 || $select.search.length && key == KEY.RIGHT) return false;\n\n $select.close();\n\n function getNewActiveMatchIndex() {\n switch (key) {\n case KEY.LEFT:\n if (~$selectMultiple.activeMatchIndex) return prev;else return last;\n break;\n case KEY.RIGHT:\n if (!~$selectMultiple.activeMatchIndex || curr === last) {\n $select.activate();\n return false;\n } else return next;\n break;\n case KEY.BACKSPACE:\n if (~$selectMultiple.activeMatchIndex) {\n if ($selectMultiple.removeChoice(curr)) {\n return prev;\n } else {\n return curr;\n }\n } else {\n return last;\n }\n break;\n case KEY.DELETE:\n if (~$selectMultiple.activeMatchIndex) {\n $selectMultiple.removeChoice($selectMultiple.activeMatchIndex);\n return curr;\n } else return false;\n }\n }\n\n newIndex = getNewActiveMatchIndex();\n\n if (!$select.selected.length || newIndex === false) $selectMultiple.activeMatchIndex = -1;else $selectMultiple.activeMatchIndex = Math.min(last, Math.max(first, newIndex));\n\n return true;\n }\n\n $select.searchInput.on('keyup', function (e) {\n\n if (!KEY.isVerticalMovement(e.which)) {\n scope.$evalAsync(function () {\n $select.activeIndex = $select.taggingLabel === false ? -1 : 0;\n });\n }\n\n if ($select.tagging.isActivated && $select.search.length > 0) {\n if (e.which === KEY.TAB || KEY.isControl(e) || KEY.isFunctionKey(e) || e.which === KEY.ESC || KEY.isVerticalMovement(e.which)) {\n return;\n }\n\n $select.activeIndex = $select.taggingLabel === false ? -1 : 0;\n\n if ($select.taggingLabel === false) return;\n\n var items = angular.copy($select.items);\n var stashArr = angular.copy($select.items);\n var newItem;\n var item;\n var hasTag = false;\n var dupeIndex = -1;\n var tagItems;\n var tagItem;\n\n if ($select.tagging.fct !== undefined) {\n tagItems = $select.$filter('filter')(items, { 'isTag': true });\n if (tagItems.length > 0) {\n tagItem = tagItems[0];\n }\n\n if (items.length > 0 && tagItem) {\n hasTag = true;\n items = items.slice(1, items.length);\n stashArr = stashArr.slice(1, stashArr.length);\n }\n newItem = $select.tagging.fct($select.search);\n\n if (stashArr.some(function (origItem) {\n return angular.equals(origItem, newItem);\n }) || $select.selected.some(function (origItem) {\n return angular.equals(origItem, newItem);\n })) {\n scope.$evalAsync(function () {\n $select.activeIndex = 0;\n $select.items = items;\n });\n return;\n }\n if (newItem) newItem.isTag = true;\n } else {\n tagItems = $select.$filter('filter')(items, function (item) {\n return item.match($select.taggingLabel);\n });\n if (tagItems.length > 0) {\n tagItem = tagItems[0];\n }\n item = items[0];\n\n if (item !== undefined && items.length > 0 && tagItem) {\n hasTag = true;\n items = items.slice(1, items.length);\n stashArr = stashArr.slice(1, stashArr.length);\n }\n newItem = $select.search + ' ' + $select.taggingLabel;\n if (_findApproxDupe($select.selected, $select.search) > -1) {\n return;\n }\n\n if (_findCaseInsensitiveDupe(stashArr.concat($select.selected))) {\n if (hasTag) {\n items = stashArr;\n scope.$evalAsync(function () {\n $select.activeIndex = 0;\n $select.items = items;\n });\n }\n return;\n }\n if (_findCaseInsensitiveDupe(stashArr)) {\n if (hasTag) {\n $select.items = stashArr.slice(1, stashArr.length);\n }\n return;\n }\n }\n if (hasTag) dupeIndex = _findApproxDupe($select.selected, newItem);\n\n if (dupeIndex > -1) {\n items = items.slice(dupeIndex + 1, items.length - 1);\n } else {\n items = [];\n if (newItem) items.push(newItem);\n items = items.concat(stashArr);\n }\n scope.$evalAsync(function () {\n $select.activeIndex = 0;\n $select.items = items;\n\n if ($select.isGrouped) {\n var itemsWithoutTag = newItem ? items.slice(1) : items;\n $select.setItemsFn(itemsWithoutTag);\n if (newItem) {\n $select.items.unshift(newItem);\n $select.groups.unshift({ name: '', items: [newItem], tagging: true });\n }\n }\n });\n }\n });\n function _findCaseInsensitiveDupe(arr) {\n if (arr === undefined || $select.search === undefined) {\n return false;\n }\n var hasDupe = arr.filter(function (origItem) {\n if ($select.search.toUpperCase() === undefined || origItem === undefined) {\n return false;\n }\n return origItem.toUpperCase() === $select.search.toUpperCase();\n }).length > 0;\n\n return hasDupe;\n }\n function _findApproxDupe(haystack, needle) {\n var dupeIndex = -1;\n if (angular.isArray(haystack)) {\n var tempArr = angular.copy(haystack);\n for (var i = 0; i < tempArr.length; i++) {\n if ($select.tagging.fct === undefined) {\n if (tempArr[i] + ' ' + $select.taggingLabel === needle) {\n dupeIndex = i;\n }\n } else {\n var mockObj = tempArr[i];\n if (angular.isObject(mockObj)) {\n mockObj.isTag = true;\n }\n if (angular.equals(mockObj, needle)) {\n dupeIndex = i;\n }\n }\n }\n }\n return dupeIndex;\n }\n\n $select.searchInput.on('blur', function () {\n $timeout(function () {\n $selectMultiple.activeMatchIndex = -1;\n });\n });\n }\n };\n }]);\n\n uis.directive('uiSelectNoChoice', ['uiSelectConfig', function (uiSelectConfig) {\n return {\n restrict: 'EA',\n require: '^uiSelect',\n replace: true,\n transclude: true,\n templateUrl: function templateUrl(tElement) {\n tElement.addClass('ui-select-no-choice');\n\n var theme = tElement.parent().attr('theme') || uiSelectConfig.theme;\n return theme + '/no-choice.tpl.html';\n }\n };\n }]);\n\n uis.directive('uiSelectSingle', ['$timeout', '$compile', function ($timeout, $compile) {\n return {\n restrict: 'EA',\n require: ['^uiSelect', '^ngModel'],\n link: function link(scope, element, attrs, ctrls) {\n\n var $select = ctrls[0];\n var ngModel = ctrls[1];\n\n ngModel.$parsers.unshift(function (inputValue) {\n if (isNil(inputValue)) {\n return inputValue;\n }\n\n var locals = {},\n result;\n locals[$select.parserResult.itemName] = inputValue;\n result = $select.parserResult.modelMapper(scope, locals);\n return result;\n });\n\n ngModel.$formatters.unshift(function (inputValue) {\n if (isNil(inputValue)) {\n return inputValue;\n }\n\n var data = $select.parserResult && $select.parserResult.source(scope, { $select: { search: '' } }),\n locals = {},\n result;\n if (data) {\n var checkFnSingle = function checkFnSingle(d) {\n locals[$select.parserResult.itemName] = d;\n result = $select.parserResult.modelMapper(scope, locals);\n return result === inputValue;\n };\n\n if ($select.selected && checkFnSingle($select.selected)) {\n return $select.selected;\n }\n for (var i = data.length - 1; i >= 0; i--) {\n if (checkFnSingle(data[i])) return data[i];\n }\n }\n return inputValue;\n });\n\n scope.$watch('$select.selected', function (newValue) {\n if (ngModel.$viewValue !== newValue) {\n ngModel.$setViewValue(newValue);\n }\n });\n\n ngModel.$render = function () {\n $select.selected = ngModel.$viewValue;\n };\n\n scope.$on('uis:select', function (event, item) {\n $select.selected = item;\n var locals = {};\n locals[$select.parserResult.itemName] = item;\n\n $timeout(function () {\n $select.onSelectCallback(scope, {\n $item: item,\n $model: isNil(item) ? item : $select.parserResult.modelMapper(scope, locals)\n });\n });\n });\n\n function getDropdownTrigger() {\n return element.parent()[0].querySelector(\".ui-select-match\");\n }\n\n scope.$on('uis:close', function (event, skipFocusser) {\n $timeout(function () {\n if (!skipFocusser) getDropdownTrigger().focus();\n }, 0, false);\n });\n\n scope.$on('uis:activate', function () {\n focusser.prop('disabled', true);\n });\n\n var focusser = angular.element(\"\");\n $compile(focusser)(scope);\n $select.focusser = focusser;\n\n $select.focusInput = focusser;\n\n element.parent().append(focusser);\n focusser.bind(\"focus\", function () {\n scope.$evalAsync(function () {\n $select.focus = true;\n });\n });\n focusser.bind(\"blur\", function () {\n scope.$evalAsync(function () {\n $select.focus = false;\n });\n });\n focusser.bind(\"keydown\", function (e) {\n\n if (e.which === KEY.BACKSPACE && $select.backspaceReset !== false) {\n e.preventDefault();\n e.stopPropagation();\n $select.select(undefined);\n scope.$apply();\n return;\n }\n\n if (e.which === KEY.TAB || KEY.isControl(e) || KEY.isFunctionKey(e) || e.which === KEY.ESC) {\n return;\n }\n\n if (e.which == KEY.DOWN || e.which == KEY.UP || e.which == KEY.ENTER || e.which == KEY.SPACE) {\n e.preventDefault();\n e.stopPropagation();\n $select.activate();\n }\n\n scope.$digest();\n });\n\n focusser.bind(\"keyup input\", function (e) {\n\n if (e.which === KEY.TAB || KEY.isControl(e) || KEY.isFunctionKey(e) || e.which === KEY.ESC || e.which == KEY.ENTER || e.which === KEY.BACKSPACE) {\n return;\n }\n\n $select.activate(focusser.val());\n focusser.val('');\n scope.$digest();\n });\n }\n };\n }]);\n\n uis.directive('uiSelectSort', ['$timeout', 'uiSelectConfig', 'uiSelectMinErr', function ($timeout, uiSelectConfig, uiSelectMinErr) {\n return {\n require: ['^^uiSelect', '^ngModel'],\n link: function link(scope, element, attrs, ctrls) {\n if (scope[attrs.uiSelectSort] === null) {\n throw uiSelectMinErr('sort', 'Expected a list to sort');\n }\n\n var $select = ctrls[0];\n var $ngModel = ctrls[1];\n\n var options = angular.extend({\n axis: 'horizontal'\n }, scope.$eval(attrs.uiSelectSortOptions));\n\n var axis = options.axis;\n var draggingClassName = 'dragging';\n var droppingClassName = 'dropping';\n var droppingBeforeClassName = 'dropping-before';\n var droppingAfterClassName = 'dropping-after';\n\n scope.$watch(function () {\n return $select.sortable;\n }, function (newValue) {\n if (newValue) {\n element.attr('draggable', true);\n } else {\n element.removeAttr('draggable');\n }\n });\n\n element.on('dragstart', function (event) {\n element.addClass(draggingClassName);\n\n (event.dataTransfer || event.originalEvent.dataTransfer).setData('text', scope.$index.toString());\n });\n\n element.on('dragend', function () {\n removeClass(draggingClassName);\n });\n\n var move = function move(from, to) {\n this.splice(to, 0, this.splice(from, 1)[0]);\n };\n\n var removeClass = function removeClass(className) {\n angular.forEach($select.$element.querySelectorAll('.' + className), function (el) {\n angular.element(el).removeClass(className);\n });\n };\n\n var dragOverHandler = function dragOverHandler(event) {\n event.preventDefault();\n\n var offset = axis === 'vertical' ? event.offsetY || event.layerY || (event.originalEvent ? event.originalEvent.offsetY : 0) : event.offsetX || event.layerX || (event.originalEvent ? event.originalEvent.offsetX : 0);\n\n if (offset < this[axis === 'vertical' ? 'offsetHeight' : 'offsetWidth'] / 2) {\n removeClass(droppingAfterClassName);\n element.addClass(droppingBeforeClassName);\n } else {\n removeClass(droppingBeforeClassName);\n element.addClass(droppingAfterClassName);\n }\n };\n\n var dropTimeout;\n\n var dropHandler = function dropHandler(event) {\n event.preventDefault();\n\n var droppedItemIndex = parseInt((event.dataTransfer || event.originalEvent.dataTransfer).getData('text'), 10);\n\n $timeout.cancel(dropTimeout);\n dropTimeout = $timeout(function () {\n _dropHandler(droppedItemIndex);\n }, 20);\n };\n\n var _dropHandler = function _dropHandler(droppedItemIndex) {\n var theList = scope.$eval(attrs.uiSelectSort);\n var itemToMove = theList[droppedItemIndex];\n var newIndex = null;\n\n if (element.hasClass(droppingBeforeClassName)) {\n if (droppedItemIndex < scope.$index) {\n newIndex = scope.$index - 1;\n } else {\n newIndex = scope.$index;\n }\n } else {\n if (droppedItemIndex < scope.$index) {\n newIndex = scope.$index;\n } else {\n newIndex = scope.$index + 1;\n }\n }\n\n move.apply(theList, [droppedItemIndex, newIndex]);\n\n $ngModel.$setViewValue(Date.now());\n\n scope.$apply(function () {\n scope.$emit('uiSelectSort:change', {\n array: theList,\n item: itemToMove,\n from: droppedItemIndex,\n to: newIndex\n });\n });\n\n removeClass(droppingClassName);\n removeClass(droppingBeforeClassName);\n removeClass(droppingAfterClassName);\n\n element.off('drop', dropHandler);\n };\n\n element.on('dragenter', function () {\n if (element.hasClass(draggingClassName)) {\n return;\n }\n\n element.addClass(droppingClassName);\n\n element.on('dragover', dragOverHandler);\n element.on('drop', dropHandler);\n });\n\n element.on('dragleave', function (event) {\n if (event.target != element) {\n return;\n }\n\n removeClass(droppingClassName);\n removeClass(droppingBeforeClassName);\n removeClass(droppingAfterClassName);\n\n element.off('dragover', dragOverHandler);\n element.off('drop', dropHandler);\n });\n }\n };\n }]);\n\n uis.directive('uisOpenClose', ['$parse', '$timeout', function ($parse, $timeout) {\n return {\n restrict: 'A',\n require: 'uiSelect',\n link: function link(scope, element, attrs, $select) {\n $select.onOpenCloseCallback = $parse(attrs.uisOpenClose);\n\n scope.$watch('$select.open', function (isOpen, previousState) {\n if (isOpen !== previousState) {\n $timeout(function () {\n $select.onOpenCloseCallback(scope, {\n isOpen: isOpen\n });\n });\n }\n });\n }\n };\n }]);\n\n uis.service('uisRepeatParser', ['uiSelectMinErr', '$parse', function (uiSelectMinErr, $parse) {\n var self = this;\n\n self.parse = function (expression) {\n\n var match;\n\n match = expression.match(/^\\s*(?:([\\s\\S]+?)\\s+as\\s+)?(?:([\\$\\w][\\$\\w]*)|(?:\\(\\s*([\\$\\w][\\$\\w]*)\\s*,\\s*([\\$\\w][\\$\\w]*)\\s*\\)))\\s+in\\s+(\\s*[\\s\\S]+?)?(?:\\s+track\\s+by\\s+([\\s\\S]+?))?\\s*$/);\n\n if (!match) {\n throw uiSelectMinErr('iexp', \"Expected expression in form of '_item_ in _collection_[ track by _id_]' but got '{0}'.\", expression);\n }\n\n var source = match[5],\n filters = '';\n\n if (match[3]) {\n source = match[5].replace(/(^\\()|(\\)$)/g, '');\n\n var filterMatch = match[5].match(/^\\s*(?:[\\s\\S]+?)(?:[^\\|]|\\|\\|)+([\\s\\S]*)\\s*$/);\n if (filterMatch && filterMatch[1].trim()) {\n filters = filterMatch[1];\n source = source.replace(filters, '');\n }\n }\n\n return {\n itemName: match[4] || match[2],\n keyName: match[3],\n source: $parse(source),\n filters: filters,\n trackByExp: match[6],\n modelMapper: $parse(match[1] || match[4] || match[2]),\n repeatExpression: function repeatExpression(grouped) {\n var expression = this.itemName + ' in ' + (grouped ? '$group.items' : '$select.items');\n if (this.trackByExp) {\n expression += ' track by ' + this.trackByExp;\n }\n return expression;\n }\n };\n };\n\n self.getGroupNgRepeatExpression = function () {\n return '$group in $select.groups track by $group.name';\n };\n }]);\n})();\nangular.module(\"ui.select\").run([\"$templateCache\", function ($templateCache) {\n $templateCache.put(\"bootstrap/choices.tpl.html\", __webpack_require__(347));\n $templateCache.put(\"bootstrap/match-multiple.tpl.html\", \" × \");\n $templateCache.put(\"bootstrap/match.tpl.html\", __webpack_require__(348));\n $templateCache.put(\"bootstrap/no-choice.tpl.html\", \"
\");\n $templateCache.put(\"bootstrap/select-multiple.tpl.html\", \"
\");\n $templateCache.put(\"bootstrap/select.tpl.html\", __webpack_require__(349));\n}]);\n\n/***/ }),\n/* 347 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"
\";\n\n/***/ }),\n/* 348 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 349 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"
\";\n\n/***/ }),\n/* 350 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _select = __webpack_require__(351);\n\nvar _select2 = _interopRequireDefault(_select);\n\nvar _select3 = __webpack_require__(352);\n\nvar _select4 = _interopRequireDefault(_select3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n return {\n require: {\n fieldCtrl: \"?^^ouiField\",\n selectCtrl: \"ouiSelect\"\n },\n controller: _select2.default,\n controllerAs: \"$ctrl\",\n bindToController: true,\n scope: {\n model: \"=\",\n name: \"@?\",\n required: \" \";\n\n/***/ }),\n/* 353 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _selectPickerComponent = __webpack_require__(354);\n\nvar _selectPickerComponent2 = _interopRequireDefault(_selectPickerComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.select-picker\", []).component(\"ouiSelectPicker\", _selectPickerComponent2.default);\n\n/***/ }),\n/* 354 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _selectPicker = __webpack_require__(355);\n\nvar _selectPicker2 = _interopRequireDefault(_selectPicker);\n\nvar _selectPicker3 = __webpack_require__(356);\n\nvar _selectPicker4 = _interopRequireDefault(_selectPicker3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n template: _selectPicker4.default,\n controller: _selectPicker2.default,\n transclude: {\n sectionSlot: \"?span\"\n },\n bindings: {\n text: \"@\",\n description: \"@?\",\n picture: \"@?\",\n placeholder: \"@?\",\n values: \"<\",\n id: \"@?\",\n name: \"@?\",\n match: \"@\",\n model: \"=?\",\n onChange: \"&?\",\n disabled: \" 1 && !this.selectedValue) {\n var $button = angular.element(this.$element[0].querySelectorAll(\".ui-select-match\"));\n var isButtonClicked = SelectPickerController.hasParentButton(event.target);\n if (!isButtonClicked && $button.length > 0) {\n $button.triggerHandler(\"click\");\n event.stopPropagation();\n }\n }\n }\n }, {\n key: \"onSelectModelChange\",\n value: function onSelectModelChange(event) {\n this.model = event.modelValue;\n this.onRadioModelChange(event);\n }\n }, {\n key: \"onRadioModelChange\",\n value: function onRadioModelChange(event) {\n var _this2 = this;\n\n if (this.onChange) {\n this.$timeout(function () {\n return _this2.onChange(event);\n });\n }\n }\n }], [{\n key: \"hasParentButton\",\n value: function hasParentButton(element) {\n var currentNode = element;\n do {\n if (currentNode.nodeName === \"BUTTON\") {\n return true;\n }\n currentNode = currentNode.parentNode;\n } while (currentNode.nodeName !== \"OUI-SELECT-PICKER\");\n return false;\n }\n }]);\n return SelectPickerController;\n}();\n\nexports.default = SelectPickerController;\n\n/***/ }),\n/* 356 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"
\";\n\n/***/ }),\n/* 357 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _textareaComponent = __webpack_require__(358);\n\nvar _textareaComponent2 = _interopRequireDefault(_textareaComponent);\n\nvar _textareaProvider = __webpack_require__(361);\n\nvar _textareaProvider2 = _interopRequireDefault(_textareaProvider);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.textarea\", []).component(\"ouiTextarea\", _textareaComponent2.default).provider(\"ouiTextareaConfiguration\", _textareaProvider2.default);\n\n/***/ }),\n/* 358 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _textarea = __webpack_require__(359);\n\nvar _textarea2 = _interopRequireDefault(_textarea);\n\nvar _textarea3 = __webpack_require__(360);\n\nvar _textarea4 = _interopRequireDefault(_textarea3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n template: _textarea4.default,\n controller: _textarea2.default,\n bindings: {\n model: \"=?\",\n id: \"@?\",\n name: \"@?\",\n placeholder: \"@?\",\n rows: \"@?\",\n disabled: \" this.maxlength);\n }\n }, {\n key: \"getMaxLengthText\",\n value: function getMaxLengthText() {\n var translation = this.ouiTextareaConfiguration.translations.lengthCounter;\n return translation.replace(\"{{length}}\", this.textarea ? this.textarea.value.length : 0).replace(\"{{max}}\", this.maxlength);\n }\n }, {\n key: \"setDisabled\",\n value: function setDisabled(disabled) {\n this.disabled = disabled;\n this.$element.toggleClass(disabledClass, disabled);\n }\n }, {\n key: \"setFocus\",\n value: function setFocus(focused) {\n this.$element.toggleClass(focusClass, focused);\n }\n }, {\n key: \"setReadonly\",\n value: function setReadonly(readonly) {\n this.readonly = readonly;\n this.$element.toggleClass(readonlyClass, readonly);\n }\n }]);\n return _class;\n}();\n\nexports.default = _class;\n\n/***/ }),\n/* 360 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 361 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _class = function () {\n function _class() {\n (0, _classCallCheck3.default)(this, _class);\n\n this.translations = {\n lengthCounter: \"{{length}}/{{max}} characters\"\n };\n }\n\n (0, _createClass3.default)(_class, [{\n key: \"setTranslations\",\n value: function setTranslations(translations) {\n this.translations = translations;\n return this;\n }\n }, {\n key: \"$get\",\n value: function $get() {\n return {\n translations: this.translations\n };\n }\n }]);\n return _class;\n}();\n\nexports.default = _class;\n\n/***/ }),\n/* 362 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _formActions = __webpack_require__(363);\n\nvar _formActions2 = _interopRequireDefault(_formActions);\n\nvar _formActions3 = __webpack_require__(366);\n\nvar _formActions4 = _interopRequireDefault(_formActions3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.form-actions\", []).component(\"ouiFormActions\", _formActions2.default).provider(\"ouiFormActionsConfiguration\", _formActions4.default);\n\n/***/ }),\n/* 363 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _formActionsController = __webpack_require__(364);\n\nvar _formActionsController2 = _interopRequireDefault(_formActionsController);\n\nvar _formActions = __webpack_require__(365);\n\nvar _formActions2 = _interopRequireDefault(_formActions);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n template: _formActions2.default,\n controller: _formActionsController2.default,\n bindings: {\n submitText: \"@?\",\n cancelText: \"@?\",\n onSubmit: \"&\",\n onCancel: \"&?\",\n href: \"@?\"\n },\n transclude: true\n};\n\n/***/ }),\n/* 364 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _assign = __webpack_require__(22);\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _class = function () {\n _class.$inject = [\"$attrs\", \"ouiFormActionsConfiguration\"];\n function _class($attrs, ouiFormActionsConfiguration) {\n \"ngInject\";\n\n (0, _classCallCheck3.default)(this, _class);\n this.$attrs = $attrs;\n this.config = ouiFormActionsConfiguration;\n }\n\n (0, _createClass3.default)(_class, [{\n key: \"$onInit\",\n value: function $onInit() {\n this.processTranslations();\n }\n }, {\n key: \"processTranslations\",\n value: function processTranslations() {\n this.translations = (0, _assign2.default)({}, this.config.translations);\n\n if (angular.isUndefined(this.submitText)) {\n this.submitText = this.translations.submit;\n }\n\n if (angular.isUndefined(this.cancelText)) {\n this.cancelText = this.translations.cancel;\n }\n }\n }]);\n return _class;\n}();\n\nexports.default = _class;\n\n/***/ }),\n/* 365 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 366 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _class = function () {\n function _class() {\n (0, _classCallCheck3.default)(this, _class);\n\n this.translations = {\n submit: \"Submit\",\n cancel: \"Cancel\"\n };\n }\n\n (0, _createClass3.default)(_class, [{\n key: \"setTranslations\",\n value: function setTranslations(translations) {\n this.translations = translations;\n return this;\n }\n }, {\n key: \"$get\",\n value: function $get() {\n return {\n translations: this.translations\n };\n }\n }]);\n return _class;\n}();\n\nexports.default = _class;\n\n/***/ }),\n/* 367 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _search = __webpack_require__(368);\n\nvar _search2 = _interopRequireDefault(_search);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.search\", []).component(\"ouiSearch\", _search2.default);\n\n/***/ }),\n/* 368 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _search = __webpack_require__(369);\n\nvar _search2 = _interopRequireDefault(_search);\n\nvar _search3 = __webpack_require__(372);\n\nvar _search4 = _interopRequireDefault(_search3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n require: {\n criteriaContainer: \"?^^ouiCriteriaContainer\"\n },\n bindings: {\n model: \"=\",\n id: \"@?\",\n name: \"@?\",\n placeholder: \"@?\",\n ariaLabel: \"@?\",\n\n disabled: \"= minLengthTrigger) {\n this.criteriaContainer.setPreviewCriterion(SearchController.getCriterion(modelValue), true);\n } else {\n this.criteriaContainer.deletePreviewCriterion();\n }\n }\n }\n }, {\n key: \"onSearchSubmit\",\n value: function onSearchSubmit(modelValue) {\n this.model = undefined;\n\n this.onSubmit({ modelValue: modelValue });\n\n this.onCriterionSubmit(modelValue);\n }\n }, {\n key: \"onCriterionSubmit\",\n value: function onCriterionSubmit(modelValue) {\n if (this.criteriaContainer && modelValue && modelValue.length >= minLengthTrigger) {\n this.criteriaContainer.add(SearchController.getCriterion(modelValue));\n }\n }\n }, {\n key: \"onSearchReset\",\n value: function onSearchReset() {\n this.model = undefined;\n\n this.onReset();\n\n this.onCriterionReset();\n }\n }, {\n key: \"onCriterionReset\",\n value: function onCriterionReset() {\n if (this.criteriaContainer) {\n this.criteriaContainer.deletePreviewCriterion();\n }\n }\n }], [{\n key: \"getCriterion\",\n value: function getCriterion(modelValue) {\n return {\n title: modelValue,\n property: null,\n operator: \"contains\",\n value: modelValue\n };\n }\n }]);\n return SearchController;\n}();\n\nexports.default = SearchController;\n\n/***/ }),\n/* 370 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(15),\n now = __webpack_require__(371),\n toNumber = __webpack_require__(76);\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;\n\n\n/***/ }),\n/* 371 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar root = __webpack_require__(37);\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n\n\n/***/ }),\n/* 372 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"
\";\n\n/***/ }),\n/* 373 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _criteriaContainer = __webpack_require__(374);\n\nvar _criteriaContainer2 = _interopRequireDefault(_criteriaContainer);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.criteria-container\", []).component(\"ouiCriteriaContainer\", _criteriaContainer2.default);\n\n/***/ }),\n/* 374 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _criteriaContainer = __webpack_require__(375);\n\nvar _criteriaContainer2 = _interopRequireDefault(_criteriaContainer);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n template: \"\",\n transclude: true,\n controller: _criteriaContainer2.default,\n bindings: {\n onChange: \"&\"\n }\n};\n\n/***/ }),\n/* 375 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _findIndex2 = __webpack_require__(95);\n\nvar _findIndex3 = _interopRequireDefault(_findIndex2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar CriteriaController = function () {\n function CriteriaController() {\n (0, _classCallCheck3.default)(this, CriteriaController);\n }\n\n (0, _createClass3.default)(CriteriaController, [{\n key: \"$onInit\",\n value: function $onInit() {\n this.criteria = [];\n }\n }, {\n key: \"triggerChange\",\n value: function triggerChange() {\n if (this.onChange) {\n this.onChange({ modelValue: this.criteria });\n }\n }\n }, {\n key: \"indexOfCriterion\",\n value: function indexOfCriterion(criterion) {\n var criterionIndex = this.criteria.length - 1;\n while (criterionIndex >= 0 && !angular.equals(this.criteria[criterionIndex], criterion)) {\n --criterionIndex;\n }\n return criterionIndex;\n }\n }, {\n key: \"setPreviewCriterion\",\n value: function setPreviewCriterion(previewCriterion) {\n var criterionIndex = (0, _findIndex3.default)(this.criteria, [\"preview\", true]);\n previewCriterion.preview = true;\n if (criterionIndex > -1) {\n this.criteria[criterionIndex] = previewCriterion;\n } else {\n this.criteria.push(previewCriterion);\n }\n this.triggerChange();\n }\n }, {\n key: \"deletePreviewCriterion\",\n value: function deletePreviewCriterion() {\n var previewCriterionIndex = (0, _findIndex3.default)(this.criteria, [\"preview\", true]);\n if (previewCriterionIndex > -1) {\n this.criteria.splice(previewCriterionIndex, 1);\n this.triggerChange();\n }\n }\n }, {\n key: \"add\",\n value: function add(criterion) {\n var previewCriterion = angular.copy(criterion);\n previewCriterion.preview = true;\n\n var previewCriterionIndex = this.indexOfCriterion(previewCriterion);\n if (previewCriterionIndex > -1) {\n this.criteria.splice(previewCriterionIndex, 1);\n }\n\n if (this.indexOfCriterion(criterion) < 0) {\n this.criteria.push(criterion);\n this.triggerChange();\n }\n }\n }, {\n key: \"remove\",\n value: function remove(criterion) {\n var criterionIndex = this.indexOfCriterion(criterion);\n if (criterionIndex > -1) {\n this.criteria.splice(criterionIndex, 1);\n this.triggerChange();\n }\n }\n }, {\n key: \"set\",\n value: function set(criteria) {\n this.criteria = criteria;\n this.triggerChange();\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this.criteria = [];\n this.triggerChange();\n }\n }]);\n return CriteriaController;\n}();\n\nexports.default = CriteriaController;\n\n/***/ }),\n/* 376 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _criteriaAdder = __webpack_require__(377);\n\nvar _criteriaAdder2 = _interopRequireDefault(_criteriaAdder);\n\nvar _criteriaAdder3 = __webpack_require__(380);\n\nvar _criteriaAdder4 = _interopRequireDefault(_criteriaAdder3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.criteria-adder\", []).component(\"ouiCriteriaAdder\", _criteriaAdder2.default).provider(\"ouiCriteriaAdderConfiguration\", _criteriaAdder4.default);\n\n/***/ }),\n/* 377 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _criteriaAdder = __webpack_require__(378);\n\nvar _criteriaAdder2 = _interopRequireDefault(_criteriaAdder);\n\nvar _criteriaAdder3 = __webpack_require__(379);\n\nvar _criteriaAdder4 = _interopRequireDefault(_criteriaAdder3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n require: {\n criteriaContainer: \"?^^ouiCriteriaContainer\"\n },\n bindings: {\n id: \"@?\",\n name: \"@\",\n align: \"@?\",\n\n properties: \"<\",\n disabled: \"
\";\n\n/***/ }),\n/* 380 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _class = function () {\n function _class() {\n (0, _classCallCheck3.default)(this, _class);\n\n this.operatorsByType = {\n \"boolean\": [\"is\", \"isNot\"],\n date: [\"is\", \"isAfter\", \"isBefore\"],\n number: [\"is\", \"smaller\", \"bigger\"],\n options: [\"is\", \"isNot\"],\n string: [\"contains\", \"containsNot\", \"startsWith\", \"endsWith\", \"is\", \"isNot\"]\n };\n\n this.translations = {\n column_label: \"Column\",\n operator_label: \"Operator\",\n\n operator_boolean_is: \"is\",\n operator_boolean_isNot: \"is not\",\n\n operator_string_contains: \"contains\",\n operator_string_containsNot: \"does not contain\",\n operator_string_startsWith: \"starts with\",\n operator_string_endsWith: \"ends with\",\n operator_string_is: \"is\",\n operator_string_isNot: \"is not\",\n\n operator_number_is: \"is\",\n operator_number_smaller: \"is smaller than\",\n operator_number_bigger: \"is bigger than\",\n\n operator_date_is: \"is\",\n operator_date_isBefore: \"is before\",\n operator_date_isAfter: \"is after\",\n\n operator_options_is: \"is\",\n operator_options_isNot: \"is not\",\n\n true_label: \"Yes\",\n false_label: \"No\",\n\n value_label: \"Value\",\n submit_label: \"Add\"\n };\n }\n\n (0, _createClass3.default)(_class, [{\n key: \"setOperatorsByType\",\n value: function setOperatorsByType(operatorsByType) {\n this.operatorsByType = operatorsByType;\n return this;\n }\n }, {\n key: \"setTranslations\",\n value: function setTranslations(translations) {\n this.translations = translations;\n return this;\n }\n }, {\n key: \"$get\",\n value: function $get() {\n return {\n operatorsByType: this.operatorsByType,\n translations: this.translations\n };\n }\n }]);\n return _class;\n}();\n\nexports.default = _class;\n\n/***/ }),\n/* 381 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _chipsComponent = __webpack_require__(382);\n\nvar _chipsComponent2 = _interopRequireDefault(_chipsComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.chips\", []).component(\"ouiChips\", _chipsComponent2.default);\n\n/***/ }),\n/* 382 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _chips = __webpack_require__(383);\n\nvar _chips2 = _interopRequireDefault(_chips);\n\nvar _chips3 = __webpack_require__(384);\n\nvar _chips4 = _interopRequireDefault(_chips3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n require: {\n criteriaContainer: \"?^^ouiCriteriaContainer\"\n },\n template: _chips4.default,\n controller: _chips2.default,\n bindings: {\n items: \"<\",\n\n closable: \" \";\n\n/***/ }),\n/* 385 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _popoverComponent = __webpack_require__(386);\n\nvar _popoverComponent2 = _interopRequireDefault(_popoverComponent);\n\nvar _popoverContent = __webpack_require__(389);\n\nvar _popoverContent2 = _interopRequireDefault(_popoverContent);\n\nvar _popoverTrigger = __webpack_require__(391);\n\nvar _popoverTrigger2 = _interopRequireDefault(_popoverTrigger);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.popover\", []).component(\"ouiPopover\", _popoverComponent2.default).directive(\"ouiPopoverContent\", _popoverContent2.default).directive(\"ouiPopoverTrigger\", _popoverTrigger2.default);\n\n/***/ }),\n/* 386 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _popover = __webpack_require__(387);\n\nvar _popover2 = _interopRequireDefault(_popover);\n\nvar _popover3 = __webpack_require__(388);\n\nvar _popover4 = _interopRequireDefault(_popover3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n template: _popover4.default,\n controller: _popover2.default,\n bindings: {\n placement: \"@?\"\n },\n transclude: true\n};\n\n/***/ }),\n/* 387 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _popper = __webpack_require__(25);\n\nvar _popper2 = _interopRequireDefault(_popper);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar KEY_ESCAPE = 27;\n\nvar PopoverController = function () {\n PopoverController.$inject = [\"$scope\", \"$element\", \"$attrs\", \"$document\", \"$timeout\"];\n function PopoverController($scope, $element, $attrs, $document, $timeout) {\n \"ngInject\";\n\n (0, _classCallCheck3.default)(this, PopoverController);\n this.$scope = $scope;\n this.$element = $element;\n this.$attrs = $attrs;\n this.$document = $document;\n this.$timeout = $timeout;\n }\n\n (0, _createClass3.default)(PopoverController, [{\n key: \"$onInit\",\n value: function $onInit() {\n this.isPopoverOpen = false;\n\n this.id = \"ouiPopover\" + this.$scope.$id;\n\n if (angular.isUndefined(this.placement)) {\n this.placement = \"right\";\n }\n }\n }, {\n key: \"$postLink\",\n value: function $postLink() {\n this.triggerElement = this.$element[0].querySelector(\".oui-popover__trigger\");\n this.popperElement = this.$element[0].querySelector(\".oui-popover__content\");\n this.arrowElement = this.$element[0].querySelector(\".oui-popover__arrow\");\n }\n }, {\n key: \"$destroy\",\n value: function $destroy() {\n this.closePopover();\n }\n }, {\n key: \"onTriggerClick\",\n value: function onTriggerClick() {\n if (!this.isPopoverOpen) {\n this.openPopover();\n } else {\n this.closePopover();\n }\n }\n }, {\n key: \"triggerKeyHandler\",\n value: function triggerKeyHandler(evt) {\n var _this = this;\n\n if (evt && evt.type === \"keydown\" && evt.which === KEY_ESCAPE) {\n this.$scope.$apply(function () {\n _this.closePopover();\n });\n }\n }\n }, {\n key: \"openPopover\",\n value: function openPopover() {\n var _this2 = this;\n\n this.isPopoverOpen = true;\n angular.element(this.$element.children()[0]).addClass(\"oui-popover_active\");\n this.updatePopper();\n\n this.$document.on(\"keydown\", function (evt) {\n return _this2.triggerKeyHandler(evt);\n });\n this.$scope.$broadcast(\"oui:popover:afterOpen\", this.id);\n }\n }, {\n key: \"closePopover\",\n value: function closePopover() {\n var _this3 = this;\n\n this.isPopoverOpen = false;\n angular.element(this.$element.children()[0]).removeClass(\"oui-popover_active\");\n this.destroyPopper();\n\n this.$document.off(\"keydown\", function (evt) {\n return _this3.triggerKeyHandler(evt);\n });\n this.$scope.$broadcast(\"oui:popover:afterClose\", this.id);\n }\n }, {\n key: \"createPopper\",\n value: function createPopper() {\n if (this.arrowElement) {\n this.arrowElement.setAttribute(\"x-arrow\", \"\");\n }\n\n this.popperElement.style.minWidth = this.triggerElement.offsetWidth + \"px\";\n\n this.popper = new _popper2.default(this.triggerElement, this.popperElement, {\n placement: this.placement,\n modifiers: {\n preventOverflow: {\n boundariesElement: this.$document[0].body\n }\n }\n });\n }\n }, {\n key: \"updatePopper\",\n value: function updatePopper() {\n if (this.popper) {\n this.popper.scheduleUpdate();\n } else {\n this.createPopper();\n }\n }\n }, {\n key: \"destroyPopper\",\n value: function destroyPopper() {\n if (!this.popper) {\n return;\n }\n\n this.popper.destroy();\n this.popper = null;\n }\n }]);\n return PopoverController;\n}();\n\nexports.default = PopoverController;\n\n/***/ }),\n/* 388 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"
\";\n\n/***/ }),\n/* 389 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _popoverContent = __webpack_require__(390);\n\nvar _popoverContent2 = _interopRequireDefault(_popoverContent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n \"ngInject\";\n\n return {\n restrict: \"AE\",\n require: {\n popover: \"^ouiPopover\"\n },\n controller: function controller() {\n (0, _classCallCheck3.default)(this, controller);\n },\n controllerAs: \"$ctrl\",\n bindToController: true,\n scope: {},\n template: _popoverContent2.default,\n transclude: true\n };\n};\n\n/***/ }),\n/* 390 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"
\";\n\n/***/ }),\n/* 391 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar popoverTriggerClass = \"oui-popover__trigger\";\n\nexports.default = function () {\n \"ngInject\";\n\n return {\n restrict: \"AE\",\n require: \"^ouiPopover\",\n scope: {},\n link: function link(scope, element, attrs, ctrl) {\n var triggerElement = element;\n\n triggerElement.addClass(popoverTriggerClass);\n\n triggerElement.attr(\"id\", ctrl.id);\n triggerElement.attr({ \"aria-haspopup\": true, \"aria-expanded\": false });\n\n triggerElement.on(\"click\", function () {\n return ctrl.onTriggerClick();\n });\n\n scope.$on(\"oui:popover:afterOpen\", function (e, id) {\n if (id !== ctrl.id) {\n return;\n }\n\n triggerElement.attr(\"aria-expanded\", true);\n });\n\n scope.$on(\"oui:popover:afterClose\", function (e, id) {\n if (id !== ctrl.id) {\n return;\n }\n\n triggerElement.attr(\"aria-expanded\", false);\n });\n\n scope.$on(\"$destroy\", function () {\n triggerElement.off(\"click\");\n });\n }\n };\n};\n\n/***/ }),\n/* 392 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _stepForm = __webpack_require__(393);\n\nvar _stepForm2 = _interopRequireDefault(_stepForm);\n\nvar _stepper = __webpack_require__(396);\n\nvar _stepper2 = _interopRequireDefault(_stepper);\n\nvar _stepper3 = __webpack_require__(399);\n\nvar _stepper4 = _interopRequireDefault(_stepper3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.stepper\", []).component(\"ouiStepper\", _stepper2.default).component(\"ouiStepForm\", _stepForm2.default).provider(\"ouiStepperConfiguration\", _stepper4.default);\n\n/***/ }),\n/* 393 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _stepFormController = __webpack_require__(394);\n\nvar _stepFormController2 = _interopRequireDefault(_stepFormController);\n\nvar _stepForm = __webpack_require__(395);\n\nvar _stepForm2 = _interopRequireDefault(_stepForm);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n require: {\n stepperCtrl: \"^ouiStepper\"\n },\n bindings: {\n id: \"@?\",\n name: \"@?\",\n header: \"@\",\n description: \"@?\",\n\n cancelHref: \"@?\",\n cancelText: \"@?\",\n loadingText: \"@?\",\n submitText: \"@?\",\n\n disabled: \"
\";\n\n/***/ }),\n/* 396 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _stepperController = __webpack_require__(397);\n\nvar _stepperController2 = _interopRequireDefault(_stepperController);\n\nvar _stepper = __webpack_require__(398);\n\nvar _stepper2 = _interopRequireDefault(_stepper);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n bindings: {\n name: \"@\",\n id: \"@\",\n onInit: \"&\",\n onFinish: \"&\"\n },\n controller: _stepperController2.default,\n template: _stepper2.default,\n transclude: true\n};\n\n/***/ }),\n/* 397 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _class = function () {\n _class.$inject = [\"$attrs\", \"$element\", \"$timeout\"];\n function _class($attrs, $element, $timeout) {\n \"ngInject\";\n\n (0, _classCallCheck3.default)(this, _class);\n this.$attrs = $attrs;\n this.$element = $element;\n this.$timeout = $timeout;\n }\n\n (0, _createClass3.default)(_class, [{\n key: \"$onInit\",\n value: function $onInit() {\n this.forms = [];\n this.steps = [];\n this.currentIndex = 0;\n this.onInit();\n }\n }, {\n key: \"$postLink\",\n value: function $postLink() {\n var _this = this;\n\n this.$timeout(function () {\n return _this.$element.removeAttr(\"id\").removeAttr(\"name\").addClass(\"oui-stepper\");\n });\n }\n }, {\n key: \"addStep\",\n value: function addStep(step) {\n this.steps.push(step);\n this.focusStep(this.currentIndex);\n }\n }, {\n key: \"addForm\",\n value: function addForm(form, index) {\n this.forms[index] = form;\n this.nextStep();\n\n if (index === this.steps.length - 1) {\n this.onFinish({ forms: this.forms });\n }\n }\n }, {\n key: \"nextStep\",\n value: function nextStep() {\n var indexToFocus = Math.min(this.currentIndex + 1, this.steps.length);\n this.focusStep(indexToFocus);\n }\n }, {\n key: \"prevStep\",\n value: function prevStep() {\n var indexToFocus = Math.max(this.currentIndex - 1, 0);\n this.focusStep(indexToFocus);\n }\n }, {\n key: \"focusStep\",\n value: function focusStep(indexToFocus) {\n var _this2 = this;\n\n this.currentIndex = indexToFocus;\n this.steps.forEach(function (step, index) {\n var focused = index === indexToFocus;\n\n if (angular.isDefined(step.stepper)) {\n step.stepper.index = index;\n step.stepper.focused = focused;\n step.stepper.disabled = index > _this2.currentIndex;\n step.stepper.last = index === _this2.steps.length - 1;\n }\n\n if (focused) {\n step.onFocus();\n }\n });\n }\n }]);\n return _class;\n}();\n\nexports.default = _class;\n\n/***/ }),\n/* 398 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"
\";\n\n/***/ }),\n/* 399 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _merge2 = __webpack_require__(33);\n\nvar _merge3 = _interopRequireDefault(_merge2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _class = function () {\n function _class() {\n (0, _classCallCheck3.default)(this, _class);\n\n this.translations = {\n optionalLabel: \"(optional)\",\n modifyThisStep: \"Modify this step\",\n skipThisStep: \"Skip this step\",\n nextButtonLabel: \"Next\",\n submitButtonLabel: \"Submit\",\n cancelButtonLabel: \"Cancel\"\n };\n }\n\n (0, _createClass3.default)(_class, [{\n key: \"setTranslations\",\n value: function setTranslations(translations) {\n this.translations = (0, _merge3.default)(this.translations, translations);\n return this;\n }\n }, {\n key: \"$get\",\n value: function $get() {\n return {\n translations: this.translations\n };\n }\n }]);\n return _class;\n}();\n\nexports.default = _class;\n\n/***/ }),\n/* 400 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _skeletonComponent = __webpack_require__(401);\n\nvar _skeletonComponent2 = _interopRequireDefault(_skeletonComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.skeleton\", []).component(\"ouiSkeleton\", _skeletonComponent2.default);\n\n/***/ }),\n/* 401 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _skeleton = __webpack_require__(402);\n\nvar _skeleton2 = _interopRequireDefault(_skeleton);\n\nvar _skeleton3 = __webpack_require__(403);\n\nvar _skeleton4 = _interopRequireDefault(_skeleton3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n controller: _skeleton2.default,\n template: _skeleton4.default,\n bindings: {\n size: \"@?\",\n randomized: \"
\";\n\n/***/ }),\n/* 404 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _clipboardComponent = __webpack_require__(405);\n\nvar _clipboardComponent2 = _interopRequireDefault(_clipboardComponent);\n\nvar _clipboardProvider = __webpack_require__(409);\n\nvar _clipboardProvider2 = _interopRequireDefault(_clipboardProvider);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.clipboard\", []).component(\"ouiClipboard\", _clipboardComponent2.default).provider(\"ouiClipboardConfiguration\", _clipboardProvider2.default);\n\n/***/ }),\n/* 405 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _clipboard = __webpack_require__(406);\n\nvar _clipboard2 = _interopRequireDefault(_clipboard);\n\nvar _clipboard3 = __webpack_require__(408);\n\nvar _clipboard4 = _interopRequireDefault(_clipboard3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n template: _clipboard4.default,\n controller: _clipboard2.default,\n bindings: {\n name: \"@?\",\n id: \"@?\",\n model: \"=\"\n }\n};\n\n/***/ }),\n/* 406 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _clipboard = __webpack_require__(407);\n\nvar _clipboard2 = _interopRequireDefault(_clipboard);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _class = function () {\n _class.$inject = [\"$attrs\", \"$element\", \"$timeout\", \"ouiClipboardConfiguration\"];\n function _class($attrs, $element, $timeout, ouiClipboardConfiguration) {\n \"ngInject\";\n\n (0, _classCallCheck3.default)(this, _class);\n this.$attrs = $attrs;\n this.$element = $element;\n this.$timeout = $timeout;\n this.translations = angular.copy(ouiClipboardConfiguration.translations);\n }\n\n (0, _createClass3.default)(_class, [{\n key: \"$onInit\",\n value: function $onInit() {\n this.tooltipText = this.translations.copyToClipboardLabel;\n this.trigger = this.$element[0].querySelector(\".oui-clipboard__button\");\n this.target = this.$element[0].querySelector(\".oui-clipboard__control\");\n }\n }, {\n key: \"$onDestroy\",\n value: function $onDestroy() {\n this.clipboard.destroy();\n }\n }, {\n key: \"$postLink\",\n value: function $postLink() {\n var _this = this;\n\n this.$timeout(function () {\n _this.$element.addClass(\"oui-input-group oui-input-group_clipboard\").removeAttr(\"id\").removeAttr(\"name\");\n });\n\n this.clipboard = new _clipboard2.default(this.trigger, {\n target: function target() {\n return _this.target;\n },\n text: function text() {\n return _this.model;\n }\n });\n\n this.clipboard.on(\"success\", function () {\n return _this.selectInputText(_this.translations.copiedLabel);\n }).on(\"error\", function () {\n return _this.selectInputText(_this.translations.notSupported);\n });\n }\n }, {\n key: \"selectInputText\",\n value: function selectInputText(tooltipText) {\n var _this2 = this;\n\n var selectionEnd = this.model.length || 0;\n\n this.$timeout(function () {\n _this2.target.focus();\n\n _this2.target.selectionStart = 0;\n _this2.target.selectionEnd = selectionEnd;\n _this2.target.setSelectionRange(0, selectionEnd);\n _this2.target.select();\n\n _this2.tooltipText = tooltipText;\n\n angular.element(_this2.target).one(\"blur\", function () {\n return _this2.reset();\n });\n });\n }\n }, {\n key: \"onInputClick\",\n value: function onInputClick() {\n this.trigger.click();\n }\n }, {\n key: \"reset\",\n value: function reset() {\n var _this3 = this;\n\n var resetDelay = 500;\n\n this.$timeout(function () {\n _this3.tooltipText = _this3.translations.copyToClipboardLabel;\n }, resetDelay);\n }\n }]);\n return _class;\n}();\n\nexports.default = _class;\n\n/***/ }),\n/* 407 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/*!\n * clipboard.js v2.0.1\n * https://zenorocha.github.io/clipboard.js\n * \n * Licensed MIT © Zeno Rocha\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(true)\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ClipboardJS\"] = factory();\n\telse\n\t\troot[\"ClipboardJS\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 3);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n if (true) {\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, __webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else if (typeof exports !== \"undefined\") {\n factory(module, require('select'));\n } else {\n var mod = {\n exports: {}\n };\n factory(mod, global.select);\n global.clipboardAction = mod.exports;\n }\n})(this, function (module, _select) {\n 'use strict';\n\n var _select2 = _interopRequireDefault(_select);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n var ClipboardAction = function () {\n /**\n * @param {Object} options\n */\n function ClipboardAction(options) {\n _classCallCheck(this, ClipboardAction);\n\n this.resolveOptions(options);\n this.initSelection();\n }\n\n /**\n * Defines base properties passed from constructor.\n * @param {Object} options\n */\n\n\n _createClass(ClipboardAction, [{\n key: 'resolveOptions',\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.action = options.action;\n this.container = options.container;\n this.emitter = options.emitter;\n this.target = options.target;\n this.text = options.text;\n this.trigger = options.trigger;\n\n this.selectedText = '';\n }\n }, {\n key: 'initSelection',\n value: function initSelection() {\n if (this.text) {\n this.selectFake();\n } else if (this.target) {\n this.selectTarget();\n }\n }\n }, {\n key: 'selectFake',\n value: function selectFake() {\n var _this = this;\n\n var isRTL = document.documentElement.getAttribute('dir') == 'rtl';\n\n this.removeFake();\n\n this.fakeHandlerCallback = function () {\n return _this.removeFake();\n };\n this.fakeHandler = this.container.addEventListener('click', this.fakeHandlerCallback) || true;\n\n this.fakeElem = document.createElement('textarea');\n // Prevent zooming on iOS\n this.fakeElem.style.fontSize = '12pt';\n // Reset box model\n this.fakeElem.style.border = '0';\n this.fakeElem.style.padding = '0';\n this.fakeElem.style.margin = '0';\n // Move element out of screen horizontally\n this.fakeElem.style.position = 'absolute';\n this.fakeElem.style[isRTL ? 'right' : 'left'] = '-9999px';\n // Move element to the same position vertically\n var yPosition = window.pageYOffset || document.documentElement.scrollTop;\n this.fakeElem.style.top = yPosition + 'px';\n\n this.fakeElem.setAttribute('readonly', '');\n this.fakeElem.value = this.text;\n\n this.container.appendChild(this.fakeElem);\n\n this.selectedText = (0, _select2.default)(this.fakeElem);\n this.copyText();\n }\n }, {\n key: 'removeFake',\n value: function removeFake() {\n if (this.fakeHandler) {\n this.container.removeEventListener('click', this.fakeHandlerCallback);\n this.fakeHandler = null;\n this.fakeHandlerCallback = null;\n }\n\n if (this.fakeElem) {\n this.container.removeChild(this.fakeElem);\n this.fakeElem = null;\n }\n }\n }, {\n key: 'selectTarget',\n value: function selectTarget() {\n this.selectedText = (0, _select2.default)(this.target);\n this.copyText();\n }\n }, {\n key: 'copyText',\n value: function copyText() {\n var succeeded = void 0;\n\n try {\n succeeded = document.execCommand(this.action);\n } catch (err) {\n succeeded = false;\n }\n\n this.handleResult(succeeded);\n }\n }, {\n key: 'handleResult',\n value: function handleResult(succeeded) {\n this.emitter.emit(succeeded ? 'success' : 'error', {\n action: this.action,\n text: this.selectedText,\n trigger: this.trigger,\n clearSelection: this.clearSelection.bind(this)\n });\n }\n }, {\n key: 'clearSelection',\n value: function clearSelection() {\n if (this.trigger) {\n this.trigger.focus();\n }\n\n window.getSelection().removeAllRanges();\n }\n }, {\n key: 'destroy',\n value: function destroy() {\n this.removeFake();\n }\n }, {\n key: 'action',\n set: function set() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'copy';\n\n this._action = action;\n\n if (this._action !== 'copy' && this._action !== 'cut') {\n throw new Error('Invalid \"action\" value, use either \"copy\" or \"cut\"');\n }\n },\n get: function get() {\n return this._action;\n }\n }, {\n key: 'target',\n set: function set(target) {\n if (target !== undefined) {\n if (target && (typeof target === 'undefined' ? 'undefined' : _typeof(target)) === 'object' && target.nodeType === 1) {\n if (this.action === 'copy' && target.hasAttribute('disabled')) {\n throw new Error('Invalid \"target\" attribute. Please use \"readonly\" instead of \"disabled\" attribute');\n }\n\n if (this.action === 'cut' && (target.hasAttribute('readonly') || target.hasAttribute('disabled'))) {\n throw new Error('Invalid \"target\" attribute. You can\\'t cut text from elements with \"readonly\" or \"disabled\" attributes');\n }\n\n this._target = target;\n } else {\n throw new Error('Invalid \"target\" value, use a valid Element');\n }\n }\n },\n get: function get() {\n return this._target;\n }\n }]);\n\n return ClipboardAction;\n }();\n\n module.exports = ClipboardAction;\n});\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar is = __webpack_require__(6);\nvar delegate = __webpack_require__(5);\n\n/**\n * Validates all params and calls the right\n * listener function based on its target type.\n *\n * @param {String|HTMLElement|HTMLCollection|NodeList} target\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listen(target, type, callback) {\n if (!target && !type && !callback) {\n throw new Error('Missing required arguments');\n }\n\n if (!is.string(type)) {\n throw new TypeError('Second argument must be a String');\n }\n\n if (!is.fn(callback)) {\n throw new TypeError('Third argument must be a Function');\n }\n\n if (is.node(target)) {\n return listenNode(target, type, callback);\n }\n else if (is.nodeList(target)) {\n return listenNodeList(target, type, callback);\n }\n else if (is.string(target)) {\n return listenSelector(target, type, callback);\n }\n else {\n throw new TypeError('First argument must be a String, HTMLElement, HTMLCollection, or NodeList');\n }\n}\n\n/**\n * Adds an event listener to a HTML element\n * and returns a remove listener function.\n *\n * @param {HTMLElement} node\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNode(node, type, callback) {\n node.addEventListener(type, callback);\n\n return {\n destroy: function() {\n node.removeEventListener(type, callback);\n }\n }\n}\n\n/**\n * Add an event listener to a list of HTML elements\n * and returns a remove listener function.\n *\n * @param {NodeList|HTMLCollection} nodeList\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNodeList(nodeList, type, callback) {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.addEventListener(type, callback);\n });\n\n return {\n destroy: function() {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.removeEventListener(type, callback);\n });\n }\n }\n}\n\n/**\n * Add an event listener to a selector\n * and returns a remove listener function.\n *\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenSelector(selector, type, callback) {\n return delegate(document.body, selector, type, callback);\n}\n\nmodule.exports = listen;\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports) {\n\nfunction E () {\n // Keep this empty so it's easier to inherit from\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\n}\n\nE.prototype = {\n on: function (name, callback, ctx) {\n var e = this.e || (this.e = {});\n\n (e[name] || (e[name] = [])).push({\n fn: callback,\n ctx: ctx\n });\n\n return this;\n },\n\n once: function (name, callback, ctx) {\n var self = this;\n function listener () {\n self.off(name, listener);\n callback.apply(ctx, arguments);\n };\n\n listener._ = callback\n return this.on(name, listener, ctx);\n },\n\n emit: function (name) {\n var data = [].slice.call(arguments, 1);\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\n var i = 0;\n var len = evtArr.length;\n\n for (i; i < len; i++) {\n evtArr[i].fn.apply(evtArr[i].ctx, data);\n }\n\n return this;\n },\n\n off: function (name, callback) {\n var e = this.e || (this.e = {});\n var evts = e[name];\n var liveEvents = [];\n\n if (evts && callback) {\n for (var i = 0, len = evts.length; i < len; i++) {\n if (evts[i].fn !== callback && evts[i].fn._ !== callback)\n liveEvents.push(evts[i]);\n }\n }\n\n // Remove event from queue to prevent memory leak\n // Suggested by https://github.com/lazd\n // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910\n\n (liveEvents.length)\n ? e[name] = liveEvents\n : delete e[name];\n\n return this;\n }\n};\n\nmodule.exports = E;\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n if (true) {\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, __webpack_require__(0), __webpack_require__(2), __webpack_require__(1)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else if (typeof exports !== \"undefined\") {\n factory(module, require('./clipboard-action'), require('tiny-emitter'), require('good-listener'));\n } else {\n var mod = {\n exports: {}\n };\n factory(mod, global.clipboardAction, global.tinyEmitter, global.goodListener);\n global.clipboard = mod.exports;\n }\n})(this, function (module, _clipboardAction, _tinyEmitter, _goodListener) {\n 'use strict';\n\n var _clipboardAction2 = _interopRequireDefault(_clipboardAction);\n\n var _tinyEmitter2 = _interopRequireDefault(_tinyEmitter);\n\n var _goodListener2 = _interopRequireDefault(_goodListener);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n\n var Clipboard = function (_Emitter) {\n _inherits(Clipboard, _Emitter);\n\n /**\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n * @param {Object} options\n */\n function Clipboard(trigger, options) {\n _classCallCheck(this, Clipboard);\n\n var _this = _possibleConstructorReturn(this, (Clipboard.__proto__ || Object.getPrototypeOf(Clipboard)).call(this));\n\n _this.resolveOptions(options);\n _this.listenClick(trigger);\n return _this;\n }\n\n /**\n * Defines if attributes would be resolved using internal setter functions\n * or custom functions that were passed in the constructor.\n * @param {Object} options\n */\n\n\n _createClass(Clipboard, [{\n key: 'resolveOptions',\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.action = typeof options.action === 'function' ? options.action : this.defaultAction;\n this.target = typeof options.target === 'function' ? options.target : this.defaultTarget;\n this.text = typeof options.text === 'function' ? options.text : this.defaultText;\n this.container = _typeof(options.container) === 'object' ? options.container : document.body;\n }\n }, {\n key: 'listenClick',\n value: function listenClick(trigger) {\n var _this2 = this;\n\n this.listener = (0, _goodListener2.default)(trigger, 'click', function (e) {\n return _this2.onClick(e);\n });\n }\n }, {\n key: 'onClick',\n value: function onClick(e) {\n var trigger = e.delegateTarget || e.currentTarget;\n\n if (this.clipboardAction) {\n this.clipboardAction = null;\n }\n\n this.clipboardAction = new _clipboardAction2.default({\n action: this.action(trigger),\n target: this.target(trigger),\n text: this.text(trigger),\n container: this.container,\n trigger: trigger,\n emitter: this\n });\n }\n }, {\n key: 'defaultAction',\n value: function defaultAction(trigger) {\n return getAttributeValue('action', trigger);\n }\n }, {\n key: 'defaultTarget',\n value: function defaultTarget(trigger) {\n var selector = getAttributeValue('target', trigger);\n\n if (selector) {\n return document.querySelector(selector);\n }\n }\n }, {\n key: 'defaultText',\n value: function defaultText(trigger) {\n return getAttributeValue('text', trigger);\n }\n }, {\n key: 'destroy',\n value: function destroy() {\n this.listener.destroy();\n\n if (this.clipboardAction) {\n this.clipboardAction.destroy();\n this.clipboardAction = null;\n }\n }\n }], [{\n key: 'isSupported',\n value: function isSupported() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['copy', 'cut'];\n\n var actions = typeof action === 'string' ? [action] : action;\n var support = !!document.queryCommandSupported;\n\n actions.forEach(function (action) {\n support = support && !!document.queryCommandSupported(action);\n });\n\n return support;\n }\n }]);\n\n return Clipboard;\n }(_tinyEmitter2.default);\n\n /**\n * Helper function to retrieve attribute value.\n * @param {String} suffix\n * @param {Element} element\n */\n function getAttributeValue(suffix, element) {\n var attribute = 'data-clipboard-' + suffix;\n\n if (!element.hasAttribute(attribute)) {\n return;\n }\n\n return element.getAttribute(attribute);\n }\n\n module.exports = Clipboard;\n});\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports) {\n\nvar DOCUMENT_NODE_TYPE = 9;\n\n/**\n * A polyfill for Element.matches()\n */\nif (typeof Element !== 'undefined' && !Element.prototype.matches) {\n var proto = Element.prototype;\n\n proto.matches = proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector;\n}\n\n/**\n * Finds the closest parent that matches a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @return {Function}\n */\nfunction closest (element, selector) {\n while (element && element.nodeType !== DOCUMENT_NODE_TYPE) {\n if (typeof element.matches === 'function' &&\n element.matches(selector)) {\n return element;\n }\n element = element.parentNode;\n }\n}\n\nmodule.exports = closest;\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar closest = __webpack_require__(4);\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction _delegate(element, selector, type, callback, useCapture) {\n var listenerFn = listener.apply(this, arguments);\n\n element.addEventListener(type, listenerFn, useCapture);\n\n return {\n destroy: function() {\n element.removeEventListener(type, listenerFn, useCapture);\n }\n }\n}\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element|String|Array} [elements]\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction delegate(elements, selector, type, callback, useCapture) {\n // Handle the regular Element usage\n if (typeof elements.addEventListener === 'function') {\n return _delegate.apply(null, arguments);\n }\n\n // Handle Element-less usage, it defaults to global delegation\n if (typeof type === 'function') {\n // Use `document` as the first parameter, then apply arguments\n // This is a short way to .unshift `arguments` without running into deoptimizations\n return _delegate.bind(null, document).apply(null, arguments);\n }\n\n // Handle Selector-based usage\n if (typeof elements === 'string') {\n elements = document.querySelectorAll(elements);\n }\n\n // Handle Array-like based usage\n return Array.prototype.map.call(elements, function (element) {\n return _delegate(element, selector, type, callback, useCapture);\n });\n}\n\n/**\n * Finds closest match and invokes callback.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Function}\n */\nfunction listener(element, selector, type, callback) {\n return function(e) {\n e.delegateTarget = closest(e.target, selector);\n\n if (e.delegateTarget) {\n callback.call(element, e);\n }\n }\n}\n\nmodule.exports = delegate;\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports) {\n\n/**\n * Check if argument is a HTML element.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.node = function(value) {\n return value !== undefined\n && value instanceof HTMLElement\n && value.nodeType === 1;\n};\n\n/**\n * Check if argument is a list of HTML elements.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.nodeList = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return value !== undefined\n && (type === '[object NodeList]' || type === '[object HTMLCollection]')\n && ('length' in value)\n && (value.length === 0 || exports.node(value[0]));\n};\n\n/**\n * Check if argument is a string.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.string = function(value) {\n return typeof value === 'string'\n || value instanceof String;\n};\n\n/**\n * Check if argument is a function.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.fn = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return type === '[object Function]';\n};\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports) {\n\nfunction select(element) {\n var selectedText;\n\n if (element.nodeName === 'SELECT') {\n element.focus();\n\n selectedText = element.value;\n }\n else if (element.nodeName === 'INPUT' || element.nodeName === 'TEXTAREA') {\n var isReadOnly = element.hasAttribute('readonly');\n\n if (!isReadOnly) {\n element.setAttribute('readonly', '');\n }\n\n element.select();\n element.setSelectionRange(0, element.value.length);\n\n if (!isReadOnly) {\n element.removeAttribute('readonly');\n }\n\n selectedText = element.value;\n }\n else {\n if (element.hasAttribute('contenteditable')) {\n element.focus();\n }\n\n var selection = window.getSelection();\n var range = document.createRange();\n\n range.selectNodeContents(element);\n selection.removeAllRanges();\n selection.addRange(range);\n\n selectedText = selection.toString();\n }\n\n return selectedText;\n}\n\nmodule.exports = select;\n\n\n/***/ })\n/******/ ]);\n});\n\n/***/ }),\n/* 408 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 409 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _merge2 = __webpack_require__(33);\n\nvar _merge3 = _interopRequireDefault(_merge2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _class = function () {\n function _class() {\n (0, _classCallCheck3.default)(this, _class);\n\n this.translations = {\n copyToClipboardLabel: \"Copy to clipboard\",\n copiedLabel: \"Copied\",\n notSupported: \"Copy to clipboard not supported. Please copy the text manually\"\n };\n }\n\n (0, _createClass3.default)(_class, [{\n key: \"setTranslations\",\n value: function setTranslations(translations) {\n this.translations = (0, _merge3.default)(this.translations, translations);\n return this;\n }\n }, {\n key: \"$get\",\n value: function $get() {\n return {\n translations: this.translations\n };\n }\n }]);\n return _class;\n}();\n\nexports.default = _class;\n\n/***/ }),\n/* 410 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _slideshow = __webpack_require__(411);\n\nvar _slideshow2 = _interopRequireDefault(_slideshow);\n\nvar _slideshowPanel = __webpack_require__(414);\n\nvar _slideshowPanel2 = _interopRequireDefault(_slideshowPanel);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.slideshow\", []).component(\"ouiSlideshow\", _slideshow2.default).component(\"ouiSlideshowPanel\", _slideshowPanel2.default);\n\n/***/ }),\n/* 411 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slideshow = __webpack_require__(412);\n\nvar _slideshow2 = _interopRequireDefault(_slideshow);\n\nvar _slideshow3 = __webpack_require__(413);\n\nvar _slideshow4 = _interopRequireDefault(_slideshow3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n template: _slideshow4.default,\n controller: _slideshow2.default,\n transclude: true,\n bindings: {\n onDismiss: \"&\",\n loading: \" 0;\n this._client = { x: 0, y: 0 };\n }\n }, {\n key: \"$postLink\",\n value: function $postLink() {\n var _this = this;\n\n this.$document.on(\"keydown\", function (evt) {\n return _this._triggerKeyHandler(evt);\n });\n\n this.$timeout(function () {\n _this.panels = _this.$element[0].querySelectorAll(\"oui-slideshow-panel\");\n\n if (_this.panels[0]) {\n _this.isIllustrated = _this._isIllustratedPanel(0);\n var firstPanelElement = _this.panels[0].querySelector(\".\" + PANEL_CLASSNAME);\n firstPanelElement.setAttribute(\"aria-hidden\", \"false\");\n var $firstPanelElement = angular.element(firstPanelElement);\n $firstPanelElement.addClass(\"active\");\n }\n\n if (_this._isTouch) {\n angular.element(_this._componentElement).addClass(\"touchDevice\");\n _this._setTouchEventListener();\n }\n });\n }\n }, {\n key: \"$destroy\",\n value: function $destroy() {\n this.closeOnBoarding();\n }\n }, {\n key: \"closeOnBoarding\",\n value: function closeOnBoarding() {\n var _this2 = this;\n\n if (this.onDismiss) {\n this.onDismiss(event);\n }\n\n this.$document.off(\"keydown\", function (evt) {\n return _this2._triggerKeyHandler(evt);\n });\n this.$scope.$broadcast(\"oui:modalOnBoarding:afterClose\", this.id);\n }\n }, {\n key: \"next\",\n value: function next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT);\n }\n }\n }, {\n key: \"prev\",\n value: function prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREV);\n }\n }\n }, {\n key: \"slideTo\",\n value: function slideTo(index) {\n var _this3 = this;\n\n var active = this.currentIndex;\n var waiting = 10;\n\n if (index > this.panels.length - 1 || index < 0 || index === active) {\n return;\n }\n\n if (this._isSliding) {\n this.$timeout(function () {\n return _this3.slideTo(index);\n }, waiting);\n return;\n }\n\n this._slide(index > active ? Direction.NEXT : Direction.PREV, index);\n }\n }, {\n key: \"_getIndexByDirection\",\n value: function _getIndexByDirection(direction) {\n var isNextDirection = direction === Direction.NEXT;\n var isPrevDirection = direction === Direction.PREV;\n var lastItemIndex = this.panels.length - 1;\n var isGoingToWrap = isPrevDirection && this.currentIndex === 0 || isNextDirection && this.currentIndex === lastItemIndex;\n\n if (isGoingToWrap && !this.loop) {\n return this.currentIndex;\n }\n\n var delta = direction === Direction.PREV ? -1 : 1;\n var itemIndex = (this.currentIndex + delta) % this.panels.length;\n\n return itemIndex === -1 ? this.panels.length - 1 : itemIndex;\n }\n }, {\n key: \"_slide\",\n value: function _slide(direction, indexTo) {\n var _this4 = this;\n\n var slideType = direction === Direction.NEXT ? Direction.LEFT : Direction.RIGHT;\n var activePanel = this.panels[this.currentIndex].querySelector(\".\" + PANEL_CLASSNAME);\n var $activePanel = angular.element(activePanel);\n var nextPanelIndex = indexTo === 0 ? 0 : indexTo || activePanel && this._getIndexByDirection(direction);\n var nextPanel = this.panels[nextPanelIndex].querySelector(\".\" + PANEL_CLASSNAME);\n var $nextPanel = angular.element(nextPanel);\n\n if (nextPanel && $nextPanel.hasClass(\"active\")) {\n this._isSliding = false;\n return;\n }\n\n if (!activePanel || !nextPanel) {\n return;\n }\n\n this._isSliding = true;\n var nextIsIllustrated = this._isIllustratedPanel(nextPanelIndex);\n\n $nextPanel.addClass(direction);\n this.constructor.reflowElement($nextPanel);\n $activePanel.addClass(slideType);\n this.constructor.reflowElement($activePanel);\n $nextPanel.addClass(slideType);\n\n this.currentIndex = nextPanelIndex;\n if (direction === Direction.NEXT) {\n this.isIllustrated = nextIsIllustrated;\n }\n\n this.$timeout(function () {\n $activePanel.removeClass(\"active \" + slideType);\n activePanel.setAttribute(\"aria-hidden\", \"true\");\n $nextPanel.removeClass(direction + \" \" + slideType);\n $nextPanel.addClass(\"active\");\n nextPanel.setAttribute(\"aria-hidden\", \"false\");\n _this4.isIllustrated = nextIsIllustrated;\n _this4._isSliding = false;\n }, TRANSITION_DURATION);\n }\n }, {\n key: \"_setTouchEventListener\",\n value: function _setTouchEventListener() {\n var _this5 = this;\n\n if (this._contentElement) {\n this._contentElement.addEventListener(\"touchstart\", function (evt) {\n evt.preventDefault();\n _this5._client.x = evt.touches[0].clientX || 0;\n _this5._client.y = evt.touches[0].clientY || 0;\n });\n\n this._contentElement.addEventListener(\"touchmove\", function (evt) {\n evt.preventDefault();\n if (!_this5._client.x || !_this5._client.y) {\n return;\n }\n\n var xDiff = _this5._client.x - evt.touches[0].clientX;\n var yDiff = _this5._client.y - evt.touches[0].clientY;\n var minDiff = 2;\n\n if (Math.abs(xDiff) > Math.abs(yDiff) && Math.abs(xDiff) + Math.abs(yDiff) > minDiff) {\n if (xDiff > 0) {\n _this5.next();\n } else {\n _this5.prev();\n }\n }\n\n _this5._client.x = 0;\n _this5._client.y = 0;\n });\n }\n }\n }, {\n key: \"_triggerKeyHandler\",\n value: function _triggerKeyHandler(evt) {\n var _this6 = this;\n\n if (evt && evt.type === \"keydown\" && evt.which === KEY_ESCAPE) {\n this.$scope.$apply(function () {\n _this6.closeOnBoarding();\n });\n }\n }\n }, {\n key: \"_isIllustratedPanel\",\n value: function _isIllustratedPanel(index) {\n return !!this.panels[index].attributes.picture || !!this.panels[index].dataset.picture;\n }\n }], [{\n key: \"reflowElement\",\n value: function reflowElement($element) {\n return $element[0].offsetHeight;\n }\n }]);\n return _class;\n}();\n\nexports.default = _class;\n\n/***/ }),\n/* 413 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"
\";\n\n/***/ }),\n/* 414 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slideshowPanel = __webpack_require__(415);\n\nvar _slideshowPanel2 = _interopRequireDefault(_slideshowPanel);\n\nvar _slideshowPanel3 = __webpack_require__(416);\n\nvar _slideshowPanel4 = _interopRequireDefault(_slideshowPanel3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n template: _slideshowPanel4.default,\n controller: _slideshowPanel2.default,\n bindings: {\n heading: \"@?\",\n text: \"@?\",\n picture: \"@?\",\n onClick: \"&?\",\n href: \"@?\",\n external: \"
\";\n\n/***/ }),\n/* 417 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _pageHeader = __webpack_require__(418);\n\nvar _pageHeader2 = _interopRequireDefault(_pageHeader);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.page-header\", []).component(\"ouiPageHeader\", _pageHeader2.default);\n\n/***/ }),\n/* 418 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _pageHeaderController = __webpack_require__(419);\n\nvar _pageHeaderController2 = _interopRequireDefault(_pageHeaderController);\n\nvar _pageHeader = __webpack_require__(420);\n\nvar _pageHeader2 = _interopRequireDefault(_pageHeader);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n template: _pageHeader2.default,\n controller: _pageHeaderController2.default,\n bindings: {\n heading: \"@?\",\n description: \"@?\"\n },\n transclude: {\n guide: \"?ouiGuideMenu\",\n tabs: \"?ouiHeaderTabs\"\n }\n};\n\n/***/ }),\n/* 419 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _class = function () {\n _class.$inject = [\"$attrs\", \"$transclude\"];\n function _class($attrs, $transclude) {\n \"ngInject\";\n\n (0, _classCallCheck3.default)(this, _class);\n this.$attrs = $attrs;\n this.$transclude = $transclude;\n }\n\n (0, _createClass3.default)(_class, [{\n key: \"$onInit\",\n value: function $onInit() {\n this.transcludeGuide = this.$transclude.isSlotFilled(\"guide\");\n this.transcludeTabs = this.$transclude.isSlotFilled(\"tabs\");\n }\n }]);\n return _class;\n}();\n\nexports.default = _class;\n\n/***/ }),\n/* 420 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"

\";\n\n/***/ }),\n/* 421 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _tileComponent = __webpack_require__(422);\n\nvar _tileComponent2 = _interopRequireDefault(_tileComponent);\n\nvar _tileButtonComponent = __webpack_require__(425);\n\nvar _tileButtonComponent2 = _interopRequireDefault(_tileButtonComponent);\n\nvar _tileDefinitionComponent = __webpack_require__(428);\n\nvar _tileDefinitionComponent2 = _interopRequireDefault(_tileDefinitionComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.tile\", []).component(\"ouiTile\", _tileComponent2.default).component(\"ouiTileButton\", _tileButtonComponent2.default).component(\"ouiTileDefinition\", _tileDefinitionComponent2.default);\n\n/***/ }),\n/* 422 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _tile = __webpack_require__(423);\n\nvar _tile2 = _interopRequireDefault(_tile);\n\nvar _tile3 = __webpack_require__(424);\n\nvar _tile4 = _interopRequireDefault(_tile3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n template: _tile4.default,\n controller: _tile2.default,\n bindings: {\n heading: \"@?\",\n description: \"@?\",\n loading: \"

\";\n\n/***/ }),\n/* 425 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _tileButton = __webpack_require__(426);\n\nvar _tileButton2 = _interopRequireDefault(_tileButton);\n\nvar _tileButton3 = __webpack_require__(427);\n\nvar _tileButton4 = _interopRequireDefault(_tileButton3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n template: _tileButton4.default,\n controller: _tileButton2.default,\n bindings: {\n text: \"@?\",\n onClick: \"&?\",\n href: \"@?\",\n ariaLabel: \"@?\"\n },\n transclude: true\n};\n\n/***/ }),\n/* 426 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _class = function () {\n _class.$inject = [\"$attrs\", \"$element\", \"$timeout\"];\n function _class($attrs, $element, $timeout) {\n \"ngInject\";\n\n (0, _classCallCheck3.default)(this, _class);\n this.$attrs = $attrs;\n this.$element = $element;\n this.$timeout = $timeout;\n }\n\n (0, _createClass3.default)(_class, [{\n key: \"$postLink\",\n value: function $postLink() {\n var _this = this;\n\n this.$timeout(function () {\n return _this.$element.addClass(\"oui-tile__item oui-tile__item_button\");\n });\n }\n }]);\n return _class;\n}();\n\nexports.default = _class;\n\n/***/ }),\n/* 427 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" {{ :: $ctrl.text }} \";\n\n/***/ }),\n/* 428 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _tileDefinition = __webpack_require__(429);\n\nvar _tileDefinition2 = _interopRequireDefault(_tileDefinition);\n\nvar _tileDefinition3 = __webpack_require__(430);\n\nvar _tileDefinition4 = _interopRequireDefault(_tileDefinition3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n template: _tileDefinition4.default,\n controller: _tileDefinition2.default,\n bindings: {\n term: \"@?\",\n termPopover: \"@?\",\n description: \"@?\",\n actions: \"=?\"\n },\n transclude: {\n descriptionSlot: \"?ouiTileDescription\",\n actionSlot: \"?ouiActionMenu\"\n }\n};\n\n/***/ }),\n/* 429 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _class = function () {\n _class.$inject = [\"$attrs\", \"$element\", \"$timeout\", \"$transclude\"];\n function _class($attrs, $element, $timeout, $transclude) {\n \"ngInject\";\n\n (0, _classCallCheck3.default)(this, _class);\n this.$attrs = $attrs;\n this.$element = $element;\n this.$timeout = $timeout;\n this.$transclude = $transclude;\n }\n\n (0, _createClass3.default)(_class, [{\n key: \"$onInit\",\n value: function $onInit() {\n this.transcludeAction = this.$transclude.isSlotFilled(\"actionSlot\");\n }\n }, {\n key: \"$postLink\",\n value: function $postLink() {\n var _this = this;\n\n this.$timeout(function () {\n return _this.$element.addClass(\"oui-tile__item\");\n });\n }\n }]);\n return _class;\n}();\n\nexports.default = _class;\n\n/***/ }),\n/* 430 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"
\";\n\n/***/ }),\n/* 431 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _dropdownDivider = __webpack_require__(26);\n\nvar _dropdownDivider2 = _interopRequireDefault(_dropdownDivider);\n\nvar _dropdownGroup = __webpack_require__(74);\n\nvar _dropdownGroup2 = _interopRequireDefault(_dropdownGroup);\n\nvar _dropdownItem = __webpack_require__(40);\n\nvar _dropdownItem2 = _interopRequireDefault(_dropdownItem);\n\nvar _guideMenu = __webpack_require__(432);\n\nvar _guideMenu2 = _interopRequireDefault(_guideMenu);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.guide-menu\", []).component(\"ouiGuideMenu\", _guideMenu2.default).component(\"ouiGuideMenuDivider\", _dropdownDivider2.default).component(\"ouiGuideMenuGroup\", _dropdownGroup2.default).component(\"ouiGuideMenuItem\", _dropdownItem2.default);\n\n/***/ }),\n/* 432 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _guideMenu = __webpack_require__(433);\n\nvar _guideMenu2 = _interopRequireDefault(_guideMenu);\n\nvar _guideMenu3 = __webpack_require__(434);\n\nvar _guideMenu4 = _interopRequireDefault(_guideMenu3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n template: _guideMenu4.default,\n controller: _guideMenu2.default,\n bindings: {\n text: \"@\",\n align: \"@?\",\n ariaLabel: \"@?\"\n },\n transclude: true\n};\n\n/***/ }),\n/* 433 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _componentUtils = __webpack_require__(2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _class = function () {\n _class.$inject = [\"$attrs\", \"$element\", \"$timeout\"];\n function _class($attrs, $element, $timeout) {\n \"ngInject\";\n\n (0, _classCallCheck3.default)(this, _class);\n this.$attrs = $attrs;\n this.$element = $element;\n this.$timeout = $timeout;\n }\n\n (0, _createClass3.default)(_class, [{\n key: \"$onInit\",\n value: function $onInit() {\n (0, _componentUtils.addDefaultParameter)(this, \"align\", \"end\");\n }\n }, {\n key: \"$postLink\",\n value: function $postLink() {\n var _this = this;\n\n this.$timeout(function () {\n return _this.$element.removeAttr(\"aria-label\");\n });\n }\n }]);\n return _class;\n}();\n\nexports.default = _class;\n\n/***/ }),\n/* 434 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 435 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _headerTabs = __webpack_require__(436);\n\nvar _headerTabs2 = _interopRequireDefault(_headerTabs);\n\nvar _dropdownDivider = __webpack_require__(26);\n\nvar _dropdownDivider2 = _interopRequireDefault(_dropdownDivider);\n\nvar _headerTabsDropdown = __webpack_require__(442);\n\nvar _headerTabsDropdown2 = _interopRequireDefault(_headerTabsDropdown);\n\nvar _headerTabsItem = __webpack_require__(445);\n\nvar _headerTabsItem2 = _interopRequireDefault(_headerTabsItem);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.header-tabs\", []).component(\"ouiHeaderTabs\", _headerTabs2.default).component(\"ouiHeaderTabsDivider\", _dropdownDivider2.default).component(\"ouiHeaderTabsDropdown\", _headerTabsDropdown2.default).component(\"ouiHeaderTabsItem\", _headerTabsItem2.default);\n\n/***/ }),\n/* 436 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _headerTabs = __webpack_require__(437);\n\nvar _headerTabs2 = _interopRequireDefault(_headerTabs);\n\nvar _headerTabs3 = __webpack_require__(441);\n\nvar _headerTabs4 = _interopRequireDefault(_headerTabs3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n template: _headerTabs4.default,\n controller: _headerTabs2.default,\n transclude: true\n};\n\n/***/ }),\n/* 437 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _getIterator2 = __webpack_require__(438);\n\nvar _getIterator3 = _interopRequireDefault(_getIterator2);\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar checkScrollDelay = 800;\n\nvar _class = function () {\n _class.$inject = [\"$attrs\", \"$element\", \"$interval\", \"$scope\", \"$timeout\", \"$window\"];\n function _class($attrs, $element, $interval, $scope, $timeout, $window) {\n \"ngInject\";\n\n (0, _classCallCheck3.default)(this, _class);\n this.$attrs = $attrs;\n this.$element = $element;\n this.$interval = $interval;\n this.$scope = $scope;\n this.$timeout = $timeout;\n this.$window = $window;\n }\n\n (0, _createClass3.default)(_class, [{\n key: \"$onInit\",\n value: function $onInit() {\n this.scroll = {\n begin: 0,\n end: 0\n };\n }\n }, {\n key: \"$onDestroy\",\n value: function $onDestroy() {\n angular.element(this._tabsElement).off(\"scroll\");\n angular.element(this.$window).off(\"resize\");\n }\n }, {\n key: \"$postLink\",\n value: function $postLink() {\n var _this = this;\n\n this.$timeout(function () {\n _this.$element.addClass(\"oui-header-tabs\");\n\n _this._tabsElement = _this.$element[0].querySelector(\".oui-header-tabs__container\");\n angular.element(_this._tabsElement).on(\"scroll\", function (event) {\n return _this._checkScroll(event);\n });\n angular.element(_this.$window).on(\"resize\", function (event) {\n return _this._checkScroll(event);\n });\n _this._initialCheck();\n });\n\n this.$timeout(function () {\n return _this._initialCheck();\n }, checkScrollDelay);\n }\n }, {\n key: \"scrollLeft\",\n value: function scrollLeft() {\n this._scroll(\"left\");\n }\n }, {\n key: \"scrollRight\",\n value: function scrollRight() {\n this._scroll(\"right\");\n }\n }, {\n key: \"_initialCheck\",\n value: function _initialCheck() {\n var activeTab = this.$element[0].querySelector(\".oui-header-tabs__item_active\");\n if (activeTab && activeTab.offsetLeft - this._tabsElement.offsetLeft > 0) {\n this._tabsElement.scrollLeft = activeTab.offsetLeft - this._tabsElement.offsetLeft;\n } else {\n this.scroll.end = this._tabsElement.scrollWidth - this._tabsElement.offsetWidth;\n }\n }\n }, {\n key: \"_scroll\",\n value: function _scroll(direction) {\n var itemToGo = this._findItemToGo(direction);\n this._scrollToItem(direction, itemToGo);\n }\n }, {\n key: \"_checkScroll\",\n value: function _checkScroll(e) {\n if (e) {\n e.preventDefault();\n }\n\n this.scroll.begin = this._tabsElement.scrollLeft;\n this.scroll.end = this._tabsElement.scrollWidth - this._tabsElement.offsetWidth - this._tabsElement.scrollLeft;\n this.$scope.$digest();\n }\n }, {\n key: \"_findItemToGo\",\n value: function _findItemToGo(direction) {\n var tabsList = [].slice.call(this._tabsElement.querySelectorAll(\":scope > .oui-header-tabs__item\"));\n var tabsOffset = this._tabsElement.offsetLeft;\n var tabsStart = this._tabsElement.scrollLeft;\n var tabsEnd = tabsStart + this._tabsElement.offsetWidth;\n\n var itemGutter = 0;\n if (tabsList && tabsList.length > 1) {\n itemGutter = tabsList[1].offsetLeft - (tabsList[0].offsetLeft + tabsList[0].offsetWidth);\n }\n\n var itemToGo = tabsList[0];\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = (0, _getIterator3.default)(tabsList), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var item = _step.value;\n\n var itemStart = item.offsetLeft - tabsOffset;\n if (direction === \"right\" && itemStart <= tabsEnd + tabsOffset + itemGutter) {\n itemToGo = item;\n } else if (direction === \"left\" && itemStart < tabsStart) {\n itemToGo = item;\n } else {\n break;\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n return itemToGo;\n }\n }, {\n key: \"_scrollToItem\",\n value: function _scrollToItem(direction, item) {\n var _this2 = this;\n\n var duration = 500;\n var stepDuration = 15;\n var step = this._tabsElement.scrollWidth / (duration / stepDuration);\n\n var itemStart = item.offsetLeft - this._tabsElement.offsetLeft;\n var itemEnd = itemStart + item.offsetWidth;\n var tabsWidth = this._tabsElement.offsetWidth;\n\n var loop = this.$interval(function () {\n var tabsStart = _this2._tabsElement.scrollLeft;\n var tabsEnd = _this2._tabsElement.scrollWidth - _this2._tabsElement.offsetWidth - _this2._tabsElement.scrollLeft;\n var screenEnd = tabsStart + _this2._tabsElement.offsetWidth;\n\n if (direction === \"right\" && tabsEnd > 0 && (tabsStart + step < itemStart || itemEnd > screenEnd)) {\n _this2._tabsElement.scrollLeft += step;\n } else if (direction === \"left\" && tabsStart > 0 && (screenEnd - step > itemEnd || itemStart < tabsStart - step)) {\n _this2._tabsElement.scrollLeft -= step;\n } else {\n if (direction === \"right\") {\n _this2._tabsElement.scrollLeft = tabsStart <= itemStart ? itemStart : itemEnd - tabsWidth;\n } else {\n _this2._tabsElement.scrollLeft = tabsStart >= itemStart ? itemStart : itemEnd - tabsWidth;\n }\n _this2.$interval.cancel(loop);\n }\n }, stepDuration);\n }\n }]);\n return _class;\n}();\n\nexports.default = _class;\n\n/***/ }),\n/* 438 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(439), __esModule: true };\n\n/***/ }),\n/* 439 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(102);\n__webpack_require__(42);\nmodule.exports = __webpack_require__(440);\n\n\n/***/ }),\n/* 440 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(8);\nvar get = __webpack_require__(85);\nmodule.exports = __webpack_require__(3).getIterator = function (it) {\n var iterFn = get(it);\n if (typeof iterFn != 'function') throw TypeError(it + ' is not iterable!');\n return anObject(iterFn.call(it));\n};\n\n\n/***/ }),\n/* 441 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 442 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _headerTabsDropdown = __webpack_require__(443);\n\nvar _headerTabsDropdown2 = _interopRequireDefault(_headerTabsDropdown);\n\nvar _headerTabsDropdown3 = __webpack_require__(444);\n\nvar _headerTabsDropdown4 = _interopRequireDefault(_headerTabsDropdown3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n bindings: {\n text: \"@\"\n },\n controller: _headerTabsDropdown2.default,\n template: _headerTabsDropdown4.default,\n transclude: true\n};\n\n/***/ }),\n/* 443 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ouiHeaderTabsItemClass = \"oui-header-tabs__item\";\nvar ouiHeaderTabsItemActiveClass = ouiHeaderTabsItemClass + \"_active\";\nvar ouiHeaderTabsItemDisabledClass = ouiHeaderTabsItemClass + \"_disabled\";\nvar ouiHeaderTabsDropDownClass = ouiHeaderTabsItemClass + \"_dropdown\";\n\nvar _class = function () {\n _class.$inject = [\"$element\", \"$scope\", \"$timeout\"];\n function _class($element, $scope, $timeout) {\n \"ngInject\";\n\n (0, _classCallCheck3.default)(this, _class);\n this.$element = $element;\n this.$scope = $scope;\n this.$timeout = $timeout;\n }\n\n (0, _createClass3.default)(_class, [{\n key: \"$onInit\",\n value: function $onInit() {\n this.disabled = false;\n }\n }, {\n key: \"$postLink\",\n value: function $postLink() {\n var _this = this;\n\n this.$timeout(function () {\n _this.$element.addClass(ouiHeaderTabsItemClass + \" \" + ouiHeaderTabsDropDownClass).attr(\"role\", \"listitem\");\n\n var itemCount = (_this.$element[0].querySelectorAll(\".\" + ouiHeaderTabsItemClass) || []).length;\n _this.$scope.$watch(function () {\n return (_this.$element[0].querySelectorAll(\".\" + ouiHeaderTabsItemDisabledClass) || []).length;\n }, function (itemDisabledCount) {\n if (itemDisabledCount === itemCount) {\n _this.disabled = true;\n _this.$element.addClass(ouiHeaderTabsItemDisabledClass);\n } else {\n _this.disabled = false;\n _this.$element.removeClass(ouiHeaderTabsItemDisabledClass);\n }\n });\n\n _this.$scope.$watch(function () {\n return !!_this.$element[0].querySelector(\".\" + ouiHeaderTabsItemActiveClass);\n }, function (hasActive) {\n if (hasActive) {\n _this.$element.addClass(ouiHeaderTabsItemActiveClass);\n } else {\n _this.$element.removeClass(ouiHeaderTabsItemActiveClass);\n }\n });\n });\n }\n }]);\n return _class;\n}();\n\nexports.default = _class;\n\n/***/ }),\n/* 444 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 445 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _headerTabsItem = __webpack_require__(446);\n\nvar _headerTabsItem2 = _interopRequireDefault(_headerTabsItem);\n\nvar _headerTabsItem3 = __webpack_require__(110);\n\nvar _headerTabsItem4 = _interopRequireDefault(_headerTabsItem3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n controller: _headerTabsItem2.default,\n template: _headerTabsItem4.default,\n bindings: {\n text: \"@\",\n href: \"@?\",\n state: \"@?\",\n stateParams: \" true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/isArray.js\n// module id = 11\n// module chunks = 0","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_hide.js\n// module id = 12\n// module chunks = 0","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_is-object.js\n// module id = 13\n// module chunks = 0","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_fails.js\n// module id = 14\n// module chunks = 0","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/isObject.js\n// module id = 15\n// module chunks = 0","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-iobject.js\n// module id = 16\n// module chunks = 0","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_property-desc.js\n// module id = 17\n// module chunks = 0","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/isObjectLike.js\n// module id = 18\n// module chunks = 0","module.exports = {};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iterators.js\n// module id = 19\n// module chunks = 0","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-keys.js\n// module id = 20\n// module chunks = 0","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-object.js\n// module id = 21\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/assign\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/assign.js\n// module id = 22\n// module chunks = 0","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_assocIndexOf.js\n// module id = 23\n// module chunks = 0","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseGetTag.js\n// module id = 24\n// module chunks = 0","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.14.3\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nvar longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\nvar timeoutDuration = 0;\nfor (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n timeoutDuration = 1;\n break;\n }\n}\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var css = getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? html['offset' + axis] + computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')] + computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')] : 0);\n}\n\nfunction getWindowSizes() {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes() : {};\n var width = sizes.width || element.clientWidth || result.right - result.left;\n var height = sizes.height || element.clientHeight || result.bottom - result.top;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth, 10);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && parent.nodeName === 'HTML') {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop, 10);\n var marginLeft = parseFloat(styles.marginLeft, 10);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n return isFixed(getParentNode(element));\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n boundaries.left += padding;\n boundaries.top += padding;\n boundaries.right -= padding;\n boundaries.bottom -= padding;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var styles = getComputedStyle(element);\n var x = parseFloat(styles.marginTop) + parseFloat(styles.marginBottom);\n var y = parseFloat(styles.marginLeft) + parseFloat(styles.marginRight);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.
\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroy the popper\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicity asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger onUpdate callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n // Avoid blurry text by using full pixel integers.\n // For pixel-perfect positioning, top/bottom prefers rounded\n // values, while left/right prefers floored values.\n var offsets = {\n left: Math.floor(popper.left),\n top: Math.round(popper.top),\n bottom: Math.round(popper.bottom),\n right: Math.floor(popper.right)\n };\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n top = -offsetParentRect.height + offsets.bottom;\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n left = -offsetParentRect.width + offsets.right;\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.
\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjuction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.
\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.
\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-right` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var flippedVariation = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.
\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.
\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.
\n * It will read the variation of the `placement` property.
\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unitless, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.
\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the height.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.
\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.
\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > More on this [reading this issue](https://github.com/FezVrasta/popper.js/issues/373)\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * An scenario exists where the reference itself is not within the boundaries.
\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".
\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper this makes sure the popper has always a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier, can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near eachothers\n * without leaving any gap between the two. Expecially useful when the arrow is\n * enabled and you want to assure it to point to its reference element.\n * It cares only about the first axis, you can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjuction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations).\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position,\n * the popper will never be placed outside of the defined boundaries\n * (except if keepTogether is enabled)\n */\n boundariesElement: 'viewport'\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3d transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties.\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define you own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3d transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties.\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the informations used by Popper.js\n * this object get passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper.\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper, it expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow, it expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements.\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.
\n * These can be overriden using the `options` argument of Popper.js.
\n * To override an option, simply pass as 3rd argument an object with the same\n * structure of this object, example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.
\n * By default, is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated, this callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.
\n * By default, is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Create a new Popper.js instance\n * @class Popper\n * @param {HTMLElement|referenceObject} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper.\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedule an update, it will run on the next UI update available\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.
\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/popper.js/dist/esm/popper.js\n// module id = 25\n// module chunks = 0","export default {\n controller: class {\n constructor ($element, $timeout) {\n \"ngInject\";\n\n this.$element = $element;\n this.$timeout = $timeout;\n }\n\n $postLink () {\n this.$timeout(() =>\n this.$element\n .addClass(\"oui-dropdown-menu__divider\")\n .attr(\"role\", \"separator\")\n );\n }\n }\n};\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-dropdown/src/divider/dropdown-divider.component.js","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_uid.js\n// module id = 27\n// module chunks = 0","exports.f = {}.propertyIsEnumerable;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-pie.js\n// module id = 28\n// module chunks = 0","var baseGet = require('./_baseGet');\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nmodule.exports = get;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/get.js\n// module id = 29\n// module chunks = 0","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_toKey.js\n// module id = 30\n// module chunks = 0","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_ctx.js\n// module id = 31\n// module chunks = 0","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-primitive.js\n// module id = 32\n// module chunks = 0","var baseMerge = require('./_baseMerge'),\n createAssigner = require('./_createAssigner');\n\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\nvar merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n});\n\nmodule.exports = merge;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/merge.js\n// module id = 33\n// module chunks = 0","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_Stack.js\n// module id = 34\n// module chunks = 0","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/eq.js\n// module id = 35\n// module chunks = 0","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseAssignValue.js\n// module id = 36\n// module chunks = 0","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_root.js\n// module id = 37\n// module chunks = 0","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_overArg.js\n// module id = 38\n// module chunks = 0","import Radio from \"./radio.component.js\";\n\nangular.module(\"oui.radio\", []).component(\"ouiRadio\", Radio);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-radio/src/index.js","import controller from \"./dropdown-item.controller\";\nimport template from \"./dropdown-item.html\";\n\nexport default {\n controller,\n template,\n bindings: {\n text: \"@\",\n ariaLabel: \"@?\",\n href: \"@?\",\n state: \"@?\",\n stateParams: \"= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.string.iterator.js\n// module id = 42\n// module chunks = 0","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-integer.js\n// module id = 43\n// module chunks = 0","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_defined.js\n// module id = 44\n// module chunks = 0","module.exports = true;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_library.js\n// module id = 45\n// module chunks = 0","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-create.js\n// module id = 46\n// module chunks = 0","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_cof.js\n// module id = 47\n// module chunks = 0","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_shared-key.js\n// module id = 48\n// module chunks = 0","var global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\nmodule.exports = function (key) {\n return store[key] || (store[key] = {});\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_shared.js\n// module id = 49\n// module chunks = 0","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_enum-bug-keys.js\n// module id = 50\n// module chunks = 0","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_set-to-string-tag.js\n// module id = 51\n// module chunks = 0","exports.f = Object.getOwnPropertySymbols;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-gops.js\n// module id = 52\n// module chunks = 0","var isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nmodule.exports = isKey;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_isKey.js\n// module id = 53\n// module chunks = 0","exports.f = require('./_wks');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_wks-ext.js\n// module id = 54\n// module chunks = 0","var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_wks-define.js\n// module id = 55\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/keys\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/keys.js\n// module id = 56\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/define-property\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/define-property.js\n// module id = 57\n// module chunks = 0","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_ie8-dom-define.js\n// module id = 58\n// module chunks = 0","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_dom-create.js\n// module id = 59\n// module chunks = 0","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignMergeValue;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_assignMergeValue.js\n// module id = 60\n// module chunks = 0","module.exports = function(module) {\r\n\tif(!module.webpackPolyfill) {\r\n\t\tmodule.deprecate = function() {};\r\n\t\tmodule.paths = [];\r\n\t\t// module.parent = undefined by default\r\n\t\tif(!module.children) module.children = [];\r\n\t\tObject.defineProperty(module, \"loaded\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.l;\r\n\t\t\t}\r\n\t\t});\r\n\t\tObject.defineProperty(module, \"id\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.i;\r\n\t\t\t}\r\n\t\t});\r\n\t\tmodule.webpackPolyfill = 1;\r\n\t}\r\n\treturn module;\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/module.js\n// module id = 61\n// module chunks = 0","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_freeGlobal.js\n// module id = 62\n// module chunks = 0","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/global.js\n// module id = 63\n// module chunks = 0","var overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_getPrototype.js\n// module id = 64\n// module chunks = 0","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/isArguments.js\n// module id = 65\n// module chunks = 0","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/isArrayLike.js\n// module id = 66\n// module chunks = 0","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/isFunction.js\n// module id = 67\n// module chunks = 0","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/isLength.js\n// module id = 68\n// module chunks = 0","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/isBuffer.js\n// module id = 69\n// module chunks = 0","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/isTypedArray.js\n// module id = 70\n// module chunks = 0","/**\n * Gets the value at `key`, unless `key` is \"__proto__\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n return key == '__proto__'\n ? undefined\n : object[key];\n}\n\nmodule.exports = safeGet;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_safeGet.js\n// module id = 71\n// module chunks = 0","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = nativeKeysIn;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/keysIn.js\n// module id = 72\n// module chunks = 0","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/identity.js\n// module id = 73\n// module chunks = 0","import template from \"./dropdown-group.html\";\n\nexport default {\n template,\n controller: class {\n constructor ($element, $timeout) {\n \"ngInject\";\n\n this.$element = $element;\n this.$timeout = $timeout;\n }\n\n $postLink () {\n this.$timeout(() =>\n this.$element\n .addClass(\"oui-dropdown-group\")\n );\n }\n },\n bindings: {\n label: \"@\"\n },\n transclude: true\n};\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-dropdown/src/group/dropdown-group.component.js","/**\n * The base implementation of `_.clamp` which doesn't coerce arguments.\n *\n * @private\n * @param {number} number The number to clamp.\n * @param {number} [lower] The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the clamped number.\n */\nfunction baseClamp(number, lower, upper) {\n if (number === number) {\n if (upper !== undefined) {\n number = number <= upper ? number : upper;\n }\n if (lower !== undefined) {\n number = number >= lower ? number : lower;\n }\n }\n return number;\n}\n\nmodule.exports = baseClamp;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseClamp.js\n// module id = 75\n// module chunks = 0","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/toNumber.js\n// module id = 76\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _from = require(\"../core-js/array/from\");\n\nvar _from2 = _interopRequireDefault(_from);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n } else {\n return (0, _from2.default)(arr);\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/helpers/toConsumableArray.js\n// module id = 77\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/array/from\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/array/from.js\n// module id = 78\n// module chunks = 0","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iter-define.js\n// module id = 79\n// module chunks = 0","module.exports = require('./_hide');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_redefine.js\n// module id = 80\n// module chunks = 0","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-keys-internal.js\n// module id = 81\n// module chunks = 0","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iobject.js\n// module id = 82\n// module chunks = 0","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-length.js\n// module id = 83\n// module chunks = 0","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-gpo.js\n// module id = 84\n// module chunks = 0","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/core.get-iterator-method.js\n// module id = 85\n// module chunks = 0","var createFind = require('./_createFind'),\n findIndex = require('./findIndex');\n\n/**\n * Iterates over elements of `collection`, returning the first element\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {*} Returns the matched element, else `undefined`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false },\n * { 'user': 'pebbles', 'age': 1, 'active': true }\n * ];\n *\n * _.find(users, function(o) { return o.age < 40; });\n * // => object for 'barney'\n *\n * // The `_.matches` iteratee shorthand.\n * _.find(users, { 'age': 1, 'active': true });\n * // => object for 'pebbles'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.find(users, ['active', false]);\n * // => object for 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.find(users, 'active');\n * // => object for 'barney'\n */\nvar find = createFind(findIndex);\n\nmodule.exports = find;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/find.js\n// module id = 86\n// module chunks = 0","var baseMatches = require('./_baseMatches'),\n baseMatchesProperty = require('./_baseMatchesProperty'),\n identity = require('./identity'),\n isArray = require('./isArray'),\n property = require('./property');\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\nmodule.exports = baseIteratee;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseIteratee.js\n// module id = 87\n// module chunks = 0","var baseIsEqualDeep = require('./_baseIsEqualDeep'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nmodule.exports = baseIsEqual;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseIsEqual.js\n// module id = 88\n// module chunks = 0","var isObject = require('./isObject');\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\nmodule.exports = isStrictComparable;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_isStrictComparable.js\n// module id = 89\n// module chunks = 0","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/keys.js\n// module id = 90\n// module chunks = 0","/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\nmodule.exports = matchesStrictComparable;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_matchesStrictComparable.js\n// module id = 91\n// module chunks = 0","var castPath = require('./_castPath'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\nmodule.exports = baseGet;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseGet.js\n// module id = 92\n// module chunks = 0","var isArray = require('./isArray'),\n isKey = require('./_isKey'),\n stringToPath = require('./_stringToPath'),\n toString = require('./toString');\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nmodule.exports = castPath;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_castPath.js\n// module id = 93\n// module chunks = 0","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/toString.js\n// module id = 94\n// module chunks = 0","var baseFindIndex = require('./_baseFindIndex'),\n baseIteratee = require('./_baseIteratee'),\n toInteger = require('./toInteger');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * This method is like `_.find` except that it returns the index of the first\n * element `predicate` returns truthy for instead of the element itself.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.findIndex(users, function(o) { return o.user == 'barney'; });\n * // => 0\n *\n * // The `_.matches` iteratee shorthand.\n * _.findIndex(users, { 'user': 'fred', 'active': false });\n * // => 1\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findIndex(users, ['active', false]);\n * // => 0\n *\n * // The `_.property` iteratee shorthand.\n * _.findIndex(users, 'active');\n * // => 2\n */\nfunction findIndex(array, predicate, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = fromIndex == null ? 0 : toInteger(fromIndex);\n if (index < 0) {\n index = nativeMax(length + index, 0);\n }\n return baseFindIndex(array, baseIteratee(predicate, 3), index);\n}\n\nmodule.exports = findIndex;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/findIndex.js\n// module id = 95\n// module chunks = 0","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/toInteger.js\n// module id = 96\n// module chunks = 0","export function hasProperty (obj, prop = \"\") {\n const props = prop.split(\".\");\n let theObject = obj;\n for (let i = 0; i < props.length; i++) {\n if (!Object.prototype.hasOwnProperty.call(theObject, props[i])) {\n return false;\n }\n theObject = theObject[props[i]] || {};\n }\n return true;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-datagrid/src/util.js","module.exports = { \"default\": require(\"core-js/library/fn/object/get-prototype-of\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/get-prototype-of.js\n// module id = 98\n// module chunks = 0","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export');\nvar core = require('./_core');\nvar fails = require('./_fails');\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-sap.js\n// module id = 99\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _typeof2 = require(\"../helpers/typeof\");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && ((typeof call === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(call)) === \"object\" || typeof call === \"function\") ? call : self;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/helpers/possibleConstructorReturn.js\n// module id = 100\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _iterator = require(\"../core-js/symbol/iterator\");\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = require(\"../core-js/symbol\");\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/helpers/typeof.js\n// module id = 101\n// module chunks = 0","require('./es6.array.iterator');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar TO_STRING_TAG = require('./_wks')('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n 'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n 'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n 'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n 'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n var NAME = DOMIterables[i];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = Iterators.Array;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/web.dom.iterable.js\n// module id = 102\n// module chunks = 0","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-gopn.js\n// module id = 103\n// module chunks = 0","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-gopd.js\n// module id = 104\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _setPrototypeOf = require(\"../core-js/object/set-prototype-of\");\n\nvar _setPrototypeOf2 = _interopRequireDefault(_setPrototypeOf);\n\nvar _create = require(\"../core-js/object/create\");\n\nvar _create2 = _interopRequireDefault(_create);\n\nvar _typeof2 = require(\"../helpers/typeof\");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + (typeof superClass === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(superClass)));\n }\n\n subClass.prototype = (0, _create2.default)(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf2.default ? (0, _setPrototypeOf2.default)(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/helpers/inherits.js\n// module id = 105\n// module chunks = 0","import { hasProperty } from \"../util\";\n\nexport default class DatagridPagingAbstract {\n constructor (columns, currentSorting, pageSize, rowLoader, pagingService) {\n this.columns = columns;\n this.currentSorting = currentSorting;\n this.criteria = [];\n this.pageSize = pageSize;\n this.offset = 1;\n this.rowLoader = rowLoader;\n\n this.$q = pagingService.$q;\n this.$timeout = pagingService.$timeout;\n this.orderByFilter = pagingService.orderByFilter;\n\n this.preventLoadingRows = false;\n\n this.cachedPageResult = null;\n this.cachedPageResultPristine = null;\n }\n\n setCriteria (criteria) {\n this.criteria = criteria;\n }\n\n setOffset (offset) {\n this.offset = offset;\n }\n\n setPageSize (pageSize) {\n this.pageSize = pageSize;\n }\n\n getCurrentPageSize () {\n if (!this.totalCount) {\n return this.pageSize;\n }\n\n return Math.min(this.pageSize, this.totalCount - (this.offset - 1));\n }\n\n setSort (columnName) {\n if (columnName === this.currentSorting.columnName) {\n this.currentSorting.dir = this.currentSorting.dir === -1 ? 1 : -1;\n } else {\n this.currentSorting = {\n columnName,\n dir: 1\n };\n }\n }\n\n getSortColumnName () {\n return this.currentSorting.columnName;\n }\n\n isSortAsc () {\n return this.currentSorting.dir === 1;\n }\n\n isSortDesc () {\n return this.currentSorting.dir === -1;\n }\n\n getSortingConfiguration () {\n const selectedColumn = this.getColumn(this.currentSorting.columnName);\n return Object.assign({\n property: selectedColumn && selectedColumn.sortProperty\n }, this.currentSorting);\n }\n\n getColumn (name) {\n for (let i = 0; i < this.columns.length; i++) {\n if (this.columns[i].name === name) {\n return this.columns[i];\n }\n }\n return null;\n }\n\n loadRowsData (rows) {\n if (!this.rowLoader) {\n return this.$q.when();\n }\n\n return this.$q.all(rows.map(row => this.loadRowData(row)));\n }\n\n loadRowData (row) {\n if (!this.isRowLoaded(row) && !row.$promise) {\n row.$promise = this.$q.when(this.rowLoader({ $row: row }))\n .then(fullRow => Object.assign(row, fullRow))\n .finally(() => {\n delete row.$promise;\n });\n\n return row.$promise;\n\n // TODO: Find a way to forward those error to datagrid\n /* .catch(this.handleError.bind(this)) */\n }\n\n return this.$q.when();\n }\n\n /**\n * Check if all data is loaded on this row\n * @param {object} row a row\n * @return {Boolean} true if loaded\n */\n isRowLoaded (row) {\n return this.columns.map(column => hasProperty(row, column.name))\n .reduce((a, b) => a && b, true);\n }\n\n reloadRows () {\n return this.loadRows(null, true);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-datagrid/src/paging/datagrid-paging-abstract.js","import escapeStringRegexp from \"escape-string-regexp\";\n\nexport default class StringComparators {\n static contains (haystack, needle) {\n return StringComparators.testString(haystack, escapeStringRegexp(needle));\n }\n\n static startsWith (haystack, needle) {\n const escapedNeedle = escapeStringRegexp(needle);\n return StringComparators.testString(haystack, `^${escapedNeedle}`);\n }\n\n static endsWith (haystack, needle) {\n const escapedNeedle = escapeStringRegexp(needle);\n return StringComparators.testString(haystack, `${escapedNeedle}$`);\n }\n\n static is (haystack, needle) {\n const escapedNeedle = escapeStringRegexp(needle);\n return StringComparators.testString(haystack, `^${escapedNeedle}$`);\n }\n\n static testString (haystack, regexp) {\n const pattern = new RegExp(regexp, \"i\");\n return pattern.test(haystack);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-datagrid/src/filter/string.js","import \"@oui-angular/oui-radio/src\";\nimport RadioGroup from \"./radio-group.component.js\";\n\nangular.module(\"oui.radio-group\", [\n \"oui.radio\"\n]).component(\"ouiRadioGroup\", RadioGroup);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-radio-group/src/index.js","export default class {\n constructor ($scope, $element, $timeout) {\n \"ngInject\";\n\n this.$scope = $scope;\n this.$element = $element;\n this.$timeout = $timeout;\n }\n\n $postLink () {\n // Sometimes the digest cycle is done before dom manipulation,\n // So we use $timeout to force the $apply\n this.$timeout(() => {\n this.$element\n .attr(\"role\", \"radiogroup\");\n });\n }\n\n $onInit () {\n if (!this.name) {\n this.name = `oui-radio-group-${this.$scope.$id}`;\n }\n }\n\n setModelValue (value) {\n this.model = value;\n\n if (this.onChange) {\n this.$timeout(() => this.onChange({ modelValue: value }));\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-radio-group/src/radio-group.controller.js","module.exports = \" \";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-header-tabs/src/header-tabs-item.html\n// module id = 110\n// module chunks = 0","import \"@oui-angular/oui-button/src\";\nimport \"@oui-angular/oui-calendar/src\";\nimport \"@oui-angular/oui-checkbox/src\";\nimport \"@oui-angular/oui-collapsible/src\";\nimport \"@oui-angular/oui-radio/src\";\nimport \"@oui-angular/oui-message/src\";\nimport \"@oui-angular/oui-spinner/src\";\nimport \"@oui-angular/oui-back-button/src\";\nimport \"@oui-angular/oui-dropdown/src\";\nimport \"@oui-angular/oui-action-menu/src\";\nimport \"@oui-angular/oui-tooltip/src\";\nimport \"@oui-angular/oui-numeric/src\";\nimport \"@oui-angular/oui-pagination/src\";\nimport \"@oui-angular/oui-datagrid/src\";\nimport \"@oui-angular/oui-navbar/src\";\nimport \"@oui-angular/oui-modal/src\";\nimport \"@oui-angular/oui-field/src\";\nimport \"@oui-angular/oui-radio-group/src\";\nimport \"@oui-angular/oui-radio-toggle-group/src\";\nimport \"@oui-angular/oui-select/src\";\nimport \"@oui-angular/oui-select-picker/src\";\nimport \"@oui-angular/oui-textarea/src\";\nimport \"@oui-angular/oui-form-actions/src\";\nimport \"@oui-angular/oui-search/src\";\nimport \"@oui-angular/oui-criteria-container/src\";\nimport \"@oui-angular/oui-criteria-adder/src\";\nimport \"@oui-angular/oui-chips/src\";\nimport \"@oui-angular/oui-popover/src\";\nimport \"@oui-angular/oui-stepper/src\";\nimport \"@oui-angular/oui-skeleton/src\";\nimport \"@oui-angular/oui-clipboard/src\";\nimport \"@oui-angular/oui-slideshow/src\";\nimport \"@oui-angular/oui-page-header/src\";\nimport \"@oui-angular/oui-tile/src\";\nimport \"@oui-angular/oui-guide-menu/src\";\nimport \"@oui-angular/oui-header-tabs/src\";\n\nangular.module(\"oui\", [\n \"oui.button\",\n \"oui.calendar\",\n \"oui.checkbox\",\n \"oui.collapsible\",\n \"oui.radio\",\n \"oui.message\",\n \"oui.spinner\",\n \"oui.back-button\",\n \"oui.dropdown\",\n \"oui.action-menu\",\n \"oui.tooltip\",\n \"oui.numeric\",\n \"oui.pagination\",\n \"oui.datagrid\",\n \"oui.navbar\",\n \"oui.modal\",\n \"oui.field\",\n \"oui.radio-group\",\n \"oui.select\",\n \"oui.select-picker\",\n \"oui.textarea\",\n \"oui.form-actions\",\n \"oui.search\",\n \"oui.criteria-container\",\n \"oui.radio-toggle-group\",\n \"oui.criteria-adder\",\n \"oui.chips\",\n \"oui.popover\",\n \"oui.stepper\",\n \"oui.skeleton\",\n \"oui.clipboard\",\n \"oui.slideshow\",\n \"oui.page-header\",\n \"oui.tile\",\n \"oui.guide-menu\",\n \"oui.header-tabs\"\n]);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-angular/src/index.js","import Button from \"./button.component.js\";\n\nangular.module(\"oui.button\", []).component(\"ouiButton\", Button);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-button/src/index.js","import controller from \"./button.controller\";\nimport template from \"./button.html\";\n\nexport default {\n bindings: {\n text: \"@\",\n id: \"@?\",\n name: \"@?\",\n type: \"@?\", // values: submit|button|reset (default: button)\n variant: \"@?\", // values: primary|secondary|link (default: secondary)\n variantNav: \"@?\", // values: previous|next\n ariaLabel: \"@?\",\n\n disabled: \"\n this.$element\n .removeAttr(\"aria-label\")\n .removeAttr(\"id\")\n .removeAttr(\"name\")\n );\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-button/src/button.controller.js","require('../../modules/es6.object.define-property');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperty(it, key, desc) {\n return $Object.defineProperty(it, key, desc);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/define-property.js\n// module id = 116\n// module chunks = 0","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.define-property.js\n// module id = 117\n// module chunks = 0","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_a-function.js\n// module id = 118\n// module chunks = 0","module.exports = \" \";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-button/src/button.html\n// module id = 119\n// module chunks = 0","import Calendar from \"./calendar.component.js\";\nimport CalendarProvider from \"./calendar.provider\";\n\nangular\n .module(\"oui.calendar\", [])\n .component(\"ouiCalendar\", Calendar)\n .provider(\"ouiCalendarConfiguration\", CalendarProvider);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-calendar/src/index.js","import controller from \"./calendar.controller\";\nimport template from \"./calendar.html\";\n\nexport default {\n bindings: {\n model: \"=\",\n\n id: \"@?\",\n name: \"@?\",\n placeholder: \"@?\",\n mode: \"@?\",\n format: \"@?\",\n altFormat: \"@?\",\n\n appendToBody: \" {\n this.options[hook] = (selectedDates, dateStr) => {\n this.model = dateStr;\n this.$timeout(this[hook]({ selectedDates, dateStr }));\n };\n });\n }\n\n setOptionsProperty (property, value) {\n if (angular.isDefined(value)) {\n this.options[property] = value;\n }\n }\n\n initCalendarInstance () {\n // Set options from attributes\n this.setOptionsProperty(\"appendTo\", this.appendTo);\n this.setOptionsProperty(\"defaultDate\", this.model);\n this.setOptionsProperty(\"disable\", this.disableDate);\n this.setOptionsProperty(\"enable\", this.enableDate);\n this.setOptionsProperty(\"inline\", this.inline);\n this.setOptionsProperty(\"locale\", this.locale);\n this.setOptionsProperty(\"maxDate\", this.maxDate);\n this.setOptionsProperty(\"minDate\", this.minDate);\n this.setOptionsProperty(\"mode\", this.mode);\n this.setOptionsProperty(\"weekNumbers\", this.weekNumbers);\n\n // Set formatting options\n this.setOptionsProperty(\"dateFormat\", this.format);\n\n if (angular.isDefined(this.altFormat)) {\n this.setOptionsProperty(\"altInput\", true);\n this.setOptionsProperty(\"altFormat\", this.altFormat);\n }\n\n // Append calendar to control wrapper\n if (!this.appendToBody) {\n const wrapper = this.$element[0].querySelector(\".oui-calendar__control-wrapper\");\n this.setOptionsProperty(\"appendTo\", wrapper);\n }\n\n // Set events with array of supported hooks/attributes\n this.setEventHooks([\n \"onChange\",\n \"onOpen\",\n \"onClose\"\n ]);\n\n // Get instance of flatpickr when component is ready\n this.setOptionsProperty(\"onReady\", (selectedDates, dateStr, instance) => {\n this.flatpickr = instance;\n\n // Update model with formatted value\n this.model = dateStr;\n });\n\n // Init the flatpickr instance\n this.flatpickr = new Flatpickr(this.$element.find(\"input\")[0], this.options);\n }\n\n $onInit () {\n addBooleanParameter(this, \"appendToBody\");\n addBooleanParameter(this, \"disabled\");\n addBooleanParameter(this, \"inline\");\n addBooleanParameter(this, \"required\");\n addBooleanParameter(this, \"weekNumbers\");\n\n this.initCalendarInstance();\n }\n\n $onDestroy () {\n this.flatpickr.destroy();\n }\n\n $postLink () {\n // Avoid $element DOM unsync for jqLite methods\n this.$timeout(() => {\n this.$element\n .addClass(\"oui-calendar\")\n .removeAttr(\"id\")\n .removeAttr(\"name\");\n\n // Add class for `inline`\n if (this.inline) {\n this.$element.addClass(\"oui-calendar_inline\");\n }\n });\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-calendar/src/calendar.controller.js","/* flatpickr v4.5.0, @license MIT */\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global.flatpickr = factory());\n}(this, (function () { 'use strict';\n\n var pad = function pad(number) {\n return (\"0\" + number).slice(-2);\n };\n var int = function int(bool) {\n return bool === true ? 1 : 0;\n };\n function debounce(func, wait, immediate) {\n if (immediate === void 0) {\n immediate = false;\n }\n\n var timeout;\n return function () {\n var context = this,\n args = arguments;\n timeout !== null && clearTimeout(timeout);\n timeout = window.setTimeout(function () {\n timeout = null;\n if (!immediate) func.apply(context, args);\n }, wait);\n if (immediate && !timeout) func.apply(context, args);\n };\n }\n var arrayify = function arrayify(obj) {\n return obj instanceof Array ? obj : [obj];\n };\n\n var do_nothing = function do_nothing() {\n return undefined;\n };\n\n var monthToStr = function monthToStr(monthNumber, shorthand, locale) {\n return locale.months[shorthand ? \"shorthand\" : \"longhand\"][monthNumber];\n };\n var revFormat = {\n D: do_nothing,\n F: function F(dateObj, monthName, locale) {\n dateObj.setMonth(locale.months.longhand.indexOf(monthName));\n },\n G: function G(dateObj, hour) {\n dateObj.setHours(parseFloat(hour));\n },\n H: function H(dateObj, hour) {\n dateObj.setHours(parseFloat(hour));\n },\n J: function J(dateObj, day) {\n dateObj.setDate(parseFloat(day));\n },\n K: function K(dateObj, amPM, locale) {\n dateObj.setHours(dateObj.getHours() % 12 + 12 * int(new RegExp(locale.amPM[1], \"i\").test(amPM)));\n },\n M: function M(dateObj, shortMonth, locale) {\n dateObj.setMonth(locale.months.shorthand.indexOf(shortMonth));\n },\n S: function S(dateObj, seconds) {\n dateObj.setSeconds(parseFloat(seconds));\n },\n U: function U(_, unixSeconds) {\n return new Date(parseFloat(unixSeconds) * 1000);\n },\n W: function W(dateObj, weekNum) {\n var weekNumber = parseInt(weekNum);\n return new Date(dateObj.getFullYear(), 0, 2 + (weekNumber - 1) * 7, 0, 0, 0, 0);\n },\n Y: function Y(dateObj, year) {\n dateObj.setFullYear(parseFloat(year));\n },\n Z: function Z(_, ISODate) {\n return new Date(ISODate);\n },\n d: function d(dateObj, day) {\n dateObj.setDate(parseFloat(day));\n },\n h: function h(dateObj, hour) {\n dateObj.setHours(parseFloat(hour));\n },\n i: function i(dateObj, minutes) {\n dateObj.setMinutes(parseFloat(minutes));\n },\n j: function j(dateObj, day) {\n dateObj.setDate(parseFloat(day));\n },\n l: do_nothing,\n m: function m(dateObj, month) {\n dateObj.setMonth(parseFloat(month) - 1);\n },\n n: function n(dateObj, month) {\n dateObj.setMonth(parseFloat(month) - 1);\n },\n s: function s(dateObj, seconds) {\n dateObj.setSeconds(parseFloat(seconds));\n },\n w: do_nothing,\n y: function y(dateObj, year) {\n dateObj.setFullYear(2000 + parseFloat(year));\n }\n };\n var tokenRegex = {\n D: \"(\\\\w+)\",\n F: \"(\\\\w+)\",\n G: \"(\\\\d\\\\d|\\\\d)\",\n H: \"(\\\\d\\\\d|\\\\d)\",\n J: \"(\\\\d\\\\d|\\\\d)\\\\w+\",\n K: \"\",\n M: \"(\\\\w+)\",\n S: \"(\\\\d\\\\d|\\\\d)\",\n U: \"(.+)\",\n W: \"(\\\\d\\\\d|\\\\d)\",\n Y: \"(\\\\d{4})\",\n Z: \"(.+)\",\n d: \"(\\\\d\\\\d|\\\\d)\",\n h: \"(\\\\d\\\\d|\\\\d)\",\n i: \"(\\\\d\\\\d|\\\\d)\",\n j: \"(\\\\d\\\\d|\\\\d)\",\n l: \"(\\\\w+)\",\n m: \"(\\\\d\\\\d|\\\\d)\",\n n: \"(\\\\d\\\\d|\\\\d)\",\n s: \"(\\\\d\\\\d|\\\\d)\",\n w: \"(\\\\d\\\\d|\\\\d)\",\n y: \"(\\\\d{2})\"\n };\n var formats = {\n Z: function Z(date) {\n return date.toISOString();\n },\n D: function D(date, locale, options) {\n return locale.weekdays.shorthand[formats.w(date, locale, options)];\n },\n F: function F(date, locale, options) {\n return monthToStr(formats.n(date, locale, options) - 1, false, locale);\n },\n G: function G(date, locale, options) {\n return pad(formats.h(date, locale, options));\n },\n H: function H(date) {\n return pad(date.getHours());\n },\n J: function J(date, locale) {\n return locale.ordinal !== undefined ? date.getDate() + locale.ordinal(date.getDate()) : date.getDate();\n },\n K: function K(date, locale) {\n return locale.amPM[int(date.getHours() > 11)];\n },\n M: function M(date, locale) {\n return monthToStr(date.getMonth(), true, locale);\n },\n S: function S(date) {\n return pad(date.getSeconds());\n },\n U: function U(date) {\n return date.getTime() / 1000;\n },\n W: function W(date, _, options) {\n return options.getWeek(date);\n },\n Y: function Y(date) {\n return date.getFullYear();\n },\n d: function d(date) {\n return pad(date.getDate());\n },\n h: function h(date) {\n return date.getHours() % 12 ? date.getHours() % 12 : 12;\n },\n i: function i(date) {\n return pad(date.getMinutes());\n },\n j: function j(date) {\n return date.getDate();\n },\n l: function l(date, locale) {\n return locale.weekdays.longhand[date.getDay()];\n },\n m: function m(date) {\n return pad(date.getMonth() + 1);\n },\n n: function n(date) {\n return date.getMonth() + 1;\n },\n s: function s(date) {\n return date.getSeconds();\n },\n w: function w(date) {\n return date.getDay();\n },\n y: function y(date) {\n return String(date.getFullYear()).substring(2);\n }\n };\n\n var english = {\n weekdays: {\n shorthand: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n longhand: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"]\n },\n months: {\n shorthand: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"],\n longhand: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"]\n },\n daysInMonth: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],\n firstDayOfWeek: 0,\n ordinal: function ordinal(nth) {\n var s = nth % 100;\n if (s > 3 && s < 21) return \"th\";\n\n switch (s % 10) {\n case 1:\n return \"st\";\n\n case 2:\n return \"nd\";\n\n case 3:\n return \"rd\";\n\n default:\n return \"th\";\n }\n },\n rangeSeparator: \" to \",\n weekAbbreviation: \"Wk\",\n scrollTitle: \"Scroll to increment\",\n toggleTitle: \"Click to toggle\",\n amPM: [\"AM\", \"PM\"],\n yearAriaLabel: \"Year\"\n };\n\n var createDateFormatter = function createDateFormatter(_ref) {\n var _ref$config = _ref.config,\n config = _ref$config === void 0 ? defaults : _ref$config,\n _ref$l10n = _ref.l10n,\n l10n = _ref$l10n === void 0 ? english : _ref$l10n;\n return function (dateObj, frmt, overrideLocale) {\n if (config.formatDate !== undefined) return config.formatDate(dateObj, frmt);\n var locale = overrideLocale || l10n;\n return frmt.split(\"\").map(function (c, i, arr) {\n return formats[c] && arr[i - 1] !== \"\\\\\" ? formats[c](dateObj, locale, config) : c !== \"\\\\\" ? c : \"\";\n }).join(\"\");\n };\n };\n var createDateParser = function createDateParser(_ref2) {\n var _ref2$config = _ref2.config,\n config = _ref2$config === void 0 ? defaults : _ref2$config,\n _ref2$l10n = _ref2.l10n,\n l10n = _ref2$l10n === void 0 ? english : _ref2$l10n;\n return function (date, givenFormat, timeless) {\n if (date !== 0 && !date) return undefined;\n var parsedDate;\n var date_orig = date;\n if (date instanceof Date) parsedDate = new Date(date.getTime());else if (typeof date !== \"string\" && date.toFixed !== undefined) parsedDate = new Date(date);else if (typeof date === \"string\") {\n var format = givenFormat || (config || defaults).dateFormat;\n var datestr = String(date).trim();\n\n if (datestr === \"today\") {\n parsedDate = new Date();\n timeless = true;\n } else if (/Z$/.test(datestr) || /GMT$/.test(datestr)) parsedDate = new Date(date);else if (config && config.parseDate) parsedDate = config.parseDate(date, format);else {\n parsedDate = !config || !config.noCalendar ? new Date(new Date().getFullYear(), 0, 1, 0, 0, 0, 0) : new Date(new Date().setHours(0, 0, 0, 0));\n var matched,\n ops = [];\n\n for (var i = 0, matchIndex = 0, regexStr = \"\"; i < format.length; i++) {\n var token = format[i];\n var isBackSlash = token === \"\\\\\";\n var escaped = format[i - 1] === \"\\\\\" || isBackSlash;\n\n if (tokenRegex[token] && !escaped) {\n regexStr += tokenRegex[token];\n var match = new RegExp(regexStr).exec(date);\n\n if (match && (matched = true)) {\n ops[token !== \"Y\" ? \"push\" : \"unshift\"]({\n fn: revFormat[token],\n val: match[++matchIndex]\n });\n }\n } else if (!isBackSlash) regexStr += \".\";\n\n ops.forEach(function (_ref3) {\n var fn = _ref3.fn,\n val = _ref3.val;\n return parsedDate = fn(parsedDate, val, l10n) || parsedDate;\n });\n }\n\n parsedDate = matched ? parsedDate : undefined;\n }\n }\n\n if (!(parsedDate instanceof Date && !isNaN(parsedDate.getTime()))) {\n config.errorHandler(new Error(\"Invalid date provided: \" + date_orig));\n return undefined;\n }\n\n if (timeless === true) parsedDate.setHours(0, 0, 0, 0);\n return parsedDate;\n };\n };\n function compareDates(date1, date2, timeless) {\n if (timeless === void 0) {\n timeless = true;\n }\n\n if (timeless !== false) {\n return new Date(date1.getTime()).setHours(0, 0, 0, 0) - new Date(date2.getTime()).setHours(0, 0, 0, 0);\n }\n\n return date1.getTime() - date2.getTime();\n }\n var getWeek = function getWeek(givenDate) {\n var date = new Date(givenDate.getTime());\n date.setHours(0, 0, 0, 0);\n date.setDate(date.getDate() + 3 - (date.getDay() + 6) % 7);\n var week1 = new Date(date.getFullYear(), 0, 4);\n return 1 + Math.round(((date.getTime() - week1.getTime()) / 86400000 - 3 + (week1.getDay() + 6) % 7) / 7);\n };\n var isBetween = function isBetween(ts, ts1, ts2) {\n return ts > Math.min(ts1, ts2) && ts < Math.max(ts1, ts2);\n };\n var duration = {\n DAY: 86400000\n };\n\n var defaults = {\n _disable: [],\n _enable: [],\n allowInput: false,\n altFormat: \"F j, Y\",\n altInput: false,\n altInputClass: \"form-control input\",\n animate: typeof window === \"object\" && window.navigator.userAgent.indexOf(\"MSIE\") === -1,\n ariaDateFormat: \"F j, Y\",\n clickOpens: true,\n closeOnSelect: true,\n conjunction: \", \",\n dateFormat: \"Y-m-d\",\n defaultHour: 12,\n defaultMinute: 0,\n defaultSeconds: 0,\n disable: [],\n disableMobile: false,\n enable: [],\n enableSeconds: false,\n enableTime: false,\n errorHandler: function errorHandler(err) {\n return typeof console !== \"undefined\" && console.warn(err);\n },\n getWeek: getWeek,\n hourIncrement: 1,\n ignoredFocusElements: [],\n inline: false,\n locale: \"default\",\n minuteIncrement: 5,\n mode: \"single\",\n nextArrow: \"\",\n noCalendar: false,\n now: new Date(),\n onChange: [],\n onClose: [],\n onDayCreate: [],\n onDestroy: [],\n onKeyDown: [],\n onMonthChange: [],\n onOpen: [],\n onParseConfig: [],\n onReady: [],\n onValueUpdate: [],\n onYearChange: [],\n onPreCalendarPosition: [],\n plugins: [],\n position: \"auto\",\n positionElement: undefined,\n prevArrow: \"\",\n shorthandCurrentMonth: false,\n showMonths: 1,\n static: false,\n time_24hr: false,\n weekNumbers: false,\n wrap: false\n };\n\n function toggleClass(elem, className, bool) {\n if (bool === true) return elem.classList.add(className);\n elem.classList.remove(className);\n }\n function createElement(tag, className, content) {\n var e = window.document.createElement(tag);\n className = className || \"\";\n content = content || \"\";\n e.className = className;\n if (content !== undefined) e.textContent = content;\n return e;\n }\n function clearNode(node) {\n while (node.firstChild) {\n node.removeChild(node.firstChild);\n }\n }\n function findParent(node, condition) {\n if (condition(node)) return node;else if (node.parentNode) return findParent(node.parentNode, condition);\n return undefined;\n }\n function createNumberInput(inputClassName, opts) {\n var wrapper = createElement(\"div\", \"numInputWrapper\"),\n numInput = createElement(\"input\", \"numInput \" + inputClassName),\n arrowUp = createElement(\"span\", \"arrowUp\"),\n arrowDown = createElement(\"span\", \"arrowDown\");\n numInput.type = \"text\";\n numInput.pattern = \"\\\\d*\";\n if (opts !== undefined) for (var key in opts) {\n numInput.setAttribute(key, opts[key]);\n }\n wrapper.appendChild(numInput);\n wrapper.appendChild(arrowUp);\n wrapper.appendChild(arrowDown);\n return wrapper;\n }\n\n if (typeof Object.assign !== \"function\") {\n Object.assign = function (target) {\n if (!target) {\n throw TypeError(\"Cannot convert undefined or null to object\");\n }\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var _loop = function _loop() {\n var source = args[_i];\n\n if (source) {\n Object.keys(source).forEach(function (key) {\n return target[key] = source[key];\n });\n }\n };\n\n for (var _i = 0; _i < args.length; _i++) {\n _loop();\n }\n\n return target;\n };\n }\n\n var DEBOUNCED_CHANGE_MS = 300;\n\n function FlatpickrInstance(element, instanceConfig) {\n var self = {\n config: Object.assign({}, flatpickr.defaultConfig),\n l10n: english\n };\n self.parseDate = createDateParser({\n config: self.config,\n l10n: self.l10n\n });\n self._handlers = [];\n self._bind = bind;\n self._setHoursFromDate = setHoursFromDate;\n self._positionCalendar = positionCalendar;\n self.changeMonth = changeMonth;\n self.changeYear = changeYear;\n self.clear = clear;\n self.close = close;\n self._createElement = createElement;\n self.destroy = destroy;\n self.isEnabled = isEnabled;\n self.jumpToDate = jumpToDate;\n self.open = open;\n self.redraw = redraw;\n self.set = set;\n self.setDate = setDate;\n self.toggle = toggle;\n\n function setupHelperFunctions() {\n self.utils = {\n getDaysInMonth: function getDaysInMonth(month, yr) {\n if (month === void 0) {\n month = self.currentMonth;\n }\n\n if (yr === void 0) {\n yr = self.currentYear;\n }\n\n if (month === 1 && (yr % 4 === 0 && yr % 100 !== 0 || yr % 400 === 0)) return 29;\n return self.l10n.daysInMonth[month];\n }\n };\n }\n\n function init() {\n self.element = self.input = element;\n self.isOpen = false;\n parseConfig();\n setupLocale();\n setupInputs();\n setupDates();\n setupHelperFunctions();\n if (!self.isMobile) build();\n bindEvents();\n\n if (self.selectedDates.length || self.config.noCalendar) {\n if (self.config.enableTime) {\n setHoursFromDate(self.config.noCalendar ? self.latestSelectedDateObj || self.config.minDate : undefined);\n }\n\n updateValue(false);\n }\n\n setCalendarWidth();\n self.showTimeInput = self.selectedDates.length > 0 || self.config.noCalendar;\n var isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n\n if (!self.isMobile && isSafari) {\n positionCalendar();\n }\n\n triggerEvent(\"onReady\");\n }\n\n function bindToInstance(fn) {\n return fn.bind(self);\n }\n\n function setCalendarWidth() {\n var config = self.config;\n if (config.weekNumbers === false && config.showMonths === 1) return;else if (config.noCalendar !== true) {\n window.requestAnimationFrame(function () {\n self.calendarContainer.style.visibility = \"hidden\";\n self.calendarContainer.style.display = \"block\";\n\n if (self.daysContainer !== undefined) {\n var daysWidth = (self.days.offsetWidth + 1) * config.showMonths;\n self.daysContainer.style.width = daysWidth + \"px\";\n self.calendarContainer.style.width = daysWidth + (self.weekWrapper !== undefined ? self.weekWrapper.offsetWidth : 0) + \"px\";\n self.calendarContainer.style.removeProperty(\"visibility\");\n self.calendarContainer.style.removeProperty(\"display\");\n }\n });\n }\n }\n\n function updateTime(e) {\n if (self.selectedDates.length === 0) return;\n if (e !== undefined && e.type !== \"blur\") timeWrapper(e);\n setHoursFromInputs();\n updateValue();\n\n self._debouncedChange();\n }\n\n function ampm2military(hour, amPM) {\n return hour % 12 + 12 * int(amPM === self.l10n.amPM[1]);\n }\n\n function military2ampm(hour) {\n switch (hour % 24) {\n case 0:\n case 12:\n return 12;\n\n default:\n return hour % 12;\n }\n }\n\n function setHoursFromInputs() {\n if (self.hourElement === undefined || self.minuteElement === undefined) return;\n var hours = (parseInt(self.hourElement.value.slice(-2), 10) || 0) % 24,\n minutes = (parseInt(self.minuteElement.value, 10) || 0) % 60,\n seconds = self.secondElement !== undefined ? (parseInt(self.secondElement.value, 10) || 0) % 60 : 0;\n\n if (self.amPM !== undefined) {\n hours = ampm2military(hours, self.amPM.textContent);\n }\n\n var limitMinHours = self.config.minTime !== undefined || self.config.minDate && self.minDateHasTime && self.latestSelectedDateObj && compareDates(self.latestSelectedDateObj, self.config.minDate, true) === 0;\n var limitMaxHours = self.config.maxTime !== undefined || self.config.maxDate && self.maxDateHasTime && self.latestSelectedDateObj && compareDates(self.latestSelectedDateObj, self.config.maxDate, true) === 0;\n\n if (limitMaxHours) {\n var maxTime = self.config.maxTime !== undefined ? self.config.maxTime : self.config.maxDate;\n hours = Math.min(hours, maxTime.getHours());\n if (hours === maxTime.getHours()) minutes = Math.min(minutes, maxTime.getMinutes());\n if (minutes === maxTime.getMinutes()) seconds = Math.min(seconds, maxTime.getSeconds());\n }\n\n if (limitMinHours) {\n var minTime = self.config.minTime !== undefined ? self.config.minTime : self.config.minDate;\n hours = Math.max(hours, minTime.getHours());\n if (hours === minTime.getHours()) minutes = Math.max(minutes, minTime.getMinutes());\n if (minutes === minTime.getMinutes()) seconds = Math.max(seconds, minTime.getSeconds());\n }\n\n setHours(hours, minutes, seconds);\n }\n\n function setHoursFromDate(dateObj) {\n var date = dateObj || self.latestSelectedDateObj;\n if (date) setHours(date.getHours(), date.getMinutes(), date.getSeconds());\n }\n\n function setDefaultHours() {\n var hours = self.config.defaultHour;\n var minutes = self.config.defaultMinute;\n var seconds = self.config.defaultSeconds;\n\n if (self.config.minDate !== undefined) {\n var min_hr = self.config.minDate.getHours();\n var min_minutes = self.config.minDate.getMinutes();\n hours = Math.max(hours, min_hr);\n if (hours === min_hr) minutes = Math.max(min_minutes, minutes);\n if (hours === min_hr && minutes === min_minutes) seconds = self.config.minDate.getSeconds();\n }\n\n if (self.config.maxDate !== undefined) {\n var max_hr = self.config.maxDate.getHours();\n var max_minutes = self.config.maxDate.getMinutes();\n hours = Math.min(hours, max_hr);\n if (hours === max_hr) minutes = Math.min(max_minutes, minutes);\n if (hours === max_hr && minutes === max_minutes) seconds = self.config.maxDate.getSeconds();\n }\n\n setHours(hours, minutes, seconds);\n }\n\n function setHours(hours, minutes, seconds) {\n if (self.latestSelectedDateObj !== undefined) {\n self.latestSelectedDateObj.setHours(hours % 24, minutes, seconds || 0, 0);\n }\n\n if (!self.hourElement || !self.minuteElement || self.isMobile) return;\n self.hourElement.value = pad(!self.config.time_24hr ? (12 + hours) % 12 + 12 * int(hours % 12 === 0) : hours);\n self.minuteElement.value = pad(minutes);\n if (self.amPM !== undefined) self.amPM.textContent = self.l10n.amPM[int(hours >= 12)];\n if (self.secondElement !== undefined) self.secondElement.value = pad(seconds);\n }\n\n function onYearInput(event) {\n var year = parseInt(event.target.value) + (event.delta || 0);\n\n if (year / 1000 > 1 || event.key === \"Enter\" && !/[^\\d]/.test(year.toString())) {\n changeYear(year);\n }\n }\n\n function bind(element, event, handler, options) {\n if (event instanceof Array) return event.forEach(function (ev) {\n return bind(element, ev, handler, options);\n });\n if (element instanceof Array) return element.forEach(function (el) {\n return bind(el, event, handler, options);\n });\n element.addEventListener(event, handler, options);\n\n self._handlers.push({\n element: element,\n event: event,\n handler: handler,\n options: options\n });\n }\n\n function onClick(handler) {\n return function (evt) {\n evt.which === 1 && handler(evt);\n };\n }\n\n function triggerChange() {\n triggerEvent(\"onChange\");\n }\n\n function bindEvents() {\n if (self.config.wrap) {\n [\"open\", \"close\", \"toggle\", \"clear\"].forEach(function (evt) {\n Array.prototype.forEach.call(self.element.querySelectorAll(\"[data-\" + evt + \"]\"), function (el) {\n return bind(el, \"click\", self[evt]);\n });\n });\n }\n\n if (self.isMobile) {\n setupMobile();\n return;\n }\n\n var debouncedResize = debounce(onResize, 50);\n self._debouncedChange = debounce(triggerChange, DEBOUNCED_CHANGE_MS);\n if (self.daysContainer && !/iPhone|iPad|iPod/i.test(navigator.userAgent)) bind(self.daysContainer, \"mouseover\", function (e) {\n if (self.config.mode === \"range\") onMouseOver(e.target);\n });\n bind(window.document.body, \"keydown\", onKeyDown);\n if (!self.config.static) bind(self._input, \"keydown\", onKeyDown);\n if (!self.config.inline && !self.config.static) bind(window, \"resize\", debouncedResize);\n if (window.ontouchstart !== undefined) bind(window.document, \"click\", documentClick);else bind(window.document, \"mousedown\", onClick(documentClick));\n bind(window.document, \"focus\", documentClick, {\n capture: true\n });\n\n if (self.config.clickOpens === true) {\n bind(self._input, \"focus\", self.open);\n bind(self._input, \"mousedown\", onClick(self.open));\n }\n\n if (self.daysContainer !== undefined) {\n bind(self.monthNav, \"mousedown\", onClick(onMonthNavClick));\n bind(self.monthNav, [\"keyup\", \"increment\"], onYearInput);\n bind(self.daysContainer, \"mousedown\", onClick(selectDate));\n }\n\n if (self.timeContainer !== undefined && self.minuteElement !== undefined && self.hourElement !== undefined) {\n var selText = function selText(e) {\n return e.target.select();\n };\n\n bind(self.timeContainer, [\"increment\"], updateTime);\n bind(self.timeContainer, \"blur\", updateTime, {\n capture: true\n });\n bind(self.timeContainer, \"mousedown\", onClick(timeIncrement));\n bind([self.hourElement, self.minuteElement], [\"focus\", \"click\"], selText);\n if (self.secondElement !== undefined) bind(self.secondElement, \"focus\", function () {\n return self.secondElement && self.secondElement.select();\n });\n\n if (self.amPM !== undefined) {\n bind(self.amPM, \"mousedown\", onClick(function (e) {\n updateTime(e);\n triggerChange();\n }));\n }\n }\n }\n\n function jumpToDate(jumpDate) {\n var jumpTo = jumpDate !== undefined ? self.parseDate(jumpDate) : self.latestSelectedDateObj || (self.config.minDate && self.config.minDate > self.now ? self.config.minDate : self.config.maxDate && self.config.maxDate < self.now ? self.config.maxDate : self.now);\n\n try {\n if (jumpTo !== undefined) {\n self.currentYear = jumpTo.getFullYear();\n self.currentMonth = jumpTo.getMonth();\n }\n } catch (e) {\n e.message = \"Invalid date supplied: \" + jumpTo;\n self.config.errorHandler(e);\n }\n\n self.redraw();\n }\n\n function timeIncrement(e) {\n if (~e.target.className.indexOf(\"arrow\")) incrementNumInput(e, e.target.classList.contains(\"arrowUp\") ? 1 : -1);\n }\n\n function incrementNumInput(e, delta, inputElem) {\n var target = e && e.target;\n var input = inputElem || target && target.parentNode && target.parentNode.firstChild;\n var event = createEvent(\"increment\");\n event.delta = delta;\n input && input.dispatchEvent(event);\n }\n\n function build() {\n var fragment = window.document.createDocumentFragment();\n self.calendarContainer = createElement(\"div\", \"flatpickr-calendar\");\n self.calendarContainer.tabIndex = -1;\n\n if (!self.config.noCalendar) {\n fragment.appendChild(buildMonthNav());\n self.innerContainer = createElement(\"div\", \"flatpickr-innerContainer\");\n\n if (self.config.weekNumbers) {\n var _buildWeeks = buildWeeks(),\n weekWrapper = _buildWeeks.weekWrapper,\n weekNumbers = _buildWeeks.weekNumbers;\n\n self.innerContainer.appendChild(weekWrapper);\n self.weekNumbers = weekNumbers;\n self.weekWrapper = weekWrapper;\n }\n\n self.rContainer = createElement(\"div\", \"flatpickr-rContainer\");\n self.rContainer.appendChild(buildWeekdays());\n\n if (!self.daysContainer) {\n self.daysContainer = createElement(\"div\", \"flatpickr-days\");\n self.daysContainer.tabIndex = -1;\n }\n\n buildDays();\n self.rContainer.appendChild(self.daysContainer);\n self.innerContainer.appendChild(self.rContainer);\n fragment.appendChild(self.innerContainer);\n }\n\n if (self.config.enableTime) {\n fragment.appendChild(buildTime());\n }\n\n toggleClass(self.calendarContainer, \"rangeMode\", self.config.mode === \"range\");\n toggleClass(self.calendarContainer, \"animate\", self.config.animate === true);\n toggleClass(self.calendarContainer, \"multiMonth\", self.config.showMonths > 1);\n self.calendarContainer.appendChild(fragment);\n var customAppend = self.config.appendTo !== undefined && self.config.appendTo.nodeType !== undefined;\n\n if (self.config.inline || self.config.static) {\n self.calendarContainer.classList.add(self.config.inline ? \"inline\" : \"static\");\n\n if (self.config.inline) {\n if (!customAppend && self.element.parentNode) self.element.parentNode.insertBefore(self.calendarContainer, self._input.nextSibling);else if (self.config.appendTo !== undefined) self.config.appendTo.appendChild(self.calendarContainer);\n }\n\n if (self.config.static) {\n var wrapper = createElement(\"div\", \"flatpickr-wrapper\");\n if (self.element.parentNode) self.element.parentNode.insertBefore(wrapper, self.element);\n wrapper.appendChild(self.element);\n if (self.altInput) wrapper.appendChild(self.altInput);\n wrapper.appendChild(self.calendarContainer);\n }\n }\n\n if (!self.config.static && !self.config.inline) (self.config.appendTo !== undefined ? self.config.appendTo : window.document.body).appendChild(self.calendarContainer);\n }\n\n function createDay(className, date, dayNumber, i) {\n var dateIsEnabled = isEnabled(date, true),\n dayElement = createElement(\"span\", \"flatpickr-day \" + className, date.getDate().toString());\n dayElement.dateObj = date;\n dayElement.$i = i;\n dayElement.setAttribute(\"aria-label\", self.formatDate(date, self.config.ariaDateFormat));\n\n if (className.indexOf(\"hidden\") === -1 && compareDates(date, self.now) === 0) {\n self.todayDateElem = dayElement;\n dayElement.classList.add(\"today\");\n dayElement.setAttribute(\"aria-current\", \"date\");\n }\n\n if (dateIsEnabled) {\n dayElement.tabIndex = -1;\n\n if (isDateSelected(date)) {\n dayElement.classList.add(\"selected\");\n self.selectedDateElem = dayElement;\n\n if (self.config.mode === \"range\") {\n toggleClass(dayElement, \"startRange\", self.selectedDates[0] && compareDates(date, self.selectedDates[0], true) === 0);\n toggleClass(dayElement, \"endRange\", self.selectedDates[1] && compareDates(date, self.selectedDates[1], true) === 0);\n if (className === \"nextMonthDay\") dayElement.classList.add(\"inRange\");\n }\n }\n } else {\n dayElement.classList.add(\"disabled\");\n }\n\n if (self.config.mode === \"range\") {\n if (isDateInRange(date) && !isDateSelected(date)) dayElement.classList.add(\"inRange\");\n }\n\n if (self.weekNumbers && self.config.showMonths === 1 && className !== \"prevMonthDay\" && dayNumber % 7 === 1) {\n self.weekNumbers.insertAdjacentHTML(\"beforeend\", \"\" + self.config.getWeek(date) + \"\");\n }\n\n triggerEvent(\"onDayCreate\", dayElement);\n return dayElement;\n }\n\n function focusOnDayElem(targetNode) {\n targetNode.focus();\n if (self.config.mode === \"range\") onMouseOver(targetNode);\n }\n\n function getFirstAvailableDay(delta) {\n var startMonth = delta > 0 ? 0 : self.config.showMonths - 1;\n var endMonth = delta > 0 ? self.config.showMonths : -1;\n\n for (var m = startMonth; m != endMonth; m += delta) {\n var month = self.daysContainer.children[m];\n var startIndex = delta > 0 ? 0 : month.children.length - 1;\n var endIndex = delta > 0 ? month.children.length : -1;\n\n for (var i = startIndex; i != endIndex; i += delta) {\n var c = month.children[i];\n if (c.className.indexOf(\"hidden\") === -1 && isEnabled(c.dateObj)) return c;\n }\n }\n\n return undefined;\n }\n\n function getNextAvailableDay(current, delta) {\n var givenMonth = current.className.indexOf(\"Month\") === -1 ? current.dateObj.getMonth() : self.currentMonth;\n var endMonth = delta > 0 ? self.config.showMonths : -1;\n var loopDelta = delta > 0 ? 1 : -1;\n\n for (var m = givenMonth - self.currentMonth; m != endMonth; m += loopDelta) {\n var month = self.daysContainer.children[m];\n var startIndex = givenMonth - self.currentMonth === m ? current.$i + delta : delta < 0 ? month.children.length - 1 : 0;\n var numMonthDays = month.children.length;\n\n for (var i = startIndex; i >= 0 && i < numMonthDays && i != (delta > 0 ? numMonthDays : -1); i += loopDelta) {\n var c = month.children[i];\n if (c.className.indexOf(\"hidden\") === -1 && isEnabled(c.dateObj) && Math.abs(current.$i - i) >= Math.abs(delta)) return focusOnDayElem(c);\n }\n }\n\n self.changeMonth(loopDelta);\n focusOnDay(getFirstAvailableDay(loopDelta), 0);\n return undefined;\n }\n\n function focusOnDay(current, offset) {\n var dayFocused = isInView(document.activeElement);\n var startElem = current !== undefined ? current : dayFocused ? document.activeElement : self.selectedDateElem !== undefined && isInView(self.selectedDateElem) ? self.selectedDateElem : self.todayDateElem !== undefined && isInView(self.todayDateElem) ? self.todayDateElem : getFirstAvailableDay(offset > 0 ? 1 : -1);\n if (startElem === undefined) return self._input.focus();\n if (!dayFocused) return focusOnDayElem(startElem);\n getNextAvailableDay(startElem, offset);\n }\n\n function buildMonthDays(year, month) {\n var firstOfMonth = (new Date(year, month, 1).getDay() - self.l10n.firstDayOfWeek + 7) % 7;\n var prevMonthDays = self.utils.getDaysInMonth((month - 1 + 12) % 12);\n var daysInMonth = self.utils.getDaysInMonth(month),\n days = window.document.createDocumentFragment(),\n isMultiMonth = self.config.showMonths > 1,\n prevMonthDayClass = isMultiMonth ? \"prevMonthDay hidden\" : \"prevMonthDay\",\n nextMonthDayClass = isMultiMonth ? \"nextMonthDay hidden\" : \"nextMonthDay\";\n var dayNumber = prevMonthDays + 1 - firstOfMonth,\n dayIndex = 0;\n\n for (; dayNumber <= prevMonthDays; dayNumber++, dayIndex++) {\n days.appendChild(createDay(prevMonthDayClass, new Date(year, month - 1, dayNumber), dayNumber, dayIndex));\n }\n\n for (dayNumber = 1; dayNumber <= daysInMonth; dayNumber++, dayIndex++) {\n days.appendChild(createDay(\"\", new Date(year, month, dayNumber), dayNumber, dayIndex));\n }\n\n for (var dayNum = daysInMonth + 1; dayNum <= 42 - firstOfMonth && (self.config.showMonths === 1 || dayIndex % 7 !== 0); dayNum++, dayIndex++) {\n days.appendChild(createDay(nextMonthDayClass, new Date(year, month + 1, dayNum % daysInMonth), dayNum, dayIndex));\n }\n\n var dayContainer = createElement(\"div\", \"dayContainer\");\n dayContainer.appendChild(days);\n return dayContainer;\n }\n\n function buildDays() {\n if (self.daysContainer === undefined) {\n return;\n }\n\n clearNode(self.daysContainer);\n if (self.weekNumbers) clearNode(self.weekNumbers);\n var frag = document.createDocumentFragment();\n\n for (var i = 0; i < self.config.showMonths; i++) {\n var d = new Date(self.currentYear, self.currentMonth, 1);\n d.setMonth(self.currentMonth + i);\n frag.appendChild(buildMonthDays(d.getFullYear(), d.getMonth()));\n }\n\n self.daysContainer.appendChild(frag);\n self.days = self.daysContainer.firstChild;\n }\n\n function buildMonth() {\n var container = createElement(\"div\", \"flatpickr-month\");\n var monthNavFragment = window.document.createDocumentFragment();\n var monthElement = createElement(\"span\", \"cur-month\");\n monthElement.title = self.l10n.scrollTitle;\n var yearInput = createNumberInput(\"cur-year\", {\n tabindex: \"-1\"\n });\n var yearElement = yearInput.childNodes[0];\n yearElement.title = self.l10n.scrollTitle;\n yearElement.setAttribute(\"aria-label\", self.l10n.yearAriaLabel);\n if (self.config.minDate) yearElement.setAttribute(\"data-min\", self.config.minDate.getFullYear().toString());\n\n if (self.config.maxDate) {\n yearElement.setAttribute(\"data-max\", self.config.maxDate.getFullYear().toString());\n yearElement.disabled = !!self.config.minDate && self.config.minDate.getFullYear() === self.config.maxDate.getFullYear();\n }\n\n var currentMonth = createElement(\"div\", \"flatpickr-current-month\");\n currentMonth.appendChild(monthElement);\n currentMonth.appendChild(yearInput);\n monthNavFragment.appendChild(currentMonth);\n container.appendChild(monthNavFragment);\n return {\n container: container,\n yearElement: yearElement,\n monthElement: monthElement\n };\n }\n\n function buildMonths() {\n clearNode(self.monthNav);\n self.monthNav.appendChild(self.prevMonthNav);\n\n for (var m = self.config.showMonths; m--;) {\n var month = buildMonth();\n self.yearElements.push(month.yearElement);\n self.monthElements.push(month.monthElement);\n self.monthNav.appendChild(month.container);\n }\n\n self.monthNav.appendChild(self.nextMonthNav);\n }\n\n function buildMonthNav() {\n self.monthNav = createElement(\"div\", \"flatpickr-months\");\n self.yearElements = [];\n self.monthElements = [];\n self.prevMonthNav = createElement(\"span\", \"flatpickr-prev-month\");\n self.prevMonthNav.innerHTML = self.config.prevArrow;\n self.nextMonthNav = createElement(\"span\", \"flatpickr-next-month\");\n self.nextMonthNav.innerHTML = self.config.nextArrow;\n buildMonths();\n Object.defineProperty(self, \"_hidePrevMonthArrow\", {\n get: function get() {\n return self.__hidePrevMonthArrow;\n },\n set: function set(bool) {\n if (self.__hidePrevMonthArrow !== bool) {\n toggleClass(self.prevMonthNav, \"disabled\", bool);\n self.__hidePrevMonthArrow = bool;\n }\n }\n });\n Object.defineProperty(self, \"_hideNextMonthArrow\", {\n get: function get() {\n return self.__hideNextMonthArrow;\n },\n set: function set(bool) {\n if (self.__hideNextMonthArrow !== bool) {\n toggleClass(self.nextMonthNav, \"disabled\", bool);\n self.__hideNextMonthArrow = bool;\n }\n }\n });\n self.currentYearElement = self.yearElements[0];\n updateNavigationCurrentMonth();\n return self.monthNav;\n }\n\n function buildTime() {\n self.calendarContainer.classList.add(\"hasTime\");\n if (self.config.noCalendar) self.calendarContainer.classList.add(\"noCalendar\");\n self.timeContainer = createElement(\"div\", \"flatpickr-time\");\n self.timeContainer.tabIndex = -1;\n var separator = createElement(\"span\", \"flatpickr-time-separator\", \":\");\n var hourInput = createNumberInput(\"flatpickr-hour\");\n self.hourElement = hourInput.childNodes[0];\n var minuteInput = createNumberInput(\"flatpickr-minute\");\n self.minuteElement = minuteInput.childNodes[0];\n self.hourElement.tabIndex = self.minuteElement.tabIndex = -1;\n self.hourElement.value = pad(self.latestSelectedDateObj ? self.latestSelectedDateObj.getHours() : self.config.time_24hr ? self.config.defaultHour : military2ampm(self.config.defaultHour));\n self.minuteElement.value = pad(self.latestSelectedDateObj ? self.latestSelectedDateObj.getMinutes() : self.config.defaultMinute);\n self.hourElement.setAttribute(\"data-step\", self.config.hourIncrement.toString());\n self.minuteElement.setAttribute(\"data-step\", self.config.minuteIncrement.toString());\n self.hourElement.setAttribute(\"data-min\", self.config.time_24hr ? \"0\" : \"1\");\n self.hourElement.setAttribute(\"data-max\", self.config.time_24hr ? \"23\" : \"12\");\n self.minuteElement.setAttribute(\"data-min\", \"0\");\n self.minuteElement.setAttribute(\"data-max\", \"59\");\n self.timeContainer.appendChild(hourInput);\n self.timeContainer.appendChild(separator);\n self.timeContainer.appendChild(minuteInput);\n if (self.config.time_24hr) self.timeContainer.classList.add(\"time24hr\");\n\n if (self.config.enableSeconds) {\n self.timeContainer.classList.add(\"hasSeconds\");\n var secondInput = createNumberInput(\"flatpickr-second\");\n self.secondElement = secondInput.childNodes[0];\n self.secondElement.value = pad(self.latestSelectedDateObj ? self.latestSelectedDateObj.getSeconds() : self.config.defaultSeconds);\n self.secondElement.setAttribute(\"data-step\", self.minuteElement.getAttribute(\"data-step\"));\n self.secondElement.setAttribute(\"data-min\", self.minuteElement.getAttribute(\"data-min\"));\n self.secondElement.setAttribute(\"data-max\", self.minuteElement.getAttribute(\"data-max\"));\n self.timeContainer.appendChild(createElement(\"span\", \"flatpickr-time-separator\", \":\"));\n self.timeContainer.appendChild(secondInput);\n }\n\n if (!self.config.time_24hr) {\n self.amPM = createElement(\"span\", \"flatpickr-am-pm\", self.l10n.amPM[int((self.latestSelectedDateObj ? self.hourElement.value : self.config.defaultHour) > 11)]);\n self.amPM.title = self.l10n.toggleTitle;\n self.amPM.tabIndex = -1;\n self.timeContainer.appendChild(self.amPM);\n }\n\n return self.timeContainer;\n }\n\n function buildWeekdays() {\n if (!self.weekdayContainer) self.weekdayContainer = createElement(\"div\", \"flatpickr-weekdays\");else clearNode(self.weekdayContainer);\n\n for (var i = self.config.showMonths; i--;) {\n var container = createElement(\"div\", \"flatpickr-weekdaycontainer\");\n self.weekdayContainer.appendChild(container);\n }\n\n updateWeekdays();\n return self.weekdayContainer;\n }\n\n function updateWeekdays() {\n var firstDayOfWeek = self.l10n.firstDayOfWeek;\n var weekdays = self.l10n.weekdays.shorthand.concat();\n\n if (firstDayOfWeek > 0 && firstDayOfWeek < weekdays.length) {\n weekdays = weekdays.splice(firstDayOfWeek, weekdays.length).concat(weekdays.splice(0, firstDayOfWeek));\n }\n\n for (var i = self.config.showMonths; i--;) {\n self.weekdayContainer.children[i].innerHTML = \"\\n \\n \" + weekdays.join(\"\") + \"\\n \\n \";\n }\n }\n\n function buildWeeks() {\n self.calendarContainer.classList.add(\"hasWeeks\");\n var weekWrapper = createElement(\"div\", \"flatpickr-weekwrapper\");\n weekWrapper.appendChild(createElement(\"span\", \"flatpickr-weekday\", self.l10n.weekAbbreviation));\n var weekNumbers = createElement(\"div\", \"flatpickr-weeks\");\n weekWrapper.appendChild(weekNumbers);\n return {\n weekWrapper: weekWrapper,\n weekNumbers: weekNumbers\n };\n }\n\n function changeMonth(value, is_offset) {\n if (is_offset === void 0) {\n is_offset = true;\n }\n\n var delta = is_offset ? value : value - self.currentMonth;\n if (delta < 0 && self._hidePrevMonthArrow === true || delta > 0 && self._hideNextMonthArrow === true) return;\n self.currentMonth += delta;\n\n if (self.currentMonth < 0 || self.currentMonth > 11) {\n self.currentYear += self.currentMonth > 11 ? 1 : -1;\n self.currentMonth = (self.currentMonth + 12) % 12;\n triggerEvent(\"onYearChange\");\n }\n\n buildDays();\n triggerEvent(\"onMonthChange\");\n updateNavigationCurrentMonth();\n }\n\n function clear(triggerChangeEvent) {\n if (triggerChangeEvent === void 0) {\n triggerChangeEvent = true;\n }\n\n self.input.value = \"\";\n if (self.altInput !== undefined) self.altInput.value = \"\";\n if (self.mobileInput !== undefined) self.mobileInput.value = \"\";\n self.selectedDates = [];\n self.latestSelectedDateObj = undefined;\n self.showTimeInput = false;\n\n if (self.config.enableTime === true) {\n setDefaultHours();\n }\n\n self.redraw();\n if (triggerChangeEvent) triggerEvent(\"onChange\");\n }\n\n function close() {\n self.isOpen = false;\n\n if (!self.isMobile) {\n self.calendarContainer.classList.remove(\"open\");\n\n self._input.classList.remove(\"active\");\n }\n\n triggerEvent(\"onClose\");\n }\n\n function destroy() {\n if (self.config !== undefined) triggerEvent(\"onDestroy\");\n\n for (var i = self._handlers.length; i--;) {\n var h = self._handlers[i];\n h.element.removeEventListener(h.event, h.handler, h.options);\n }\n\n self._handlers = [];\n\n if (self.mobileInput) {\n if (self.mobileInput.parentNode) self.mobileInput.parentNode.removeChild(self.mobileInput);\n self.mobileInput = undefined;\n } else if (self.calendarContainer && self.calendarContainer.parentNode) self.calendarContainer.parentNode.removeChild(self.calendarContainer);\n\n if (self.altInput) {\n self.input.type = \"text\";\n if (self.altInput.parentNode) self.altInput.parentNode.removeChild(self.altInput);\n delete self.altInput;\n }\n\n if (self.input) {\n self.input.type = self.input._type;\n self.input.classList.remove(\"flatpickr-input\");\n self.input.removeAttribute(\"readonly\");\n self.input.value = \"\";\n }\n\n [\"_showTimeInput\", \"latestSelectedDateObj\", \"_hideNextMonthArrow\", \"_hidePrevMonthArrow\", \"__hideNextMonthArrow\", \"__hidePrevMonthArrow\", \"isMobile\", \"isOpen\", \"selectedDateElem\", \"minDateHasTime\", \"maxDateHasTime\", \"days\", \"daysContainer\", \"_input\", \"_positionElement\", \"innerContainer\", \"rContainer\", \"monthNav\", \"todayDateElem\", \"calendarContainer\", \"weekdayContainer\", \"prevMonthNav\", \"nextMonthNav\", \"currentMonthElement\", \"currentYearElement\", \"navigationCurrentMonth\", \"selectedDateElem\", \"config\"].forEach(function (k) {\n try {\n delete self[k];\n } catch (_) {}\n });\n }\n\n function isCalendarElem(elem) {\n if (self.config.appendTo && self.config.appendTo.contains(elem)) return true;\n return self.calendarContainer.contains(elem);\n }\n\n function documentClick(e) {\n if (self.isOpen && !self.config.inline) {\n var isCalendarElement = isCalendarElem(e.target);\n var isInput = e.target === self.input || e.target === self.altInput || self.element.contains(e.target) || e.path && e.path.indexOf && (~e.path.indexOf(self.input) || ~e.path.indexOf(self.altInput));\n var lostFocus = e.type === \"blur\" ? isInput && e.relatedTarget && !isCalendarElem(e.relatedTarget) : !isInput && !isCalendarElement;\n var isIgnored = !self.config.ignoredFocusElements.some(function (elem) {\n return elem.contains(e.target);\n });\n\n if (lostFocus && isIgnored) {\n self.close();\n\n if (self.config.mode === \"range\" && self.selectedDates.length === 1) {\n self.clear(false);\n self.redraw();\n }\n }\n }\n }\n\n function changeYear(newYear) {\n if (!newYear || self.config.minDate && newYear < self.config.minDate.getFullYear() || self.config.maxDate && newYear > self.config.maxDate.getFullYear()) return;\n var newYearNum = newYear,\n isNewYear = self.currentYear !== newYearNum;\n self.currentYear = newYearNum || self.currentYear;\n\n if (self.config.maxDate && self.currentYear === self.config.maxDate.getFullYear()) {\n self.currentMonth = Math.min(self.config.maxDate.getMonth(), self.currentMonth);\n } else if (self.config.minDate && self.currentYear === self.config.minDate.getFullYear()) {\n self.currentMonth = Math.max(self.config.minDate.getMonth(), self.currentMonth);\n }\n\n if (isNewYear) {\n self.redraw();\n triggerEvent(\"onYearChange\");\n }\n }\n\n function isEnabled(date, timeless) {\n if (timeless === void 0) {\n timeless = true;\n }\n\n var dateToCheck = self.parseDate(date, undefined, timeless);\n if (self.config.minDate && dateToCheck && compareDates(dateToCheck, self.config.minDate, timeless !== undefined ? timeless : !self.minDateHasTime) < 0 || self.config.maxDate && dateToCheck && compareDates(dateToCheck, self.config.maxDate, timeless !== undefined ? timeless : !self.maxDateHasTime) > 0) return false;\n if (self.config.enable.length === 0 && self.config.disable.length === 0) return true;\n if (dateToCheck === undefined) return false;\n var bool = self.config.enable.length > 0,\n array = bool ? self.config.enable : self.config.disable;\n\n for (var i = 0, d; i < array.length; i++) {\n d = array[i];\n if (typeof d === \"function\" && d(dateToCheck)) return bool;else if (d instanceof Date && dateToCheck !== undefined && d.getTime() === dateToCheck.getTime()) return bool;else if (typeof d === \"string\" && dateToCheck !== undefined) {\n var parsed = self.parseDate(d, undefined, true);\n return parsed && parsed.getTime() === dateToCheck.getTime() ? bool : !bool;\n } else if (typeof d === \"object\" && dateToCheck !== undefined && d.from && d.to && dateToCheck.getTime() >= d.from.getTime() && dateToCheck.getTime() <= d.to.getTime()) return bool;\n }\n\n return !bool;\n }\n\n function isInView(elem) {\n if (self.daysContainer !== undefined) return elem.className.indexOf(\"hidden\") === -1 && self.daysContainer.contains(elem);\n return false;\n }\n\n function onKeyDown(e) {\n var isInput = e.target === self._input;\n var allowInput = self.config.allowInput;\n var allowKeydown = self.isOpen && (!allowInput || !isInput);\n var allowInlineKeydown = self.config.inline && isInput && !allowInput;\n\n if (e.keyCode === 13 && isInput) {\n if (allowInput) {\n self.setDate(self._input.value, true, e.target === self.altInput ? self.config.altFormat : self.config.dateFormat);\n return e.target.blur();\n } else self.open();\n } else if (isCalendarElem(e.target) || allowKeydown || allowInlineKeydown) {\n var isTimeObj = !!self.timeContainer && self.timeContainer.contains(e.target);\n\n switch (e.keyCode) {\n case 13:\n if (isTimeObj) updateTime();else selectDate(e);\n break;\n\n case 27:\n e.preventDefault();\n focusAndClose();\n break;\n\n case 8:\n case 46:\n if (isInput && !self.config.allowInput) {\n e.preventDefault();\n self.clear();\n }\n\n break;\n\n case 37:\n case 39:\n if (!isTimeObj) {\n e.preventDefault();\n\n if (self.daysContainer !== undefined && (allowInput === false || isInView(document.activeElement))) {\n var _delta = e.keyCode === 39 ? 1 : -1;\n\n if (!e.ctrlKey) focusOnDay(undefined, _delta);else {\n changeMonth(_delta);\n focusOnDay(getFirstAvailableDay(1), 0);\n }\n }\n } else if (self.hourElement) self.hourElement.focus();\n\n break;\n\n case 38:\n case 40:\n e.preventDefault();\n var delta = e.keyCode === 40 ? 1 : -1;\n\n if (self.daysContainer) {\n if (e.ctrlKey) {\n changeYear(self.currentYear - delta);\n focusOnDay(getFirstAvailableDay(1), 0);\n } else if (!isTimeObj) focusOnDay(undefined, delta * 7);\n } else if (self.config.enableTime) {\n if (!isTimeObj && self.hourElement) self.hourElement.focus();\n updateTime(e);\n\n self._debouncedChange();\n }\n\n break;\n\n case 9:\n if (!isTimeObj) break;\n var elems = [self.hourElement, self.minuteElement, self.secondElement, self.amPM].filter(function (x) {\n return x;\n });\n var i = elems.indexOf(e.target);\n\n if (i !== -1) {\n var target = elems[i + (e.shiftKey ? -1 : 1)];\n\n if (target !== undefined) {\n e.preventDefault();\n target.focus();\n }\n }\n\n break;\n\n default:\n break;\n }\n }\n\n if (self.amPM !== undefined && e.target === self.amPM) {\n switch (e.key) {\n case self.l10n.amPM[0].charAt(0):\n case self.l10n.amPM[0].charAt(0).toLowerCase():\n self.amPM.textContent = self.l10n.amPM[0];\n setHoursFromInputs();\n updateValue();\n break;\n\n case self.l10n.amPM[1].charAt(0):\n case self.l10n.amPM[1].charAt(0).toLowerCase():\n self.amPM.textContent = self.l10n.amPM[1];\n setHoursFromInputs();\n updateValue();\n break;\n }\n }\n\n triggerEvent(\"onKeyDown\", e);\n }\n\n function onMouseOver(elem) {\n if (self.selectedDates.length !== 1 || !elem.classList.contains(\"flatpickr-day\") || elem.classList.contains(\"disabled\")) return;\n var hoverDate = elem.dateObj.getTime(),\n initialDate = self.parseDate(self.selectedDates[0], undefined, true).getTime(),\n rangeStartDate = Math.min(hoverDate, self.selectedDates[0].getTime()),\n rangeEndDate = Math.max(hoverDate, self.selectedDates[0].getTime());\n var containsDisabled = false;\n var minRange = 0,\n maxRange = 0;\n\n for (var t = rangeStartDate; t < rangeEndDate; t += duration.DAY) {\n if (!isEnabled(new Date(t), true)) {\n containsDisabled = containsDisabled || t > rangeStartDate && t < rangeEndDate;\n if (t < initialDate && (!minRange || t > minRange)) minRange = t;else if (t > initialDate && (!maxRange || t < maxRange)) maxRange = t;\n }\n }\n\n for (var m = 0; m < self.config.showMonths; m++) {\n var month = self.daysContainer.children[m];\n var prevMonth = self.daysContainer.children[m - 1];\n\n var _loop = function _loop(i, l) {\n var dayElem = month.children[i],\n date = dayElem.dateObj;\n var timestamp = date.getTime();\n var outOfRange = minRange > 0 && timestamp < minRange || maxRange > 0 && timestamp > maxRange;\n\n if (outOfRange) {\n dayElem.classList.add(\"notAllowed\");\n [\"inRange\", \"startRange\", \"endRange\"].forEach(function (c) {\n dayElem.classList.remove(c);\n });\n return \"continue\";\n } else if (containsDisabled && !outOfRange) return \"continue\";\n\n [\"startRange\", \"inRange\", \"endRange\", \"notAllowed\"].forEach(function (c) {\n dayElem.classList.remove(c);\n });\n elem.classList.add(hoverDate < self.selectedDates[0].getTime() ? \"startRange\" : \"endRange\");\n\n if (month.contains(elem) || !(m > 0 && prevMonth && prevMonth.lastChild.dateObj.getTime() >= timestamp)) {\n if (initialDate < hoverDate && timestamp === initialDate) dayElem.classList.add(\"startRange\");else if (initialDate > hoverDate && timestamp === initialDate) dayElem.classList.add(\"endRange\");\n if (timestamp >= minRange && (maxRange === 0 || timestamp <= maxRange) && isBetween(timestamp, initialDate, hoverDate)) dayElem.classList.add(\"inRange\");\n }\n };\n\n for (var i = 0, l = month.children.length; i < l; i++) {\n var _ret = _loop(i, l);\n\n if (_ret === \"continue\") continue;\n }\n }\n }\n\n function onResize() {\n if (self.isOpen && !self.config.static && !self.config.inline) positionCalendar();\n }\n\n function open(e, positionElement) {\n if (positionElement === void 0) {\n positionElement = self._input;\n }\n\n if (self.isMobile === true) {\n if (e) {\n e.preventDefault();\n e.target && e.target.blur();\n }\n\n setTimeout(function () {\n self.mobileInput !== undefined && self.mobileInput.focus();\n }, 0);\n triggerEvent(\"onOpen\");\n return;\n }\n\n if (self._input.disabled || self.config.inline) return;\n var wasOpen = self.isOpen;\n self.isOpen = true;\n\n if (!wasOpen) {\n self.calendarContainer.classList.add(\"open\");\n\n self._input.classList.add(\"active\");\n\n triggerEvent(\"onOpen\");\n positionCalendar(positionElement);\n }\n\n if (self.config.enableTime === true && self.config.noCalendar === true) {\n if (self.selectedDates.length === 0) {\n self.setDate(self.config.minDate !== undefined ? new Date(self.config.minDate.getTime()) : new Date(), false);\n setDefaultHours();\n updateValue();\n }\n\n if (self.config.allowInput === false && (e === undefined || !self.timeContainer.contains(e.relatedTarget))) {\n setTimeout(function () {\n return self.hourElement.select();\n }, 50);\n }\n }\n }\n\n function minMaxDateSetter(type) {\n return function (date) {\n var dateObj = self.config[\"_\" + type + \"Date\"] = self.parseDate(date, self.config.dateFormat);\n var inverseDateObj = self.config[\"_\" + (type === \"min\" ? \"max\" : \"min\") + \"Date\"];\n\n if (dateObj !== undefined) {\n self[type === \"min\" ? \"minDateHasTime\" : \"maxDateHasTime\"] = dateObj.getHours() > 0 || dateObj.getMinutes() > 0 || dateObj.getSeconds() > 0;\n }\n\n if (self.selectedDates) {\n self.selectedDates = self.selectedDates.filter(function (d) {\n return isEnabled(d);\n });\n if (!self.selectedDates.length && type === \"min\") setHoursFromDate(dateObj);\n updateValue();\n }\n\n if (self.daysContainer) {\n redraw();\n if (dateObj !== undefined) self.currentYearElement[type] = dateObj.getFullYear().toString();else self.currentYearElement.removeAttribute(type);\n self.currentYearElement.disabled = !!inverseDateObj && dateObj !== undefined && inverseDateObj.getFullYear() === dateObj.getFullYear();\n }\n };\n }\n\n function parseConfig() {\n var boolOpts = [\"wrap\", \"weekNumbers\", \"allowInput\", \"clickOpens\", \"time_24hr\", \"enableTime\", \"noCalendar\", \"altInput\", \"shorthandCurrentMonth\", \"inline\", \"static\", \"enableSeconds\", \"disableMobile\"];\n var hooks = [\"onChange\", \"onClose\", \"onDayCreate\", \"onDestroy\", \"onKeyDown\", \"onMonthChange\", \"onOpen\", \"onParseConfig\", \"onReady\", \"onValueUpdate\", \"onYearChange\", \"onPreCalendarPosition\"];\n var userConfig = Object.assign({}, instanceConfig, JSON.parse(JSON.stringify(element.dataset || {})));\n var formats$$1 = {};\n self.config.parseDate = userConfig.parseDate;\n self.config.formatDate = userConfig.formatDate;\n Object.defineProperty(self.config, \"enable\", {\n get: function get() {\n return self.config._enable;\n },\n set: function set(dates) {\n self.config._enable = parseDateRules(dates);\n }\n });\n Object.defineProperty(self.config, \"disable\", {\n get: function get() {\n return self.config._disable;\n },\n set: function set(dates) {\n self.config._disable = parseDateRules(dates);\n }\n });\n var timeMode = userConfig.mode === \"time\";\n\n if (!userConfig.dateFormat && (userConfig.enableTime || timeMode)) {\n formats$$1.dateFormat = userConfig.noCalendar || timeMode ? \"H:i\" + (userConfig.enableSeconds ? \":S\" : \"\") : flatpickr.defaultConfig.dateFormat + \" H:i\" + (userConfig.enableSeconds ? \":S\" : \"\");\n }\n\n if (userConfig.altInput && (userConfig.enableTime || timeMode) && !userConfig.altFormat) {\n formats$$1.altFormat = userConfig.noCalendar || timeMode ? \"h:i\" + (userConfig.enableSeconds ? \":S K\" : \" K\") : flatpickr.defaultConfig.altFormat + (\" h:i\" + (userConfig.enableSeconds ? \":S\" : \"\") + \" K\");\n }\n\n Object.defineProperty(self.config, \"minDate\", {\n get: function get() {\n return self.config._minDate;\n },\n set: minMaxDateSetter(\"min\")\n });\n Object.defineProperty(self.config, \"maxDate\", {\n get: function get() {\n return self.config._maxDate;\n },\n set: minMaxDateSetter(\"max\")\n });\n\n var minMaxTimeSetter = function minMaxTimeSetter(type) {\n return function (val) {\n self.config[type === \"min\" ? \"_minTime\" : \"_maxTime\"] = self.parseDate(val, \"H:i\");\n };\n };\n\n Object.defineProperty(self.config, \"minTime\", {\n get: function get() {\n return self.config._minTime;\n },\n set: minMaxTimeSetter(\"min\")\n });\n Object.defineProperty(self.config, \"maxTime\", {\n get: function get() {\n return self.config._maxTime;\n },\n set: minMaxTimeSetter(\"max\")\n });\n\n if (userConfig.mode === \"time\") {\n self.config.noCalendar = true;\n self.config.enableTime = true;\n }\n\n Object.assign(self.config, formats$$1, userConfig);\n\n for (var i = 0; i < boolOpts.length; i++) {\n self.config[boolOpts[i]] = self.config[boolOpts[i]] === true || self.config[boolOpts[i]] === \"true\";\n }\n\n for (var _i = hooks.length; _i--;) {\n if (self.config[hooks[_i]] !== undefined) {\n self.config[hooks[_i]] = arrayify(self.config[hooks[_i]] || []).map(bindToInstance);\n }\n }\n\n self.isMobile = !self.config.disableMobile && !self.config.inline && self.config.mode === \"single\" && !self.config.disable.length && !self.config.enable.length && !self.config.weekNumbers && /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);\n\n for (var _i2 = 0; _i2 < self.config.plugins.length; _i2++) {\n var pluginConf = self.config.plugins[_i2](self) || {};\n\n for (var key in pluginConf) {\n if (~hooks.indexOf(key)) {\n self.config[key] = arrayify(pluginConf[key]).map(bindToInstance).concat(self.config[key]);\n } else if (typeof userConfig[key] === \"undefined\") self.config[key] = pluginConf[key];\n }\n }\n\n triggerEvent(\"onParseConfig\");\n }\n\n function setupLocale() {\n if (typeof self.config.locale !== \"object\" && typeof flatpickr.l10ns[self.config.locale] === \"undefined\") self.config.errorHandler(new Error(\"flatpickr: invalid locale \" + self.config.locale));\n self.l10n = Object.assign({}, flatpickr.l10ns.default, typeof self.config.locale === \"object\" ? self.config.locale : self.config.locale !== \"default\" ? flatpickr.l10ns[self.config.locale] : undefined);\n tokenRegex.K = \"(\" + self.l10n.amPM[0] + \"|\" + self.l10n.amPM[1] + \"|\" + self.l10n.amPM[0].toLowerCase() + \"|\" + self.l10n.amPM[1].toLowerCase() + \")\";\n self.formatDate = createDateFormatter(self);\n }\n\n function positionCalendar(customPositionElement) {\n if (self.calendarContainer === undefined) return;\n triggerEvent(\"onPreCalendarPosition\");\n var positionElement = customPositionElement || self._positionElement;\n var calendarHeight = Array.prototype.reduce.call(self.calendarContainer.children, function (acc, child) {\n return acc + child.offsetHeight;\n }, 0),\n calendarWidth = self.calendarContainer.offsetWidth,\n configPos = self.config.position.split(\" \"),\n configPosVertical = configPos[0],\n configPosHorizontal = configPos.length > 1 ? configPos[1] : null,\n inputBounds = positionElement.getBoundingClientRect(),\n distanceFromBottom = window.innerHeight - inputBounds.bottom,\n showOnTop = configPosVertical === \"above\" || configPosVertical !== \"below\" && distanceFromBottom < calendarHeight && inputBounds.top > calendarHeight;\n var top = window.pageYOffset + inputBounds.top + (!showOnTop ? positionElement.offsetHeight + 2 : -calendarHeight - 2);\n toggleClass(self.calendarContainer, \"arrowTop\", !showOnTop);\n toggleClass(self.calendarContainer, \"arrowBottom\", showOnTop);\n if (self.config.inline) return;\n var left = window.pageXOffset + inputBounds.left - (configPosHorizontal != null && configPosHorizontal === \"center\" ? (calendarWidth - inputBounds.width) / 2 : 0);\n var right = window.document.body.offsetWidth - inputBounds.right;\n var rightMost = left + calendarWidth > window.document.body.offsetWidth;\n toggleClass(self.calendarContainer, \"rightMost\", rightMost);\n if (self.config.static) return;\n self.calendarContainer.style.top = top + \"px\";\n\n if (!rightMost) {\n self.calendarContainer.style.left = left + \"px\";\n self.calendarContainer.style.right = \"auto\";\n } else {\n self.calendarContainer.style.left = \"auto\";\n self.calendarContainer.style.right = right + \"px\";\n }\n }\n\n function redraw() {\n if (self.config.noCalendar || self.isMobile) return;\n updateNavigationCurrentMonth();\n buildDays();\n }\n\n function focusAndClose() {\n self._input.focus();\n\n if (window.navigator.userAgent.indexOf(\"MSIE\") !== -1 || navigator.msMaxTouchPoints !== undefined) {\n setTimeout(self.close, 0);\n } else {\n self.close();\n }\n }\n\n function selectDate(e) {\n e.preventDefault();\n e.stopPropagation();\n\n var isSelectable = function isSelectable(day) {\n return day.classList && day.classList.contains(\"flatpickr-day\") && !day.classList.contains(\"disabled\") && !day.classList.contains(\"notAllowed\");\n };\n\n var t = findParent(e.target, isSelectable);\n if (t === undefined) return;\n var target = t;\n var selectedDate = self.latestSelectedDateObj = new Date(target.dateObj.getTime());\n var shouldChangeMonth = (selectedDate.getMonth() < self.currentMonth || selectedDate.getMonth() > self.currentMonth + self.config.showMonths - 1) && self.config.mode !== \"range\";\n self.selectedDateElem = target;\n if (self.config.mode === \"single\") self.selectedDates = [selectedDate];else if (self.config.mode === \"multiple\") {\n var selectedIndex = isDateSelected(selectedDate);\n if (selectedIndex) self.selectedDates.splice(parseInt(selectedIndex), 1);else self.selectedDates.push(selectedDate);\n } else if (self.config.mode === \"range\") {\n if (self.selectedDates.length === 2) self.clear(false);\n self.selectedDates.push(selectedDate);\n if (compareDates(selectedDate, self.selectedDates[0], true) !== 0) self.selectedDates.sort(function (a, b) {\n return a.getTime() - b.getTime();\n });\n }\n setHoursFromInputs();\n\n if (shouldChangeMonth) {\n var isNewYear = self.currentYear !== selectedDate.getFullYear();\n self.currentYear = selectedDate.getFullYear();\n self.currentMonth = selectedDate.getMonth();\n if (isNewYear) triggerEvent(\"onYearChange\");\n triggerEvent(\"onMonthChange\");\n }\n\n updateNavigationCurrentMonth();\n buildDays();\n setDefaultHours();\n updateValue();\n if (self.config.enableTime) setTimeout(function () {\n return self.showTimeInput = true;\n }, 50);\n\n if (self.config.mode === \"range\") {\n if (self.selectedDates.length === 1) {\n onMouseOver(target);\n } else updateNavigationCurrentMonth();\n }\n\n if (!shouldChangeMonth && self.config.mode !== \"range\" && self.config.showMonths === 1) focusOnDayElem(target);else self.selectedDateElem && self.selectedDateElem.focus();\n if (self.hourElement !== undefined) setTimeout(function () {\n return self.hourElement !== undefined && self.hourElement.select();\n }, 451);\n\n if (self.config.closeOnSelect) {\n var single = self.config.mode === \"single\" && !self.config.enableTime;\n var range = self.config.mode === \"range\" && self.selectedDates.length === 2 && !self.config.enableTime;\n\n if (single || range) {\n focusAndClose();\n }\n }\n\n triggerChange();\n }\n\n var CALLBACKS = {\n locale: [setupLocale, updateWeekdays],\n showMonths: [buildMonths, setCalendarWidth, buildWeekdays]\n };\n\n function set(option, value) {\n if (option !== null && typeof option === \"object\") Object.assign(self.config, option);else {\n self.config[option] = value;\n if (CALLBACKS[option] !== undefined) CALLBACKS[option].forEach(function (x) {\n return x();\n });\n }\n self.redraw();\n jumpToDate();\n }\n\n function setSelectedDate(inputDate, format) {\n var dates = [];\n if (inputDate instanceof Array) dates = inputDate.map(function (d) {\n return self.parseDate(d, format);\n });else if (inputDate instanceof Date || typeof inputDate === \"number\") dates = [self.parseDate(inputDate, format)];else if (typeof inputDate === \"string\") {\n switch (self.config.mode) {\n case \"single\":\n case \"time\":\n dates = [self.parseDate(inputDate, format)];\n break;\n\n case \"multiple\":\n dates = inputDate.split(self.config.conjunction).map(function (date) {\n return self.parseDate(date, format);\n });\n break;\n\n case \"range\":\n dates = inputDate.split(self.l10n.rangeSeparator).map(function (date) {\n return self.parseDate(date, format);\n });\n break;\n\n default:\n break;\n }\n } else self.config.errorHandler(new Error(\"Invalid date supplied: \" + JSON.stringify(inputDate)));\n self.selectedDates = dates.filter(function (d) {\n return d instanceof Date && isEnabled(d, false);\n });\n if (self.config.mode === \"range\") self.selectedDates.sort(function (a, b) {\n return a.getTime() - b.getTime();\n });\n }\n\n function setDate(date, triggerChange, format) {\n if (triggerChange === void 0) {\n triggerChange = false;\n }\n\n if (format === void 0) {\n format = self.config.dateFormat;\n }\n\n if (date !== 0 && !date || date instanceof Array && date.length === 0) return self.clear(triggerChange);\n setSelectedDate(date, format);\n self.showTimeInput = self.selectedDates.length > 0;\n self.latestSelectedDateObj = self.selectedDates[0];\n self.redraw();\n jumpToDate();\n setHoursFromDate();\n updateValue(triggerChange);\n if (triggerChange) triggerEvent(\"onChange\");\n }\n\n function parseDateRules(arr) {\n return arr.slice().map(function (rule) {\n if (typeof rule === \"string\" || typeof rule === \"number\" || rule instanceof Date) {\n return self.parseDate(rule, undefined, true);\n } else if (rule && typeof rule === \"object\" && rule.from && rule.to) return {\n from: self.parseDate(rule.from, undefined),\n to: self.parseDate(rule.to, undefined)\n };\n\n return rule;\n }).filter(function (x) {\n return x;\n });\n }\n\n function setupDates() {\n self.selectedDates = [];\n self.now = self.parseDate(self.config.now) || new Date();\n var preloadedDate = self.config.defaultDate || (self.input.placeholder.length > 0 && self.input.value === self.input.placeholder ? null : self.input.value);\n if (preloadedDate) setSelectedDate(preloadedDate, self.config.dateFormat);\n var initialDate = self.selectedDates.length > 0 ? self.selectedDates[0] : self.config.minDate && self.config.minDate.getTime() > self.now.getTime() ? self.config.minDate : self.config.maxDate && self.config.maxDate.getTime() < self.now.getTime() ? self.config.maxDate : self.now;\n self.currentYear = initialDate.getFullYear();\n self.currentMonth = initialDate.getMonth();\n if (self.selectedDates.length > 0) self.latestSelectedDateObj = self.selectedDates[0];\n if (self.config.minTime !== undefined) self.config.minTime = self.parseDate(self.config.minTime, \"H:i\");\n if (self.config.maxTime !== undefined) self.config.maxTime = self.parseDate(self.config.maxTime, \"H:i\");\n self.minDateHasTime = !!self.config.minDate && (self.config.minDate.getHours() > 0 || self.config.minDate.getMinutes() > 0 || self.config.minDate.getSeconds() > 0);\n self.maxDateHasTime = !!self.config.maxDate && (self.config.maxDate.getHours() > 0 || self.config.maxDate.getMinutes() > 0 || self.config.maxDate.getSeconds() > 0);\n Object.defineProperty(self, \"showTimeInput\", {\n get: function get() {\n return self._showTimeInput;\n },\n set: function set(bool) {\n self._showTimeInput = bool;\n if (self.calendarContainer) toggleClass(self.calendarContainer, \"showTimeInput\", bool);\n self.isOpen && positionCalendar();\n }\n });\n }\n\n function setupInputs() {\n self.input = self.config.wrap ? element.querySelector(\"[data-input]\") : element;\n\n if (!self.input) {\n self.config.errorHandler(new Error(\"Invalid input element specified\"));\n return;\n }\n\n self.input._type = self.input.type;\n self.input.type = \"text\";\n self.input.classList.add(\"flatpickr-input\");\n self._input = self.input;\n\n if (self.config.altInput) {\n self.altInput = createElement(self.input.nodeName, self.input.className + \" \" + self.config.altInputClass);\n self._input = self.altInput;\n self.altInput.placeholder = self.input.placeholder;\n self.altInput.disabled = self.input.disabled;\n self.altInput.required = self.input.required;\n self.altInput.tabIndex = self.input.tabIndex;\n self.altInput.type = \"text\";\n self.input.setAttribute(\"type\", \"hidden\");\n if (!self.config.static && self.input.parentNode) self.input.parentNode.insertBefore(self.altInput, self.input.nextSibling);\n }\n\n if (!self.config.allowInput) self._input.setAttribute(\"readonly\", \"readonly\");\n self._positionElement = self.config.positionElement || self._input;\n }\n\n function setupMobile() {\n var inputType = self.config.enableTime ? self.config.noCalendar ? \"time\" : \"datetime-local\" : \"date\";\n self.mobileInput = createElement(\"input\", self.input.className + \" flatpickr-mobile\");\n self.mobileInput.step = self.input.getAttribute(\"step\") || \"any\";\n self.mobileInput.tabIndex = 1;\n self.mobileInput.type = inputType;\n self.mobileInput.disabled = self.input.disabled;\n self.mobileInput.required = self.input.required;\n self.mobileInput.placeholder = self.input.placeholder;\n self.mobileFormatStr = inputType === \"datetime-local\" ? \"Y-m-d\\\\TH:i:S\" : inputType === \"date\" ? \"Y-m-d\" : \"H:i:S\";\n\n if (self.selectedDates.length > 0) {\n self.mobileInput.defaultValue = self.mobileInput.value = self.formatDate(self.selectedDates[0], self.mobileFormatStr);\n }\n\n if (self.config.minDate) self.mobileInput.min = self.formatDate(self.config.minDate, \"Y-m-d\");\n if (self.config.maxDate) self.mobileInput.max = self.formatDate(self.config.maxDate, \"Y-m-d\");\n self.input.type = \"hidden\";\n if (self.altInput !== undefined) self.altInput.type = \"hidden\";\n\n try {\n if (self.input.parentNode) self.input.parentNode.insertBefore(self.mobileInput, self.input.nextSibling);\n } catch (_a) {}\n\n bind(self.mobileInput, \"change\", function (e) {\n self.setDate(e.target.value, false, self.mobileFormatStr);\n triggerEvent(\"onChange\");\n triggerEvent(\"onClose\");\n });\n }\n\n function toggle(e) {\n if (self.isOpen === true) return self.close();\n self.open(e);\n }\n\n function triggerEvent(event, data) {\n var hooks = self.config[event];\n\n if (hooks !== undefined && hooks.length > 0) {\n for (var i = 0; hooks[i] && i < hooks.length; i++) {\n hooks[i](self.selectedDates, self.input.value, self, data);\n }\n }\n\n if (event === \"onChange\") {\n self.input.dispatchEvent(createEvent(\"change\"));\n self.input.dispatchEvent(createEvent(\"input\"));\n }\n }\n\n function createEvent(name) {\n var e = document.createEvent(\"Event\");\n e.initEvent(name, true, true);\n return e;\n }\n\n function isDateSelected(date) {\n for (var i = 0; i < self.selectedDates.length; i++) {\n if (compareDates(self.selectedDates[i], date) === 0) return \"\" + i;\n }\n\n return false;\n }\n\n function isDateInRange(date) {\n if (self.config.mode !== \"range\" || self.selectedDates.length < 2) return false;\n return compareDates(date, self.selectedDates[0]) >= 0 && compareDates(date, self.selectedDates[1]) <= 0;\n }\n\n function updateNavigationCurrentMonth() {\n if (self.config.noCalendar || self.isMobile || !self.monthNav) return;\n self.yearElements.forEach(function (yearElement, i) {\n var d = new Date(self.currentYear, self.currentMonth, 1);\n d.setMonth(self.currentMonth + i);\n self.monthElements[i].textContent = monthToStr(d.getMonth(), self.config.shorthandCurrentMonth, self.l10n) + \" \";\n yearElement.value = d.getFullYear().toString();\n });\n self._hidePrevMonthArrow = self.config.minDate !== undefined && (self.currentYear === self.config.minDate.getFullYear() ? self.currentMonth <= self.config.minDate.getMonth() : self.currentYear < self.config.minDate.getFullYear());\n self._hideNextMonthArrow = self.config.maxDate !== undefined && (self.currentYear === self.config.maxDate.getFullYear() ? self.currentMonth + 1 > self.config.maxDate.getMonth() : self.currentYear > self.config.maxDate.getFullYear());\n }\n\n function updateValue(triggerChange) {\n if (triggerChange === void 0) {\n triggerChange = true;\n }\n\n if (self.selectedDates.length === 0) return self.clear(triggerChange);\n\n if (self.mobileInput !== undefined && self.mobileFormatStr) {\n self.mobileInput.value = self.latestSelectedDateObj !== undefined ? self.formatDate(self.latestSelectedDateObj, self.mobileFormatStr) : \"\";\n }\n\n var joinChar = self.config.mode !== \"range\" ? self.config.conjunction : self.l10n.rangeSeparator;\n self.input.value = self.selectedDates.map(function (dObj) {\n return self.formatDate(dObj, self.config.dateFormat);\n }).join(joinChar);\n\n if (self.altInput !== undefined) {\n self.altInput.value = self.selectedDates.map(function (dObj) {\n return self.formatDate(dObj, self.config.altFormat);\n }).join(joinChar);\n }\n\n if (triggerChange !== false) triggerEvent(\"onValueUpdate\");\n }\n\n function onMonthNavClick(e) {\n e.preventDefault();\n var isPrevMonth = self.prevMonthNav.contains(e.target);\n var isNextMonth = self.nextMonthNav.contains(e.target);\n\n if (isPrevMonth || isNextMonth) {\n changeMonth(isPrevMonth ? -1 : 1);\n } else if (self.yearElements.indexOf(e.target) >= 0) {\n e.target.select();\n } else if (e.target.classList.contains(\"arrowUp\")) {\n self.changeYear(self.currentYear + 1);\n } else if (e.target.classList.contains(\"arrowDown\")) {\n self.changeYear(self.currentYear - 1);\n }\n }\n\n function timeWrapper(e) {\n e.preventDefault();\n var isKeyDown = e.type === \"keydown\",\n input = e.target;\n\n if (self.amPM !== undefined && e.target === self.amPM) {\n self.amPM.textContent = self.l10n.amPM[int(self.amPM.textContent === self.l10n.amPM[0])];\n }\n\n var min = parseFloat(input.getAttribute(\"data-min\")),\n max = parseFloat(input.getAttribute(\"data-max\")),\n step = parseFloat(input.getAttribute(\"data-step\")),\n curValue = parseInt(input.value, 10),\n delta = e.delta || (isKeyDown ? e.which === 38 ? 1 : -1 : 0);\n var newValue = curValue + step * delta;\n\n if (typeof input.value !== \"undefined\" && input.value.length === 2) {\n var isHourElem = input === self.hourElement,\n isMinuteElem = input === self.minuteElement;\n\n if (newValue < min) {\n newValue = max + newValue + int(!isHourElem) + (int(isHourElem) && int(!self.amPM));\n if (isMinuteElem) incrementNumInput(undefined, -1, self.hourElement);\n } else if (newValue > max) {\n newValue = input === self.hourElement ? newValue - max - int(!self.amPM) : min;\n if (isMinuteElem) incrementNumInput(undefined, 1, self.hourElement);\n }\n\n if (self.amPM && isHourElem && (step === 1 ? newValue + curValue === 23 : Math.abs(newValue - curValue) > step)) {\n self.amPM.textContent = self.l10n.amPM[int(self.amPM.textContent === self.l10n.amPM[0])];\n }\n\n input.value = pad(newValue);\n }\n }\n\n init();\n return self;\n }\n\n function _flatpickr(nodeList, config) {\n var nodes = Array.prototype.slice.call(nodeList);\n var instances = [];\n\n for (var i = 0; i < nodes.length; i++) {\n var node = nodes[i];\n\n try {\n if (node.getAttribute(\"data-fp-omit\") !== null) continue;\n\n if (node._flatpickr !== undefined) {\n node._flatpickr.destroy();\n\n node._flatpickr = undefined;\n }\n\n node._flatpickr = FlatpickrInstance(node, config || {});\n instances.push(node._flatpickr);\n } catch (e) {\n console.error(e);\n }\n }\n\n return instances.length === 1 ? instances[0] : instances;\n }\n\n if (typeof HTMLElement !== \"undefined\") {\n HTMLCollection.prototype.flatpickr = NodeList.prototype.flatpickr = function (config) {\n return _flatpickr(this, config);\n };\n\n HTMLElement.prototype.flatpickr = function (config) {\n return _flatpickr([this], config);\n };\n }\n\n var flatpickr = function flatpickr(selector, config) {\n if (selector instanceof NodeList) return _flatpickr(selector, config);else if (typeof selector === \"string\") return _flatpickr(window.document.querySelectorAll(selector), config);\n return _flatpickr([selector], config);\n };\n\n flatpickr.defaultConfig = defaults;\n flatpickr.l10ns = {\n en: Object.assign({}, english),\n default: Object.assign({}, english)\n };\n\n flatpickr.localize = function (l10n) {\n flatpickr.l10ns.default = Object.assign({}, flatpickr.l10ns.default, l10n);\n };\n\n flatpickr.setDefaults = function (config) {\n flatpickr.defaultConfig = Object.assign({}, flatpickr.defaultConfig, config);\n };\n\n flatpickr.parseDate = createDateParser({});\n flatpickr.formatDate = createDateFormatter({});\n flatpickr.compareDates = compareDates;\n\n if (typeof jQuery !== \"undefined\") {\n jQuery.fn.flatpickr = function (config) {\n return _flatpickr(this, config);\n };\n }\n\n Date.prototype.fp_incr = function (days) {\n return new Date(this.getFullYear(), this.getMonth(), this.getDate() + (typeof days === \"string\" ? parseInt(days, 10) : days));\n };\n\n if (typeof window !== \"undefined\") {\n window.flatpickr = flatpickr;\n }\n\n return flatpickr;\n\n})));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/flatpickr/dist/flatpickr.js\n// module id = 123\n// module chunks = 0","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-calendar/src/calendar.html\n// module id = 124\n// module chunks = 0","import \"flatpickr/dist/l10n/cs.js\";\nimport \"flatpickr/dist/l10n/de.js\";\nimport \"flatpickr/dist/l10n/es.js\";\nimport \"flatpickr/dist/l10n/fi.js\";\nimport \"flatpickr/dist/l10n/fr.js\";\nimport \"flatpickr/dist/l10n/it.js\";\nimport \"flatpickr/dist/l10n/lt.js\";\nimport \"flatpickr/dist/l10n/nl.js\";\nimport \"flatpickr/dist/l10n/pl.js\";\nimport \"flatpickr/dist/l10n/pt.js\";\nimport \"flatpickr/dist/l10n/sk.js\";\nimport { merge } from \"lodash\";\n\nexport default class {\n constructor () {\n this.locale = \"en\";\n this.options = {\n altInputClass: \"oui-calendar__control_alt\",\n allowInput: false,\n dateFormat: \"Y-m-d\",\n disableMobile: true,\n maxDate: null,\n minDate: null,\n mode: \"single\",\n nextArrow: '',\n prevArrow: '',\n showMonths: 1\n };\n }\n\n /**\n * Set the locale of the flatpickr calendar\n * @param {String} locale the locale of the calendar (ISO 639-1)\n */\n setLocale (locale) {\n this.locale = locale;\n return this;\n }\n\n /**\n * Set the options of the flatpickr calendar\n * @param {Object} options the configuration of the calendar\n */\n setOptions (options) {\n this.options = merge(this.options, options);\n return this;\n }\n\n $get () {\n return angular.copy({\n locale: this.locale,\n options: this.options\n });\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-calendar/src/calendar.provider.js","var Stack = require('./_Stack'),\n assignMergeValue = require('./_assignMergeValue'),\n baseFor = require('./_baseFor'),\n baseMergeDeep = require('./_baseMergeDeep'),\n isObject = require('./isObject'),\n keysIn = require('./keysIn'),\n safeGet = require('./_safeGet');\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n if (isObject(srcValue)) {\n stack || (stack = new Stack);\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n}\n\nmodule.exports = baseMerge;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseMerge.js\n// module id = 126\n// module chunks = 0","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_listCacheClear.js\n// module id = 127\n// module chunks = 0","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_listCacheDelete.js\n// module id = 128\n// module chunks = 0","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_listCacheGet.js\n// module id = 129\n// module chunks = 0","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_listCacheHas.js\n// module id = 130\n// module chunks = 0","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_listCacheSet.js\n// module id = 131\n// module chunks = 0","var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_defineProperty.js\n// module id = 132\n// module chunks = 0","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_getNative.js\n// module id = 133\n// module chunks = 0","var createBaseFor = require('./_createBaseFor');\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseFor.js\n// module id = 134\n// module chunks = 0","/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_createBaseFor.js\n// module id = 135\n// module chunks = 0","var assignMergeValue = require('./_assignMergeValue'),\n cloneBuffer = require('./_cloneBuffer'),\n cloneTypedArray = require('./_cloneTypedArray'),\n copyArray = require('./_copyArray'),\n initCloneObject = require('./_initCloneObject'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isArrayLikeObject = require('./isArrayLikeObject'),\n isBuffer = require('./isBuffer'),\n isFunction = require('./isFunction'),\n isObject = require('./isObject'),\n isPlainObject = require('./isPlainObject'),\n isTypedArray = require('./isTypedArray'),\n safeGet = require('./_safeGet'),\n toPlainObject = require('./toPlainObject');\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || (srcIndex && isFunction(objValue))) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\n\nmodule.exports = baseMergeDeep;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseMergeDeep.js\n// module id = 136\n// module chunks = 0","var root = require('./_root');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nmodule.exports = cloneBuffer;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_cloneBuffer.js\n// module id = 137\n// module chunks = 0","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nmodule.exports = cloneTypedArray;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_cloneTypedArray.js\n// module id = 138\n// module chunks = 0","var Uint8Array = require('./_Uint8Array');\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nmodule.exports = cloneArrayBuffer;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_cloneArrayBuffer.js\n// module id = 139\n// module chunks = 0","var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_Uint8Array.js\n// module id = 140\n// module chunks = 0","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = copyArray;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_copyArray.js\n// module id = 141\n// module chunks = 0","var baseCreate = require('./_baseCreate'),\n getPrototype = require('./_getPrototype'),\n isPrototype = require('./_isPrototype');\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nmodule.exports = initCloneObject;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_initCloneObject.js\n// module id = 142\n// module chunks = 0","var isObject = require('./isObject');\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nmodule.exports = baseCreate;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseCreate.js\n// module id = 143\n// module chunks = 0","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_isPrototype.js\n// module id = 144\n// module chunks = 0","var isArrayLike = require('./isArrayLike'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\nmodule.exports = isArrayLikeObject;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/isArrayLikeObject.js\n// module id = 145\n// module chunks = 0","var baseGetTag = require('./_baseGetTag'),\n getPrototype = require('./_getPrototype'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nmodule.exports = isPlainObject;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/isPlainObject.js\n// module id = 146\n// module chunks = 0","var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\n\nmodule.exports = toPlainObject;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/toPlainObject.js\n// module id = 147\n// module chunks = 0","var assignValue = require('./_assignValue'),\n baseAssignValue = require('./_baseAssignValue');\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nmodule.exports = copyObject;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_copyObject.js\n// module id = 148\n// module chunks = 0","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_assignValue.js\n// module id = 149\n// module chunks = 0","var baseRest = require('./_baseRest'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\nmodule.exports = createAssigner;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_createAssigner.js\n// module id = 150\n// module chunks = 0","var identity = require('./identity'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nmodule.exports = baseRest;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseRest.js\n// module id = 151\n// module chunks = 0","var apply = require('./_apply');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nmodule.exports = overRest;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_overRest.js\n// module id = 152\n// module chunks = 0","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nmodule.exports = apply;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_apply.js\n// module id = 153\n// module chunks = 0","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_setToString.js\n// module id = 154\n// module chunks = 0","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_isIterateeCall.js\n// module id = 155\n// module chunks = 0","/* flatpickr v4.5.0, @license MIT */\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (factory((global.cs = {})));\n}(this, (function (exports) { 'use strict';\n\n var fp = typeof window !== \"undefined\" && window.flatpickr !== undefined ? window.flatpickr : {\n l10ns: {}\n };\n var Czech = {\n weekdays: {\n shorthand: [\"Ne\", \"Po\", \"Út\", \"St\", \"Čt\", \"Pá\", \"So\"],\n longhand: [\"Neděle\", \"Pondělí\", \"Úterý\", \"Středa\", \"Čtvrtek\", \"Pátek\", \"Sobota\"]\n },\n months: {\n shorthand: [\"Led\", \"Ún\", \"Bře\", \"Dub\", \"Kvě\", \"Čer\", \"Čvc\", \"Srp\", \"Zář\", \"Říj\", \"Lis\", \"Pro\"],\n longhand: [\"Leden\", \"Únor\", \"Březen\", \"Duben\", \"Květen\", \"Červen\", \"Červenec\", \"Srpen\", \"Září\", \"Říjen\", \"Listopad\", \"Prosinec\"]\n },\n firstDayOfWeek: 1,\n ordinal: function ordinal() {\n return \".\";\n },\n rangeSeparator: \" do \",\n weekAbbreviation: \"Týd.\",\n scrollTitle: \"Rolujte pro změnu\",\n toggleTitle: \"Přepnout dopoledne/odpoledne\",\n amPM: [\"dop.\", \"odp.\"],\n yearAriaLabel: \"Rok\"\n };\n fp.l10ns.cs = Czech;\n var cs = fp.l10ns;\n\n exports.Czech = Czech;\n exports.default = cs;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/flatpickr/dist/l10n/cs.js\n// module id = 156\n// module chunks = 0","/* flatpickr v4.5.0, @license MIT */\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (factory((global.de = {})));\n}(this, (function (exports) { 'use strict';\n\n var fp = typeof window !== \"undefined\" && window.flatpickr !== undefined ? window.flatpickr : {\n l10ns: {}\n };\n var German = {\n weekdays: {\n shorthand: [\"So\", \"Mo\", \"Di\", \"Mi\", \"Do\", \"Fr\", \"Sa\"],\n longhand: [\"Sonntag\", \"Montag\", \"Dienstag\", \"Mittwoch\", \"Donnerstag\", \"Freitag\", \"Samstag\"]\n },\n months: {\n shorthand: [\"Jan\", \"Feb\", \"Mär\", \"Apr\", \"Mai\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Okt\", \"Nov\", \"Dez\"],\n longhand: [\"Januar\", \"Februar\", \"März\", \"April\", \"Mai\", \"Juni\", \"Juli\", \"August\", \"September\", \"Oktober\", \"November\", \"Dezember\"]\n },\n firstDayOfWeek: 1,\n weekAbbreviation: \"KW\",\n rangeSeparator: \" bis \",\n scrollTitle: \"Zum Ändern scrollen\",\n toggleTitle: \"Zum Umschalten klicken\"\n };\n fp.l10ns.de = German;\n var de = fp.l10ns;\n\n exports.German = German;\n exports.default = de;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/flatpickr/dist/l10n/de.js\n// module id = 157\n// module chunks = 0","/* flatpickr v4.5.0, @license MIT */\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (factory((global.es = {})));\n}(this, (function (exports) { 'use strict';\n\n var fp = typeof window !== \"undefined\" && window.flatpickr !== undefined ? window.flatpickr : {\n l10ns: {}\n };\n var Spanish = {\n weekdays: {\n shorthand: [\"Dom\", \"Lun\", \"Mar\", \"Mié\", \"Jue\", \"Vie\", \"Sáb\"],\n longhand: [\"Domingo\", \"Lunes\", \"Martes\", \"Miércoles\", \"Jueves\", \"Viernes\", \"Sábado\"]\n },\n months: {\n shorthand: [\"Ene\", \"Feb\", \"Mar\", \"Abr\", \"May\", \"Jun\", \"Jul\", \"Ago\", \"Sep\", \"Oct\", \"Nov\", \"Dic\"],\n longhand: [\"Enero\", \"Febrero\", \"Marzo\", \"Abril\", \"Mayo\", \"Junio\", \"Julio\", \"Agosto\", \"Septiembre\", \"Octubre\", \"Noviembre\", \"Diciembre\"]\n },\n ordinal: function ordinal() {\n return \"º\";\n },\n firstDayOfWeek: 1,\n rangeSeparator: \" a \"\n };\n fp.l10ns.es = Spanish;\n var es = fp.l10ns;\n\n exports.Spanish = Spanish;\n exports.default = es;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/flatpickr/dist/l10n/es.js\n// module id = 158\n// module chunks = 0","/* flatpickr v4.5.0, @license MIT */\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (factory((global.fi = {})));\n}(this, (function (exports) { 'use strict';\n\n var fp = typeof window !== \"undefined\" && window.flatpickr !== undefined ? window.flatpickr : {\n l10ns: {}\n };\n var Finnish = {\n firstDayOfWeek: 1,\n weekdays: {\n shorthand: [\"Su\", \"Ma\", \"Ti\", \"Ke\", \"To\", \"Pe\", \"La\"],\n longhand: [\"Sunnuntai\", \"Maanantai\", \"Tiistai\", \"Keskiviikko\", \"Torstai\", \"Perjantai\", \"Lauantai\"]\n },\n months: {\n shorthand: [\"Tammi\", \"Helmi\", \"Maalis\", \"Huhti\", \"Touko\", \"Kesä\", \"Heinä\", \"Elo\", \"Syys\", \"Loka\", \"Marras\", \"Joulu\"],\n longhand: [\"Tammikuu\", \"Helmikuu\", \"Maaliskuu\", \"Huhtikuu\", \"Toukokuu\", \"Kesäkuu\", \"Heinäkuu\", \"Elokuu\", \"Syyskuu\", \"Lokakuu\", \"Marraskuu\", \"Joulukuu\"]\n },\n ordinal: function ordinal() {\n return \".\";\n }\n };\n fp.l10ns.fi = Finnish;\n var fi = fp.l10ns;\n\n exports.Finnish = Finnish;\n exports.default = fi;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/flatpickr/dist/l10n/fi.js\n// module id = 159\n// module chunks = 0","/* flatpickr v4.5.0, @license MIT */\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (factory((global.fr = {})));\n}(this, (function (exports) { 'use strict';\n\n var fp = typeof window !== \"undefined\" && window.flatpickr !== undefined ? window.flatpickr : {\n l10ns: {}\n };\n var French = {\n firstDayOfWeek: 1,\n weekdays: {\n shorthand: [\"dim\", \"lun\", \"mar\", \"mer\", \"jeu\", \"ven\", \"sam\"],\n longhand: [\"dimanche\", \"lundi\", \"mardi\", \"mercredi\", \"jeudi\", \"vendredi\", \"samedi\"]\n },\n months: {\n shorthand: [\"janv\", \"févr\", \"mars\", \"avr\", \"mai\", \"juin\", \"juil\", \"août\", \"sept\", \"oct\", \"nov\", \"déc\"],\n longhand: [\"janvier\", \"février\", \"mars\", \"avril\", \"mai\", \"juin\", \"juillet\", \"août\", \"septembre\", \"octobre\", \"novembre\", \"décembre\"]\n },\n ordinal: function ordinal(nth) {\n if (nth > 1) return \"\";\n return \"er\";\n },\n rangeSeparator: \" au \",\n weekAbbreviation: \"Sem\",\n scrollTitle: \"Défiler pour augmenter la valeur\",\n toggleTitle: \"Cliquer pour basculer\"\n };\n fp.l10ns.fr = French;\n var fr = fp.l10ns;\n\n exports.French = French;\n exports.default = fr;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/flatpickr/dist/l10n/fr.js\n// module id = 160\n// module chunks = 0","/* flatpickr v4.5.0, @license MIT */\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (factory((global.it = {})));\n}(this, (function (exports) { 'use strict';\n\n var fp = typeof window !== \"undefined\" && window.flatpickr !== undefined ? window.flatpickr : {\n l10ns: {}\n };\n var Italian = {\n weekdays: {\n shorthand: [\"Dom\", \"Lun\", \"Mar\", \"Mer\", \"Gio\", \"Ven\", \"Sab\"],\n longhand: [\"Domenica\", \"Lunedì\", \"Martedì\", \"Mercoledì\", \"Giovedì\", \"Venerdì\", \"Sabato\"]\n },\n months: {\n shorthand: [\"Gen\", \"Feb\", \"Mar\", \"Apr\", \"Mag\", \"Giu\", \"Lug\", \"Ago\", \"Set\", \"Ott\", \"Nov\", \"Dic\"],\n longhand: [\"Gennaio\", \"Febbraio\", \"Marzo\", \"Aprile\", \"Maggio\", \"Giugno\", \"Luglio\", \"Agosto\", \"Settembre\", \"Ottobre\", \"Novembre\", \"Dicembre\"]\n },\n firstDayOfWeek: 1,\n ordinal: function ordinal() {\n return \"°\";\n },\n rangeSeparator: \" al \",\n weekAbbreviation: \"Se\",\n scrollTitle: \"Scrolla per aumentare\",\n toggleTitle: \"Clicca per cambiare\"\n };\n fp.l10ns.it = Italian;\n var it = fp.l10ns;\n\n exports.Italian = Italian;\n exports.default = it;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/flatpickr/dist/l10n/it.js\n// module id = 161\n// module chunks = 0","/* flatpickr v4.5.0, @license MIT */\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (factory((global.lt = {})));\n}(this, (function (exports) { 'use strict';\n\n var fp = typeof window !== \"undefined\" && window.flatpickr !== undefined ? window.flatpickr : {\n l10ns: {}\n };\n var Lithuanian = {\n weekdays: {\n shorthand: [\"S\", \"Pr\", \"A\", \"T\", \"K\", \"Pn\", \"Š\"],\n longhand: [\"Sekmadienis\", \"Pirmadienis\", \"Antradienis\", \"Trečiadienis\", \"Ketvirtadienis\", \"Penktadienis\", \"Šeštadienis\"]\n },\n months: {\n shorthand: [\"Sau\", \"Vas\", \"Kov\", \"Bal\", \"Geg\", \"Bir\", \"Lie\", \"Rgp\", \"Rgs\", \"Spl\", \"Lap\", \"Grd\"],\n longhand: [\"Sausis\", \"Vasaris\", \"Kovas\", \"Balandis\", \"Gegužė\", \"Birželis\", \"Liepa\", \"Rugpjūtis\", \"Rugsėjis\", \"Spalis\", \"Lapkritis\", \"Gruodis\"]\n },\n firstDayOfWeek: 1,\n ordinal: function ordinal() {\n return \"-a\";\n },\n weekAbbreviation: \"Sav\",\n scrollTitle: \"Keisti laiką pelės rateliu\",\n toggleTitle: \"Perjungti laiko formatą\"\n };\n fp.l10ns.lt = Lithuanian;\n var lt = fp.l10ns;\n\n exports.Lithuanian = Lithuanian;\n exports.default = lt;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/flatpickr/dist/l10n/lt.js\n// module id = 162\n// module chunks = 0","/* flatpickr v4.5.0, @license MIT */\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (factory((global.nl = {})));\n}(this, (function (exports) { 'use strict';\n\n var fp = typeof window !== \"undefined\" && window.flatpickr !== undefined ? window.flatpickr : {\n l10ns: {}\n };\n var Dutch = {\n weekdays: {\n shorthand: [\"zo\", \"ma\", \"di\", \"wo\", \"do\", \"vr\", \"za\"],\n longhand: [\"zondag\", \"maandag\", \"dinsdag\", \"woensdag\", \"donderdag\", \"vrijdag\", \"zaterdag\"]\n },\n months: {\n shorthand: [\"jan\", \"feb\", \"mrt\", \"apr\", \"mei\", \"jun\", \"jul\", \"aug\", \"sept\", \"okt\", \"nov\", \"dec\"],\n longhand: [\"januari\", \"februari\", \"maart\", \"april\", \"mei\", \"juni\", \"juli\", \"augustus\", \"september\", \"oktober\", \"november\", \"december\"]\n },\n firstDayOfWeek: 1,\n weekAbbreviation: \"wk\",\n rangeSeparator: \" tot \",\n scrollTitle: \"Scroll voor volgende / vorige\",\n toggleTitle: \"Klik om te wisselen\",\n ordinal: function ordinal(nth) {\n if (nth === 1 || nth === 8 || nth >= 20) return \"ste\";\n return \"de\";\n }\n };\n fp.l10ns.nl = Dutch;\n var nl = fp.l10ns;\n\n exports.Dutch = Dutch;\n exports.default = nl;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/flatpickr/dist/l10n/nl.js\n// module id = 163\n// module chunks = 0","/* flatpickr v4.5.0, @license MIT */\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (factory((global.pl = {})));\n}(this, (function (exports) { 'use strict';\n\n var fp = typeof window !== \"undefined\" && window.flatpickr !== undefined ? window.flatpickr : {\n l10ns: {}\n };\n var Polish = {\n weekdays: {\n shorthand: [\"Nd\", \"Pn\", \"Wt\", \"Śr\", \"Cz\", \"Pt\", \"So\"],\n longhand: [\"Niedziela\", \"Poniedziałek\", \"Wtorek\", \"Środa\", \"Czwartek\", \"Piątek\", \"Sobota\"]\n },\n months: {\n shorthand: [\"Sty\", \"Lut\", \"Mar\", \"Kwi\", \"Maj\", \"Cze\", \"Lip\", \"Sie\", \"Wrz\", \"Paź\", \"Lis\", \"Gru\"],\n longhand: [\"Styczeń\", \"Luty\", \"Marzec\", \"Kwiecień\", \"Maj\", \"Czerwiec\", \"Lipiec\", \"Sierpień\", \"Wrzesień\", \"Październik\", \"Listopad\", \"Grudzień\"]\n },\n rangeSeparator: \" do \",\n weekAbbreviation: \"tydz.\",\n scrollTitle: \"Przwiń aby zwiększyć\",\n toggleTitle: \"Kliknij aby przełączyć\",\n firstDayOfWeek: 1,\n ordinal: function ordinal() {\n return \".\";\n }\n };\n fp.l10ns.pl = Polish;\n var pl = fp.l10ns;\n\n exports.Polish = Polish;\n exports.default = pl;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/flatpickr/dist/l10n/pl.js\n// module id = 164\n// module chunks = 0","/* flatpickr v4.5.0, @license MIT */\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (factory((global.pt = {})));\n}(this, (function (exports) { 'use strict';\n\n var fp = typeof window !== \"undefined\" && window.flatpickr !== undefined ? window.flatpickr : {\n l10ns: {}\n };\n var Portuguese = {\n weekdays: {\n shorthand: [\"Dom\", \"Seg\", \"Ter\", \"Qua\", \"Qui\", \"Sex\", \"Sáb\"],\n longhand: [\"Domingo\", \"Segunda-feira\", \"Terça-feira\", \"Quarta-feira\", \"Quinta-feira\", \"Sexta-feira\", \"Sábado\"]\n },\n months: {\n shorthand: [\"Jan\", \"Fev\", \"Mar\", \"Abr\", \"Mai\", \"Jun\", \"Jul\", \"Ago\", \"Set\", \"Out\", \"Nov\", \"Dez\"],\n longhand: [\"Janeiro\", \"Fevereiro\", \"Março\", \"Abril\", \"Maio\", \"Junho\", \"Julho\", \"Agosto\", \"Setembro\", \"Outubro\", \"Novembro\", \"Dezembro\"]\n },\n rangeSeparator: \" até \"\n };\n fp.l10ns.pt = Portuguese;\n var pt = fp.l10ns;\n\n exports.Portuguese = Portuguese;\n exports.default = pt;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/flatpickr/dist/l10n/pt.js\n// module id = 165\n// module chunks = 0","/* flatpickr v4.5.0, @license MIT */\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (factory((global.sk = {})));\n}(this, (function (exports) { 'use strict';\n\n var fp = typeof window !== \"undefined\" && window.flatpickr !== undefined ? window.flatpickr : {\n l10ns: {}\n };\n var Slovak = {\n weekdays: {\n shorthand: [\"Ned\", \"Pon\", \"Ut\", \"Str\", \"Štv\", \"Pia\", \"Sob\"],\n longhand: [\"Nedeľa\", \"Pondelok\", \"Utorok\", \"Streda\", \"Štvrtok\", \"Piatok\", \"Sobota\"]\n },\n months: {\n shorthand: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"Máj\", \"Jún\", \"Júl\", \"Aug\", \"Sep\", \"Okt\", \"Nov\", \"Dec\"],\n longhand: [\"Január\", \"Február\", \"Marec\", \"Apríl\", \"Máj\", \"Jún\", \"Júl\", \"August\", \"September\", \"Október\", \"November\", \"December\"]\n },\n firstDayOfWeek: 1,\n rangeSeparator: \" do \",\n ordinal: function ordinal() {\n return \".\";\n }\n };\n fp.l10ns.sk = Slovak;\n var sk = fp.l10ns;\n\n exports.Slovak = Slovak;\n exports.default = sk;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/flatpickr/dist/l10n/sk.js\n// module id = 166\n// module chunks = 0","import Checkbox from \"./checkbox.component.js\";\n\nangular.module(\"oui.checkbox\", []).component(\"ouiCheckbox\", Checkbox);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-checkbox/src/index.js","import controller from \"./checkbox.controller\";\nimport template from \"./checkbox.html\";\n\nexport default {\n template,\n controller,\n bindings: {\n text: \"@\",\n description: \"@?\",\n id: \"@?\",\n name: \"@?\",\n model: \"=?\",\n onChange: \"&?\",\n disabled: \"\n this.$element\n .removeAttr(\"id\")\n .removeAttr(\"name\")\n );\n\n this.checkboxElement = this.$element.find(\"input\");\n\n // $watch is required because there is no other way\n // to be notified when the value has changed from the\n // outside\n this.$scope.$watch(\"$ctrl.model\", (newValue) =>\n this._updateIndeterminateState(newValue)\n );\n }\n\n $onInit () {\n addBooleanParameter(this, \"disabled\");\n addBooleanParameter(this, \"required\");\n addDefaultParameter(this, \"id\", `ouiCheckbox${this.$scope.$id}`);\n }\n\n _updateIndeterminateState (model) {\n this.checkboxElement.prop(\"indeterminate\", model === null);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-checkbox/src/checkbox.controller.js","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-checkbox/src/checkbox.html\n// module id = 170\n// module chunks = 0","import Collapsible from \"./collapsible.component.js\";\n\nangular.module(\"oui.collapsible\", [])\n .component(\"ouiCollapsible\", Collapsible);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-collapsible/src/index.js","import controller from \"./collapsible.controller.js\";\nimport template from \"./collapsible.html\";\n\nexport default {\n template,\n controller,\n bindings: {\n id: \"@\",\n heading: \"@\",\n ariaLabel: \"@?\",\n expanded: \" body.offsetHeight, (newHeight, oldHeight) => {\n if (newHeight !== oldHeight) {\n this.wrapperHeight = `${newHeight}px`;\n }\n });\n }\n\n $postLink () {\n this.$timeout(() =>\n this.$element\n .addClass(\"oui-collapsible\")\n .removeAttr(\"aria-label\")\n );\n\n // Apply on resize for new body height\n angular.element(this.$window)\n .on(\"resize\", () => this.$scope.$apply());\n }\n\n toggle () {\n this.expanded = !this.expanded;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-collapsible/src/collapsible.controller.js","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-collapsible/src/collapsible.html\n// module id = 174\n// module chunks = 0","import controller from \"./radio.controller\";\nimport template from \"./radio.html\";\n\nexport default {\n require: {\n radioGroup: \"?^ouiRadioGroup\",\n radioToggleGroup: \"?^ouiRadioToggleGroup\"\n },\n template,\n controller,\n bindings: {\n text: \"@\",\n value: \"<\",\n description: \"@?\",\n id: \"@?\",\n name: \"@?\",\n model: \"=?\",\n onChange: \"&?\",\n disabled: \"\n this.$element\n .removeAttr(\"id\")\n .removeAttr(\"name\")\n );\n }\n\n $onInit () {\n addBooleanParameter(this, \"disabled\");\n addBooleanParameter(this, \"thumbnail\");\n addBooleanParameter(this, \"required\");\n addDefaultParameter(this, \"id\", `ouiRadio${this.$scope.$id}`);\n\n this.$element.addClass(this.radioToggleGroup ? \"oui-radio-toggle\" : \"oui-radio\");\n if (this.thumbnail && !this.radioToggleGroup) {\n this.$element.addClass(\"oui-radio_thumbnail\");\n }\n\n this.group = this.radioGroup || this.radioToggleGroup;\n if (this.group) {\n this.name = this.group.name;\n this.$scope.$watch(\"$ctrl.group.model\", (value) => {\n this.model = value;\n });\n } else {\n addDefaultParameter(this, \"name\", this.id);\n }\n }\n\n onRadioModelChange (event) {\n if (this.group) {\n this.group.setModelValue(event.modelValue);\n }\n\n if (this.onChange) {\n this.$timeout(() => this.onChange(event));\n }\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-radio/src/radio.controller.js","module.exports = \" \";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-radio/src/radio.html\n// module id = 177\n// module chunks = 0","import Message from \"./message.component.js\";\n\nangular.module(\"oui.message\", []).component(\"ouiMessage\", Message);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-message/src/index.js","import controller from \"./message.controller\";\nimport template from \"./message.html\";\n\nexport default {\n template,\n controller,\n bindings: {\n type: \"@\",\n ariaCloseButtonLabel: \"@?\",\n dismissable: \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-message/src/message.html\n// module id = 181\n// module chunks = 0","import Spinner from \"./spinner.component.js\";\n\nangular.module(\"oui.spinner\", []).component(\"ouiSpinner\", Spinner);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-spinner/src/index.js","import controller from \"./spinner.controller\";\nimport template from \"./spinner.html\";\n\nexport default {\n template,\n controller,\n bindings: {\n size: \"@?\"\n }\n};\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-spinner/src/spinner.component.js","export default class {\n constructor ($element) {\n \"ngInject\";\n\n this.$element = $element;\n }\n\n $onInit () {\n this.size = this.size || \"m\";\n }\n\n $postLink () {\n // Add Classnames on root element\n this.$element.addClass(`oui-spinner oui-spinner_${this.size}`);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-spinner/src/spinner.controller.js","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-spinner/src/spinner.html\n// module id = 185\n// module chunks = 0","import BackButton from \"./back-button.component.js\";\n\nangular.module(\"oui.back-button\", []).component(\"ouiBackButton\", BackButton);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-back-button/src/index.js","import controller from \"./back-button.controller\";\nimport template from \"./back-button.html\";\n\nexport default {\n template,\n controller,\n bindings: {\n id: \"@?\",\n name: \"@?\",\n ariaLabel: \"@?\",\n heading: \"@?\",\n title: \"@?\", // Deprecated: Replaced by 'heading'\n onClick: \"&?\",\n href: \"@?\"\n }\n};\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-back-button/src/back-button.component.js","export default class {\n constructor ($attrs, $element, $timeout, $window) {\n \"ngInject\";\n\n this.$attrs = $attrs;\n this.$element = $element;\n this.$timeout = $timeout;\n this.$window = $window;\n }\n\n $onInit () {\n // Deprecated: Support for 'title' attribute\n if (!!this.$attrs.title && !this.$attrs.heading) {\n this.heading = this.title;\n }\n }\n\n $postLink () {\n\n this.$element.addClass(\"oui-back-button\");\n\n // Sometimes the digest cycle is done before dom manipulation,\n // So we use $timeout to force the $apply\n this.$timeout(() =>\n this.$element\n .removeAttr(\"aria-label\")\n .removeAttr(\"id\")\n .removeAttr(\"name\")\n );\n }\n\n onBtnClick () {\n if (angular.isFunction(this.onClick)) {\n this.onClick();\n } else if (!this.href) {\n this.$window.history.back();\n }\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-back-button/src/back-button.controller.js","module.exports = \"

\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-back-button/src/back-button.html\n// module id = 189\n// module chunks = 0","import Dropdown from \"./dropdown.component.js\";\nimport DropdownContent from \"./content/dropdown-content.directive.js\";\nimport DropdownDivider from \"./divider/dropdown-divider.component.js\";\nimport DropdownGroup from \"./group/dropdown-group.component.js\";\nimport DropdownItem from \"./item/dropdown-item.component.js\";\nimport DropdownTrigger from \"./trigger/dropdown-trigger.directive.js\";\n\nexport default angular\n .module(\"oui.dropdown\", [])\n .component(\"ouiDropdown\", Dropdown)\n .directive(\"ouiDropdownContent\", DropdownContent)\n .component(\"ouiDropdownDivider\", DropdownDivider)\n .component(\"ouiDropdownGroup\", DropdownGroup)\n .component(\"ouiDropdownItem\", DropdownItem)\n .directive(\"ouiDropdownTrigger\", DropdownTrigger)\n .name;\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-dropdown/src/index.js","import controller from \"./dropdown.controller\";\n\nexport default {\n controller,\n bindings: {\n align: \"@?\",\n arrow: \" {\n if ((evt && evt.type === \"click\") &&\n (!evt.target || !evt.target.getAttribute || evt.target.getAttribute(\"type\") !== \"submit\") &&\n (this.triggerElement.contains(evt.target) ||\n (this.persistent && this.popperElement.contains(evt.target)))) {\n return;\n }\n this.triggerElement.focus();\n this.$scope.$apply(() => this.closeDropdown());\n };\n\n // Handle espace key press\n this.triggerKeyHandler = evt => {\n if (evt &&\n evt.type === \"keydown\" &&\n evt.which === KEY_ESCAPE) {\n this.$scope.$apply(() => {\n this.closeDropdown();\n });\n }\n };\n\n this.triggerBlurHandler = evt => {\n // Disable blur management if dropdown is persitent.\n if (this.persistent) {\n return;\n }\n\n if (evt.relatedTarget && !this.$element[0].contains(evt.relatedTarget)) {\n // Sometime Angular is already in a digest loop here.\n // Let's delay dropdown closing after that instead of $applying again.\n this.$timeout(() => this.closeDropdown());\n }\n\n // This part allows to press tab and keeps dropdown open\n // as long as focused element is in the dropdown.\n if (this.currentFocusedElement) {\n angular.element(this.currentFocusedElement).off(\"blur\", this.triggerBlurHandler);\n }\n angular.element(evt.relatedTarget).on(\"blur\", this.triggerBlurHandler);\n this.currentFocusedElement = evt.relatedTarget;\n };\n }\n\n $postLink () {\n this.$timeout(() =>\n this.$element\n .addClass(\"oui-dropdown\")\n );\n }\n\n $onDestroy () {\n this.destroyPopper();\n }\n\n setDropdownTrigger (trigger, ctrl) {\n this.triggerElement = trigger;\n this.triggerCtrl = ctrl;\n }\n\n setDropdownMenu (menu, arrow) {\n this.popperElement = menu;\n this.arrowElement = arrow;\n }\n\n // Handle click, space key press and enter key press\n onTriggerClick () {\n this.toggle();\n }\n\n toggle () {\n if (!this.isDropdownOpen) {\n this.openDropdown();\n } else {\n this.closeDropdown();\n }\n }\n\n openDropdown () {\n // Don't use ng-class here, it could cause issue on positionning.\n this.isDropdownOpen = true;\n this.updatePopper();\n\n this.$document.on(\"click\", this.documentClickHandler);\n\n // Update trigger\n if (this.triggerCtrl.afterOpen) {\n this.triggerCtrl.afterOpen();\n }\n }\n\n closeDropdown () {\n // Don't use ng-class here, it could cause issue on positionning.\n this.isDropdownOpen = false;\n this.destroyPopper();\n\n this.$document.off(\"click\", this.documentClickHandler);\n\n // Update trigger\n if (this.triggerCtrl.afterClose) {\n this.triggerCtrl.afterClose();\n }\n }\n\n createPopper () {\n let placement = \"bottom\";\n\n if ([\"start\", \"end\"].indexOf(this.align) >= 0) {\n placement += `-${this.align}`;\n }\n\n // Let Popper.js manage the arrow position when it's centered (default).\n if (this.arrowElement && placement === \"bottom\") {\n this.arrowElement.setAttribute(\"x-arrow\", \"\");\n }\n\n this.popperElement.style.minWidth = `${this.getTriggerWidth()}px`;\n\n this.popper = new Popper(this.triggerElement, this.popperElement, {\n placement,\n modifiers: {\n preventOverflow: {\n boundariesElement: this.$document[0].body\n }\n }\n });\n }\n\n updatePopper () {\n if (!this.popper) {\n this.createPopper();\n }\n\n this.popper.scheduleUpdate();\n }\n\n destroyPopper () {\n if (!this.popper) {\n return;\n }\n\n this.popper.destroy();\n this.popper = null;\n }\n\n getTriggerWidth () {\n const MINWIDTH = 140;\n return Math.max(this.triggerElement.offsetWidth, MINWIDTH);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-dropdown/src/dropdown.controller.js","const dropdownContentClass = \"oui-dropdown-menu\";\nconst arrowDropdownContentModifierClass = \"oui-dropdown-menu_arrow\";\nconst arrowDropdownContentClass = \"oui-dropdown-menu__arrow\";\n\nexport default () => {\n \"ngInject\";\n\n return {\n restrict: \"AE\",\n require: \"^ouiDropdown\",\n scope: {},\n link: (scope, element, attrs, ctrl) => {\n element\n .addClass(dropdownContentClass)\n .attr(\"aria-labelledby\", ctrl.id)\n .attr(\"role\", \"menu\");\n\n if (ctrl.arrow) {\n element.addClass(arrowDropdownContentModifierClass);\n element.prepend(`
`);\n }\n\n // Set menu and arrow to the parent component\n ctrl.setDropdownMenu(element[0], element[0].querySelector(`.${arrowDropdownContentClass}`));\n }\n };\n};\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-dropdown/src/content/dropdown-content.directive.js","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-dropdown/src/group/dropdown-group.html\n// module id = 194\n// module chunks = 0","import { addBooleanParameter } from \"@oui-angular/common/component-utils\";\n\nexport default class {\n constructor ($attrs, $element, $timeout) {\n \"ngInject\";\n\n this.$attrs = $attrs;\n this.$element = $element;\n this.$timeout = $timeout;\n }\n\n $onInit () {\n addBooleanParameter(this, \"external\");\n addBooleanParameter(this, \"disabled\");\n addBooleanParameter(this, \"sticky\");\n\n if (this.external) {\n this.linkTarget = \"_blank\";\n this.linkRel = \"noopener\";\n }\n }\n\n $postLink () {\n this.$timeout(() => {\n this.$element\n .addClass(\"oui-dropdown-menu__item\")\n .removeAttr(\"aria-label\");\n\n if (this.sticky) {\n this.$element\n .addClass(\"oui-dropdown-menu__item_sticky\");\n }\n });\n }\n\n // Return value of \"ui-sref\"\n getFullSref () {\n return `${this.state}(${JSON.stringify(this.stateParams)})`;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-dropdown/src/item/dropdown-item.controller.js","var core = require('../../modules/_core');\nvar $JSON = core.JSON || (core.JSON = { stringify: JSON.stringify });\nmodule.exports = function stringify(it) { // eslint-disable-line no-unused-vars\n return $JSON.stringify.apply($JSON, arguments);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/json/stringify.js\n// module id = 196\n// module chunks = 0","module.exports = \" \";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-dropdown/src/item/dropdown-item.html\n// module id = 197\n// module chunks = 0","import controller from \"./dropdown-trigger.controller\";\n\nexport default () => ({\n restrict: \"AE\",\n require: {\n dropdown: \"^ouiDropdown\"\n },\n controller,\n controllerAs: \"$dropdownTriggerCtrl\",\n bindToController: {\n text: \"@\",\n ariaLabel: \"@?\",\n disabled: \" {\n if (!this.dropdown.text) {\n this.$element.removeAttr(\"aria-label\");\n }\n\n if (this.$element[0].tagName.toLowerCase() === \"oui-dropdown-trigger\") {\n this.$compile(template)(this.$scope, (clone) => {\n this.$element.replaceWith(clone);\n this.$trigger = clone;\n });\n } else {\n // Update custom $element\n this.$element\n .addClass(\"oui-dropdown__trigger\")\n .attr({\n id: this.dropdown.id,\n \"aria-haspopup\": true,\n \"aria-expanded\": false\n })\n .on(\"click\", () => !this.disabled && this.dropdown.onTriggerClick())\n .on(\"blur\", evt => this.dropdown.triggerBlurHandler(evt));\n\n this.$trigger = this.$element;\n }\n\n // Set the trigger to the parent component\n this.dropdown.setDropdownTrigger(this.$trigger[0], this);\n });\n }\n\n $onDestroy () {\n this.$element.off(\"click\");\n this.$element.off(\"blur\");\n this.$element.off(\"keydown\");\n }\n\n afterOpen () {\n this.$trigger.attr(\"aria-expanded\", true);\n this.$trigger[0].focus();\n this.$trigger.on(\"keydown\", evt => this.dropdown.triggerKeyHandler(evt));\n }\n\n afterClose () {\n this.$trigger.attr(\"aria-expanded\", false);\n this.$trigger.off(\"keydown\");\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-dropdown/src/trigger/dropdown-trigger.controller.js","module.exports = \" \";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-dropdown/src/trigger/dropdown-trigger.html\n// module id = 200\n// module chunks = 0","import ActionMenu from \"./action-menu.component.js\";\nimport DropdownDivider from \"../../oui-dropdown/src/divider/dropdown-divider.component\";\nimport DropdownItem from \"../../oui-dropdown/src/item/dropdown-item.component\";\n\nangular.module(\"oui.action-menu\", [])\n .component(\"ouiActionMenu\", ActionMenu)\n .component(\"ouiActionMenuDivider\", DropdownDivider)\n .component(\"ouiActionMenuItem\", DropdownItem);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-action-menu/src/index.js","import controller from \"./action-menu.controller.js\";\nimport template from \"./action-menu.html\";\n\nexport default {\n template,\n controller,\n bindings: {\n text: \"@\",\n align: \"@?\",\n ariaLabel: \"@?\",\n compact: \"\n this.$element\n .removeAttr(\"aria-label\")\n );\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-action-menu/src/action-menu.controller.js","module.exports = \" \";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-action-menu/src/action-menu.html\n// module id = 204\n// module chunks = 0","import Tooltip from \"./tooltip.directive\";\n\nangular.module(\"oui.tooltip\", [])\n .directive(\"ouiTooltip\", Tooltip);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-tooltip/src/index.js","import controller from \"./tooltip.controller\";\n\nexport default () => ({\n restrict: \"A\",\n bindToController: {\n text: \"@ouiTooltip\",\n placement: \"@?ouiTooltipPlacement\" // values: top|top-start|top-end|bottom|bottom-start|bottom-end (default: top)\n },\n controller,\n controllerAs: \"$tooltipCtrl\"\n});\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-tooltip/src/tooltip.directive.js","import Popper from \"popper.js\";\nimport template from \"./tooltip.html\";\n\nexport default class {\n constructor ($compile, $element, $scope, $timeout) {\n \"ngInject\";\n\n this.$compile = $compile;\n this.$element = $element;\n this.$scope = $scope;\n this.$timeout = $timeout;\n }\n\n $onInit () {\n // Add default value for attribute 'placement'\n if (angular.isUndefined(this.placement)) {\n this.placement = \"top\";\n }\n }\n\n $postLink () {\n this.$timeout(() => {\n // Add an attribute 'aria-label' if undefined\n if (!this.$element.attr(\"aria-label\")) {\n this.$element.attr(\"aria-label\", this.text);\n }\n\n // Create a new scope to compile the tooltip next to the trigger\n const tooltipScope = angular.extend(this.$scope.$new(true), { $tooltipCtrl: this });\n const tooltipTemplate = this.$compile(template)(tooltipScope);\n\n this.$element\n .addClass(\"oui-tooltip__trigger\") // Add classname for 'focus' and 'hover' CSS events\n .one(\"focus mouseenter\", () => this.createPopper()) // One time bind to create the popper helper\n .after(tooltipTemplate); // Add compiled template after $element\n });\n }\n\n createPopper () {\n const trigger = this.$element[0];\n const tooltip = this.$element.next()[0];\n\n // Let Popper.js position the tooltip\n this.popper = new Popper(trigger, tooltip, {\n placement: this.placement\n });\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-tooltip/src/tooltip.controller.js","module.exports = \" \";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-tooltip/src/tooltip.html\n// module id = 208\n// module chunks = 0","import Numeric from \"./numeric.component.js\";\n\nangular.module(\"oui.numeric\", []).component(\"ouiNumeric\", Numeric);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-numeric/src/index.js","import controller from \"./numeric.controller\";\nimport template from \"./numeric.html\";\n\nexport default {\n template,\n controller,\n bindings: {\n id: \"@?\",\n name: \"@?\",\n model: \"=\",\n min: \"\n this.$element\n .removeAttr(\"id\")\n .removeAttr(\"name\")\n );\n }\n\n $onInit () {\n if (!this.id) {\n this.$log.warn(\"Missing required attribute id\");\n }\n\n if (!angular.isNumber(this.min)) {\n if (angular.isDefined(this.min)) {\n this.$log.warn(`Invalid attribute min, expected number got '${this.min}'`);\n }\n this.min = MIN_VALUE;\n }\n\n if (!angular.isNumber(this.max)) {\n if (angular.isDefined(this.max)) {\n this.$log.warn(`Invalid attribute max, expected number got '${this.max}'`);\n }\n this.max = MAX_VALUE;\n }\n\n if (!angular.isNumber(this.model)) {\n if (angular.isDefined(this.model)) {\n this.$log.warn(`Invalid attribute model, expected number got '${this.model}'`);\n }\n\n // if model is undefined, initialize it with min value\n this.setModelValue(this.min);\n }\n\n if (this.min < MIN_VALUE) {\n this.$log.warn(`Invalid attribute min, value should be greater than '${MIN_VALUE}'`);\n }\n\n if (this.max > MAX_VALUE) {\n this.$log.warn(`Invalid attribute max, value should be lower than '${MAX_VALUE}'`);\n }\n\n if (angular.isDefined(this.$attrs.disabled) && angular.isUndefined(this.disabled)) {\n this.disabled = true;\n }\n\n this.min = clamp(this.min, MIN_VALUE, MAX_VALUE);\n this.max = clamp(this.max, this.min, MAX_VALUE);\n\n // used to trigger only onChange when necessary and\n // reset input if invalid characters are used\n this.previousValue = this.model;\n }\n\n setModelValue (value) {\n // updates model and displayed value\n this.model = value;\n\n // only trigger onChange if model value changed\n if (this.previousValue !== this.model && angular.isFunction(this.onChange)) {\n this.onChange({\n modelValue: this.model\n });\n }\n\n this.previousValue = this.model;\n }\n\n increment () {\n if (angular.isNumber(this.model)) {\n this.setModelValue(this.model + 1);\n } else {\n this.setModelValue(this.min);\n }\n }\n\n decrement () {\n if (angular.isNumber(this.model)) {\n this.setModelValue(this.model - 1);\n } else {\n this.setModelValue(this.min);\n }\n }\n\n onInputChanged () {\n // if user clears input, set value to lower bound\n if (this.model === null) {\n this.setModelValue(this.min);\n\n // if user input is not valid, ignore it and reset to previous value\n } else if (!angular.isNumber(this.model) ||\n this.model < this.min ||\n this.model > this.max) {\n this.model = this.previousValue;\n } else {\n this.setModelValue(this.model);\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-numeric/src/numeric.controller.js","var baseClamp = require('./_baseClamp'),\n toNumber = require('./toNumber');\n\n/**\n * Clamps `number` within the inclusive `lower` and `upper` bounds.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Number\n * @param {number} number The number to clamp.\n * @param {number} [lower] The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the clamped number.\n * @example\n *\n * _.clamp(-10, -5, 5);\n * // => -5\n *\n * _.clamp(10, -5, 5);\n * // => 5\n */\nfunction clamp(number, lower, upper) {\n if (upper === undefined) {\n upper = lower;\n lower = undefined;\n }\n if (upper !== undefined) {\n upper = toNumber(upper);\n upper = upper === upper ? upper : 0;\n }\n if (lower !== undefined) {\n lower = toNumber(lower);\n lower = lower === lower ? lower : 0;\n }\n return baseClamp(toNumber(number), lower, upper);\n}\n\nmodule.exports = clamp;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/clamp.js\n// module id = 212\n// module chunks = 0","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-numeric/src/numeric.html\n// module id = 213\n// module chunks = 0","import Pagination from \"./pagination.component\";\nimport PaginationConfigurationProvider from \"./pagination.provider\";\n\nangular.module(\"oui.pagination\", [])\n .component(\"ouiPagination\", Pagination)\n .provider(\"ouiPaginationConfiguration\", PaginationConfigurationProvider);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-pagination/src/index.js","import controller from \"./pagination.controller\";\nimport template from \"./pagination.html\";\n\nexport default {\n template,\n bindings: {\n currentOffset: \"<\",\n pageSize: \" a - b);\n\n if (angular.isNumber(this.pageSizeMax)) {\n this.pageSizeList = this.pageSizeList\n .filter(pageSize => pageSize <= this.pageSizeMax);\n\n // ... and add the max page size if necessary.\n if (this.pageSizeList.indexOf(this.pageSizeMax) < 0) {\n this.pageSizeList.push(this.pageSizeMax);\n }\n }\n }\n\n // Instead of recalculate these values on each digest,\n // values are calculated on each change concerning the table.\n // It avoids digest problems in ng-repeat.\n this.processPaginationChange();\n\n this.processTranslations();\n }\n\n processPaginationChange () {\n this.pageCount = this.getPageCount();\n this.pageRange = this.getPageRange();\n this.currentPage = this.getCurrentPage();\n }\n\n processTranslations () {\n this.translations = Object.assign({}, this.config.translations);\n this.translations.ofNResults = this.translations.ofNResults\n .replace(\"{{totalItems}}\", this.totalItems);\n this.translations.currentPageOfPageCount = this.translations.currentPageOfPageCount\n .replace(\"{{currentPage}}\", this.currentPage)\n .replace(\"{{pageCount}}\", this.pageCount);\n }\n\n getPageAriaLabel (page) {\n const pageOfPageCountText = this.config.translations.currentPageOfPageCount;\n return pageOfPageCountText\n .replace(\"{{currentPage}}\", page)\n .replace(\"{{pageCount}}\", this.pageCount);\n }\n\n onPageSizeChange (pageSize) {\n this.pageSize = pageSize;\n this.currentOffset = 1;\n\n // If page-size attribute is not set on the component (default value),\n // $onChanges is never triggered and other values are not calculated.\n // So these values have to be calculated here.\n if (!this.$attrs.pageSize) {\n this.processPaginationChange();\n }\n\n this._onChange();\n }\n\n onPageChange (page) {\n this.currentOffset = (this.pageSize * (page - 1)) + 1;\n this._onChange();\n }\n\n getLastItemOffset () {\n return Math.min(this.currentOffset + this.pageSize - 1, this.totalItems);\n }\n\n getPageCount () {\n return Math.ceil(this.totalItems / this.pageSize);\n }\n\n getCurrentPage () {\n return Math.floor((this.currentOffset - 1) / this.pageSize) + 1;\n }\n\n getPageRange () {\n return Array(...{ length: this.getPageCount() })\n .map((item, index) => index + 1);\n }\n\n _onChange () {\n this.onChange({\n $event: {\n offset: this.currentOffset,\n pageSize: this.pageSize\n }\n });\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-pagination/src/pagination.controller.js","require('../../modules/es6.string.iterator');\nrequire('../../modules/es6.array.from');\nmodule.exports = require('../../modules/_core').Array.from;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/array/from.js\n// module id = 217\n// module chunks = 0","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_string-at.js\n// module id = 218\n// module chunks = 0","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iter-create.js\n// module id = 219\n// module chunks = 0","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-dps.js\n// module id = 220\n// module chunks = 0","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_array-includes.js\n// module id = 221\n// module chunks = 0","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-absolute-index.js\n// module id = 222\n// module chunks = 0","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_html.js\n// module id = 223\n// module chunks = 0","'use strict';\nvar ctx = require('./_ctx');\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar toLength = require('./_to-length');\nvar createProperty = require('./_create-property');\nvar getIterFn = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function (iter) { Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iterFn = getIterFn(O);\n var length, result, step, iterator;\n if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for (result = new C(length); length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.array.from.js\n// module id = 224\n// module chunks = 0","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iter-call.js\n// module id = 225\n// module chunks = 0","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_is-array-iter.js\n// module id = 226\n// module chunks = 0","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_create-property.js\n// module id = 227\n// module chunks = 0","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_classof.js\n// module id = 228\n// module chunks = 0","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iter-detect.js\n// module id = 229\n// module chunks = 0","require('../../modules/es6.object.assign');\nmodule.exports = require('../../modules/_core').Object.assign;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/assign.js\n// module id = 230\n// module chunks = 0","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.assign.js\n// module id = 231\n// module chunks = 0","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n } return T;\n} : $assign;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-assign.js\n// module id = 232\n// module chunks = 0","module.exports = \"
$ctrl.pageSize\\\">
5\\\">
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-pagination/src/pagination.html\n// module id = 233\n// module chunks = 0","export default class {\n constructor () {\n this.pageSize = 25;\n this.pageSizeList = [\n 25, 50, 100, 300 // eslint-disable-line no-magic-numbers\n ];\n this.translations = {\n resultsPerPage: \"Results per page\",\n ofNResults: \"of {{totalItems}} results\",\n currentPageOfPageCount: \"Page {{currentPage}} of {{pageCount}}\",\n previousPage: \"Previous page\",\n nextPage: \"Next page\"\n };\n }\n\n /**\n * Set the default page size\n * @param {Number} pageSize the default page size\n */\n setPageSize (pageSize) {\n this.pageSize = pageSize;\n return this;\n }\n\n /**\n * Set the choices of page sizes\n * @param {Array} pageSizeList a list of page sizes\n */\n setPageSizeList (pageSizeList) {\n this.pageSizeList = pageSizeList;\n return this;\n }\n\n /**\n * Set the translations for the pagination component\n * @param {Object} translations a map of translations\n */\n setTranslations (translations) {\n this.translations = translations;\n return this;\n }\n\n $get () {\n return {\n pageSize: this.pageSize,\n pageSizeList: this.pageSizeList,\n translations: this.translations\n };\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-pagination/src/pagination.provider.js","import Cell from \"./cell/cell.component\";\nimport Datagrid from \"./datagrid.directive\";\nimport DatagridColumnBuilder from \"./datagrid-column-builder.service\";\nimport DatagridExtraTop from \"./extra-top/extra-top.component\";\nimport DatagridPaging from \"./paging/datagrid-paging.service\";\nimport DatagridParameters from \"./parameters/datagrid-parameters.component\";\nimport DatagridProvider from \"./datagrid.provider\";\nimport DatagridService from \"./datagrid.service\";\n\nangular\n .module(\"oui.datagrid\", [\n \"oui.pagination\",\n \"oui.dropdown\",\n \"oui.criteria-container\",\n \"oui.search\",\n \"ngAria\"\n ])\n .service(\"ouiDatagridColumnBuilder\", DatagridColumnBuilder)\n .directive(\"ouiDatagrid\", Datagrid)\n .component(\"ouiDatagridCell\", Cell)\n .component(\"ouiDatagridExtraTop\", DatagridExtraTop)\n .service(\"ouiDatagridPaging\", DatagridPaging)\n .provider(\"ouiDatagridConfiguration\", DatagridProvider)\n .service(\"ouiDatagridService\", DatagridService)\n .component(\"ouiDatagridParameters\", DatagridParameters);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-datagrid/src/index.js","import controller from \"./cell.controller\";\n\nexport default {\n controller,\n require: {\n datagridCtrl: \"^^ouiDatagrid\"\n },\n bindings: {\n row: \"<\",\n column: \"<\"\n }\n};\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-datagrid/src/cell/cell.component.js","export default class {\n constructor ($element) {\n \"ngInject\";\n\n this.$element = $element;\n }\n\n $postLink () {\n // The parent scope of datagrid is required to get parent\n // values inside cells\n this.cellScope = this.datagridCtrl.getParentScope().$new(false);\n\n this.$element.css(\"display\", \"block\");\n\n if (this.row && this.row.$promise) {\n this.row.$promise.finally(() => {\n this._compileCell();\n });\n } else {\n this._compileCell();\n }\n }\n\n $onChanges (changes) {\n if ((changes.row && !changes.row.isFirstChange()) ||\n (changes.column && !changes.column.isFirstChange())) {\n this._compileCell();\n }\n }\n\n _compileCell () {\n this.cellScope.$row = this.row;\n this.cellScope.$column = this.column;\n this.cellScope.$value = this.row[this.column.name];\n\n if (this.column.compiledTemplate) {\n this.column.compiledTemplate(this.cellScope, clone => {\n this.$element.empty();\n this.$element.append(clone);\n });\n } else {\n this.$element[0].innerHTML = this.cellScope.$value;\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-datagrid/src/cell/cell.controller.js","import controller from \"./datagrid.controller\";\n\nexport default () => {\n \"ngInject\";\n\n return {\n controller,\n controllerAs: \"$ctrl\",\n bindToController: true,\n scope: {\n id: \"@?\",\n columnsDescription: \" {\n // Transclude can't be used here otherwise transcluded\n // components would be compiled before we can read it.\n const htmlContent = elm.html();\n elm.empty();\n\n return (scope, elem, attrs, tableCtrl) => {\n tableCtrl.htmlContent = htmlContent;\n };\n }\n };\n};\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-datagrid/src/datagrid.directive.js","import { addBooleanParameter } from \"@oui-angular/common/component-utils\";\nimport { find } from \"lodash\";\nimport { hasProperty } from \"./util\";\n\nimport template from \"./datagrid.html\";\n\nconst cssSorted = \"oui-datagrid__cell_sorted\";\nconst cssSortable = \"oui-datagrid__header_sortable\";\nconst cssSortableAsc = \"oui-datagrid__header_sortable-asc\";\nconst cssSortableDesc = \"oui-datagrid__header_sortable-desc\";\n\n// On initial render we need to wait few seconds before calling\n// the checkScroll method otherwise panel size would be wrong.\n// This timing is not perfect, if the page render takes more time\n// than usual the scroll position could be miscalculated.\nconst checkScrollOnRefreshDataDelay = 1000;\n\nexport default class DatagridController {\n constructor ($attrs, $compile, $element, $transclude, $q, $scope, $window, $timeout,\n ouiDatagridPaging, ouiDatagridColumnBuilder, ouiDatagridConfiguration,\n ouiDatagridService) {\n \"ngInject\";\n\n this.$attrs = $attrs;\n this.$compile = $compile;\n this.$element = $element;\n this.$transclude = $transclude;\n this.$q = $q;\n this.$scope = $scope;\n this.$window = $window;\n this.$timeout = $timeout;\n this.ouiDatagridPaging = ouiDatagridPaging;\n this.ouiDatagridColumnBuilder = ouiDatagridColumnBuilder;\n this.ouiDatagridService = ouiDatagridService;\n this.columnElements = [];\n this.actionColumnElements = [];\n this.extraTopElements = [];\n\n this.config = ouiDatagridConfiguration;\n\n this.checkScroll = () => {\n const panel = this.scrollablePanel;\n const stickyBorderWidth = 10;\n\n // Ugly and not efficient way to instantly add or remove classes because\n // checkScroll is run thousands times.\n this.$scope.$apply(() => {\n if (panel.scrollWidth - panel.scrollLeft - stickyBorderWidth <= panel.clientWidth) {\n this.scrollBegin = false;\n } else {\n this.scrollBegin = true;\n }\n\n if (panel.scrollLeft <= stickyBorderWidth) {\n this.scrollEnd = false;\n } else {\n this.scrollEnd = true;\n }\n });\n };\n }\n\n $onInit () {\n this.hasActionMenu = false;\n this.scrollBegin = false;\n this.scrollEnd = false;\n this.firstLoading = true;\n this.pageSize = parseInt(this.pageSize, 10) || this.config.pageSize;\n this.filterableColumns = [];\n this.criteria = [];\n\n if (this.id) {\n this.ouiDatagridService.registerDatagrid(this);\n }\n }\n\n $postLink () {\n addBooleanParameter(this, \"customizable\");\n\n this.$compile(template)(this.$scope, (clone) => {\n this.$element.append(clone);\n });\n\n if (this.htmlContent.trim().length) {\n const originalContent = angular.element(this.htmlContent);\n this.columnElements = DatagridController.filterElements(originalContent, \"oui-column\");\n this.actionColumnElements = DatagridController.filterElements(originalContent, \"oui-action-menu\");\n this.extraTopElements = DatagridController.filterElements(originalContent, \"extra-top\");\n }\n\n const builtColumns = this.buildColumns();\n this.previousRows = angular.copy(this.rows);\n\n if (this.rowsLoader) {\n this.paging = this.ouiDatagridPaging.createRemote(this.columns, builtColumns.currentSorting, this.pageSize, this.rowLoader, this.rowsLoader);\n this.refreshData(() => this.paging.setOffset(1));\n } else {\n this.paging = this.ouiDatagridPaging.createLocal(this.columns, builtColumns.currentSorting, this.pageSize, this.rowLoader, this.rows);\n\n if (this.rows) {\n this.refreshData(() => this.paging.setRows(this.rows));\n }\n }\n\n // Manage responsiveness\n if (this.hasActionMenu || this.customizable) {\n this.scrollablePanel = this.$element[0].querySelector(\".oui-datagrid-responsive-container__overflow-container\");\n if (this.scrollablePanel) {\n angular.element(this.$window).on(\"resize\", this.checkScroll);\n angular.element(this.scrollablePanel).on(\"scroll\", this.checkScroll);\n }\n }\n\n // Manage filter configuration\n this.isSearchTextVisible = this.columns\n .filter(column => column.searchable)\n .length > 0;\n this.filterableColumns = this.columns.filter(column => column.filterable);\n }\n\n $onChanges (changes) { // eslint-disable-line\n if (changes.columnsDescription && !changes.columnsDescription.isFirstChange()) {\n this.buildColumns();\n }\n\n if (changes.columnsParameters && !changes.columnsParameters.isFirstChange()) {\n this.buildColumns();\n }\n }\n\n $doCheck () {\n // Prevent recall this if there is no page change.\n // this.paging.preventLoadingRows is true if there has been no page\n // or page size change since last call.\n if (!angular.equals(this.previousRows, this.rows) &&\n this.rows && this.paging && !this.paging.preventLoadingRows) {\n this.previousRows = angular.copy(this.rows);\n this.refreshData(() => this.paging.setRows(this.rows));\n }\n }\n\n $onDestroy () {\n if (this.hasActionMenu) {\n angular.element(this.$window).off(\"resize\", this.checkScroll);\n angular.element(this.scrollablePanel).off(\"scroll\");\n }\n\n if (this.id) {\n this.ouiDatagridService.unregisterDatagrid(this.id);\n }\n }\n\n buildColumns () {\n const builtColumns = this.columnsDescription && this.columnsDescription.length ?\n this.ouiDatagridColumnBuilder.buildFromJs(this.columnsDescription, this.getParentScope()) :\n this.ouiDatagridColumnBuilder.build(this.columnElements, this.getParentScope());\n\n if (this.actionColumnElements.length) {\n this.actionColumn = this.ouiDatagridColumnBuilder.buildActionColumn(this.actionColumnElements[0]);\n this.hasActionMenu = true;\n }\n\n if (this.extraTopElements.length) {\n this.extraTopCompiledTemplate = this.$compile(`
${this.extraTopElements[0].innerHTML}
`);\n this.hasExtraTopContent = true;\n }\n\n this.availableColumns = angular.copy(builtColumns.columns)\n .map(column => { // Override default with custom columns\n const customColumn = find(this.columnsParameters, {\n name: column.name\n });\n if (customColumn) {\n column.hidden = customColumn.hidden;\n }\n return column;\n });\n\n this.columns = this.availableColumns\n .filter(column => !column.hidden);\n\n this.columns.forEach(column => {\n if (column.title) {\n return;\n }\n\n column.disableWatcher = this.$scope.$watch(\n () => this.ouiDatagridColumnBuilder.buildTitle(column.rawTitle, this.getParentScope()),\n newTitle => {\n if (newTitle) {\n column.title = newTitle;\n column.disableWatcher();\n }\n }\n );\n });\n\n return builtColumns;\n }\n\n onColumnsChange (columns) {\n this.availableColumns = angular.copy(columns);\n this.columns = columns.filter(column => !column.hidden);\n\n const columnsParameters = this.availableColumns\n .filter(column => column.name)\n .map(column => {\n const cleanColumn = {\n name: column.name\n };\n\n if (column.hidden) {\n cleanColumn.hidden = true;\n }\n\n return cleanColumn;\n });\n\n if (this.id) {\n this.onColumnsParametersChange({\n id: this.id,\n columns: columnsParameters\n });\n }\n }\n\n getParentScope () {\n return this.$scope.$parent;\n }\n\n hasProperty (obj, prop) { // eslint-disable-line\n if (!obj) {\n return false;\n }\n\n return hasProperty(obj, prop);\n }\n\n onCriteriaChange (criteria) {\n this.criteria = criteria; // with preview criteria\n this.appliedCriteria = this.criteria\n .filter(criterion => !criterion.preview);\n this.refreshData(() => {\n this.paging.setOffset(1);\n this.paging.setCriteria(criteria);\n }, false, false);\n }\n\n onPaginationChange ($event) {\n this.refreshData(() => {\n this.paging.setOffset($event.offset);\n this.paging.setPageSize($event.pageSize);\n }, true, true);\n }\n\n scrollToTop () {\n // Small delay otherwise rows could not be rendered\n // yet and position would be wrong\n this.$timeout(() => {\n this.$element[0].scrollIntoView(true);\n });\n }\n\n refreshData (callback, skipSortAndFilter, requireScrollToTop, hideLoader, forceLoadRows) {\n if (this.loading) {\n return this.$q.when();\n }\n\n if (!hideLoader) {\n this.loading = true;\n this.displayedRows = DatagridController.createEmptyRows(this.paging.getCurrentPageSize());\n }\n\n this.refreshDatagridPromise = this.$q.when((callback || angular.noop)())\n .then(() => this.paging.loadData(skipSortAndFilter, forceLoadRows))\n .then(result => {\n this.displayedRows = result.data;\n if (requireScrollToTop) {\n this.scrollToTop();\n }\n if (this.hasActionMenu) {\n setTimeout(() => this.checkScroll(), checkScrollOnRefreshDataDelay);\n }\n })\n .finally(() => {\n this.loading = false;\n this.firstLoading = false;\n this.refreshDatagridPromise = null;\n });\n\n return this.refreshDatagridPromise;\n }\n\n sort (column) {\n if (!column || !column.sortable) {\n return;\n }\n\n this.refreshData(() => this.paging.setSort(column.name));\n }\n\n getSortableClasses (column) {\n if (column.name !== this.paging.getSortColumnName()) {\n return {\n [cssSortable]: !!column.sortable\n };\n }\n return {\n [cssSortable]: !!column.sortable,\n [cssSorted]: true,\n [cssSortableAsc]: this.paging.isSortAsc(),\n [cssSortableDesc]: this.paging.isSortDesc()\n };\n }\n\n static createEmptyRows (pageSize) {\n return Array(...{ length: pageSize })\n .map(() => undefined);\n }\n\n static filterElements (elements, tagName) {\n const tagNameUpper = tagName.toUpperCase();\n const filteredElements = [];\n\n angular.forEach(elements, element => {\n if (element.tagName === tagNameUpper) {\n filteredElements.push(element);\n }\n });\n\n return filteredElements;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-datagrid/src/datagrid.controller.js","\"use strict\";\n\nexports.__esModule = true;\n\nvar _defineProperty = require(\"../core-js/object/define-property\");\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (obj, key, value) {\n if (key in obj) {\n (0, _defineProperty2.default)(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/helpers/defineProperty.js\n// module id = 240\n// module chunks = 0","var baseIteratee = require('./_baseIteratee'),\n isArrayLike = require('./isArrayLike'),\n keys = require('./keys');\n\n/**\n * Creates a `_.find` or `_.findLast` function.\n *\n * @private\n * @param {Function} findIndexFunc The function to find the collection index.\n * @returns {Function} Returns the new find function.\n */\nfunction createFind(findIndexFunc) {\n return function(collection, predicate, fromIndex) {\n var iterable = Object(collection);\n if (!isArrayLike(collection)) {\n var iteratee = baseIteratee(predicate, 3);\n collection = keys(collection);\n predicate = function(key) { return iteratee(iterable[key], key, iterable); };\n }\n var index = findIndexFunc(collection, predicate, fromIndex);\n return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined;\n };\n}\n\nmodule.exports = createFind;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_createFind.js\n// module id = 241\n// module chunks = 0","var baseIsMatch = require('./_baseIsMatch'),\n getMatchData = require('./_getMatchData'),\n matchesStrictComparable = require('./_matchesStrictComparable');\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n\nmodule.exports = baseMatches;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseMatches.js\n// module id = 242\n// module chunks = 0","var Stack = require('./_Stack'),\n baseIsEqual = require('./_baseIsEqual');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\nmodule.exports = baseIsMatch;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseIsMatch.js\n// module id = 243\n// module chunks = 0","var Stack = require('./_Stack'),\n equalArrays = require('./_equalArrays'),\n equalByTag = require('./_equalByTag'),\n equalObjects = require('./_equalObjects'),\n getTag = require('./_getTag'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isTypedArray = require('./isTypedArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nmodule.exports = baseIsEqualDeep;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseIsEqualDeep.js\n// module id = 244\n// module chunks = 0","var SetCache = require('./_SetCache'),\n arraySome = require('./_arraySome'),\n cacheHas = require('./_cacheHas');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalArrays;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_equalArrays.js\n// module id = 245\n// module chunks = 0","var isArray = require('./isArray');\n\n/**\n * Casts `value` as an array if it's not one.\n *\n * @static\n * @memberOf _\n * @since 4.4.0\n * @category Lang\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast array.\n * @example\n *\n * _.castArray(1);\n * // => [1]\n *\n * _.castArray({ 'a': 1 });\n * // => [{ 'a': 1 }]\n *\n * _.castArray('abc');\n * // => ['abc']\n *\n * _.castArray(null);\n * // => [null]\n *\n * _.castArray(undefined);\n * // => [undefined]\n *\n * _.castArray();\n * // => []\n *\n * var array = [1, 2, 3];\n * console.log(_.castArray(array) === array);\n * // => true\n */\nfunction castArray() {\n if (!arguments.length) {\n return [];\n }\n var value = arguments[0];\n return isArray(value) ? value : [value];\n}\n\nmodule.exports = castArray;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_SetCache.js\n// module id = 246\n// module chunks = 0","/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_arraySome.js\n// module id = 247\n// module chunks = 0","var baseIndexOf = require('./_baseIndexOf');\n\n/**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludes(array, value) {\n var length = array == null ? 0 : array.length;\n return !!length && baseIndexOf(array, value, 0) > -1;\n}\n\nmodule.exports = arrayIncludes;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_cacheHas.js\n// module id = 248\n// module chunks = 0","/**\n * A specialized version of `_.indexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction strictIndexOf(array, value, fromIndex) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = strictIndexOf;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseIndexOf.js\n// module id = 249\n// module chunks = 0","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_equalByTag.js\n// module id = 250\n// module chunks = 0","var getAllKeys = require('./_getAllKeys');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalObjects;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_equalObjects.js\n// module id = 251\n// module chunks = 0","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_getAllKeys.js\n// module id = 252\n// module chunks = 0","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_getTag.js\n// module id = 253\n// module chunks = 0","var isStrictComparable = require('./_isStrictComparable'),\n keys = require('./keys');\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\n\nmodule.exports = getMatchData;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_getMatchData.js\n// module id = 254\n// module chunks = 0","var baseIsEqual = require('./_baseIsEqual'),\n get = require('./get'),\n hasIn = require('./hasIn'),\n isKey = require('./_isKey'),\n isStrictComparable = require('./_isStrictComparable'),\n matchesStrictComparable = require('./_matchesStrictComparable'),\n toKey = require('./_toKey');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n };\n}\n\nmodule.exports = baseMatchesProperty;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseMatchesProperty.js\n// module id = 255\n// module chunks = 0","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/isSymbol.js\n// module id = 256\n// module chunks = 0","var memoizeCapped = require('./_memoizeCapped');\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nmodule.exports = stringToPath;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_stringToPath.js\n// module id = 257\n// module chunks = 0","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_memoizeCapped.js\n// module id = 258\n// module chunks = 0","var baseHasIn = require('./_baseHasIn'),\n hasPath = require('./_hasPath');\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\n\nmodule.exports = hasIn;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/hasIn.js\n// module id = 259\n// module chunks = 0","/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\nmodule.exports = baseHasIn;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseHasIn.js\n// module id = 260\n// module chunks = 0","var castPath = require('./_castPath'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isIndex = require('./_isIndex'),\n isLength = require('./isLength'),\n toKey = require('./_toKey');\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\nmodule.exports = hasPath;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_hasPath.js\n// module id = 261\n// module chunks = 0","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_isIndex.js\n// module id = 262\n// module chunks = 0","var baseProperty = require('./_baseProperty'),\n basePropertyDeep = require('./_basePropertyDeep'),\n isKey = require('./_isKey'),\n toKey = require('./_toKey');\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nmodule.exports = property;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/property.js\n// module id = 263\n// module chunks = 0","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseProperty.js\n// module id = 264\n// module chunks = 0","var baseGet = require('./_baseGet');\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\nmodule.exports = basePropertyDeep;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_basePropertyDeep.js\n// module id = 265\n// module chunks = 0","/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = baseFindIndex;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseFindIndex.js\n// module id = 266\n// module chunks = 0","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-datagrid/src/datagrid.html\n// module id = 267\n// module chunks = 0","import { getAttribute, hasAttribute } from \"@oui-angular/common/component-utils\";\n\nconst copyValueProperties = [\"hidden\", \"title\", \"type\", \"type-options\"];\nconst searchableTypes = [\"string\"];\nconst filterableTypes = [\n \"boolean\",\n \"date\",\n \"number\",\n \"options\",\n \"string\"\n];\n\nexport default class DatagridColumnBuilder {\n constructor ($parse, $compile) {\n \"ngInject\";\n\n this.$parse = $parse;\n this.$compile = $compile;\n }\n\n build (columnElements, $scope) {\n const columns = [];\n const currentSorting = {\n columnName: undefined,\n dir: 0\n };\n\n angular.forEach(columnElements, columnElement => {\n const column = {};\n\n if (hasAttribute(columnElement, \"name\")) {\n column.name = getAttribute(columnElement, \"name\");\n }\n\n if (hasAttribute(columnElement, \"property\")) {\n const propertyValue = getAttribute(columnElement, \"property\");\n\n column.name = column.name || propertyValue;\n column.getValue = this.$parse(propertyValue);\n\n // A column can be sorted only if it has a \"property\" attribute.\n if (hasAttribute(columnElement, \"sortable\")) {\n const sortableValue = getAttribute(columnElement, \"sortable\");\n column.sortable = !!sortableValue;\n Object.assign(currentSorting, DatagridColumnBuilder.defineDefaultSorting(column, sortableValue));\n }\n }\n\n copyValueProperties.forEach(propertyName => {\n if (hasAttribute(columnElement, propertyName)) {\n column[propertyName] = getAttribute(columnElement, propertyName);\n }\n });\n\n column.filterable = DatagridColumnBuilder.isFilterable(column) &&\n hasAttribute(columnElement, \"filterable\");\n column.searchable = DatagridColumnBuilder.isSearchable(column) &&\n hasAttribute(columnElement, \"searchable\");\n\n if (column[\"type-options\"]) {\n column.typeOptions = this.$parse(column[\"type-options\"])($scope);\n }\n\n if (hasAttribute(columnElement, \"prevent-customization\")) {\n column.preventCustomization = true;\n }\n\n if (hasAttribute(columnElement, \"hidden\")) {\n column.hidden = true;\n }\n\n if (hasAttribute(columnElement, \"title\")) {\n const titleValue = getAttribute(columnElement, \"title\");\n\n column.title = this.buildTitle(titleValue, $scope);\n column.rawTitle = titleValue;\n }\n\n if (!column.sortProperty) {\n column.sortProperty = column.name;\n }\n\n const htmlTemplate = columnElement.innerHTML.trim();\n if (!column.template && htmlTemplate.length) {\n column.template = htmlTemplate;\n }\n\n if (column.template) {\n column.compiledTemplate = this._getColumnTemplate(column);\n }\n\n columns.push(column);\n });\n\n return {\n columns,\n currentSorting\n };\n }\n\n buildFromJs (columnsDescription) {\n const columns = [];\n const currentSorting = {\n columnName: undefined,\n dir: 0\n };\n\n angular.forEach(columnsDescription, columnDescription => {\n const column = {};\n\n column.name = columnDescription.name;\n\n const propertyValue = columnDescription.property;\n if (propertyValue) {\n column.name = column.name || propertyValue;\n column.getValue = this.$parse(propertyValue);\n\n // A column can be sorted only if it has a \"property\" attribute.\n const sortableValue = columnDescription.sortable;\n if (columnDescription.sortable) {\n column.sortable = !!sortableValue;\n Object.assign(currentSorting, DatagridColumnBuilder.defineDefaultSorting(column, sortableValue));\n }\n }\n\n copyValueProperties.forEach(propertyName => {\n column[propertyName] = columnDescription[propertyName];\n });\n\n column.filterable = DatagridColumnBuilder.isFilterable(column) &&\n columnDescription.filterable;\n column.searchable = DatagridColumnBuilder.isSearchable(column) &&\n columnDescription.searchable;\n\n\n if (columnDescription.typeOptions) {\n column.typeOptions = columnDescription.typeOptions;\n }\n\n column.preventCustomization = columnDescription.preventCustomization;\n\n column.title = columnDescription.title;\n\n if (!column.sortProperty) {\n column.sortProperty = column.name;\n }\n\n const htmlTemplate = columnDescription.template ? columnDescription.template.trim() : \"\";\n column.template = htmlTemplate;\n\n if (column.template && column.template !== \"\") {\n column.compiledTemplate = this._getColumnTemplate(column);\n }\n\n columns.push(column);\n });\n\n return {\n columns,\n currentSorting\n };\n }\n\n buildTitle (titleValue, $scope) {\n return this.$parse(titleValue)($scope);\n }\n\n buildActionColumn (actionColumnElement) {\n const column = {\n template: actionColumnElement.outerHTML\n };\n column.compiledTemplate = this._getColumnTemplate(column);\n column.alwaysVisible = true;\n return column;\n }\n\n static defineDefaultSorting (column, sortableValue) {\n column.sortable = sortableValue !== undefined;\n\n if (sortableValue && sortableValue.length) {\n column.defaultSortDir = sortableValue === \"asc\" ? 1 : -1;\n return {\n columnName: column.name,\n dir: column.defaultSortDir\n };\n }\n\n return {};\n }\n\n static isSearchable (column) {\n return searchableTypes.indexOf(column.type) > -1;\n }\n\n static isFilterable (column) {\n return filterableTypes.indexOf(column.type) > -1;\n }\n\n _getColumnTemplate (column) {\n if (!column.compiledTemplate) {\n column.compiledTemplate = this.$compile(`
${column.template}
`);\n }\n return column.compiledTemplate;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-datagrid/src/datagrid-column-builder.service.js","import controller from \"./extra-top.controller\";\n\nexport default {\n controller,\n require: {\n datagridCtrl: \"^^ouiDatagrid\"\n }\n};\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-datagrid/src/extra-top/extra-top.component.js","export default class {\n constructor ($element) {\n \"ngInject\";\n\n this.$element = $element;\n }\n\n $postLink () {\n this.extraTopScope = this.datagridCtrl.getParentScope().$new(false);\n this._compileElement();\n }\n\n _compileElement () {\n this.datagridCtrl.extraTopCompiledTemplate(this.extraTopScope, clone => {\n this.$element.empty();\n this.$element.append(clone);\n });\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-datagrid/src/extra-top/extra-top.controller.js","import DatagridLocalPaging from \"./datagrid-local-paging\";\nimport DatagridRemotePaging from \"./datagrid-remote-paging\";\n\nexport default class {\n constructor ($q, $timeout, orderByFilter) {\n \"ngInject\";\n\n this.$q = $q;\n this.$timeout = $timeout;\n this.orderByFilter = orderByFilter;\n }\n\n createLocal (columns, sorting, pageSize, rowLoader, rows) {\n return new DatagridLocalPaging(columns, sorting, pageSize, rowLoader, this, rows);\n }\n\n createRemote (columns, sorting, pageSize, rowLoader, rowsLoader) {\n return new DatagridRemotePaging(columns, sorting, pageSize, rowLoader, this, rowsLoader);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-datagrid/src/paging/datagrid-paging.service.js","import DatagridPagingAbstract from \"./datagrid-paging-abstract\";\nimport Filter from \"../filter/filter\";\n\nexport default class DatagridLocalPaging extends DatagridPagingAbstract {\n constructor (columns, currentSorting, pageSize, rowLoader, pagingService, rows) {\n super(columns, currentSorting, pageSize, rowLoader, pagingService);\n\n this.setRows(rows);\n }\n\n setRows (rows) {\n // Keep pristine rows to force reload if necessary.\n this.rows = angular.copy(rows);\n\n // Work with cachedRows.\n // Copied to not trigger reload in $doCheck.\n this.cachedRows = angular.copy(rows);\n\n this.totalCount = rows ? rows.length : 0;\n }\n\n loadData (skipSortAndFilter, forceLoadRows) {\n // Reset rows.\n if (forceLoadRows) {\n this.cachedRows = angular.copy(this.rows);\n }\n\n if (!skipSortAndFilter || forceLoadRows) {\n this._filter();\n this._sort();\n }\n\n return this.$q.when({\n data: this.sortedRows.slice(this.offset - 1, this.offset - 1 + this.pageSize),\n meta: {\n pageCount: Math.ceil(this.sortedRows.length / this.pageSize),\n totalCount: this.sortedRows.length\n }\n })\n .then(result => this.loadRows(result));\n }\n\n loadRows (pageResult) {\n this.preventLoadingRows = true;\n this.loadRowsData(pageResult.data)\n .finally(() => {\n // Delay the change of the value to prevent $doCheck of DatagridController\n // calling refreshData for the last update.\n this.$timeout(() => {\n this.preventLoadingRows = false;\n });\n });\n this.totalCount = pageResult.meta.totalCount;\n\n return pageResult;\n }\n\n _filter () {\n const filter = new Filter(this.criteria, this.columns);\n this.filteredRows = filter.applyFilter(this.cachedRows);\n }\n\n _sort () {\n const sortConfiguration = this.getSortingConfiguration();\n this.sortedRows = this.orderByFilter(this.filteredRows, sortConfiguration.property, sortConfiguration.dir < 0);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-datagrid/src/paging/datagrid-local-paging.js","require('../../modules/es6.object.get-prototype-of');\nmodule.exports = require('../../modules/_core').Object.getPrototypeOf;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/get-prototype-of.js\n// module id = 273\n// module chunks = 0","// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = require('./_to-object');\nvar $getPrototypeOf = require('./_object-gpo');\n\nrequire('./_object-sap')('getPrototypeOf', function () {\n return function getPrototypeOf(it) {\n return $getPrototypeOf(toObject(it));\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.get-prototype-of.js\n// module id = 274\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/symbol/iterator\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/symbol/iterator.js\n// module id = 275\n// module chunks = 0","require('../../modules/es6.string.iterator');\nrequire('../../modules/web.dom.iterable');\nmodule.exports = require('../../modules/_wks-ext').f('iterator');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/symbol/iterator.js\n// module id = 276\n// module chunks = 0","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.array.iterator.js\n// module id = 277\n// module chunks = 0","module.exports = function () { /* empty */ };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_add-to-unscopables.js\n// module id = 278\n// module chunks = 0","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iter-step.js\n// module id = 279\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/symbol\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/symbol.js\n// module id = 280\n// module chunks = 0","require('../../modules/es6.symbol');\nrequire('../../modules/es6.object.to-string');\nrequire('../../modules/es7.symbol.async-iterator');\nrequire('../../modules/es7.symbol.observable');\nmodule.exports = require('../../modules/_core').Symbol;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/symbol/index.js\n// module id = 281\n// module chunks = 0","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n require('./_object-gops').f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !require('./_library')) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.symbol.js\n// module id = 282\n// module chunks = 0","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_meta.js\n// module id = 283\n// module chunks = 0","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_enum-keys.js\n// module id = 284\n// module chunks = 0","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_is-array.js\n// module id = 285\n// module chunks = 0","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-gopn-ext.js\n// module id = 286\n// module chunks = 0","require('./_wks-define')('asyncIterator');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es7.symbol.async-iterator.js\n// module id = 288\n// module chunks = 0","require('./_wks-define')('observable');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es7.symbol.observable.js\n// module id = 289\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/set-prototype-of\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/set-prototype-of.js\n// module id = 290\n// module chunks = 0","require('../../modules/es6.object.set-prototype-of');\nmodule.exports = require('../../modules/_core').Object.setPrototypeOf;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/set-prototype-of.js\n// module id = 291\n// module chunks = 0","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', { setPrototypeOf: require('./_set-proto').set });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.set-prototype-of.js\n// module id = 292\n// module chunks = 0","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) { buggy = true; }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_set-proto.js\n// module id = 293\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/create\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/create.js\n// module id = 294\n// module chunks = 0","require('../../modules/es6.object.create');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function create(P, D) {\n return $Object.create(P, D);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/create.js\n// module id = 295\n// module chunks = 0","var $export = require('./_export');\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', { create: require('./_object-create') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.create.js\n// module id = 296\n// module chunks = 0","import { find, get } from \"lodash\";\nimport ComparatorResolver from \"./comparator-resolver\";\nimport StringComparators from \"./string\";\n\nexport default class Filter {\n constructor (criteria, columns) {\n this.criteria = criteria;\n this.columns = columns;\n this.searchableColumns = this._getSearchableColumns();\n }\n\n /**\n * Apply all filter criteria on a collection.\n *\n * @param {Array} collection input array\n * @return {Array} output array\n */\n applyFilter (collection) {\n let filtered = collection;\n this.criteria.forEach(criterion => {\n filtered = this.applyCriteria(filtered, criterion);\n });\n return filtered;\n }\n\n /**\n * Apply a criterion on a collection.\n *\n * @param {Array} collection input array\n * @param {Object} criterion a criterion object\n * @return {Array} output array\n */\n applyCriteria (collection, criterion) {\n // Text search\n if (criterion.property === null && criterion.operator === \"contains\") {\n return collection.filter(item => this.itemContainsText(item, criterion.value));\n }\n\n const propertyMeta = find(this.columns, [\"name\", criterion.property]);\n\n if (!propertyMeta) {\n return collection;\n }\n\n const comparatorFn = ComparatorResolver.resolveComparator(criterion, propertyMeta.type);\n\n if (!criterion.property ||\n !criterion.operator ||\n criterion.value === undefined ||\n !propertyMeta.type ||\n !comparatorFn) {\n return collection;\n }\n\n return collection.filter(item => {\n const subject = get(item, criterion.property);\n return comparatorFn(subject, criterion.value);\n });\n }\n\n /**\n * Find a text in a string.\n *\n * @param {Object} item subject of search\n * @param {String} text text to search\n * @return {Boolean} true if text has been found in item\n */\n itemContainsText (item, text) {\n return this.searchableColumns\n .reduce((aggregator, name) => {\n const value = get(item, name);\n return aggregator || StringComparators.contains(value, text);\n }, false);\n }\n\n _getSearchableColumns () {\n return this.columns\n .filter(column => column.searchable)\n .map(column => column.name);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-datagrid/src/filter/filter.js","import { endsWith, negate } from \"lodash\";\nimport BasicComparators from \"./basic\";\nimport DateComparators from \"./date\";\nimport NumberComparators from \"./number\";\nimport StringComparators from \"./string\";\n\nconst comparators = {\n \"boolean\": BasicComparators,\n date: DateComparators,\n number: NumberComparators,\n options: BasicComparators,\n string: StringComparators\n};\n\nexport default class ComparatorResolver {\n static resolveComparator (criterion, type) {\n const baseOperator = criterion.operator.replace(/Not$/, \"\");\n const negated = endsWith(criterion.operator, \"Not\");\n const comparator = comparators[type] ? comparators[type][baseOperator] : null;\n return comparator && negated ? negate(comparator) : comparator;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-datagrid/src/filter/comparator-resolver.js","/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that negates the result of the predicate `func`. The\n * `func` predicate is invoked with the `this` binding and arguments of the\n * created function.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} predicate The predicate to negate.\n * @returns {Function} Returns the new negated function.\n * @example\n *\n * function isEven(n) {\n * return n % 2 == 0;\n * }\n *\n * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven));\n * // => [1, 3, 5]\n */\nfunction negate(predicate) {\n if (typeof predicate != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n return function() {\n var args = arguments;\n switch (args.length) {\n case 0: return !predicate.call(this);\n case 1: return !predicate.call(this, args[0]);\n case 2: return !predicate.call(this, args[0], args[1]);\n case 3: return !predicate.call(this, args[0], args[1], args[2]);\n }\n return !predicate.apply(this, args);\n };\n}\n\nmodule.exports = negate;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/negate.js\n// module id = 299\n// module chunks = 0","var baseClamp = require('./_baseClamp'),\n baseToString = require('./_baseToString'),\n toInteger = require('./toInteger'),\n toString = require('./toString');\n\n/**\n * Checks if `string` ends with the given target string.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to inspect.\n * @param {string} [target] The string to search for.\n * @param {number} [position=string.length] The position to search up to.\n * @returns {boolean} Returns `true` if `string` ends with `target`,\n * else `false`.\n * @example\n *\n * _.endsWith('abc', 'c');\n * // => true\n *\n * _.endsWith('abc', 'b');\n * // => false\n *\n * _.endsWith('abc', 'b', 2);\n * // => true\n */\nfunction endsWith(string, target, position) {\n string = toString(string);\n target = baseToString(target);\n\n var length = string.length;\n position = position === undefined\n ? length\n : baseClamp(toInteger(position), 0, length);\n\n var end = position;\n position -= target.length;\n return position >= 0 && string.slice(position, end) == target;\n}\n\nmodule.exports = endsWith;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/endsWith.js\n// module id = 300\n// module chunks = 0","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseToString.js\n// module id = 301\n// module chunks = 0","export default class BooleanComparators {\n static is (subject, value) {\n return subject === value;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-datagrid/src/filter/basic.js","import { isDate, isNaN } from \"lodash\";\n\nexport default class DateComparators {\n static is (subject, value) {\n return DateComparators.transformDate(subject) === value;\n }\n\n static isBefore (subject, value) {\n return DateComparators.transformDate(subject) < value;\n }\n\n static isAfter (subject, value) {\n return DateComparators.transformDate(subject) > value;\n }\n\n static normalizeDate (date) {\n let daydate = date.getDate();\n let month = date.getMonth() + 1;\n\n if (daydate < 10) { // eslint-disable-line no-magic-numbers\n daydate = `0${daydate}`;\n }\n\n if (month < 10) { // eslint-disable-line no-magic-numbers\n month = `0${month}`;\n }\n\n return `${date.getFullYear()}-${month}-${daydate}`;\n }\n\n static transformDate (rawDate) {\n let date = rawDate;\n\n if (!isDate(date)) {\n date = new Date(date);\n if (isNaN(date.valueOf())) {\n throw new Error(`ovh-ui-angular: date ${rawDate} cannot be parsed.`);\n }\n }\n\n return DateComparators.normalizeDate(date);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-datagrid/src/filter/date.js","var isNumber = require('./isNumber');\n\n/**\n * Checks if `value` is `NaN`.\n *\n * **Note:** This method is based on\n * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as\n * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for\n * `undefined` and other non-number values.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n * @example\n *\n * _.isNaN(NaN);\n * // => true\n *\n * _.isNaN(new Number(NaN));\n * // => true\n *\n * isNaN(undefined);\n * // => true\n *\n * _.isNaN(undefined);\n * // => false\n */\nfunction isNaN(value) {\n // An `NaN` primitive is the only value that is not equal to itself.\n // Perform the `toStringTag` check first to avoid errors with some\n // ActiveX objects in IE.\n return isNumber(value) && value != +value;\n}\n\nmodule.exports = isNaN;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/isNaN.js\n// module id = 304\n// module chunks = 0","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar numberTag = '[object Number]';\n\n/**\n * Checks if `value` is classified as a `Number` primitive or object.\n *\n * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are\n * classified as numbers, use the `_.isFinite` method.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a number, else `false`.\n * @example\n *\n * _.isNumber(3);\n * // => true\n *\n * _.isNumber(Number.MIN_VALUE);\n * // => true\n *\n * _.isNumber(Infinity);\n * // => true\n *\n * _.isNumber('3');\n * // => false\n */\nfunction isNumber(value) {\n return typeof value == 'number' ||\n (isObjectLike(value) && baseGetTag(value) == numberTag);\n}\n\nmodule.exports = isNumber;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/isNumber.js\n// module id = 305\n// module chunks = 0","var baseIsDate = require('./_baseIsDate'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsDate = nodeUtil && nodeUtil.isDate;\n\n/**\n * Checks if `value` is classified as a `Date` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\n * @example\n *\n * _.isDate(new Date);\n * // => true\n *\n * _.isDate('Mon April 23 2012');\n * // => false\n */\nvar isDate = nodeIsDate ? baseUnary(nodeIsDate) : baseIsDate;\n\nmodule.exports = isDate;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/isDate.js\n// module id = 306\n// module chunks = 0","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar dateTag = '[object Date]';\n\n/**\n * The base implementation of `_.isDate` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\n */\nfunction baseIsDate(value) {\n return isObjectLike(value) && baseGetTag(value) == dateTag;\n}\n\nmodule.exports = baseIsDate;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseIsDate.js\n// module id = 307\n// module chunks = 0","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseUnary.js\n// module id = 308\n// module chunks = 0","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_nodeUtil.js\n// module id = 309\n// module chunks = 0","export default class NumberComparators {\n static is (subject, value) {\n return subject === value;\n }\n\n static smaller (subject, value) {\n return subject < value;\n }\n\n static bigger (subject, value) {\n return subject > value;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-datagrid/src/filter/number.js","'use strict';\n\nvar matchOperatorsRe = /[|\\\\{}()[\\]^$+*?.]/g;\n\nmodule.exports = function (str) {\n\tif (typeof str !== 'string') {\n\t\tthrow new TypeError('Expected a string');\n\t}\n\n\treturn str.replace(matchOperatorsRe, '\\\\$&');\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/escape-string-regexp/index.js\n// module id = 311\n// module chunks = 0","import DatagridPagingAbstract from \"./datagrid-paging-abstract\";\n\nexport default class DatagridRemotePaging extends DatagridPagingAbstract {\n constructor (columns, currentSorting, pageSize, rowLoader, pagingService, rowsLoader) {\n super(columns, currentSorting, pageSize, rowLoader, pagingService);\n\n this.rowsLoader = rowsLoader;\n }\n\n loadData (skipSort) {\n return this.rowsLoader({\n $config: Object.assign({\n offset: this.offset,\n pageSize: this.pageSize,\n sort: this.getSortingConfiguration(),\n criteria: this.criteria\n }, {\n skipSort\n })\n })\n .then(result => this.loadRows(result));\n }\n\n loadRows (pageResult) {\n this.loadRowsData(pageResult.data);\n this.totalCount = pageResult.meta.totalCount;\n\n return pageResult;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-datagrid/src/paging/datagrid-remote-paging.js","import controller from \"./datagrid-parameters.controller\";\nimport template from \"./datagrid-parameters.html\";\n\nexport default {\n bindings: {\n columns: \"<\",\n onChange: \"&\"\n },\n controller,\n template\n};\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-datagrid/src/parameters/datagrid-parameters.component.js","export default class DatagridParametersController {\n constructor ($element, $timeout) {\n \"ngInject\";\n\n this.$element = $element;\n this.$timeout = $timeout;\n }\n\n $onChanges () {\n this.computeColumns();\n }\n\n $postLink () {\n this.$timeout(() => {\n this.$element.addClass(\"oui-datagrid-parameters\");\n });\n }\n\n computeColumns () {\n this.customizedColumns = angular.copy(this.columns)\n .map(column => {\n column.visible = !column.hidden;\n return column;\n });\n }\n\n onColumnChange (columnIndex, isVisible) {\n this.changedColumns = angular.copy(this.customizedColumns);\n this.changedColumns.forEach((column, index) => {\n if (index === columnIndex) {\n column.hidden = !isVisible;\n }\n delete column.visible;\n });\n this.onChange({ columns: this.changedColumns });\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-datagrid/src/parameters/datagrid-parameters.controller.js","module.exports = \"
Columns Display
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-datagrid/src/parameters/datagrid-parameters.html\n// module id = 315\n// module chunks = 0","export default class {\n constructor () {\n this.pageSize = 25;\n this.translations = {\n emptyPlaceholder: \"No data available\"\n };\n }\n\n /**\n * Set the default page size\n * @param {Number} pageSize the default page size\n */\n setPageSize (pageSize) {\n this.pageSize = pageSize;\n return this;\n }\n\n /**\n * Set the translations for the datagrid component\n * @param {Object} translations a map of translations\n */\n setTranslations (translations) {\n this.translations = translations;\n return this;\n }\n\n $get () {\n return {\n pageSize: this.pageSize,\n translations: this.translations\n };\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-datagrid/src/datagrid.provider.js","export default class DatagridService {\n constructor () {\n this.datagrids = {};\n }\n\n registerDatagrid (datagridController) {\n const datagridId = datagridController.id;\n\n if (this.datagrids[datagridId]) {\n throw new Error(`Duplicated datagrid: id=\"${datagridId}\".`);\n }\n\n if (datagridId) {\n this.datagrids[datagridId] = datagridController;\n }\n }\n\n unregisterDatagrid (datagridId) {\n delete this.datagrids[datagridId];\n }\n\n /**\n * Refresh the content of a datagrid that has a specific `id`.\n * @param string datagridId the `id` of the datagrid\n * @param boolean showSpinner if you want to show the spinner while `rows-loader` is executed (like a first load)\n */\n refresh (datagridId, showSpinner) {\n const datagridController = this.datagrids[datagridId];\n\n if (datagridController) {\n datagridController.refreshData(false, false, false, !showSpinner, true);\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-datagrid/src/datagrid.service.js","import KEYBOARD_KEYS from \"./keyboard-keys.constant\";\nimport Navbar from \"./navbar.component\";\nimport NavbarConfigurationProvider from \"./navbar.provider.js\";\nimport NavbarGroup from \"./group/navbar-group.directive\";\nimport NavbarGroupService from \"./group/navbar-group.service\";\nimport NavbarMenu from \"./menu/navbar-menu.component\";\nimport NavbarService from \"./navbar.service\";\n\nangular\n .module(\"oui.navbar\", [\n \"ngAria\",\n \"ngSanitize\"\n ])\n .constant(\"KEYBOARD_KEYS\", KEYBOARD_KEYS)\n .component(\"ouiNavbar\", Navbar)\n .directive(\"ouiNavbarGroup\", NavbarGroup)\n .component(\"ouiNavbarMenu\", NavbarMenu)\n .provider(\"ouiNavbarConfiguration\", NavbarConfigurationProvider)\n .service(\"NavbarService\", NavbarService)\n .service(\"NavbarGroupService\", NavbarGroupService);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-navbar/src/index.js","export default {\n ALT: 9,\n TAB: 16,\n ESC: 27\n};\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-navbar/src/keyboard-keys.constant.js","import controller from \"./navbar.controller\";\nimport template from \"./navbar.html\";\n\nexport default {\n bindings: {\n brand: \" {\n // Add Classname on root element\n this.$element.addClass(\"oui-navbar\");\n if (this.fixed) {\n this.$element.addClass(\"oui-navbar_fixed\");\n }\n\n // Add \"role\" attribute for accessibility\n this.$element.attr(\"role\", \"navigation\");\n\n // Close navbar menu on document click, only if a menu is open\n this.$document.on(\"click\", () => {\n if (this.navigation) {\n this.$timeout(() => this.toggleMenu());\n }\n });\n\n // Avoid click propagation on $element\n this.$element.on(\"click\", (e) => {\n e.stopPropagation();\n });\n\n // Support keyboard\n this.$document.on(\"keydown\", (e) => {\n // ESC to close menu\n if (this.navigation && e.which === this.KEYBOARD_KEYS.ESC) {\n this.$timeout(() => this.toggleMenu());\n }\n });\n });\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-navbar/src/navbar.controller.js","module.exports = \" \";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-navbar/src/navbar.html\n// module id = 322\n// module chunks = 0","export default class {\n constructor () {\n this.translations = {\n notification: {\n errorInNotification: \"Oups, there’s an error!\",\n errorInNotificationDescription: \"We can’t initialize the menu.\",\n markRead: \"Mark as read\",\n markUnread: \"Mark as unread\",\n noNotification: \"You are all caught up!\",\n noNotificationDescription: \"You don't have any notification.\"\n }\n };\n }\n\n /**\n * Set the translations for the navbar component\n * @param {Object} translations a map of translations\n */\n setTranslations (translations) {\n this.translations = translations;\n return this;\n }\n\n $get () {\n return {\n translations: this.translations\n };\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-navbar/src/navbar.provider.js","import controller from \"./navbar-group.controller\";\n\nexport default () => ({\n restrict: \"A\",\n bindToController: {\n groupName: \"@ouiNavbarGroup\",\n isLast: \" {\n let index = groupIndex;\n keys[e.which] = true;\n\n if (keys[this.KEYBOARD_KEYS.ALT] && !keys[this.KEYBOARD_KEYS.TAB]) {\n // Move Down\n index = index >= lastIndex ? 0 : index + 1;\n } else if (keys[this.KEYBOARD_KEYS.ALT] && keys[this.KEYBOARD_KEYS.TAB]) {\n // Move Up\n index = index <= 0 ? lastIndex : index - 1;\n }\n\n // Check if element is visible\n if (tabbableItems[index].clientHeight) {\n tabbableItems[index].focus();\n } else {\n focusElement(e, index);\n }\n };\n\n angular.element(tabbableItems)\n .on(\"keydown\", (e) => {\n if (keysRegex.test(e.which) && this.navbarService.isOpen(groupName)) {\n e.preventDefault();\n focusElement(e, this.keyboardNav[groupName].indexOf(e.target));\n }\n })\n .on(\"keyup\", (e) => {\n delete keys[e.which];\n });\n }\n\n // Set focus to an item of a group\n setFocusTo (groupName, index) {\n // Add a delay to force focus\n const delay = 50;\n this.$timeout(() => this.keyboardNav[groupName][index] && this.keyboardNav[groupName][index].focus(), delay);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-navbar/src/group/navbar-group.service.js","import controller from \"./navbar-menu.controller\";\nimport template from \"./navbar-menu.html\";\n\nexport default {\n bindings: {\n backButton: \" {\n // Add classnames on root $element\n this.$element.addClass(\"oui-navbar-menu\");\n\n // Add \"role\" attribute for accessibility\n this.$element.attr(\"role\", \"menu\");\n });\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-navbar/src/menu/navbar-menu.controller.js","module.exports = \"

\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-navbar/src/menu/navbar-menu.html\n// module id = 329\n// module chunks = 0","export default class {\n isOpen (state) {\n return this.navigation && this.navigation[state];\n }\n\n // Toggle menu from button click\n toggleMenu (state, isInternalNav) {\n if (state) {\n // Reset navigation if not internal navigation\n if (!isInternalNav && (!this.navigation || !this.navigation[state])) {\n this.navigation = {};\n }\n\n if (isInternalNav || !this.navigation[state]) {\n // Toggle menu if internal navigation or state is undefined\n this.navigation[state] = !this.navigation[state];\n } else if (this.navigation[state]) {\n // Else close all menus\n this.navigation = null;\n }\n } else {\n // Close all menus\n this.navigation = null;\n }\n\n return this.navigation;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-navbar/src/navbar.service.js","import Modal from \"./modal.component.js\";\n\nangular.module(\"oui.modal\", []).component(\"ouiModal\", Modal);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-modal/src/index.js","import controller from \"./modal.controller\";\nimport template from \"./modal.html\";\n\nexport default {\n template,\n controller,\n bindings: {\n heading: \"@?\",\n title: \"@?\", // Deprecated: Replaced by 'heading'\n primaryAction: \"&?\",\n primaryLabel: \"@?\",\n secondaryAction: \"&?\",\n secondaryLabel: \"@?\",\n onDismiss: \"&?\",\n loading: \"

\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-modal/src/modal.html\n// module id = 334\n// module chunks = 0","import Field from \"./field.component.js\";\nimport FieldConfigurationProvider from \"./field.provider.js\";\n\nangular.module(\"oui.field\", [])\n .component(\"ouiField\", Field)\n .provider(\"ouiFieldConfiguration\", FieldConfigurationProvider);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-field/src/index.js","import controller from \"./field.controller.js\";\nimport template from \"./field.html\";\n\nexport default {\n bindings: {\n label: \"@?\",\n helpText: \"@?\",\n size: \"@?\",\n errorMessages: \" {\n // Get all controls in the field.\n this.controls = this.getAllControls();\n\n if (!this.controlElements.length) {\n throw new Error(\"oui-field component requires at least one form control.\");\n }\n\n if (!Object.keys(this.controls).length) {\n throw new Error(\"oui-field component requires a form control with a name.\");\n }\n\n // The id is taken from the first control occurrence\n // to create the `for` attribute on the label.\n // If the control is a checkbox or a radio, we skip this part\n // because we don't want to link the field label to the first checkbox/radio.\n if (this.ids.length === 1 && this.controlElements.length === 1) {\n this.for = this.ids[0];\n }\n\n this.$ouiFieldElement = angular.element(this.$element[0].querySelector(\".oui-field\"));\n\n Object.keys(this.controls).forEach(name => {\n const namedControls = this.controls[name];\n\n // TODO: Skip radio for now (there is no validation for them)\n if (namedControls.length > 1) {\n return;\n }\n\n // Manage the way the error are shown on the field.\n namedControls.forEach(control => {\n // Avoid binding DOM events\n if (angular.element(control).hasClass(CUSTOM_ELEMENT_CLASS)) {\n return;\n }\n this.bindDOMEvents(control, name);\n });\n\n // Retrieve all validation parameters by field name.\n this.validationParameters[name] = FieldController.getValidationParameters(this.controls[name][0]);\n });\n\n // Handle click on label to set focus on form element.\n this.label = angular.element(this.$element[0].querySelector(LABEL_SELECTOR));\n this.label.on(\"click\", () => {\n this.$scope.$broadcast(\"oui:focus\");\n });\n\n // Handle Popover aria\n if (this.labelPopover) {\n this.popoverId = `oui-field-popover-${this.$scope.$id}`;\n if (this.for) {\n const $ouiFieldInput = angular.element(this.$element[0].querySelector(`#${this.for}`));\n $ouiFieldInput.attr(\"aria-describedby\", this.popoverId);\n }\n }\n });\n }\n\n $destroy () {\n Object.keys(this.controls).forEach(name => {\n const namedControls = this.controls[name];\n namedControls.forEach(control => {\n angular.element(control).off(\"blur\");\n angular.element(control).off(\"focus\");\n });\n });\n\n if (this.label) {\n this.label.off(\"click\");\n }\n }\n\n bindDOMEvents (controlElement, name) {\n angular.element(controlElement).on(\"blur\", () => {\n this.$timeout(() => {\n this.checkControlErrors(controlElement, name);\n this.hasFocus = false;\n });\n });\n\n angular.element(controlElement).on(\"focus\", () => {\n this.$timeout(() => {\n this.hideErrors(controlElement, name);\n this.hasFocus = true;\n });\n });\n }\n\n checkControlErrors (controlElement, name) {\n if (this.form[name] && this.form[name].$invalid) {\n this.invalidOnBlur = true;\n this.currentErrorField = name;\n } else {\n this.invalidOnBlur = false;\n this.currentErrorField = null;\n }\n }\n\n hideErrors (controlElement, name) {\n this.form[name].$touched = false;\n this.invalidOnBlur = false;\n }\n\n isErrorVisible () {\n if (!this.form) {\n return false;\n }\n\n this.checkAllErrors();\n return this.invalidOnBlur || // true if invalid after blur event\n (this.form.$submitted && this.invalid && !this.hasFocus); // true if invalid after submit event\n }\n\n checkAllErrors () {\n this.invalid = Object.keys(this.controls)\n .map(name => {\n if (this.form[name].$invalid && !this.currentErrorField) {\n this.currentErrorField = name;\n }\n return this.form[name].$invalid;\n })\n .reduce(\n (fieldInvalid, controlInvalid) => fieldInvalid || controlInvalid,\n false\n );\n }\n\n getFirstError () {\n const names = Object.keys(this.controls);\n for (let i = 0; i < names.length; ++i) {\n if (this.form[names[i]] && this.form[names[i]].$invalid) {\n return this.form[names[i]].$error;\n }\n }\n\n return null;\n }\n\n getMessagesOrder () {\n // first known errors then custom errors\n return Object.keys(this.getFirstError()).sort((a, b) => MESSAGES_ORDER.indexOf(a) < MESSAGES_ORDER.indexOf(b));\n }\n\n getMessageString (errorName) {\n return (this.errorMessages && this.errorMessages[errorName]) || this.ouiFieldConfiguration.translations.errors[errorName];\n }\n\n getErrorMessage (errorName) {\n const message = this.getMessageString(errorName);\n const parameterValue = this.validationParameters[this.currentErrorField][errorName];\n return message.replace(`{{${errorName}}}`, parameterValue);\n }\n\n getAllControls () {\n const controlsSelector = CONTROLS_SELECTORS.join(\",\");\n this.controlElements = Array.from(this.$element[0].querySelectorAll(controlsSelector));\n return this.controlElements\n\n // Exclude all controls that have no defined name attribute.\n .filter(control => hasAttributeValue(control, \"name\"))\n .map(control => {\n // Get all ids available on controls\n if (hasAttributeValue(control, \"id\")) {\n this.ids.push(getAttribute(control, \"id\"));\n }\n\n return getAttribute(control, \"name\");\n })\n .reduce((controls, name) => {\n controls[name] = Array.from(this.$element[0].querySelectorAll(`[name=\"${name}\"]`));\n return controls;\n }, {});\n }\n\n static getValidationParameters (controlElement) {\n const validationParameters = {};\n Object.keys(VALIDATION_PARAMETERS).forEach(validationName => {\n const attributes = VALIDATION_PARAMETERS[validationName];\n attributes.forEach(attributeName => {\n if (hasAttributeValue(controlElement, attributeName)) {\n validationParameters[validationName] = getAttribute(controlElement, attributeName);\n }\n });\n });\n return validationParameters;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-field/src/field.controller.js","require('../../modules/es6.object.keys');\nmodule.exports = require('../../modules/_core').Object.keys;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/keys.js\n// module id = 338\n// module chunks = 0","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.keys.js\n// module id = 339\n// module chunks = 0","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-field/src/field.html\n// module id = 340\n// module chunks = 0","export default class {\n constructor () {\n this.translations = {\n errors: {\n required: \"Mandatory.\",\n number: \"Invalid number.\",\n email: \"Invalid email.\",\n min: \"Too low ({{min}} min).\",\n max: \"Too high ({{max}} max).\",\n minlength: \"Too short ({{minlength}} characters min).\",\n maxlength: \"Too high ({{maxlength}} characters max).\",\n pattern: \"Invalid format.\"\n }\n };\n }\n\n /**\n * Set the translations for the field component\n * @param {Object} translations a map of translations\n */\n setTranslations (translations) {\n this.translations = translations;\n return this;\n }\n\n $get () {\n return {\n translations: this.translations\n };\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-field/src/field.provider.js","import controller from \"./radio-group.controller\";\n\nexport default {\n template: \"\",\n controller,\n bindings: {\n name: \"@?\",\n model: \"=?\",\n onChange: \"&\"\n },\n transclude: true\n};\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-radio-group/src/radio-group.component.js","import \"@oui-angular/oui-radio/src\";\nimport \"@oui-angular/oui-radio-group/src\";\nimport RadioToggleGroup from \"./radio-toggle-group.component.js\";\n\nangular.module(\"oui.radio-toggle-group\", [\n \"oui.radio\",\n \"oui.radio-group\"\n]).component(\"ouiRadioToggleGroup\", RadioToggleGroup);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-radio-toggle-group/src/index.js","import controller from \"@oui-angular/oui-radio-group/src/radio-group.controller\";\n\nexport default {\n template: \"
\",\n controller,\n bindings: {\n name: \"@?\",\n model: \"=?\",\n onChange: \"&\"\n },\n transclude: true\n};\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-radio-toggle-group/src/radio-toggle-group.component.js","import \"./ui-select\";\nimport Select from \"./select.directive\";\n\nangular.module(\"oui.select\", [\n \"oui.field\",\n \"ui.select\",\n \"ngSanitize\"\n]).directive(\"ouiSelect\", Select);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-select/src/index.js","import Popper from \"popper.js\";\n\n/* eslint-disable */\n\n/*!\n * ui-select\n * http://github.com/angular-ui/ui-select\n * Version: 0.19.7 - 2017-04-15T14:28:36.649Z\n * License: MIT\n */\n\n\n(function () {\n\"use strict\";\nvar KEY = {\n TAB: 9,\n ENTER: 13,\n ESC: 27,\n SPACE: 32,\n LEFT: 37,\n UP: 38,\n RIGHT: 39,\n DOWN: 40,\n SHIFT: 16,\n CTRL: 17,\n ALT: 18,\n PAGE_UP: 33,\n PAGE_DOWN: 34,\n HOME: 36,\n END: 35,\n BACKSPACE: 8,\n DELETE: 46,\n COMMAND: 91,\n\n MAP: { 91 : \"COMMAND\", 8 : \"BACKSPACE\" , 9 : \"TAB\" , 13 : \"ENTER\" , 16 : \"SHIFT\" , 17 : \"CTRL\" , 18 : \"ALT\" , 19 : \"PAUSEBREAK\" , 20 : \"CAPSLOCK\" , 27 : \"ESC\" , 32 : \"SPACE\" , 33 : \"PAGE_UP\", 34 : \"PAGE_DOWN\" , 35 : \"END\" , 36 : \"HOME\" , 37 : \"LEFT\" , 38 : \"UP\" , 39 : \"RIGHT\" , 40 : \"DOWN\" , 43 : \"+\" , 44 : \"PRINTSCREEN\" , 45 : \"INSERT\" , 46 : \"DELETE\", 48 : \"0\" , 49 : \"1\" , 50 : \"2\" , 51 : \"3\" , 52 : \"4\" , 53 : \"5\" , 54 : \"6\" , 55 : \"7\" , 56 : \"8\" , 57 : \"9\" , 59 : \";\", 61 : \"=\" , 65 : \"A\" , 66 : \"B\" , 67 : \"C\" , 68 : \"D\" , 69 : \"E\" , 70 : \"F\" , 71 : \"G\" , 72 : \"H\" , 73 : \"I\" , 74 : \"J\" , 75 : \"K\" , 76 : \"L\", 77 : \"M\" , 78 : \"N\" , 79 : \"O\" , 80 : \"P\" , 81 : \"Q\" , 82 : \"R\" , 83 : \"S\" , 84 : \"T\" , 85 : \"U\" , 86 : \"V\" , 87 : \"W\" , 88 : \"X\" , 89 : \"Y\" , 90 : \"Z\", 96 : \"0\" , 97 : \"1\" , 98 : \"2\" , 99 : \"3\" , 100 : \"4\" , 101 : \"5\" , 102 : \"6\" , 103 : \"7\" , 104 : \"8\" , 105 : \"9\", 106 : \"*\" , 107 : \"+\" , 109 : \"-\" , 110 : \".\" , 111 : \"/\", 112 : \"F1\" , 113 : \"F2\" , 114 : \"F3\" , 115 : \"F4\" , 116 : \"F5\" , 117 : \"F6\" , 118 : \"F7\" , 119 : \"F8\" , 120 : \"F9\" , 121 : \"F10\" , 122 : \"F11\" , 123 : \"F12\", 144 : \"NUMLOCK\" , 145 : \"SCROLLLOCK\" , 186 : \";\" , 187 : \"=\" , 188 : \",\" , 189 : \"-\" , 190 : \".\" , 191 : \"/\" , 192 : \"`\" , 219 : \"[\" , 220 : \"\\\\\" , 221 : \"]\" , 222 : \"'\"\n },\n\n isControl: function (e) {\n var k = e.which;\n switch (k) {\n case KEY.COMMAND:\n case KEY.SHIFT:\n case KEY.CTRL:\n case KEY.ALT:\n return true;\n }\n\n if (e.metaKey || e.ctrlKey || e.altKey) return true;\n\n return false;\n },\n isFunctionKey: function (k) {\n k = k.which ? k.which : k;\n return k >= 112 && k <= 123;\n },\n isVerticalMovement: function (k){\n return ~[KEY.UP, KEY.DOWN].indexOf(k);\n },\n isHorizontalMovement: function (k){\n return ~[KEY.LEFT,KEY.RIGHT,KEY.BACKSPACE,KEY.DELETE].indexOf(k);\n },\n toSeparator: function (k) {\n var sep = {ENTER:\"\\n\",TAB:\"\\t\",SPACE:\" \"}[k];\n if (sep) return sep;\n // return undefined for special keys other than enter, tab or space.\n // no way to use them to cut strings.\n return KEY[k] ? undefined : k;\n }\n };\n\nfunction isNil(value) {\n return angular.isUndefined(value) || value === null;\n}\n\n/**\n * Add querySelectorAll() to jqLite.\n *\n * jqLite find() is limited to lookups by tag name.\n * TODO This will change with future versions of AngularJS, to be removed when this happens\n *\n * See jqLite.find - why not use querySelectorAll? https://github.com/angular/angular.js/issues/3586\n * See feat(jqLite): use querySelectorAll instead of getElementsByTagName in jqLite.find https://github.com/angular/angular.js/pull/3598\n */\nif (angular.element.prototype.querySelectorAll === undefined) {\n angular.element.prototype.querySelectorAll = function(selector) {\n return angular.element(this[0].querySelectorAll(selector));\n };\n}\n\n/**\n * Add closest() to jqLite.\n */\nif (angular.element.prototype.closest === undefined) {\n angular.element.prototype.closest = function( selector) {\n var elem = this[0];\n var matchesSelector = elem.matches || elem.webkitMatchesSelector || elem.mozMatchesSelector || elem.msMatchesSelector;\n\n while (elem) {\n if (matchesSelector.bind(elem)(selector)) {\n return elem;\n } else {\n elem = elem.parentElement;\n }\n }\n return false;\n };\n}\n\nvar latestId = 0;\n\nvar uis = angular.module('ui.select', [])\n\n.constant('uiSelectConfig', {\n theme: 'bootstrap',\n searchEnabled: true,\n sortable: false,\n placeholder: '', // Empty by default, like HTML tag \");\n $compile(focusser)(scope);\n $select.focusser = focusser;\n\n //Input that will handle focus\n $select.focusInput = focusser;\n\n element.parent().append(focusser);\n focusser.bind(\"focus\", function(){\n scope.$evalAsync(function(){\n $select.focus = true;\n });\n });\n focusser.bind(\"blur\", function(){\n scope.$evalAsync(function(){\n $select.focus = false;\n });\n });\n focusser.bind(\"keydown\", function(e){\n\n if (e.which === KEY.BACKSPACE && $select.backspaceReset !== false) {\n e.preventDefault();\n e.stopPropagation();\n $select.select(undefined);\n scope.$apply();\n return;\n }\n\n if (e.which === KEY.TAB || KEY.isControl(e) || KEY.isFunctionKey(e) || e.which === KEY.ESC) {\n return;\n }\n\n if (e.which == KEY.DOWN || e.which == KEY.UP || e.which == KEY.ENTER || e.which == KEY.SPACE){\n e.preventDefault();\n e.stopPropagation();\n $select.activate();\n }\n\n scope.$digest();\n });\n\n focusser.bind(\"keyup input\", function(e){\n\n if (e.which === KEY.TAB || KEY.isControl(e) || KEY.isFunctionKey(e) || e.which === KEY.ESC || e.which == KEY.ENTER || e.which === KEY.BACKSPACE) {\n return;\n }\n\n $select.activate(focusser.val()); //User pressed some regular key, so we pass it to the search input\n focusser.val('');\n scope.$digest();\n\n });\n\n\n }\n };\n}]);\n\n// Make multiple matches sortable\nuis.directive('uiSelectSort', ['$timeout', 'uiSelectConfig', 'uiSelectMinErr', function($timeout, uiSelectConfig, uiSelectMinErr) {\n return {\n require: ['^^uiSelect', '^ngModel'],\n link: function(scope, element, attrs, ctrls) {\n if (scope[attrs.uiSelectSort] === null) {\n throw uiSelectMinErr('sort', 'Expected a list to sort');\n }\n\n var $select = ctrls[0];\n var $ngModel = ctrls[1];\n\n var options = angular.extend({\n axis: 'horizontal'\n },\n scope.$eval(attrs.uiSelectSortOptions));\n\n var axis = options.axis;\n var draggingClassName = 'dragging';\n var droppingClassName = 'dropping';\n var droppingBeforeClassName = 'dropping-before';\n var droppingAfterClassName = 'dropping-after';\n\n scope.$watch(function(){\n return $select.sortable;\n }, function(newValue){\n if (newValue) {\n element.attr('draggable', true);\n } else {\n element.removeAttr('draggable');\n }\n });\n\n element.on('dragstart', function(event) {\n element.addClass(draggingClassName);\n\n (event.dataTransfer || event.originalEvent.dataTransfer).setData('text', scope.$index.toString());\n });\n\n element.on('dragend', function() {\n removeClass(draggingClassName);\n });\n\n var move = function(from, to) {\n /*jshint validthis: true */\n this.splice(to, 0, this.splice(from, 1)[0]);\n };\n\n var removeClass = function(className) {\n angular.forEach($select.$element.querySelectorAll('.' + className), function(el){\n angular.element(el).removeClass(className);\n });\n };\n\n var dragOverHandler = function(event) {\n event.preventDefault();\n\n var offset = axis === 'vertical' ? event.offsetY || event.layerY || (event.originalEvent ? event.originalEvent.offsetY : 0) : event.offsetX || event.layerX || (event.originalEvent ? event.originalEvent.offsetX : 0);\n\n if (offset < (this[axis === 'vertical' ? 'offsetHeight' : 'offsetWidth'] / 2)) {\n removeClass(droppingAfterClassName);\n element.addClass(droppingBeforeClassName);\n\n } else {\n removeClass(droppingBeforeClassName);\n element.addClass(droppingAfterClassName);\n }\n };\n\n var dropTimeout;\n\n var dropHandler = function(event) {\n event.preventDefault();\n\n var droppedItemIndex = parseInt((event.dataTransfer || event.originalEvent.dataTransfer).getData('text'), 10);\n\n // prevent event firing multiple times in firefox\n $timeout.cancel(dropTimeout);\n dropTimeout = $timeout(function() {\n _dropHandler(droppedItemIndex);\n }, 20);\n };\n\n var _dropHandler = function(droppedItemIndex) {\n var theList = scope.$eval(attrs.uiSelectSort);\n var itemToMove = theList[droppedItemIndex];\n var newIndex = null;\n\n if (element.hasClass(droppingBeforeClassName)) {\n if (droppedItemIndex < scope.$index) {\n newIndex = scope.$index - 1;\n } else {\n newIndex = scope.$index;\n }\n } else {\n if (droppedItemIndex < scope.$index) {\n newIndex = scope.$index;\n } else {\n newIndex = scope.$index + 1;\n }\n }\n\n move.apply(theList, [droppedItemIndex, newIndex]);\n\n $ngModel.$setViewValue(Date.now());\n\n scope.$apply(function() {\n scope.$emit('uiSelectSort:change', {\n array: theList,\n item: itemToMove,\n from: droppedItemIndex,\n to: newIndex\n });\n });\n\n removeClass(droppingClassName);\n removeClass(droppingBeforeClassName);\n removeClass(droppingAfterClassName);\n\n element.off('drop', dropHandler);\n };\n\n element.on('dragenter', function() {\n if (element.hasClass(draggingClassName)) {\n return;\n }\n\n element.addClass(droppingClassName);\n\n element.on('dragover', dragOverHandler);\n element.on('drop', dropHandler);\n });\n\n element.on('dragleave', function(event) {\n if (event.target != element) {\n return;\n }\n\n removeClass(droppingClassName);\n removeClass(droppingBeforeClassName);\n removeClass(droppingAfterClassName);\n\n element.off('dragover', dragOverHandler);\n element.off('drop', dropHandler);\n });\n }\n };\n}]);\n\nuis.directive('uisOpenClose', ['$parse', '$timeout', function ($parse, $timeout) {\n return {\n restrict: 'A',\n require: 'uiSelect',\n link: function (scope, element, attrs, $select) {\n $select.onOpenCloseCallback = $parse(attrs.uisOpenClose);\n\n scope.$watch('$select.open', function (isOpen, previousState) {\n if (isOpen !== previousState) {\n $timeout(function () {\n $select.onOpenCloseCallback(scope, {\n isOpen: isOpen\n });\n });\n }\n });\n }\n };\n}]);\n\n/**\n * Parses \"repeat\" attribute.\n *\n * Taken from AngularJS ngRepeat source code\n * See https://github.com/angular/angular.js/blob/v1.2.15/src/ng/directive/ngRepeat.js#L211\n *\n * Original discussion about parsing \"repeat\" attribute instead of fully relying on ng-repeat:\n * https://github.com/angular-ui/ui-select/commit/5dd63ad#commitcomment-5504697\n */\n\nuis.service('uisRepeatParser', ['uiSelectMinErr','$parse', function(uiSelectMinErr, $parse) {\n var self = this;\n\n /**\n * Example:\n * expression = \"address in addresses | filter: {street: $select.search} track by $index\"\n * itemName = \"address\",\n * source = \"addresses | filter: {street: $select.search}\",\n * trackByExp = \"$index\",\n */\n self.parse = function(expression) {\n\n\n var match;\n //var isObjectCollection = /\\(\\s*([\\$\\w][\\$\\w]*)\\s*,\\s*([\\$\\w][\\$\\w]*)\\s*\\)/.test(expression);\n // If an array is used as collection\n\n // if (isObjectCollection){\n // 000000000000000000000000000000111111111000000000000000222222222222220033333333333333333333330000444444444444444444000000000000000055555555555000000000000000000000066666666600000000\n match = expression.match(/^\\s*(?:([\\s\\S]+?)\\s+as\\s+)?(?:([\\$\\w][\\$\\w]*)|(?:\\(\\s*([\\$\\w][\\$\\w]*)\\s*,\\s*([\\$\\w][\\$\\w]*)\\s*\\)))\\s+in\\s+(\\s*[\\s\\S]+?)?(?:\\s+track\\s+by\\s+([\\s\\S]+?))?\\s*$/);\n\n // 1 Alias\n // 2 Item\n // 3 Key on (key,value)\n // 4 Value on (key,value)\n // 5 Source expression (including filters)\n // 6 Track by\n\n if (!match) {\n throw uiSelectMinErr('iexp', \"Expected expression in form of '_item_ in _collection_[ track by _id_]' but got '{0}'.\",\n expression);\n }\n\n var source = match[5],\n filters = '';\n\n // When using (key,value) ui-select requires filters to be extracted, since the object\n // is converted to an array for $select.items\n // (in which case the filters need to be reapplied)\n if (match[3]) {\n // Remove any enclosing parenthesis\n source = match[5].replace(/(^\\()|(\\)$)/g, '');\n // match all after | but not after ||\n var filterMatch = match[5].match(/^\\s*(?:[\\s\\S]+?)(?:[^\\|]|\\|\\|)+([\\s\\S]*)\\s*$/);\n if(filterMatch && filterMatch[1].trim()) {\n filters = filterMatch[1];\n source = source.replace(filters, '');\n }\n }\n\n return {\n itemName: match[4] || match[2], // (lhs) Left-hand side,\n keyName: match[3], //for (key, value) syntax\n source: $parse(source),\n filters: filters,\n trackByExp: match[6],\n modelMapper: $parse(match[1] || match[4] || match[2]),\n repeatExpression: function (grouped) {\n var expression = this.itemName + ' in ' + (grouped ? '$group.items' : '$select.items');\n if (this.trackByExp) {\n expression += ' track by ' + this.trackByExp;\n }\n return expression;\n }\n };\n\n };\n\n self.getGroupNgRepeatExpression = function() {\n return '$group in $select.groups track by $group.name';\n };\n\n}]);\n\n}());\nangular.module(\"ui.select\")\n .run([\"$templateCache\", function($templateCache) {\n $templateCache.put(\"bootstrap/choices.tpl.html\", require(\"./templates/choices.html\"));\n $templateCache.put(\"bootstrap/match-multiple.tpl.html\",\" × \");\n $templateCache.put(\"bootstrap/match.tpl.html\", require(\"./templates/match.html\"));\n $templateCache.put(\"bootstrap/no-choice.tpl.html\",\"
\");\n $templateCache.put(\"bootstrap/select-multiple.tpl.html\",\"
\");\n $templateCache.put(\"bootstrap/select.tpl.html\", require(\"./templates/select.html\"));\n }]);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-select/src/ui-select.js","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-select/src/templates/choices.html\n// module id = 347\n// module chunks = 0","module.exports = \" \";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-select/src/templates/match.html\n// module id = 348\n// module chunks = 0","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-select/src/templates/select.html\n// module id = 349\n// module chunks = 0","import controller from \"./select.controller\";\nimport template from \"./select.html\";\n\nexport default () => ({\n require: {\n fieldCtrl: \"?^^ouiField\",\n selectCtrl: \"ouiSelect\"\n },\n controller,\n controllerAs: \"$ctrl\",\n bindToController: true,\n scope: {\n model: \"=\",\n name: \"@?\",\n required: \" {\n const itemTemplate = $element.html();\n const $template = angular.element(template);\n const choicesElement = $template.find(\"ui-select-choices\");\n\n choicesElement.html(itemTemplate);\n if ($attrs.groupBy) {\n choicesElement.attr(\"group-by\", \"$ctrl.groupBy\");\n }\n\n const htmlContent = $template[0].outerHTML;\n $element.empty();\n\n return (scope, elem, attrs, { selectCtrl }) => {\n selectCtrl.htmlContent = htmlContent;\n };\n }\n});\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-select/src/select.directive.js","import { addBooleanParameter } from \"@oui-angular/common/component-utils\";\n\nconst UI_SELECT_SELECTOR = \".oui-ui-select-container\";\nconst UI_SELECT_DROPDOWN_TRIGGER = \".oui-button_dropdown\";\n\nexport default class {\n constructor ($attrs, $compile, $element, $scope, $timeout) {\n \"ngInject\";\n\n this.$attrs = $attrs;\n this.$compile = $compile;\n this.$element = $element;\n this.$scope = $scope;\n this.$timeout = $timeout;\n }\n\n $onInit () {\n addBooleanParameter(this, \"disabled\");\n addBooleanParameter(this, \"required\");\n }\n\n $postLink () {\n const $htmlContent = angular.element(this.htmlContent);\n const matchElement = $htmlContent.find(\"ui-select-match\");\n\n if (this.match) {\n matchElement.html(`{{$select.selected.${this.match}}}`);\n } else {\n matchElement.html(\"{{$select.selected}}\");\n }\n\n this.$compile($htmlContent)(this.$scope, (clone) => {\n this.$element.append(clone);\n });\n\n this.$timeout(() => {\n this.$element.removeAttr(\"name\");\n\n this.uiSelectElement = this.$element[0].querySelector(UI_SELECT_SELECTOR);\n this.uiSelectDropdownTrigger = this.$element[0].querySelector(UI_SELECT_DROPDOWN_TRIGGER);\n\n this.unregisterFocus = this.$scope.$on(\"oui:focus\", () => {\n this.uiSelectDropdownTrigger.focus();\n });\n });\n }\n\n $destroy () {\n if (this.unregisterFocus) {\n this.unregisterFocus();\n }\n }\n\n onUiSelectBlur () {\n if (this.fieldCtrl) {\n this.fieldCtrl.hasFocus = false;\n this.fieldCtrl.checkControlErrors(this.uiSelectElement, this.name);\n }\n\n this.onBlur();\n }\n\n onUiSelectFocus () {\n if (this.fieldCtrl) {\n this.fieldCtrl.hasFocus = true;\n this.fieldCtrl.hideErrors(this.uiSelectElement, this.name);\n }\n\n this.onFocus();\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-select/src/select.controller.js","module.exports = \" \";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-select/src/select.html\n// module id = 352\n// module chunks = 0","import SelectPicker from \"./select-picker.component.js\";\n\nangular.module(\"oui.select-picker\", []).component(\"ouiSelectPicker\", SelectPicker);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-select-picker/src/index.js","import controller from \"./select-picker.controller\";\nimport template from \"./select-picker.html\";\n\nexport default {\n template,\n controller,\n transclude: {\n sectionSlot: \"?span\"\n },\n bindings: {\n text: \"@\",\n description: \"@?\",\n picture: \"@?\",\n placeholder: \"@?\",\n values: \"<\",\n id: \"@?\",\n name: \"@?\",\n match: \"@\",\n model: \"=?\",\n onChange: \"&?\",\n disabled: \" get(item, path, \"\");\n }\n\n $postLink () {\n // Sometimes the digest cycle is done before dom manipulation,\n // So we use $timeout to force the $apply\n this.$timeout(() => {\n this.$element\n .removeAttr(\"id\")\n .removeAttr(\"name\");\n\n this.labelElement = this.$element.find(\"label\");\n this.labelElement.on(\"click\", event => this.openSelectMenu(event));\n });\n }\n\n $onInit () {\n addBooleanParameter(this, \"disabled\");\n addBooleanParameter(this, \"required\");\n addDefaultParameter(this, \"id\", `ouiSelectPicker${this.$scope.$id}`);\n\n if (this.picture) {\n this.isImgPath = /\\.(gif|png|jpg)$/.test(this.picture);\n }\n\n if (this.values && this.values.length === 1) {\n this.selectedValue = this.values[0];\n }\n\n this.transcludeSection = this.$transclude.isSlotFilled(\"sectionSlot\");\n }\n\n $destroy () {\n this.labelElement.off(\"click\");\n }\n\n getFirstValueMatch (path) {\n return get(this.values[0], path, \"\");\n }\n\n openSelectMenu (event) {\n if (this.values && this.values.length > 1 && !this.selectedValue) {\n const $button = angular.element(this.$element[0].querySelectorAll(\".ui-select-match\"));\n const isButtonClicked = SelectPickerController.hasParentButton(event.target);\n if (!isButtonClicked && $button.length > 0) {\n $button.triggerHandler(\"click\");\n event.stopPropagation();\n }\n }\n }\n\n onSelectModelChange (event) {\n this.model = event.modelValue;\n this.onRadioModelChange(event);\n }\n\n onRadioModelChange (event) {\n if (this.onChange) {\n this.$timeout(() => this.onChange(event));\n }\n }\n\n static hasParentButton (element) {\n let currentNode = element;\n do {\n if (currentNode.nodeName === \"BUTTON\") {\n return true;\n }\n currentNode = currentNode.parentNode;\n } while (currentNode.nodeName !== \"OUI-SELECT-PICKER\");\n return false;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-select-picker/src/select-picker.controller.js","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-select-picker/src/select-picker.html\n// module id = 356\n// module chunks = 0","import Textarea from \"./textarea.component.js\";\nimport TextareaProvider from \"./textarea.provider.js\";\n\nangular.module(\"oui.textarea\", [])\n .component(\"ouiTextarea\", Textarea)\n .provider(\"ouiTextareaConfiguration\", TextareaProvider);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-textarea/src/index.js","import controller from \"./textarea.controller\";\nimport template from \"./textarea.html\";\n\nexport default {\n template,\n controller,\n bindings: {\n model: \"=?\",\n id: \"@?\",\n name: \"@?\",\n placeholder: \"@?\",\n rows: \"@?\",\n disabled: \" {\n this.$element\n .removeAttr(\"id\")\n .removeAttr(\"name\");\n\n this.$footer = angular.element(this.$element[0].querySelector(`.${footerClass}`));\n this.textarea = this.$element[0].querySelector(\"textarea\");\n this.$footer.on(\"click\", () => {\n this.textarea.focus();\n });\n\n this.updateErrorState();\n });\n }\n\n $onChanges (changes) {\n if (changes.disabled) {\n this.setDisabled(changes.disabled.currentValue);\n }\n\n if (changes.readonly) {\n this.setReadonly(changes.readonly.currentValue);\n }\n }\n\n $destroy () {\n this.$footer.off(\"click\");\n }\n\n onTextareaChange () {\n if (this.onChange) {\n this.onChange({ modelValue: this.model });\n }\n this.updateErrorState();\n }\n\n updateErrorState () {\n if (!this.textarea || angular.isUndefined(this.maxlength)) {\n return;\n }\n const length = angular.element(this.textarea).val().length;\n this.$element.toggleClass(errorClass, length > this.maxlength);\n }\n\n getMaxLengthText () {\n const translation = this.ouiTextareaConfiguration.translations.lengthCounter;\n return translation\n .replace(\"{{length}}\", this.textarea ? this.textarea.value.length : 0)\n .replace(\"{{max}}\", this.maxlength);\n }\n\n setDisabled (disabled) {\n this.disabled = disabled;\n this.$element.toggleClass(disabledClass, disabled);\n }\n\n setFocus (focused) {\n this.$element.toggleClass(focusClass, focused);\n }\n\n setReadonly (readonly) {\n this.readonly = readonly;\n this.$element.toggleClass(readonlyClass, readonly);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-textarea/src/textarea.controller.js","module.exports = \" \";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-textarea/src/textarea.html\n// module id = 360\n// module chunks = 0","export default class {\n constructor () {\n this.translations = {\n lengthCounter: \"{{length}}/{{max}} characters\"\n };\n }\n\n /**\n * Set the translations for the datagrid component\n * @param {Object} translations a map of translations\n */\n setTranslations (translations) {\n this.translations = translations;\n return this;\n }\n\n $get () {\n return {\n translations: this.translations\n };\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-textarea/src/textarea.provider.js","import FormActions from \"./form-actions.component\";\nimport FormActionsProvider from \"./form-actions.provider\";\n\nangular.module(\"oui.form-actions\", [])\n .component(\"ouiFormActions\", FormActions)\n .provider(\"ouiFormActionsConfiguration\", FormActionsProvider);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-form-actions/src/index.js","import controller from \"./form-actions.controller.js\";\nimport template from \"./form-actions.html\";\n\nexport default {\n template,\n controller,\n bindings: {\n submitText: \"@?\",\n cancelText: \"@?\",\n onSubmit: \"&\",\n onCancel: \"&?\",\n href: \"@?\"\n },\n transclude: true\n};\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-form-actions/src/form-actions.component.js","export default class {\n constructor ($attrs, ouiFormActionsConfiguration) {\n \"ngInject\";\n\n this.$attrs = $attrs;\n this.config = ouiFormActionsConfiguration;\n }\n\n $onInit () {\n this.processTranslations();\n }\n\n processTranslations () {\n this.translations = Object.assign({}, this.config.translations);\n\n if (angular.isUndefined(this.submitText)) {\n this.submitText = this.translations.submit;\n }\n\n if (angular.isUndefined(this.cancelText)) {\n this.cancelText = this.translations.cancel;\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-form-actions/src/form-actions.controller.js","module.exports = \" \";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-form-actions/src/form-actions.html\n// module id = 365\n// module chunks = 0","export default class {\n constructor () {\n this.translations = {\n submit: \"Submit\",\n cancel: \"Cancel\"\n };\n }\n\n setTranslations (translations) {\n this.translations = translations;\n return this;\n }\n\n $get () {\n return {\n translations: this.translations\n };\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-form-actions/src/form-actions.provider.js","import Search from \"./search.component\";\n\nangular\n .module(\"oui.search\", [])\n .component(\"ouiSearch\", Search);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-search/src/index.js","import controller from \"./search.controller\";\nimport template from \"./search.html\";\n\nexport default {\n require: {\n criteriaContainer: \"?^^ouiCriteriaContainer\"\n },\n bindings: {\n model: \"=\",\n id: \"@?\",\n name: \"@?\",\n placeholder: \"@?\",\n ariaLabel: \"@?\",\n\n disabled: \"\n this.$element\n .removeAttr(\"aria-label\")\n .removeAttr(\"id\")\n .removeAttr(\"name\")\n .addClass(componentClass)\n );\n }\n\n onKeyDown (event) {\n if (event.keyCode === escKeyCode) {\n this.onSearchReset();\n }\n }\n\n $destroy () {\n this.$input.off(\"keypress\");\n }\n\n onSearchChange () {\n const modelValue = this.model;\n\n this.onChange({ modelValue });\n\n this.onCriterionChange();\n }\n\n onCriterionChange () {\n const modelValue = this.model;\n\n if (this.criteriaContainer) {\n if (modelValue && modelValue.length >= minLengthTrigger) {\n this.criteriaContainer.setPreviewCriterion(SearchController.getCriterion(modelValue), true);\n } else {\n this.criteriaContainer.deletePreviewCriterion();\n }\n }\n }\n\n onSearchSubmit (modelValue) {\n this.model = undefined;\n\n this.onSubmit({ modelValue });\n\n this.onCriterionSubmit(modelValue);\n }\n\n onCriterionSubmit (modelValue) {\n if (this.criteriaContainer && modelValue && modelValue.length >= minLengthTrigger) {\n this.criteriaContainer.add(SearchController.getCriterion(modelValue));\n }\n }\n\n onSearchReset () {\n // Since type=\"reset\" doesn't reset the model\n this.model = undefined;\n\n this.onReset();\n\n this.onCriterionReset();\n }\n\n onCriterionReset () {\n if (this.criteriaContainer) {\n this.criteriaContainer.deletePreviewCriterion();\n }\n }\n\n static getCriterion (modelValue) {\n return {\n title: modelValue,\n property: null, // any property\n operator: \"contains\",\n value: modelValue\n };\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-search/src/search.controller.js","var isObject = require('./isObject'),\n now = require('./now'),\n toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/debounce.js\n// module id = 370\n// module chunks = 0","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/now.js\n// module id = 371\n// module chunks = 0","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-search/src/search.html\n// module id = 372\n// module chunks = 0","import CriteriaContainer from \"./criteria-container.component\";\n\nangular.module(\"oui.criteria-container\", [])\n .component(\"ouiCriteriaContainer\", CriteriaContainer);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-criteria-container/src/index.js","import controller from \"./criteria-container.controller\";\n\nexport default {\n template: \"\",\n transclude: true,\n controller,\n bindings: {\n onChange: \"&\"\n }\n};\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-criteria-container/src/criteria-container.component.js","import { findIndex } from \"lodash\";\n\nexport default class CriteriaController {\n $onInit () {\n this.criteria = [];\n }\n\n triggerChange () {\n if (this.onChange) {\n this.onChange({ modelValue: this.criteria });\n }\n }\n\n indexOfCriterion (criterion) {\n let criterionIndex = this.criteria.length - 1;\n while (criterionIndex >= 0 && !angular.equals(this.criteria[criterionIndex], criterion)) {\n --criterionIndex;\n }\n return criterionIndex;\n }\n\n setPreviewCriterion (previewCriterion) {\n const criterionIndex = findIndex(this.criteria, [\"preview\", true]);\n previewCriterion.preview = true;\n if (criterionIndex > -1) {\n this.criteria[criterionIndex] = previewCriterion;\n } else {\n this.criteria.push(previewCriterion);\n }\n this.triggerChange();\n }\n\n deletePreviewCriterion () {\n const previewCriterionIndex = findIndex(this.criteria, [\"preview\", true]);\n if (previewCriterionIndex > -1) {\n this.criteria.splice(previewCriterionIndex, 1);\n this.triggerChange();\n }\n }\n\n add (criterion) {\n // Delete same preview criterion if it exists.\n const previewCriterion = angular.copy(criterion);\n previewCriterion.preview = true;\n\n const previewCriterionIndex = this.indexOfCriterion(previewCriterion);\n if (previewCriterionIndex > -1) {\n this.criteria.splice(previewCriterionIndex, 1);\n }\n\n // Add the criterion if it does not exist.\n if (this.indexOfCriterion(criterion) < 0) {\n this.criteria.push(criterion);\n this.triggerChange();\n }\n }\n\n remove (criterion) {\n const criterionIndex = this.indexOfCriterion(criterion);\n if (criterionIndex > -1) {\n this.criteria.splice(criterionIndex, 1);\n this.triggerChange();\n }\n }\n\n set (criteria) {\n this.criteria = criteria;\n this.triggerChange();\n }\n\n clear () {\n this.criteria = [];\n this.triggerChange();\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-criteria-container/src/criteria-container.controller.js","import CriteriaAdder from \"./criteria-adder.component\";\nimport CriteriaAdderProvider from \"./criteria-adder.provider\";\n\nangular\n .module(\"oui.criteria-adder\", [])\n .component(\"ouiCriteriaAdder\", CriteriaAdder)\n .provider(\"ouiCriteriaAdderConfiguration\", CriteriaAdderProvider);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-criteria-adder/src/index.js","import controller from \"./criteria-adder.controller\";\nimport template from \"./criteria-adder.html\";\n\nexport default {\n require: {\n criteriaContainer: \"?^^ouiCriteriaContainer\"\n },\n bindings: {\n id: \"@?\",\n name: \"@\",\n align: \"@?\",\n\n properties: \"<\",\n disabled: \" {\n this.dropdownContent = this.$element[0];\n });\n\n // Auto select first column\n if (this.properties) {\n this.columnModel = this.properties[0];\n }\n\n this.selectableOperators = this.filterSelectableOperators();\n this.operatorModel = this.selectableOperators[0];\n }\n\n $postLink () {\n // Sometimes the digest cycle is done before dom manipulation,\n // So we use $timeout to force the $apply\n this.$timeout(() => {\n this.$element\n .addClass(\"oui-criteria-adder\")\n .removeAttr(\"id\")\n .removeAttr(\"name\");\n });\n }\n\n getOperatorsByType (type) {\n const operators = this.operators[type] || [];\n return operators.map((operator) => ({\n name: operator,\n title: this.translations[`operator_${type}_${operator}`]\n }));\n }\n\n onColumnChange () {\n this.resetValueModel();\n this.selectableOperators = this.filterSelectableOperators();\n this.operatorModel = this.selectableOperators[0];\n }\n\n onFormSubmit () {\n if (this.valueModel[this.columnModel.type] !== undefined) {\n const modelValue = {\n title: `${this.columnModel.title} ${this.operatorModel.title} ${this.getCriterionValueLabel()}`,\n property: this.columnModel.name,\n operator: this.operatorModel.name,\n value: this.getCriterionValue()\n };\n\n this.onSubmit({ modelValue });\n this.resetValueModel();\n\n if (this.criteriaContainer) {\n this.criteriaContainer.add(modelValue);\n }\n }\n }\n\n getCriterionValue () {\n if ([\"boolean\", \"options\"].indexOf(this.columnModel.type) < 0) {\n return this.valueModel[this.columnModel.type];\n }\n\n return this.valueModel[this.columnModel.type].value;\n }\n\n getCriterionValueLabel () {\n switch (this.columnModel.type) {\n case \"boolean\":\n return this.getBooleanLabel(this.valueModel[this.columnModel.type].value);\n\n case \"options\":\n return this.getOptionsLabel(this.valueModel[this.columnModel.type].value);\n\n default:\n return this.valueModel[this.columnModel.type];\n }\n }\n\n getBooleanLabel (value) {\n if (value) {\n return get(this.columnModel, \"typeOptions.trueValue\") || this.translations.true_label;\n }\n\n return get(this.columnModel, \"typeOptions.falseValue\") || this.translations.false_label;\n }\n\n initBooleanCriterion () {\n this.booleanChoices = [true, false].map(value => ({\n name: this.getBooleanLabel(value),\n value\n }));\n this.valueModel[this.columnModel.type] = this.booleanChoices[0];\n }\n\n getOptionsLabel (value) {\n const options = get(this.columnModel, \"typeOptions.values\");\n return options && options[value] ? options[value] : value;\n }\n\n initOptionsCriterion () {\n const options = get(this.columnModel, \"typeOptions.values\");\n if (!options) {\n return;\n }\n\n this.optionsChoices = Object.keys(options)\n .map(key => ({\n name: options[key],\n value: key\n }))\n .sort((a, b) => String(a.name).localeCompare(String(b.name)));\n\n this.valueModel[this.columnModel.type] = this.optionsChoices[0];\n }\n\n resetValueModel () {\n Object.keys(this.valueModel).forEach(key => {\n this.valueModel[key] = undefined;\n });\n\n if (this.columnModel.type === \"boolean\") {\n this.initBooleanCriterion();\n } else if (this.columnModel.type === \"options\") {\n this.initOptionsCriterion();\n }\n }\n\n filterSelectableOperators () {\n const type = this.columnModel.type;\n const customOperatorsList = get(this.columnModel, \"typeOptions.operators\");\n const operators = customOperatorsList || this.operators[type] || [];\n return operators.map((operator) => ({\n name: operator,\n title: this.translations[`operator_${type}_${operator}`]\n }));\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-criteria-adder/src/criteria-adder.controller.js","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-criteria-adder/src/criteria-adder.html\n// module id = 379\n// module chunks = 0","export default class {\n constructor () {\n this.operatorsByType = {\n \"boolean\": [\n \"is\",\n \"isNot\"\n ],\n date: [\n \"is\",\n \"isAfter\",\n \"isBefore\"\n ],\n number: [\n \"is\",\n \"smaller\",\n \"bigger\"\n ],\n options: [\n \"is\",\n \"isNot\"\n ],\n string: [\n \"contains\",\n \"containsNot\",\n \"startsWith\",\n \"endsWith\",\n \"is\",\n \"isNot\"\n ]\n };\n\n this.translations = {\n column_label: \"Column\",\n operator_label: \"Operator\",\n\n operator_boolean_is: \"is\",\n operator_boolean_isNot: \"is not\",\n\n operator_string_contains: \"contains\",\n operator_string_containsNot: \"does not contain\",\n operator_string_startsWith: \"starts with\",\n operator_string_endsWith: \"ends with\",\n operator_string_is: \"is\",\n operator_string_isNot: \"is not\",\n\n operator_number_is: \"is\",\n operator_number_smaller: \"is smaller than\",\n operator_number_bigger: \"is bigger than\",\n\n operator_date_is: \"is\",\n operator_date_isBefore: \"is before\",\n operator_date_isAfter: \"is after\",\n\n operator_options_is: \"is\",\n operator_options_isNot: \"is not\",\n\n true_label: \"Yes\",\n false_label: \"No\",\n\n value_label: \"Value\",\n submit_label: \"Add\"\n };\n }\n\n /**\n * Set the operators by type\n * @param {Object} operatorsByType a list of operators by type\n */\n setOperatorsByType (operatorsByType) {\n this.operatorsByType = operatorsByType;\n return this;\n }\n\n /**\n * Set the translations\n * @param {Object} translations a map of translations\n */\n setTranslations (translations) {\n this.translations = translations;\n return this;\n }\n\n $get () {\n return {\n operatorsByType: this.operatorsByType,\n translations: this.translations\n };\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-criteria-adder/src/criteria-adder.provider.js","import Chips from \"./chips.component.js\";\n\nangular.module(\"oui.chips\", []).component(\"ouiChips\", Chips);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-chips/src/index.js","import controller from \"./chips.controller\";\nimport template from \"./chips.html\";\n\nexport default {\n require: {\n criteriaContainer: \"?^^ouiCriteriaContainer\"\n },\n template,\n controller,\n bindings: {\n items: \"<\",\n\n closable: \"\n this.$element\n .addClass(\"oui-chip__container\")\n );\n }\n\n removeItem (index) {\n // angular.copy to remove the $$hashKey\n const removed = angular.copy(this.items.splice(index, 1)[0]);\n const items = angular.copy(this.items);\n this.onRemove({ items, removed });\n\n if (this.criteriaContainer) {\n this.criteriaContainer.remove(removed);\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-chips/src/chips.controller.js","module.exports = \" \";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-chips/src/chips.html\n// module id = 384\n// module chunks = 0","import Popover from \"./popover.component.js\";\nimport PopoverContent from \"./popover-content.directive\";\nimport PopoverTrigger from \"./popover-trigger.directive\";\n\nangular.module(\"oui.popover\", [])\n .component(\"ouiPopover\", Popover)\n .directive(\"ouiPopoverContent\", PopoverContent)\n .directive(\"ouiPopoverTrigger\", PopoverTrigger);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-popover/src/index.js","import controller from \"./popover.controller\";\nimport template from \"./popover.html\";\n\nexport default {\n template,\n controller,\n bindings: {\n placement: \"@?\"\n },\n transclude: true\n};\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-popover/src/popover.component.js","import Popper from \"popper.js\";\n\nconst KEY_ESCAPE = 27;\n\nexport default class PopoverController {\n constructor ($scope, $element, $attrs, $document, $timeout) {\n \"ngInject\";\n\n this.$scope = $scope;\n this.$element = $element;\n this.$attrs = $attrs;\n this.$document = $document;\n this.$timeout = $timeout;\n }\n\n $onInit () {\n this.isPopoverOpen = false;\n\n // Use internal id to map trigger\n this.id = `ouiPopover${this.$scope.$id}`;\n\n if (angular.isUndefined(this.placement)) {\n this.placement = \"right\";\n }\n }\n\n $postLink () {\n this.triggerElement = this.$element[0].querySelector(\".oui-popover__trigger\");\n this.popperElement = this.$element[0].querySelector(\".oui-popover__content\");\n this.arrowElement = this.$element[0].querySelector(\".oui-popover__arrow\");\n }\n\n $destroy () {\n this.closePopover();\n }\n\n onTriggerClick () {\n if (!this.isPopoverOpen) {\n this.openPopover();\n } else {\n this.closePopover();\n }\n }\n\n triggerKeyHandler (evt) {\n if (evt && evt.type === \"keydown\" && evt.which === KEY_ESCAPE) {\n this.$scope.$apply(() => {\n this.closePopover();\n });\n }\n }\n\n openPopover () {\n this.isPopoverOpen = true;\n angular.element(this.$element.children()[0]).addClass(\"oui-popover_active\");\n this.updatePopper();\n\n this.$document.on(\"keydown\", evt => this.triggerKeyHandler(evt));\n this.$scope.$broadcast(\"oui:popover:afterOpen\", this.id);\n }\n\n closePopover () {\n this.isPopoverOpen = false;\n angular.element(this.$element.children()[0]).removeClass(\"oui-popover_active\");\n this.destroyPopper();\n\n this.$document.off(\"keydown\", evt => this.triggerKeyHandler(evt));\n this.$scope.$broadcast(\"oui:popover:afterClose\", this.id);\n }\n\n createPopper () {\n // Let Popper.js manage the arrow position when it's centered (default).\n if (this.arrowElement) {\n this.arrowElement.setAttribute(\"x-arrow\", \"\");\n }\n\n this.popperElement.style.minWidth = `${this.triggerElement.offsetWidth}px`;\n\n this.popper = new Popper(this.triggerElement, this.popperElement, {\n placement: this.placement,\n modifiers: {\n preventOverflow: {\n boundariesElement: this.$document[0].body\n }\n }\n });\n }\n\n updatePopper () {\n if (this.popper) {\n this.popper.scheduleUpdate();\n } else {\n this.createPopper();\n }\n }\n\n destroyPopper () {\n if (!this.popper) {\n return;\n }\n\n this.popper.destroy();\n this.popper = null;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-popover/src/popover.controller.js","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-popover/src/popover.html\n// module id = 388\n// module chunks = 0","import contentTemplate from \"./popover-content.html\";\n\nexport default () => {\n \"ngInject\";\n\n return {\n restrict: \"AE\",\n require: {\n popover: \"^ouiPopover\"\n },\n controller: class {},\n controllerAs: \"$ctrl\",\n bindToController: true,\n scope: {},\n template: contentTemplate,\n transclude: true\n };\n};\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-popover/src/popover-content.directive.js","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-popover/src/popover-content.html\n// module id = 390\n// module chunks = 0","const popoverTriggerClass = \"oui-popover__trigger\";\n\nexport default () => {\n \"ngInject\";\n\n return {\n restrict: \"AE\",\n require: \"^ouiPopover\",\n scope: {},\n link: (scope, element, attrs, ctrl) => {\n const triggerElement = element;\n\n triggerElement.addClass(popoverTriggerClass);\n\n triggerElement.attr(\"id\", ctrl.id);\n triggerElement.attr({ \"aria-haspopup\": true, \"aria-expanded\": false });\n\n triggerElement.on(\"click\", () => ctrl.onTriggerClick());\n\n scope.$on(\"oui:popover:afterOpen\", (e, id) => {\n if (id !== ctrl.id) {\n return;\n }\n\n triggerElement.attr(\"aria-expanded\", true);\n });\n\n scope.$on(\"oui:popover:afterClose\", (e, id) => {\n if (id !== ctrl.id) {\n return;\n }\n\n triggerElement.attr(\"aria-expanded\", false);\n });\n\n scope.$on(\"$destroy\", () => {\n triggerElement.off(\"click\");\n });\n }\n };\n};\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-popover/src/popover-trigger.directive.js","import StepForm from \"./step-form/step-form.component\";\nimport Stepper from \"./stepper.component\";\nimport StepperProvider from \"./stepper.provider\";\n\nangular.module(\"oui.stepper\", [])\n .component(\"ouiStepper\", Stepper)\n .component(\"ouiStepForm\", StepForm)\n .provider(\"ouiStepperConfiguration\", StepperProvider);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-stepper/src/index.js","import controller from \"./step-form.controller.js\";\nimport template from \"./step-form.html\";\n\nexport default {\n require: {\n stepperCtrl: \"^ouiStepper\"\n },\n bindings: {\n id: \"@?\",\n name: \"@?\",\n header: \"@\",\n description: \"@?\",\n\n cancelHref: \"@?\",\n cancelText: \"@?\",\n loadingText: \"@?\",\n submitText: \"@?\",\n\n disabled: \"\n this.$element\n .addClass(\"oui-stepper__step oui-stepper__step_form\")\n .removeAttr(\"id\")\n .removeAttr(\"name\")\n );\n }\n\n onFormSubmit (form) {\n if (form.$valid && this.valid) {\n this.onSubmit({ form });\n\n // Focus next step\n this.stepperCtrl.addForm(form, this.stepper.index);\n }\n }\n\n setFocus (form) {\n this.stepperCtrl.focusStep(this.stepper.index);\n form.$setPristine();\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-stepper/src/step-form/step-form.controller.js","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-stepper/src/step-form/step-form.html\n// module id = 395\n// module chunks = 0","import controller from \"./stepper.controller.js\";\nimport template from \"./stepper.html\";\n\nexport default {\n bindings: {\n name: \"@\",\n id: \"@\",\n onInit: \"&\",\n onFinish: \"&\"\n },\n controller,\n template,\n transclude: true\n};\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-stepper/src/stepper.component.js","export default class {\n constructor ($attrs, $element, $timeout) {\n \"ngInject\";\n\n this.$attrs = $attrs;\n this.$element = $element;\n this.$timeout = $timeout;\n }\n\n $onInit () {\n this.forms = [];\n this.steps = [];\n this.currentIndex = 0;\n this.onInit();\n }\n\n $postLink () {\n this.$timeout(() =>\n this.$element\n .removeAttr(\"id\")\n .removeAttr(\"name\")\n .addClass(\"oui-stepper\")\n );\n }\n\n addStep (step) {\n this.steps.push(step);\n this.focusStep(this.currentIndex);\n }\n\n addForm (form, index) {\n this.forms[index] = form;\n this.nextStep();\n\n // Check index for onFinish event\n if (index === this.steps.length - 1) {\n this.onFinish({ forms: this.forms });\n }\n }\n\n nextStep () {\n const indexToFocus = Math.min(this.currentIndex + 1, this.steps.length);\n this.focusStep(indexToFocus);\n }\n\n prevStep () {\n const indexToFocus = Math.max(this.currentIndex - 1, 0);\n this.focusStep(indexToFocus);\n }\n\n focusStep (indexToFocus) {\n this.currentIndex = indexToFocus;\n this.steps.forEach((step, index) => {\n const focused = index === indexToFocus;\n\n // Disable steps not focused\n if (angular.isDefined(step.stepper)) {\n step.stepper.index = index;\n step.stepper.focused = focused;\n step.stepper.disabled = index > this.currentIndex;\n step.stepper.last = index === this.steps.length - 1;\n }\n\n // Call onFocus step event\n if (focused) {\n step.onFocus();\n }\n });\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-stepper/src/stepper.controller.js","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-stepper/src/stepper.html\n// module id = 398\n// module chunks = 0","import { merge } from \"lodash\";\n\nexport default class {\n constructor () {\n this.translations = {\n optionalLabel: \"(optional)\",\n modifyThisStep: \"Modify this step\",\n skipThisStep: \"Skip this step\",\n nextButtonLabel: \"Next\",\n submitButtonLabel: \"Submit\",\n cancelButtonLabel: \"Cancel\"\n };\n }\n\n /**\n * Set the translations\n * @param {Object} translations a map of translations\n */\n setTranslations (translations) {\n this.translations = merge(this.translations, translations);\n return this;\n }\n\n $get () {\n return {\n translations: this.translations\n };\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-stepper/src/stepper.provider.js","import Skeleton from \"./skeleton.component.js\";\r\n\r\nangular.module(\"oui.skeleton\", [])\r\n .component(\"ouiSkeleton\", Skeleton);\r\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-skeleton/src/index.js","import controller from \"./skeleton.controller\";\nimport template from \"./skeleton.html\";\n\nexport default {\n controller,\n template,\n bindings: {\n size: \"@?\",\n randomized: \" {\n this.$element.addClass(`oui-skeleton oui-skeleton_${this.size}`);\n\n if (this.randomized) {\n // Needed for eslint\n const minWidth = 30;\n const maxWidth = 100;\n const randomWidth = Math.round((Math.random() * (maxWidth - minWidth)) + minWidth);\n\n this.$element.css(\"width\", `${randomWidth}%`);\n }\n });\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-skeleton/src/skeleton.controller.js","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-skeleton/src/skeleton.html\n// module id = 403\n// module chunks = 0","import Clipboard from \"./clipboard.component.js\";\r\nimport ClipboardProvider from \"./clipboard.provider.js\";\r\n\r\nangular\r\n .module(\"oui.clipboard\", []).component(\"ouiClipboard\", Clipboard)\r\n .provider(\"ouiClipboardConfiguration\", ClipboardProvider);\r\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-clipboard/src/index.js","import controller from \"./clipboard.controller\";\nimport template from \"./clipboard.html\";\n\nexport default {\n template,\n controller,\n bindings: {\n name: \"@?\",\n id: \"@?\",\n model: \"=\"\n }\n};\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-clipboard/src/clipboard.component.js","import Clipboard from \"clipboard\";\nexport default class {\n constructor ($attrs, $element, $timeout, ouiClipboardConfiguration) {\n \"ngInject\";\n this.$attrs = $attrs;\n this.$element = $element;\n this.$timeout = $timeout;\n this.translations = angular.copy(ouiClipboardConfiguration.translations);\n }\n\n $onInit () {\n this.tooltipText = this.translations.copyToClipboardLabel;\n this.trigger = this.$element[0].querySelector(\".oui-clipboard__button\");\n this.target = this.$element[0].querySelector(\".oui-clipboard__control\");\n }\n\n $onDestroy () {\n this.clipboard.destroy();\n }\n\n $postLink () {\n this.$timeout(() => {\n this.$element\n .addClass(\"oui-input-group oui-input-group_clipboard\")\n .removeAttr(\"id\")\n .removeAttr(\"name\");\n });\n\n // Init the clipboard instance\n this.clipboard = new Clipboard(this.trigger, {\n target: () => this.target,\n text: () => this.model\n });\n\n // Events for updating the tooltip\n this.clipboard\n .on(\"success\", () => this.selectInputText(this.translations.copiedLabel))\n .on(\"error\", () => this.selectInputText(this.translations.notSupported));\n }\n\n selectInputText (tooltipText) {\n const selectionEnd = this.model.length || 0;\n\n this.$timeout(() => {\n // Need to focus before selecting\n this.target.focus();\n\n // Select text on the target\n this.target.selectionStart = 0;\n this.target.selectionEnd = selectionEnd;\n this.target.setSelectionRange(0, selectionEnd);\n this.target.select();\n\n // Update tooltip text\n this.tooltipText = tooltipText;\n\n // Need to bind the reset like this because\n // ClipboardJS triggered the \"blur\" event\n // By copying in a fake textarea\n angular.element(this.target).one(\"blur\", () => this.reset());\n });\n }\n\n onInputClick () {\n this.trigger.click();\n }\n\n reset () {\n const resetDelay = 500;\n\n // Add delay for resetting after tooltip animation\n this.$timeout(() => {\n this.tooltipText = this.translations.copyToClipboardLabel;\n }, resetDelay);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-clipboard/src/clipboard.controller.js","/*!\n * clipboard.js v2.0.1\n * https://zenorocha.github.io/clipboard.js\n * \n * Licensed MIT © Zeno Rocha\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ClipboardJS\"] = factory();\n\telse\n\t\troot[\"ClipboardJS\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 3);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n if (true) {\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, __webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else if (typeof exports !== \"undefined\") {\n factory(module, require('select'));\n } else {\n var mod = {\n exports: {}\n };\n factory(mod, global.select);\n global.clipboardAction = mod.exports;\n }\n})(this, function (module, _select) {\n 'use strict';\n\n var _select2 = _interopRequireDefault(_select);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n var ClipboardAction = function () {\n /**\n * @param {Object} options\n */\n function ClipboardAction(options) {\n _classCallCheck(this, ClipboardAction);\n\n this.resolveOptions(options);\n this.initSelection();\n }\n\n /**\n * Defines base properties passed from constructor.\n * @param {Object} options\n */\n\n\n _createClass(ClipboardAction, [{\n key: 'resolveOptions',\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.action = options.action;\n this.container = options.container;\n this.emitter = options.emitter;\n this.target = options.target;\n this.text = options.text;\n this.trigger = options.trigger;\n\n this.selectedText = '';\n }\n }, {\n key: 'initSelection',\n value: function initSelection() {\n if (this.text) {\n this.selectFake();\n } else if (this.target) {\n this.selectTarget();\n }\n }\n }, {\n key: 'selectFake',\n value: function selectFake() {\n var _this = this;\n\n var isRTL = document.documentElement.getAttribute('dir') == 'rtl';\n\n this.removeFake();\n\n this.fakeHandlerCallback = function () {\n return _this.removeFake();\n };\n this.fakeHandler = this.container.addEventListener('click', this.fakeHandlerCallback) || true;\n\n this.fakeElem = document.createElement('textarea');\n // Prevent zooming on iOS\n this.fakeElem.style.fontSize = '12pt';\n // Reset box model\n this.fakeElem.style.border = '0';\n this.fakeElem.style.padding = '0';\n this.fakeElem.style.margin = '0';\n // Move element out of screen horizontally\n this.fakeElem.style.position = 'absolute';\n this.fakeElem.style[isRTL ? 'right' : 'left'] = '-9999px';\n // Move element to the same position vertically\n var yPosition = window.pageYOffset || document.documentElement.scrollTop;\n this.fakeElem.style.top = yPosition + 'px';\n\n this.fakeElem.setAttribute('readonly', '');\n this.fakeElem.value = this.text;\n\n this.container.appendChild(this.fakeElem);\n\n this.selectedText = (0, _select2.default)(this.fakeElem);\n this.copyText();\n }\n }, {\n key: 'removeFake',\n value: function removeFake() {\n if (this.fakeHandler) {\n this.container.removeEventListener('click', this.fakeHandlerCallback);\n this.fakeHandler = null;\n this.fakeHandlerCallback = null;\n }\n\n if (this.fakeElem) {\n this.container.removeChild(this.fakeElem);\n this.fakeElem = null;\n }\n }\n }, {\n key: 'selectTarget',\n value: function selectTarget() {\n this.selectedText = (0, _select2.default)(this.target);\n this.copyText();\n }\n }, {\n key: 'copyText',\n value: function copyText() {\n var succeeded = void 0;\n\n try {\n succeeded = document.execCommand(this.action);\n } catch (err) {\n succeeded = false;\n }\n\n this.handleResult(succeeded);\n }\n }, {\n key: 'handleResult',\n value: function handleResult(succeeded) {\n this.emitter.emit(succeeded ? 'success' : 'error', {\n action: this.action,\n text: this.selectedText,\n trigger: this.trigger,\n clearSelection: this.clearSelection.bind(this)\n });\n }\n }, {\n key: 'clearSelection',\n value: function clearSelection() {\n if (this.trigger) {\n this.trigger.focus();\n }\n\n window.getSelection().removeAllRanges();\n }\n }, {\n key: 'destroy',\n value: function destroy() {\n this.removeFake();\n }\n }, {\n key: 'action',\n set: function set() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'copy';\n\n this._action = action;\n\n if (this._action !== 'copy' && this._action !== 'cut') {\n throw new Error('Invalid \"action\" value, use either \"copy\" or \"cut\"');\n }\n },\n get: function get() {\n return this._action;\n }\n }, {\n key: 'target',\n set: function set(target) {\n if (target !== undefined) {\n if (target && (typeof target === 'undefined' ? 'undefined' : _typeof(target)) === 'object' && target.nodeType === 1) {\n if (this.action === 'copy' && target.hasAttribute('disabled')) {\n throw new Error('Invalid \"target\" attribute. Please use \"readonly\" instead of \"disabled\" attribute');\n }\n\n if (this.action === 'cut' && (target.hasAttribute('readonly') || target.hasAttribute('disabled'))) {\n throw new Error('Invalid \"target\" attribute. You can\\'t cut text from elements with \"readonly\" or \"disabled\" attributes');\n }\n\n this._target = target;\n } else {\n throw new Error('Invalid \"target\" value, use a valid Element');\n }\n }\n },\n get: function get() {\n return this._target;\n }\n }]);\n\n return ClipboardAction;\n }();\n\n module.exports = ClipboardAction;\n});\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar is = __webpack_require__(6);\nvar delegate = __webpack_require__(5);\n\n/**\n * Validates all params and calls the right\n * listener function based on its target type.\n *\n * @param {String|HTMLElement|HTMLCollection|NodeList} target\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listen(target, type, callback) {\n if (!target && !type && !callback) {\n throw new Error('Missing required arguments');\n }\n\n if (!is.string(type)) {\n throw new TypeError('Second argument must be a String');\n }\n\n if (!is.fn(callback)) {\n throw new TypeError('Third argument must be a Function');\n }\n\n if (is.node(target)) {\n return listenNode(target, type, callback);\n }\n else if (is.nodeList(target)) {\n return listenNodeList(target, type, callback);\n }\n else if (is.string(target)) {\n return listenSelector(target, type, callback);\n }\n else {\n throw new TypeError('First argument must be a String, HTMLElement, HTMLCollection, or NodeList');\n }\n}\n\n/**\n * Adds an event listener to a HTML element\n * and returns a remove listener function.\n *\n * @param {HTMLElement} node\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNode(node, type, callback) {\n node.addEventListener(type, callback);\n\n return {\n destroy: function() {\n node.removeEventListener(type, callback);\n }\n }\n}\n\n/**\n * Add an event listener to a list of HTML elements\n * and returns a remove listener function.\n *\n * @param {NodeList|HTMLCollection} nodeList\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNodeList(nodeList, type, callback) {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.addEventListener(type, callback);\n });\n\n return {\n destroy: function() {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.removeEventListener(type, callback);\n });\n }\n }\n}\n\n/**\n * Add an event listener to a selector\n * and returns a remove listener function.\n *\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenSelector(selector, type, callback) {\n return delegate(document.body, selector, type, callback);\n}\n\nmodule.exports = listen;\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports) {\n\nfunction E () {\n // Keep this empty so it's easier to inherit from\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\n}\n\nE.prototype = {\n on: function (name, callback, ctx) {\n var e = this.e || (this.e = {});\n\n (e[name] || (e[name] = [])).push({\n fn: callback,\n ctx: ctx\n });\n\n return this;\n },\n\n once: function (name, callback, ctx) {\n var self = this;\n function listener () {\n self.off(name, listener);\n callback.apply(ctx, arguments);\n };\n\n listener._ = callback\n return this.on(name, listener, ctx);\n },\n\n emit: function (name) {\n var data = [].slice.call(arguments, 1);\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\n var i = 0;\n var len = evtArr.length;\n\n for (i; i < len; i++) {\n evtArr[i].fn.apply(evtArr[i].ctx, data);\n }\n\n return this;\n },\n\n off: function (name, callback) {\n var e = this.e || (this.e = {});\n var evts = e[name];\n var liveEvents = [];\n\n if (evts && callback) {\n for (var i = 0, len = evts.length; i < len; i++) {\n if (evts[i].fn !== callback && evts[i].fn._ !== callback)\n liveEvents.push(evts[i]);\n }\n }\n\n // Remove event from queue to prevent memory leak\n // Suggested by https://github.com/lazd\n // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910\n\n (liveEvents.length)\n ? e[name] = liveEvents\n : delete e[name];\n\n return this;\n }\n};\n\nmodule.exports = E;\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n if (true) {\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, __webpack_require__(0), __webpack_require__(2), __webpack_require__(1)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else if (typeof exports !== \"undefined\") {\n factory(module, require('./clipboard-action'), require('tiny-emitter'), require('good-listener'));\n } else {\n var mod = {\n exports: {}\n };\n factory(mod, global.clipboardAction, global.tinyEmitter, global.goodListener);\n global.clipboard = mod.exports;\n }\n})(this, function (module, _clipboardAction, _tinyEmitter, _goodListener) {\n 'use strict';\n\n var _clipboardAction2 = _interopRequireDefault(_clipboardAction);\n\n var _tinyEmitter2 = _interopRequireDefault(_tinyEmitter);\n\n var _goodListener2 = _interopRequireDefault(_goodListener);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n\n var Clipboard = function (_Emitter) {\n _inherits(Clipboard, _Emitter);\n\n /**\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n * @param {Object} options\n */\n function Clipboard(trigger, options) {\n _classCallCheck(this, Clipboard);\n\n var _this = _possibleConstructorReturn(this, (Clipboard.__proto__ || Object.getPrototypeOf(Clipboard)).call(this));\n\n _this.resolveOptions(options);\n _this.listenClick(trigger);\n return _this;\n }\n\n /**\n * Defines if attributes would be resolved using internal setter functions\n * or custom functions that were passed in the constructor.\n * @param {Object} options\n */\n\n\n _createClass(Clipboard, [{\n key: 'resolveOptions',\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.action = typeof options.action === 'function' ? options.action : this.defaultAction;\n this.target = typeof options.target === 'function' ? options.target : this.defaultTarget;\n this.text = typeof options.text === 'function' ? options.text : this.defaultText;\n this.container = _typeof(options.container) === 'object' ? options.container : document.body;\n }\n }, {\n key: 'listenClick',\n value: function listenClick(trigger) {\n var _this2 = this;\n\n this.listener = (0, _goodListener2.default)(trigger, 'click', function (e) {\n return _this2.onClick(e);\n });\n }\n }, {\n key: 'onClick',\n value: function onClick(e) {\n var trigger = e.delegateTarget || e.currentTarget;\n\n if (this.clipboardAction) {\n this.clipboardAction = null;\n }\n\n this.clipboardAction = new _clipboardAction2.default({\n action: this.action(trigger),\n target: this.target(trigger),\n text: this.text(trigger),\n container: this.container,\n trigger: trigger,\n emitter: this\n });\n }\n }, {\n key: 'defaultAction',\n value: function defaultAction(trigger) {\n return getAttributeValue('action', trigger);\n }\n }, {\n key: 'defaultTarget',\n value: function defaultTarget(trigger) {\n var selector = getAttributeValue('target', trigger);\n\n if (selector) {\n return document.querySelector(selector);\n }\n }\n }, {\n key: 'defaultText',\n value: function defaultText(trigger) {\n return getAttributeValue('text', trigger);\n }\n }, {\n key: 'destroy',\n value: function destroy() {\n this.listener.destroy();\n\n if (this.clipboardAction) {\n this.clipboardAction.destroy();\n this.clipboardAction = null;\n }\n }\n }], [{\n key: 'isSupported',\n value: function isSupported() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['copy', 'cut'];\n\n var actions = typeof action === 'string' ? [action] : action;\n var support = !!document.queryCommandSupported;\n\n actions.forEach(function (action) {\n support = support && !!document.queryCommandSupported(action);\n });\n\n return support;\n }\n }]);\n\n return Clipboard;\n }(_tinyEmitter2.default);\n\n /**\n * Helper function to retrieve attribute value.\n * @param {String} suffix\n * @param {Element} element\n */\n function getAttributeValue(suffix, element) {\n var attribute = 'data-clipboard-' + suffix;\n\n if (!element.hasAttribute(attribute)) {\n return;\n }\n\n return element.getAttribute(attribute);\n }\n\n module.exports = Clipboard;\n});\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports) {\n\nvar DOCUMENT_NODE_TYPE = 9;\n\n/**\n * A polyfill for Element.matches()\n */\nif (typeof Element !== 'undefined' && !Element.prototype.matches) {\n var proto = Element.prototype;\n\n proto.matches = proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector;\n}\n\n/**\n * Finds the closest parent that matches a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @return {Function}\n */\nfunction closest (element, selector) {\n while (element && element.nodeType !== DOCUMENT_NODE_TYPE) {\n if (typeof element.matches === 'function' &&\n element.matches(selector)) {\n return element;\n }\n element = element.parentNode;\n }\n}\n\nmodule.exports = closest;\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar closest = __webpack_require__(4);\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction _delegate(element, selector, type, callback, useCapture) {\n var listenerFn = listener.apply(this, arguments);\n\n element.addEventListener(type, listenerFn, useCapture);\n\n return {\n destroy: function() {\n element.removeEventListener(type, listenerFn, useCapture);\n }\n }\n}\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element|String|Array} [elements]\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction delegate(elements, selector, type, callback, useCapture) {\n // Handle the regular Element usage\n if (typeof elements.addEventListener === 'function') {\n return _delegate.apply(null, arguments);\n }\n\n // Handle Element-less usage, it defaults to global delegation\n if (typeof type === 'function') {\n // Use `document` as the first parameter, then apply arguments\n // This is a short way to .unshift `arguments` without running into deoptimizations\n return _delegate.bind(null, document).apply(null, arguments);\n }\n\n // Handle Selector-based usage\n if (typeof elements === 'string') {\n elements = document.querySelectorAll(elements);\n }\n\n // Handle Array-like based usage\n return Array.prototype.map.call(elements, function (element) {\n return _delegate(element, selector, type, callback, useCapture);\n });\n}\n\n/**\n * Finds closest match and invokes callback.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Function}\n */\nfunction listener(element, selector, type, callback) {\n return function(e) {\n e.delegateTarget = closest(e.target, selector);\n\n if (e.delegateTarget) {\n callback.call(element, e);\n }\n }\n}\n\nmodule.exports = delegate;\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports) {\n\n/**\n * Check if argument is a HTML element.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.node = function(value) {\n return value !== undefined\n && value instanceof HTMLElement\n && value.nodeType === 1;\n};\n\n/**\n * Check if argument is a list of HTML elements.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.nodeList = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return value !== undefined\n && (type === '[object NodeList]' || type === '[object HTMLCollection]')\n && ('length' in value)\n && (value.length === 0 || exports.node(value[0]));\n};\n\n/**\n * Check if argument is a string.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.string = function(value) {\n return typeof value === 'string'\n || value instanceof String;\n};\n\n/**\n * Check if argument is a function.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.fn = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return type === '[object Function]';\n};\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports) {\n\nfunction select(element) {\n var selectedText;\n\n if (element.nodeName === 'SELECT') {\n element.focus();\n\n selectedText = element.value;\n }\n else if (element.nodeName === 'INPUT' || element.nodeName === 'TEXTAREA') {\n var isReadOnly = element.hasAttribute('readonly');\n\n if (!isReadOnly) {\n element.setAttribute('readonly', '');\n }\n\n element.select();\n element.setSelectionRange(0, element.value.length);\n\n if (!isReadOnly) {\n element.removeAttribute('readonly');\n }\n\n selectedText = element.value;\n }\n else {\n if (element.hasAttribute('contenteditable')) {\n element.focus();\n }\n\n var selection = window.getSelection();\n var range = document.createRange();\n\n range.selectNodeContents(element);\n selection.removeAllRanges();\n selection.addRange(range);\n\n selectedText = selection.toString();\n }\n\n return selectedText;\n}\n\nmodule.exports = select;\n\n\n/***/ })\n/******/ ]);\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/clipboard/dist/clipboard.js\n// module id = 407\n// module chunks = 0","module.exports = \" \";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-clipboard/src/clipboard.html\n// module id = 408\n// module chunks = 0","import { merge } from \"lodash\";\nexport default class {\n constructor () {\n this.translations = {\n copyToClipboardLabel: \"Copy to clipboard\",\n copiedLabel: \"Copied\",\n notSupported: \"Copy to clipboard not supported. Please copy the text manually\"\n };\n }\n\n /**\n * Set the translations\n * @param {Object} translations a map of translations\n */\n setTranslations (translations) {\n this.translations = merge(this.translations, translations);\n return this;\n }\n\n $get () {\n return {\n translations: this.translations\n };\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-clipboard/src/clipboard.provider.js","import Slideshow from \"./slideshow.component\";\nimport SlideshowPanel from \"./slideshow-panel.component\";\n\nangular.module(\"oui.slideshow\", [])\n .component(\"ouiSlideshow\", Slideshow)\n .component(\"ouiSlideshowPanel\", SlideshowPanel);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-slideshow/src/index.js","import controller from \"./slideshow.controller\";\nimport template from \"./slideshow.html\";\n\nexport default {\n template,\n controller,\n transclude: true,\n bindings: {\n onDismiss: \"&\",\n loading: \" 0;\n this._client = { x: 0, y: 0 };\n }\n\n $postLink () {\n this.$document.on(\"keydown\", evt => this._triggerKeyHandler(evt));\n\n this.$timeout(() => {\n this.panels = this.$element[0].querySelectorAll(\"oui-slideshow-panel\");\n\n if (this.panels[0]) {\n this.isIllustrated = this._isIllustratedPanel(0);\n const firstPanelElement = this.panels[0].querySelector(`.${PANEL_CLASSNAME}`);\n firstPanelElement.setAttribute(\"aria-hidden\", \"false\");\n const $firstPanelElement = angular.element(firstPanelElement);\n $firstPanelElement.addClass(\"active\");\n }\n\n if (this._isTouch) {\n angular.element(this._componentElement).addClass(\"touchDevice\");\n this._setTouchEventListener();\n }\n });\n }\n\n $destroy () {\n this.closeOnBoarding();\n }\n\n closeOnBoarding () {\n if (this.onDismiss) {\n this.onDismiss(event);\n }\n\n this.$document.off(\"keydown\", evt => this._triggerKeyHandler(evt));\n this.$scope.$broadcast(\"oui:modalOnBoarding:afterClose\", this.id);\n }\n\n next () {\n if (!this._isSliding) {\n this._slide(Direction.NEXT);\n }\n }\n\n prev () {\n if (!this._isSliding) {\n this._slide(Direction.PREV);\n }\n }\n\n slideTo (index) {\n const active = this.currentIndex;\n const waiting = 10;\n\n if (index > this.panels.length - 1 || index < 0 || index === active) {\n return;\n }\n\n if (this._isSliding) {\n this.$timeout(() => this.slideTo(index), waiting);\n return;\n }\n\n this._slide(index > active ? Direction.NEXT : Direction.PREV, index);\n }\n\n _getIndexByDirection (direction) {\n const isNextDirection = direction === Direction.NEXT;\n const isPrevDirection = direction === Direction.PREV;\n const lastItemIndex = this.panels.length - 1;\n const isGoingToWrap = (isPrevDirection && this.currentIndex === 0) || (isNextDirection && this.currentIndex === lastItemIndex);\n\n if (isGoingToWrap && !this.loop) {\n return this.currentIndex;\n }\n\n const delta = direction === Direction.PREV ? -1 : 1;\n const itemIndex = (this.currentIndex + delta) % this.panels.length;\n\n return itemIndex === -1 ? this.panels.length - 1 : itemIndex;\n }\n\n _slide (direction, indexTo) {\n const slideType = direction === Direction.NEXT ? Direction.LEFT : Direction.RIGHT;\n const activePanel = this.panels[this.currentIndex].querySelector(`.${PANEL_CLASSNAME}`);\n const $activePanel = angular.element(activePanel);\n const nextPanelIndex = indexTo === 0 ? 0 : indexTo || (activePanel && this._getIndexByDirection(direction));\n const nextPanel = this.panels[nextPanelIndex].querySelector(`.${PANEL_CLASSNAME}`);\n const $nextPanel = angular.element(nextPanel);\n\n if (nextPanel && $nextPanel.hasClass(\"active\")) {\n this._isSliding = false;\n return;\n }\n\n if (!activePanel || !nextPanel) {\n return;\n }\n\n this._isSliding = true;\n const nextIsIllustrated = this._isIllustratedPanel(nextPanelIndex);\n\n $nextPanel.addClass(direction);\n this.constructor.reflowElement($nextPanel);\n $activePanel.addClass(slideType);\n this.constructor.reflowElement($activePanel);\n $nextPanel.addClass(slideType);\n\n this.currentIndex = nextPanelIndex;\n if (direction === Direction.NEXT) {\n this.isIllustrated = nextIsIllustrated;\n }\n\n this.$timeout(() => {\n $activePanel.removeClass(`active ${slideType}`);\n activePanel.setAttribute(\"aria-hidden\", \"true\");\n $nextPanel.removeClass(`${direction} ${slideType}`);\n $nextPanel.addClass(\"active\");\n nextPanel.setAttribute(\"aria-hidden\", \"false\");\n this.isIllustrated = nextIsIllustrated;\n this._isSliding = false;\n }, TRANSITION_DURATION);\n }\n\n _setTouchEventListener () {\n if (this._contentElement) {\n this._contentElement.addEventListener(\"touchstart\", evt => {\n evt.preventDefault();\n this._client.x = evt.touches[0].clientX || 0;\n this._client.y = evt.touches[0].clientY || 0;\n });\n\n this._contentElement.addEventListener(\"touchmove\", evt => {\n evt.preventDefault();\n if (!this._client.x || !this._client.y) {\n return;\n }\n\n const xDiff = this._client.x - evt.touches[0].clientX;\n const yDiff = this._client.y - evt.touches[0].clientY;\n const minDiff = 2; // deal with short swipes\n\n if (Math.abs(xDiff) > Math.abs(yDiff) && Math.abs(xDiff) + Math.abs(yDiff) > minDiff) {\n if (xDiff > 0) {\n this.next();\n } else {\n this.prev();\n }\n }\n\n this._client.x = 0;\n this._client.y = 0;\n });\n }\n }\n\n _triggerKeyHandler (evt) {\n if (evt && evt.type === \"keydown\" && evt.which === KEY_ESCAPE) {\n this.$scope.$apply(() => {\n this.closeOnBoarding();\n });\n }\n }\n\n _isIllustratedPanel (index) {\n return !!this.panels[index].attributes.picture || !!this.panels[index].dataset.picture;\n }\n\n static reflowElement ($element) {\n return $element[0].offsetHeight;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-slideshow/src/slideshow.controller.js","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-slideshow/src/slideshow.html\n// module id = 413\n// module chunks = 0","import controller from \"./slideshow-panel.controller\";\nimport template from \"./slideshow-panel.html\";\n\nexport default {\n template,\n controller,\n bindings: {\n heading: \"@?\",\n text: \"@?\",\n picture: \"@?\",\n onClick: \"&?\",\n href: \"@?\",\n external: \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-slideshow/src/slideshow-panel.html\n// module id = 416\n// module chunks = 0","import PageHeader from \"./page-header.component\";\n\nangular.module(\"oui.page-header\", [])\n .component(\"ouiPageHeader\", PageHeader);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-page-header/src/index.js","import controller from \"./page-header.controller.js\";\nimport template from \"./page-header.html\";\n\nexport default {\n template,\n controller,\n bindings: {\n heading: \"@?\",\n description: \"@?\"\n },\n transclude: {\n guide: \"?ouiGuideMenu\",\n tabs: \"?ouiHeaderTabs\"\n }\n};\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-page-header/src/page-header.component.js","export default class {\n constructor ($attrs, $transclude) {\n \"ngInject\";\n\n this.$attrs = $attrs;\n this.$transclude = $transclude;\n }\n\n $onInit () {\n this.transcludeGuide = this.$transclude.isSlotFilled(\"guide\");\n this.transcludeTabs = this.$transclude.isSlotFilled(\"tabs\");\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-page-header/src/page-header.controller.js","module.exports = \"

\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-page-header/src/page-header.html\n// module id = 420\n// module chunks = 0","import Tile from \"./tile.component.js\";\nimport TileButton from \"./button/tile-button.component.js\";\nimport TileDefinition from \"./definition/tile-definition.component.js\";\n\nangular.module(\"oui.tile\", [])\n .component(\"ouiTile\", Tile)\n .component(\"ouiTileButton\", TileButton)\n .component(\"ouiTileDefinition\", TileDefinition);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-tile/src/index.js","import controller from \"./tile.controller\";\nimport template from \"./tile.html\";\n\nexport default {\n template,\n controller,\n bindings: {\n heading: \"@?\",\n description: \"@?\",\n loading: \"\n this.$element\n .addClass(\"oui-tile\")\n );\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-tile/src/tile.controller.js","module.exports = \"

\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-tile/src/tile.html\n// module id = 424\n// module chunks = 0","import controller from \"./tile-button.controller\";\nimport template from \"./tile-button.html\";\n\nexport default {\n template,\n controller,\n bindings: {\n text: \"@?\",\n onClick: \"&?\",\n href: \"@?\",\n ariaLabel: \"@?\"\n },\n transclude: true\n};\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-tile/src/button/tile-button.component.js","export default class {\n constructor ($attrs, $element, $timeout) {\n \"ngInject\";\n\n this.$attrs = $attrs;\n this.$element = $element;\n this.$timeout = $timeout;\n }\n\n $postLink () {\n // Sometimes the digest cycle is done before dom manipulation,\n // So we use $timeout to force the $apply\n this.$timeout(() =>\n this.$element\n .addClass(\"oui-tile__item oui-tile__item_button\")\n );\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-tile/src/button/tile-button.controller.js","module.exports = \" {{ :: $ctrl.text }} \";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-tile/src/button/tile-button.html\n// module id = 427\n// module chunks = 0","import controller from \"./tile-definition.controller\";\nimport template from \"./tile-definition.html\";\n\nexport default {\n template,\n controller,\n bindings: {\n term: \"@?\",\n termPopover: \"@?\",\n description: \"@?\",\n actions: \"=?\"\n },\n transclude: {\n descriptionSlot: \"?ouiTileDescription\",\n actionSlot: \"?ouiActionMenu\"\n }\n};\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-tile/src/definition/tile-definition.component.js","export default class {\n constructor ($attrs, $element, $timeout, $transclude) {\n \"ngInject\";\n\n this.$attrs = $attrs;\n this.$element = $element;\n this.$timeout = $timeout;\n this.$transclude = $transclude;\n }\n\n $onInit () {\n this.transcludeAction = this.$transclude.isSlotFilled(\"actionSlot\");\n }\n\n $postLink () {\n // Sometimes the digest cycle is done before dom manipulation,\n // So we use $timeout to force the $apply\n this.$timeout(() =>\n this.$element\n .addClass(\"oui-tile__item\")\n );\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-tile/src/definition/tile-definition.controller.js","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-tile/src/definition/tile-definition.html\n// module id = 430\n// module chunks = 0","import DropdownDivider from \"../../oui-dropdown/src/divider/dropdown-divider.component\";\nimport DropdownGroup from \"../../oui-dropdown/src/group/dropdown-group.component\";\nimport DropdownItem from \"../../oui-dropdown/src/item/dropdown-item.component\";\nimport GuideMenu from \"./guide-menu.component\";\n\nangular.module(\"oui.guide-menu\", [])\n .component(\"ouiGuideMenu\", GuideMenu)\n .component(\"ouiGuideMenuDivider\", DropdownDivider)\n .component(\"ouiGuideMenuGroup\", DropdownGroup)\n .component(\"ouiGuideMenuItem\", DropdownItem);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-guide-menu/src/index.js","import controller from \"./guide-menu.controller\";\nimport template from \"./guide-menu.html\";\n\nexport default {\n template,\n controller,\n bindings: {\n text: \"@\",\n align: \"@?\",\n ariaLabel: \"@?\"\n },\n transclude: true\n};\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-guide-menu/src/guide-menu.component.js","import { addDefaultParameter } from \"@oui-angular/common/component-utils\";\n\nexport default class {\n constructor ($attrs, $element, $timeout) {\n \"ngInject\";\n\n this.$attrs = $attrs;\n this.$element = $element;\n this.$timeout = $timeout;\n }\n\n $onInit () {\n addDefaultParameter(this, \"align\", \"end\");\n }\n\n $postLink () {\n this.$timeout(() =>\n this.$element\n .removeAttr(\"aria-label\")\n );\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-guide-menu/src/guide-menu.controller.js","module.exports = \" \";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-guide-menu/src/guide-menu.html\n// module id = 434\n// module chunks = 0","import HeaderTabs from \"./header-tabs.component\";\nimport HeaderTabsDivider from \"../../oui-dropdown/src/divider/dropdown-divider.component\";\nimport HeaderTabsDropdown from \"./header-tabs-dropdown.component\";\nimport HeaderTabsItem from \"./header-tabs-item.component\";\n\nangular.module(\"oui.header-tabs\", [])\n .component(\"ouiHeaderTabs\", HeaderTabs)\n .component(\"ouiHeaderTabsDivider\", HeaderTabsDivider)\n .component(\"ouiHeaderTabsDropdown\", HeaderTabsDropdown)\n .component(\"ouiHeaderTabsItem\", HeaderTabsItem);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-header-tabs/src/index.js","import controller from \"./header-tabs.controller\";\nimport template from \"./header-tabs.html\";\n\nexport default {\n template,\n controller,\n transclude: true\n};\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-header-tabs/src/header-tabs.component.js","const checkScrollDelay = 800;\n\nexport default class {\n constructor ($attrs, $element, $interval, $scope, $timeout, $window) {\n \"ngInject\";\n\n this.$attrs = $attrs;\n this.$element = $element;\n this.$interval = $interval;\n this.$scope = $scope;\n this.$timeout = $timeout;\n this.$window = $window;\n }\n\n $onInit () {\n this.scroll = {\n begin: 0,\n end: 0\n };\n }\n\n $onDestroy () {\n angular.element(this._tabsElement).off(\"scroll\");\n angular.element(this.$window).off(\"resize\");\n }\n\n $postLink () {\n this.$timeout(() => {\n this.$element\n .addClass(\"oui-header-tabs\");\n\n this._tabsElement = this.$element[0].querySelector(\".oui-header-tabs__container\");\n angular.element(this._tabsElement).on(\"scroll\", event => this._checkScroll(event));\n angular.element(this.$window).on(\"resize\", event => this._checkScroll(event));\n this._initialCheck();\n });\n\n /* On initial render, we need to wait few seconds before calling\n the checkScroll method otherwise panel size would be wrong. */\n this.$timeout(() => this._initialCheck(), checkScrollDelay);\n }\n\n scrollLeft () {\n this._scroll(\"left\");\n }\n\n scrollRight () {\n this._scroll(\"right\");\n }\n\n _initialCheck () {\n const activeTab = this.$element[0].querySelector(\".oui-header-tabs__item_active\");\n if (activeTab && activeTab.offsetLeft - this._tabsElement.offsetLeft > 0) {\n this._tabsElement.scrollLeft = activeTab.offsetLeft - this._tabsElement.offsetLeft;\n } else {\n this.scroll.end = this._tabsElement.scrollWidth - this._tabsElement.offsetWidth;\n }\n }\n\n _scroll (direction) {\n const itemToGo = this._findItemToGo(direction);\n this._scrollToItem(direction, itemToGo);\n }\n\n _checkScroll (e) {\n if (e) {\n e.preventDefault();\n }\n\n this.scroll.begin = this._tabsElement.scrollLeft;\n this.scroll.end = this._tabsElement.scrollWidth - this._tabsElement.offsetWidth - this._tabsElement.scrollLeft;\n this.$scope.$digest();\n }\n\n _findItemToGo (direction) {\n const tabsList = [].slice.call(this._tabsElement.querySelectorAll(\":scope > .oui-header-tabs__item\"));\n const tabsOffset = this._tabsElement.offsetLeft;\n const tabsStart = this._tabsElement.scrollLeft;\n const tabsEnd = tabsStart + this._tabsElement.offsetWidth;\n\n let itemGutter = 0;\n if (tabsList && tabsList.length > 1) {\n itemGutter = tabsList[1].offsetLeft - (tabsList[0].offsetLeft + tabsList[0].offsetWidth);\n }\n\n let itemToGo = tabsList[0];\n for (const item of tabsList) {\n const itemStart = item.offsetLeft - tabsOffset;\n if (direction === \"right\" && itemStart <= tabsEnd + tabsOffset + itemGutter) {\n itemToGo = item;\n } else if (direction === \"left\" && itemStart < tabsStart) {\n itemToGo = item;\n } else {\n break;\n }\n }\n return itemToGo;\n }\n\n _scrollToItem (direction, item) {\n const duration = 500;\n const stepDuration = 15;\n const step = this._tabsElement.scrollWidth / (duration / stepDuration);\n\n const itemStart = item.offsetLeft - this._tabsElement.offsetLeft;\n const itemEnd = itemStart + item.offsetWidth;\n const tabsWidth = this._tabsElement.offsetWidth;\n\n const loop = this.$interval(() => {\n const tabsStart = this._tabsElement.scrollLeft;\n const tabsEnd = this._tabsElement.scrollWidth - this._tabsElement.offsetWidth - this._tabsElement.scrollLeft;\n const screenEnd = tabsStart + this._tabsElement.offsetWidth;\n\n if (direction === \"right\" && tabsEnd > 0 && (tabsStart + step < itemStart || itemEnd > screenEnd)) {\n this._tabsElement.scrollLeft += step;\n } else if (direction === \"left\" && tabsStart > 0 && (screenEnd - step > itemEnd || itemStart < tabsStart - step)) {\n this._tabsElement.scrollLeft -= step;\n } else {\n if (direction === \"right\") {\n this._tabsElement.scrollLeft = tabsStart <= itemStart ? itemStart : itemEnd - tabsWidth;\n } else {\n this._tabsElement.scrollLeft = tabsStart >= itemStart ? itemStart : itemEnd - tabsWidth;\n }\n this.$interval.cancel(loop);\n }\n }, stepDuration);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-header-tabs/src/header-tabs.controller.js","module.exports = { \"default\": require(\"core-js/library/fn/get-iterator\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/get-iterator.js\n// module id = 438\n// module chunks = 0","require('../modules/web.dom.iterable');\nrequire('../modules/es6.string.iterator');\nmodule.exports = require('../modules/core.get-iterator');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/get-iterator.js\n// module id = 439\n// module chunks = 0","var anObject = require('./_an-object');\nvar get = require('./core.get-iterator-method');\nmodule.exports = require('./_core').getIterator = function (it) {\n var iterFn = get(it);\n if (typeof iterFn != 'function') throw TypeError(it + ' is not iterable!');\n return anObject(iterFn.call(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/core.get-iterator.js\n// module id = 440\n// module chunks = 0","module.exports = \" \";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-header-tabs/src/header-tabs.html\n// module id = 441\n// module chunks = 0","import controller from \"./header-tabs-dropdown.controller\";\nimport template from \"./header-tabs-dropdown.html\";\n\nexport default {\n bindings: {\n text: \"@\"\n },\n controller,\n template,\n transclude: true\n};\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-header-tabs/src/header-tabs-dropdown.component.js","const ouiHeaderTabsItemClass = \"oui-header-tabs__item\";\nconst ouiHeaderTabsItemActiveClass = `${ouiHeaderTabsItemClass}_active`;\nconst ouiHeaderTabsItemDisabledClass = `${ouiHeaderTabsItemClass}_disabled`;\nconst ouiHeaderTabsDropDownClass = `${ouiHeaderTabsItemClass}_dropdown`;\n\nexport default class {\n constructor ($element, $scope, $timeout) {\n \"ngInject\";\n\n this.$element = $element;\n this.$scope = $scope;\n this.$timeout = $timeout;\n }\n\n $onInit () {\n this.disabled = false;\n }\n\n $postLink () {\n this.$timeout(() => {\n this.$element\n .addClass(`${ouiHeaderTabsItemClass} ${ouiHeaderTabsDropDownClass}`)\n .attr(\"role\", \"listitem\");\n\n const itemCount = (this.$element[0].querySelectorAll(`.${ouiHeaderTabsItemClass}`) || []).length;\n this.$scope.$watch(() => (this.$element[0].querySelectorAll(`.${ouiHeaderTabsItemDisabledClass}`) || []).length, itemDisabledCount => {\n if (itemDisabledCount === itemCount) {\n this.disabled = true;\n this.$element.addClass(ouiHeaderTabsItemDisabledClass);\n } else {\n this.disabled = false;\n this.$element.removeClass(ouiHeaderTabsItemDisabledClass);\n }\n });\n\n this.$scope.$watch(() => !!this.$element[0].querySelector(`.${ouiHeaderTabsItemActiveClass}`), hasActive => {\n if (hasActive) {\n this.$element.addClass(ouiHeaderTabsItemActiveClass);\n } else {\n this.$element.removeClass(ouiHeaderTabsItemActiveClass);\n }\n });\n });\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-header-tabs/src/header-tabs-dropdown.controller.js","module.exports = \" \";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-header-tabs/src/header-tabs-dropdown.html\n// module id = 444\n// module chunks = 0","import controller from \"./header-tabs-item.controller\";\nimport template from \"./header-tabs-item.html\";\n\nexport default {\n controller,\n template,\n bindings: {\n text: \"@\",\n href: \"@?\",\n state: \"@?\",\n stateParams: \" {\n this.$element.replaceWith(clone);\n });\n }\n\n // Return value of \"ui-sref\"\n getFullSref () {\n return `${this.state}(${JSON.stringify(this.stateParams)})`;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-header-tabs/src/header-tabs-item.controller.js"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///oui-angular.min.js","webpack:///webpack/bootstrap eba9bc9ae1b923d988f4","webpack:///./node_modules/babel-runtime/helpers/classCallCheck.js","webpack:///./node_modules/babel-runtime/helpers/createClass.js","webpack:///./packages/common/component-utils.js","webpack:///./node_modules/core-js/library/modules/_core.js","webpack:///./node_modules/core-js/library/modules/_wks.js","webpack:///./node_modules/core-js/library/modules/_export.js","webpack:///./node_modules/core-js/library/modules/_global.js","webpack:///./node_modules/core-js/library/modules/_object-dp.js","webpack:///./node_modules/core-js/library/modules/_an-object.js","webpack:///./node_modules/core-js/library/modules/_descriptors.js","webpack:///./node_modules/core-js/library/modules/_has.js","webpack:///./node_modules/lodash/isArray.js","webpack:///./node_modules/core-js/library/modules/_hide.js","webpack:///./node_modules/core-js/library/modules/_is-object.js","webpack:///./node_modules/core-js/library/modules/_fails.js","webpack:///./node_modules/lodash/isObject.js","webpack:///./node_modules/core-js/library/modules/_to-iobject.js","webpack:///./node_modules/core-js/library/modules/_property-desc.js","webpack:///./node_modules/lodash/isObjectLike.js","webpack:///./node_modules/core-js/library/modules/_iterators.js","webpack:///./node_modules/core-js/library/modules/_object-keys.js","webpack:///./node_modules/core-js/library/modules/_to-object.js","webpack:///./node_modules/babel-runtime/core-js/object/assign.js","webpack:///./node_modules/lodash/_assocIndexOf.js","webpack:///./node_modules/lodash/_baseGetTag.js","webpack:///./node_modules/popper.js/dist/esm/popper.js","webpack:///./packages/oui-dropdown/src/divider/dropdown-divider.component.js","webpack:///./node_modules/core-js/library/modules/_uid.js","webpack:///./node_modules/core-js/library/modules/_object-pie.js","webpack:///./node_modules/lodash/get.js","webpack:///./node_modules/lodash/_toKey.js","webpack:///./node_modules/core-js/library/modules/_ctx.js","webpack:///./node_modules/core-js/library/modules/_to-primitive.js","webpack:///./node_modules/lodash/merge.js","webpack:///./node_modules/lodash/_Stack.js","webpack:///./node_modules/lodash/eq.js","webpack:///./node_modules/lodash/_baseAssignValue.js","webpack:///./node_modules/lodash/_root.js","webpack:///./node_modules/lodash/_overArg.js","webpack:///./packages/oui-radio/src/index.js","webpack:///./packages/oui-dropdown/src/item/dropdown-item.component.js","webpack:///./node_modules/babel-runtime/core-js/json/stringify.js","webpack:///./node_modules/core-js/library/modules/es6.string.iterator.js","webpack:///./node_modules/core-js/library/modules/_to-integer.js","webpack:///./node_modules/core-js/library/modules/_defined.js","webpack:///./node_modules/core-js/library/modules/_library.js","webpack:///./node_modules/core-js/library/modules/_object-create.js","webpack:///./node_modules/core-js/library/modules/_cof.js","webpack:///./node_modules/core-js/library/modules/_shared-key.js","webpack:///./node_modules/core-js/library/modules/_shared.js","webpack:///./node_modules/core-js/library/modules/_enum-bug-keys.js","webpack:///./node_modules/core-js/library/modules/_set-to-string-tag.js","webpack:///./node_modules/core-js/library/modules/_object-gops.js","webpack:///./node_modules/lodash/_isKey.js","webpack:///./node_modules/core-js/library/modules/_wks-ext.js","webpack:///./node_modules/core-js/library/modules/_wks-define.js","webpack:///./node_modules/babel-runtime/core-js/object/keys.js","webpack:///./node_modules/babel-runtime/core-js/object/define-property.js","webpack:///./node_modules/core-js/library/modules/_ie8-dom-define.js","webpack:///./node_modules/core-js/library/modules/_dom-create.js","webpack:///./node_modules/lodash/_assignMergeValue.js","webpack:///(webpack)/buildin/module.js","webpack:///./node_modules/lodash/_freeGlobal.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/lodash/_getPrototype.js","webpack:///./node_modules/lodash/isArguments.js","webpack:///./node_modules/lodash/isArrayLike.js","webpack:///./node_modules/lodash/isFunction.js","webpack:///./node_modules/lodash/isLength.js","webpack:///./node_modules/lodash/isBuffer.js","webpack:///./node_modules/lodash/isTypedArray.js","webpack:///./node_modules/lodash/_safeGet.js","webpack:///./node_modules/lodash/keysIn.js","webpack:///./node_modules/lodash/identity.js","webpack:///./packages/oui-dropdown/src/group/dropdown-group.component.js","webpack:///./node_modules/lodash/_baseClamp.js","webpack:///./node_modules/lodash/toNumber.js","webpack:///./node_modules/babel-runtime/helpers/toConsumableArray.js","webpack:///./node_modules/babel-runtime/core-js/array/from.js","webpack:///./node_modules/core-js/library/modules/_iter-define.js","webpack:///./node_modules/core-js/library/modules/_redefine.js","webpack:///./node_modules/core-js/library/modules/_object-keys-internal.js","webpack:///./node_modules/core-js/library/modules/_iobject.js","webpack:///./node_modules/core-js/library/modules/_to-length.js","webpack:///./node_modules/core-js/library/modules/_object-gpo.js","webpack:///./node_modules/core-js/library/modules/core.get-iterator-method.js","webpack:///./node_modules/lodash/find.js","webpack:///./node_modules/lodash/_baseIteratee.js","webpack:///./node_modules/lodash/_baseIsEqual.js","webpack:///./node_modules/lodash/_isStrictComparable.js","webpack:///./node_modules/lodash/keys.js","webpack:///./node_modules/lodash/_matchesStrictComparable.js","webpack:///./node_modules/lodash/_baseGet.js","webpack:///./node_modules/lodash/_castPath.js","webpack:///./node_modules/lodash/toString.js","webpack:///./node_modules/lodash/findIndex.js","webpack:///./node_modules/lodash/toInteger.js","webpack:///./packages/oui-datagrid/src/util.js","webpack:///./node_modules/babel-runtime/core-js/object/get-prototype-of.js","webpack:///./node_modules/core-js/library/modules/_object-sap.js","webpack:///./node_modules/babel-runtime/helpers/possibleConstructorReturn.js","webpack:///./node_modules/babel-runtime/helpers/typeof.js","webpack:///./node_modules/core-js/library/modules/web.dom.iterable.js","webpack:///./node_modules/core-js/library/modules/_object-gopn.js","webpack:///./node_modules/core-js/library/modules/_object-gopd.js","webpack:///./node_modules/babel-runtime/helpers/inherits.js","webpack:///./packages/oui-datagrid/src/paging/datagrid-paging-abstract.js","webpack:///./packages/oui-datagrid/src/filter/string.js","webpack:///./packages/oui-radio-group/src/index.js","webpack:///./packages/oui-radio-group/src/radio-group.controller.js","webpack:///./packages/oui-header-tabs/src/header-tabs-item.html","webpack:///./packages/oui-angular/src/index.js","webpack:///./packages/oui-button/src/index.js","webpack:///./packages/oui-button/src/button.component.js","webpack:///./packages/oui-button/src/button.controller.js","webpack:///./node_modules/core-js/library/fn/object/define-property.js","webpack:///./node_modules/core-js/library/modules/es6.object.define-property.js","webpack:///./node_modules/core-js/library/modules/_a-function.js","webpack:///./packages/oui-button/src/button.html","webpack:///./packages/oui-calendar/src/index.js","webpack:///./packages/oui-calendar/src/calendar.component.js","webpack:///./packages/oui-calendar/src/calendar.controller.js","webpack:///./node_modules/flatpickr/dist/flatpickr.js","webpack:///./packages/oui-calendar/src/calendar.html","webpack:///./packages/oui-calendar/src/calendar.provider.js","webpack:///./node_modules/lodash/_baseMerge.js","webpack:///./node_modules/lodash/_listCacheClear.js","webpack:///./node_modules/lodash/_listCacheDelete.js","webpack:///./node_modules/lodash/_listCacheGet.js","webpack:///./node_modules/lodash/_listCacheHas.js","webpack:///./node_modules/lodash/_listCacheSet.js","webpack:///./node_modules/lodash/_defineProperty.js","webpack:///./node_modules/lodash/_getNative.js","webpack:///./node_modules/lodash/_baseFor.js","webpack:///./node_modules/lodash/_createBaseFor.js","webpack:///./node_modules/lodash/_baseMergeDeep.js","webpack:///./node_modules/lodash/_cloneBuffer.js","webpack:///./node_modules/lodash/_cloneTypedArray.js","webpack:///./node_modules/lodash/_cloneArrayBuffer.js","webpack:///./node_modules/lodash/_Uint8Array.js","webpack:///./node_modules/lodash/_copyArray.js","webpack:///./node_modules/lodash/_initCloneObject.js","webpack:///./node_modules/lodash/_baseCreate.js","webpack:///./node_modules/lodash/_isPrototype.js","webpack:///./node_modules/lodash/isArrayLikeObject.js","webpack:///./node_modules/lodash/isPlainObject.js","webpack:///./node_modules/lodash/toPlainObject.js","webpack:///./node_modules/lodash/_copyObject.js","webpack:///./node_modules/lodash/_assignValue.js","webpack:///./node_modules/lodash/_createAssigner.js","webpack:///./node_modules/lodash/_baseRest.js","webpack:///./node_modules/lodash/_overRest.js","webpack:///./node_modules/lodash/_apply.js","webpack:///./node_modules/lodash/_setToString.js","webpack:///./node_modules/lodash/_isIterateeCall.js","webpack:///./node_modules/flatpickr/dist/l10n/cs.js","webpack:///./node_modules/flatpickr/dist/l10n/de.js","webpack:///./node_modules/flatpickr/dist/l10n/es.js","webpack:///./node_modules/flatpickr/dist/l10n/fi.js","webpack:///./node_modules/flatpickr/dist/l10n/fr.js","webpack:///./node_modules/flatpickr/dist/l10n/it.js","webpack:///./node_modules/flatpickr/dist/l10n/lt.js","webpack:///./node_modules/flatpickr/dist/l10n/nl.js","webpack:///./node_modules/flatpickr/dist/l10n/pl.js","webpack:///./node_modules/flatpickr/dist/l10n/pt.js","webpack:///./node_modules/flatpickr/dist/l10n/sk.js","webpack:///./packages/oui-checkbox/src/index.js","webpack:///./packages/oui-checkbox/src/checkbox.component.js","webpack:///./packages/oui-checkbox/src/checkbox.controller.js","webpack:///./packages/oui-checkbox/src/checkbox.html","webpack:///./packages/oui-collapsible/src/index.js","webpack:///./packages/oui-collapsible/src/collapsible.component.js","webpack:///./packages/oui-collapsible/src/collapsible.controller.js","webpack:///./packages/oui-collapsible/src/collapsible.html","webpack:///./packages/oui-radio/src/radio.component.js","webpack:///./packages/oui-radio/src/radio.controller.js","webpack:///./packages/oui-radio/src/radio.html","webpack:///./packages/oui-message/src/index.js","webpack:///./packages/oui-message/src/message.component.js","webpack:///./packages/oui-message/src/message.controller.js","webpack:///./packages/oui-message/src/message.html","webpack:///./packages/oui-spinner/src/index.js","webpack:///./packages/oui-spinner/src/spinner.component.js","webpack:///./packages/oui-spinner/src/spinner.controller.js","webpack:///./packages/oui-spinner/src/spinner.html","webpack:///./packages/oui-back-button/src/index.js","webpack:///./packages/oui-back-button/src/back-button.component.js","webpack:///./packages/oui-back-button/src/back-button.controller.js","webpack:///./packages/oui-back-button/src/back-button.html","webpack:///./packages/oui-dropdown/src/index.js","webpack:///./packages/oui-dropdown/src/dropdown.component.js","webpack:///./packages/oui-dropdown/src/dropdown.controller.js","webpack:///./packages/oui-dropdown/src/content/dropdown-content.directive.js","webpack:///./packages/oui-dropdown/src/group/dropdown-group.html","webpack:///./packages/oui-dropdown/src/item/dropdown-item.controller.js","webpack:///./node_modules/core-js/library/fn/json/stringify.js","webpack:///./packages/oui-dropdown/src/item/dropdown-item.html","webpack:///./packages/oui-dropdown/src/trigger/dropdown-trigger.directive.js","webpack:///./packages/oui-dropdown/src/trigger/dropdown-trigger.controller.js","webpack:///./packages/oui-dropdown/src/trigger/dropdown-trigger.html","webpack:///./packages/oui-action-menu/src/index.js","webpack:///./packages/oui-action-menu/src/action-menu.component.js","webpack:///./packages/oui-action-menu/src/action-menu.controller.js","webpack:///./packages/oui-action-menu/src/action-menu.html","webpack:///./packages/oui-tooltip/src/index.js","webpack:///./packages/oui-tooltip/src/tooltip.directive.js","webpack:///./packages/oui-tooltip/src/tooltip.controller.js","webpack:///./packages/oui-tooltip/src/tooltip.html","webpack:///./packages/oui-numeric/src/index.js","webpack:///./packages/oui-numeric/src/numeric.component.js","webpack:///./packages/oui-numeric/src/numeric.controller.js","webpack:///./node_modules/lodash/clamp.js","webpack:///./packages/oui-numeric/src/numeric.html","webpack:///./packages/oui-pagination/src/index.js","webpack:///./packages/oui-pagination/src/pagination.component.js","webpack:///./packages/oui-pagination/src/pagination.controller.js","webpack:///./node_modules/core-js/library/fn/array/from.js","webpack:///./node_modules/core-js/library/modules/_string-at.js","webpack:///./node_modules/core-js/library/modules/_iter-create.js","webpack:///./node_modules/core-js/library/modules/_object-dps.js","webpack:///./node_modules/core-js/library/modules/_array-includes.js","webpack:///./node_modules/core-js/library/modules/_to-absolute-index.js","webpack:///./node_modules/core-js/library/modules/_html.js","webpack:///./node_modules/core-js/library/modules/es6.array.from.js","webpack:///./node_modules/core-js/library/modules/_iter-call.js","webpack:///./node_modules/core-js/library/modules/_is-array-iter.js","webpack:///./node_modules/core-js/library/modules/_create-property.js","webpack:///./node_modules/core-js/library/modules/_classof.js","webpack:///./node_modules/core-js/library/modules/_iter-detect.js","webpack:///./node_modules/core-js/library/fn/object/assign.js","webpack:///./node_modules/core-js/library/modules/es6.object.assign.js","webpack:///./node_modules/core-js/library/modules/_object-assign.js","webpack:///./packages/oui-pagination/src/pagination.html","webpack:///./packages/oui-pagination/src/pagination.provider.js","webpack:///./packages/oui-datagrid/src/index.js","webpack:///./packages/oui-datagrid/src/cell/cell.component.js","webpack:///./packages/oui-datagrid/src/cell/cell.controller.js","webpack:///./packages/oui-datagrid/src/datagrid.directive.js","webpack:///./packages/oui-datagrid/src/datagrid.controller.js","webpack:///./node_modules/babel-runtime/helpers/defineProperty.js","webpack:///./node_modules/lodash/_createFind.js","webpack:///./node_modules/lodash/_baseMatches.js","webpack:///./node_modules/lodash/_baseIsMatch.js","webpack:///./node_modules/lodash/_baseIsEqualDeep.js","webpack:///./node_modules/lodash/_equalArrays.js","webpack:///./node_modules/lodash/_SetCache.js","webpack:///./node_modules/lodash/_arraySome.js","webpack:///./node_modules/lodash/_cacheHas.js","webpack:///./node_modules/lodash/_baseIndexOf.js","webpack:///./node_modules/lodash/_equalByTag.js","webpack:///./node_modules/lodash/_equalObjects.js","webpack:///./node_modules/lodash/_getAllKeys.js","webpack:///./node_modules/lodash/_getTag.js","webpack:///./node_modules/lodash/_getMatchData.js","webpack:///./node_modules/lodash/_baseMatchesProperty.js","webpack:///./node_modules/lodash/isSymbol.js","webpack:///./node_modules/lodash/_stringToPath.js","webpack:///./node_modules/lodash/_memoizeCapped.js","webpack:///./node_modules/lodash/hasIn.js","webpack:///./node_modules/lodash/_baseHasIn.js","webpack:///./node_modules/lodash/_hasPath.js","webpack:///./node_modules/lodash/_isIndex.js","webpack:///./node_modules/lodash/property.js","webpack:///./node_modules/lodash/_baseProperty.js","webpack:///./node_modules/lodash/_basePropertyDeep.js","webpack:///./node_modules/lodash/_baseFindIndex.js","webpack:///./packages/oui-datagrid/src/datagrid.html","webpack:///./packages/oui-datagrid/src/datagrid-column-builder.service.js","webpack:///./packages/oui-datagrid/src/extra-top/extra-top.component.js","webpack:///./packages/oui-datagrid/src/extra-top/extra-top.controller.js","webpack:///./packages/oui-datagrid/src/paging/datagrid-paging.service.js","webpack:///./packages/oui-datagrid/src/paging/datagrid-local-paging.js","webpack:///./node_modules/core-js/library/fn/object/get-prototype-of.js","webpack:///./node_modules/core-js/library/modules/es6.object.get-prototype-of.js","webpack:///./node_modules/babel-runtime/core-js/symbol/iterator.js","webpack:///./node_modules/core-js/library/fn/symbol/iterator.js","webpack:///./node_modules/core-js/library/modules/es6.array.iterator.js","webpack:///./node_modules/core-js/library/modules/_add-to-unscopables.js","webpack:///./node_modules/core-js/library/modules/_iter-step.js","webpack:///./node_modules/babel-runtime/core-js/symbol.js","webpack:///./node_modules/core-js/library/fn/symbol/index.js","webpack:///./node_modules/core-js/library/modules/es6.symbol.js","webpack:///./node_modules/core-js/library/modules/_meta.js","webpack:///./node_modules/core-js/library/modules/_enum-keys.js","webpack:///./node_modules/core-js/library/modules/_is-array.js","webpack:///./node_modules/core-js/library/modules/_object-gopn-ext.js","webpack:///./node_modules/core-js/library/modules/es7.symbol.async-iterator.js","webpack:///./node_modules/core-js/library/modules/es7.symbol.observable.js","webpack:///./node_modules/babel-runtime/core-js/object/set-prototype-of.js","webpack:///./node_modules/core-js/library/fn/object/set-prototype-of.js","webpack:///./node_modules/core-js/library/modules/es6.object.set-prototype-of.js","webpack:///./node_modules/core-js/library/modules/_set-proto.js","webpack:///./node_modules/babel-runtime/core-js/object/create.js","webpack:///./node_modules/core-js/library/fn/object/create.js","webpack:///./node_modules/core-js/library/modules/es6.object.create.js","webpack:///./packages/oui-datagrid/src/filter/filter.js","webpack:///./packages/oui-datagrid/src/filter/comparator-resolver.js","webpack:///./node_modules/lodash/negate.js","webpack:///./node_modules/lodash/endsWith.js","webpack:///./node_modules/lodash/_baseToString.js","webpack:///./packages/oui-datagrid/src/filter/basic.js","webpack:///./packages/oui-datagrid/src/filter/date.js","webpack:///./node_modules/lodash/isNaN.js","webpack:///./node_modules/lodash/isNumber.js","webpack:///./node_modules/lodash/isDate.js","webpack:///./node_modules/lodash/_baseIsDate.js","webpack:///./node_modules/lodash/_baseUnary.js","webpack:///./node_modules/lodash/_nodeUtil.js","webpack:///./packages/oui-datagrid/src/filter/number.js","webpack:///./node_modules/escape-string-regexp/index.js","webpack:///./packages/oui-datagrid/src/paging/datagrid-remote-paging.js","webpack:///./packages/oui-datagrid/src/parameters/datagrid-parameters.component.js","webpack:///./packages/oui-datagrid/src/parameters/datagrid-parameters.controller.js","webpack:///./packages/oui-datagrid/src/parameters/datagrid-parameters.html","webpack:///./packages/oui-datagrid/src/datagrid.provider.js","webpack:///./packages/oui-datagrid/src/datagrid.service.js","webpack:///./packages/oui-navbar/src/index.js","webpack:///./packages/oui-navbar/src/keyboard-keys.constant.js","webpack:///./packages/oui-navbar/src/navbar.component.js","webpack:///./packages/oui-navbar/src/navbar.controller.js","webpack:///./packages/oui-navbar/src/navbar.html","webpack:///./packages/oui-navbar/src/navbar.provider.js","webpack:///./packages/oui-navbar/src/group/navbar-group.directive.js","webpack:///./packages/oui-navbar/src/group/navbar-group.controller.js","webpack:///./packages/oui-navbar/src/group/navbar-group.service.js","webpack:///./packages/oui-navbar/src/menu/navbar-menu.component.js","webpack:///./packages/oui-navbar/src/menu/navbar-menu.controller.js","webpack:///./packages/oui-navbar/src/menu/navbar-menu.html","webpack:///./packages/oui-navbar/src/navbar.service.js","webpack:///./packages/oui-modal/src/index.js","webpack:///./packages/oui-modal/src/modal.component.js","webpack:///./packages/oui-modal/src/modal.controller.js","webpack:///./packages/oui-modal/src/modal.html","webpack:///./packages/oui-field/src/index.js","webpack:///./packages/oui-field/src/field.component.js","webpack:///./packages/oui-field/src/field.controller.js","webpack:///./node_modules/core-js/library/fn/object/keys.js","webpack:///./node_modules/core-js/library/modules/es6.object.keys.js","webpack:///./packages/oui-field/src/field.html","webpack:///./packages/oui-field/src/field.provider.js","webpack:///./packages/oui-radio-group/src/radio-group.component.js","webpack:///./packages/oui-radio-toggle-group/src/index.js","webpack:///./packages/oui-radio-toggle-group/src/radio-toggle-group.component.js","webpack:///./packages/oui-select/src/index.js","webpack:///./packages/oui-select/src/ui-select.js","webpack:///./packages/oui-select/src/templates/choices.html","webpack:///./packages/oui-select/src/templates/match.html","webpack:///./packages/oui-select/src/templates/select.html","webpack:///./packages/oui-select/src/select.directive.js","webpack:///./packages/oui-select/src/select.controller.js","webpack:///./packages/oui-select/src/select.html","webpack:///./packages/oui-select-picker/src/index.js","webpack:///./packages/oui-select-picker/src/select-picker.component.js","webpack:///./packages/oui-select-picker/src/select-picker.controller.js","webpack:///./packages/oui-select-picker/src/select-picker.html","webpack:///./packages/oui-textarea/src/index.js","webpack:///./packages/oui-textarea/src/textarea.component.js","webpack:///./packages/oui-textarea/src/textarea.controller.js","webpack:///./packages/oui-textarea/src/textarea.html","webpack:///./packages/oui-textarea/src/textarea.provider.js","webpack:///./packages/oui-form-actions/src/index.js","webpack:///./packages/oui-form-actions/src/form-actions.component.js","webpack:///./packages/oui-form-actions/src/form-actions.controller.js","webpack:///./packages/oui-form-actions/src/form-actions.html","webpack:///./packages/oui-form-actions/src/form-actions.provider.js","webpack:///./packages/oui-search/src/index.js","webpack:///./packages/oui-search/src/search.component.js","webpack:///./packages/oui-search/src/search.controller.js","webpack:///./node_modules/lodash/debounce.js","webpack:///./node_modules/lodash/now.js","webpack:///./packages/oui-search/src/search.html","webpack:///./packages/oui-criteria-container/src/index.js","webpack:///./packages/oui-criteria-container/src/criteria-container.component.js","webpack:///./packages/oui-criteria-container/src/criteria-container.controller.js","webpack:///./packages/oui-criteria-adder/src/index.js","webpack:///./packages/oui-criteria-adder/src/criteria-adder.component.js","webpack:///./packages/oui-criteria-adder/src/criteria-adder.controller.js","webpack:///./packages/oui-criteria-adder/src/criteria-adder.html","webpack:///./packages/oui-criteria-adder/src/criteria-adder.provider.js","webpack:///./packages/oui-chips/src/index.js","webpack:///./packages/oui-chips/src/chips.component.js","webpack:///./packages/oui-chips/src/chips.controller.js","webpack:///./packages/oui-chips/src/chips.html","webpack:///./packages/oui-popover/src/index.js","webpack:///./packages/oui-popover/src/popover.component.js","webpack:///./packages/oui-popover/src/popover.controller.js","webpack:///./packages/oui-popover/src/popover.html","webpack:///./packages/oui-popover/src/popover-content.directive.js","webpack:///./packages/oui-popover/src/popover-content.html","webpack:///./packages/oui-popover/src/popover-trigger.directive.js","webpack:///./packages/oui-stepper/src/index.js","webpack:///./packages/oui-stepper/src/step-form/step-form.component.js","webpack:///./packages/oui-stepper/src/step-form/step-form.controller.js","webpack:///./packages/oui-stepper/src/step-form/step-form.html","webpack:///./packages/oui-stepper/src/stepper.component.js","webpack:///./packages/oui-stepper/src/stepper.controller.js","webpack:///./packages/oui-stepper/src/stepper.html","webpack:///./packages/oui-stepper/src/stepper.provider.js","webpack:///./packages/oui-skeleton/src/index.js","webpack:///./packages/oui-skeleton/src/skeleton.component.js","webpack:///./packages/oui-skeleton/src/skeleton.controller.js","webpack:///./packages/oui-skeleton/src/skeleton.html","webpack:///./packages/oui-clipboard/src/index.js","webpack:///./packages/oui-clipboard/src/clipboard.component.js","webpack:///./packages/oui-clipboard/src/clipboard.controller.js","webpack:///./node_modules/clipboard/dist/clipboard.js","webpack:///./packages/oui-clipboard/src/clipboard.html","webpack:///./packages/oui-clipboard/src/clipboard.provider.js","webpack:///./packages/oui-slideshow/src/index.js","webpack:///./packages/oui-slideshow/src/slideshow.component.js","webpack:///./packages/oui-slideshow/src/slideshow.controller.js","webpack:///./packages/oui-slideshow/src/slideshow.html","webpack:///./packages/oui-slideshow/src/slideshow-panel.component.js","webpack:///./packages/oui-slideshow/src/slideshow-panel.controller.js","webpack:///./packages/oui-slideshow/src/slideshow-panel.html","webpack:///./packages/oui-page-header/src/index.js","webpack:///./packages/oui-page-header/src/page-header.component.js","webpack:///./packages/oui-page-header/src/page-header.controller.js","webpack:///./packages/oui-page-header/src/page-header.html","webpack:///./packages/oui-tile/src/index.js","webpack:///./packages/oui-tile/src/tile.component.js","webpack:///./packages/oui-tile/src/tile.controller.js","webpack:///./packages/oui-tile/src/tile.html","webpack:///./packages/oui-tile/src/button/tile-button.component.js","webpack:///./packages/oui-tile/src/button/tile-button.controller.js","webpack:///./packages/oui-tile/src/button/tile-button.html","webpack:///./packages/oui-tile/src/definition/tile-definition.component.js","webpack:///./packages/oui-tile/src/definition/tile-definition.controller.js","webpack:///./packages/oui-tile/src/definition/tile-definition.html","webpack:///./packages/oui-guide-menu/src/index.js","webpack:///./packages/oui-guide-menu/src/guide-menu.component.js","webpack:///./packages/oui-guide-menu/src/guide-menu.controller.js","webpack:///./packages/oui-guide-menu/src/guide-menu.html","webpack:///./packages/oui-header-tabs/src/index.js","webpack:///./packages/oui-header-tabs/src/header-tabs.component.js","webpack:///./packages/oui-header-tabs/src/header-tabs.controller.js","webpack:///./node_modules/babel-runtime/core-js/get-iterator.js","webpack:///./node_modules/core-js/library/fn/get-iterator.js","webpack:///./node_modules/core-js/library/modules/core.get-iterator.js","webpack:///./packages/oui-header-tabs/src/header-tabs.html","webpack:///./packages/oui-header-tabs/src/header-tabs-dropdown.component.js","webpack:///./packages/oui-header-tabs/src/header-tabs-dropdown.controller.js","webpack:///./packages/oui-header-tabs/src/header-tabs-dropdown.html","webpack:///./packages/oui-header-tabs/src/header-tabs-item.component.js","webpack:///./packages/oui-header-tabs/src/header-tabs-item.controller.js"],"names":["modules","__webpack_require__","moduleId","installedModules","exports","module","i","l","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","default","instance","Constructor","TypeError","_defineProperty","_defineProperty2","obj","defineProperties","target","props","length","descriptor","writable","key","protoProps","staticProps","addBooleanParameter","controller","parameterName","angular","isDefined","$attrs","addDefaultParameter","defaultValue","trim","hasAttribute","element","attributeName","getAttribute","hasAttributeValue","attribute","value","core","version","__e","store","uid","Symbol","USE_SYMBOL","global","ctx","hide","has","$export","type","source","own","out","IS_FORCED","F","IS_GLOBAL","G","IS_STATIC","S","IS_PROTO","P","IS_BIND","B","IS_WRAP","W","expProto","undefined","C","a","b","this","arguments","apply","Function","virtual","R","U","window","Math","self","__g","anObject","IE8_DOM_DEFINE","toPrimitive","dP","f","O","Attributes","e","isObject","it","isArray","Array","createDesc","exec","IObject","defined","bitmap","isObjectLike","$keys","enumBugKeys","keys","assocIndexOf","array","eq","objectToString","nativeObjectToString","objectProto","toString","__webpack_exports__","microtaskDebounce","fn","called","Promise","resolve","then","taskDebounce","scheduled","setTimeout","timeoutDuration","isFunction","functionToCheck","getType","getStyleComputedProperty","nodeType","css","getComputedStyle","getParentNode","nodeName","parentNode","host","getScrollParent","document","body","ownerDocument","_getStyleComputedProp","overflow","overflowX","test","overflowY","isIE","isIE11","isIE10","getOffsetParent","documentElement","noOffsetParent","offsetParent","nextElementSibling","indexOf","isOffsetContainer","firstElementChild","getRoot","node","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","start","end","range","createRange","setStart","setEnd","commonAncestorContainer","contains","element1root","getScroll","side","upperSide","html","scrollingElement","includeScroll","rect","subtract","scrollTop","scrollLeft","modifier","top","bottom","left","right","getBordersSize","styles","axis","sideA","sideB","parseFloat","getSize","computedStyle","max","getWindowSizes","height","width","getClientRect","offsets","_extends","getBoundingClientRect","result","sizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","offsetHeight","getOffsetRectRelativeToArbitraryNode","children","parent","fixedPosition","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","getViewportOffsetRectRelativeToArtbitraryNode","excludeScroll","relativeOffset","innerWidth","innerHeight","isFixed","getFixedPositionOffsetParent","parentElement","el","getBoundaries","popper","reference","padding","boundariesElement","boundaries","boundariesNode","_getWindowSizes","getArea","_ref","computeAutoPlacement","placement","refRect","rects","sortedAreas","map","area","sort","filteredAreas","filter","_ref2","computedPlacement","variation","split","getReferenceOffsets","state","getOuterSizes","x","marginBottom","y","marginRight","getOppositePlacement","hash","replace","matched","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","find","arr","check","findIndex","prop","cur","match","runModifiers","modifiers","data","ends","slice","forEach","console","warn","enabled","update","isDestroyed","arrowStyles","attributes","flipped","options","positionFixed","flip","originalPlacement","position","isCreated","onUpdate","onCreate","isModifierEnabled","modifierName","some","getSupportedPropertyName","prefixes","upperProp","charAt","toUpperCase","prefix","toCheck","style","destroy","removeAttribute","willChange","disableEventListeners","removeOnDestroy","removeChild","getWindow","defaultView","attachToScrollParents","event","callback","scrollParents","isBody","addEventListener","passive","push","setupEventListeners","updateBound","scrollElement","eventsEnabled","enableEventListeners","scheduleUpdate","removeEventListeners","removeEventListener","cancelAnimationFrame","isNumeric","isNaN","isFinite","setStyles","unit","setAttributes","setAttribute","applyStyle","arrowElement","applyStyleOnLoad","modifierOptions","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","floor","round","prefixedProperty","invertTop","invertLeft","x-placement","arrow","isModifierRequired","requestingName","requestedName","requesting","isRequired","_requesting","requested","_data$offsets$arrow","querySelector","_data$offsets","isVertical","len","sideCapitalized","toLowerCase","altSide","opSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","min","getOppositeVariation","clockwise","counter","index","validPlacements","concat","reverse","placementOpposite","flipOrder","behavior","BEHAVIORS","FLIP","CLOCKWISE","COUNTERCLOCKWISE","step","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariation","flipVariations","keepTogether","toValue","str","parseOffset","offset","basePlacement","useHeight","fragments","frag","divider","search","splitRegex","ops","op","mergeWithPrevious","reduce","index2","preventOverflow","transformProp","popperStyles","transform","priority","primary","escapeWithReference","secondary","shift","shiftvariation","shiftOffsets","bound","inner","subtractLength","isBrowser","longerTimeoutBrowsers","navigator","userAgent","supportsMicroTasks","debounce","MSInputMethodContext","documentMode","classCallCheck","createClass","assign","placements","onLoad","Defaults","Popper","_this","requestAnimationFrame","bind","jquery","Utils","PopperUtils","_interopRequireDefault","_classCallCheck2","_classCallCheck3","_createClass2","_createClass3","$element","$timeout","$inject","addClass","attr","id","px","random","propertyIsEnumerable","path","baseGet","identity","aFunction","that","val","valueOf","baseMerge","createAssigner","merge","srcIndex","ListCache","entries","clear","entry","set","listCacheClear","listCacheDelete","listCacheGet","listCacheHas","listCacheSet","other","baseAssignValue","freeGlobal","freeSelf","root","overArg","func","arg","_radioComponent","_radioComponent2","component","_dropdownItem","_dropdownItem2","_dropdownItem3","_dropdownItem4","template","bindings","text","ariaLabel","href","stateParams","disabled","external","onClick","$at","String","iterated","_t","_i","point","done","ceil","dPs","IE_PROTO","Empty","createDict","iframeDocument","iframe","display","appendChild","src","contentWindow","open","write","lt","close","create","Properties","shared","def","TAG","tag","stat","getOwnPropertySymbols","isKey","isSymbol","reIsPlainProp","reIsDeepProp","LIBRARY","wksExt","$Symbol","is","createElement","assignMergeValue","webpackPolyfill","deprecate","paths","g","eval","getPrototype","getPrototypeOf","stubFalse","isArrayLike","isLength","baseGetTag","funcTag","genTag","asyncTag","proxyTag","MAX_SAFE_INTEGER","safeGet","nativeKeysIn","_dropdownGroup","_dropdownGroup2","label","transclude","baseClamp","number","lower","upper","_from","_from2","arr2","redefine","Iterators","$iterCreate","setToStringTag","ITERATOR","BUGGY","returnThis","Base","NAME","next","DEFAULT","IS_SET","FORCED","methods","IteratorPrototype","getMethod","kind","proto","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","values","toIObject","arrayIndexOf","names","cof","toInteger","toObject","ObjectProto","constructor","classof","getIteratorMethod","createFind","baseIteratee","baseMatchesProperty","baseMatches","baseIsEqual","bitmask","customizer","stack","baseIsEqualDeep","isStrictComparable","nativeKeys","matchesStrictComparable","srcValue","castPath","toKey","stringToPath","predicate","fromIndex","nativeMax","baseFindIndex","hasProperty","theObject","fails","KEY","exp","_typeof2","_typeof3","ReferenceError","_iterator","_iterator2","_symbol","_symbol2","_typeof","TO_STRING_TAG","DOMIterables","Collection","hiddenKeys","getOwnPropertyNames","pIE","gOPD","getOwnPropertyDescriptor","_setPrototypeOf","_setPrototypeOf2","_create","_create2","subClass","superClass","__proto__","_assign","_assign2","_util","DatagridPagingAbstract","columns","currentSorting","pageSize","rowLoader","pagingService","criteria","$q","orderByFilter","preventLoadingRows","cachedPageResult","cachedPageResultPristine","totalCount","columnName","dir","selectedColumn","getColumn","sortProperty","rows","all","row","loadRowData","when","isRowLoaded","$promise","$row","fullRow","finally","column","loadRows","_escapeStringRegexp","_escapeStringRegexp2","StringComparators","haystack","needle","testString","escapedNeedle","regexp","RegExp","_radioGroupComponent","_radioGroupComponent2","_class","$scope","$id","_this2","model","onChange","modelValue","_buttonComponent","_buttonComponent2","_button","_button2","_button3","_button4","variant","variantNav","_componentUtils","isUndefined","removeAttr","$Object","desc","_calendarComponent","_calendarComponent2","_calendar","_calendar2","provider","_calendar3","_calendar4","placeholder","mode","format","altFormat","appendToBody","inline","maxDate","minDate","disableDate","enableDate","required","weekNumbers","onClose","onOpen","_flatpickr","_flatpickr2","ouiCalendarConfiguration","locale","copy","flatpickr","setDate","hooks","hook","selectedDates","dateStr","setOptionsProperty","appendTo","wrapper","setEventHooks","initCalendarInstance","_this3","factory","wait","immediate","timeout","context","args","clearTimeout","compareDates","date1","date2","timeless","Date","getTime","setHours","toggleClass","elem","className","bool","classList","add","remove","content","textContent","clearNode","firstChild","findParent","condition","createNumberInput","inputClassName","opts","numInput","arrowUp","arrowDown","pattern","FlatpickrInstance","instanceConfig","setupHelperFunctions","utils","getDaysInMonth","month","yr","currentMonth","currentYear","l10n","daysInMonth","bindToInstance","setCalendarWidth","config","showMonths","noCalendar","calendarContainer","visibility","daysContainer","daysWidth","days","weekWrapper","removeProperty","updateTime","timeWrapper","setHoursFromInputs","updateValue","_debouncedChange","ampm2military","hour","amPM","int","military2ampm","hourElement","minuteElement","hours","parseInt","minutes","seconds","secondElement","limitMinHours","minTime","minDateHasTime","latestSelectedDateObj","maxTime","maxDateHasTime","getHours","getMinutes","getSeconds","setHoursFromDate","dateObj","date","setDefaultHours","defaultHour","defaultMinute","defaultSeconds","min_hr","min_minutes","max_hr","max_minutes","isMobile","pad","time_24hr","onYearInput","year","delta","changeYear","handler","ev","_handlers","evt","which","triggerChange","triggerEvent","bindEvents","wrap","querySelectorAll","setupMobile","debouncedResize","onResize","DEBOUNCED_CHANGE_MS","onMouseOver","onKeyDown","static","_input","ontouchstart","documentClick","capture","clickOpens","monthNav","onMonthNavClick","selectDate","timeContainer","selText","select","timeIncrement","jumpToDate","jumpDate","jumpTo","parseDate","now","getFullYear","getMonth","message","errorHandler","redraw","incrementNumInput","inputElem","input","createEvent","dispatchEvent","build","fragment","createDocumentFragment","tabIndex","buildMonthNav","innerContainer","_buildWeeks","buildWeeks","rContainer","buildWeekdays","buildDays","enableTime","buildTime","animate","customAppend","insertBefore","nextSibling","altInput","createDay","dayNumber","dateIsEnabled","isEnabled","dayElement","getDate","$i","formatDate","ariaDateFormat","todayDateElem","isDateSelected","selectedDateElem","isDateInRange","insertAdjacentHTML","getWeek","focusOnDayElem","targetNode","focus","getFirstAvailableDay","startMonth","endMonth","startIndex","endIndex","getNextAvailableDay","current","givenMonth","loopDelta","numMonthDays","abs","changeMonth","focusOnDay","dayFocused","isInView","activeElement","startElem","buildMonthDays","firstOfMonth","getDay","firstDayOfWeek","prevMonthDays","isMultiMonth","prevMonthDayClass","nextMonthDayClass","dayIndex","dayNum","dayContainer","setMonth","buildMonth","container","monthNavFragment","monthElement","title","scrollTitle","yearInput","tabindex","yearElement","childNodes","yearAriaLabel","buildMonths","prevMonthNav","yearElements","monthElements","nextMonthNav","innerHTML","prevArrow","nextArrow","__hidePrevMonthArrow","__hideNextMonthArrow","currentYearElement","updateNavigationCurrentMonth","separator","hourInput","minuteInput","hourIncrement","minuteIncrement","enableSeconds","secondInput","toggleTitle","weekdayContainer","updateWeekdays","weekdays","shorthand","splice","join","weekAbbreviation","is_offset","_hidePrevMonthArrow","_hideNextMonthArrow","triggerChangeEvent","mobileInput","showTimeInput","isOpen","h","_type","k","_","isCalendarElem","isCalendarElement","isInput","lostFocus","relatedTarget","isIgnored","ignoredFocusElements","newYear","newYearNum","isNewYear","dateToCheck","enable","disable","parsed","from","to","allowInput","allowKeydown","allowInlineKeydown","keyCode","dateFormat","blur","isTimeObj","preventDefault","focusAndClose","_delta","ctrlKey","elems","shiftKey","hoverDate","initialDate","rangeStartDate","rangeEndDate","containsDisabled","minRange","maxRange","t","duration","DAY","prevMonth","dayElem","timestamp","outOfRange","lastChild","isBetween","positionCalendar","positionElement","wasOpen","minMaxDateSetter","inverseDateObj","parseConfig","boolOpts","userConfig","JSON","parse","stringify","dataset","formats$$1","_enable","dates","parseDateRules","_disable","timeMode","defaultConfig","_minDate","_maxDate","minMaxTimeSetter","_minTime","_maxTime","arrayify","disableMobile","_i2","plugins","pluginConf","setupLocale","l10ns","Error","tokenRegex","K","createDateFormatter","customPositionElement","_positionElement","calendarHeight","acc","child","calendarWidth","configPos","configPosVertical","configPosHorizontal","inputBounds","distanceFromBottom","showOnTop","pageYOffset","pageXOffset","rightMost","msMaxTouchPoints","stopPropagation","isSelectable","day","selectedDate","shouldChangeMonth","selectedIndex","closeOnSelect","single","option","CALLBACKS","setSelectedDate","inputDate","conjunction","rangeSeparator","rule","setupDates","preloadedDate","defaultDate","_showTimeInput","setupInputs","altInputClass","inputType","mobileFormatStr","_a","toggle","initEvent","monthToStr","shorthandCurrentMonth","joinChar","dObj","isPrevMonth","isNextMonth","isKeyDown","curValue","newValue","isHourElem","isMinuteElem","english","createDateParser","_bind","_setHoursFromDate","_positionCalendar","_createElement","isSafari","nodeList","nodes","instances","error","do_nothing","monthNumber","months","revFormat","D","monthName","longhand","H","J","M","shortMonth","setSeconds","unixSeconds","weekNum","weekNumber","Y","setFullYear","Z","ISODate","setMinutes","j","w","formats","toISOString","ordinal","substring","nth","_ref$config","defaults","_ref$l10n","frmt","overrideLocale","_ref2$config","_ref2$l10n","givenFormat","parsedDate","date_orig","toFixed","datestr","matchIndex","regexStr","token","isBackSlash","escaped","_ref3","givenDate","week1","ts","ts1","ts2","err","onDayCreate","onDestroy","onMonthChange","onParseConfig","onReady","onValueUpdate","onYearChange","onPreCalendarPosition","_len","_key","HTMLElement","HTMLCollection","NodeList","selector","en","localize","setDefaults","jQuery","fp_incr","_merge2","_merge3","baseFor","Stack","baseMergeDeep","keysIn","__data__","size","pop","arrayProto","getNative","getValue","createBaseFor","fromRight","iteratee","keysFunc","iterable","mergeFunc","objValue","stacked","isCommon","isArr","isBuff","isBuffer","isTyped","isTypedArray","isArrayLikeObject","copyArray","cloneBuffer","cloneTypedArray","isPlainObject","isArguments","toPlainObject","initCloneObject","buffer","isDeep","allocUnsafe","freeExports","freeModule","moduleExports","Buffer","typedArray","cloneArrayBuffer","byteOffset","arrayBuffer","byteLength","Uint8Array","isPrototype","baseCreate","objectCreate","objectTag","Ctor","funcToString","objectCtorString","funcProto","copyObject","isNew","assignValue","assigner","baseRest","sources","guard","isIterateeCall","setToString","overRest","otherArgs","thisArg","fp","Czech","cs","German","de","Spanish","es","Finnish","fi","French","fr","Italian","Lithuanian","Dutch","nl","Polish","pl","Portuguese","pt","Slovak","sk","_checkboxComponent","_checkboxComponent2","_checkbox","_checkbox2","_checkbox3","_checkbox4","description","checkboxElement","$watch","_updateIndeterminateState","_collapsibleComponent","_collapsibleComponent2","_collapsibleController","_collapsibleController2","_collapsible","_collapsible2","heading","expanded","$window","newHeight","oldHeight","wrapperHeight","on","$apply","_radio","_radio2","_radio3","_radio4","require","radioGroup","radioToggleGroup","thumbnail","group","setModelValue","_messageComponent","_messageComponent2","_message","_message2","_message3","_message4","ariaCloseButtonLabel","dismissable","onDismissed","dismissed","_spinnerComponent","_spinnerComponent2","_spinner","_spinner2","_spinner3","_spinner4","_backButtonComponent","_backButtonComponent2","_backButton","_backButton2","_backButton3","_backButton4","history","back","_dropdownComponent","_dropdownComponent2","_dropdownContentDirective","_dropdownContentDirective2","_dropdownDividerComponent","_dropdownDividerComponent2","_dropdownGroupComponent","_dropdownGroupComponent2","_dropdownItemComponent","_dropdownItemComponent2","_dropdownTriggerDirective","_dropdownTriggerDirective2","directive","_dropdown","_dropdown2","align","persistent","_popper","_popper2","$document","isDropdownOpen","hasFocus","currentFocusedElement","documentClickHandler","triggerElement","popperElement","closeDropdown","triggerKeyHandler","triggerBlurHandler","off","destroyPopper","trigger","ctrl","triggerCtrl","menu","openDropdown","updatePopper","afterOpen","afterClose","minWidth","getTriggerWidth","createPopper","restrict","scope","link","attrs","prepend","setDropdownMenu","_stringify","_stringify2","linkTarget","linkRel","sticky","$JSON","_dropdownTrigger","_dropdownTrigger2","dropdown","controllerAs","bindToController","$compile","tagName","clone","replaceWith","$trigger","aria-haspopup","aria-expanded","onTriggerClick","setDropdownTrigger","_actionMenuComponent","_actionMenuComponent2","_dropdownDivider","_dropdownDivider2","_actionMenuController","_actionMenuController2","_actionMenu","_actionMenu2","compact","_tooltip","_tooltip2","tooltipScope","extend","$new","$tooltipCtrl","tooltipTemplate","one","after","tooltip","_numericComponent","_numericComponent2","_numeric","_numeric2","_numeric3","_numeric4","_clamp2","_clamp3","$log","isNumber","previousValue","clamp","toNumber","_pagination","_pagination2","_pagination3","_pagination4","currentOffset","pageSizeMax","totalItems","_toConsumableArray2","_toConsumableArray3","ouiPaginationConfiguration","pageSizeList","changes","processPaginationChange","processTranslations","pageCount","getPageCount","pageRange","getPageRange","currentPage","getCurrentPage","translations","ofNResults","currentPageOfPageCount","page","_onChange","item","$event","TO_STRING","pos","charCodeAt","getKeys","toLength","toAbsoluteIndex","IS_INCLUDES","$this","isArrayIter","createProperty","getIterFn","iter","arrayLike","iterator","aLen","mapfn","mapping","iterFn","ret","ArrayProto","$defineProperty","ARG","tryGet","T","callee","SAFE_CLOSING","riter","skipClosing","safe","gOPS","$assign","A","getSymbols","isEnum","resultsPerPage","previousPage","nextPage","_cell","_cell2","_datagrid","_datagrid2","_datagridColumnBuilder","_datagridColumnBuilder2","_extraTop","_extraTop2","_datagridPaging","_datagridPaging2","_datagridParameters","_datagridParameters2","_datagrid3","_datagrid4","_datagrid5","_datagrid6","service","datagridCtrl","cellScope","getParentScope","_compileCell","isFirstChange","$column","$value","compiledTemplate","empty","append","columnsDescription","columnsParameters","customizable","rowsLoader","onColumnsParametersChange","compile","elm","htmlContent","tableCtrl","_defineProperty3","_find2","_find3","DatagridController","$transclude","ouiDatagridPaging","ouiDatagridColumnBuilder","ouiDatagridConfiguration","ouiDatagridService","columnElements","actionColumnElements","extraTopElements","checkScroll","panel","scrollablePanel","scrollWidth","scrollBegin","scrollEnd","hasActionMenu","firstLoading","filterableColumns","registerDatagrid","originalContent","filterElements","builtColumns","buildColumns","previousRows","paging","createRemote","refreshData","setOffset","createLocal","setRows","isSearchTextVisible","searchable","filterable","equals","unregisterDatagrid","_this4","buildFromJs","actionColumn","buildActionColumn","extraTopCompiledTemplate","hasExtraTopContent","availableColumns","customColumn","hidden","disableWatcher","buildTitle","rawTitle","newTitle","cleanColumn","$parent","_this5","appliedCriteria","criterion","preview","setCriteria","_this6","setPageSize","_this7","scrollIntoView","skipSortAndFilter","requireScrollToTop","hideLoader","forceLoadRows","_this8","loading","displayedRows","createEmptyRows","getCurrentPageSize","refreshDatagridPromise","noop","loadData","scrollToTop","_this9","sortable","setSort","getSortColumnName","isSortAsc","isSortDesc","elements","tagNameUpper","filteredElements","findIndexFunc","collection","matchData","getMatchData","baseIsMatch","noCustomizer","COMPARE_PARTIAL_FLAG","COMPARE_UNORDERED_FLAG","equalFunc","objIsArr","othIsArr","objTag","arrayTag","getTag","othTag","argsTag","objIsObj","othIsObj","isSameTag","equalArrays","equalByTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","equalObjects","isPartial","arrLength","othLength","seen","SetCache","arrValue","othValue","compared","arraySome","othIndex","cacheHas","castArray","arrayIncludes","baseIndexOf","strictIndexOf","objProps","getAllKeys","objLength","skipCtor","objCtor","othCtor","hasIn","memoizeCapped","rePropName","reEscapeChar","string","quote","subString","hasPath","baseHasIn","hasFunc","isIndex","reIsUint","baseProperty","basePropertyDeep","copyValueProperties","searchableTypes","filterableTypes","DatagridColumnBuilder","$parse","columnElement","propertyValue","sortableValue","defineDefaultSorting","propertyName","isFilterable","isSearchable","typeOptions","preventCustomization","titleValue","htmlTemplate","_getColumnTemplate","columnDescription","actionColumnElement","outerHTML","alwaysVisible","defaultSortDir","extraTopScope","_compileElement","_datagridLocalPaging","_datagridLocalPaging2","_datagridRemotePaging","_datagridRemotePaging2","sorting","_getPrototypeOf","_getPrototypeOf2","_possibleConstructorReturn2","_possibleConstructorReturn3","_inherits2","_inherits3","_datagridPagingAbstract","_datagridPagingAbstract2","_filter2","_filter3","DatagridLocalPaging","_DatagridPagingAbstra","cachedRows","_filter","_sort","sortedRows","meta","pageResult","loadRowsData","filteredRows","applyFilter","sortConfiguration","getSortingConfiguration","$getPrototypeOf","addToUnscopables","_k","Arguments","DESCRIPTORS","META","$fails","wks","wksDefine","enumKeys","gOPNExt","$GOPD","$DP","gOPN","HIDDEN","TO_PRIMITIVE","SymbolRegistry","AllSymbols","OPSymbols","USE_NATIVE","QObject","setter","findChild","setSymbolDesc","protoDesc","sym","$defineProperties","$create","$propertyIsEnumerable","E","$getOwnPropertyDescriptor","$getOwnPropertyNames","$getOwnPropertySymbols","IS_OP","$set","es6Symbols","wellKnownSymbols","for","keyFor","useSetter","useSimple","replacer","$replacer","setDesc","isExtensible","FREEZE","preventExtensions","setMeta","fastKey","getWeak","onFreeze","NEED","symbols","windowNames","getWindowNames","setPrototypeOf","buggy","_get2","_get3","_comparatorResolver","_comparatorResolver2","_string","_string2","Filter","searchableColumns","_getSearchableColumns","filtered","applyCriteria","operator","itemContainsText","propertyMeta","comparatorFn","resolveComparator","subject","aggregator","_negate2","_negate3","_endsWith2","_endsWith3","_basic","_basic2","_date","_date2","_number","_number2","comparators","boolean","ComparatorResolver","baseOperator","negated","comparator","negate","FUNC_ERROR_TEXT","endsWith","baseToString","BooleanComparators","_isNaN2","_isNaN3","_isDate2","_isDate3","DateComparators","transformDate","daydate","rawDate","normalizeDate","numberTag","baseIsDate","baseUnary","nodeUtil","nodeIsDate","isDate","dateTag","freeProcess","process","binding","NumberComparators","matchOperatorsRe","DatagridRemotePaging","skipSort","$config","_datagridParameters3","_datagridParameters4","DatagridParametersController","computeColumns","customizedColumns","visible","columnIndex","isVisible","changedColumns","emptyPlaceholder","DatagridService","datagrids","datagridController","datagridId","showSpinner","_keyboardKeys","_keyboardKeys2","_navbar","_navbar2","_navbarProvider","_navbarProvider2","_navbarGroup","_navbarGroup2","_navbarGroup3","_navbarGroup4","_navbarMenu","_navbarMenu2","_navbar3","_navbar4","constant","ALT","TAB","ESC","brand","activeLink","mainLinks","asideLinks","togglerLinks","fixed","ouiNavbarConfiguration","NavbarService","KEYBOARD_KEYS","navbarService","isInternalNav","navigation","toggleMenu","togglerLoaded","updateLinks","currentValue","notification","errorInNotification","errorInNotificationDescription","markRead","markUnread","noNotification","noNotificationDescription","groupName","isLast","NavbarGroupService","navbarGroupService","ouiNavbarGroupLast","addItemToGroup","bindGroup","keyboardNav","keysRegex","tabbableItems","lastIndex","focusElement","groupIndex","_navbarMenu3","_navbarMenu4","backButton","childrenClass","headerBreadcrumb","headerClass","headerTitle","menuLinks","menuName","prev","previousElementSibling","setFocusTo","_modalComponent","_modalComponent2","_modal","_modal2","_modal3","_modal4","primaryAction","primaryLabel","secondaryAction","secondaryLabel","onDismiss","_fieldComponent","_fieldComponent2","_fieldProvider","_fieldProvider2","_fieldController","_fieldController2","_field","_field2","helpText","errorMessages","labelPopover","form","_keys","_keys2","CONTROLS_SELECTORS","VALIDATION_PARAMETERS","minlength","maxlength","MESSAGES_ORDER","FieldController","ouiFieldConfiguration","controlElements","controls","currentErrorField","ids","validationParameters","invalid","invalidOnBlur","getAllControls","$ouiFieldElement","namedControls","control","hasClass","bindDOMEvents","getValidationParameters","$broadcast","popoverId","controlElement","checkControlErrors","hideErrors","$invalid","$touched","checkAllErrors","$submitted","fieldInvalid","controlInvalid","$error","getFirstError","errorName","errors","getMessageString","parameterValue","controlsSelector","validationName","email","_radioGroup","_radioGroup2","_radioToggleGroupComponent","_radioToggleGroupComponent2","_select","_select2","isNil","ENTER","SPACE","LEFT","UP","RIGHT","DOWN","SHIFT","CTRL","PAGE_UP","PAGE_DOWN","HOME","END","BACKSPACE","DELETE","COMMAND","MAP","91","8","9","13","16","17","18","19","20","27","32","33","34","35","36","37","38","39","40","43","44","45","46","48","49","50","51","52","53","54","55","56","57","59","61","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","96","97","98","99","100","101","102","103","104","105","106","107","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","144","145","186","187","188","189","190","191","192","219","220","221","222","isControl","metaKey","altKey","isFunctionKey","isVerticalMovement","isHorizontalMovement","toSeparator","sep","closest","matchesSelector","matches","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","latestId","uis","theme","searchEnabled","refreshDelay","skipFocusser","dropdownPosition","removeSelected","resetSearchInput","generateId","spinnerEnabled","spinnerClass","backspaceReset","minErr","$$minErr","escapeRegexp","queryToEscape","matchItem","query","boundingClientRect","debounceTime","timeoutPromise","cancel","uiSelectConfig","RepeatParser","uiSelectMinErr","templateUrl","tElement","tAttrs","repeat","groupByExp","groupBy","groupFilterExp","groupFilter","groups","getGroupNgRepeatExpression","parserResult","choices","repeatExpression","rowsInner","itemName","$select","parseRepeatAttr","disableChoiceExpression","uiDisableChoice","onHighlightCallback","onHighlight","minimumInputLength","multiple","activate","activeIndex","tagging","isActivated","refresh","items","$observe","$eval","$filter","$$uisDebounce","$injector","_findIndex","list","_resetSearchInput","EMPTY_SEARCH","selected","_groupsFilter","groupNames","referenceElement","_updateItemDisabled","isDisabled","disabledItemIndex","disabledItems","_isItemDisabled","_initaliseLockedChoices","doInitalise","_updateItemLocked","isLocked","lockedItemIndex","lockedItems","_isItemlocked","itemScope","itemIndex","lockChoiceExpression","_handleDropDownSelection","processed","idx","minActiveIndex","idxmin","_ensureHighlightVisible","highlighted","posY","offsetTop","isGrouped","paste","refreshing","focusser","fct","taggingTokens","tokens","clickTriggeredSelect","$animate","searchInput","isEmpty","initSearchValue","avoidReset","taggingLabel","animateHandler","phase","focusSearchInput","findGroupByName","repeatAttr","updateGroups","groupFn","groupFilterFn","setPlainItems","setItemsFn","itemProperty","originalSource","createArrayFromObject","origSrc","$uisSource","v","keyName","filters","newVal","oldVal","refreshItems","selectedItems","filteredItems","every","selectedItem","calculateDropdownPos","$watchCollection","ngModel","$modelValue","_refreshDelayPromise","refreshAttr","refreshPromise","isActive","_isItemSelected","selection","isSelected","$item","isTag","$setTouched","setFocus","focusInput","sizeWatch","updaterScheduled","sizeSearchInput","calculateContainerWidth","updateIfVisible","containerWidth","inputWidth","offsetLeft","$$postDigest","keydownHandler","tagged","triggerHandler","newItem","clipboardData","getData","originalEvent","oldsearch","$on","generatedId","uisOffset","ngClass","combined","inputId","ctrls","transcludeFn","onDocumentClick","focusableControls","targetController","$digest","positionDropdown","originalWidth","resetDropdown","baseTitle","focusserTitle","focusserId","onSelectCallback","onSelect","onRemoveCallback","onRemove","onBlurCallback","onBlur","onFocusCallback","onFocus","choiceGrouped","limit","taggingEval","autofocus","focusOn","transcluded","transcludedMatch","transcludedChoices","transcludedNoChoice","setDropdownPosUp","offsetDropdown","setDropdownPosDown","removeClass","calculateDropdownPosAfterAnimation","opacity","opened","needsCalculated","setAllowClear","allow","allowClear","uiLockChoice","$evalAsync","activeMatchIndex","updateModel","$setViewValue","refreshComponent","removeChoice","removedChoice","locals","$model","modelMapper","getPlaceholder","_getCaretPosition","selectionStart","_handleMatchSelection","caretPosition","last","curr","$selectMultiple","newIndex","_findCaseInsensitiveDupe","origItem","_findApproxDupe","dupeIndex","tempArr","mockObj","$isEmpty","$parsers","unshift","resultMultiple","$formatters","inputValue","checkFnMultiple","trackByExp","propsItemNameMatches","oldValue","$render","$viewValue","tagItems","tagItem","stashArr","hasTag","itemsWithoutTag","getDropdownTrigger","checkFnSingle","uiSelectSort","$ngModel","uiSelectSortOptions","dataTransfer","setData","$index","dropTimeout","move","dragOverHandler","offsetY","layerY","offsetX","layerX","dropHandler","droppedItemIndex","_dropHandler","theList","itemToMove","$emit","onOpenCloseCallback","uisOpenClose","previousState","expression","filterMatch","grouped","run","$templateCache","put","_select3","_select4","fieldCtrl","selectCtrl","itemTemplate","$template","choicesElement","$htmlContent","matchElement","uiSelectElement","uiSelectDropdownTrigger","unregisterFocus","_selectPickerComponent","_selectPickerComponent2","_selectPicker","_selectPicker2","_selectPicker3","_selectPicker4","sectionSlot","picture","SelectPickerController","getItemValue","labelElement","openSelectMenu","isImgPath","selectedValue","transcludeSection","isSlotFilled","$button","hasParentButton","onRadioModelChange","currentNode","_textareaComponent","_textareaComponent2","_textareaProvider","_textareaProvider2","_textarea","_textarea2","_textarea3","_textarea4","readonly","ouiTextareaConfiguration","$footer","textarea","updateErrorState","setDisabled","setReadonly","lengthCounter","focused","_formActions","_formActions2","_formActions3","_formActions4","_formActionsController","_formActionsController2","submitText","cancelText","onSubmit","onCancel","ouiFormActionsConfiguration","submit","_search","_search2","_search3","_search4","criteriaContainer","onReset","_debounce2","_debounce3","criterionDebounceDelay","SearchController","onCriterionChange","onCriterionSubmit","onCriterionReset","onSearchReset","$input","setPreviewCriterion","getCriterion","deletePreviewCriterion","invokeFunc","time","lastArgs","lastThis","lastInvokeTime","leadingEdge","timerId","timerExpired","leading","remainingWait","timeSinceLastCall","lastCallTime","timeSinceLastInvoke","timeWaiting","maxing","nativeMin","maxWait","shouldInvoke","trailingEdge","trailing","flush","debounced","isInvoking","_criteriaContainer","_criteriaContainer2","_findIndex2","_findIndex3","CriteriaController","criterionIndex","previewCriterion","previewCriterionIndex","indexOfCriterion","_criteriaAdder","_criteriaAdder2","_criteriaAdder3","_criteriaAdder4","properties","ouiCriteriaAdderConfiguration","operators","operatorsByType","valueModel","dropdownContent","columnModel","selectableOperators","filterSelectableOperators","operatorModel","resetValueModel","getCriterionValueLabel","getCriterionValue","getBooleanLabel","getOptionsLabel","true_label","false_label","booleanChoices","optionsChoices","localeCompare","initBooleanCriterion","initOptionsCriterion","column_label","operator_label","operator_boolean_is","operator_boolean_isNot","operator_string_contains","operator_string_containsNot","operator_string_startsWith","operator_string_endsWith","operator_string_is","operator_string_isNot","operator_number_is","operator_number_smaller","operator_number_bigger","operator_date_is","operator_date_isBefore","operator_date_isAfter","operator_options_is","operator_options_isNot","value_label","submit_label","_chipsComponent","_chipsComponent2","_chips","_chips2","_chips3","_chips4","closable","removed","_popoverComponent","_popoverComponent2","_popoverContent","_popoverContent2","_popoverTrigger","_popoverTrigger2","_popover","_popover2","_popover3","_popover4","PopoverController","isPopoverOpen","closePopover","openPopover","popover","_stepForm","_stepForm2","_stepper","_stepper2","_stepper3","_stepper4","_stepFormController","_stepFormController2","stepperCtrl","header","cancelHref","loadingText","skippable","valid","StepFormController","ouiStepperConfiguration","cancelButtonLabel","stepper","addStep","$valid","addForm","focusStep","$setPristine","_stepperController","_stepperController2","onInit","onFinish","forms","steps","currentIndex","nextStep","indexToFocus","optionalLabel","modifyThisStep","skipThisStep","nextButtonLabel","submitButtonLabel","_skeletonComponent","_skeletonComponent2","_skeleton","_skeleton2","_skeleton3","_skeleton4","randomized","randomWidth","_clipboardComponent","_clipboardComponent2","_clipboardProvider","_clipboardProvider2","_clipboard","_clipboard2","_clipboard3","_clipboard4","ouiClipboardConfiguration","tooltipText","copyToClipboardLabel","clipboard","selectInputText","copiedLabel","notSupported","selectionEnd","setSelectionRange","reset","click","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","_classCallCheck","_createClass","ClipboardAction","resolveOptions","initSelection","action","emitter","selectedText","selectFake","selectTarget","isRTL","removeFake","fakeHandlerCallback","fakeHandler","fakeElem","fontSize","border","margin","yPosition","copyText","succeeded","execCommand","handleResult","emit","clearSelection","getSelection","removeAllRanges","_action","_target","listen","listenNode","listenNodeList","listenSelector","delegate","once","listener","evtArr","evts","liveEvents","_clipboardAction","_tinyEmitter","_goodListener","_possibleConstructorReturn","_inherits","getAttributeValue","suffix","_clipboardAction2","_tinyEmitter2","_goodListener2","Clipboard","_Emitter","listenClick","defaultAction","defaultTarget","defaultText","delegateTarget","currentTarget","clipboardAction","actions","support","queryCommandSupported","DOCUMENT_NODE_TYPE","Element","oMatchesSelector","_delegate","useCapture","listenerFn","isReadOnly","selectNodeContents","addRange","_slideshow","_slideshow2","_slideshowPanel","_slideshowPanel2","_slideshow3","_slideshow4","loop","Direction","NEXT","PREV","themeClassname","_componentElement","_contentElement","_isSliding","isIllustrated","_isTouch","_client","_triggerKeyHandler","panels","_isIllustratedPanel","firstPanelElement","_setTouchEventListener","closeOnBoarding","_slide","active","slideTo","direction","isNextDirection","isPrevDirection","lastItemIndex","indexTo","slideType","activePanel","$activePanel","nextPanelIndex","_getIndexByDirection","nextPanel","$nextPanel","nextIsIllustrated","reflowElement","touches","clientX","clientY","xDiff","yDiff","_slideshowPanel3","_slideshowPanel4","_pageHeader","_pageHeader2","_pageHeaderController","_pageHeaderController2","guide","tabs","transcludeGuide","transcludeTabs","_tileComponent","_tileComponent2","_tileButtonComponent","_tileButtonComponent2","_tileDefinitionComponent","_tileDefinitionComponent2","_tile","_tile2","_tile3","_tile4","_tileButton","_tileButton2","_tileButton3","_tileButton4","_tileDefinition","_tileDefinition2","_tileDefinition3","_tileDefinition4","term","termPopover","descriptionSlot","actionSlot","transcludeAction","_guideMenu","_guideMenu2","_guideMenu3","_guideMenu4","_headerTabs","_headerTabs2","_headerTabsDropdown","_headerTabsDropdown2","_headerTabsItem","_headerTabsItem2","_headerTabs3","_headerTabs4","_getIterator2","_getIterator3","$interval","scroll","begin","_tabsElement","_checkScroll","_initialCheck","_scroll","activeTab","itemToGo","_findItemToGo","_scrollToItem","tabsList","tabsOffset","tabsStart","tabsEnd","itemGutter","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","itemStart","return","itemEnd","tabsWidth","screenEnd","getIterator","_headerTabsDropdown3","_headerTabsDropdown4","ouiHeaderTabsItemClass","itemCount","itemDisabledCount","hasActive","_headerTabsItem3","_headerTabsItem4"],"mappings":"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","file":"oui-angular.min.js","sourcesContent":["/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 111);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nexports.default = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _defineProperty = __webpack_require__(57);\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n (0, _defineProperty2.default)(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.addBooleanParameter = addBooleanParameter;\nexports.addDefaultParameter = addDefaultParameter;\nexports.hasAttribute = hasAttribute;\nexports.hasAttributeValue = hasAttributeValue;\nexports.getAttribute = getAttribute;\nfunction addBooleanParameter(controller, parameterName) {\n if (angular.isDefined(controller.$attrs[parameterName]) && controller.$attrs[parameterName] === \"\") {\n controller[parameterName] = true;\n }\n}\n\nfunction addDefaultParameter(controller, parameterName, defaultValue) {\n if (!angular.isDefined(controller.$attrs[parameterName]) || angular.isDefined(controller.$attrs[parameterName]) && controller.$attrs[parameterName].trim() === \"\") {\n controller[parameterName] = defaultValue;\n }\n}\n\nfunction hasAttribute(element, attributeName) {\n return element.getAttribute(attributeName) !== null || element.getAttribute(\"data-\" + attributeName) !== null;\n}\n\nfunction hasAttributeValue(element, attributeName) {\n var attribute = element.getAttribute(attributeName) || element.getAttribute(\"data-\" + attributeName);\n return attribute && attribute !== \"\";\n}\n\nfunction getAttribute(element, attributeName) {\n return element.getAttribute(attributeName) || element.getAttribute(\"data-\" + attributeName);\n}\n\nexports.default = {\n addBooleanParameter: addBooleanParameter,\n addDefaultParameter: addDefaultParameter,\n hasAttribute: hasAttribute,\n hasAttributeValue: hasAttributeValue,\n getAttribute: getAttribute\n};\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports) {\n\nvar core = module.exports = { version: '2.5.4' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar store = __webpack_require__(49)('wks');\nvar uid = __webpack_require__(27);\nvar Symbol = __webpack_require__(6).Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(6);\nvar core = __webpack_require__(3);\nvar ctx = __webpack_require__(31);\nvar hide = __webpack_require__(12);\nvar has = __webpack_require__(10);\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var IS_WRAP = type & $export.W;\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE];\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n var key, own, out;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n if (own && has(exports, key)) continue;\n // export native or passed\n out = own ? target[key] : source[key];\n // prevent global pollution for namespaces\n exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n // bind timers to global for call from export context\n : IS_BIND && own ? ctx(out, global)\n // wrap global constructors for prevent change them in library\n : IS_WRAP && target[key] == out ? (function (C) {\n var F = function (a, b, c) {\n if (this instanceof C) {\n switch (arguments.length) {\n case 0: return new C();\n case 1: return new C(a);\n case 2: return new C(a, b);\n } return new C(a, b, c);\n } return C.apply(this, arguments);\n };\n F[PROTOTYPE] = C[PROTOTYPE];\n return F;\n // make static versions for prototype methods\n })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n if (IS_PROTO) {\n (exports.virtual || (exports.virtual = {}))[key] = out;\n // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n }\n }\n};\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports) {\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(8);\nvar IE8_DOM_DEFINE = __webpack_require__(58);\nvar toPrimitive = __webpack_require__(32);\nvar dP = Object.defineProperty;\n\nexports.f = __webpack_require__(9) ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(13);\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !__webpack_require__(14)(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports) {\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(7);\nvar createDesc = __webpack_require__(17);\nmodule.exports = __webpack_require__(9) ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports) {\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = __webpack_require__(82);\nvar defined = __webpack_require__(44);\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports) {\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = __webpack_require__(81);\nvar enumBugKeys = __webpack_require__(50);\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.13 ToObject(argument)\nvar defined = __webpack_require__(44);\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(230), __esModule: true };\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar eq = __webpack_require__(35);\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports) {\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n\n\n/***/ }),\n/* 25 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* WEBPACK VAR INJECTION */(function(global) {/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.14.3\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nvar longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\nvar timeoutDuration = 0;\nfor (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n timeoutDuration = 1;\n break;\n }\n}\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var css = getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? html['offset' + axis] + computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')] + computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')] : 0);\n}\n\nfunction getWindowSizes() {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes() : {};\n var width = sizes.width || element.clientWidth || result.right - result.left;\n var height = sizes.height || element.clientHeight || result.bottom - result.top;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth, 10);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && parent.nodeName === 'HTML') {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop, 10);\n var marginLeft = parseFloat(styles.marginLeft, 10);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n return isFixed(getParentNode(element));\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n boundaries.left += padding;\n boundaries.top += padding;\n boundaries.right -= padding;\n boundaries.bottom -= padding;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var styles = getComputedStyle(element);\n var x = parseFloat(styles.marginTop) + parseFloat(styles.marginBottom);\n var y = parseFloat(styles.marginLeft) + parseFloat(styles.marginRight);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.
\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroy the popper\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicity asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger onUpdate callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n // Avoid blurry text by using full pixel integers.\n // For pixel-perfect positioning, top/bottom prefers rounded\n // values, while left/right prefers floored values.\n var offsets = {\n left: Math.floor(popper.left),\n top: Math.round(popper.top),\n bottom: Math.round(popper.bottom),\n right: Math.floor(popper.right)\n };\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n top = -offsetParentRect.height + offsets.bottom;\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n left = -offsetParentRect.width + offsets.right;\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.
\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjuction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.
\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.
\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-right` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var flippedVariation = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.
\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.
\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.
\n * It will read the variation of the `placement` property.
\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unitless, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.
\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the height.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.
\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.
\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > More on this [reading this issue](https://github.com/FezVrasta/popper.js/issues/373)\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * An scenario exists where the reference itself is not within the boundaries.
\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".
\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper this makes sure the popper has always a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier, can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near eachothers\n * without leaving any gap between the two. Expecially useful when the arrow is\n * enabled and you want to assure it to point to its reference element.\n * It cares only about the first axis, you can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjuction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations).\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position,\n * the popper will never be placed outside of the defined boundaries\n * (except if keepTogether is enabled)\n */\n boundariesElement: 'viewport'\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3d transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties.\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define you own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3d transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties.\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the informations used by Popper.js\n * this object get passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper.\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper, it expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow, it expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements.\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.
\n * These can be overriden using the `options` argument of Popper.js.
\n * To override an option, simply pass as 3rd argument an object with the same\n * structure of this object, example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.
\n * By default, is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated, this callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.
\n * By default, is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Create a new Popper.js instance\n * @class Popper\n * @param {HTMLElement|referenceObject} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper.\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedule an update, it will run on the next UI update available\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.
\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Popper);\n//# sourceMappingURL=popper.js.map\n\n/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(63)))\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n controller: function () {\n controller.$inject = [\"$element\", \"$timeout\"];\n function controller($element, $timeout) {\n \"ngInject\";\n\n (0, _classCallCheck3.default)(this, controller);\n this.$element = $element;\n this.$timeout = $timeout;\n }\n\n (0, _createClass3.default)(controller, [{\n key: \"$postLink\",\n value: function $postLink() {\n var _this = this;\n\n this.$timeout(function () {\n return _this.$element.addClass(\"oui-dropdown-menu__divider\").attr(\"role\", \"separator\");\n });\n }\n }]);\n return controller;\n }()\n};\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports) {\n\nvar id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports) {\n\nexports.f = {}.propertyIsEnumerable;\n\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar baseGet = __webpack_require__(92);\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nmodule.exports = get;\n\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports) {\n\n/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// optional / simple context binding\nvar aFunction = __webpack_require__(118);\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = __webpack_require__(13);\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar baseMerge = __webpack_require__(126),\n createAssigner = __webpack_require__(150);\n\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\nvar merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n});\n\nmodule.exports = merge;\n\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar listCacheClear = __webpack_require__(127),\n listCacheDelete = __webpack_require__(128),\n listCacheGet = __webpack_require__(129),\n listCacheHas = __webpack_require__(130),\n listCacheSet = __webpack_require__(131);\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports) {\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar defineProperty = __webpack_require__(132);\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar freeGlobal = __webpack_require__(62);\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports) {\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _radioComponent = __webpack_require__(175);\n\nvar _radioComponent2 = _interopRequireDefault(_radioComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.radio\", []).component(\"ouiRadio\", _radioComponent2.default);\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _dropdownItem = __webpack_require__(195);\n\nvar _dropdownItem2 = _interopRequireDefault(_dropdownItem);\n\nvar _dropdownItem3 = __webpack_require__(197);\n\nvar _dropdownItem4 = _interopRequireDefault(_dropdownItem3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n controller: _dropdownItem2.default,\n template: _dropdownItem4.default,\n bindings: {\n text: \"@\",\n ariaLabel: \"@?\",\n href: \"@?\",\n state: \"@?\",\n stateParams: \"= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports) {\n\n// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports) {\n\n// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports) {\n\nmodule.exports = true;\n\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = __webpack_require__(8);\nvar dPs = __webpack_require__(220);\nvar enumBugKeys = __webpack_require__(50);\nvar IE_PROTO = __webpack_require__(48)('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = __webpack_require__(59)('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n __webpack_require__(223).appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar shared = __webpack_require__(49)('keys');\nvar uid = __webpack_require__(27);\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(6);\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\nmodule.exports = function (key) {\n return store[key] || (store[key] = {});\n};\n\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports) {\n\n// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar def = __webpack_require__(7).f;\nvar has = __webpack_require__(10);\nvar TAG = __webpack_require__(4)('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports) {\n\nexports.f = Object.getOwnPropertySymbols;\n\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isArray = __webpack_require__(11),\n isSymbol = __webpack_require__(256);\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nmodule.exports = isKey;\n\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports.f = __webpack_require__(4);\n\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(6);\nvar core = __webpack_require__(3);\nvar LIBRARY = __webpack_require__(45);\nvar wksExt = __webpack_require__(54);\nvar defineProperty = __webpack_require__(7).f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(338), __esModule: true };\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(116), __esModule: true };\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = !__webpack_require__(9) && !__webpack_require__(14)(function () {\n return Object.defineProperty(__webpack_require__(59)('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(13);\nvar document = __webpack_require__(6).document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar baseAssignValue = __webpack_require__(36),\n eq = __webpack_require__(35);\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignMergeValue;\n\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports) {\n\nmodule.exports = function(module) {\r\n\tif(!module.webpackPolyfill) {\r\n\t\tmodule.deprecate = function() {};\r\n\t\tmodule.paths = [];\r\n\t\t// module.parent = undefined by default\r\n\t\tif(!module.children) module.children = [];\r\n\t\tObject.defineProperty(module, \"loaded\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.l;\r\n\t\t\t}\r\n\t\t});\r\n\t\tObject.defineProperty(module, \"id\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.i;\r\n\t\t\t}\r\n\t\t});\r\n\t\tmodule.webpackPolyfill = 1;\r\n\t}\r\n\treturn module;\r\n};\r\n\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(global) {/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(63)))\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports) {\n\nvar g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar overArg = __webpack_require__(38);\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports) {\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n\n\n/***/ }),\n/* 66 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isFunction = __webpack_require__(67),\n isLength = __webpack_require__(68);\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar baseGetTag = __webpack_require__(24),\n isObject = __webpack_require__(15);\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports) {\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n/***/ }),\n/* 69 */\n/***/ (function(module, exports) {\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n\n\n/***/ }),\n/* 70 */\n/***/ (function(module, exports) {\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports) {\n\n/**\n * Gets the value at `key`, unless `key` is \"__proto__\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n return key == '__proto__'\n ? undefined\n : object[key];\n}\n\nmodule.exports = safeGet;\n\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports) {\n\n/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = nativeKeysIn;\n\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports) {\n\n/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n/***/ }),\n/* 74 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _dropdownGroup = __webpack_require__(194);\n\nvar _dropdownGroup2 = _interopRequireDefault(_dropdownGroup);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n template: _dropdownGroup2.default,\n controller: function () {\n controller.$inject = [\"$element\", \"$timeout\"];\n function controller($element, $timeout) {\n \"ngInject\";\n\n (0, _classCallCheck3.default)(this, controller);\n this.$element = $element;\n this.$timeout = $timeout;\n }\n\n (0, _createClass3.default)(controller, [{\n key: \"$postLink\",\n value: function $postLink() {\n var _this = this;\n\n this.$timeout(function () {\n return _this.$element.addClass(\"oui-dropdown-group\");\n });\n }\n }]);\n return controller;\n }(),\n bindings: {\n label: \"@\"\n },\n transclude: true\n};\n\n/***/ }),\n/* 75 */\n/***/ (function(module, exports) {\n\n/**\n * The base implementation of `_.clamp` which doesn't coerce arguments.\n *\n * @private\n * @param {number} number The number to clamp.\n * @param {number} [lower] The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the clamped number.\n */\nfunction baseClamp(number, lower, upper) {\n if (number === number) {\n if (upper !== undefined) {\n number = number <= upper ? number : upper;\n }\n if (lower !== undefined) {\n number = number >= lower ? number : lower;\n }\n }\n return number;\n}\n\nmodule.exports = baseClamp;\n\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports) {\n\n/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _from = __webpack_require__(78);\n\nvar _from2 = _interopRequireDefault(_from);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n } else {\n return (0, _from2.default)(arr);\n }\n};\n\n/***/ }),\n/* 78 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(217), __esModule: true };\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar LIBRARY = __webpack_require__(45);\nvar $export = __webpack_require__(5);\nvar redefine = __webpack_require__(80);\nvar hide = __webpack_require__(12);\nvar Iterators = __webpack_require__(19);\nvar $iterCreate = __webpack_require__(219);\nvar setToStringTag = __webpack_require__(51);\nvar getPrototypeOf = __webpack_require__(84);\nvar ITERATOR = __webpack_require__(4)('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(12);\n\n\n/***/ }),\n/* 81 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar has = __webpack_require__(10);\nvar toIObject = __webpack_require__(16);\nvar arrayIndexOf = __webpack_require__(221)(false);\nvar IE_PROTO = __webpack_require__(48)('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n\n\n/***/ }),\n/* 82 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = __webpack_require__(47);\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n/***/ }),\n/* 83 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.15 ToLength\nvar toInteger = __webpack_require__(43);\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n/***/ }),\n/* 84 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = __webpack_require__(10);\nvar toObject = __webpack_require__(21);\nvar IE_PROTO = __webpack_require__(48)('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n\n\n/***/ }),\n/* 85 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar classof = __webpack_require__(228);\nvar ITERATOR = __webpack_require__(4)('iterator');\nvar Iterators = __webpack_require__(19);\nmodule.exports = __webpack_require__(3).getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n\n\n/***/ }),\n/* 86 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar createFind = __webpack_require__(241),\n findIndex = __webpack_require__(95);\n\n/**\n * Iterates over elements of `collection`, returning the first element\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {*} Returns the matched element, else `undefined`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false },\n * { 'user': 'pebbles', 'age': 1, 'active': true }\n * ];\n *\n * _.find(users, function(o) { return o.age < 40; });\n * // => object for 'barney'\n *\n * // The `_.matches` iteratee shorthand.\n * _.find(users, { 'age': 1, 'active': true });\n * // => object for 'pebbles'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.find(users, ['active', false]);\n * // => object for 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.find(users, 'active');\n * // => object for 'barney'\n */\nvar find = createFind(findIndex);\n\nmodule.exports = find;\n\n\n/***/ }),\n/* 87 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar baseMatches = __webpack_require__(242),\n baseMatchesProperty = __webpack_require__(255),\n identity = __webpack_require__(73),\n isArray = __webpack_require__(11),\n property = __webpack_require__(263);\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\nmodule.exports = baseIteratee;\n\n\n/***/ }),\n/* 88 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar baseIsEqualDeep = __webpack_require__(244),\n isObjectLike = __webpack_require__(18);\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nmodule.exports = baseIsEqual;\n\n\n/***/ }),\n/* 89 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(15);\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\nmodule.exports = isStrictComparable;\n\n\n/***/ }),\n/* 90 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar overArg = __webpack_require__(38);\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n\n\n/***/ }),\n/* 91 */\n/***/ (function(module, exports) {\n\n/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\nmodule.exports = matchesStrictComparable;\n\n\n/***/ }),\n/* 92 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar castPath = __webpack_require__(93),\n toKey = __webpack_require__(30);\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\nmodule.exports = baseGet;\n\n\n/***/ }),\n/* 93 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isArray = __webpack_require__(11),\n isKey = __webpack_require__(53),\n stringToPath = __webpack_require__(257),\n toString = __webpack_require__(94);\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nmodule.exports = castPath;\n\n\n/***/ }),\n/* 94 */\n/***/ (function(module, exports) {\n\n/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n/***/ }),\n/* 95 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar baseFindIndex = __webpack_require__(266),\n baseIteratee = __webpack_require__(87),\n toInteger = __webpack_require__(96);\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * This method is like `_.find` except that it returns the index of the first\n * element `predicate` returns truthy for instead of the element itself.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.findIndex(users, function(o) { return o.user == 'barney'; });\n * // => 0\n *\n * // The `_.matches` iteratee shorthand.\n * _.findIndex(users, { 'user': 'fred', 'active': false });\n * // => 1\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findIndex(users, ['active', false]);\n * // => 0\n *\n * // The `_.property` iteratee shorthand.\n * _.findIndex(users, 'active');\n * // => 2\n */\nfunction findIndex(array, predicate, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = fromIndex == null ? 0 : toInteger(fromIndex);\n if (index < 0) {\n index = nativeMax(length + index, 0);\n }\n return baseFindIndex(array, baseIteratee(predicate, 3), index);\n}\n\nmodule.exports = findIndex;\n\n\n/***/ }),\n/* 96 */\n/***/ (function(module, exports) {\n\n/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n/***/ }),\n/* 97 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.hasProperty = hasProperty;\nfunction hasProperty(obj) {\n var prop = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"\";\n\n var props = prop.split(\".\");\n var theObject = obj;\n for (var i = 0; i < props.length; i++) {\n if (!Object.prototype.hasOwnProperty.call(theObject, props[i])) {\n return false;\n }\n theObject = theObject[props[i]] || {};\n }\n return true;\n}\n\n/***/ }),\n/* 98 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(273), __esModule: true };\n\n/***/ }),\n/* 99 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// most Object methods by ES6 should accept primitives\nvar $export = __webpack_require__(5);\nvar core = __webpack_require__(3);\nvar fails = __webpack_require__(14);\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n\n\n/***/ }),\n/* 100 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _typeof2 = __webpack_require__(101);\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && ((typeof call === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(call)) === \"object\" || typeof call === \"function\") ? call : self;\n};\n\n/***/ }),\n/* 101 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _iterator = __webpack_require__(275);\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = __webpack_require__(280);\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};\n\n/***/ }),\n/* 102 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(277);\nvar global = __webpack_require__(6);\nvar hide = __webpack_require__(12);\nvar Iterators = __webpack_require__(19);\nvar TO_STRING_TAG = __webpack_require__(4)('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n 'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n 'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n 'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n 'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n var NAME = DOMIterables[i];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = Iterators.Array;\n}\n\n\n/***/ }),\n/* 103 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = __webpack_require__(81);\nvar hiddenKeys = __webpack_require__(50).concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n\n\n/***/ }),\n/* 104 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar pIE = __webpack_require__(28);\nvar createDesc = __webpack_require__(17);\nvar toIObject = __webpack_require__(16);\nvar toPrimitive = __webpack_require__(32);\nvar has = __webpack_require__(10);\nvar IE8_DOM_DEFINE = __webpack_require__(58);\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = __webpack_require__(9) ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n\n/***/ }),\n/* 105 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _setPrototypeOf = __webpack_require__(290);\n\nvar _setPrototypeOf2 = _interopRequireDefault(_setPrototypeOf);\n\nvar _create = __webpack_require__(294);\n\nvar _create2 = _interopRequireDefault(_create);\n\nvar _typeof2 = __webpack_require__(101);\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + (typeof superClass === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(superClass)));\n }\n\n subClass.prototype = (0, _create2.default)(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf2.default ? (0, _setPrototypeOf2.default)(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\n/***/ }),\n/* 106 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _assign = __webpack_require__(22);\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _util = __webpack_require__(97);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar DatagridPagingAbstract = function () {\n function DatagridPagingAbstract(columns, currentSorting, pageSize, rowLoader, pagingService) {\n (0, _classCallCheck3.default)(this, DatagridPagingAbstract);\n\n this.columns = columns;\n this.currentSorting = currentSorting;\n this.criteria = [];\n this.pageSize = pageSize;\n this.offset = 1;\n this.rowLoader = rowLoader;\n\n this.$q = pagingService.$q;\n this.$timeout = pagingService.$timeout;\n this.orderByFilter = pagingService.orderByFilter;\n\n this.preventLoadingRows = false;\n\n this.cachedPageResult = null;\n this.cachedPageResultPristine = null;\n }\n\n (0, _createClass3.default)(DatagridPagingAbstract, [{\n key: \"setCriteria\",\n value: function setCriteria(criteria) {\n this.criteria = criteria;\n }\n }, {\n key: \"setOffset\",\n value: function setOffset(offset) {\n this.offset = offset;\n }\n }, {\n key: \"setPageSize\",\n value: function setPageSize(pageSize) {\n this.pageSize = pageSize;\n }\n }, {\n key: \"getCurrentPageSize\",\n value: function getCurrentPageSize() {\n if (!this.totalCount) {\n return this.pageSize;\n }\n\n return Math.min(this.pageSize, this.totalCount - (this.offset - 1));\n }\n }, {\n key: \"setSort\",\n value: function setSort(columnName) {\n if (columnName === this.currentSorting.columnName) {\n this.currentSorting.dir = this.currentSorting.dir === -1 ? 1 : -1;\n } else {\n this.currentSorting = {\n columnName: columnName,\n dir: 1\n };\n }\n }\n }, {\n key: \"getSortColumnName\",\n value: function getSortColumnName() {\n return this.currentSorting.columnName;\n }\n }, {\n key: \"isSortAsc\",\n value: function isSortAsc() {\n return this.currentSorting.dir === 1;\n }\n }, {\n key: \"isSortDesc\",\n value: function isSortDesc() {\n return this.currentSorting.dir === -1;\n }\n }, {\n key: \"getSortingConfiguration\",\n value: function getSortingConfiguration() {\n var selectedColumn = this.getColumn(this.currentSorting.columnName);\n return (0, _assign2.default)({\n property: selectedColumn && selectedColumn.sortProperty\n }, this.currentSorting);\n }\n }, {\n key: \"getColumn\",\n value: function getColumn(name) {\n for (var i = 0; i < this.columns.length; i++) {\n if (this.columns[i].name === name) {\n return this.columns[i];\n }\n }\n return null;\n }\n }, {\n key: \"loadRowsData\",\n value: function loadRowsData(rows) {\n var _this = this;\n\n if (!this.rowLoader) {\n return this.$q.when();\n }\n\n return this.$q.all(rows.map(function (row) {\n return _this.loadRowData(row);\n }));\n }\n }, {\n key: \"loadRowData\",\n value: function loadRowData(row) {\n if (!this.isRowLoaded(row) && !row.$promise) {\n row.$promise = this.$q.when(this.rowLoader({ $row: row })).then(function (fullRow) {\n return (0, _assign2.default)(row, fullRow);\n }).finally(function () {\n delete row.$promise;\n });\n\n return row.$promise;\n }\n\n return this.$q.when();\n }\n }, {\n key: \"isRowLoaded\",\n value: function isRowLoaded(row) {\n return this.columns.map(function (column) {\n return (0, _util.hasProperty)(row, column.name);\n }).reduce(function (a, b) {\n return a && b;\n }, true);\n }\n }, {\n key: \"reloadRows\",\n value: function reloadRows() {\n return this.loadRows(null, true);\n }\n }]);\n return DatagridPagingAbstract;\n}();\n\nexports.default = DatagridPagingAbstract;\n\n/***/ }),\n/* 107 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _escapeStringRegexp = __webpack_require__(311);\n\nvar _escapeStringRegexp2 = _interopRequireDefault(_escapeStringRegexp);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar StringComparators = function () {\n function StringComparators() {\n (0, _classCallCheck3.default)(this, StringComparators);\n }\n\n (0, _createClass3.default)(StringComparators, null, [{\n key: \"contains\",\n value: function contains(haystack, needle) {\n return StringComparators.testString(haystack, (0, _escapeStringRegexp2.default)(needle));\n }\n }, {\n key: \"startsWith\",\n value: function startsWith(haystack, needle) {\n var escapedNeedle = (0, _escapeStringRegexp2.default)(needle);\n return StringComparators.testString(haystack, \"^\" + escapedNeedle);\n }\n }, {\n key: \"endsWith\",\n value: function endsWith(haystack, needle) {\n var escapedNeedle = (0, _escapeStringRegexp2.default)(needle);\n return StringComparators.testString(haystack, escapedNeedle + \"$\");\n }\n }, {\n key: \"is\",\n value: function is(haystack, needle) {\n var escapedNeedle = (0, _escapeStringRegexp2.default)(needle);\n return StringComparators.testString(haystack, \"^\" + escapedNeedle + \"$\");\n }\n }, {\n key: \"testString\",\n value: function testString(haystack, regexp) {\n var pattern = new RegExp(regexp, \"i\");\n return pattern.test(haystack);\n }\n }]);\n return StringComparators;\n}();\n\nexports.default = StringComparators;\n\n/***/ }),\n/* 108 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n__webpack_require__(39);\n\nvar _radioGroupComponent = __webpack_require__(342);\n\nvar _radioGroupComponent2 = _interopRequireDefault(_radioGroupComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.radio-group\", [\"oui.radio\"]).component(\"ouiRadioGroup\", _radioGroupComponent2.default);\n\n/***/ }),\n/* 109 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _class = function () {\n _class.$inject = [\"$scope\", \"$element\", \"$timeout\"];\n function _class($scope, $element, $timeout) {\n \"ngInject\";\n\n (0, _classCallCheck3.default)(this, _class);\n this.$scope = $scope;\n this.$element = $element;\n this.$timeout = $timeout;\n }\n\n (0, _createClass3.default)(_class, [{\n key: \"$postLink\",\n value: function $postLink() {\n var _this = this;\n\n this.$timeout(function () {\n _this.$element.attr(\"role\", \"radiogroup\");\n });\n }\n }, {\n key: \"$onInit\",\n value: function $onInit() {\n if (!this.name) {\n this.name = \"oui-radio-group-\" + this.$scope.$id;\n }\n }\n }, {\n key: \"setModelValue\",\n value: function setModelValue(value) {\n var _this2 = this;\n\n this.model = value;\n\n if (this.onChange) {\n this.$timeout(function () {\n return _this2.onChange({ modelValue: value });\n });\n }\n }\n }]);\n return _class;\n}();\n\nexports.default = _class;\n\n/***/ }),\n/* 110 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 111 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(112);\n\n\n/***/ }),\n/* 112 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n__webpack_require__(113);\n\n__webpack_require__(120);\n\n__webpack_require__(167);\n\n__webpack_require__(171);\n\n__webpack_require__(39);\n\n__webpack_require__(178);\n\n__webpack_require__(182);\n\n__webpack_require__(186);\n\n__webpack_require__(190);\n\n__webpack_require__(201);\n\n__webpack_require__(205);\n\n__webpack_require__(209);\n\n__webpack_require__(214);\n\n__webpack_require__(235);\n\n__webpack_require__(318);\n\n__webpack_require__(331);\n\n__webpack_require__(335);\n\n__webpack_require__(108);\n\n__webpack_require__(343);\n\n__webpack_require__(345);\n\n__webpack_require__(353);\n\n__webpack_require__(357);\n\n__webpack_require__(362);\n\n__webpack_require__(367);\n\n__webpack_require__(373);\n\n__webpack_require__(376);\n\n__webpack_require__(381);\n\n__webpack_require__(385);\n\n__webpack_require__(392);\n\n__webpack_require__(400);\n\n__webpack_require__(404);\n\n__webpack_require__(410);\n\n__webpack_require__(417);\n\n__webpack_require__(421);\n\n__webpack_require__(431);\n\n__webpack_require__(435);\n\nangular.module(\"oui\", [\"oui.button\", \"oui.calendar\", \"oui.checkbox\", \"oui.collapsible\", \"oui.radio\", \"oui.message\", \"oui.spinner\", \"oui.back-button\", \"oui.dropdown\", \"oui.action-menu\", \"oui.tooltip\", \"oui.numeric\", \"oui.pagination\", \"oui.datagrid\", \"oui.navbar\", \"oui.modal\", \"oui.field\", \"oui.radio-group\", \"oui.select\", \"oui.select-picker\", \"oui.textarea\", \"oui.form-actions\", \"oui.search\", \"oui.criteria-container\", \"oui.radio-toggle-group\", \"oui.criteria-adder\", \"oui.chips\", \"oui.popover\", \"oui.stepper\", \"oui.skeleton\", \"oui.clipboard\", \"oui.slideshow\", \"oui.page-header\", \"oui.tile\", \"oui.guide-menu\", \"oui.header-tabs\"]);\n\n/***/ }),\n/* 113 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _buttonComponent = __webpack_require__(114);\n\nvar _buttonComponent2 = _interopRequireDefault(_buttonComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.button\", []).component(\"ouiButton\", _buttonComponent2.default);\n\n/***/ }),\n/* 114 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _button = __webpack_require__(115);\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _button3 = __webpack_require__(119);\n\nvar _button4 = _interopRequireDefault(_button3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n bindings: {\n text: \"@\",\n id: \"@?\",\n name: \"@?\",\n type: \"@?\",\n variant: \"@?\",\n variantNav: \"@?\",\n ariaLabel: \"@?\",\n\n disabled: \" \";\n\n/***/ }),\n/* 120 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _calendarComponent = __webpack_require__(121);\n\nvar _calendarComponent2 = _interopRequireDefault(_calendarComponent);\n\nvar _calendar = __webpack_require__(125);\n\nvar _calendar2 = _interopRequireDefault(_calendar);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.calendar\", []).component(\"ouiCalendar\", _calendarComponent2.default).provider(\"ouiCalendarConfiguration\", _calendar2.default);\n\n/***/ }),\n/* 121 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _calendar = __webpack_require__(122);\n\nvar _calendar2 = _interopRequireDefault(_calendar);\n\nvar _calendar3 = __webpack_require__(124);\n\nvar _calendar4 = _interopRequireDefault(_calendar3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n bindings: {\n model: \"=\",\n\n id: \"@?\",\n name: \"@?\",\n placeholder: \"@?\",\n mode: \"@?\",\n format: \"@?\",\n altFormat: \"@?\",\n\n appendToBody: \" 11)];\n },\n M: function M(date, locale) {\n return monthToStr(date.getMonth(), true, locale);\n },\n S: function S(date) {\n return pad(date.getSeconds());\n },\n U: function U(date) {\n return date.getTime() / 1000;\n },\n W: function W(date, _, options) {\n return options.getWeek(date);\n },\n Y: function Y(date) {\n return date.getFullYear();\n },\n d: function d(date) {\n return pad(date.getDate());\n },\n h: function h(date) {\n return date.getHours() % 12 ? date.getHours() % 12 : 12;\n },\n i: function i(date) {\n return pad(date.getMinutes());\n },\n j: function j(date) {\n return date.getDate();\n },\n l: function l(date, locale) {\n return locale.weekdays.longhand[date.getDay()];\n },\n m: function m(date) {\n return pad(date.getMonth() + 1);\n },\n n: function n(date) {\n return date.getMonth() + 1;\n },\n s: function s(date) {\n return date.getSeconds();\n },\n w: function w(date) {\n return date.getDay();\n },\n y: function y(date) {\n return String(date.getFullYear()).substring(2);\n }\n };\n\n var english = {\n weekdays: {\n shorthand: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n longhand: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"]\n },\n months: {\n shorthand: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"],\n longhand: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"]\n },\n daysInMonth: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],\n firstDayOfWeek: 0,\n ordinal: function ordinal(nth) {\n var s = nth % 100;\n if (s > 3 && s < 21) return \"th\";\n\n switch (s % 10) {\n case 1:\n return \"st\";\n\n case 2:\n return \"nd\";\n\n case 3:\n return \"rd\";\n\n default:\n return \"th\";\n }\n },\n rangeSeparator: \" to \",\n weekAbbreviation: \"Wk\",\n scrollTitle: \"Scroll to increment\",\n toggleTitle: \"Click to toggle\",\n amPM: [\"AM\", \"PM\"],\n yearAriaLabel: \"Year\"\n };\n\n var createDateFormatter = function createDateFormatter(_ref) {\n var _ref$config = _ref.config,\n config = _ref$config === void 0 ? defaults : _ref$config,\n _ref$l10n = _ref.l10n,\n l10n = _ref$l10n === void 0 ? english : _ref$l10n;\n return function (dateObj, frmt, overrideLocale) {\n if (config.formatDate !== undefined) return config.formatDate(dateObj, frmt);\n var locale = overrideLocale || l10n;\n return frmt.split(\"\").map(function (c, i, arr) {\n return formats[c] && arr[i - 1] !== \"\\\\\" ? formats[c](dateObj, locale, config) : c !== \"\\\\\" ? c : \"\";\n }).join(\"\");\n };\n };\n var createDateParser = function createDateParser(_ref2) {\n var _ref2$config = _ref2.config,\n config = _ref2$config === void 0 ? defaults : _ref2$config,\n _ref2$l10n = _ref2.l10n,\n l10n = _ref2$l10n === void 0 ? english : _ref2$l10n;\n return function (date, givenFormat, timeless) {\n if (date !== 0 && !date) return undefined;\n var parsedDate;\n var date_orig = date;\n if (date instanceof Date) parsedDate = new Date(date.getTime());else if (typeof date !== \"string\" && date.toFixed !== undefined) parsedDate = new Date(date);else if (typeof date === \"string\") {\n var format = givenFormat || (config || defaults).dateFormat;\n var datestr = String(date).trim();\n\n if (datestr === \"today\") {\n parsedDate = new Date();\n timeless = true;\n } else if (/Z$/.test(datestr) || /GMT$/.test(datestr)) parsedDate = new Date(date);else if (config && config.parseDate) parsedDate = config.parseDate(date, format);else {\n parsedDate = !config || !config.noCalendar ? new Date(new Date().getFullYear(), 0, 1, 0, 0, 0, 0) : new Date(new Date().setHours(0, 0, 0, 0));\n var matched,\n ops = [];\n\n for (var i = 0, matchIndex = 0, regexStr = \"\"; i < format.length; i++) {\n var token = format[i];\n var isBackSlash = token === \"\\\\\";\n var escaped = format[i - 1] === \"\\\\\" || isBackSlash;\n\n if (tokenRegex[token] && !escaped) {\n regexStr += tokenRegex[token];\n var match = new RegExp(regexStr).exec(date);\n\n if (match && (matched = true)) {\n ops[token !== \"Y\" ? \"push\" : \"unshift\"]({\n fn: revFormat[token],\n val: match[++matchIndex]\n });\n }\n } else if (!isBackSlash) regexStr += \".\";\n\n ops.forEach(function (_ref3) {\n var fn = _ref3.fn,\n val = _ref3.val;\n return parsedDate = fn(parsedDate, val, l10n) || parsedDate;\n });\n }\n\n parsedDate = matched ? parsedDate : undefined;\n }\n }\n\n if (!(parsedDate instanceof Date && !isNaN(parsedDate.getTime()))) {\n config.errorHandler(new Error(\"Invalid date provided: \" + date_orig));\n return undefined;\n }\n\n if (timeless === true) parsedDate.setHours(0, 0, 0, 0);\n return parsedDate;\n };\n };\n function compareDates(date1, date2, timeless) {\n if (timeless === void 0) {\n timeless = true;\n }\n\n if (timeless !== false) {\n return new Date(date1.getTime()).setHours(0, 0, 0, 0) - new Date(date2.getTime()).setHours(0, 0, 0, 0);\n }\n\n return date1.getTime() - date2.getTime();\n }\n var getWeek = function getWeek(givenDate) {\n var date = new Date(givenDate.getTime());\n date.setHours(0, 0, 0, 0);\n date.setDate(date.getDate() + 3 - (date.getDay() + 6) % 7);\n var week1 = new Date(date.getFullYear(), 0, 4);\n return 1 + Math.round(((date.getTime() - week1.getTime()) / 86400000 - 3 + (week1.getDay() + 6) % 7) / 7);\n };\n var isBetween = function isBetween(ts, ts1, ts2) {\n return ts > Math.min(ts1, ts2) && ts < Math.max(ts1, ts2);\n };\n var duration = {\n DAY: 86400000\n };\n\n var defaults = {\n _disable: [],\n _enable: [],\n allowInput: false,\n altFormat: \"F j, Y\",\n altInput: false,\n altInputClass: \"form-control input\",\n animate: typeof window === \"object\" && window.navigator.userAgent.indexOf(\"MSIE\") === -1,\n ariaDateFormat: \"F j, Y\",\n clickOpens: true,\n closeOnSelect: true,\n conjunction: \", \",\n dateFormat: \"Y-m-d\",\n defaultHour: 12,\n defaultMinute: 0,\n defaultSeconds: 0,\n disable: [],\n disableMobile: false,\n enable: [],\n enableSeconds: false,\n enableTime: false,\n errorHandler: function errorHandler(err) {\n return typeof console !== \"undefined\" && console.warn(err);\n },\n getWeek: getWeek,\n hourIncrement: 1,\n ignoredFocusElements: [],\n inline: false,\n locale: \"default\",\n minuteIncrement: 5,\n mode: \"single\",\n nextArrow: \"\",\n noCalendar: false,\n now: new Date(),\n onChange: [],\n onClose: [],\n onDayCreate: [],\n onDestroy: [],\n onKeyDown: [],\n onMonthChange: [],\n onOpen: [],\n onParseConfig: [],\n onReady: [],\n onValueUpdate: [],\n onYearChange: [],\n onPreCalendarPosition: [],\n plugins: [],\n position: \"auto\",\n positionElement: undefined,\n prevArrow: \"\",\n shorthandCurrentMonth: false,\n showMonths: 1,\n static: false,\n time_24hr: false,\n weekNumbers: false,\n wrap: false\n };\n\n function toggleClass(elem, className, bool) {\n if (bool === true) return elem.classList.add(className);\n elem.classList.remove(className);\n }\n function createElement(tag, className, content) {\n var e = window.document.createElement(tag);\n className = className || \"\";\n content = content || \"\";\n e.className = className;\n if (content !== undefined) e.textContent = content;\n return e;\n }\n function clearNode(node) {\n while (node.firstChild) {\n node.removeChild(node.firstChild);\n }\n }\n function findParent(node, condition) {\n if (condition(node)) return node;else if (node.parentNode) return findParent(node.parentNode, condition);\n return undefined;\n }\n function createNumberInput(inputClassName, opts) {\n var wrapper = createElement(\"div\", \"numInputWrapper\"),\n numInput = createElement(\"input\", \"numInput \" + inputClassName),\n arrowUp = createElement(\"span\", \"arrowUp\"),\n arrowDown = createElement(\"span\", \"arrowDown\");\n numInput.type = \"text\";\n numInput.pattern = \"\\\\d*\";\n if (opts !== undefined) for (var key in opts) {\n numInput.setAttribute(key, opts[key]);\n }\n wrapper.appendChild(numInput);\n wrapper.appendChild(arrowUp);\n wrapper.appendChild(arrowDown);\n return wrapper;\n }\n\n if (typeof Object.assign !== \"function\") {\n Object.assign = function (target) {\n if (!target) {\n throw TypeError(\"Cannot convert undefined or null to object\");\n }\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var _loop = function _loop() {\n var source = args[_i];\n\n if (source) {\n Object.keys(source).forEach(function (key) {\n return target[key] = source[key];\n });\n }\n };\n\n for (var _i = 0; _i < args.length; _i++) {\n _loop();\n }\n\n return target;\n };\n }\n\n var DEBOUNCED_CHANGE_MS = 300;\n\n function FlatpickrInstance(element, instanceConfig) {\n var self = {\n config: Object.assign({}, flatpickr.defaultConfig),\n l10n: english\n };\n self.parseDate = createDateParser({\n config: self.config,\n l10n: self.l10n\n });\n self._handlers = [];\n self._bind = bind;\n self._setHoursFromDate = setHoursFromDate;\n self._positionCalendar = positionCalendar;\n self.changeMonth = changeMonth;\n self.changeYear = changeYear;\n self.clear = clear;\n self.close = close;\n self._createElement = createElement;\n self.destroy = destroy;\n self.isEnabled = isEnabled;\n self.jumpToDate = jumpToDate;\n self.open = open;\n self.redraw = redraw;\n self.set = set;\n self.setDate = setDate;\n self.toggle = toggle;\n\n function setupHelperFunctions() {\n self.utils = {\n getDaysInMonth: function getDaysInMonth(month, yr) {\n if (month === void 0) {\n month = self.currentMonth;\n }\n\n if (yr === void 0) {\n yr = self.currentYear;\n }\n\n if (month === 1 && (yr % 4 === 0 && yr % 100 !== 0 || yr % 400 === 0)) return 29;\n return self.l10n.daysInMonth[month];\n }\n };\n }\n\n function init() {\n self.element = self.input = element;\n self.isOpen = false;\n parseConfig();\n setupLocale();\n setupInputs();\n setupDates();\n setupHelperFunctions();\n if (!self.isMobile) build();\n bindEvents();\n\n if (self.selectedDates.length || self.config.noCalendar) {\n if (self.config.enableTime) {\n setHoursFromDate(self.config.noCalendar ? self.latestSelectedDateObj || self.config.minDate : undefined);\n }\n\n updateValue(false);\n }\n\n setCalendarWidth();\n self.showTimeInput = self.selectedDates.length > 0 || self.config.noCalendar;\n var isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n\n if (!self.isMobile && isSafari) {\n positionCalendar();\n }\n\n triggerEvent(\"onReady\");\n }\n\n function bindToInstance(fn) {\n return fn.bind(self);\n }\n\n function setCalendarWidth() {\n var config = self.config;\n if (config.weekNumbers === false && config.showMonths === 1) return;else if (config.noCalendar !== true) {\n window.requestAnimationFrame(function () {\n self.calendarContainer.style.visibility = \"hidden\";\n self.calendarContainer.style.display = \"block\";\n\n if (self.daysContainer !== undefined) {\n var daysWidth = (self.days.offsetWidth + 1) * config.showMonths;\n self.daysContainer.style.width = daysWidth + \"px\";\n self.calendarContainer.style.width = daysWidth + (self.weekWrapper !== undefined ? self.weekWrapper.offsetWidth : 0) + \"px\";\n self.calendarContainer.style.removeProperty(\"visibility\");\n self.calendarContainer.style.removeProperty(\"display\");\n }\n });\n }\n }\n\n function updateTime(e) {\n if (self.selectedDates.length === 0) return;\n if (e !== undefined && e.type !== \"blur\") timeWrapper(e);\n setHoursFromInputs();\n updateValue();\n\n self._debouncedChange();\n }\n\n function ampm2military(hour, amPM) {\n return hour % 12 + 12 * int(amPM === self.l10n.amPM[1]);\n }\n\n function military2ampm(hour) {\n switch (hour % 24) {\n case 0:\n case 12:\n return 12;\n\n default:\n return hour % 12;\n }\n }\n\n function setHoursFromInputs() {\n if (self.hourElement === undefined || self.minuteElement === undefined) return;\n var hours = (parseInt(self.hourElement.value.slice(-2), 10) || 0) % 24,\n minutes = (parseInt(self.minuteElement.value, 10) || 0) % 60,\n seconds = self.secondElement !== undefined ? (parseInt(self.secondElement.value, 10) || 0) % 60 : 0;\n\n if (self.amPM !== undefined) {\n hours = ampm2military(hours, self.amPM.textContent);\n }\n\n var limitMinHours = self.config.minTime !== undefined || self.config.minDate && self.minDateHasTime && self.latestSelectedDateObj && compareDates(self.latestSelectedDateObj, self.config.minDate, true) === 0;\n var limitMaxHours = self.config.maxTime !== undefined || self.config.maxDate && self.maxDateHasTime && self.latestSelectedDateObj && compareDates(self.latestSelectedDateObj, self.config.maxDate, true) === 0;\n\n if (limitMaxHours) {\n var maxTime = self.config.maxTime !== undefined ? self.config.maxTime : self.config.maxDate;\n hours = Math.min(hours, maxTime.getHours());\n if (hours === maxTime.getHours()) minutes = Math.min(minutes, maxTime.getMinutes());\n if (minutes === maxTime.getMinutes()) seconds = Math.min(seconds, maxTime.getSeconds());\n }\n\n if (limitMinHours) {\n var minTime = self.config.minTime !== undefined ? self.config.minTime : self.config.minDate;\n hours = Math.max(hours, minTime.getHours());\n if (hours === minTime.getHours()) minutes = Math.max(minutes, minTime.getMinutes());\n if (minutes === minTime.getMinutes()) seconds = Math.max(seconds, minTime.getSeconds());\n }\n\n setHours(hours, minutes, seconds);\n }\n\n function setHoursFromDate(dateObj) {\n var date = dateObj || self.latestSelectedDateObj;\n if (date) setHours(date.getHours(), date.getMinutes(), date.getSeconds());\n }\n\n function setDefaultHours() {\n var hours = self.config.defaultHour;\n var minutes = self.config.defaultMinute;\n var seconds = self.config.defaultSeconds;\n\n if (self.config.minDate !== undefined) {\n var min_hr = self.config.minDate.getHours();\n var min_minutes = self.config.minDate.getMinutes();\n hours = Math.max(hours, min_hr);\n if (hours === min_hr) minutes = Math.max(min_minutes, minutes);\n if (hours === min_hr && minutes === min_minutes) seconds = self.config.minDate.getSeconds();\n }\n\n if (self.config.maxDate !== undefined) {\n var max_hr = self.config.maxDate.getHours();\n var max_minutes = self.config.maxDate.getMinutes();\n hours = Math.min(hours, max_hr);\n if (hours === max_hr) minutes = Math.min(max_minutes, minutes);\n if (hours === max_hr && minutes === max_minutes) seconds = self.config.maxDate.getSeconds();\n }\n\n setHours(hours, minutes, seconds);\n }\n\n function setHours(hours, minutes, seconds) {\n if (self.latestSelectedDateObj !== undefined) {\n self.latestSelectedDateObj.setHours(hours % 24, minutes, seconds || 0, 0);\n }\n\n if (!self.hourElement || !self.minuteElement || self.isMobile) return;\n self.hourElement.value = pad(!self.config.time_24hr ? (12 + hours) % 12 + 12 * int(hours % 12 === 0) : hours);\n self.minuteElement.value = pad(minutes);\n if (self.amPM !== undefined) self.amPM.textContent = self.l10n.amPM[int(hours >= 12)];\n if (self.secondElement !== undefined) self.secondElement.value = pad(seconds);\n }\n\n function onYearInput(event) {\n var year = parseInt(event.target.value) + (event.delta || 0);\n\n if (year / 1000 > 1 || event.key === \"Enter\" && !/[^\\d]/.test(year.toString())) {\n changeYear(year);\n }\n }\n\n function bind(element, event, handler, options) {\n if (event instanceof Array) return event.forEach(function (ev) {\n return bind(element, ev, handler, options);\n });\n if (element instanceof Array) return element.forEach(function (el) {\n return bind(el, event, handler, options);\n });\n element.addEventListener(event, handler, options);\n\n self._handlers.push({\n element: element,\n event: event,\n handler: handler,\n options: options\n });\n }\n\n function onClick(handler) {\n return function (evt) {\n evt.which === 1 && handler(evt);\n };\n }\n\n function triggerChange() {\n triggerEvent(\"onChange\");\n }\n\n function bindEvents() {\n if (self.config.wrap) {\n [\"open\", \"close\", \"toggle\", \"clear\"].forEach(function (evt) {\n Array.prototype.forEach.call(self.element.querySelectorAll(\"[data-\" + evt + \"]\"), function (el) {\n return bind(el, \"click\", self[evt]);\n });\n });\n }\n\n if (self.isMobile) {\n setupMobile();\n return;\n }\n\n var debouncedResize = debounce(onResize, 50);\n self._debouncedChange = debounce(triggerChange, DEBOUNCED_CHANGE_MS);\n if (self.daysContainer && !/iPhone|iPad|iPod/i.test(navigator.userAgent)) bind(self.daysContainer, \"mouseover\", function (e) {\n if (self.config.mode === \"range\") onMouseOver(e.target);\n });\n bind(window.document.body, \"keydown\", onKeyDown);\n if (!self.config.static) bind(self._input, \"keydown\", onKeyDown);\n if (!self.config.inline && !self.config.static) bind(window, \"resize\", debouncedResize);\n if (window.ontouchstart !== undefined) bind(window.document, \"click\", documentClick);else bind(window.document, \"mousedown\", onClick(documentClick));\n bind(window.document, \"focus\", documentClick, {\n capture: true\n });\n\n if (self.config.clickOpens === true) {\n bind(self._input, \"focus\", self.open);\n bind(self._input, \"mousedown\", onClick(self.open));\n }\n\n if (self.daysContainer !== undefined) {\n bind(self.monthNav, \"mousedown\", onClick(onMonthNavClick));\n bind(self.monthNav, [\"keyup\", \"increment\"], onYearInput);\n bind(self.daysContainer, \"mousedown\", onClick(selectDate));\n }\n\n if (self.timeContainer !== undefined && self.minuteElement !== undefined && self.hourElement !== undefined) {\n var selText = function selText(e) {\n return e.target.select();\n };\n\n bind(self.timeContainer, [\"increment\"], updateTime);\n bind(self.timeContainer, \"blur\", updateTime, {\n capture: true\n });\n bind(self.timeContainer, \"mousedown\", onClick(timeIncrement));\n bind([self.hourElement, self.minuteElement], [\"focus\", \"click\"], selText);\n if (self.secondElement !== undefined) bind(self.secondElement, \"focus\", function () {\n return self.secondElement && self.secondElement.select();\n });\n\n if (self.amPM !== undefined) {\n bind(self.amPM, \"mousedown\", onClick(function (e) {\n updateTime(e);\n triggerChange();\n }));\n }\n }\n }\n\n function jumpToDate(jumpDate) {\n var jumpTo = jumpDate !== undefined ? self.parseDate(jumpDate) : self.latestSelectedDateObj || (self.config.minDate && self.config.minDate > self.now ? self.config.minDate : self.config.maxDate && self.config.maxDate < self.now ? self.config.maxDate : self.now);\n\n try {\n if (jumpTo !== undefined) {\n self.currentYear = jumpTo.getFullYear();\n self.currentMonth = jumpTo.getMonth();\n }\n } catch (e) {\n e.message = \"Invalid date supplied: \" + jumpTo;\n self.config.errorHandler(e);\n }\n\n self.redraw();\n }\n\n function timeIncrement(e) {\n if (~e.target.className.indexOf(\"arrow\")) incrementNumInput(e, e.target.classList.contains(\"arrowUp\") ? 1 : -1);\n }\n\n function incrementNumInput(e, delta, inputElem) {\n var target = e && e.target;\n var input = inputElem || target && target.parentNode && target.parentNode.firstChild;\n var event = createEvent(\"increment\");\n event.delta = delta;\n input && input.dispatchEvent(event);\n }\n\n function build() {\n var fragment = window.document.createDocumentFragment();\n self.calendarContainer = createElement(\"div\", \"flatpickr-calendar\");\n self.calendarContainer.tabIndex = -1;\n\n if (!self.config.noCalendar) {\n fragment.appendChild(buildMonthNav());\n self.innerContainer = createElement(\"div\", \"flatpickr-innerContainer\");\n\n if (self.config.weekNumbers) {\n var _buildWeeks = buildWeeks(),\n weekWrapper = _buildWeeks.weekWrapper,\n weekNumbers = _buildWeeks.weekNumbers;\n\n self.innerContainer.appendChild(weekWrapper);\n self.weekNumbers = weekNumbers;\n self.weekWrapper = weekWrapper;\n }\n\n self.rContainer = createElement(\"div\", \"flatpickr-rContainer\");\n self.rContainer.appendChild(buildWeekdays());\n\n if (!self.daysContainer) {\n self.daysContainer = createElement(\"div\", \"flatpickr-days\");\n self.daysContainer.tabIndex = -1;\n }\n\n buildDays();\n self.rContainer.appendChild(self.daysContainer);\n self.innerContainer.appendChild(self.rContainer);\n fragment.appendChild(self.innerContainer);\n }\n\n if (self.config.enableTime) {\n fragment.appendChild(buildTime());\n }\n\n toggleClass(self.calendarContainer, \"rangeMode\", self.config.mode === \"range\");\n toggleClass(self.calendarContainer, \"animate\", self.config.animate === true);\n toggleClass(self.calendarContainer, \"multiMonth\", self.config.showMonths > 1);\n self.calendarContainer.appendChild(fragment);\n var customAppend = self.config.appendTo !== undefined && self.config.appendTo.nodeType !== undefined;\n\n if (self.config.inline || self.config.static) {\n self.calendarContainer.classList.add(self.config.inline ? \"inline\" : \"static\");\n\n if (self.config.inline) {\n if (!customAppend && self.element.parentNode) self.element.parentNode.insertBefore(self.calendarContainer, self._input.nextSibling);else if (self.config.appendTo !== undefined) self.config.appendTo.appendChild(self.calendarContainer);\n }\n\n if (self.config.static) {\n var wrapper = createElement(\"div\", \"flatpickr-wrapper\");\n if (self.element.parentNode) self.element.parentNode.insertBefore(wrapper, self.element);\n wrapper.appendChild(self.element);\n if (self.altInput) wrapper.appendChild(self.altInput);\n wrapper.appendChild(self.calendarContainer);\n }\n }\n\n if (!self.config.static && !self.config.inline) (self.config.appendTo !== undefined ? self.config.appendTo : window.document.body).appendChild(self.calendarContainer);\n }\n\n function createDay(className, date, dayNumber, i) {\n var dateIsEnabled = isEnabled(date, true),\n dayElement = createElement(\"span\", \"flatpickr-day \" + className, date.getDate().toString());\n dayElement.dateObj = date;\n dayElement.$i = i;\n dayElement.setAttribute(\"aria-label\", self.formatDate(date, self.config.ariaDateFormat));\n\n if (className.indexOf(\"hidden\") === -1 && compareDates(date, self.now) === 0) {\n self.todayDateElem = dayElement;\n dayElement.classList.add(\"today\");\n dayElement.setAttribute(\"aria-current\", \"date\");\n }\n\n if (dateIsEnabled) {\n dayElement.tabIndex = -1;\n\n if (isDateSelected(date)) {\n dayElement.classList.add(\"selected\");\n self.selectedDateElem = dayElement;\n\n if (self.config.mode === \"range\") {\n toggleClass(dayElement, \"startRange\", self.selectedDates[0] && compareDates(date, self.selectedDates[0], true) === 0);\n toggleClass(dayElement, \"endRange\", self.selectedDates[1] && compareDates(date, self.selectedDates[1], true) === 0);\n if (className === \"nextMonthDay\") dayElement.classList.add(\"inRange\");\n }\n }\n } else {\n dayElement.classList.add(\"disabled\");\n }\n\n if (self.config.mode === \"range\") {\n if (isDateInRange(date) && !isDateSelected(date)) dayElement.classList.add(\"inRange\");\n }\n\n if (self.weekNumbers && self.config.showMonths === 1 && className !== \"prevMonthDay\" && dayNumber % 7 === 1) {\n self.weekNumbers.insertAdjacentHTML(\"beforeend\", \"\" + self.config.getWeek(date) + \"\");\n }\n\n triggerEvent(\"onDayCreate\", dayElement);\n return dayElement;\n }\n\n function focusOnDayElem(targetNode) {\n targetNode.focus();\n if (self.config.mode === \"range\") onMouseOver(targetNode);\n }\n\n function getFirstAvailableDay(delta) {\n var startMonth = delta > 0 ? 0 : self.config.showMonths - 1;\n var endMonth = delta > 0 ? self.config.showMonths : -1;\n\n for (var m = startMonth; m != endMonth; m += delta) {\n var month = self.daysContainer.children[m];\n var startIndex = delta > 0 ? 0 : month.children.length - 1;\n var endIndex = delta > 0 ? month.children.length : -1;\n\n for (var i = startIndex; i != endIndex; i += delta) {\n var c = month.children[i];\n if (c.className.indexOf(\"hidden\") === -1 && isEnabled(c.dateObj)) return c;\n }\n }\n\n return undefined;\n }\n\n function getNextAvailableDay(current, delta) {\n var givenMonth = current.className.indexOf(\"Month\") === -1 ? current.dateObj.getMonth() : self.currentMonth;\n var endMonth = delta > 0 ? self.config.showMonths : -1;\n var loopDelta = delta > 0 ? 1 : -1;\n\n for (var m = givenMonth - self.currentMonth; m != endMonth; m += loopDelta) {\n var month = self.daysContainer.children[m];\n var startIndex = givenMonth - self.currentMonth === m ? current.$i + delta : delta < 0 ? month.children.length - 1 : 0;\n var numMonthDays = month.children.length;\n\n for (var i = startIndex; i >= 0 && i < numMonthDays && i != (delta > 0 ? numMonthDays : -1); i += loopDelta) {\n var c = month.children[i];\n if (c.className.indexOf(\"hidden\") === -1 && isEnabled(c.dateObj) && Math.abs(current.$i - i) >= Math.abs(delta)) return focusOnDayElem(c);\n }\n }\n\n self.changeMonth(loopDelta);\n focusOnDay(getFirstAvailableDay(loopDelta), 0);\n return undefined;\n }\n\n function focusOnDay(current, offset) {\n var dayFocused = isInView(document.activeElement);\n var startElem = current !== undefined ? current : dayFocused ? document.activeElement : self.selectedDateElem !== undefined && isInView(self.selectedDateElem) ? self.selectedDateElem : self.todayDateElem !== undefined && isInView(self.todayDateElem) ? self.todayDateElem : getFirstAvailableDay(offset > 0 ? 1 : -1);\n if (startElem === undefined) return self._input.focus();\n if (!dayFocused) return focusOnDayElem(startElem);\n getNextAvailableDay(startElem, offset);\n }\n\n function buildMonthDays(year, month) {\n var firstOfMonth = (new Date(year, month, 1).getDay() - self.l10n.firstDayOfWeek + 7) % 7;\n var prevMonthDays = self.utils.getDaysInMonth((month - 1 + 12) % 12);\n var daysInMonth = self.utils.getDaysInMonth(month),\n days = window.document.createDocumentFragment(),\n isMultiMonth = self.config.showMonths > 1,\n prevMonthDayClass = isMultiMonth ? \"prevMonthDay hidden\" : \"prevMonthDay\",\n nextMonthDayClass = isMultiMonth ? \"nextMonthDay hidden\" : \"nextMonthDay\";\n var dayNumber = prevMonthDays + 1 - firstOfMonth,\n dayIndex = 0;\n\n for (; dayNumber <= prevMonthDays; dayNumber++, dayIndex++) {\n days.appendChild(createDay(prevMonthDayClass, new Date(year, month - 1, dayNumber), dayNumber, dayIndex));\n }\n\n for (dayNumber = 1; dayNumber <= daysInMonth; dayNumber++, dayIndex++) {\n days.appendChild(createDay(\"\", new Date(year, month, dayNumber), dayNumber, dayIndex));\n }\n\n for (var dayNum = daysInMonth + 1; dayNum <= 42 - firstOfMonth && (self.config.showMonths === 1 || dayIndex % 7 !== 0); dayNum++, dayIndex++) {\n days.appendChild(createDay(nextMonthDayClass, new Date(year, month + 1, dayNum % daysInMonth), dayNum, dayIndex));\n }\n\n var dayContainer = createElement(\"div\", \"dayContainer\");\n dayContainer.appendChild(days);\n return dayContainer;\n }\n\n function buildDays() {\n if (self.daysContainer === undefined) {\n return;\n }\n\n clearNode(self.daysContainer);\n if (self.weekNumbers) clearNode(self.weekNumbers);\n var frag = document.createDocumentFragment();\n\n for (var i = 0; i < self.config.showMonths; i++) {\n var d = new Date(self.currentYear, self.currentMonth, 1);\n d.setMonth(self.currentMonth + i);\n frag.appendChild(buildMonthDays(d.getFullYear(), d.getMonth()));\n }\n\n self.daysContainer.appendChild(frag);\n self.days = self.daysContainer.firstChild;\n }\n\n function buildMonth() {\n var container = createElement(\"div\", \"flatpickr-month\");\n var monthNavFragment = window.document.createDocumentFragment();\n var monthElement = createElement(\"span\", \"cur-month\");\n monthElement.title = self.l10n.scrollTitle;\n var yearInput = createNumberInput(\"cur-year\", {\n tabindex: \"-1\"\n });\n var yearElement = yearInput.childNodes[0];\n yearElement.title = self.l10n.scrollTitle;\n yearElement.setAttribute(\"aria-label\", self.l10n.yearAriaLabel);\n if (self.config.minDate) yearElement.setAttribute(\"data-min\", self.config.minDate.getFullYear().toString());\n\n if (self.config.maxDate) {\n yearElement.setAttribute(\"data-max\", self.config.maxDate.getFullYear().toString());\n yearElement.disabled = !!self.config.minDate && self.config.minDate.getFullYear() === self.config.maxDate.getFullYear();\n }\n\n var currentMonth = createElement(\"div\", \"flatpickr-current-month\");\n currentMonth.appendChild(monthElement);\n currentMonth.appendChild(yearInput);\n monthNavFragment.appendChild(currentMonth);\n container.appendChild(monthNavFragment);\n return {\n container: container,\n yearElement: yearElement,\n monthElement: monthElement\n };\n }\n\n function buildMonths() {\n clearNode(self.monthNav);\n self.monthNav.appendChild(self.prevMonthNav);\n\n for (var m = self.config.showMonths; m--;) {\n var month = buildMonth();\n self.yearElements.push(month.yearElement);\n self.monthElements.push(month.monthElement);\n self.monthNav.appendChild(month.container);\n }\n\n self.monthNav.appendChild(self.nextMonthNav);\n }\n\n function buildMonthNav() {\n self.monthNav = createElement(\"div\", \"flatpickr-months\");\n self.yearElements = [];\n self.monthElements = [];\n self.prevMonthNav = createElement(\"span\", \"flatpickr-prev-month\");\n self.prevMonthNav.innerHTML = self.config.prevArrow;\n self.nextMonthNav = createElement(\"span\", \"flatpickr-next-month\");\n self.nextMonthNav.innerHTML = self.config.nextArrow;\n buildMonths();\n Object.defineProperty(self, \"_hidePrevMonthArrow\", {\n get: function get() {\n return self.__hidePrevMonthArrow;\n },\n set: function set(bool) {\n if (self.__hidePrevMonthArrow !== bool) {\n toggleClass(self.prevMonthNav, \"disabled\", bool);\n self.__hidePrevMonthArrow = bool;\n }\n }\n });\n Object.defineProperty(self, \"_hideNextMonthArrow\", {\n get: function get() {\n return self.__hideNextMonthArrow;\n },\n set: function set(bool) {\n if (self.__hideNextMonthArrow !== bool) {\n toggleClass(self.nextMonthNav, \"disabled\", bool);\n self.__hideNextMonthArrow = bool;\n }\n }\n });\n self.currentYearElement = self.yearElements[0];\n updateNavigationCurrentMonth();\n return self.monthNav;\n }\n\n function buildTime() {\n self.calendarContainer.classList.add(\"hasTime\");\n if (self.config.noCalendar) self.calendarContainer.classList.add(\"noCalendar\");\n self.timeContainer = createElement(\"div\", \"flatpickr-time\");\n self.timeContainer.tabIndex = -1;\n var separator = createElement(\"span\", \"flatpickr-time-separator\", \":\");\n var hourInput = createNumberInput(\"flatpickr-hour\");\n self.hourElement = hourInput.childNodes[0];\n var minuteInput = createNumberInput(\"flatpickr-minute\");\n self.minuteElement = minuteInput.childNodes[0];\n self.hourElement.tabIndex = self.minuteElement.tabIndex = -1;\n self.hourElement.value = pad(self.latestSelectedDateObj ? self.latestSelectedDateObj.getHours() : self.config.time_24hr ? self.config.defaultHour : military2ampm(self.config.defaultHour));\n self.minuteElement.value = pad(self.latestSelectedDateObj ? self.latestSelectedDateObj.getMinutes() : self.config.defaultMinute);\n self.hourElement.setAttribute(\"data-step\", self.config.hourIncrement.toString());\n self.minuteElement.setAttribute(\"data-step\", self.config.minuteIncrement.toString());\n self.hourElement.setAttribute(\"data-min\", self.config.time_24hr ? \"0\" : \"1\");\n self.hourElement.setAttribute(\"data-max\", self.config.time_24hr ? \"23\" : \"12\");\n self.minuteElement.setAttribute(\"data-min\", \"0\");\n self.minuteElement.setAttribute(\"data-max\", \"59\");\n self.timeContainer.appendChild(hourInput);\n self.timeContainer.appendChild(separator);\n self.timeContainer.appendChild(minuteInput);\n if (self.config.time_24hr) self.timeContainer.classList.add(\"time24hr\");\n\n if (self.config.enableSeconds) {\n self.timeContainer.classList.add(\"hasSeconds\");\n var secondInput = createNumberInput(\"flatpickr-second\");\n self.secondElement = secondInput.childNodes[0];\n self.secondElement.value = pad(self.latestSelectedDateObj ? self.latestSelectedDateObj.getSeconds() : self.config.defaultSeconds);\n self.secondElement.setAttribute(\"data-step\", self.minuteElement.getAttribute(\"data-step\"));\n self.secondElement.setAttribute(\"data-min\", self.minuteElement.getAttribute(\"data-min\"));\n self.secondElement.setAttribute(\"data-max\", self.minuteElement.getAttribute(\"data-max\"));\n self.timeContainer.appendChild(createElement(\"span\", \"flatpickr-time-separator\", \":\"));\n self.timeContainer.appendChild(secondInput);\n }\n\n if (!self.config.time_24hr) {\n self.amPM = createElement(\"span\", \"flatpickr-am-pm\", self.l10n.amPM[int((self.latestSelectedDateObj ? self.hourElement.value : self.config.defaultHour) > 11)]);\n self.amPM.title = self.l10n.toggleTitle;\n self.amPM.tabIndex = -1;\n self.timeContainer.appendChild(self.amPM);\n }\n\n return self.timeContainer;\n }\n\n function buildWeekdays() {\n if (!self.weekdayContainer) self.weekdayContainer = createElement(\"div\", \"flatpickr-weekdays\");else clearNode(self.weekdayContainer);\n\n for (var i = self.config.showMonths; i--;) {\n var container = createElement(\"div\", \"flatpickr-weekdaycontainer\");\n self.weekdayContainer.appendChild(container);\n }\n\n updateWeekdays();\n return self.weekdayContainer;\n }\n\n function updateWeekdays() {\n var firstDayOfWeek = self.l10n.firstDayOfWeek;\n var weekdays = self.l10n.weekdays.shorthand.concat();\n\n if (firstDayOfWeek > 0 && firstDayOfWeek < weekdays.length) {\n weekdays = weekdays.splice(firstDayOfWeek, weekdays.length).concat(weekdays.splice(0, firstDayOfWeek));\n }\n\n for (var i = self.config.showMonths; i--;) {\n self.weekdayContainer.children[i].innerHTML = \"\\n \\n \" + weekdays.join(\"\") + \"\\n \\n \";\n }\n }\n\n function buildWeeks() {\n self.calendarContainer.classList.add(\"hasWeeks\");\n var weekWrapper = createElement(\"div\", \"flatpickr-weekwrapper\");\n weekWrapper.appendChild(createElement(\"span\", \"flatpickr-weekday\", self.l10n.weekAbbreviation));\n var weekNumbers = createElement(\"div\", \"flatpickr-weeks\");\n weekWrapper.appendChild(weekNumbers);\n return {\n weekWrapper: weekWrapper,\n weekNumbers: weekNumbers\n };\n }\n\n function changeMonth(value, is_offset) {\n if (is_offset === void 0) {\n is_offset = true;\n }\n\n var delta = is_offset ? value : value - self.currentMonth;\n if (delta < 0 && self._hidePrevMonthArrow === true || delta > 0 && self._hideNextMonthArrow === true) return;\n self.currentMonth += delta;\n\n if (self.currentMonth < 0 || self.currentMonth > 11) {\n self.currentYear += self.currentMonth > 11 ? 1 : -1;\n self.currentMonth = (self.currentMonth + 12) % 12;\n triggerEvent(\"onYearChange\");\n }\n\n buildDays();\n triggerEvent(\"onMonthChange\");\n updateNavigationCurrentMonth();\n }\n\n function clear(triggerChangeEvent) {\n if (triggerChangeEvent === void 0) {\n triggerChangeEvent = true;\n }\n\n self.input.value = \"\";\n if (self.altInput !== undefined) self.altInput.value = \"\";\n if (self.mobileInput !== undefined) self.mobileInput.value = \"\";\n self.selectedDates = [];\n self.latestSelectedDateObj = undefined;\n self.showTimeInput = false;\n\n if (self.config.enableTime === true) {\n setDefaultHours();\n }\n\n self.redraw();\n if (triggerChangeEvent) triggerEvent(\"onChange\");\n }\n\n function close() {\n self.isOpen = false;\n\n if (!self.isMobile) {\n self.calendarContainer.classList.remove(\"open\");\n\n self._input.classList.remove(\"active\");\n }\n\n triggerEvent(\"onClose\");\n }\n\n function destroy() {\n if (self.config !== undefined) triggerEvent(\"onDestroy\");\n\n for (var i = self._handlers.length; i--;) {\n var h = self._handlers[i];\n h.element.removeEventListener(h.event, h.handler, h.options);\n }\n\n self._handlers = [];\n\n if (self.mobileInput) {\n if (self.mobileInput.parentNode) self.mobileInput.parentNode.removeChild(self.mobileInput);\n self.mobileInput = undefined;\n } else if (self.calendarContainer && self.calendarContainer.parentNode) self.calendarContainer.parentNode.removeChild(self.calendarContainer);\n\n if (self.altInput) {\n self.input.type = \"text\";\n if (self.altInput.parentNode) self.altInput.parentNode.removeChild(self.altInput);\n delete self.altInput;\n }\n\n if (self.input) {\n self.input.type = self.input._type;\n self.input.classList.remove(\"flatpickr-input\");\n self.input.removeAttribute(\"readonly\");\n self.input.value = \"\";\n }\n\n [\"_showTimeInput\", \"latestSelectedDateObj\", \"_hideNextMonthArrow\", \"_hidePrevMonthArrow\", \"__hideNextMonthArrow\", \"__hidePrevMonthArrow\", \"isMobile\", \"isOpen\", \"selectedDateElem\", \"minDateHasTime\", \"maxDateHasTime\", \"days\", \"daysContainer\", \"_input\", \"_positionElement\", \"innerContainer\", \"rContainer\", \"monthNav\", \"todayDateElem\", \"calendarContainer\", \"weekdayContainer\", \"prevMonthNav\", \"nextMonthNav\", \"currentMonthElement\", \"currentYearElement\", \"navigationCurrentMonth\", \"selectedDateElem\", \"config\"].forEach(function (k) {\n try {\n delete self[k];\n } catch (_) {}\n });\n }\n\n function isCalendarElem(elem) {\n if (self.config.appendTo && self.config.appendTo.contains(elem)) return true;\n return self.calendarContainer.contains(elem);\n }\n\n function documentClick(e) {\n if (self.isOpen && !self.config.inline) {\n var isCalendarElement = isCalendarElem(e.target);\n var isInput = e.target === self.input || e.target === self.altInput || self.element.contains(e.target) || e.path && e.path.indexOf && (~e.path.indexOf(self.input) || ~e.path.indexOf(self.altInput));\n var lostFocus = e.type === \"blur\" ? isInput && e.relatedTarget && !isCalendarElem(e.relatedTarget) : !isInput && !isCalendarElement;\n var isIgnored = !self.config.ignoredFocusElements.some(function (elem) {\n return elem.contains(e.target);\n });\n\n if (lostFocus && isIgnored) {\n self.close();\n\n if (self.config.mode === \"range\" && self.selectedDates.length === 1) {\n self.clear(false);\n self.redraw();\n }\n }\n }\n }\n\n function changeYear(newYear) {\n if (!newYear || self.config.minDate && newYear < self.config.minDate.getFullYear() || self.config.maxDate && newYear > self.config.maxDate.getFullYear()) return;\n var newYearNum = newYear,\n isNewYear = self.currentYear !== newYearNum;\n self.currentYear = newYearNum || self.currentYear;\n\n if (self.config.maxDate && self.currentYear === self.config.maxDate.getFullYear()) {\n self.currentMonth = Math.min(self.config.maxDate.getMonth(), self.currentMonth);\n } else if (self.config.minDate && self.currentYear === self.config.minDate.getFullYear()) {\n self.currentMonth = Math.max(self.config.minDate.getMonth(), self.currentMonth);\n }\n\n if (isNewYear) {\n self.redraw();\n triggerEvent(\"onYearChange\");\n }\n }\n\n function isEnabled(date, timeless) {\n if (timeless === void 0) {\n timeless = true;\n }\n\n var dateToCheck = self.parseDate(date, undefined, timeless);\n if (self.config.minDate && dateToCheck && compareDates(dateToCheck, self.config.minDate, timeless !== undefined ? timeless : !self.minDateHasTime) < 0 || self.config.maxDate && dateToCheck && compareDates(dateToCheck, self.config.maxDate, timeless !== undefined ? timeless : !self.maxDateHasTime) > 0) return false;\n if (self.config.enable.length === 0 && self.config.disable.length === 0) return true;\n if (dateToCheck === undefined) return false;\n var bool = self.config.enable.length > 0,\n array = bool ? self.config.enable : self.config.disable;\n\n for (var i = 0, d; i < array.length; i++) {\n d = array[i];\n if (typeof d === \"function\" && d(dateToCheck)) return bool;else if (d instanceof Date && dateToCheck !== undefined && d.getTime() === dateToCheck.getTime()) return bool;else if (typeof d === \"string\" && dateToCheck !== undefined) {\n var parsed = self.parseDate(d, undefined, true);\n return parsed && parsed.getTime() === dateToCheck.getTime() ? bool : !bool;\n } else if (typeof d === \"object\" && dateToCheck !== undefined && d.from && d.to && dateToCheck.getTime() >= d.from.getTime() && dateToCheck.getTime() <= d.to.getTime()) return bool;\n }\n\n return !bool;\n }\n\n function isInView(elem) {\n if (self.daysContainer !== undefined) return elem.className.indexOf(\"hidden\") === -1 && self.daysContainer.contains(elem);\n return false;\n }\n\n function onKeyDown(e) {\n var isInput = e.target === self._input;\n var allowInput = self.config.allowInput;\n var allowKeydown = self.isOpen && (!allowInput || !isInput);\n var allowInlineKeydown = self.config.inline && isInput && !allowInput;\n\n if (e.keyCode === 13 && isInput) {\n if (allowInput) {\n self.setDate(self._input.value, true, e.target === self.altInput ? self.config.altFormat : self.config.dateFormat);\n return e.target.blur();\n } else self.open();\n } else if (isCalendarElem(e.target) || allowKeydown || allowInlineKeydown) {\n var isTimeObj = !!self.timeContainer && self.timeContainer.contains(e.target);\n\n switch (e.keyCode) {\n case 13:\n if (isTimeObj) updateTime();else selectDate(e);\n break;\n\n case 27:\n e.preventDefault();\n focusAndClose();\n break;\n\n case 8:\n case 46:\n if (isInput && !self.config.allowInput) {\n e.preventDefault();\n self.clear();\n }\n\n break;\n\n case 37:\n case 39:\n if (!isTimeObj) {\n e.preventDefault();\n\n if (self.daysContainer !== undefined && (allowInput === false || isInView(document.activeElement))) {\n var _delta = e.keyCode === 39 ? 1 : -1;\n\n if (!e.ctrlKey) focusOnDay(undefined, _delta);else {\n changeMonth(_delta);\n focusOnDay(getFirstAvailableDay(1), 0);\n }\n }\n } else if (self.hourElement) self.hourElement.focus();\n\n break;\n\n case 38:\n case 40:\n e.preventDefault();\n var delta = e.keyCode === 40 ? 1 : -1;\n\n if (self.daysContainer) {\n if (e.ctrlKey) {\n changeYear(self.currentYear - delta);\n focusOnDay(getFirstAvailableDay(1), 0);\n } else if (!isTimeObj) focusOnDay(undefined, delta * 7);\n } else if (self.config.enableTime) {\n if (!isTimeObj && self.hourElement) self.hourElement.focus();\n updateTime(e);\n\n self._debouncedChange();\n }\n\n break;\n\n case 9:\n if (!isTimeObj) break;\n var elems = [self.hourElement, self.minuteElement, self.secondElement, self.amPM].filter(function (x) {\n return x;\n });\n var i = elems.indexOf(e.target);\n\n if (i !== -1) {\n var target = elems[i + (e.shiftKey ? -1 : 1)];\n\n if (target !== undefined) {\n e.preventDefault();\n target.focus();\n }\n }\n\n break;\n\n default:\n break;\n }\n }\n\n if (self.amPM !== undefined && e.target === self.amPM) {\n switch (e.key) {\n case self.l10n.amPM[0].charAt(0):\n case self.l10n.amPM[0].charAt(0).toLowerCase():\n self.amPM.textContent = self.l10n.amPM[0];\n setHoursFromInputs();\n updateValue();\n break;\n\n case self.l10n.amPM[1].charAt(0):\n case self.l10n.amPM[1].charAt(0).toLowerCase():\n self.amPM.textContent = self.l10n.amPM[1];\n setHoursFromInputs();\n updateValue();\n break;\n }\n }\n\n triggerEvent(\"onKeyDown\", e);\n }\n\n function onMouseOver(elem) {\n if (self.selectedDates.length !== 1 || !elem.classList.contains(\"flatpickr-day\") || elem.classList.contains(\"disabled\")) return;\n var hoverDate = elem.dateObj.getTime(),\n initialDate = self.parseDate(self.selectedDates[0], undefined, true).getTime(),\n rangeStartDate = Math.min(hoverDate, self.selectedDates[0].getTime()),\n rangeEndDate = Math.max(hoverDate, self.selectedDates[0].getTime());\n var containsDisabled = false;\n var minRange = 0,\n maxRange = 0;\n\n for (var t = rangeStartDate; t < rangeEndDate; t += duration.DAY) {\n if (!isEnabled(new Date(t), true)) {\n containsDisabled = containsDisabled || t > rangeStartDate && t < rangeEndDate;\n if (t < initialDate && (!minRange || t > minRange)) minRange = t;else if (t > initialDate && (!maxRange || t < maxRange)) maxRange = t;\n }\n }\n\n for (var m = 0; m < self.config.showMonths; m++) {\n var month = self.daysContainer.children[m];\n var prevMonth = self.daysContainer.children[m - 1];\n\n var _loop = function _loop(i, l) {\n var dayElem = month.children[i],\n date = dayElem.dateObj;\n var timestamp = date.getTime();\n var outOfRange = minRange > 0 && timestamp < minRange || maxRange > 0 && timestamp > maxRange;\n\n if (outOfRange) {\n dayElem.classList.add(\"notAllowed\");\n [\"inRange\", \"startRange\", \"endRange\"].forEach(function (c) {\n dayElem.classList.remove(c);\n });\n return \"continue\";\n } else if (containsDisabled && !outOfRange) return \"continue\";\n\n [\"startRange\", \"inRange\", \"endRange\", \"notAllowed\"].forEach(function (c) {\n dayElem.classList.remove(c);\n });\n elem.classList.add(hoverDate < self.selectedDates[0].getTime() ? \"startRange\" : \"endRange\");\n\n if (month.contains(elem) || !(m > 0 && prevMonth && prevMonth.lastChild.dateObj.getTime() >= timestamp)) {\n if (initialDate < hoverDate && timestamp === initialDate) dayElem.classList.add(\"startRange\");else if (initialDate > hoverDate && timestamp === initialDate) dayElem.classList.add(\"endRange\");\n if (timestamp >= minRange && (maxRange === 0 || timestamp <= maxRange) && isBetween(timestamp, initialDate, hoverDate)) dayElem.classList.add(\"inRange\");\n }\n };\n\n for (var i = 0, l = month.children.length; i < l; i++) {\n var _ret = _loop(i, l);\n\n if (_ret === \"continue\") continue;\n }\n }\n }\n\n function onResize() {\n if (self.isOpen && !self.config.static && !self.config.inline) positionCalendar();\n }\n\n function open(e, positionElement) {\n if (positionElement === void 0) {\n positionElement = self._input;\n }\n\n if (self.isMobile === true) {\n if (e) {\n e.preventDefault();\n e.target && e.target.blur();\n }\n\n setTimeout(function () {\n self.mobileInput !== undefined && self.mobileInput.focus();\n }, 0);\n triggerEvent(\"onOpen\");\n return;\n }\n\n if (self._input.disabled || self.config.inline) return;\n var wasOpen = self.isOpen;\n self.isOpen = true;\n\n if (!wasOpen) {\n self.calendarContainer.classList.add(\"open\");\n\n self._input.classList.add(\"active\");\n\n triggerEvent(\"onOpen\");\n positionCalendar(positionElement);\n }\n\n if (self.config.enableTime === true && self.config.noCalendar === true) {\n if (self.selectedDates.length === 0) {\n self.setDate(self.config.minDate !== undefined ? new Date(self.config.minDate.getTime()) : new Date(), false);\n setDefaultHours();\n updateValue();\n }\n\n if (self.config.allowInput === false && (e === undefined || !self.timeContainer.contains(e.relatedTarget))) {\n setTimeout(function () {\n return self.hourElement.select();\n }, 50);\n }\n }\n }\n\n function minMaxDateSetter(type) {\n return function (date) {\n var dateObj = self.config[\"_\" + type + \"Date\"] = self.parseDate(date, self.config.dateFormat);\n var inverseDateObj = self.config[\"_\" + (type === \"min\" ? \"max\" : \"min\") + \"Date\"];\n\n if (dateObj !== undefined) {\n self[type === \"min\" ? \"minDateHasTime\" : \"maxDateHasTime\"] = dateObj.getHours() > 0 || dateObj.getMinutes() > 0 || dateObj.getSeconds() > 0;\n }\n\n if (self.selectedDates) {\n self.selectedDates = self.selectedDates.filter(function (d) {\n return isEnabled(d);\n });\n if (!self.selectedDates.length && type === \"min\") setHoursFromDate(dateObj);\n updateValue();\n }\n\n if (self.daysContainer) {\n redraw();\n if (dateObj !== undefined) self.currentYearElement[type] = dateObj.getFullYear().toString();else self.currentYearElement.removeAttribute(type);\n self.currentYearElement.disabled = !!inverseDateObj && dateObj !== undefined && inverseDateObj.getFullYear() === dateObj.getFullYear();\n }\n };\n }\n\n function parseConfig() {\n var boolOpts = [\"wrap\", \"weekNumbers\", \"allowInput\", \"clickOpens\", \"time_24hr\", \"enableTime\", \"noCalendar\", \"altInput\", \"shorthandCurrentMonth\", \"inline\", \"static\", \"enableSeconds\", \"disableMobile\"];\n var hooks = [\"onChange\", \"onClose\", \"onDayCreate\", \"onDestroy\", \"onKeyDown\", \"onMonthChange\", \"onOpen\", \"onParseConfig\", \"onReady\", \"onValueUpdate\", \"onYearChange\", \"onPreCalendarPosition\"];\n var userConfig = Object.assign({}, instanceConfig, JSON.parse(JSON.stringify(element.dataset || {})));\n var formats$$1 = {};\n self.config.parseDate = userConfig.parseDate;\n self.config.formatDate = userConfig.formatDate;\n Object.defineProperty(self.config, \"enable\", {\n get: function get() {\n return self.config._enable;\n },\n set: function set(dates) {\n self.config._enable = parseDateRules(dates);\n }\n });\n Object.defineProperty(self.config, \"disable\", {\n get: function get() {\n return self.config._disable;\n },\n set: function set(dates) {\n self.config._disable = parseDateRules(dates);\n }\n });\n var timeMode = userConfig.mode === \"time\";\n\n if (!userConfig.dateFormat && (userConfig.enableTime || timeMode)) {\n formats$$1.dateFormat = userConfig.noCalendar || timeMode ? \"H:i\" + (userConfig.enableSeconds ? \":S\" : \"\") : flatpickr.defaultConfig.dateFormat + \" H:i\" + (userConfig.enableSeconds ? \":S\" : \"\");\n }\n\n if (userConfig.altInput && (userConfig.enableTime || timeMode) && !userConfig.altFormat) {\n formats$$1.altFormat = userConfig.noCalendar || timeMode ? \"h:i\" + (userConfig.enableSeconds ? \":S K\" : \" K\") : flatpickr.defaultConfig.altFormat + (\" h:i\" + (userConfig.enableSeconds ? \":S\" : \"\") + \" K\");\n }\n\n Object.defineProperty(self.config, \"minDate\", {\n get: function get() {\n return self.config._minDate;\n },\n set: minMaxDateSetter(\"min\")\n });\n Object.defineProperty(self.config, \"maxDate\", {\n get: function get() {\n return self.config._maxDate;\n },\n set: minMaxDateSetter(\"max\")\n });\n\n var minMaxTimeSetter = function minMaxTimeSetter(type) {\n return function (val) {\n self.config[type === \"min\" ? \"_minTime\" : \"_maxTime\"] = self.parseDate(val, \"H:i\");\n };\n };\n\n Object.defineProperty(self.config, \"minTime\", {\n get: function get() {\n return self.config._minTime;\n },\n set: minMaxTimeSetter(\"min\")\n });\n Object.defineProperty(self.config, \"maxTime\", {\n get: function get() {\n return self.config._maxTime;\n },\n set: minMaxTimeSetter(\"max\")\n });\n\n if (userConfig.mode === \"time\") {\n self.config.noCalendar = true;\n self.config.enableTime = true;\n }\n\n Object.assign(self.config, formats$$1, userConfig);\n\n for (var i = 0; i < boolOpts.length; i++) {\n self.config[boolOpts[i]] = self.config[boolOpts[i]] === true || self.config[boolOpts[i]] === \"true\";\n }\n\n for (var _i = hooks.length; _i--;) {\n if (self.config[hooks[_i]] !== undefined) {\n self.config[hooks[_i]] = arrayify(self.config[hooks[_i]] || []).map(bindToInstance);\n }\n }\n\n self.isMobile = !self.config.disableMobile && !self.config.inline && self.config.mode === \"single\" && !self.config.disable.length && !self.config.enable.length && !self.config.weekNumbers && /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);\n\n for (var _i2 = 0; _i2 < self.config.plugins.length; _i2++) {\n var pluginConf = self.config.plugins[_i2](self) || {};\n\n for (var key in pluginConf) {\n if (~hooks.indexOf(key)) {\n self.config[key] = arrayify(pluginConf[key]).map(bindToInstance).concat(self.config[key]);\n } else if (typeof userConfig[key] === \"undefined\") self.config[key] = pluginConf[key];\n }\n }\n\n triggerEvent(\"onParseConfig\");\n }\n\n function setupLocale() {\n if (typeof self.config.locale !== \"object\" && typeof flatpickr.l10ns[self.config.locale] === \"undefined\") self.config.errorHandler(new Error(\"flatpickr: invalid locale \" + self.config.locale));\n self.l10n = Object.assign({}, flatpickr.l10ns.default, typeof self.config.locale === \"object\" ? self.config.locale : self.config.locale !== \"default\" ? flatpickr.l10ns[self.config.locale] : undefined);\n tokenRegex.K = \"(\" + self.l10n.amPM[0] + \"|\" + self.l10n.amPM[1] + \"|\" + self.l10n.amPM[0].toLowerCase() + \"|\" + self.l10n.amPM[1].toLowerCase() + \")\";\n self.formatDate = createDateFormatter(self);\n }\n\n function positionCalendar(customPositionElement) {\n if (self.calendarContainer === undefined) return;\n triggerEvent(\"onPreCalendarPosition\");\n var positionElement = customPositionElement || self._positionElement;\n var calendarHeight = Array.prototype.reduce.call(self.calendarContainer.children, function (acc, child) {\n return acc + child.offsetHeight;\n }, 0),\n calendarWidth = self.calendarContainer.offsetWidth,\n configPos = self.config.position.split(\" \"),\n configPosVertical = configPos[0],\n configPosHorizontal = configPos.length > 1 ? configPos[1] : null,\n inputBounds = positionElement.getBoundingClientRect(),\n distanceFromBottom = window.innerHeight - inputBounds.bottom,\n showOnTop = configPosVertical === \"above\" || configPosVertical !== \"below\" && distanceFromBottom < calendarHeight && inputBounds.top > calendarHeight;\n var top = window.pageYOffset + inputBounds.top + (!showOnTop ? positionElement.offsetHeight + 2 : -calendarHeight - 2);\n toggleClass(self.calendarContainer, \"arrowTop\", !showOnTop);\n toggleClass(self.calendarContainer, \"arrowBottom\", showOnTop);\n if (self.config.inline) return;\n var left = window.pageXOffset + inputBounds.left - (configPosHorizontal != null && configPosHorizontal === \"center\" ? (calendarWidth - inputBounds.width) / 2 : 0);\n var right = window.document.body.offsetWidth - inputBounds.right;\n var rightMost = left + calendarWidth > window.document.body.offsetWidth;\n toggleClass(self.calendarContainer, \"rightMost\", rightMost);\n if (self.config.static) return;\n self.calendarContainer.style.top = top + \"px\";\n\n if (!rightMost) {\n self.calendarContainer.style.left = left + \"px\";\n self.calendarContainer.style.right = \"auto\";\n } else {\n self.calendarContainer.style.left = \"auto\";\n self.calendarContainer.style.right = right + \"px\";\n }\n }\n\n function redraw() {\n if (self.config.noCalendar || self.isMobile) return;\n updateNavigationCurrentMonth();\n buildDays();\n }\n\n function focusAndClose() {\n self._input.focus();\n\n if (window.navigator.userAgent.indexOf(\"MSIE\") !== -1 || navigator.msMaxTouchPoints !== undefined) {\n setTimeout(self.close, 0);\n } else {\n self.close();\n }\n }\n\n function selectDate(e) {\n e.preventDefault();\n e.stopPropagation();\n\n var isSelectable = function isSelectable(day) {\n return day.classList && day.classList.contains(\"flatpickr-day\") && !day.classList.contains(\"disabled\") && !day.classList.contains(\"notAllowed\");\n };\n\n var t = findParent(e.target, isSelectable);\n if (t === undefined) return;\n var target = t;\n var selectedDate = self.latestSelectedDateObj = new Date(target.dateObj.getTime());\n var shouldChangeMonth = (selectedDate.getMonth() < self.currentMonth || selectedDate.getMonth() > self.currentMonth + self.config.showMonths - 1) && self.config.mode !== \"range\";\n self.selectedDateElem = target;\n if (self.config.mode === \"single\") self.selectedDates = [selectedDate];else if (self.config.mode === \"multiple\") {\n var selectedIndex = isDateSelected(selectedDate);\n if (selectedIndex) self.selectedDates.splice(parseInt(selectedIndex), 1);else self.selectedDates.push(selectedDate);\n } else if (self.config.mode === \"range\") {\n if (self.selectedDates.length === 2) self.clear(false);\n self.selectedDates.push(selectedDate);\n if (compareDates(selectedDate, self.selectedDates[0], true) !== 0) self.selectedDates.sort(function (a, b) {\n return a.getTime() - b.getTime();\n });\n }\n setHoursFromInputs();\n\n if (shouldChangeMonth) {\n var isNewYear = self.currentYear !== selectedDate.getFullYear();\n self.currentYear = selectedDate.getFullYear();\n self.currentMonth = selectedDate.getMonth();\n if (isNewYear) triggerEvent(\"onYearChange\");\n triggerEvent(\"onMonthChange\");\n }\n\n updateNavigationCurrentMonth();\n buildDays();\n setDefaultHours();\n updateValue();\n if (self.config.enableTime) setTimeout(function () {\n return self.showTimeInput = true;\n }, 50);\n\n if (self.config.mode === \"range\") {\n if (self.selectedDates.length === 1) {\n onMouseOver(target);\n } else updateNavigationCurrentMonth();\n }\n\n if (!shouldChangeMonth && self.config.mode !== \"range\" && self.config.showMonths === 1) focusOnDayElem(target);else self.selectedDateElem && self.selectedDateElem.focus();\n if (self.hourElement !== undefined) setTimeout(function () {\n return self.hourElement !== undefined && self.hourElement.select();\n }, 451);\n\n if (self.config.closeOnSelect) {\n var single = self.config.mode === \"single\" && !self.config.enableTime;\n var range = self.config.mode === \"range\" && self.selectedDates.length === 2 && !self.config.enableTime;\n\n if (single || range) {\n focusAndClose();\n }\n }\n\n triggerChange();\n }\n\n var CALLBACKS = {\n locale: [setupLocale, updateWeekdays],\n showMonths: [buildMonths, setCalendarWidth, buildWeekdays]\n };\n\n function set(option, value) {\n if (option !== null && typeof option === \"object\") Object.assign(self.config, option);else {\n self.config[option] = value;\n if (CALLBACKS[option] !== undefined) CALLBACKS[option].forEach(function (x) {\n return x();\n });\n }\n self.redraw();\n jumpToDate();\n }\n\n function setSelectedDate(inputDate, format) {\n var dates = [];\n if (inputDate instanceof Array) dates = inputDate.map(function (d) {\n return self.parseDate(d, format);\n });else if (inputDate instanceof Date || typeof inputDate === \"number\") dates = [self.parseDate(inputDate, format)];else if (typeof inputDate === \"string\") {\n switch (self.config.mode) {\n case \"single\":\n case \"time\":\n dates = [self.parseDate(inputDate, format)];\n break;\n\n case \"multiple\":\n dates = inputDate.split(self.config.conjunction).map(function (date) {\n return self.parseDate(date, format);\n });\n break;\n\n case \"range\":\n dates = inputDate.split(self.l10n.rangeSeparator).map(function (date) {\n return self.parseDate(date, format);\n });\n break;\n\n default:\n break;\n }\n } else self.config.errorHandler(new Error(\"Invalid date supplied: \" + JSON.stringify(inputDate)));\n self.selectedDates = dates.filter(function (d) {\n return d instanceof Date && isEnabled(d, false);\n });\n if (self.config.mode === \"range\") self.selectedDates.sort(function (a, b) {\n return a.getTime() - b.getTime();\n });\n }\n\n function setDate(date, triggerChange, format) {\n if (triggerChange === void 0) {\n triggerChange = false;\n }\n\n if (format === void 0) {\n format = self.config.dateFormat;\n }\n\n if (date !== 0 && !date || date instanceof Array && date.length === 0) return self.clear(triggerChange);\n setSelectedDate(date, format);\n self.showTimeInput = self.selectedDates.length > 0;\n self.latestSelectedDateObj = self.selectedDates[0];\n self.redraw();\n jumpToDate();\n setHoursFromDate();\n updateValue(triggerChange);\n if (triggerChange) triggerEvent(\"onChange\");\n }\n\n function parseDateRules(arr) {\n return arr.slice().map(function (rule) {\n if (typeof rule === \"string\" || typeof rule === \"number\" || rule instanceof Date) {\n return self.parseDate(rule, undefined, true);\n } else if (rule && typeof rule === \"object\" && rule.from && rule.to) return {\n from: self.parseDate(rule.from, undefined),\n to: self.parseDate(rule.to, undefined)\n };\n\n return rule;\n }).filter(function (x) {\n return x;\n });\n }\n\n function setupDates() {\n self.selectedDates = [];\n self.now = self.parseDate(self.config.now) || new Date();\n var preloadedDate = self.config.defaultDate || (self.input.placeholder.length > 0 && self.input.value === self.input.placeholder ? null : self.input.value);\n if (preloadedDate) setSelectedDate(preloadedDate, self.config.dateFormat);\n var initialDate = self.selectedDates.length > 0 ? self.selectedDates[0] : self.config.minDate && self.config.minDate.getTime() > self.now.getTime() ? self.config.minDate : self.config.maxDate && self.config.maxDate.getTime() < self.now.getTime() ? self.config.maxDate : self.now;\n self.currentYear = initialDate.getFullYear();\n self.currentMonth = initialDate.getMonth();\n if (self.selectedDates.length > 0) self.latestSelectedDateObj = self.selectedDates[0];\n if (self.config.minTime !== undefined) self.config.minTime = self.parseDate(self.config.minTime, \"H:i\");\n if (self.config.maxTime !== undefined) self.config.maxTime = self.parseDate(self.config.maxTime, \"H:i\");\n self.minDateHasTime = !!self.config.minDate && (self.config.minDate.getHours() > 0 || self.config.minDate.getMinutes() > 0 || self.config.minDate.getSeconds() > 0);\n self.maxDateHasTime = !!self.config.maxDate && (self.config.maxDate.getHours() > 0 || self.config.maxDate.getMinutes() > 0 || self.config.maxDate.getSeconds() > 0);\n Object.defineProperty(self, \"showTimeInput\", {\n get: function get() {\n return self._showTimeInput;\n },\n set: function set(bool) {\n self._showTimeInput = bool;\n if (self.calendarContainer) toggleClass(self.calendarContainer, \"showTimeInput\", bool);\n self.isOpen && positionCalendar();\n }\n });\n }\n\n function setupInputs() {\n self.input = self.config.wrap ? element.querySelector(\"[data-input]\") : element;\n\n if (!self.input) {\n self.config.errorHandler(new Error(\"Invalid input element specified\"));\n return;\n }\n\n self.input._type = self.input.type;\n self.input.type = \"text\";\n self.input.classList.add(\"flatpickr-input\");\n self._input = self.input;\n\n if (self.config.altInput) {\n self.altInput = createElement(self.input.nodeName, self.input.className + \" \" + self.config.altInputClass);\n self._input = self.altInput;\n self.altInput.placeholder = self.input.placeholder;\n self.altInput.disabled = self.input.disabled;\n self.altInput.required = self.input.required;\n self.altInput.tabIndex = self.input.tabIndex;\n self.altInput.type = \"text\";\n self.input.setAttribute(\"type\", \"hidden\");\n if (!self.config.static && self.input.parentNode) self.input.parentNode.insertBefore(self.altInput, self.input.nextSibling);\n }\n\n if (!self.config.allowInput) self._input.setAttribute(\"readonly\", \"readonly\");\n self._positionElement = self.config.positionElement || self._input;\n }\n\n function setupMobile() {\n var inputType = self.config.enableTime ? self.config.noCalendar ? \"time\" : \"datetime-local\" : \"date\";\n self.mobileInput = createElement(\"input\", self.input.className + \" flatpickr-mobile\");\n self.mobileInput.step = self.input.getAttribute(\"step\") || \"any\";\n self.mobileInput.tabIndex = 1;\n self.mobileInput.type = inputType;\n self.mobileInput.disabled = self.input.disabled;\n self.mobileInput.required = self.input.required;\n self.mobileInput.placeholder = self.input.placeholder;\n self.mobileFormatStr = inputType === \"datetime-local\" ? \"Y-m-d\\\\TH:i:S\" : inputType === \"date\" ? \"Y-m-d\" : \"H:i:S\";\n\n if (self.selectedDates.length > 0) {\n self.mobileInput.defaultValue = self.mobileInput.value = self.formatDate(self.selectedDates[0], self.mobileFormatStr);\n }\n\n if (self.config.minDate) self.mobileInput.min = self.formatDate(self.config.minDate, \"Y-m-d\");\n if (self.config.maxDate) self.mobileInput.max = self.formatDate(self.config.maxDate, \"Y-m-d\");\n self.input.type = \"hidden\";\n if (self.altInput !== undefined) self.altInput.type = \"hidden\";\n\n try {\n if (self.input.parentNode) self.input.parentNode.insertBefore(self.mobileInput, self.input.nextSibling);\n } catch (_a) {}\n\n bind(self.mobileInput, \"change\", function (e) {\n self.setDate(e.target.value, false, self.mobileFormatStr);\n triggerEvent(\"onChange\");\n triggerEvent(\"onClose\");\n });\n }\n\n function toggle(e) {\n if (self.isOpen === true) return self.close();\n self.open(e);\n }\n\n function triggerEvent(event, data) {\n var hooks = self.config[event];\n\n if (hooks !== undefined && hooks.length > 0) {\n for (var i = 0; hooks[i] && i < hooks.length; i++) {\n hooks[i](self.selectedDates, self.input.value, self, data);\n }\n }\n\n if (event === \"onChange\") {\n self.input.dispatchEvent(createEvent(\"change\"));\n self.input.dispatchEvent(createEvent(\"input\"));\n }\n }\n\n function createEvent(name) {\n var e = document.createEvent(\"Event\");\n e.initEvent(name, true, true);\n return e;\n }\n\n function isDateSelected(date) {\n for (var i = 0; i < self.selectedDates.length; i++) {\n if (compareDates(self.selectedDates[i], date) === 0) return \"\" + i;\n }\n\n return false;\n }\n\n function isDateInRange(date) {\n if (self.config.mode !== \"range\" || self.selectedDates.length < 2) return false;\n return compareDates(date, self.selectedDates[0]) >= 0 && compareDates(date, self.selectedDates[1]) <= 0;\n }\n\n function updateNavigationCurrentMonth() {\n if (self.config.noCalendar || self.isMobile || !self.monthNav) return;\n self.yearElements.forEach(function (yearElement, i) {\n var d = new Date(self.currentYear, self.currentMonth, 1);\n d.setMonth(self.currentMonth + i);\n self.monthElements[i].textContent = monthToStr(d.getMonth(), self.config.shorthandCurrentMonth, self.l10n) + \" \";\n yearElement.value = d.getFullYear().toString();\n });\n self._hidePrevMonthArrow = self.config.minDate !== undefined && (self.currentYear === self.config.minDate.getFullYear() ? self.currentMonth <= self.config.minDate.getMonth() : self.currentYear < self.config.minDate.getFullYear());\n self._hideNextMonthArrow = self.config.maxDate !== undefined && (self.currentYear === self.config.maxDate.getFullYear() ? self.currentMonth + 1 > self.config.maxDate.getMonth() : self.currentYear > self.config.maxDate.getFullYear());\n }\n\n function updateValue(triggerChange) {\n if (triggerChange === void 0) {\n triggerChange = true;\n }\n\n if (self.selectedDates.length === 0) return self.clear(triggerChange);\n\n if (self.mobileInput !== undefined && self.mobileFormatStr) {\n self.mobileInput.value = self.latestSelectedDateObj !== undefined ? self.formatDate(self.latestSelectedDateObj, self.mobileFormatStr) : \"\";\n }\n\n var joinChar = self.config.mode !== \"range\" ? self.config.conjunction : self.l10n.rangeSeparator;\n self.input.value = self.selectedDates.map(function (dObj) {\n return self.formatDate(dObj, self.config.dateFormat);\n }).join(joinChar);\n\n if (self.altInput !== undefined) {\n self.altInput.value = self.selectedDates.map(function (dObj) {\n return self.formatDate(dObj, self.config.altFormat);\n }).join(joinChar);\n }\n\n if (triggerChange !== false) triggerEvent(\"onValueUpdate\");\n }\n\n function onMonthNavClick(e) {\n e.preventDefault();\n var isPrevMonth = self.prevMonthNav.contains(e.target);\n var isNextMonth = self.nextMonthNav.contains(e.target);\n\n if (isPrevMonth || isNextMonth) {\n changeMonth(isPrevMonth ? -1 : 1);\n } else if (self.yearElements.indexOf(e.target) >= 0) {\n e.target.select();\n } else if (e.target.classList.contains(\"arrowUp\")) {\n self.changeYear(self.currentYear + 1);\n } else if (e.target.classList.contains(\"arrowDown\")) {\n self.changeYear(self.currentYear - 1);\n }\n }\n\n function timeWrapper(e) {\n e.preventDefault();\n var isKeyDown = e.type === \"keydown\",\n input = e.target;\n\n if (self.amPM !== undefined && e.target === self.amPM) {\n self.amPM.textContent = self.l10n.amPM[int(self.amPM.textContent === self.l10n.amPM[0])];\n }\n\n var min = parseFloat(input.getAttribute(\"data-min\")),\n max = parseFloat(input.getAttribute(\"data-max\")),\n step = parseFloat(input.getAttribute(\"data-step\")),\n curValue = parseInt(input.value, 10),\n delta = e.delta || (isKeyDown ? e.which === 38 ? 1 : -1 : 0);\n var newValue = curValue + step * delta;\n\n if (typeof input.value !== \"undefined\" && input.value.length === 2) {\n var isHourElem = input === self.hourElement,\n isMinuteElem = input === self.minuteElement;\n\n if (newValue < min) {\n newValue = max + newValue + int(!isHourElem) + (int(isHourElem) && int(!self.amPM));\n if (isMinuteElem) incrementNumInput(undefined, -1, self.hourElement);\n } else if (newValue > max) {\n newValue = input === self.hourElement ? newValue - max - int(!self.amPM) : min;\n if (isMinuteElem) incrementNumInput(undefined, 1, self.hourElement);\n }\n\n if (self.amPM && isHourElem && (step === 1 ? newValue + curValue === 23 : Math.abs(newValue - curValue) > step)) {\n self.amPM.textContent = self.l10n.amPM[int(self.amPM.textContent === self.l10n.amPM[0])];\n }\n\n input.value = pad(newValue);\n }\n }\n\n init();\n return self;\n }\n\n function _flatpickr(nodeList, config) {\n var nodes = Array.prototype.slice.call(nodeList);\n var instances = [];\n\n for (var i = 0; i < nodes.length; i++) {\n var node = nodes[i];\n\n try {\n if (node.getAttribute(\"data-fp-omit\") !== null) continue;\n\n if (node._flatpickr !== undefined) {\n node._flatpickr.destroy();\n\n node._flatpickr = undefined;\n }\n\n node._flatpickr = FlatpickrInstance(node, config || {});\n instances.push(node._flatpickr);\n } catch (e) {\n console.error(e);\n }\n }\n\n return instances.length === 1 ? instances[0] : instances;\n }\n\n if (typeof HTMLElement !== \"undefined\") {\n HTMLCollection.prototype.flatpickr = NodeList.prototype.flatpickr = function (config) {\n return _flatpickr(this, config);\n };\n\n HTMLElement.prototype.flatpickr = function (config) {\n return _flatpickr([this], config);\n };\n }\n\n var flatpickr = function flatpickr(selector, config) {\n if (selector instanceof NodeList) return _flatpickr(selector, config);else if (typeof selector === \"string\") return _flatpickr(window.document.querySelectorAll(selector), config);\n return _flatpickr([selector], config);\n };\n\n flatpickr.defaultConfig = defaults;\n flatpickr.l10ns = {\n en: Object.assign({}, english),\n default: Object.assign({}, english)\n };\n\n flatpickr.localize = function (l10n) {\n flatpickr.l10ns.default = Object.assign({}, flatpickr.l10ns.default, l10n);\n };\n\n flatpickr.setDefaults = function (config) {\n flatpickr.defaultConfig = Object.assign({}, flatpickr.defaultConfig, config);\n };\n\n flatpickr.parseDate = createDateParser({});\n flatpickr.formatDate = createDateFormatter({});\n flatpickr.compareDates = compareDates;\n\n if (typeof jQuery !== \"undefined\") {\n jQuery.fn.flatpickr = function (config) {\n return _flatpickr(this, config);\n };\n }\n\n Date.prototype.fp_incr = function (days) {\n return new Date(this.getFullYear(), this.getMonth(), this.getDate() + (typeof days === \"string\" ? parseInt(days, 10) : days));\n };\n\n if (typeof window !== \"undefined\") {\n window.flatpickr = flatpickr;\n }\n\n return flatpickr;\n\n})));\n\n\n/***/ }),\n/* 124 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"
\";\n\n/***/ }),\n/* 125 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _merge2 = __webpack_require__(33);\n\nvar _merge3 = _interopRequireDefault(_merge2);\n\n__webpack_require__(156);\n\n__webpack_require__(157);\n\n__webpack_require__(158);\n\n__webpack_require__(159);\n\n__webpack_require__(160);\n\n__webpack_require__(161);\n\n__webpack_require__(162);\n\n__webpack_require__(163);\n\n__webpack_require__(164);\n\n__webpack_require__(165);\n\n__webpack_require__(166);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _class = function () {\n function _class() {\n (0, _classCallCheck3.default)(this, _class);\n\n this.locale = \"en\";\n this.options = {\n altInputClass: \"oui-calendar__control_alt\",\n allowInput: false,\n dateFormat: \"Y-m-d\",\n disableMobile: true,\n maxDate: null,\n minDate: null,\n mode: \"single\",\n nextArrow: '',\n prevArrow: '',\n showMonths: 1\n };\n }\n\n (0, _createClass3.default)(_class, [{\n key: \"setLocale\",\n value: function setLocale(locale) {\n this.locale = locale;\n return this;\n }\n }, {\n key: \"setOptions\",\n value: function setOptions(options) {\n this.options = (0, _merge3.default)(this.options, options);\n return this;\n }\n }, {\n key: \"$get\",\n value: function $get() {\n return angular.copy({\n locale: this.locale,\n options: this.options\n });\n }\n }]);\n return _class;\n}();\n\nexports.default = _class;\n\n/***/ }),\n/* 126 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Stack = __webpack_require__(34),\n assignMergeValue = __webpack_require__(60),\n baseFor = __webpack_require__(134),\n baseMergeDeep = __webpack_require__(136),\n isObject = __webpack_require__(15),\n keysIn = __webpack_require__(72),\n safeGet = __webpack_require__(71);\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n if (isObject(srcValue)) {\n stack || (stack = new Stack);\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n}\n\nmodule.exports = baseMerge;\n\n\n/***/ }),\n/* 127 */\n/***/ (function(module, exports) {\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n\n\n/***/ }),\n/* 128 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar assocIndexOf = __webpack_require__(23);\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n\n\n/***/ }),\n/* 129 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar assocIndexOf = __webpack_require__(23);\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n\n\n/***/ }),\n/* 130 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar assocIndexOf = __webpack_require__(23);\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n\n\n/***/ }),\n/* 131 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar assocIndexOf = __webpack_require__(23);\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n\n\n/***/ }),\n/* 132 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar getNative = __webpack_require__(133);\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n\n\n/***/ }),\n/* 133 */\n/***/ (function(module, exports) {\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n\n\n/***/ }),\n/* 134 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar createBaseFor = __webpack_require__(135);\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n\n\n/***/ }),\n/* 135 */\n/***/ (function(module, exports) {\n\n/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n\n\n/***/ }),\n/* 136 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar assignMergeValue = __webpack_require__(60),\n cloneBuffer = __webpack_require__(137),\n cloneTypedArray = __webpack_require__(138),\n copyArray = __webpack_require__(141),\n initCloneObject = __webpack_require__(142),\n isArguments = __webpack_require__(65),\n isArray = __webpack_require__(11),\n isArrayLikeObject = __webpack_require__(145),\n isBuffer = __webpack_require__(69),\n isFunction = __webpack_require__(67),\n isObject = __webpack_require__(15),\n isPlainObject = __webpack_require__(146),\n isTypedArray = __webpack_require__(70),\n safeGet = __webpack_require__(71),\n toPlainObject = __webpack_require__(147);\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || (srcIndex && isFunction(objValue))) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\n\nmodule.exports = baseMergeDeep;\n\n\n/***/ }),\n/* 137 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(module) {var root = __webpack_require__(37);\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nmodule.exports = cloneBuffer;\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(61)(module)))\n\n/***/ }),\n/* 138 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar cloneArrayBuffer = __webpack_require__(139);\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nmodule.exports = cloneTypedArray;\n\n\n/***/ }),\n/* 139 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Uint8Array = __webpack_require__(140);\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nmodule.exports = cloneArrayBuffer;\n\n\n/***/ }),\n/* 140 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar root = __webpack_require__(37);\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n\n\n/***/ }),\n/* 141 */\n/***/ (function(module, exports) {\n\n/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = copyArray;\n\n\n/***/ }),\n/* 142 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar baseCreate = __webpack_require__(143),\n getPrototype = __webpack_require__(64),\n isPrototype = __webpack_require__(144);\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nmodule.exports = initCloneObject;\n\n\n/***/ }),\n/* 143 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(15);\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nmodule.exports = baseCreate;\n\n\n/***/ }),\n/* 144 */\n/***/ (function(module, exports) {\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n\n\n/***/ }),\n/* 145 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isArrayLike = __webpack_require__(66),\n isObjectLike = __webpack_require__(18);\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\nmodule.exports = isArrayLikeObject;\n\n\n/***/ }),\n/* 146 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar baseGetTag = __webpack_require__(24),\n getPrototype = __webpack_require__(64),\n isObjectLike = __webpack_require__(18);\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nmodule.exports = isPlainObject;\n\n\n/***/ }),\n/* 147 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar copyObject = __webpack_require__(148),\n keysIn = __webpack_require__(72);\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\n\nmodule.exports = toPlainObject;\n\n\n/***/ }),\n/* 148 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar assignValue = __webpack_require__(149),\n baseAssignValue = __webpack_require__(36);\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nmodule.exports = copyObject;\n\n\n/***/ }),\n/* 149 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar baseAssignValue = __webpack_require__(36),\n eq = __webpack_require__(35);\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n\n\n/***/ }),\n/* 150 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar baseRest = __webpack_require__(151),\n isIterateeCall = __webpack_require__(155);\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\nmodule.exports = createAssigner;\n\n\n/***/ }),\n/* 151 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar identity = __webpack_require__(73),\n overRest = __webpack_require__(152),\n setToString = __webpack_require__(154);\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nmodule.exports = baseRest;\n\n\n/***/ }),\n/* 152 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar apply = __webpack_require__(153);\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nmodule.exports = overRest;\n\n\n/***/ }),\n/* 153 */\n/***/ (function(module, exports) {\n\n/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nmodule.exports = apply;\n\n\n/***/ }),\n/* 154 */\n/***/ (function(module, exports) {\n\n/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n/***/ }),\n/* 155 */\n/***/ (function(module, exports) {\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n\n\n/***/ }),\n/* 156 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* flatpickr v4.5.0, @license MIT */\n(function (global, factory) {\n true ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (factory((global.cs = {})));\n}(this, (function (exports) { 'use strict';\n\n var fp = typeof window !== \"undefined\" && window.flatpickr !== undefined ? window.flatpickr : {\n l10ns: {}\n };\n var Czech = {\n weekdays: {\n shorthand: [\"Ne\", \"Po\", \"Út\", \"St\", \"Čt\", \"Pá\", \"So\"],\n longhand: [\"Neděle\", \"Pondělí\", \"Úterý\", \"Středa\", \"Čtvrtek\", \"Pátek\", \"Sobota\"]\n },\n months: {\n shorthand: [\"Led\", \"Ún\", \"Bře\", \"Dub\", \"Kvě\", \"Čer\", \"Čvc\", \"Srp\", \"Zář\", \"Říj\", \"Lis\", \"Pro\"],\n longhand: [\"Leden\", \"Únor\", \"Březen\", \"Duben\", \"Květen\", \"Červen\", \"Červenec\", \"Srpen\", \"Září\", \"Říjen\", \"Listopad\", \"Prosinec\"]\n },\n firstDayOfWeek: 1,\n ordinal: function ordinal() {\n return \".\";\n },\n rangeSeparator: \" do \",\n weekAbbreviation: \"Týd.\",\n scrollTitle: \"Rolujte pro změnu\",\n toggleTitle: \"Přepnout dopoledne/odpoledne\",\n amPM: [\"dop.\", \"odp.\"],\n yearAriaLabel: \"Rok\"\n };\n fp.l10ns.cs = Czech;\n var cs = fp.l10ns;\n\n exports.Czech = Czech;\n exports.default = cs;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n\n\n/***/ }),\n/* 157 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* flatpickr v4.5.0, @license MIT */\n(function (global, factory) {\n true ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (factory((global.de = {})));\n}(this, (function (exports) { 'use strict';\n\n var fp = typeof window !== \"undefined\" && window.flatpickr !== undefined ? window.flatpickr : {\n l10ns: {}\n };\n var German = {\n weekdays: {\n shorthand: [\"So\", \"Mo\", \"Di\", \"Mi\", \"Do\", \"Fr\", \"Sa\"],\n longhand: [\"Sonntag\", \"Montag\", \"Dienstag\", \"Mittwoch\", \"Donnerstag\", \"Freitag\", \"Samstag\"]\n },\n months: {\n shorthand: [\"Jan\", \"Feb\", \"Mär\", \"Apr\", \"Mai\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Okt\", \"Nov\", \"Dez\"],\n longhand: [\"Januar\", \"Februar\", \"März\", \"April\", \"Mai\", \"Juni\", \"Juli\", \"August\", \"September\", \"Oktober\", \"November\", \"Dezember\"]\n },\n firstDayOfWeek: 1,\n weekAbbreviation: \"KW\",\n rangeSeparator: \" bis \",\n scrollTitle: \"Zum Ändern scrollen\",\n toggleTitle: \"Zum Umschalten klicken\"\n };\n fp.l10ns.de = German;\n var de = fp.l10ns;\n\n exports.German = German;\n exports.default = de;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n\n\n/***/ }),\n/* 158 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* flatpickr v4.5.0, @license MIT */\n(function (global, factory) {\n true ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (factory((global.es = {})));\n}(this, (function (exports) { 'use strict';\n\n var fp = typeof window !== \"undefined\" && window.flatpickr !== undefined ? window.flatpickr : {\n l10ns: {}\n };\n var Spanish = {\n weekdays: {\n shorthand: [\"Dom\", \"Lun\", \"Mar\", \"Mié\", \"Jue\", \"Vie\", \"Sáb\"],\n longhand: [\"Domingo\", \"Lunes\", \"Martes\", \"Miércoles\", \"Jueves\", \"Viernes\", \"Sábado\"]\n },\n months: {\n shorthand: [\"Ene\", \"Feb\", \"Mar\", \"Abr\", \"May\", \"Jun\", \"Jul\", \"Ago\", \"Sep\", \"Oct\", \"Nov\", \"Dic\"],\n longhand: [\"Enero\", \"Febrero\", \"Marzo\", \"Abril\", \"Mayo\", \"Junio\", \"Julio\", \"Agosto\", \"Septiembre\", \"Octubre\", \"Noviembre\", \"Diciembre\"]\n },\n ordinal: function ordinal() {\n return \"º\";\n },\n firstDayOfWeek: 1,\n rangeSeparator: \" a \"\n };\n fp.l10ns.es = Spanish;\n var es = fp.l10ns;\n\n exports.Spanish = Spanish;\n exports.default = es;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n\n\n/***/ }),\n/* 159 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* flatpickr v4.5.0, @license MIT */\n(function (global, factory) {\n true ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (factory((global.fi = {})));\n}(this, (function (exports) { 'use strict';\n\n var fp = typeof window !== \"undefined\" && window.flatpickr !== undefined ? window.flatpickr : {\n l10ns: {}\n };\n var Finnish = {\n firstDayOfWeek: 1,\n weekdays: {\n shorthand: [\"Su\", \"Ma\", \"Ti\", \"Ke\", \"To\", \"Pe\", \"La\"],\n longhand: [\"Sunnuntai\", \"Maanantai\", \"Tiistai\", \"Keskiviikko\", \"Torstai\", \"Perjantai\", \"Lauantai\"]\n },\n months: {\n shorthand: [\"Tammi\", \"Helmi\", \"Maalis\", \"Huhti\", \"Touko\", \"Kesä\", \"Heinä\", \"Elo\", \"Syys\", \"Loka\", \"Marras\", \"Joulu\"],\n longhand: [\"Tammikuu\", \"Helmikuu\", \"Maaliskuu\", \"Huhtikuu\", \"Toukokuu\", \"Kesäkuu\", \"Heinäkuu\", \"Elokuu\", \"Syyskuu\", \"Lokakuu\", \"Marraskuu\", \"Joulukuu\"]\n },\n ordinal: function ordinal() {\n return \".\";\n }\n };\n fp.l10ns.fi = Finnish;\n var fi = fp.l10ns;\n\n exports.Finnish = Finnish;\n exports.default = fi;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n\n\n/***/ }),\n/* 160 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* flatpickr v4.5.0, @license MIT */\n(function (global, factory) {\n true ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (factory((global.fr = {})));\n}(this, (function (exports) { 'use strict';\n\n var fp = typeof window !== \"undefined\" && window.flatpickr !== undefined ? window.flatpickr : {\n l10ns: {}\n };\n var French = {\n firstDayOfWeek: 1,\n weekdays: {\n shorthand: [\"dim\", \"lun\", \"mar\", \"mer\", \"jeu\", \"ven\", \"sam\"],\n longhand: [\"dimanche\", \"lundi\", \"mardi\", \"mercredi\", \"jeudi\", \"vendredi\", \"samedi\"]\n },\n months: {\n shorthand: [\"janv\", \"févr\", \"mars\", \"avr\", \"mai\", \"juin\", \"juil\", \"août\", \"sept\", \"oct\", \"nov\", \"déc\"],\n longhand: [\"janvier\", \"février\", \"mars\", \"avril\", \"mai\", \"juin\", \"juillet\", \"août\", \"septembre\", \"octobre\", \"novembre\", \"décembre\"]\n },\n ordinal: function ordinal(nth) {\n if (nth > 1) return \"\";\n return \"er\";\n },\n rangeSeparator: \" au \",\n weekAbbreviation: \"Sem\",\n scrollTitle: \"Défiler pour augmenter la valeur\",\n toggleTitle: \"Cliquer pour basculer\"\n };\n fp.l10ns.fr = French;\n var fr = fp.l10ns;\n\n exports.French = French;\n exports.default = fr;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n\n\n/***/ }),\n/* 161 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* flatpickr v4.5.0, @license MIT */\n(function (global, factory) {\n true ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (factory((global.it = {})));\n}(this, (function (exports) { 'use strict';\n\n var fp = typeof window !== \"undefined\" && window.flatpickr !== undefined ? window.flatpickr : {\n l10ns: {}\n };\n var Italian = {\n weekdays: {\n shorthand: [\"Dom\", \"Lun\", \"Mar\", \"Mer\", \"Gio\", \"Ven\", \"Sab\"],\n longhand: [\"Domenica\", \"Lunedì\", \"Martedì\", \"Mercoledì\", \"Giovedì\", \"Venerdì\", \"Sabato\"]\n },\n months: {\n shorthand: [\"Gen\", \"Feb\", \"Mar\", \"Apr\", \"Mag\", \"Giu\", \"Lug\", \"Ago\", \"Set\", \"Ott\", \"Nov\", \"Dic\"],\n longhand: [\"Gennaio\", \"Febbraio\", \"Marzo\", \"Aprile\", \"Maggio\", \"Giugno\", \"Luglio\", \"Agosto\", \"Settembre\", \"Ottobre\", \"Novembre\", \"Dicembre\"]\n },\n firstDayOfWeek: 1,\n ordinal: function ordinal() {\n return \"°\";\n },\n rangeSeparator: \" al \",\n weekAbbreviation: \"Se\",\n scrollTitle: \"Scrolla per aumentare\",\n toggleTitle: \"Clicca per cambiare\"\n };\n fp.l10ns.it = Italian;\n var it = fp.l10ns;\n\n exports.Italian = Italian;\n exports.default = it;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n\n\n/***/ }),\n/* 162 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* flatpickr v4.5.0, @license MIT */\n(function (global, factory) {\n true ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (factory((global.lt = {})));\n}(this, (function (exports) { 'use strict';\n\n var fp = typeof window !== \"undefined\" && window.flatpickr !== undefined ? window.flatpickr : {\n l10ns: {}\n };\n var Lithuanian = {\n weekdays: {\n shorthand: [\"S\", \"Pr\", \"A\", \"T\", \"K\", \"Pn\", \"Š\"],\n longhand: [\"Sekmadienis\", \"Pirmadienis\", \"Antradienis\", \"Trečiadienis\", \"Ketvirtadienis\", \"Penktadienis\", \"Šeštadienis\"]\n },\n months: {\n shorthand: [\"Sau\", \"Vas\", \"Kov\", \"Bal\", \"Geg\", \"Bir\", \"Lie\", \"Rgp\", \"Rgs\", \"Spl\", \"Lap\", \"Grd\"],\n longhand: [\"Sausis\", \"Vasaris\", \"Kovas\", \"Balandis\", \"Gegužė\", \"Birželis\", \"Liepa\", \"Rugpjūtis\", \"Rugsėjis\", \"Spalis\", \"Lapkritis\", \"Gruodis\"]\n },\n firstDayOfWeek: 1,\n ordinal: function ordinal() {\n return \"-a\";\n },\n weekAbbreviation: \"Sav\",\n scrollTitle: \"Keisti laiką pelės rateliu\",\n toggleTitle: \"Perjungti laiko formatą\"\n };\n fp.l10ns.lt = Lithuanian;\n var lt = fp.l10ns;\n\n exports.Lithuanian = Lithuanian;\n exports.default = lt;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n\n\n/***/ }),\n/* 163 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* flatpickr v4.5.0, @license MIT */\n(function (global, factory) {\n true ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (factory((global.nl = {})));\n}(this, (function (exports) { 'use strict';\n\n var fp = typeof window !== \"undefined\" && window.flatpickr !== undefined ? window.flatpickr : {\n l10ns: {}\n };\n var Dutch = {\n weekdays: {\n shorthand: [\"zo\", \"ma\", \"di\", \"wo\", \"do\", \"vr\", \"za\"],\n longhand: [\"zondag\", \"maandag\", \"dinsdag\", \"woensdag\", \"donderdag\", \"vrijdag\", \"zaterdag\"]\n },\n months: {\n shorthand: [\"jan\", \"feb\", \"mrt\", \"apr\", \"mei\", \"jun\", \"jul\", \"aug\", \"sept\", \"okt\", \"nov\", \"dec\"],\n longhand: [\"januari\", \"februari\", \"maart\", \"april\", \"mei\", \"juni\", \"juli\", \"augustus\", \"september\", \"oktober\", \"november\", \"december\"]\n },\n firstDayOfWeek: 1,\n weekAbbreviation: \"wk\",\n rangeSeparator: \" tot \",\n scrollTitle: \"Scroll voor volgende / vorige\",\n toggleTitle: \"Klik om te wisselen\",\n ordinal: function ordinal(nth) {\n if (nth === 1 || nth === 8 || nth >= 20) return \"ste\";\n return \"de\";\n }\n };\n fp.l10ns.nl = Dutch;\n var nl = fp.l10ns;\n\n exports.Dutch = Dutch;\n exports.default = nl;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n\n\n/***/ }),\n/* 164 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* flatpickr v4.5.0, @license MIT */\n(function (global, factory) {\n true ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (factory((global.pl = {})));\n}(this, (function (exports) { 'use strict';\n\n var fp = typeof window !== \"undefined\" && window.flatpickr !== undefined ? window.flatpickr : {\n l10ns: {}\n };\n var Polish = {\n weekdays: {\n shorthand: [\"Nd\", \"Pn\", \"Wt\", \"Śr\", \"Cz\", \"Pt\", \"So\"],\n longhand: [\"Niedziela\", \"Poniedziałek\", \"Wtorek\", \"Środa\", \"Czwartek\", \"Piątek\", \"Sobota\"]\n },\n months: {\n shorthand: [\"Sty\", \"Lut\", \"Mar\", \"Kwi\", \"Maj\", \"Cze\", \"Lip\", \"Sie\", \"Wrz\", \"Paź\", \"Lis\", \"Gru\"],\n longhand: [\"Styczeń\", \"Luty\", \"Marzec\", \"Kwiecień\", \"Maj\", \"Czerwiec\", \"Lipiec\", \"Sierpień\", \"Wrzesień\", \"Październik\", \"Listopad\", \"Grudzień\"]\n },\n rangeSeparator: \" do \",\n weekAbbreviation: \"tydz.\",\n scrollTitle: \"Przwiń aby zwiększyć\",\n toggleTitle: \"Kliknij aby przełączyć\",\n firstDayOfWeek: 1,\n ordinal: function ordinal() {\n return \".\";\n }\n };\n fp.l10ns.pl = Polish;\n var pl = fp.l10ns;\n\n exports.Polish = Polish;\n exports.default = pl;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n\n\n/***/ }),\n/* 165 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* flatpickr v4.5.0, @license MIT */\n(function (global, factory) {\n true ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (factory((global.pt = {})));\n}(this, (function (exports) { 'use strict';\n\n var fp = typeof window !== \"undefined\" && window.flatpickr !== undefined ? window.flatpickr : {\n l10ns: {}\n };\n var Portuguese = {\n weekdays: {\n shorthand: [\"Dom\", \"Seg\", \"Ter\", \"Qua\", \"Qui\", \"Sex\", \"Sáb\"],\n longhand: [\"Domingo\", \"Segunda-feira\", \"Terça-feira\", \"Quarta-feira\", \"Quinta-feira\", \"Sexta-feira\", \"Sábado\"]\n },\n months: {\n shorthand: [\"Jan\", \"Fev\", \"Mar\", \"Abr\", \"Mai\", \"Jun\", \"Jul\", \"Ago\", \"Set\", \"Out\", \"Nov\", \"Dez\"],\n longhand: [\"Janeiro\", \"Fevereiro\", \"Março\", \"Abril\", \"Maio\", \"Junho\", \"Julho\", \"Agosto\", \"Setembro\", \"Outubro\", \"Novembro\", \"Dezembro\"]\n },\n rangeSeparator: \" até \"\n };\n fp.l10ns.pt = Portuguese;\n var pt = fp.l10ns;\n\n exports.Portuguese = Portuguese;\n exports.default = pt;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n\n\n/***/ }),\n/* 166 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* flatpickr v4.5.0, @license MIT */\n(function (global, factory) {\n true ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (factory((global.sk = {})));\n}(this, (function (exports) { 'use strict';\n\n var fp = typeof window !== \"undefined\" && window.flatpickr !== undefined ? window.flatpickr : {\n l10ns: {}\n };\n var Slovak = {\n weekdays: {\n shorthand: [\"Ned\", \"Pon\", \"Ut\", \"Str\", \"Štv\", \"Pia\", \"Sob\"],\n longhand: [\"Nedeľa\", \"Pondelok\", \"Utorok\", \"Streda\", \"Štvrtok\", \"Piatok\", \"Sobota\"]\n },\n months: {\n shorthand: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"Máj\", \"Jún\", \"Júl\", \"Aug\", \"Sep\", \"Okt\", \"Nov\", \"Dec\"],\n longhand: [\"Január\", \"Február\", \"Marec\", \"Apríl\", \"Máj\", \"Jún\", \"Júl\", \"August\", \"September\", \"Október\", \"November\", \"December\"]\n },\n firstDayOfWeek: 1,\n rangeSeparator: \" do \",\n ordinal: function ordinal() {\n return \".\";\n }\n };\n fp.l10ns.sk = Slovak;\n var sk = fp.l10ns;\n\n exports.Slovak = Slovak;\n exports.default = sk;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n\n\n/***/ }),\n/* 167 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _checkboxComponent = __webpack_require__(168);\n\nvar _checkboxComponent2 = _interopRequireDefault(_checkboxComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.checkbox\", []).component(\"ouiCheckbox\", _checkboxComponent2.default);\n\n/***/ }),\n/* 168 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _checkbox = __webpack_require__(169);\n\nvar _checkbox2 = _interopRequireDefault(_checkbox);\n\nvar _checkbox3 = __webpack_require__(170);\n\nvar _checkbox4 = _interopRequireDefault(_checkbox3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n template: _checkbox4.default,\n controller: _checkbox2.default,\n bindings: {\n text: \"@\",\n description: \"@?\",\n id: \"@?\",\n name: \"@?\",\n model: \"=?\",\n onChange: \"&?\",\n disabled: \" \";\n\n/***/ }),\n/* 171 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _collapsibleComponent = __webpack_require__(172);\n\nvar _collapsibleComponent2 = _interopRequireDefault(_collapsibleComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.collapsible\", []).component(\"ouiCollapsible\", _collapsibleComponent2.default);\n\n/***/ }),\n/* 172 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _collapsibleController = __webpack_require__(173);\n\nvar _collapsibleController2 = _interopRequireDefault(_collapsibleController);\n\nvar _collapsible = __webpack_require__(174);\n\nvar _collapsible2 = _interopRequireDefault(_collapsible);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n template: _collapsible2.default,\n controller: _collapsibleController2.default,\n bindings: {\n id: \"@\",\n heading: \"@\",\n ariaLabel: \"@?\",\n expanded: \" {{::$ctrl.heading}}
\";\n\n/***/ }),\n/* 175 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _radio = __webpack_require__(176);\n\nvar _radio2 = _interopRequireDefault(_radio);\n\nvar _radio3 = __webpack_require__(177);\n\nvar _radio4 = _interopRequireDefault(_radio3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n require: {\n radioGroup: \"?^ouiRadioGroup\",\n radioToggleGroup: \"?^ouiRadioToggleGroup\"\n },\n template: _radio4.default,\n controller: _radio2.default,\n bindings: {\n text: \"@\",\n value: \"<\",\n description: \"@?\",\n id: \"@?\",\n name: \"@?\",\n model: \"=?\",\n onChange: \"&?\",\n disabled: \" \";\n\n/***/ }),\n/* 178 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _messageComponent = __webpack_require__(179);\n\nvar _messageComponent2 = _interopRequireDefault(_messageComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.message\", []).component(\"ouiMessage\", _messageComponent2.default);\n\n/***/ }),\n/* 179 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _message = __webpack_require__(180);\n\nvar _message2 = _interopRequireDefault(_message);\n\nvar _message3 = __webpack_require__(181);\n\nvar _message4 = _interopRequireDefault(_message3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n template: _message4.default,\n controller: _message2.default,\n bindings: {\n type: \"@\",\n ariaCloseButtonLabel: \"@?\",\n dismissable: \"
\";\n\n/***/ }),\n/* 182 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _spinnerComponent = __webpack_require__(183);\n\nvar _spinnerComponent2 = _interopRequireDefault(_spinnerComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.spinner\", []).component(\"ouiSpinner\", _spinnerComponent2.default);\n\n/***/ }),\n/* 183 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _spinner = __webpack_require__(184);\n\nvar _spinner2 = _interopRequireDefault(_spinner);\n\nvar _spinner3 = __webpack_require__(185);\n\nvar _spinner4 = _interopRequireDefault(_spinner3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n template: _spinner4.default,\n controller: _spinner2.default,\n bindings: {\n size: \"@?\"\n }\n};\n\n/***/ }),\n/* 184 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _class = function () {\n _class.$inject = [\"$element\"];\n function _class($element) {\n \"ngInject\";\n\n (0, _classCallCheck3.default)(this, _class);\n this.$element = $element;\n }\n\n (0, _createClass3.default)(_class, [{\n key: \"$onInit\",\n value: function $onInit() {\n this.size = this.size || \"m\";\n }\n }, {\n key: \"$postLink\",\n value: function $postLink() {\n this.$element.addClass(\"oui-spinner oui-spinner_\" + this.size);\n }\n }]);\n return _class;\n}();\n\nexports.default = _class;\n\n/***/ }),\n/* 185 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"
\";\n\n/***/ }),\n/* 186 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _backButtonComponent = __webpack_require__(187);\n\nvar _backButtonComponent2 = _interopRequireDefault(_backButtonComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.back-button\", []).component(\"ouiBackButton\", _backButtonComponent2.default);\n\n/***/ }),\n/* 187 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _backButton = __webpack_require__(188);\n\nvar _backButton2 = _interopRequireDefault(_backButton);\n\nvar _backButton3 = __webpack_require__(189);\n\nvar _backButton4 = _interopRequireDefault(_backButton3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n template: _backButton4.default,\n controller: _backButton2.default,\n bindings: {\n id: \"@?\",\n name: \"@?\",\n ariaLabel: \"@?\",\n heading: \"@?\",\n title: \"@?\",\n onClick: \"&?\",\n href: \"@?\"\n }\n};\n\n/***/ }),\n/* 188 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _class = function () {\n _class.$inject = [\"$attrs\", \"$element\", \"$timeout\", \"$window\"];\n function _class($attrs, $element, $timeout, $window) {\n \"ngInject\";\n\n (0, _classCallCheck3.default)(this, _class);\n this.$attrs = $attrs;\n this.$element = $element;\n this.$timeout = $timeout;\n this.$window = $window;\n }\n\n (0, _createClass3.default)(_class, [{\n key: \"$onInit\",\n value: function $onInit() {\n if (!!this.$attrs.title && !this.$attrs.heading) {\n this.heading = this.title;\n }\n }\n }, {\n key: \"$postLink\",\n value: function $postLink() {\n var _this = this;\n\n this.$element.addClass(\"oui-back-button\");\n\n this.$timeout(function () {\n return _this.$element.removeAttr(\"aria-label\").removeAttr(\"id\").removeAttr(\"name\");\n });\n }\n }, {\n key: \"onBtnClick\",\n value: function onBtnClick() {\n if (angular.isFunction(this.onClick)) {\n this.onClick();\n } else if (!this.href) {\n this.$window.history.back();\n }\n }\n }]);\n return _class;\n}();\n\nexports.default = _class;\n\n/***/ }),\n/* 189 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"

\";\n\n/***/ }),\n/* 190 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _dropdownComponent = __webpack_require__(191);\n\nvar _dropdownComponent2 = _interopRequireDefault(_dropdownComponent);\n\nvar _dropdownContentDirective = __webpack_require__(193);\n\nvar _dropdownContentDirective2 = _interopRequireDefault(_dropdownContentDirective);\n\nvar _dropdownDividerComponent = __webpack_require__(26);\n\nvar _dropdownDividerComponent2 = _interopRequireDefault(_dropdownDividerComponent);\n\nvar _dropdownGroupComponent = __webpack_require__(74);\n\nvar _dropdownGroupComponent2 = _interopRequireDefault(_dropdownGroupComponent);\n\nvar _dropdownItemComponent = __webpack_require__(40);\n\nvar _dropdownItemComponent2 = _interopRequireDefault(_dropdownItemComponent);\n\nvar _dropdownTriggerDirective = __webpack_require__(198);\n\nvar _dropdownTriggerDirective2 = _interopRequireDefault(_dropdownTriggerDirective);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = angular.module(\"oui.dropdown\", []).component(\"ouiDropdown\", _dropdownComponent2.default).directive(\"ouiDropdownContent\", _dropdownContentDirective2.default).component(\"ouiDropdownDivider\", _dropdownDividerComponent2.default).component(\"ouiDropdownGroup\", _dropdownGroupComponent2.default).component(\"ouiDropdownItem\", _dropdownItemComponent2.default).directive(\"ouiDropdownTrigger\", _dropdownTriggerDirective2.default).name;\n\n/***/ }),\n/* 191 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _dropdown = __webpack_require__(192);\n\nvar _dropdown2 = _interopRequireDefault(_dropdown);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n controller: _dropdown2.default,\n bindings: {\n align: \"@?\",\n arrow: \"= 0) {\n placement += \"-\" + this.align;\n }\n\n if (this.arrowElement && placement === \"bottom\") {\n this.arrowElement.setAttribute(\"x-arrow\", \"\");\n }\n\n this.popperElement.style.minWidth = this.getTriggerWidth() + \"px\";\n\n this.popper = new _popper2.default(this.triggerElement, this.popperElement, {\n placement: placement,\n modifiers: {\n preventOverflow: {\n boundariesElement: this.$document[0].body\n }\n }\n });\n }\n }, {\n key: \"updatePopper\",\n value: function updatePopper() {\n if (!this.popper) {\n this.createPopper();\n }\n\n this.popper.scheduleUpdate();\n }\n }, {\n key: \"destroyPopper\",\n value: function destroyPopper() {\n if (!this.popper) {\n return;\n }\n\n this.popper.destroy();\n this.popper = null;\n }\n }, {\n key: \"getTriggerWidth\",\n value: function getTriggerWidth() {\n var MINWIDTH = 140;\n return Math.max(this.triggerElement.offsetWidth, MINWIDTH);\n }\n }]);\n return _class;\n}();\n\nexports.default = _class;\n\n/***/ }),\n/* 193 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar dropdownContentClass = \"oui-dropdown-menu\";\nvar arrowDropdownContentModifierClass = \"oui-dropdown-menu_arrow\";\nvar arrowDropdownContentClass = \"oui-dropdown-menu__arrow\";\n\nexports.default = function () {\n \"ngInject\";\n\n return {\n restrict: \"AE\",\n require: \"^ouiDropdown\",\n scope: {},\n link: function link(scope, element, attrs, ctrl) {\n element.addClass(dropdownContentClass).attr(\"aria-labelledby\", ctrl.id).attr(\"role\", \"menu\");\n\n if (ctrl.arrow) {\n element.addClass(arrowDropdownContentModifierClass);\n element.prepend(\"
\");\n }\n\n ctrl.setDropdownMenu(element[0], element[0].querySelector(\".\" + arrowDropdownContentClass));\n }\n };\n};\n\n/***/ }),\n/* 194 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"
\";\n\n/***/ }),\n/* 195 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _stringify = __webpack_require__(41);\n\nvar _stringify2 = _interopRequireDefault(_stringify);\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _componentUtils = __webpack_require__(2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _class = function () {\n _class.$inject = [\"$attrs\", \"$element\", \"$timeout\"];\n function _class($attrs, $element, $timeout) {\n \"ngInject\";\n\n (0, _classCallCheck3.default)(this, _class);\n this.$attrs = $attrs;\n this.$element = $element;\n this.$timeout = $timeout;\n }\n\n (0, _createClass3.default)(_class, [{\n key: \"$onInit\",\n value: function $onInit() {\n (0, _componentUtils.addBooleanParameter)(this, \"external\");\n (0, _componentUtils.addBooleanParameter)(this, \"disabled\");\n (0, _componentUtils.addBooleanParameter)(this, \"sticky\");\n\n if (this.external) {\n this.linkTarget = \"_blank\";\n this.linkRel = \"noopener\";\n }\n }\n }, {\n key: \"$postLink\",\n value: function $postLink() {\n var _this = this;\n\n this.$timeout(function () {\n _this.$element.addClass(\"oui-dropdown-menu__item\").removeAttr(\"aria-label\");\n\n if (_this.sticky) {\n _this.$element.addClass(\"oui-dropdown-menu__item_sticky\");\n }\n });\n }\n }, {\n key: \"getFullSref\",\n value: function getFullSref() {\n return this.state + \"(\" + (0, _stringify2.default)(this.stateParams) + \")\";\n }\n }]);\n return _class;\n}();\n\nexports.default = _class;\n\n/***/ }),\n/* 196 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar core = __webpack_require__(3);\nvar $JSON = core.JSON || (core.JSON = { stringify: JSON.stringify });\nmodule.exports = function stringify(it) { // eslint-disable-line no-unused-vars\n return $JSON.stringify.apply($JSON, arguments);\n};\n\n\n/***/ }),\n/* 197 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 198 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _dropdownTrigger = __webpack_require__(199);\n\nvar _dropdownTrigger2 = _interopRequireDefault(_dropdownTrigger);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n return {\n restrict: \"AE\",\n require: {\n dropdown: \"^ouiDropdown\"\n },\n controller: _dropdownTrigger2.default,\n controllerAs: \"$dropdownTriggerCtrl\",\n bindToController: {\n text: \"@\",\n ariaLabel: \"@?\",\n disabled: \" \";\n\n/***/ }),\n/* 201 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _actionMenuComponent = __webpack_require__(202);\n\nvar _actionMenuComponent2 = _interopRequireDefault(_actionMenuComponent);\n\nvar _dropdownDivider = __webpack_require__(26);\n\nvar _dropdownDivider2 = _interopRequireDefault(_dropdownDivider);\n\nvar _dropdownItem = __webpack_require__(40);\n\nvar _dropdownItem2 = _interopRequireDefault(_dropdownItem);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.action-menu\", []).component(\"ouiActionMenu\", _actionMenuComponent2.default).component(\"ouiActionMenuDivider\", _dropdownDivider2.default).component(\"ouiActionMenuItem\", _dropdownItem2.default);\n\n/***/ }),\n/* 202 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _actionMenuController = __webpack_require__(203);\n\nvar _actionMenuController2 = _interopRequireDefault(_actionMenuController);\n\nvar _actionMenu = __webpack_require__(204);\n\nvar _actionMenu2 = _interopRequireDefault(_actionMenu);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n template: _actionMenu2.default,\n controller: _actionMenuController2.default,\n bindings: {\n text: \"@\",\n align: \"@?\",\n ariaLabel: \"@?\",\n compact: \" \";\n\n/***/ }),\n/* 205 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _tooltip = __webpack_require__(206);\n\nvar _tooltip2 = _interopRequireDefault(_tooltip);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.tooltip\", []).directive(\"ouiTooltip\", _tooltip2.default);\n\n/***/ }),\n/* 206 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _tooltip = __webpack_require__(207);\n\nvar _tooltip2 = _interopRequireDefault(_tooltip);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n return {\n restrict: \"A\",\n bindToController: {\n text: \"@ouiTooltip\",\n placement: \"@?ouiTooltipPlacement\" },\n controller: _tooltip2.default,\n controllerAs: \"$tooltipCtrl\"\n };\n};\n\n/***/ }),\n/* 207 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _popper = __webpack_require__(25);\n\nvar _popper2 = _interopRequireDefault(_popper);\n\nvar _tooltip = __webpack_require__(208);\n\nvar _tooltip2 = _interopRequireDefault(_tooltip);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _class = function () {\n _class.$inject = [\"$compile\", \"$element\", \"$scope\", \"$timeout\"];\n function _class($compile, $element, $scope, $timeout) {\n \"ngInject\";\n\n (0, _classCallCheck3.default)(this, _class);\n this.$compile = $compile;\n this.$element = $element;\n this.$scope = $scope;\n this.$timeout = $timeout;\n }\n\n (0, _createClass3.default)(_class, [{\n key: \"$onInit\",\n value: function $onInit() {\n if (angular.isUndefined(this.placement)) {\n this.placement = \"top\";\n }\n }\n }, {\n key: \"$postLink\",\n value: function $postLink() {\n var _this = this;\n\n this.$timeout(function () {\n if (!_this.$element.attr(\"aria-label\")) {\n _this.$element.attr(\"aria-label\", _this.text);\n }\n\n var tooltipScope = angular.extend(_this.$scope.$new(true), { $tooltipCtrl: _this });\n var tooltipTemplate = _this.$compile(_tooltip2.default)(tooltipScope);\n\n _this.$element.addClass(\"oui-tooltip__trigger\").one(\"focus mouseenter\", function () {\n return _this.createPopper();\n }).after(tooltipTemplate);\n });\n }\n }, {\n key: \"createPopper\",\n value: function createPopper() {\n var trigger = this.$element[0];\n var tooltip = this.$element.next()[0];\n\n this.popper = new _popper2.default(trigger, tooltip, {\n placement: this.placement\n });\n }\n }]);\n return _class;\n}();\n\nexports.default = _class;\n\n/***/ }),\n/* 208 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 209 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _numericComponent = __webpack_require__(210);\n\nvar _numericComponent2 = _interopRequireDefault(_numericComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.numeric\", []).component(\"ouiNumeric\", _numericComponent2.default);\n\n/***/ }),\n/* 210 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _numeric = __webpack_require__(211);\n\nvar _numeric2 = _interopRequireDefault(_numeric);\n\nvar _numeric3 = __webpack_require__(213);\n\nvar _numeric4 = _interopRequireDefault(_numeric3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n template: _numeric4.default,\n controller: _numeric2.default,\n bindings: {\n id: \"@?\",\n name: \"@?\",\n model: \"=\",\n min: \" MAX_VALUE) {\n this.$log.warn(\"Invalid attribute max, value should be lower than '\" + MAX_VALUE + \"'\");\n }\n\n if (angular.isDefined(this.$attrs.disabled) && angular.isUndefined(this.disabled)) {\n this.disabled = true;\n }\n\n this.min = (0, _clamp3.default)(this.min, MIN_VALUE, MAX_VALUE);\n this.max = (0, _clamp3.default)(this.max, this.min, MAX_VALUE);\n\n this.previousValue = this.model;\n }\n }, {\n key: \"setModelValue\",\n value: function setModelValue(value) {\n this.model = value;\n\n if (this.previousValue !== this.model && angular.isFunction(this.onChange)) {\n this.onChange({\n modelValue: this.model\n });\n }\n\n this.previousValue = this.model;\n }\n }, {\n key: \"increment\",\n value: function increment() {\n if (angular.isNumber(this.model)) {\n this.setModelValue(this.model + 1);\n } else {\n this.setModelValue(this.min);\n }\n }\n }, {\n key: \"decrement\",\n value: function decrement() {\n if (angular.isNumber(this.model)) {\n this.setModelValue(this.model - 1);\n } else {\n this.setModelValue(this.min);\n }\n }\n }, {\n key: \"onInputChanged\",\n value: function onInputChanged() {\n if (this.model === null) {\n this.setModelValue(this.min);\n } else if (!angular.isNumber(this.model) || this.model < this.min || this.model > this.max) {\n this.model = this.previousValue;\n } else {\n this.setModelValue(this.model);\n }\n }\n }]);\n return _class;\n}();\n\nexports.default = _class;\n\n/***/ }),\n/* 212 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar baseClamp = __webpack_require__(75),\n toNumber = __webpack_require__(76);\n\n/**\n * Clamps `number` within the inclusive `lower` and `upper` bounds.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Number\n * @param {number} number The number to clamp.\n * @param {number} [lower] The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the clamped number.\n * @example\n *\n * _.clamp(-10, -5, 5);\n * // => -5\n *\n * _.clamp(10, -5, 5);\n * // => 5\n */\nfunction clamp(number, lower, upper) {\n if (upper === undefined) {\n upper = lower;\n lower = undefined;\n }\n if (upper !== undefined) {\n upper = toNumber(upper);\n upper = upper === upper ? upper : 0;\n }\n if (lower !== undefined) {\n lower = toNumber(lower);\n lower = lower === lower ? lower : 0;\n }\n return baseClamp(toNumber(number), lower, upper);\n}\n\nmodule.exports = clamp;\n\n\n/***/ }),\n/* 213 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"
\";\n\n/***/ }),\n/* 214 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _pagination = __webpack_require__(215);\n\nvar _pagination2 = _interopRequireDefault(_pagination);\n\nvar _pagination3 = __webpack_require__(234);\n\nvar _pagination4 = _interopRequireDefault(_pagination3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.pagination\", []).component(\"ouiPagination\", _pagination2.default).provider(\"ouiPaginationConfiguration\", _pagination4.default);\n\n/***/ }),\n/* 215 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _pagination = __webpack_require__(216);\n\nvar _pagination2 = _interopRequireDefault(_pagination);\n\nvar _pagination3 = __webpack_require__(233);\n\nvar _pagination4 = _interopRequireDefault(_pagination3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n template: _pagination4.default,\n bindings: {\n currentOffset: \"<\",\n pageSize: \" String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n\n\n/***/ }),\n/* 219 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar create = __webpack_require__(46);\nvar descriptor = __webpack_require__(17);\nvar setToStringTag = __webpack_require__(51);\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\n__webpack_require__(12)(IteratorPrototype, __webpack_require__(4)('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n/***/ }),\n/* 220 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(7);\nvar anObject = __webpack_require__(8);\nvar getKeys = __webpack_require__(20);\n\nmodule.exports = __webpack_require__(9) ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n\n\n/***/ }),\n/* 221 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = __webpack_require__(16);\nvar toLength = __webpack_require__(83);\nvar toAbsoluteIndex = __webpack_require__(222);\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\n\n/***/ }),\n/* 222 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(43);\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n/***/ }),\n/* 223 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar document = __webpack_require__(6).document;\nmodule.exports = document && document.documentElement;\n\n\n/***/ }),\n/* 224 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ctx = __webpack_require__(31);\nvar $export = __webpack_require__(5);\nvar toObject = __webpack_require__(21);\nvar call = __webpack_require__(225);\nvar isArrayIter = __webpack_require__(226);\nvar toLength = __webpack_require__(83);\nvar createProperty = __webpack_require__(227);\nvar getIterFn = __webpack_require__(85);\n\n$export($export.S + $export.F * !__webpack_require__(229)(function (iter) { Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iterFn = getIterFn(O);\n var length, result, step, iterator;\n if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for (result = new C(length); length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n\n\n/***/ }),\n/* 225 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// call something on iterator step with safe closing on error\nvar anObject = __webpack_require__(8);\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n\n\n/***/ }),\n/* 226 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// check on default Array iterator\nvar Iterators = __webpack_require__(19);\nvar ITERATOR = __webpack_require__(4)('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n\n/***/ }),\n/* 227 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $defineProperty = __webpack_require__(7);\nvar createDesc = __webpack_require__(17);\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n\n\n/***/ }),\n/* 228 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = __webpack_require__(47);\nvar TAG = __webpack_require__(4)('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n/***/ }),\n/* 229 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar ITERATOR = __webpack_require__(4)('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n\n\n/***/ }),\n/* 230 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(231);\nmodule.exports = __webpack_require__(3).Object.assign;\n\n\n/***/ }),\n/* 231 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.3.1 Object.assign(target, source)\nvar $export = __webpack_require__(5);\n\n$export($export.S + $export.F, 'Object', { assign: __webpack_require__(232) });\n\n\n/***/ }),\n/* 232 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = __webpack_require__(20);\nvar gOPS = __webpack_require__(52);\nvar pIE = __webpack_require__(28);\nvar toObject = __webpack_require__(21);\nvar IObject = __webpack_require__(82);\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || __webpack_require__(14)(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n } return T;\n} : $assign;\n\n\n/***/ }),\n/* 233 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"
$ctrl.pageSize\\\">
5\\\">
\";\n\n/***/ }),\n/* 234 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _class = function () {\n function _class() {\n (0, _classCallCheck3.default)(this, _class);\n\n this.pageSize = 25;\n this.pageSizeList = [25, 50, 100, 300];\n this.translations = {\n resultsPerPage: \"Results per page\",\n ofNResults: \"of {{totalItems}} results\",\n currentPageOfPageCount: \"Page {{currentPage}} of {{pageCount}}\",\n previousPage: \"Previous page\",\n nextPage: \"Next page\"\n };\n }\n\n (0, _createClass3.default)(_class, [{\n key: \"setPageSize\",\n value: function setPageSize(pageSize) {\n this.pageSize = pageSize;\n return this;\n }\n }, {\n key: \"setPageSizeList\",\n value: function setPageSizeList(pageSizeList) {\n this.pageSizeList = pageSizeList;\n return this;\n }\n }, {\n key: \"setTranslations\",\n value: function setTranslations(translations) {\n this.translations = translations;\n return this;\n }\n }, {\n key: \"$get\",\n value: function $get() {\n return {\n pageSize: this.pageSize,\n pageSizeList: this.pageSizeList,\n translations: this.translations\n };\n }\n }]);\n return _class;\n}();\n\nexports.default = _class;\n\n/***/ }),\n/* 235 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _cell = __webpack_require__(236);\n\nvar _cell2 = _interopRequireDefault(_cell);\n\nvar _datagrid = __webpack_require__(238);\n\nvar _datagrid2 = _interopRequireDefault(_datagrid);\n\nvar _datagridColumnBuilder = __webpack_require__(268);\n\nvar _datagridColumnBuilder2 = _interopRequireDefault(_datagridColumnBuilder);\n\nvar _extraTop = __webpack_require__(269);\n\nvar _extraTop2 = _interopRequireDefault(_extraTop);\n\nvar _datagridPaging = __webpack_require__(271);\n\nvar _datagridPaging2 = _interopRequireDefault(_datagridPaging);\n\nvar _datagridParameters = __webpack_require__(313);\n\nvar _datagridParameters2 = _interopRequireDefault(_datagridParameters);\n\nvar _datagrid3 = __webpack_require__(316);\n\nvar _datagrid4 = _interopRequireDefault(_datagrid3);\n\nvar _datagrid5 = __webpack_require__(317);\n\nvar _datagrid6 = _interopRequireDefault(_datagrid5);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.datagrid\", [\"oui.pagination\", \"oui.dropdown\", \"oui.criteria-container\", \"oui.search\", \"ngAria\"]).service(\"ouiDatagridColumnBuilder\", _datagridColumnBuilder2.default).directive(\"ouiDatagrid\", _datagrid2.default).component(\"ouiDatagridCell\", _cell2.default).component(\"ouiDatagridExtraTop\", _extraTop2.default).service(\"ouiDatagridPaging\", _datagridPaging2.default).provider(\"ouiDatagridConfiguration\", _datagrid4.default).service(\"ouiDatagridService\", _datagrid6.default).component(\"ouiDatagridParameters\", _datagridParameters2.default);\n\n/***/ }),\n/* 236 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _cell = __webpack_require__(237);\n\nvar _cell2 = _interopRequireDefault(_cell);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n controller: _cell2.default,\n require: {\n datagridCtrl: \"^^ouiDatagrid\"\n },\n bindings: {\n row: \"<\",\n column: \"<\"\n }\n};\n\n/***/ }),\n/* 237 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _class = function () {\n _class.$inject = [\"$element\"];\n function _class($element) {\n \"ngInject\";\n\n (0, _classCallCheck3.default)(this, _class);\n this.$element = $element;\n }\n\n (0, _createClass3.default)(_class, [{\n key: \"$postLink\",\n value: function $postLink() {\n var _this = this;\n\n this.cellScope = this.datagridCtrl.getParentScope().$new(false);\n\n this.$element.css(\"display\", \"block\");\n\n if (this.row && this.row.$promise) {\n this.row.$promise.finally(function () {\n _this._compileCell();\n });\n } else {\n this._compileCell();\n }\n }\n }, {\n key: \"$onChanges\",\n value: function $onChanges(changes) {\n if (changes.row && !changes.row.isFirstChange() || changes.column && !changes.column.isFirstChange()) {\n this._compileCell();\n }\n }\n }, {\n key: \"_compileCell\",\n value: function _compileCell() {\n var _this2 = this;\n\n this.cellScope.$row = this.row;\n this.cellScope.$column = this.column;\n this.cellScope.$value = this.row[this.column.name];\n\n if (this.column.compiledTemplate) {\n this.column.compiledTemplate(this.cellScope, function (clone) {\n _this2.$element.empty();\n _this2.$element.append(clone);\n });\n } else {\n this.$element[0].innerHTML = this.cellScope.$value;\n }\n }\n }]);\n return _class;\n}();\n\nexports.default = _class;\n\n/***/ }),\n/* 238 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _datagrid = __webpack_require__(239);\n\nvar _datagrid2 = _interopRequireDefault(_datagrid);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n \"ngInject\";\n\n return {\n controller: _datagrid2.default,\n controllerAs: \"$ctrl\",\n bindToController: true,\n scope: {\n id: \"@?\",\n columnsDescription: \" 0;\n this.filterableColumns = this.columns.filter(function (column) {\n return column.filterable;\n });\n }\n }, {\n key: \"$onChanges\",\n value: function $onChanges(changes) {\n if (changes.columnsDescription && !changes.columnsDescription.isFirstChange()) {\n this.buildColumns();\n }\n\n if (changes.columnsParameters && !changes.columnsParameters.isFirstChange()) {\n this.buildColumns();\n }\n }\n }, {\n key: \"$doCheck\",\n value: function $doCheck() {\n var _this3 = this;\n\n if (!angular.equals(this.previousRows, this.rows) && this.rows && this.paging && !this.paging.preventLoadingRows) {\n this.previousRows = angular.copy(this.rows);\n this.refreshData(function () {\n return _this3.paging.setRows(_this3.rows);\n });\n }\n }\n }, {\n key: \"$onDestroy\",\n value: function $onDestroy() {\n if (this.hasActionMenu) {\n angular.element(this.$window).off(\"resize\", this.checkScroll);\n angular.element(this.scrollablePanel).off(\"scroll\");\n }\n\n if (this.id) {\n this.ouiDatagridService.unregisterDatagrid(this.id);\n }\n }\n }, {\n key: \"buildColumns\",\n value: function buildColumns() {\n var _this4 = this;\n\n var builtColumns = this.columnsDescription && this.columnsDescription.length ? this.ouiDatagridColumnBuilder.buildFromJs(this.columnsDescription, this.getParentScope()) : this.ouiDatagridColumnBuilder.build(this.columnElements, this.getParentScope());\n\n if (this.actionColumnElements.length) {\n this.actionColumn = this.ouiDatagridColumnBuilder.buildActionColumn(this.actionColumnElements[0]);\n this.hasActionMenu = true;\n }\n\n if (this.extraTopElements.length) {\n this.extraTopCompiledTemplate = this.$compile(\"
\" + this.extraTopElements[0].innerHTML + \"
\");\n this.hasExtraTopContent = true;\n }\n\n this.availableColumns = angular.copy(builtColumns.columns).map(function (column) {\n var customColumn = (0, _find3.default)(_this4.columnsParameters, {\n name: column.name\n });\n if (customColumn) {\n column.hidden = customColumn.hidden;\n }\n return column;\n });\n\n this.columns = this.availableColumns.filter(function (column) {\n return !column.hidden;\n });\n\n this.columns.forEach(function (column) {\n if (column.title) {\n return;\n }\n\n column.disableWatcher = _this4.$scope.$watch(function () {\n return _this4.ouiDatagridColumnBuilder.buildTitle(column.rawTitle, _this4.getParentScope());\n }, function (newTitle) {\n if (newTitle) {\n column.title = newTitle;\n column.disableWatcher();\n }\n });\n });\n\n return builtColumns;\n }\n }, {\n key: \"onColumnsChange\",\n value: function onColumnsChange(columns) {\n this.availableColumns = angular.copy(columns);\n this.columns = columns.filter(function (column) {\n return !column.hidden;\n });\n\n var columnsParameters = this.availableColumns.filter(function (column) {\n return column.name;\n }).map(function (column) {\n var cleanColumn = {\n name: column.name\n };\n\n if (column.hidden) {\n cleanColumn.hidden = true;\n }\n\n return cleanColumn;\n });\n\n if (this.id) {\n this.onColumnsParametersChange({\n id: this.id,\n columns: columnsParameters\n });\n }\n }\n }, {\n key: \"getParentScope\",\n value: function getParentScope() {\n return this.$scope.$parent;\n }\n }, {\n key: \"hasProperty\",\n value: function hasProperty(obj, prop) {\n if (!obj) {\n return false;\n }\n\n return (0, _util.hasProperty)(obj, prop);\n }\n }, {\n key: \"onCriteriaChange\",\n value: function onCriteriaChange(criteria) {\n var _this5 = this;\n\n this.criteria = criteria;\n this.appliedCriteria = this.criteria.filter(function (criterion) {\n return !criterion.preview;\n });\n this.refreshData(function () {\n _this5.paging.setOffset(1);\n _this5.paging.setCriteria(criteria);\n }, false, false);\n }\n }, {\n key: \"onPaginationChange\",\n value: function onPaginationChange($event) {\n var _this6 = this;\n\n this.refreshData(function () {\n _this6.paging.setOffset($event.offset);\n _this6.paging.setPageSize($event.pageSize);\n }, true, true);\n }\n }, {\n key: \"scrollToTop\",\n value: function scrollToTop() {\n var _this7 = this;\n\n this.$timeout(function () {\n _this7.$element[0].scrollIntoView(true);\n });\n }\n }, {\n key: \"refreshData\",\n value: function refreshData(callback, skipSortAndFilter, requireScrollToTop, hideLoader, forceLoadRows) {\n var _this8 = this;\n\n if (this.loading) {\n return this.$q.when();\n }\n\n if (!hideLoader) {\n this.loading = true;\n this.displayedRows = DatagridController.createEmptyRows(this.paging.getCurrentPageSize());\n }\n\n this.refreshDatagridPromise = this.$q.when((callback || angular.noop)()).then(function () {\n return _this8.paging.loadData(skipSortAndFilter, forceLoadRows);\n }).then(function (result) {\n _this8.displayedRows = result.data;\n if (requireScrollToTop) {\n _this8.scrollToTop();\n }\n if (_this8.hasActionMenu) {\n setTimeout(function () {\n return _this8.checkScroll();\n }, checkScrollOnRefreshDataDelay);\n }\n }).finally(function () {\n _this8.loading = false;\n _this8.firstLoading = false;\n _this8.refreshDatagridPromise = null;\n });\n\n return this.refreshDatagridPromise;\n }\n }, {\n key: \"sort\",\n value: function sort(column) {\n var _this9 = this;\n\n if (!column || !column.sortable) {\n return;\n }\n\n this.refreshData(function () {\n return _this9.paging.setSort(column.name);\n });\n }\n }, {\n key: \"getSortableClasses\",\n value: function getSortableClasses(column) {\n var _ref2;\n\n if (column.name !== this.paging.getSortColumnName()) {\n return (0, _defineProperty3.default)({}, cssSortable, !!column.sortable);\n }\n return _ref2 = {}, (0, _defineProperty3.default)(_ref2, cssSortable, !!column.sortable), (0, _defineProperty3.default)(_ref2, cssSorted, true), (0, _defineProperty3.default)(_ref2, cssSortableAsc, this.paging.isSortAsc()), (0, _defineProperty3.default)(_ref2, cssSortableDesc, this.paging.isSortDesc()), _ref2;\n }\n }], [{\n key: \"createEmptyRows\",\n value: function createEmptyRows(pageSize) {\n return Array.apply(undefined, (0, _toConsumableArray3.default)({ length: pageSize })).map(function () {\n return undefined;\n });\n }\n }, {\n key: \"filterElements\",\n value: function filterElements(elements, tagName) {\n var tagNameUpper = tagName.toUpperCase();\n var filteredElements = [];\n\n angular.forEach(elements, function (element) {\n if (element.tagName === tagNameUpper) {\n filteredElements.push(element);\n }\n });\n\n return filteredElements;\n }\n }]);\n return DatagridController;\n}();\n\nexports.default = DatagridController;\n\n/***/ }),\n/* 240 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _defineProperty = __webpack_require__(57);\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (obj, key, value) {\n if (key in obj) {\n (0, _defineProperty2.default)(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\n/***/ }),\n/* 241 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar baseIteratee = __webpack_require__(87),\n isArrayLike = __webpack_require__(66),\n keys = __webpack_require__(90);\n\n/**\n * Creates a `_.find` or `_.findLast` function.\n *\n * @private\n * @param {Function} findIndexFunc The function to find the collection index.\n * @returns {Function} Returns the new find function.\n */\nfunction createFind(findIndexFunc) {\n return function(collection, predicate, fromIndex) {\n var iterable = Object(collection);\n if (!isArrayLike(collection)) {\n var iteratee = baseIteratee(predicate, 3);\n collection = keys(collection);\n predicate = function(key) { return iteratee(iterable[key], key, iterable); };\n }\n var index = findIndexFunc(collection, predicate, fromIndex);\n return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined;\n };\n}\n\nmodule.exports = createFind;\n\n\n/***/ }),\n/* 242 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar baseIsMatch = __webpack_require__(243),\n getMatchData = __webpack_require__(254),\n matchesStrictComparable = __webpack_require__(91);\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n\nmodule.exports = baseMatches;\n\n\n/***/ }),\n/* 243 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Stack = __webpack_require__(34),\n baseIsEqual = __webpack_require__(88);\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\nmodule.exports = baseIsMatch;\n\n\n/***/ }),\n/* 244 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Stack = __webpack_require__(34),\n equalArrays = __webpack_require__(245),\n equalByTag = __webpack_require__(250),\n equalObjects = __webpack_require__(251),\n getTag = __webpack_require__(253),\n isArray = __webpack_require__(11),\n isBuffer = __webpack_require__(69),\n isTypedArray = __webpack_require__(70);\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nmodule.exports = baseIsEqualDeep;\n\n\n/***/ }),\n/* 245 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar SetCache = __webpack_require__(246),\n arraySome = __webpack_require__(247),\n cacheHas = __webpack_require__(248);\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalArrays;\n\n\n/***/ }),\n/* 246 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isArray = __webpack_require__(11);\n\n/**\n * Casts `value` as an array if it's not one.\n *\n * @static\n * @memberOf _\n * @since 4.4.0\n * @category Lang\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast array.\n * @example\n *\n * _.castArray(1);\n * // => [1]\n *\n * _.castArray({ 'a': 1 });\n * // => [{ 'a': 1 }]\n *\n * _.castArray('abc');\n * // => ['abc']\n *\n * _.castArray(null);\n * // => [null]\n *\n * _.castArray(undefined);\n * // => [undefined]\n *\n * _.castArray();\n * // => []\n *\n * var array = [1, 2, 3];\n * console.log(_.castArray(array) === array);\n * // => true\n */\nfunction castArray() {\n if (!arguments.length) {\n return [];\n }\n var value = arguments[0];\n return isArray(value) ? value : [value];\n}\n\nmodule.exports = castArray;\n\n\n/***/ }),\n/* 247 */\n/***/ (function(module, exports) {\n\n/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n\n\n/***/ }),\n/* 248 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar baseIndexOf = __webpack_require__(249);\n\n/**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludes(array, value) {\n var length = array == null ? 0 : array.length;\n return !!length && baseIndexOf(array, value, 0) > -1;\n}\n\nmodule.exports = arrayIncludes;\n\n\n/***/ }),\n/* 249 */\n/***/ (function(module, exports) {\n\n/**\n * A specialized version of `_.indexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction strictIndexOf(array, value, fromIndex) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = strictIndexOf;\n\n\n/***/ }),\n/* 250 */\n/***/ (function(module, exports) {\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n\n\n/***/ }),\n/* 251 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar getAllKeys = __webpack_require__(252);\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalObjects;\n\n\n/***/ }),\n/* 252 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar overArg = __webpack_require__(38);\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n\n\n/***/ }),\n/* 253 */\n/***/ (function(module, exports) {\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n\n\n/***/ }),\n/* 254 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isStrictComparable = __webpack_require__(89),\n keys = __webpack_require__(90);\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\n\nmodule.exports = getMatchData;\n\n\n/***/ }),\n/* 255 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar baseIsEqual = __webpack_require__(88),\n get = __webpack_require__(29),\n hasIn = __webpack_require__(259),\n isKey = __webpack_require__(53),\n isStrictComparable = __webpack_require__(89),\n matchesStrictComparable = __webpack_require__(91),\n toKey = __webpack_require__(30);\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n };\n}\n\nmodule.exports = baseMatchesProperty;\n\n\n/***/ }),\n/* 256 */\n/***/ (function(module, exports) {\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n\n\n/***/ }),\n/* 257 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar memoizeCapped = __webpack_require__(258);\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nmodule.exports = stringToPath;\n\n\n/***/ }),\n/* 258 */\n/***/ (function(module, exports) {\n\n/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n/***/ }),\n/* 259 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar baseHasIn = __webpack_require__(260),\n hasPath = __webpack_require__(261);\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\n\nmodule.exports = hasIn;\n\n\n/***/ }),\n/* 260 */\n/***/ (function(module, exports) {\n\n/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\nmodule.exports = baseHasIn;\n\n\n/***/ }),\n/* 261 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar castPath = __webpack_require__(93),\n isArguments = __webpack_require__(65),\n isArray = __webpack_require__(11),\n isIndex = __webpack_require__(262),\n isLength = __webpack_require__(68),\n toKey = __webpack_require__(30);\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\nmodule.exports = hasPath;\n\n\n/***/ }),\n/* 262 */\n/***/ (function(module, exports) {\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n\n\n/***/ }),\n/* 263 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar baseProperty = __webpack_require__(264),\n basePropertyDeep = __webpack_require__(265),\n isKey = __webpack_require__(53),\n toKey = __webpack_require__(30);\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nmodule.exports = property;\n\n\n/***/ }),\n/* 264 */\n/***/ (function(module, exports) {\n\n/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n\n\n/***/ }),\n/* 265 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar baseGet = __webpack_require__(92);\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\nmodule.exports = basePropertyDeep;\n\n\n/***/ }),\n/* 266 */\n/***/ (function(module, exports) {\n\n/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = baseFindIndex;\n\n\n/***/ }),\n/* 267 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"
\";\n\n/***/ }),\n/* 268 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _assign = __webpack_require__(22);\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _componentUtils = __webpack_require__(2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar copyValueProperties = [\"hidden\", \"title\", \"type\", \"type-options\"];\nvar searchableTypes = [\"string\"];\nvar filterableTypes = [\"boolean\", \"date\", \"number\", \"options\", \"string\"];\n\nvar DatagridColumnBuilder = function () {\n DatagridColumnBuilder.$inject = [\"$parse\", \"$compile\"];\n function DatagridColumnBuilder($parse, $compile) {\n \"ngInject\";\n\n (0, _classCallCheck3.default)(this, DatagridColumnBuilder);\n this.$parse = $parse;\n this.$compile = $compile;\n }\n\n (0, _createClass3.default)(DatagridColumnBuilder, [{\n key: \"build\",\n value: function build(columnElements, $scope) {\n var _this = this;\n\n var columns = [];\n var currentSorting = {\n columnName: undefined,\n dir: 0\n };\n\n angular.forEach(columnElements, function (columnElement) {\n var column = {};\n\n if ((0, _componentUtils.hasAttribute)(columnElement, \"name\")) {\n column.name = (0, _componentUtils.getAttribute)(columnElement, \"name\");\n }\n\n if ((0, _componentUtils.hasAttribute)(columnElement, \"property\")) {\n var propertyValue = (0, _componentUtils.getAttribute)(columnElement, \"property\");\n\n column.name = column.name || propertyValue;\n column.getValue = _this.$parse(propertyValue);\n\n if ((0, _componentUtils.hasAttribute)(columnElement, \"sortable\")) {\n var sortableValue = (0, _componentUtils.getAttribute)(columnElement, \"sortable\");\n column.sortable = !!sortableValue;\n (0, _assign2.default)(currentSorting, DatagridColumnBuilder.defineDefaultSorting(column, sortableValue));\n }\n }\n\n copyValueProperties.forEach(function (propertyName) {\n if ((0, _componentUtils.hasAttribute)(columnElement, propertyName)) {\n column[propertyName] = (0, _componentUtils.getAttribute)(columnElement, propertyName);\n }\n });\n\n column.filterable = DatagridColumnBuilder.isFilterable(column) && (0, _componentUtils.hasAttribute)(columnElement, \"filterable\");\n column.searchable = DatagridColumnBuilder.isSearchable(column) && (0, _componentUtils.hasAttribute)(columnElement, \"searchable\");\n\n if (column[\"type-options\"]) {\n column.typeOptions = _this.$parse(column[\"type-options\"])($scope);\n }\n\n if ((0, _componentUtils.hasAttribute)(columnElement, \"prevent-customization\")) {\n column.preventCustomization = true;\n }\n\n if ((0, _componentUtils.hasAttribute)(columnElement, \"hidden\")) {\n column.hidden = true;\n }\n\n if ((0, _componentUtils.hasAttribute)(columnElement, \"title\")) {\n var titleValue = (0, _componentUtils.getAttribute)(columnElement, \"title\");\n\n column.title = _this.buildTitle(titleValue, $scope);\n column.rawTitle = titleValue;\n }\n\n if (!column.sortProperty) {\n column.sortProperty = column.name;\n }\n\n var htmlTemplate = columnElement.innerHTML.trim();\n if (!column.template && htmlTemplate.length) {\n column.template = htmlTemplate;\n }\n\n if (column.template) {\n column.compiledTemplate = _this._getColumnTemplate(column);\n }\n\n columns.push(column);\n });\n\n return {\n columns: columns,\n currentSorting: currentSorting\n };\n }\n }, {\n key: \"buildFromJs\",\n value: function buildFromJs(columnsDescription) {\n var _this2 = this;\n\n var columns = [];\n var currentSorting = {\n columnName: undefined,\n dir: 0\n };\n\n angular.forEach(columnsDescription, function (columnDescription) {\n var column = {};\n\n column.name = columnDescription.name;\n\n var propertyValue = columnDescription.property;\n if (propertyValue) {\n column.name = column.name || propertyValue;\n column.getValue = _this2.$parse(propertyValue);\n\n var sortableValue = columnDescription.sortable;\n if (columnDescription.sortable) {\n column.sortable = !!sortableValue;\n (0, _assign2.default)(currentSorting, DatagridColumnBuilder.defineDefaultSorting(column, sortableValue));\n }\n }\n\n copyValueProperties.forEach(function (propertyName) {\n column[propertyName] = columnDescription[propertyName];\n });\n\n column.filterable = DatagridColumnBuilder.isFilterable(column) && columnDescription.filterable;\n column.searchable = DatagridColumnBuilder.isSearchable(column) && columnDescription.searchable;\n\n if (columnDescription.typeOptions) {\n column.typeOptions = columnDescription.typeOptions;\n }\n\n column.preventCustomization = columnDescription.preventCustomization;\n\n column.title = columnDescription.title;\n\n if (!column.sortProperty) {\n column.sortProperty = column.name;\n }\n\n var htmlTemplate = columnDescription.template ? columnDescription.template.trim() : \"\";\n column.template = htmlTemplate;\n\n if (column.template && column.template !== \"\") {\n column.compiledTemplate = _this2._getColumnTemplate(column);\n }\n\n columns.push(column);\n });\n\n return {\n columns: columns,\n currentSorting: currentSorting\n };\n }\n }, {\n key: \"buildTitle\",\n value: function buildTitle(titleValue, $scope) {\n return this.$parse(titleValue)($scope);\n }\n }, {\n key: \"buildActionColumn\",\n value: function buildActionColumn(actionColumnElement) {\n var column = {\n template: actionColumnElement.outerHTML\n };\n column.compiledTemplate = this._getColumnTemplate(column);\n column.alwaysVisible = true;\n return column;\n }\n }, {\n key: \"_getColumnTemplate\",\n value: function _getColumnTemplate(column) {\n if (!column.compiledTemplate) {\n column.compiledTemplate = this.$compile(\"
\" + column.template + \"
\");\n }\n return column.compiledTemplate;\n }\n }], [{\n key: \"defineDefaultSorting\",\n value: function defineDefaultSorting(column, sortableValue) {\n column.sortable = sortableValue !== undefined;\n\n if (sortableValue && sortableValue.length) {\n column.defaultSortDir = sortableValue === \"asc\" ? 1 : -1;\n return {\n columnName: column.name,\n dir: column.defaultSortDir\n };\n }\n\n return {};\n }\n }, {\n key: \"isSearchable\",\n value: function isSearchable(column) {\n return searchableTypes.indexOf(column.type) > -1;\n }\n }, {\n key: \"isFilterable\",\n value: function isFilterable(column) {\n return filterableTypes.indexOf(column.type) > -1;\n }\n }]);\n return DatagridColumnBuilder;\n}();\n\nexports.default = DatagridColumnBuilder;\n\n/***/ }),\n/* 269 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extraTop = __webpack_require__(270);\n\nvar _extraTop2 = _interopRequireDefault(_extraTop);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n controller: _extraTop2.default,\n require: {\n datagridCtrl: \"^^ouiDatagrid\"\n }\n};\n\n/***/ }),\n/* 270 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _class = function () {\n _class.$inject = [\"$element\"];\n function _class($element) {\n \"ngInject\";\n\n (0, _classCallCheck3.default)(this, _class);\n this.$element = $element;\n }\n\n (0, _createClass3.default)(_class, [{\n key: \"$postLink\",\n value: function $postLink() {\n this.extraTopScope = this.datagridCtrl.getParentScope().$new(false);\n this._compileElement();\n }\n }, {\n key: \"_compileElement\",\n value: function _compileElement() {\n var _this = this;\n\n this.datagridCtrl.extraTopCompiledTemplate(this.extraTopScope, function (clone) {\n _this.$element.empty();\n _this.$element.append(clone);\n });\n }\n }]);\n return _class;\n}();\n\nexports.default = _class;\n\n/***/ }),\n/* 271 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _datagridLocalPaging = __webpack_require__(272);\n\nvar _datagridLocalPaging2 = _interopRequireDefault(_datagridLocalPaging);\n\nvar _datagridRemotePaging = __webpack_require__(312);\n\nvar _datagridRemotePaging2 = _interopRequireDefault(_datagridRemotePaging);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _class = function () {\n _class.$inject = [\"$q\", \"$timeout\", \"orderByFilter\"];\n function _class($q, $timeout, orderByFilter) {\n \"ngInject\";\n\n (0, _classCallCheck3.default)(this, _class);\n this.$q = $q;\n this.$timeout = $timeout;\n this.orderByFilter = orderByFilter;\n }\n\n (0, _createClass3.default)(_class, [{\n key: \"createLocal\",\n value: function createLocal(columns, sorting, pageSize, rowLoader, rows) {\n return new _datagridLocalPaging2.default(columns, sorting, pageSize, rowLoader, this, rows);\n }\n }, {\n key: \"createRemote\",\n value: function createRemote(columns, sorting, pageSize, rowLoader, rowsLoader) {\n return new _datagridRemotePaging2.default(columns, sorting, pageSize, rowLoader, this, rowsLoader);\n }\n }]);\n return _class;\n}();\n\nexports.default = _class;\n\n/***/ }),\n/* 272 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _getPrototypeOf = __webpack_require__(98);\n\nvar _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _possibleConstructorReturn2 = __webpack_require__(100);\n\nvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\nvar _inherits2 = __webpack_require__(105);\n\nvar _inherits3 = _interopRequireDefault(_inherits2);\n\nvar _datagridPagingAbstract = __webpack_require__(106);\n\nvar _datagridPagingAbstract2 = _interopRequireDefault(_datagridPagingAbstract);\n\nvar _filter2 = __webpack_require__(297);\n\nvar _filter3 = _interopRequireDefault(_filter2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar DatagridLocalPaging = function (_DatagridPagingAbstra) {\n (0, _inherits3.default)(DatagridLocalPaging, _DatagridPagingAbstra);\n\n function DatagridLocalPaging(columns, currentSorting, pageSize, rowLoader, pagingService, rows) {\n (0, _classCallCheck3.default)(this, DatagridLocalPaging);\n\n var _this = (0, _possibleConstructorReturn3.default)(this, (DatagridLocalPaging.__proto__ || (0, _getPrototypeOf2.default)(DatagridLocalPaging)).call(this, columns, currentSorting, pageSize, rowLoader, pagingService));\n\n _this.setRows(rows);\n return _this;\n }\n\n (0, _createClass3.default)(DatagridLocalPaging, [{\n key: \"setRows\",\n value: function setRows(rows) {\n this.rows = angular.copy(rows);\n\n this.cachedRows = angular.copy(rows);\n\n this.totalCount = rows ? rows.length : 0;\n }\n }, {\n key: \"loadData\",\n value: function loadData(skipSortAndFilter, forceLoadRows) {\n var _this2 = this;\n\n if (forceLoadRows) {\n this.cachedRows = angular.copy(this.rows);\n }\n\n if (!skipSortAndFilter || forceLoadRows) {\n this._filter();\n this._sort();\n }\n\n return this.$q.when({\n data: this.sortedRows.slice(this.offset - 1, this.offset - 1 + this.pageSize),\n meta: {\n pageCount: Math.ceil(this.sortedRows.length / this.pageSize),\n totalCount: this.sortedRows.length\n }\n }).then(function (result) {\n return _this2.loadRows(result);\n });\n }\n }, {\n key: \"loadRows\",\n value: function loadRows(pageResult) {\n var _this3 = this;\n\n this.preventLoadingRows = true;\n this.loadRowsData(pageResult.data).finally(function () {\n _this3.$timeout(function () {\n _this3.preventLoadingRows = false;\n });\n });\n this.totalCount = pageResult.meta.totalCount;\n\n return pageResult;\n }\n }, {\n key: \"_filter\",\n value: function _filter() {\n var filter = new _filter3.default(this.criteria, this.columns);\n this.filteredRows = filter.applyFilter(this.cachedRows);\n }\n }, {\n key: \"_sort\",\n value: function _sort() {\n var sortConfiguration = this.getSortingConfiguration();\n this.sortedRows = this.orderByFilter(this.filteredRows, sortConfiguration.property, sortConfiguration.dir < 0);\n }\n }]);\n return DatagridLocalPaging;\n}(_datagridPagingAbstract2.default);\n\nexports.default = DatagridLocalPaging;\n\n/***/ }),\n/* 273 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(274);\nmodule.exports = __webpack_require__(3).Object.getPrototypeOf;\n\n\n/***/ }),\n/* 274 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = __webpack_require__(21);\nvar $getPrototypeOf = __webpack_require__(84);\n\n__webpack_require__(99)('getPrototypeOf', function () {\n return function getPrototypeOf(it) {\n return $getPrototypeOf(toObject(it));\n };\n});\n\n\n/***/ }),\n/* 275 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(276), __esModule: true };\n\n/***/ }),\n/* 276 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(42);\n__webpack_require__(102);\nmodule.exports = __webpack_require__(54).f('iterator');\n\n\n/***/ }),\n/* 277 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar addToUnscopables = __webpack_require__(278);\nvar step = __webpack_require__(279);\nvar Iterators = __webpack_require__(19);\nvar toIObject = __webpack_require__(16);\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = __webpack_require__(79)(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n/***/ }),\n/* 278 */\n/***/ (function(module, exports) {\n\nmodule.exports = function () { /* empty */ };\n\n\n/***/ }),\n/* 279 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n\n\n/***/ }),\n/* 280 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(281), __esModule: true };\n\n/***/ }),\n/* 281 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(282);\n__webpack_require__(287);\n__webpack_require__(288);\n__webpack_require__(289);\nmodule.exports = __webpack_require__(3).Symbol;\n\n\n/***/ }),\n/* 282 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// ECMAScript 6 symbols shim\nvar global = __webpack_require__(6);\nvar has = __webpack_require__(10);\nvar DESCRIPTORS = __webpack_require__(9);\nvar $export = __webpack_require__(5);\nvar redefine = __webpack_require__(80);\nvar META = __webpack_require__(283).KEY;\nvar $fails = __webpack_require__(14);\nvar shared = __webpack_require__(49);\nvar setToStringTag = __webpack_require__(51);\nvar uid = __webpack_require__(27);\nvar wks = __webpack_require__(4);\nvar wksExt = __webpack_require__(54);\nvar wksDefine = __webpack_require__(55);\nvar enumKeys = __webpack_require__(284);\nvar isArray = __webpack_require__(285);\nvar anObject = __webpack_require__(8);\nvar isObject = __webpack_require__(13);\nvar toIObject = __webpack_require__(16);\nvar toPrimitive = __webpack_require__(32);\nvar createDesc = __webpack_require__(17);\nvar _create = __webpack_require__(46);\nvar gOPNExt = __webpack_require__(286);\nvar $GOPD = __webpack_require__(104);\nvar $DP = __webpack_require__(7);\nvar $keys = __webpack_require__(20);\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n __webpack_require__(103).f = gOPNExt.f = $getOwnPropertyNames;\n __webpack_require__(28).f = $propertyIsEnumerable;\n __webpack_require__(52).f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !__webpack_require__(45)) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(12)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n/***/ }),\n/* 283 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar META = __webpack_require__(27)('meta');\nvar isObject = __webpack_require__(13);\nvar has = __webpack_require__(10);\nvar setDesc = __webpack_require__(7).f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !__webpack_require__(14)(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n\n\n/***/ }),\n/* 284 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// all enumerable object keys, includes symbols\nvar getKeys = __webpack_require__(20);\nvar gOPS = __webpack_require__(52);\nvar pIE = __webpack_require__(28);\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n\n\n/***/ }),\n/* 285 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.2.2 IsArray(argument)\nvar cof = __webpack_require__(47);\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n\n\n/***/ }),\n/* 286 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = __webpack_require__(16);\nvar gOPN = __webpack_require__(103).f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n\n/***/ }),\n/* 287 */\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n/* 288 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(55)('asyncIterator');\n\n\n/***/ }),\n/* 289 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(55)('observable');\n\n\n/***/ }),\n/* 290 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(291), __esModule: true };\n\n/***/ }),\n/* 291 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(292);\nmodule.exports = __webpack_require__(3).Object.setPrototypeOf;\n\n\n/***/ }),\n/* 292 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = __webpack_require__(5);\n$export($export.S, 'Object', { setPrototypeOf: __webpack_require__(293).set });\n\n\n/***/ }),\n/* 293 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = __webpack_require__(13);\nvar anObject = __webpack_require__(8);\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = __webpack_require__(31)(Function.call, __webpack_require__(104).f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) { buggy = true; }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n\n\n/***/ }),\n/* 294 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(295), __esModule: true };\n\n/***/ }),\n/* 295 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(296);\nvar $Object = __webpack_require__(3).Object;\nmodule.exports = function create(P, D) {\n return $Object.create(P, D);\n};\n\n\n/***/ }),\n/* 296 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(5);\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', { create: __webpack_require__(46) });\n\n\n/***/ }),\n/* 297 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _get2 = __webpack_require__(29);\n\nvar _get3 = _interopRequireDefault(_get2);\n\nvar _find2 = __webpack_require__(86);\n\nvar _find3 = _interopRequireDefault(_find2);\n\nvar _comparatorResolver = __webpack_require__(298);\n\nvar _comparatorResolver2 = _interopRequireDefault(_comparatorResolver);\n\nvar _string = __webpack_require__(107);\n\nvar _string2 = _interopRequireDefault(_string);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Filter = function () {\n function Filter(criteria, columns) {\n (0, _classCallCheck3.default)(this, Filter);\n\n this.criteria = criteria;\n this.columns = columns;\n this.searchableColumns = this._getSearchableColumns();\n }\n\n (0, _createClass3.default)(Filter, [{\n key: \"applyFilter\",\n value: function applyFilter(collection) {\n var _this = this;\n\n var filtered = collection;\n this.criteria.forEach(function (criterion) {\n filtered = _this.applyCriteria(filtered, criterion);\n });\n return filtered;\n }\n }, {\n key: \"applyCriteria\",\n value: function applyCriteria(collection, criterion) {\n var _this2 = this;\n\n if (criterion.property === null && criterion.operator === \"contains\") {\n return collection.filter(function (item) {\n return _this2.itemContainsText(item, criterion.value);\n });\n }\n\n var propertyMeta = (0, _find3.default)(this.columns, [\"name\", criterion.property]);\n\n if (!propertyMeta) {\n return collection;\n }\n\n var comparatorFn = _comparatorResolver2.default.resolveComparator(criterion, propertyMeta.type);\n\n if (!criterion.property || !criterion.operator || criterion.value === undefined || !propertyMeta.type || !comparatorFn) {\n return collection;\n }\n\n return collection.filter(function (item) {\n var subject = (0, _get3.default)(item, criterion.property);\n return comparatorFn(subject, criterion.value);\n });\n }\n }, {\n key: \"itemContainsText\",\n value: function itemContainsText(item, text) {\n return this.searchableColumns.reduce(function (aggregator, name) {\n var value = (0, _get3.default)(item, name);\n return aggregator || _string2.default.contains(value, text);\n }, false);\n }\n }, {\n key: \"_getSearchableColumns\",\n value: function _getSearchableColumns() {\n return this.columns.filter(function (column) {\n return column.searchable;\n }).map(function (column) {\n return column.name;\n });\n }\n }]);\n return Filter;\n}();\n\nexports.default = Filter;\n\n/***/ }),\n/* 298 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _negate2 = __webpack_require__(299);\n\nvar _negate3 = _interopRequireDefault(_negate2);\n\nvar _endsWith2 = __webpack_require__(300);\n\nvar _endsWith3 = _interopRequireDefault(_endsWith2);\n\nvar _basic = __webpack_require__(302);\n\nvar _basic2 = _interopRequireDefault(_basic);\n\nvar _date = __webpack_require__(303);\n\nvar _date2 = _interopRequireDefault(_date);\n\nvar _number = __webpack_require__(310);\n\nvar _number2 = _interopRequireDefault(_number);\n\nvar _string = __webpack_require__(107);\n\nvar _string2 = _interopRequireDefault(_string);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar comparators = {\n \"boolean\": _basic2.default,\n date: _date2.default,\n number: _number2.default,\n options: _basic2.default,\n string: _string2.default\n};\n\nvar ComparatorResolver = function () {\n function ComparatorResolver() {\n (0, _classCallCheck3.default)(this, ComparatorResolver);\n }\n\n (0, _createClass3.default)(ComparatorResolver, null, [{\n key: \"resolveComparator\",\n value: function resolveComparator(criterion, type) {\n var baseOperator = criterion.operator.replace(/Not$/, \"\");\n var negated = (0, _endsWith3.default)(criterion.operator, \"Not\");\n var comparator = comparators[type] ? comparators[type][baseOperator] : null;\n return comparator && negated ? (0, _negate3.default)(comparator) : comparator;\n }\n }]);\n return ComparatorResolver;\n}();\n\nexports.default = ComparatorResolver;\n\n/***/ }),\n/* 299 */\n/***/ (function(module, exports) {\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that negates the result of the predicate `func`. The\n * `func` predicate is invoked with the `this` binding and arguments of the\n * created function.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} predicate The predicate to negate.\n * @returns {Function} Returns the new negated function.\n * @example\n *\n * function isEven(n) {\n * return n % 2 == 0;\n * }\n *\n * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven));\n * // => [1, 3, 5]\n */\nfunction negate(predicate) {\n if (typeof predicate != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n return function() {\n var args = arguments;\n switch (args.length) {\n case 0: return !predicate.call(this);\n case 1: return !predicate.call(this, args[0]);\n case 2: return !predicate.call(this, args[0], args[1]);\n case 3: return !predicate.call(this, args[0], args[1], args[2]);\n }\n return !predicate.apply(this, args);\n };\n}\n\nmodule.exports = negate;\n\n\n/***/ }),\n/* 300 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar baseClamp = __webpack_require__(75),\n baseToString = __webpack_require__(301),\n toInteger = __webpack_require__(96),\n toString = __webpack_require__(94);\n\n/**\n * Checks if `string` ends with the given target string.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to inspect.\n * @param {string} [target] The string to search for.\n * @param {number} [position=string.length] The position to search up to.\n * @returns {boolean} Returns `true` if `string` ends with `target`,\n * else `false`.\n * @example\n *\n * _.endsWith('abc', 'c');\n * // => true\n *\n * _.endsWith('abc', 'b');\n * // => false\n *\n * _.endsWith('abc', 'b', 2);\n * // => true\n */\nfunction endsWith(string, target, position) {\n string = toString(string);\n target = baseToString(target);\n\n var length = string.length;\n position = position === undefined\n ? length\n : baseClamp(toInteger(position), 0, length);\n\n var end = position;\n position -= target.length;\n return position >= 0 && string.slice(position, end) == target;\n}\n\nmodule.exports = endsWith;\n\n\n/***/ }),\n/* 301 */\n/***/ (function(module, exports) {\n\n/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n/***/ }),\n/* 302 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar BooleanComparators = function () {\n function BooleanComparators() {\n (0, _classCallCheck3.default)(this, BooleanComparators);\n }\n\n (0, _createClass3.default)(BooleanComparators, null, [{\n key: \"is\",\n value: function is(subject, value) {\n return subject === value;\n }\n }]);\n return BooleanComparators;\n}();\n\nexports.default = BooleanComparators;\n\n/***/ }),\n/* 303 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _isNaN2 = __webpack_require__(304);\n\nvar _isNaN3 = _interopRequireDefault(_isNaN2);\n\nvar _isDate2 = __webpack_require__(306);\n\nvar _isDate3 = _interopRequireDefault(_isDate2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar DateComparators = function () {\n function DateComparators() {\n (0, _classCallCheck3.default)(this, DateComparators);\n }\n\n (0, _createClass3.default)(DateComparators, null, [{\n key: \"is\",\n value: function is(subject, value) {\n return DateComparators.transformDate(subject) === value;\n }\n }, {\n key: \"isBefore\",\n value: function isBefore(subject, value) {\n return DateComparators.transformDate(subject) < value;\n }\n }, {\n key: \"isAfter\",\n value: function isAfter(subject, value) {\n return DateComparators.transformDate(subject) > value;\n }\n }, {\n key: \"normalizeDate\",\n value: function normalizeDate(date) {\n var daydate = date.getDate();\n var month = date.getMonth() + 1;\n\n if (daydate < 10) {\n daydate = \"0\" + daydate;\n }\n\n if (month < 10) {\n month = \"0\" + month;\n }\n\n return date.getFullYear() + \"-\" + month + \"-\" + daydate;\n }\n }, {\n key: \"transformDate\",\n value: function transformDate(rawDate) {\n var date = rawDate;\n\n if (!(0, _isDate3.default)(date)) {\n date = new Date(date);\n if ((0, _isNaN3.default)(date.valueOf())) {\n throw new Error(\"ovh-ui-angular: date \" + rawDate + \" cannot be parsed.\");\n }\n }\n\n return DateComparators.normalizeDate(date);\n }\n }]);\n return DateComparators;\n}();\n\nexports.default = DateComparators;\n\n/***/ }),\n/* 304 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isNumber = __webpack_require__(305);\n\n/**\n * Checks if `value` is `NaN`.\n *\n * **Note:** This method is based on\n * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as\n * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for\n * `undefined` and other non-number values.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n * @example\n *\n * _.isNaN(NaN);\n * // => true\n *\n * _.isNaN(new Number(NaN));\n * // => true\n *\n * isNaN(undefined);\n * // => true\n *\n * _.isNaN(undefined);\n * // => false\n */\nfunction isNaN(value) {\n // An `NaN` primitive is the only value that is not equal to itself.\n // Perform the `toStringTag` check first to avoid errors with some\n // ActiveX objects in IE.\n return isNumber(value) && value != +value;\n}\n\nmodule.exports = isNaN;\n\n\n/***/ }),\n/* 305 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar baseGetTag = __webpack_require__(24),\n isObjectLike = __webpack_require__(18);\n\n/** `Object#toString` result references. */\nvar numberTag = '[object Number]';\n\n/**\n * Checks if `value` is classified as a `Number` primitive or object.\n *\n * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are\n * classified as numbers, use the `_.isFinite` method.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a number, else `false`.\n * @example\n *\n * _.isNumber(3);\n * // => true\n *\n * _.isNumber(Number.MIN_VALUE);\n * // => true\n *\n * _.isNumber(Infinity);\n * // => true\n *\n * _.isNumber('3');\n * // => false\n */\nfunction isNumber(value) {\n return typeof value == 'number' ||\n (isObjectLike(value) && baseGetTag(value) == numberTag);\n}\n\nmodule.exports = isNumber;\n\n\n/***/ }),\n/* 306 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar baseIsDate = __webpack_require__(307),\n baseUnary = __webpack_require__(308),\n nodeUtil = __webpack_require__(309);\n\n/* Node.js helper references. */\nvar nodeIsDate = nodeUtil && nodeUtil.isDate;\n\n/**\n * Checks if `value` is classified as a `Date` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\n * @example\n *\n * _.isDate(new Date);\n * // => true\n *\n * _.isDate('Mon April 23 2012');\n * // => false\n */\nvar isDate = nodeIsDate ? baseUnary(nodeIsDate) : baseIsDate;\n\nmodule.exports = isDate;\n\n\n/***/ }),\n/* 307 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar baseGetTag = __webpack_require__(24),\n isObjectLike = __webpack_require__(18);\n\n/** `Object#toString` result references. */\nvar dateTag = '[object Date]';\n\n/**\n * The base implementation of `_.isDate` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\n */\nfunction baseIsDate(value) {\n return isObjectLike(value) && baseGetTag(value) == dateTag;\n}\n\nmodule.exports = baseIsDate;\n\n\n/***/ }),\n/* 308 */\n/***/ (function(module, exports) {\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n\n\n/***/ }),\n/* 309 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(module) {var freeGlobal = __webpack_require__(62);\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(61)(module)))\n\n/***/ }),\n/* 310 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar NumberComparators = function () {\n function NumberComparators() {\n (0, _classCallCheck3.default)(this, NumberComparators);\n }\n\n (0, _createClass3.default)(NumberComparators, null, [{\n key: \"is\",\n value: function is(subject, value) {\n return subject === value;\n }\n }, {\n key: \"smaller\",\n value: function smaller(subject, value) {\n return subject < value;\n }\n }, {\n key: \"bigger\",\n value: function bigger(subject, value) {\n return subject > value;\n }\n }]);\n return NumberComparators;\n}();\n\nexports.default = NumberComparators;\n\n/***/ }),\n/* 311 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar matchOperatorsRe = /[|\\\\{}()[\\]^$+*?.]/g;\n\nmodule.exports = function (str) {\n\tif (typeof str !== 'string') {\n\t\tthrow new TypeError('Expected a string');\n\t}\n\n\treturn str.replace(matchOperatorsRe, '\\\\$&');\n};\n\n\n/***/ }),\n/* 312 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _assign = __webpack_require__(22);\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nvar _getPrototypeOf = __webpack_require__(98);\n\nvar _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _possibleConstructorReturn2 = __webpack_require__(100);\n\nvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\nvar _inherits2 = __webpack_require__(105);\n\nvar _inherits3 = _interopRequireDefault(_inherits2);\n\nvar _datagridPagingAbstract = __webpack_require__(106);\n\nvar _datagridPagingAbstract2 = _interopRequireDefault(_datagridPagingAbstract);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar DatagridRemotePaging = function (_DatagridPagingAbstra) {\n (0, _inherits3.default)(DatagridRemotePaging, _DatagridPagingAbstra);\n\n function DatagridRemotePaging(columns, currentSorting, pageSize, rowLoader, pagingService, rowsLoader) {\n (0, _classCallCheck3.default)(this, DatagridRemotePaging);\n\n var _this = (0, _possibleConstructorReturn3.default)(this, (DatagridRemotePaging.__proto__ || (0, _getPrototypeOf2.default)(DatagridRemotePaging)).call(this, columns, currentSorting, pageSize, rowLoader, pagingService));\n\n _this.rowsLoader = rowsLoader;\n return _this;\n }\n\n (0, _createClass3.default)(DatagridRemotePaging, [{\n key: \"loadData\",\n value: function loadData(skipSort) {\n var _this2 = this;\n\n return this.rowsLoader({\n $config: (0, _assign2.default)({\n offset: this.offset,\n pageSize: this.pageSize,\n sort: this.getSortingConfiguration(),\n criteria: this.criteria\n }, {\n skipSort: skipSort\n })\n }).then(function (result) {\n return _this2.loadRows(result);\n });\n }\n }, {\n key: \"loadRows\",\n value: function loadRows(pageResult) {\n this.loadRowsData(pageResult.data);\n this.totalCount = pageResult.meta.totalCount;\n\n return pageResult;\n }\n }]);\n return DatagridRemotePaging;\n}(_datagridPagingAbstract2.default);\n\nexports.default = DatagridRemotePaging;\n\n/***/ }),\n/* 313 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _datagridParameters = __webpack_require__(314);\n\nvar _datagridParameters2 = _interopRequireDefault(_datagridParameters);\n\nvar _datagridParameters3 = __webpack_require__(315);\n\nvar _datagridParameters4 = _interopRequireDefault(_datagridParameters3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n bindings: {\n columns: \"<\",\n onChange: \"&\"\n },\n controller: _datagridParameters2.default,\n template: _datagridParameters4.default\n};\n\n/***/ }),\n/* 314 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar DatagridParametersController = function () {\n DatagridParametersController.$inject = [\"$element\", \"$timeout\"];\n function DatagridParametersController($element, $timeout) {\n \"ngInject\";\n\n (0, _classCallCheck3.default)(this, DatagridParametersController);\n this.$element = $element;\n this.$timeout = $timeout;\n }\n\n (0, _createClass3.default)(DatagridParametersController, [{\n key: \"$onChanges\",\n value: function $onChanges() {\n this.computeColumns();\n }\n }, {\n key: \"$postLink\",\n value: function $postLink() {\n var _this = this;\n\n this.$timeout(function () {\n _this.$element.addClass(\"oui-datagrid-parameters\");\n });\n }\n }, {\n key: \"computeColumns\",\n value: function computeColumns() {\n this.customizedColumns = angular.copy(this.columns).map(function (column) {\n column.visible = !column.hidden;\n return column;\n });\n }\n }, {\n key: \"onColumnChange\",\n value: function onColumnChange(columnIndex, isVisible) {\n this.changedColumns = angular.copy(this.customizedColumns);\n this.changedColumns.forEach(function (column, index) {\n if (index === columnIndex) {\n column.hidden = !isVisible;\n }\n delete column.visible;\n });\n this.onChange({ columns: this.changedColumns });\n }\n }]);\n return DatagridParametersController;\n}();\n\nexports.default = DatagridParametersController;\n\n/***/ }),\n/* 315 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"
Columns Display
\";\n\n/***/ }),\n/* 316 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _class = function () {\n function _class() {\n (0, _classCallCheck3.default)(this, _class);\n\n this.pageSize = 25;\n this.translations = {\n emptyPlaceholder: \"No data available\"\n };\n }\n\n (0, _createClass3.default)(_class, [{\n key: \"setPageSize\",\n value: function setPageSize(pageSize) {\n this.pageSize = pageSize;\n return this;\n }\n }, {\n key: \"setTranslations\",\n value: function setTranslations(translations) {\n this.translations = translations;\n return this;\n }\n }, {\n key: \"$get\",\n value: function $get() {\n return {\n pageSize: this.pageSize,\n translations: this.translations\n };\n }\n }]);\n return _class;\n}();\n\nexports.default = _class;\n\n/***/ }),\n/* 317 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar DatagridService = function () {\n function DatagridService() {\n (0, _classCallCheck3.default)(this, DatagridService);\n\n this.datagrids = {};\n }\n\n (0, _createClass3.default)(DatagridService, [{\n key: \"registerDatagrid\",\n value: function registerDatagrid(datagridController) {\n var datagridId = datagridController.id;\n\n if (this.datagrids[datagridId]) {\n throw new Error(\"Duplicated datagrid: id=\\\"\" + datagridId + \"\\\".\");\n }\n\n if (datagridId) {\n this.datagrids[datagridId] = datagridController;\n }\n }\n }, {\n key: \"unregisterDatagrid\",\n value: function unregisterDatagrid(datagridId) {\n delete this.datagrids[datagridId];\n }\n }, {\n key: \"refresh\",\n value: function refresh(datagridId, showSpinner) {\n var datagridController = this.datagrids[datagridId];\n\n if (datagridController) {\n datagridController.refreshData(false, false, false, !showSpinner, true);\n }\n }\n }]);\n return DatagridService;\n}();\n\nexports.default = DatagridService;\n\n/***/ }),\n/* 318 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _keyboardKeys = __webpack_require__(319);\n\nvar _keyboardKeys2 = _interopRequireDefault(_keyboardKeys);\n\nvar _navbar = __webpack_require__(320);\n\nvar _navbar2 = _interopRequireDefault(_navbar);\n\nvar _navbarProvider = __webpack_require__(323);\n\nvar _navbarProvider2 = _interopRequireDefault(_navbarProvider);\n\nvar _navbarGroup = __webpack_require__(324);\n\nvar _navbarGroup2 = _interopRequireDefault(_navbarGroup);\n\nvar _navbarGroup3 = __webpack_require__(326);\n\nvar _navbarGroup4 = _interopRequireDefault(_navbarGroup3);\n\nvar _navbarMenu = __webpack_require__(327);\n\nvar _navbarMenu2 = _interopRequireDefault(_navbarMenu);\n\nvar _navbar3 = __webpack_require__(330);\n\nvar _navbar4 = _interopRequireDefault(_navbar3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.navbar\", [\"ngAria\", \"ngSanitize\"]).constant(\"KEYBOARD_KEYS\", _keyboardKeys2.default).component(\"ouiNavbar\", _navbar2.default).directive(\"ouiNavbarGroup\", _navbarGroup2.default).component(\"ouiNavbarMenu\", _navbarMenu2.default).provider(\"ouiNavbarConfiguration\", _navbarProvider2.default).service(\"NavbarService\", _navbar4.default).service(\"NavbarGroupService\", _navbarGroup4.default);\n\n/***/ }),\n/* 319 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n ALT: 9,\n TAB: 16,\n ESC: 27\n};\n\n/***/ }),\n/* 320 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _navbar = __webpack_require__(321);\n\nvar _navbar2 = _interopRequireDefault(_navbar);\n\nvar _navbar3 = __webpack_require__(322);\n\nvar _navbar4 = _interopRequireDefault(_navbar3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n bindings: {\n brand: \" \";\n\n/***/ }),\n/* 323 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _class = function () {\n function _class() {\n (0, _classCallCheck3.default)(this, _class);\n\n this.translations = {\n notification: {\n errorInNotification: \"Oups, there’s an error!\",\n errorInNotificationDescription: \"We can’t initialize the menu.\",\n markRead: \"Mark as read\",\n markUnread: \"Mark as unread\",\n noNotification: \"You are all caught up!\",\n noNotificationDescription: \"You don't have any notification.\"\n }\n };\n }\n\n (0, _createClass3.default)(_class, [{\n key: \"setTranslations\",\n value: function setTranslations(translations) {\n this.translations = translations;\n return this;\n }\n }, {\n key: \"$get\",\n value: function $get() {\n return {\n translations: this.translations\n };\n }\n }]);\n return _class;\n}();\n\nexports.default = _class;\n\n/***/ }),\n/* 324 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _navbarGroup = __webpack_require__(325);\n\nvar _navbarGroup2 = _interopRequireDefault(_navbarGroup);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n return {\n restrict: \"A\",\n bindToController: {\n groupName: \"@ouiNavbarGroup\",\n isLast: \"= lastIndex ? 0 : index + 1;\n } else if (keys[_this.KEYBOARD_KEYS.ALT] && keys[_this.KEYBOARD_KEYS.TAB]) {\n index = index <= 0 ? lastIndex : index - 1;\n }\n\n if (tabbableItems[index].clientHeight) {\n tabbableItems[index].focus();\n } else {\n focusElement(e, index);\n }\n };\n\n angular.element(tabbableItems).on(\"keydown\", function (e) {\n if (keysRegex.test(e.which) && _this.navbarService.isOpen(groupName)) {\n e.preventDefault();\n focusElement(e, _this.keyboardNav[groupName].indexOf(e.target));\n }\n }).on(\"keyup\", function (e) {\n delete keys[e.which];\n });\n }\n }, {\n key: \"setFocusTo\",\n value: function setFocusTo(groupName, index) {\n var _this2 = this;\n\n var delay = 50;\n this.$timeout(function () {\n return _this2.keyboardNav[groupName][index] && _this2.keyboardNav[groupName][index].focus();\n }, delay);\n }\n }]);\n return _class;\n}();\n\nexports.default = _class;\n\n/***/ }),\n/* 327 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _navbarMenu = __webpack_require__(328);\n\nvar _navbarMenu2 = _interopRequireDefault(_navbarMenu);\n\nvar _navbarMenu3 = __webpack_require__(329);\n\nvar _navbarMenu4 = _interopRequireDefault(_navbarMenu3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n bindings: {\n backButton: \"

\";\n\n/***/ }),\n/* 330 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _class = function () {\n function _class() {\n (0, _classCallCheck3.default)(this, _class);\n }\n\n (0, _createClass3.default)(_class, [{\n key: \"isOpen\",\n value: function isOpen(state) {\n return this.navigation && this.navigation[state];\n }\n }, {\n key: \"toggleMenu\",\n value: function toggleMenu(state, isInternalNav) {\n if (state) {\n if (!isInternalNav && (!this.navigation || !this.navigation[state])) {\n this.navigation = {};\n }\n\n if (isInternalNav || !this.navigation[state]) {\n this.navigation[state] = !this.navigation[state];\n } else if (this.navigation[state]) {\n this.navigation = null;\n }\n } else {\n this.navigation = null;\n }\n\n return this.navigation;\n }\n }]);\n return _class;\n}();\n\nexports.default = _class;\n\n/***/ }),\n/* 331 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _modalComponent = __webpack_require__(332);\n\nvar _modalComponent2 = _interopRequireDefault(_modalComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.modal\", []).component(\"ouiModal\", _modalComponent2.default);\n\n/***/ }),\n/* 332 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _modal = __webpack_require__(333);\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nvar _modal3 = __webpack_require__(334);\n\nvar _modal4 = _interopRequireDefault(_modal3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n template: _modal4.default,\n controller: _modal2.default,\n bindings: {\n heading: \"@?\",\n title: \"@?\",\n primaryAction: \"&?\",\n primaryLabel: \"@?\",\n secondaryAction: \"&?\",\n secondaryLabel: \"@?\",\n onDismiss: \"&?\",\n loading: \"

\";\n\n/***/ }),\n/* 335 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _fieldComponent = __webpack_require__(336);\n\nvar _fieldComponent2 = _interopRequireDefault(_fieldComponent);\n\nvar _fieldProvider = __webpack_require__(341);\n\nvar _fieldProvider2 = _interopRequireDefault(_fieldProvider);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.field\", []).component(\"ouiField\", _fieldComponent2.default).provider(\"ouiFieldConfiguration\", _fieldProvider2.default);\n\n/***/ }),\n/* 336 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _fieldController = __webpack_require__(337);\n\nvar _fieldController2 = _interopRequireDefault(_fieldController);\n\nvar _field = __webpack_require__(340);\n\nvar _field2 = _interopRequireDefault(_field);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n bindings: {\n label: \"@?\",\n helpText: \"@?\",\n size: \"@?\",\n errorMessages: \" 1) {\n return;\n }\n\n namedControls.forEach(function (control) {\n if (angular.element(control).hasClass(CUSTOM_ELEMENT_CLASS)) {\n return;\n }\n _this.bindDOMEvents(control, name);\n });\n\n _this.validationParameters[name] = FieldController.getValidationParameters(_this.controls[name][0]);\n });\n\n _this.label = angular.element(_this.$element[0].querySelector(LABEL_SELECTOR));\n _this.label.on(\"click\", function () {\n _this.$scope.$broadcast(\"oui:focus\");\n });\n\n if (_this.labelPopover) {\n _this.popoverId = \"oui-field-popover-\" + _this.$scope.$id;\n if (_this.for) {\n var $ouiFieldInput = angular.element(_this.$element[0].querySelector(\"#\" + _this.for));\n $ouiFieldInput.attr(\"aria-describedby\", _this.popoverId);\n }\n }\n });\n }\n }, {\n key: \"$destroy\",\n value: function $destroy() {\n var _this2 = this;\n\n (0, _keys2.default)(this.controls).forEach(function (name) {\n var namedControls = _this2.controls[name];\n namedControls.forEach(function (control) {\n angular.element(control).off(\"blur\");\n angular.element(control).off(\"focus\");\n });\n });\n\n if (this.label) {\n this.label.off(\"click\");\n }\n }\n }, {\n key: \"bindDOMEvents\",\n value: function bindDOMEvents(controlElement, name) {\n var _this3 = this;\n\n angular.element(controlElement).on(\"blur\", function () {\n _this3.$timeout(function () {\n _this3.checkControlErrors(controlElement, name);\n _this3.hasFocus = false;\n });\n });\n\n angular.element(controlElement).on(\"focus\", function () {\n _this3.$timeout(function () {\n _this3.hideErrors(controlElement, name);\n _this3.hasFocus = true;\n });\n });\n }\n }, {\n key: \"checkControlErrors\",\n value: function checkControlErrors(controlElement, name) {\n if (this.form[name] && this.form[name].$invalid) {\n this.invalidOnBlur = true;\n this.currentErrorField = name;\n } else {\n this.invalidOnBlur = false;\n this.currentErrorField = null;\n }\n }\n }, {\n key: \"hideErrors\",\n value: function hideErrors(controlElement, name) {\n this.form[name].$touched = false;\n this.invalidOnBlur = false;\n }\n }, {\n key: \"isErrorVisible\",\n value: function isErrorVisible() {\n if (!this.form) {\n return false;\n }\n\n this.checkAllErrors();\n return this.invalidOnBlur || this.form.$submitted && this.invalid && !this.hasFocus;\n }\n }, {\n key: \"checkAllErrors\",\n value: function checkAllErrors() {\n var _this4 = this;\n\n this.invalid = (0, _keys2.default)(this.controls).map(function (name) {\n if (_this4.form[name].$invalid && !_this4.currentErrorField) {\n _this4.currentErrorField = name;\n }\n return _this4.form[name].$invalid;\n }).reduce(function (fieldInvalid, controlInvalid) {\n return fieldInvalid || controlInvalid;\n }, false);\n }\n }, {\n key: \"getFirstError\",\n value: function getFirstError() {\n var names = (0, _keys2.default)(this.controls);\n for (var i = 0; i < names.length; ++i) {\n if (this.form[names[i]] && this.form[names[i]].$invalid) {\n return this.form[names[i]].$error;\n }\n }\n\n return null;\n }\n }, {\n key: \"getMessagesOrder\",\n value: function getMessagesOrder() {\n return (0, _keys2.default)(this.getFirstError()).sort(function (a, b) {\n return MESSAGES_ORDER.indexOf(a) < MESSAGES_ORDER.indexOf(b);\n });\n }\n }, {\n key: \"getMessageString\",\n value: function getMessageString(errorName) {\n return this.errorMessages && this.errorMessages[errorName] || this.ouiFieldConfiguration.translations.errors[errorName];\n }\n }, {\n key: \"getErrorMessage\",\n value: function getErrorMessage(errorName) {\n var message = this.getMessageString(errorName);\n var parameterValue = this.validationParameters[this.currentErrorField][errorName];\n return message.replace(\"{{\" + errorName + \"}}\", parameterValue);\n }\n }, {\n key: \"getAllControls\",\n value: function getAllControls() {\n var _this5 = this;\n\n var controlsSelector = CONTROLS_SELECTORS.join(\",\");\n this.controlElements = (0, _from2.default)(this.$element[0].querySelectorAll(controlsSelector));\n return this.controlElements.filter(function (control) {\n return (0, _componentUtils.hasAttributeValue)(control, \"name\");\n }).map(function (control) {\n if ((0, _componentUtils.hasAttributeValue)(control, \"id\")) {\n _this5.ids.push((0, _componentUtils.getAttribute)(control, \"id\"));\n }\n\n return (0, _componentUtils.getAttribute)(control, \"name\");\n }).reduce(function (controls, name) {\n controls[name] = (0, _from2.default)(_this5.$element[0].querySelectorAll(\"[name=\\\"\" + name + \"\\\"]\"));\n return controls;\n }, {});\n }\n }], [{\n key: \"getValidationParameters\",\n value: function getValidationParameters(controlElement) {\n var validationParameters = {};\n (0, _keys2.default)(VALIDATION_PARAMETERS).forEach(function (validationName) {\n var attributes = VALIDATION_PARAMETERS[validationName];\n attributes.forEach(function (attributeName) {\n if ((0, _componentUtils.hasAttributeValue)(controlElement, attributeName)) {\n validationParameters[validationName] = (0, _componentUtils.getAttribute)(controlElement, attributeName);\n }\n });\n });\n return validationParameters;\n }\n }]);\n return FieldController;\n}();\n\nexports.default = FieldController;\n\n/***/ }),\n/* 338 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(339);\nmodule.exports = __webpack_require__(3).Object.keys;\n\n\n/***/ }),\n/* 339 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 Object.keys(O)\nvar toObject = __webpack_require__(21);\nvar $keys = __webpack_require__(20);\n\n__webpack_require__(99)('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n\n\n/***/ }),\n/* 340 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"
\";\n\n/***/ }),\n/* 341 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _class = function () {\n function _class() {\n (0, _classCallCheck3.default)(this, _class);\n\n this.translations = {\n errors: {\n required: \"Mandatory.\",\n number: \"Invalid number.\",\n email: \"Invalid email.\",\n min: \"Too low ({{min}} min).\",\n max: \"Too high ({{max}} max).\",\n minlength: \"Too short ({{minlength}} characters min).\",\n maxlength: \"Too high ({{maxlength}} characters max).\",\n pattern: \"Invalid format.\"\n }\n };\n }\n\n (0, _createClass3.default)(_class, [{\n key: \"setTranslations\",\n value: function setTranslations(translations) {\n this.translations = translations;\n return this;\n }\n }, {\n key: \"$get\",\n value: function $get() {\n return {\n translations: this.translations\n };\n }\n }]);\n return _class;\n}();\n\nexports.default = _class;\n\n/***/ }),\n/* 342 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _radioGroup = __webpack_require__(109);\n\nvar _radioGroup2 = _interopRequireDefault(_radioGroup);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n template: \"\",\n controller: _radioGroup2.default,\n bindings: {\n name: \"@?\",\n model: \"=?\",\n onChange: \"&\"\n },\n transclude: true\n};\n\n/***/ }),\n/* 343 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n__webpack_require__(39);\n\n__webpack_require__(108);\n\nvar _radioToggleGroupComponent = __webpack_require__(344);\n\nvar _radioToggleGroupComponent2 = _interopRequireDefault(_radioToggleGroupComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.radio-toggle-group\", [\"oui.radio\", \"oui.radio-group\"]).component(\"ouiRadioToggleGroup\", _radioToggleGroupComponent2.default);\n\n/***/ }),\n/* 344 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _radioGroup = __webpack_require__(109);\n\nvar _radioGroup2 = _interopRequireDefault(_radioGroup);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n template: \"
\",\n controller: _radioGroup2.default,\n bindings: {\n name: \"@?\",\n model: \"=?\",\n onChange: \"&\"\n },\n transclude: true\n};\n\n/***/ }),\n/* 345 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n__webpack_require__(346);\n\nvar _select = __webpack_require__(350);\n\nvar _select2 = _interopRequireDefault(_select);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.select\", [\"oui.field\", \"ui.select\", \"ngSanitize\"]).directive(\"ouiSelect\", _select2.default);\n\n/***/ }),\n/* 346 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _keys = __webpack_require__(56);\n\nvar _keys2 = _interopRequireDefault(_keys);\n\nvar _popper = __webpack_require__(25);\n\nvar _popper2 = _interopRequireDefault(_popper);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n(function () {\n \"use strict\";\n\n var KEY = {\n TAB: 9,\n ENTER: 13,\n ESC: 27,\n SPACE: 32,\n LEFT: 37,\n UP: 38,\n RIGHT: 39,\n DOWN: 40,\n SHIFT: 16,\n CTRL: 17,\n ALT: 18,\n PAGE_UP: 33,\n PAGE_DOWN: 34,\n HOME: 36,\n END: 35,\n BACKSPACE: 8,\n DELETE: 46,\n COMMAND: 91,\n\n MAP: { 91: \"COMMAND\", 8: \"BACKSPACE\", 9: \"TAB\", 13: \"ENTER\", 16: \"SHIFT\", 17: \"CTRL\", 18: \"ALT\", 19: \"PAUSEBREAK\", 20: \"CAPSLOCK\", 27: \"ESC\", 32: \"SPACE\", 33: \"PAGE_UP\", 34: \"PAGE_DOWN\", 35: \"END\", 36: \"HOME\", 37: \"LEFT\", 38: \"UP\", 39: \"RIGHT\", 40: \"DOWN\", 43: \"+\", 44: \"PRINTSCREEN\", 45: \"INSERT\", 46: \"DELETE\", 48: \"0\", 49: \"1\", 50: \"2\", 51: \"3\", 52: \"4\", 53: \"5\", 54: \"6\", 55: \"7\", 56: \"8\", 57: \"9\", 59: \";\", 61: \"=\", 65: \"A\", 66: \"B\", 67: \"C\", 68: \"D\", 69: \"E\", 70: \"F\", 71: \"G\", 72: \"H\", 73: \"I\", 74: \"J\", 75: \"K\", 76: \"L\", 77: \"M\", 78: \"N\", 79: \"O\", 80: \"P\", 81: \"Q\", 82: \"R\", 83: \"S\", 84: \"T\", 85: \"U\", 86: \"V\", 87: \"W\", 88: \"X\", 89: \"Y\", 90: \"Z\", 96: \"0\", 97: \"1\", 98: \"2\", 99: \"3\", 100: \"4\", 101: \"5\", 102: \"6\", 103: \"7\", 104: \"8\", 105: \"9\", 106: \"*\", 107: \"+\", 109: \"-\", 110: \".\", 111: \"/\", 112: \"F1\", 113: \"F2\", 114: \"F3\", 115: \"F4\", 116: \"F5\", 117: \"F6\", 118: \"F7\", 119: \"F8\", 120: \"F9\", 121: \"F10\", 122: \"F11\", 123: \"F12\", 144: \"NUMLOCK\", 145: \"SCROLLLOCK\", 186: \";\", 187: \"=\", 188: \",\", 189: \"-\", 190: \".\", 191: \"/\", 192: \"`\", 219: \"[\", 220: \"\\\\\", 221: \"]\", 222: \"'\"\n },\n\n isControl: function isControl(e) {\n var k = e.which;\n switch (k) {\n case KEY.COMMAND:\n case KEY.SHIFT:\n case KEY.CTRL:\n case KEY.ALT:\n return true;\n }\n\n if (e.metaKey || e.ctrlKey || e.altKey) return true;\n\n return false;\n },\n isFunctionKey: function isFunctionKey(k) {\n k = k.which ? k.which : k;\n return k >= 112 && k <= 123;\n },\n isVerticalMovement: function isVerticalMovement(k) {\n return ~[KEY.UP, KEY.DOWN].indexOf(k);\n },\n isHorizontalMovement: function isHorizontalMovement(k) {\n return ~[KEY.LEFT, KEY.RIGHT, KEY.BACKSPACE, KEY.DELETE].indexOf(k);\n },\n toSeparator: function toSeparator(k) {\n var sep = { ENTER: \"\\n\", TAB: \"\\t\", SPACE: \" \" }[k];\n if (sep) return sep;\n\n return KEY[k] ? undefined : k;\n }\n };\n\n function isNil(value) {\n return angular.isUndefined(value) || value === null;\n }\n\n if (angular.element.prototype.querySelectorAll === undefined) {\n angular.element.prototype.querySelectorAll = function (selector) {\n return angular.element(this[0].querySelectorAll(selector));\n };\n }\n\n if (angular.element.prototype.closest === undefined) {\n angular.element.prototype.closest = function (selector) {\n var elem = this[0];\n var matchesSelector = elem.matches || elem.webkitMatchesSelector || elem.mozMatchesSelector || elem.msMatchesSelector;\n\n while (elem) {\n if (matchesSelector.bind(elem)(selector)) {\n return elem;\n } else {\n elem = elem.parentElement;\n }\n }\n return false;\n };\n }\n\n var latestId = 0;\n\n var uis = angular.module('ui.select', []).constant('uiSelectConfig', {\n theme: 'bootstrap',\n searchEnabled: true,\n sortable: false,\n placeholder: '',\n refreshDelay: 1000,\n closeOnSelect: true,\n skipFocusser: false,\n dropdownPosition: 'auto',\n removeSelected: true,\n resetSearchInput: true,\n generateId: function generateId() {\n return latestId++;\n },\n appendToBody: false,\n spinnerEnabled: false,\n spinnerClass: 'glyphicon glyphicon-refresh ui-select-spin',\n backspaceReset: true\n }).service('uiSelectMinErr', function () {\n var minErr = angular.$$minErr('ui.select');\n return function () {\n var error = minErr.apply(this, arguments);\n var message = error.message.replace(new RegExp('\\nhttp://errors.angularjs.org/.*'), '');\n return new Error(message);\n };\n }).directive('uisTranscludeAppend', function () {\n return {\n link: function link(scope, element, attrs, ctrl, transclude) {\n transclude(scope, function (clone) {\n element.append(clone);\n });\n }\n };\n }).filter('highlight', function () {\n function escapeRegexp(queryToEscape) {\n return ('' + queryToEscape).replace(/([.?*+^$[\\]\\\\(){}|-])/g, '\\\\$1');\n }\n\n return function (matchItem, query) {\n return query && matchItem ? ('' + matchItem).replace(new RegExp(escapeRegexp(query), 'gi'), '$&') : matchItem;\n };\n }).factory('uisOffset', ['$document', '$window', function ($document, $window) {\n\n return function (element) {\n var boundingClientRect = element[0].getBoundingClientRect();\n return {\n width: boundingClientRect.width || element.prop('offsetWidth'),\n height: boundingClientRect.height || element.prop('offsetHeight'),\n top: boundingClientRect.top + ($window.pageYOffset || $document[0].documentElement.scrollTop),\n left: boundingClientRect.left + ($window.pageXOffset || $document[0].documentElement.scrollLeft)\n };\n };\n }]);\n\n uis.factory('$$uisDebounce', ['$timeout', function ($timeout) {\n return function (callback, debounceTime) {\n var timeoutPromise;\n\n return function () {\n var self = this;\n var args = Array.prototype.slice.call(arguments);\n if (timeoutPromise) {\n $timeout.cancel(timeoutPromise);\n }\n\n timeoutPromise = $timeout(function () {\n callback.apply(self, args);\n }, debounceTime);\n };\n };\n }]);\n\n uis.directive('uiSelectChoices', ['uiSelectConfig', 'uisRepeatParser', 'uiSelectMinErr', '$compile', '$window', function (uiSelectConfig, RepeatParser, uiSelectMinErr, $compile, $window) {\n\n return {\n restrict: 'EA',\n require: '^uiSelect',\n replace: true,\n transclude: true,\n templateUrl: function templateUrl(tElement) {\n tElement.addClass('ui-select-choices');\n\n var theme = tElement.parent().attr('theme') || uiSelectConfig.theme;\n return theme + '/choices.tpl.html';\n },\n\n compile: function compile(tElement, tAttrs) {\n\n if (!tAttrs.repeat) throw uiSelectMinErr('repeat', \"Expected 'repeat' expression.\");\n\n var groupByExp = tAttrs.groupBy;\n var groupFilterExp = tAttrs.groupFilter;\n\n if (groupByExp) {\n var groups = tElement.querySelectorAll('.ui-select-choices-group');\n if (groups.length !== 1) throw uiSelectMinErr('rows', \"Expected 1 .ui-select-choices-group but got '{0}'.\", groups.length);\n groups.attr('ng-repeat', RepeatParser.getGroupNgRepeatExpression());\n }\n\n var parserResult = RepeatParser.parse(tAttrs.repeat);\n\n var choices = tElement.querySelectorAll('.ui-select-choices-row');\n if (choices.length !== 1) {\n throw uiSelectMinErr('rows', \"Expected 1 .ui-select-choices-row but got '{0}'.\", choices.length);\n }\n\n choices.attr('ng-repeat', parserResult.repeatExpression(groupByExp));\n\n\n var rowsInner = tElement.querySelectorAll('.ui-select-choices-row-inner');\n if (rowsInner.length !== 1) {\n throw uiSelectMinErr('rows', \"Expected 1 .ui-select-choices-row-inner but got '{0}'.\", rowsInner.length);\n }\n rowsInner.attr('uis-transclude-append', '');\n var clickTarget = $window.document.addEventListener ? choices : rowsInner;\n clickTarget.attr('ng-click', '$select.select(' + parserResult.itemName + ',$select.skipFocusser,$event)');\n\n return function link(scope, element, attrs, $select) {\n\n $select.parseRepeatAttr(attrs.repeat, groupByExp, groupFilterExp);\n $select.disableChoiceExpression = attrs.uiDisableChoice;\n $select.onHighlightCallback = attrs.onHighlight;\n $select.minimumInputLength = parseInt(attrs.minimumInputLength) || 0;\n $select.dropdownPosition = attrs.position ? attrs.position.toLowerCase() : uiSelectConfig.dropdownPosition;\n\n scope.$watch('$select.search', function (newValue) {\n if (newValue && !$select.open && $select.multiple) $select.activate(false, true);\n $select.activeIndex = $select.tagging.isActivated ? -1 : 0;\n if (!attrs.minimumInputLength || $select.search.length >= attrs.minimumInputLength) {\n $select.refresh(attrs.refresh);\n } else {\n $select.items = [];\n }\n });\n\n attrs.$observe('refreshDelay', function () {\n var refreshDelay = scope.$eval(attrs.refreshDelay);\n $select.refreshDelay = refreshDelay !== undefined ? refreshDelay : uiSelectConfig.refreshDelay;\n });\n\n scope.$watch('$select.open', function (open) {\n if (open) {\n tElement.attr('role', 'listbox');\n $select.refresh(attrs.refresh);\n } else {\n element.removeAttr('role');\n }\n });\n };\n }\n };\n }]);\n\n uis.controller('uiSelectCtrl', ['$scope', '$element', '$timeout', '$filter', '$$uisDebounce', 'uisRepeatParser', 'uiSelectMinErr', 'uiSelectConfig', '$parse', '$injector', '$window', '$document', '$attrs', function ($scope, $element, $timeout, $filter, $$uisDebounce, RepeatParser, uiSelectMinErr, uiSelectConfig, $parse, $injector, $window, $document, $attrs) {\n\n var ctrl = this;\n\n var EMPTY_SEARCH = '';\n\n ctrl.placeholder = uiSelectConfig.placeholder;\n ctrl.searchEnabled = uiSelectConfig.searchEnabled;\n ctrl.sortable = uiSelectConfig.sortable;\n ctrl.refreshDelay = uiSelectConfig.refreshDelay;\n ctrl.paste = uiSelectConfig.paste;\n ctrl.resetSearchInput = uiSelectConfig.resetSearchInput;\n ctrl.refreshing = false;\n ctrl.spinnerEnabled = uiSelectConfig.spinnerEnabled;\n ctrl.spinnerClass = uiSelectConfig.spinnerClass;\n ctrl.removeSelected = uiSelectConfig.removeSelected;\n ctrl.closeOnSelect = true;\n ctrl.skipFocusser = false;\n ctrl.search = EMPTY_SEARCH;\n\n ctrl.activeIndex = 0;\n ctrl.items = [];\n\n ctrl.open = false;\n ctrl.focus = false;\n ctrl.disabled = false;\n ctrl.selected = undefined;\n\n ctrl.dropdownPosition = 'auto';\n\n ctrl.focusser = undefined;\n ctrl.multiple = undefined;\n ctrl.disableChoiceExpression = undefined;\n ctrl.tagging = { isActivated: false, fct: undefined };\n ctrl.taggingTokens = { isActivated: false, tokens: undefined };\n ctrl.lockChoiceExpression = undefined;\n ctrl.clickTriggeredSelect = false;\n ctrl.$filter = $filter;\n ctrl.$element = $element;\n ctrl.$document = $document;\n\n ctrl.referenceElement = null;\n ctrl.popperElement = null;\n\n ctrl.align = $attrs['data-align'] || $attrs.align || 'start';\n\n ctrl.$animate = function () {\n try {\n return $injector.get('$animate');\n } catch (err) {\n return null;\n }\n }();\n\n ctrl.searchInput = $element.querySelectorAll('input.ui-select-search');\n if (ctrl.searchInput.length !== 1) {\n throw uiSelectMinErr('searchInput', \"Expected 1 input.ui-select-search but got '{0}'.\", ctrl.searchInput.length);\n }\n\n ctrl.isEmpty = function () {\n return isNil(ctrl.selected) || ctrl.selected === '' || ctrl.multiple && ctrl.selected.length === 0;\n };\n\n function _findIndex(collection, predicate, thisArg) {\n if (collection.findIndex) {\n return collection.findIndex(predicate, thisArg);\n } else {\n var list = Object(collection);\n var length = list.length >>> 0;\n var value;\n\n for (var i = 0; i < length; i++) {\n value = list[i];\n if (predicate.call(thisArg, value, i, list)) {\n return i;\n }\n }\n return -1;\n }\n }\n\n function _resetSearchInput() {\n if (ctrl.resetSearchInput) {\n ctrl.search = EMPTY_SEARCH;\n\n if (ctrl.selected && ctrl.items.length && !ctrl.multiple) {\n ctrl.activeIndex = _findIndex(ctrl.items, function (item) {\n return angular.equals(this, item);\n }, ctrl.selected);\n }\n }\n }\n\n function _groupsFilter(groups, groupNames) {\n var i,\n j,\n result = [];\n for (i = 0; i < groupNames.length; i++) {\n for (j = 0; j < groups.length; j++) {\n if (groups[j].name == [groupNames[i]]) {\n result.push(groups[j]);\n }\n }\n }\n return result;\n }\n\n ctrl.activate = function (initSearchValue, avoidReset) {\n if (!ctrl.disabled && !ctrl.open) {\n if (!avoidReset) _resetSearchInput();\n\n $scope.$broadcast('uis:activate');\n ctrl.open = true;\n ctrl.activeIndex = ctrl.activeIndex >= ctrl.items.length ? 0 : ctrl.activeIndex;\n\n if (ctrl.activeIndex === -1 && ctrl.taggingLabel !== false) {\n ctrl.activeIndex = 0;\n }\n\n var container = $element.querySelectorAll('.ui-select-choices-content');\n var searchInput = $element.querySelectorAll('.ui-select-search');\n if (ctrl.$animate && ctrl.$animate.on && ctrl.$animate.enabled(container[0])) {\n var animateHandler = function animateHandler(elem, phase) {\n if (phase === 'start' && ctrl.items.length === 0) {\n ctrl.$animate.off('removeClass', searchInput[0], animateHandler);\n $timeout(function () {\n ctrl.focusSearchInput(initSearchValue);\n });\n } else if (phase === 'close') {\n ctrl.$animate.off('enter', container[0], animateHandler);\n $timeout(function () {\n ctrl.focusSearchInput(initSearchValue);\n });\n }\n };\n\n if (ctrl.items.length > 0) {\n ctrl.$animate.on('enter', container[0], animateHandler);\n } else {\n ctrl.$animate.on('removeClass', searchInput[0], animateHandler);\n }\n } else {\n $timeout(function () {\n ctrl.focusSearchInput(initSearchValue);\n if (!ctrl.tagging.isActivated && ctrl.items.length > 1) {\n _ensureHighlightVisible();\n }\n });\n }\n\n ctrl.referenceElement = $element[0].querySelector('.oui-button_dropdown');\n ctrl.popperElement = $element[0].querySelector('.ui-select-choices-container');\n\n createPopper();\n } else if (ctrl.open && !ctrl.searchEnabled) {\n ctrl.close();\n }\n };\n\n function createPopper() {\n var placement = \"bottom\";\n\n if ([\"start\", \"end\"].indexOf(ctrl.align) >= 0) {\n placement += \"-\" + ctrl.align;\n }\n\n ctrl.popper = new _popper2.default(ctrl.referenceElement, ctrl.popperElement, {\n placement: placement,\n modifiers: {\n preventOverflow: {\n boundariesElement: ctrl.$document[0].body\n }\n }\n });\n\n ctrl.popperElement.style.minWidth = ctrl.referenceElement.offsetWidth + \"px\";\n }\n\n ctrl.focusSearchInput = function (initSearchValue) {\n ctrl.search = initSearchValue || ctrl.search;\n ctrl.searchInput[0].focus();\n };\n\n ctrl.findGroupByName = function (name) {\n return ctrl.groups && ctrl.groups.filter(function (group) {\n return group.name === name;\n })[0];\n };\n\n ctrl.parseRepeatAttr = function (repeatAttr, groupByExp, groupFilterExp) {\n function updateGroups(items) {\n var groupFn = $scope.$eval(groupByExp);\n ctrl.groups = [];\n angular.forEach(items, function (item) {\n var groupName = angular.isFunction(groupFn) ? groupFn(item) : item[groupFn];\n var group = ctrl.findGroupByName(groupName);\n if (group) {\n group.items.push(item);\n } else {\n ctrl.groups.push({ name: groupName, items: [item] });\n }\n });\n if (groupFilterExp) {\n var groupFilterFn = $scope.$eval(groupFilterExp);\n if (angular.isFunction(groupFilterFn)) {\n ctrl.groups = groupFilterFn(ctrl.groups);\n } else if (angular.isArray(groupFilterFn)) {\n ctrl.groups = _groupsFilter(ctrl.groups, groupFilterFn);\n }\n }\n ctrl.items = [];\n ctrl.groups.forEach(function (group) {\n ctrl.items = ctrl.items.concat(group.items);\n });\n }\n\n function setPlainItems(items) {\n ctrl.items = items || [];\n }\n\n ctrl.setItemsFn = groupByExp ? updateGroups : setPlainItems;\n\n ctrl.parserResult = RepeatParser.parse(repeatAttr);\n\n ctrl.isGrouped = !!groupByExp;\n ctrl.itemProperty = ctrl.parserResult.itemName;\n\n var originalSource = ctrl.parserResult.source;\n\n var createArrayFromObject = function createArrayFromObject() {\n var origSrc = originalSource($scope);\n $scope.$uisSource = (0, _keys2.default)(origSrc).map(function (v) {\n var result = {};\n result[ctrl.parserResult.keyName] = v;\n result.value = origSrc[v];\n return result;\n });\n };\n\n if (ctrl.parserResult.keyName) {\n createArrayFromObject();\n ctrl.parserResult.source = $parse('$uisSource' + ctrl.parserResult.filters);\n $scope.$watch(originalSource, function (newVal, oldVal) {\n if (newVal !== oldVal) createArrayFromObject();\n }, true);\n }\n\n ctrl.refreshItems = function (data) {\n data = data || ctrl.parserResult.source($scope);\n var selectedItems = ctrl.selected;\n\n if (ctrl.isEmpty() || angular.isArray(selectedItems) && !selectedItems.length || !ctrl.multiple || !ctrl.removeSelected) {\n ctrl.setItemsFn(data);\n } else {\n if (data !== undefined && data !== null) {\n var filteredItems = data.filter(function (i) {\n return angular.isArray(selectedItems) ? selectedItems.every(function (selectedItem) {\n return !angular.equals(i, selectedItem);\n }) : !angular.equals(i, selectedItems);\n });\n ctrl.setItemsFn(filteredItems);\n }\n }\n if (ctrl.dropdownPosition === 'auto' || ctrl.dropdownPosition === 'up') {\n $scope.calculateDropdownPos();\n }\n $scope.$broadcast('uis:refresh');\n };\n\n $scope.$watchCollection(ctrl.parserResult.source, function (items) {\n if (items === undefined || items === null) {\n ctrl.items = [];\n } else {\n if (!angular.isArray(items)) {\n throw uiSelectMinErr('items', \"Expected an array but got '{0}'.\", items);\n } else {\n ctrl.refreshItems(items);\n\n if (angular.isDefined(ctrl.ngModel.$modelValue)) {\n ctrl.ngModel.$modelValue = null;\n }\n }\n }\n });\n };\n\n var _refreshDelayPromise;\n\n ctrl.refresh = function (refreshAttr) {\n if (refreshAttr !== undefined) {\n if (_refreshDelayPromise) {\n $timeout.cancel(_refreshDelayPromise);\n }\n _refreshDelayPromise = $timeout(function () {\n if ($scope.$select.search.length >= $scope.$select.minimumInputLength) {\n var refreshPromise = $scope.$eval(refreshAttr);\n if (refreshPromise && angular.isFunction(refreshPromise.then) && !ctrl.refreshing) {\n ctrl.refreshing = true;\n refreshPromise.finally(function () {\n ctrl.refreshing = false;\n });\n }\n }\n }, ctrl.refreshDelay);\n }\n };\n\n ctrl.isActive = function (itemScope) {\n if (!ctrl.open) {\n return false;\n }\n\n var itemIndex = ctrl.items.indexOf(itemScope[ctrl.itemProperty]);\n var isActive = itemIndex == ctrl.activeIndex;\n\n if (!isActive || itemIndex < 0) {\n return false;\n }\n\n if (isActive && !angular.isUndefined(ctrl.onHighlightCallback)) {\n itemScope.$eval(ctrl.onHighlightCallback);\n }\n\n return isActive;\n };\n\n var _isItemSelected = function _isItemSelected(item) {\n return ctrl.selected && angular.isArray(ctrl.selected) && ctrl.selected.filter(function (selection) {\n return angular.equals(selection, item);\n }).length > 0;\n };\n\n ctrl.isSelected = function (itemScope) {\n var item = itemScope.$item;\n var selected = ctrl.selected;\n if (!angular.isArray(selected)) {\n return angular.equals(selected, item);\n }\n return _isItemSelected(item);\n };\n\n var disabledItems = [];\n\n function _updateItemDisabled(item, isDisabled) {\n var disabledItemIndex = disabledItems.indexOf(item);\n if (isDisabled && disabledItemIndex === -1) {\n disabledItems.push(item);\n }\n\n if (!isDisabled && disabledItemIndex > -1) {\n disabledItems.splice(disabledItemIndex, 1);\n }\n }\n\n function _isItemDisabled(item) {\n return disabledItems.indexOf(item) > -1;\n }\n\n ctrl.isDisabled = function (itemScope) {\n\n if (!ctrl.open) return;\n\n var item = itemScope[ctrl.itemProperty];\n var itemIndex = ctrl.items.indexOf(item);\n var isDisabled = false;\n\n if (itemIndex >= 0 && (angular.isDefined(ctrl.disableChoiceExpression) || ctrl.multiple)) {\n\n if (item.isTag) return false;\n\n if (ctrl.multiple) {\n isDisabled = _isItemSelected(item);\n }\n\n if (!isDisabled && angular.isDefined(ctrl.disableChoiceExpression)) {\n isDisabled = !!itemScope.$eval(ctrl.disableChoiceExpression);\n }\n\n _updateItemDisabled(item, isDisabled);\n }\n\n return isDisabled;\n };\n\n ctrl.select = function (item, skipFocusser, $event) {\n if (isNil(item) || !_isItemDisabled(item)) {\n\n if (!ctrl.items && !ctrl.search && !ctrl.tagging.isActivated) return;\n\n if (!item || !_isItemDisabled(item)) {\n ctrl.clickTriggeredSelect = false;\n if ($event && ($event.type === 'click' || $event.type === 'touchend') && item) ctrl.clickTriggeredSelect = true;\n\n if (ctrl.tagging.isActivated && ctrl.clickTriggeredSelect === false) {\n if (ctrl.taggingLabel === false) {\n if (ctrl.activeIndex < 0) {\n if (item === undefined) {\n item = ctrl.tagging.fct !== undefined ? ctrl.tagging.fct(ctrl.search) : ctrl.search;\n }\n if (!item || angular.equals(ctrl.items[0], item)) {\n return;\n }\n } else {\n item = ctrl.items[ctrl.activeIndex];\n }\n } else {\n if (ctrl.activeIndex === 0) {\n if (item === undefined) return;\n\n if (ctrl.tagging.fct !== undefined && typeof item === 'string') {\n item = ctrl.tagging.fct(item);\n if (!item) return;\n } else if (typeof item === 'string') {\n item = item.replace(ctrl.taggingLabel, '').trim();\n }\n }\n }\n\n if (_isItemSelected(item)) {\n ctrl.close(skipFocusser);\n return;\n }\n }\n _resetSearchInput();\n $scope.$broadcast('uis:select', item);\n\n if (ctrl.closeOnSelect) {\n ctrl.close(skipFocusser);\n }\n }\n }\n };\n\n ctrl.close = function (skipFocusser) {\n if (!ctrl.open) return;\n if (ctrl.ngModel && ctrl.ngModel.$setTouched) ctrl.ngModel.$setTouched();\n ctrl.open = false;\n _resetSearchInput();\n $scope.$broadcast('uis:close', skipFocusser);\n };\n\n ctrl.setFocus = function () {\n if (!ctrl.focus) ctrl.focusInput[0].focus();\n };\n\n ctrl.clear = function ($event) {\n ctrl.select(null);\n $event.stopPropagation();\n $timeout(function () {\n ctrl.focusser[0].focus();\n }, 0, false);\n };\n\n ctrl.toggle = function (e) {\n if (ctrl.open) {\n ctrl.close();\n e.preventDefault();\n e.stopPropagation();\n } else {\n ctrl.activate();\n }\n };\n\n ctrl.isLocked = function () {\n return false;\n };\n\n $scope.$watch(function () {\n return angular.isDefined(ctrl.lockChoiceExpression) && ctrl.lockChoiceExpression !== \"\";\n }, _initaliseLockedChoices);\n\n function _initaliseLockedChoices(doInitalise) {\n if (!doInitalise) return;\n\n var lockedItems = [];\n\n function _updateItemLocked(item, isLocked) {\n var lockedItemIndex = lockedItems.indexOf(item);\n if (isLocked && lockedItemIndex === -1) {\n lockedItems.push(item);\n }\n\n if (!isLocked && lockedItemIndex > -1) {\n lockedItems.splice(lockedItemIndex, 1);\n }\n }\n\n function _isItemlocked(item) {\n return lockedItems.indexOf(item) > -1;\n }\n\n ctrl.isLocked = function (itemScope, itemIndex) {\n var isLocked = false,\n item = ctrl.selected[itemIndex];\n\n if (item) {\n if (itemScope) {\n isLocked = !!itemScope.$eval(ctrl.lockChoiceExpression);\n _updateItemLocked(item, isLocked);\n } else {\n isLocked = _isItemlocked(item);\n }\n }\n\n return isLocked;\n };\n }\n\n var sizeWatch = null;\n var updaterScheduled = false;\n ctrl.sizeSearchInput = function () {\n\n var input = ctrl.searchInput[0],\n container = ctrl.$element[0],\n calculateContainerWidth = function calculateContainerWidth() {\n return container.clientWidth * !!input.offsetParent;\n },\n updateIfVisible = function updateIfVisible(containerWidth) {\n if (containerWidth === 0) {\n return false;\n }\n var inputWidth = containerWidth - input.offsetLeft;\n if (inputWidth < 50) inputWidth = containerWidth;\n ctrl.searchInput.css('width', inputWidth + 'px');\n return true;\n };\n\n ctrl.searchInput.css('width', '10px');\n $timeout(function () {\n if (sizeWatch === null && !updateIfVisible(calculateContainerWidth())) {\n sizeWatch = $scope.$watch(function () {\n if (!updaterScheduled) {\n updaterScheduled = true;\n $scope.$$postDigest(function () {\n updaterScheduled = false;\n if (updateIfVisible(calculateContainerWidth())) {\n sizeWatch();\n sizeWatch = null;\n }\n });\n }\n }, angular.noop);\n }\n });\n };\n\n function _handleDropDownSelection(key) {\n var processed = true;\n switch (key) {\n case KEY.DOWN:\n if (!ctrl.open && ctrl.multiple) ctrl.activate(false, true);else if (ctrl.activeIndex < ctrl.items.length - 1) {\n var idx = ++ctrl.activeIndex;\n while (_isItemDisabled(ctrl.items[idx]) && idx < ctrl.items.length) {\n ctrl.activeIndex = ++idx;\n }\n }\n break;\n case KEY.UP:\n var minActiveIndex = ctrl.search.length === 0 && ctrl.tagging.isActivated ? -1 : 0;\n if (!ctrl.open && ctrl.multiple) ctrl.activate(false, true);else if (ctrl.activeIndex > minActiveIndex) {\n var idxmin = --ctrl.activeIndex;\n while (_isItemDisabled(ctrl.items[idxmin]) && idxmin > minActiveIndex) {\n ctrl.activeIndex = --idxmin;\n }\n }\n break;\n case KEY.TAB:\n if (!ctrl.multiple || ctrl.open) ctrl.select(ctrl.items[ctrl.activeIndex], true);\n break;\n case KEY.ENTER:\n if (ctrl.open && (ctrl.tagging.isActivated || ctrl.activeIndex >= 0)) {\n ctrl.select(ctrl.items[ctrl.activeIndex], ctrl.skipFocusser);\n } else {\n ctrl.activate(false, true);\n }\n break;\n case KEY.ESC:\n ctrl.close();\n break;\n default:\n processed = false;\n }\n return processed;\n }\n\n ctrl.keydownHandler = function (e) {\n var key = e.which;\n\n if (~[KEY.ENTER, KEY.ESC].indexOf(key)) {\n e.preventDefault();\n e.stopPropagation();\n }\n\n if (KEY.TAB === key) {\n return;\n }\n\n $scope.$apply(function () {\n\n var tagged = false;\n\n if (ctrl.items.length > 0 || ctrl.tagging.isActivated) {\n if (!_handleDropDownSelection(key) && !ctrl.searchEnabled) {\n e.preventDefault();\n e.stopPropagation();\n }\n if (ctrl.taggingTokens.isActivated) {\n for (var i = 0; i < ctrl.taggingTokens.tokens.length; i++) {\n if (ctrl.taggingTokens.tokens[i] === KEY.MAP[e.keyCode]) {\n if (ctrl.search.length > 0) {\n tagged = true;\n }\n }\n }\n if (tagged) {\n $timeout(function () {\n ctrl.searchInput.triggerHandler('tagged');\n var newItem = ctrl.search.replace(KEY.MAP[e.keyCode], '').trim();\n if (ctrl.tagging.fct) {\n newItem = ctrl.tagging.fct(newItem);\n }\n if (newItem) ctrl.select(newItem, true);\n });\n }\n }\n }\n });\n\n if (KEY.isVerticalMovement(key) && ctrl.items.length > 0) {\n e.preventDefault();\n _ensureHighlightVisible();\n }\n\n if (key === KEY.ENTER || key === KEY.ESC) {\n e.preventDefault();\n e.stopPropagation();\n }\n };\n\n ctrl.searchInput.on('keydown', ctrl.keydownHandler);\n\n ctrl.searchInput.on('paste', function (e) {\n var data;\n\n if (window.clipboardData && window.clipboardData.getData) {\n data = window.clipboardData.getData('Text');\n } else {\n data = (e.originalEvent || e).clipboardData.getData('text/plain');\n }\n\n data = ctrl.search + data;\n\n if (data && data.length > 0) {\n if (ctrl.taggingTokens.isActivated) {\n var items = [];\n for (var i = 0; i < ctrl.taggingTokens.tokens.length; i++) {\n var separator = KEY.toSeparator(ctrl.taggingTokens.tokens[i]) || ctrl.taggingTokens.tokens[i];\n if (data.indexOf(separator) > -1) {\n items = data.split(separator);\n break;\n }\n }\n if (items.length === 0) {\n items = [data];\n }\n var oldsearch = ctrl.search;\n angular.forEach(items, function (item) {\n var newItem = ctrl.tagging.fct ? ctrl.tagging.fct(item) : item;\n if (newItem) {\n ctrl.select(newItem, true);\n }\n });\n ctrl.search = oldsearch || EMPTY_SEARCH;\n e.preventDefault();\n e.stopPropagation();\n } else if (ctrl.paste) {\n ctrl.paste(data);\n ctrl.search = EMPTY_SEARCH;\n e.preventDefault();\n e.stopPropagation();\n }\n }\n });\n\n ctrl.searchInput.on('tagged', function () {\n $timeout(function () {\n _resetSearchInput();\n });\n });\n\n function _ensureHighlightVisible() {\n var container = $element.querySelectorAll('.ui-select-choices-content');\n var choices = container.querySelectorAll('.ui-select-choices-row');\n if (choices.length < 1) {\n throw uiSelectMinErr('choices', \"Expected multiple .ui-select-choices-row but got '{0}'.\", choices.length);\n }\n\n if (ctrl.activeIndex < 0) {\n return;\n }\n\n var highlighted = choices[ctrl.activeIndex];\n var posY = highlighted.offsetTop + highlighted.clientHeight - container[0].scrollTop;\n var height = container[0].offsetHeight;\n\n if (posY > height) {\n container[0].scrollTop += posY - height;\n } else if (posY < highlighted.clientHeight) {\n if (ctrl.isGrouped && ctrl.activeIndex === 0) container[0].scrollTop = 0;else container[0].scrollTop -= highlighted.clientHeight - posY;\n }\n }\n\n var onResize = $$uisDebounce(function () {\n ctrl.sizeSearchInput();\n }, 50);\n\n angular.element($window).bind('resize', onResize);\n\n $scope.$on('$destroy', function () {\n ctrl.searchInput.off('keyup keydown tagged blur paste');\n angular.element($window).off('resize', onResize);\n });\n\n $scope.$watch('$select.activeIndex', function (activeIndex) {\n if (activeIndex) $element.find('input').attr('aria-activedescendant', 'ui-select-choices-row-' + ctrl.generatedId + '-' + activeIndex);\n });\n\n $scope.$watch('$select.open', function (open) {\n if (!open) $element.find('input').removeAttr('aria-activedescendant');\n });\n }]);\n\n uis.directive('uiSelect', ['$document', 'uiSelectConfig', 'uiSelectMinErr', 'uisOffset', '$compile', '$parse', '$timeout', function ($document, uiSelectConfig, uiSelectMinErr, uisOffset, $compile, $parse, $timeout) {\n\n return {\n restrict: 'EA',\n templateUrl: function templateUrl(tElement, tAttrs) {\n var theme = tAttrs.theme || uiSelectConfig.theme;\n return theme + (angular.isDefined(tAttrs.multiple) ? '/select-multiple.tpl.html' : '/select.tpl.html');\n },\n replace: true,\n transclude: true,\n require: ['uiSelect', '^ngModel'],\n scope: true,\n\n controller: 'uiSelectCtrl',\n controllerAs: '$select',\n compile: function compile(tElement, tAttrs) {\n var match = /{(.*)}\\s*{(.*)}/.exec(tAttrs.ngClass);\n if (match) {\n var combined = '{' + match[1] + ', ' + match[2] + '}';\n tAttrs.ngClass = combined;\n tElement.attr('ng-class', combined);\n }\n\n if (angular.isDefined(tAttrs.multiple)) tElement.append('').removeAttr('multiple');else tElement.append('');\n\n if (tAttrs.inputId) tElement.querySelectorAll('input.ui-select-search')[0].id = tAttrs.inputId;\n\n return function (scope, element, attrs, ctrls, transcludeFn) {\n\n var $select = ctrls[0];\n var ngModel = ctrls[1];\n\n $select.generatedId = uiSelectConfig.generateId();\n $select.baseTitle = attrs.title || 'Select box';\n $select.focusserTitle = $select.baseTitle + ' focus';\n $select.focusserId = 'focusser-' + $select.generatedId;\n\n $select.closeOnSelect = function () {\n if (angular.isDefined(attrs.closeOnSelect)) {\n return $parse(attrs.closeOnSelect)();\n } else {\n return uiSelectConfig.closeOnSelect;\n }\n }();\n\n scope.$watch('skipFocusser', function () {\n var skipFocusser = scope.$eval(attrs.skipFocusser);\n $select.skipFocusser = skipFocusser !== undefined ? skipFocusser : uiSelectConfig.skipFocusser;\n });\n\n $select.onSelectCallback = $parse(attrs.onSelect);\n $select.onRemoveCallback = $parse(attrs.onRemove);\n $select.onBlurCallback = $parse(attrs.onBlur);\n $select.onFocusCallback = $parse(attrs.onFocus);\n $select.onBlur = function () {\n $select.onBlurCallback(scope);\n };\n $select.onFocus = function () {\n $select.onFocusCallback(scope);\n };\n\n $select.ngModel = ngModel;\n\n $select.choiceGrouped = function (group) {\n return $select.isGrouped && group && group.name;\n };\n\n if (attrs.tabindex) {\n attrs.$observe('tabindex', function (value) {\n $select.focusInput.attr('tabindex', value);\n element.removeAttr('tabindex');\n });\n }\n\n scope.$watch(function () {\n return scope.$eval(attrs.searchEnabled);\n }, function (newVal) {\n $select.searchEnabled = newVal !== undefined ? newVal : uiSelectConfig.searchEnabled;\n });\n\n scope.$watch('sortable', function () {\n var sortable = scope.$eval(attrs.sortable);\n $select.sortable = sortable !== undefined ? sortable : uiSelectConfig.sortable;\n });\n\n attrs.$observe('backspaceReset', function () {\n var backspaceReset = scope.$eval(attrs.backspaceReset);\n $select.backspaceReset = backspaceReset !== undefined ? backspaceReset : true;\n });\n\n attrs.$observe('limit', function () {\n $select.limit = angular.isDefined(attrs.limit) ? parseInt(attrs.limit, 10) : undefined;\n });\n\n scope.$watch('removeSelected', function () {\n var removeSelected = scope.$eval(attrs.removeSelected);\n $select.removeSelected = removeSelected !== undefined ? removeSelected : uiSelectConfig.removeSelected;\n });\n\n attrs.$observe('disabled', function () {\n $select.disabled = attrs.disabled !== undefined ? attrs.disabled : false;\n });\n\n attrs.$observe('resetSearchInput', function () {\n var resetSearchInput = scope.$eval(attrs.resetSearchInput);\n $select.resetSearchInput = resetSearchInput !== undefined ? resetSearchInput : true;\n });\n\n attrs.$observe('paste', function () {\n $select.paste = scope.$eval(attrs.paste);\n });\n\n attrs.$observe('tagging', function () {\n if (attrs.tagging !== undefined) {\n var taggingEval = scope.$eval(attrs.tagging);\n $select.tagging = { isActivated: true, fct: taggingEval !== true ? taggingEval : undefined };\n } else {\n $select.tagging = { isActivated: false, fct: undefined };\n }\n });\n\n attrs.$observe('taggingLabel', function () {\n if (attrs.tagging !== undefined) {\n if (attrs.taggingLabel === 'false') {\n $select.taggingLabel = false;\n } else {\n $select.taggingLabel = attrs.taggingLabel !== undefined ? attrs.taggingLabel : '(new)';\n }\n }\n });\n\n attrs.$observe('taggingTokens', function () {\n if (attrs.tagging !== undefined) {\n var tokens = attrs.taggingTokens !== undefined ? attrs.taggingTokens.split('|') : [',', 'ENTER'];\n $select.taggingTokens = { isActivated: true, tokens: tokens };\n }\n });\n\n attrs.$observe('spinnerEnabled', function () {\n var spinnerEnabled = scope.$eval(attrs.spinnerEnabled);\n $select.spinnerEnabled = spinnerEnabled !== undefined ? spinnerEnabled : uiSelectConfig.spinnerEnabled;\n });\n\n attrs.$observe('spinnerClass', function () {\n var spinnerClass = attrs.spinnerClass;\n $select.spinnerClass = spinnerClass !== undefined ? attrs.spinnerClass : uiSelectConfig.spinnerClass;\n });\n\n if (angular.isDefined(attrs.autofocus)) {\n $timeout(function () {\n $select.setFocus();\n });\n }\n\n if (angular.isDefined(attrs.focusOn)) {\n scope.$on(attrs.focusOn, function () {\n $timeout(function () {\n $select.setFocus();\n });\n });\n }\n\n function onDocumentClick(e) {\n if (!$select.open) return;\n\n var contains = false;\n\n if (window.jQuery) {\n contains = window.jQuery.contains(element[0], e.target);\n } else {\n contains = element[0].contains(e.target);\n }\n\n if (!contains && !$select.clickTriggeredSelect) {\n var skipFocusser;\n if (!$select.skipFocusser) {\n var focusableControls = ['input', 'button', 'textarea', 'select'];\n var targetController = angular.element(e.target).controller('uiSelect');\n skipFocusser = targetController && targetController !== $select;\n if (!skipFocusser) skipFocusser = ~focusableControls.indexOf(e.target.tagName.toLowerCase());\n } else {\n skipFocusser = true;\n }\n $select.close(skipFocusser);\n scope.$digest();\n }\n $select.clickTriggeredSelect = false;\n }\n\n $document.on('click', onDocumentClick);\n\n scope.$on('$destroy', function () {\n $document.off('click', onDocumentClick);\n });\n\n transcludeFn(scope, function (clone) {\n var transcluded = angular.element('
').append(clone);\n\n var transcludedMatch = transcluded.querySelectorAll('.ui-select-match');\n transcludedMatch.removeAttr('ui-select-match');\n transcludedMatch.removeAttr('data-ui-select-match');\n if (transcludedMatch.length !== 1) {\n throw uiSelectMinErr('transcluded', \"Expected 1 .ui-select-match but got '{0}'.\", transcludedMatch.length);\n }\n element.querySelectorAll('.ui-select-match').replaceWith(transcludedMatch);\n\n var transcludedChoices = transcluded.querySelectorAll('.ui-select-choices');\n transcludedChoices.removeAttr('ui-select-choices');\n transcludedChoices.removeAttr('data-ui-select-choices');\n if (transcludedChoices.length !== 1) {\n throw uiSelectMinErr('transcluded', \"Expected 1 .ui-select-choices but got '{0}'.\", transcludedChoices.length);\n }\n element.querySelectorAll('.ui-select-choices').replaceWith(transcludedChoices);\n\n var transcludedNoChoice = transcluded.querySelectorAll('.ui-select-no-choice');\n transcludedNoChoice.removeAttr('ui-select-no-choice');\n transcludedNoChoice.removeAttr('data-ui-select-no-choice');\n if (transcludedNoChoice.length == 1) {\n element.querySelectorAll('.ui-select-no-choice').replaceWith(transcludedNoChoice);\n }\n });\n\n var appendToBody = scope.$eval(attrs.appendToBody);\n if (appendToBody !== undefined ? appendToBody : uiSelectConfig.appendToBody) {\n scope.$watch('$select.open', function (isOpen) {\n if (isOpen) {\n positionDropdown();\n } else {\n resetDropdown();\n }\n });\n\n scope.$on('$destroy', function () {\n resetDropdown();\n });\n }\n\n var placeholder = null,\n originalWidth = '';\n\n function positionDropdown() {\n var offset = uisOffset(element);\n\n placeholder = angular.element('
');\n placeholder[0].style.width = offset.width + 'px';\n placeholder[0].style.height = offset.height + 'px';\n element.after(placeholder);\n\n originalWidth = element[0].style.width;\n\n $document.find('body').append(element);\n\n element[0].style.position = 'absolute';\n element[0].style.left = offset.left + 'px';\n element[0].style.top = offset.top + 'px';\n element[0].style.width = offset.width + 'px';\n }\n\n function resetDropdown() {\n if (placeholder === null) {\n return;\n }\n\n placeholder.replaceWith(element);\n placeholder = null;\n\n element[0].style.position = '';\n element[0].style.left = '';\n element[0].style.top = '';\n element[0].style.width = originalWidth;\n\n $select.setFocus();\n }\n\n var dropdown = null,\n directionUpClassName = 'direction-up';\n\n scope.$watch('$select.open', function () {\n\n if ($select.dropdownPosition === 'auto' || $select.dropdownPosition === 'up') {\n scope.calculateDropdownPos();\n }\n });\n\n var setDropdownPosUp = function setDropdownPosUp(offset, offsetDropdown) {\n\n offset = offset || uisOffset(element);\n offsetDropdown = offsetDropdown || uisOffset(dropdown);\n\n dropdown[0].style.position = 'absolute';\n dropdown[0].style.top = offsetDropdown.height * -1 + 'px';\n element.addClass(directionUpClassName);\n };\n\n var setDropdownPosDown = function setDropdownPosDown(offset, offsetDropdown) {\n\n element.removeClass(directionUpClassName);\n\n offset = offset || uisOffset(element);\n offsetDropdown = offsetDropdown || uisOffset(dropdown);\n\n dropdown[0].style.position = '';\n dropdown[0].style.top = '';\n };\n\n var calculateDropdownPosAfterAnimation = function calculateDropdownPosAfterAnimation() {\n $timeout(function () {\n if ($select.dropdownPosition === 'up') {\n setDropdownPosUp();\n } else {\n element.removeClass(directionUpClassName);\n\n var offset = uisOffset(element);\n var offsetDropdown = uisOffset(dropdown);\n\n var scrollTop = $document[0].documentElement.scrollTop || $document[0].body.scrollTop;\n if (offset.top + offset.height + offsetDropdown.height > scrollTop + $document[0].documentElement.clientHeight) {\n setDropdownPosUp(offset, offsetDropdown);\n } else {\n setDropdownPosDown(offset, offsetDropdown);\n }\n }\n\n dropdown[0].style.opacity = 1;\n });\n };\n\n var opened = false;\n\n scope.calculateDropdownPos = function () {\n if ($select.open) {\n dropdown = angular.element(element).querySelectorAll('.ui-select-dropdown');\n\n if (dropdown.length === 0) {\n return;\n }\n\n if ($select.search === '' && !opened) {\n dropdown[0].style.opacity = 0;\n opened = true;\n }\n\n if (!uisOffset(dropdown).height && $select.$animate && $select.$animate.on && $select.$animate.enabled(dropdown)) {\n var needsCalculated = true;\n\n $select.$animate.on('enter', dropdown, function (elem, phase) {\n if (phase === 'close' && needsCalculated) {\n calculateDropdownPosAfterAnimation();\n needsCalculated = false;\n }\n });\n } else {\n calculateDropdownPosAfterAnimation();\n }\n } else {\n if (dropdown === null || dropdown.length === 0) {\n return;\n }\n\n dropdown[0].style.opacity = 0;\n dropdown[0].style.position = '';\n dropdown[0].style.top = '';\n element.removeClass(directionUpClassName);\n }\n };\n };\n }\n };\n }]);\n\n uis.directive('uiSelectMatch', ['uiSelectConfig', function (uiSelectConfig) {\n return {\n restrict: 'EA',\n require: '^uiSelect',\n replace: true,\n transclude: true,\n templateUrl: function templateUrl(tElement) {\n tElement.addClass('ui-select-match');\n\n var parent = tElement.parent();\n\n var theme = getAttribute(parent, 'theme') || uiSelectConfig.theme;\n var multi = angular.isDefined(getAttribute(parent, 'multiple'));\n\n return theme + (multi ? '/match-multiple.tpl.html' : '/match.tpl.html');\n },\n link: function link(scope, element, attrs, $select) {\n $select.lockChoiceExpression = attrs.uiLockChoice;\n attrs.$observe('placeholder', function (placeholder) {\n $select.placeholder = placeholder !== undefined ? placeholder : uiSelectConfig.placeholder;\n });\n\n function setAllowClear(allow) {\n $select.allowClear = angular.isDefined(allow) ? allow === '' ? true : allow.toLowerCase() === 'true' : false;\n }\n\n attrs.$observe('allowClear', setAllowClear);\n setAllowClear(attrs.allowClear);\n\n if ($select.multiple) {\n $select.sizeSearchInput();\n }\n\n element.on('keydown', $select.keydownHandler);\n }\n };\n\n function getAttribute(elem, attribute) {\n if (elem[0].hasAttribute(attribute)) return elem.attr(attribute);\n\n if (elem[0].hasAttribute('data-' + attribute)) return elem.attr('data-' + attribute);\n\n if (elem[0].hasAttribute('x-' + attribute)) return elem.attr('x-' + attribute);\n }\n }]);\n\n uis.directive('uiSelectMultiple', ['uiSelectMinErr', '$timeout', function (uiSelectMinErr, $timeout) {\n return {\n restrict: 'EA',\n require: ['^uiSelect', '^ngModel'],\n\n controller: ['$scope', '$timeout', function ($scope, $timeout) {\n\n var ctrl = this,\n $select = $scope.$select,\n ngModel;\n\n if (angular.isUndefined($select.selected)) $select.selected = [];\n\n $scope.$evalAsync(function () {\n ngModel = $scope.ngModel;\n });\n\n ctrl.activeMatchIndex = -1;\n\n ctrl.updateModel = function () {\n ngModel.$setViewValue(Date.now());\n ctrl.refreshComponent();\n };\n\n ctrl.refreshComponent = function () {\n if ($select.refreshItems) {\n $select.refreshItems();\n }\n if ($select.sizeSearchInput) {\n $select.sizeSearchInput();\n }\n };\n\n ctrl.removeChoice = function (index) {\n if ($select.isLocked(null, index)) return false;\n\n var removedChoice = $select.selected[index];\n\n var locals = {};\n locals[$select.parserResult.itemName] = removedChoice;\n\n $select.selected.splice(index, 1);\n ctrl.activeMatchIndex = -1;\n $select.sizeSearchInput();\n\n $timeout(function () {\n $select.onRemoveCallback($scope, {\n $item: removedChoice,\n $model: $select.parserResult.modelMapper($scope, locals)\n });\n });\n\n ctrl.updateModel();\n\n return true;\n };\n\n ctrl.getPlaceholder = function () {\n if ($select.selected && $select.selected.length) return;\n return $select.placeholder;\n };\n }],\n controllerAs: '$selectMultiple',\n\n link: function link(scope, element, attrs, ctrls) {\n\n var $select = ctrls[0];\n var ngModel = scope.ngModel = ctrls[1];\n var $selectMultiple = scope.$selectMultiple;\n\n $select.multiple = true;\n\n $select.focusInput = $select.searchInput;\n\n ngModel.$isEmpty = function (value) {\n return !value || value.length === 0;\n };\n\n ngModel.$parsers.unshift(function () {\n var locals = {},\n result,\n resultMultiple = [];\n for (var j = $select.selected.length - 1; j >= 0; j--) {\n locals = {};\n locals[$select.parserResult.itemName] = $select.selected[j];\n result = $select.parserResult.modelMapper(scope, locals);\n resultMultiple.unshift(result);\n }\n return resultMultiple;\n });\n\n ngModel.$formatters.unshift(function (inputValue) {\n var data = $select.parserResult && $select.parserResult.source(scope, { $select: { search: '' } }),\n locals = {},\n result;\n if (!data) return inputValue;\n var resultMultiple = [];\n var checkFnMultiple = function checkFnMultiple(list, value) {\n if (!list || !list.length) return;\n for (var p = list.length - 1; p >= 0; p--) {\n locals[$select.parserResult.itemName] = list[p];\n result = $select.parserResult.modelMapper(scope, locals);\n if ($select.parserResult.trackByExp) {\n var propsItemNameMatches = /(\\w*)\\./.exec($select.parserResult.trackByExp);\n var matches = /\\.([^\\s]+)/.exec($select.parserResult.trackByExp);\n if (propsItemNameMatches && propsItemNameMatches.length > 0 && propsItemNameMatches[1] == $select.parserResult.itemName) {\n if (matches && matches.length > 0 && result[matches[1]] == value[matches[1]]) {\n resultMultiple.unshift(list[p]);\n return true;\n }\n }\n }\n if (angular.equals(result, value)) {\n resultMultiple.unshift(list[p]);\n return true;\n }\n }\n return false;\n };\n if (!inputValue) return resultMultiple;\n for (var k = inputValue.length - 1; k >= 0; k--) {\n if (!checkFnMultiple($select.selected, inputValue[k])) {\n if (!checkFnMultiple(data, inputValue[k])) {\n resultMultiple.unshift(inputValue[k]);\n }\n }\n }\n return resultMultiple;\n });\n\n scope.$watchCollection(function () {\n return ngModel.$modelValue;\n }, function (newValue, oldValue) {\n if (oldValue != newValue) {\n if (angular.isDefined(ngModel.$modelValue)) {\n ngModel.$modelValue = null;\n }\n $selectMultiple.refreshComponent();\n }\n });\n\n ngModel.$render = function () {\n if (!angular.isArray(ngModel.$viewValue)) {\n if (isNil(ngModel.$viewValue)) {\n ngModel.$viewValue = [];\n } else {\n throw uiSelectMinErr('multiarr', \"Expected model value to be array but got '{0}'\", ngModel.$viewValue);\n }\n }\n $select.selected = ngModel.$viewValue;\n $selectMultiple.refreshComponent();\n scope.$evalAsync();\n };\n\n scope.$on('uis:select', function (event, item) {\n if ($select.selected.length >= $select.limit) {\n return;\n }\n $select.selected.push(item);\n var locals = {};\n locals[$select.parserResult.itemName] = item;\n\n $timeout(function () {\n $select.onSelectCallback(scope, {\n $item: item,\n $model: $select.parserResult.modelMapper(scope, locals)\n });\n });\n $selectMultiple.updateModel();\n });\n\n scope.$on('uis:activate', function () {\n $selectMultiple.activeMatchIndex = -1;\n });\n\n scope.$watch('$select.disabled', function (newValue, oldValue) {\n if (oldValue && !newValue) $select.sizeSearchInput();\n });\n\n $select.searchInput.on('keydown', function (e) {\n var key = e.which;\n scope.$apply(function () {\n var processed = false;\n\n if (KEY.isHorizontalMovement(key)) {\n processed = _handleMatchSelection(key);\n }\n if (processed && key != KEY.TAB) {\n e.preventDefault();\n e.stopPropagation();\n }\n });\n });\n function _getCaretPosition(el) {\n if (angular.isNumber(el.selectionStart)) return el.selectionStart;else return el.value.length;\n }\n\n function _handleMatchSelection(key) {\n var caretPosition = _getCaretPosition($select.searchInput[0]),\n length = $select.selected.length,\n first = 0,\n last = length - 1,\n curr = $selectMultiple.activeMatchIndex,\n next = $selectMultiple.activeMatchIndex + 1,\n prev = $selectMultiple.activeMatchIndex - 1,\n newIndex = curr;\n\n if (caretPosition > 0 || $select.search.length && key == KEY.RIGHT) return false;\n\n $select.close();\n\n function getNewActiveMatchIndex() {\n switch (key) {\n case KEY.LEFT:\n if (~$selectMultiple.activeMatchIndex) return prev;else return last;\n break;\n case KEY.RIGHT:\n if (!~$selectMultiple.activeMatchIndex || curr === last) {\n $select.activate();\n return false;\n } else return next;\n break;\n case KEY.BACKSPACE:\n if (~$selectMultiple.activeMatchIndex) {\n if ($selectMultiple.removeChoice(curr)) {\n return prev;\n } else {\n return curr;\n }\n } else {\n return last;\n }\n break;\n case KEY.DELETE:\n if (~$selectMultiple.activeMatchIndex) {\n $selectMultiple.removeChoice($selectMultiple.activeMatchIndex);\n return curr;\n } else return false;\n }\n }\n\n newIndex = getNewActiveMatchIndex();\n\n if (!$select.selected.length || newIndex === false) $selectMultiple.activeMatchIndex = -1;else $selectMultiple.activeMatchIndex = Math.min(last, Math.max(first, newIndex));\n\n return true;\n }\n\n $select.searchInput.on('keyup', function (e) {\n\n if (!KEY.isVerticalMovement(e.which)) {\n scope.$evalAsync(function () {\n $select.activeIndex = $select.taggingLabel === false ? -1 : 0;\n });\n }\n\n if ($select.tagging.isActivated && $select.search.length > 0) {\n if (e.which === KEY.TAB || KEY.isControl(e) || KEY.isFunctionKey(e) || e.which === KEY.ESC || KEY.isVerticalMovement(e.which)) {\n return;\n }\n\n $select.activeIndex = $select.taggingLabel === false ? -1 : 0;\n\n if ($select.taggingLabel === false) return;\n\n var items = angular.copy($select.items);\n var stashArr = angular.copy($select.items);\n var newItem;\n var item;\n var hasTag = false;\n var dupeIndex = -1;\n var tagItems;\n var tagItem;\n\n if ($select.tagging.fct !== undefined) {\n tagItems = $select.$filter('filter')(items, { 'isTag': true });\n if (tagItems.length > 0) {\n tagItem = tagItems[0];\n }\n\n if (items.length > 0 && tagItem) {\n hasTag = true;\n items = items.slice(1, items.length);\n stashArr = stashArr.slice(1, stashArr.length);\n }\n newItem = $select.tagging.fct($select.search);\n\n if (stashArr.some(function (origItem) {\n return angular.equals(origItem, newItem);\n }) || $select.selected.some(function (origItem) {\n return angular.equals(origItem, newItem);\n })) {\n scope.$evalAsync(function () {\n $select.activeIndex = 0;\n $select.items = items;\n });\n return;\n }\n if (newItem) newItem.isTag = true;\n } else {\n tagItems = $select.$filter('filter')(items, function (item) {\n return item.match($select.taggingLabel);\n });\n if (tagItems.length > 0) {\n tagItem = tagItems[0];\n }\n item = items[0];\n\n if (item !== undefined && items.length > 0 && tagItem) {\n hasTag = true;\n items = items.slice(1, items.length);\n stashArr = stashArr.slice(1, stashArr.length);\n }\n newItem = $select.search + ' ' + $select.taggingLabel;\n if (_findApproxDupe($select.selected, $select.search) > -1) {\n return;\n }\n\n if (_findCaseInsensitiveDupe(stashArr.concat($select.selected))) {\n if (hasTag) {\n items = stashArr;\n scope.$evalAsync(function () {\n $select.activeIndex = 0;\n $select.items = items;\n });\n }\n return;\n }\n if (_findCaseInsensitiveDupe(stashArr)) {\n if (hasTag) {\n $select.items = stashArr.slice(1, stashArr.length);\n }\n return;\n }\n }\n if (hasTag) dupeIndex = _findApproxDupe($select.selected, newItem);\n\n if (dupeIndex > -1) {\n items = items.slice(dupeIndex + 1, items.length - 1);\n } else {\n items = [];\n if (newItem) items.push(newItem);\n items = items.concat(stashArr);\n }\n scope.$evalAsync(function () {\n $select.activeIndex = 0;\n $select.items = items;\n\n if ($select.isGrouped) {\n var itemsWithoutTag = newItem ? items.slice(1) : items;\n $select.setItemsFn(itemsWithoutTag);\n if (newItem) {\n $select.items.unshift(newItem);\n $select.groups.unshift({ name: '', items: [newItem], tagging: true });\n }\n }\n });\n }\n });\n function _findCaseInsensitiveDupe(arr) {\n if (arr === undefined || $select.search === undefined) {\n return false;\n }\n var hasDupe = arr.filter(function (origItem) {\n if ($select.search.toUpperCase() === undefined || origItem === undefined) {\n return false;\n }\n return origItem.toUpperCase() === $select.search.toUpperCase();\n }).length > 0;\n\n return hasDupe;\n }\n function _findApproxDupe(haystack, needle) {\n var dupeIndex = -1;\n if (angular.isArray(haystack)) {\n var tempArr = angular.copy(haystack);\n for (var i = 0; i < tempArr.length; i++) {\n if ($select.tagging.fct === undefined) {\n if (tempArr[i] + ' ' + $select.taggingLabel === needle) {\n dupeIndex = i;\n }\n } else {\n var mockObj = tempArr[i];\n if (angular.isObject(mockObj)) {\n mockObj.isTag = true;\n }\n if (angular.equals(mockObj, needle)) {\n dupeIndex = i;\n }\n }\n }\n }\n return dupeIndex;\n }\n\n $select.searchInput.on('blur', function () {\n $timeout(function () {\n $selectMultiple.activeMatchIndex = -1;\n });\n });\n }\n };\n }]);\n\n uis.directive('uiSelectNoChoice', ['uiSelectConfig', function (uiSelectConfig) {\n return {\n restrict: 'EA',\n require: '^uiSelect',\n replace: true,\n transclude: true,\n templateUrl: function templateUrl(tElement) {\n tElement.addClass('ui-select-no-choice');\n\n var theme = tElement.parent().attr('theme') || uiSelectConfig.theme;\n return theme + '/no-choice.tpl.html';\n }\n };\n }]);\n\n uis.directive('uiSelectSingle', ['$timeout', '$compile', function ($timeout, $compile) {\n return {\n restrict: 'EA',\n require: ['^uiSelect', '^ngModel'],\n link: function link(scope, element, attrs, ctrls) {\n\n var $select = ctrls[0];\n var ngModel = ctrls[1];\n\n ngModel.$parsers.unshift(function (inputValue) {\n if (isNil(inputValue)) {\n return inputValue;\n }\n\n var locals = {},\n result;\n locals[$select.parserResult.itemName] = inputValue;\n result = $select.parserResult.modelMapper(scope, locals);\n return result;\n });\n\n ngModel.$formatters.unshift(function (inputValue) {\n if (isNil(inputValue)) {\n return inputValue;\n }\n\n var data = $select.parserResult && $select.parserResult.source(scope, { $select: { search: '' } }),\n locals = {},\n result;\n if (data) {\n var checkFnSingle = function checkFnSingle(d) {\n locals[$select.parserResult.itemName] = d;\n result = $select.parserResult.modelMapper(scope, locals);\n return result === inputValue;\n };\n\n if ($select.selected && checkFnSingle($select.selected)) {\n return $select.selected;\n }\n for (var i = data.length - 1; i >= 0; i--) {\n if (checkFnSingle(data[i])) return data[i];\n }\n }\n return inputValue;\n });\n\n scope.$watch('$select.selected', function (newValue) {\n if (ngModel.$viewValue !== newValue) {\n ngModel.$setViewValue(newValue);\n }\n });\n\n ngModel.$render = function () {\n $select.selected = ngModel.$viewValue;\n };\n\n scope.$on('uis:select', function (event, item) {\n $select.selected = item;\n var locals = {};\n locals[$select.parserResult.itemName] = item;\n\n $timeout(function () {\n $select.onSelectCallback(scope, {\n $item: item,\n $model: isNil(item) ? item : $select.parserResult.modelMapper(scope, locals)\n });\n });\n });\n\n function getDropdownTrigger() {\n return element.parent()[0].querySelector(\".ui-select-match\");\n }\n\n scope.$on('uis:close', function (event, skipFocusser) {\n $timeout(function () {\n if (!skipFocusser) getDropdownTrigger().focus();\n }, 0, false);\n });\n\n scope.$on('uis:activate', function () {\n focusser.prop('disabled', true);\n });\n\n var focusser = angular.element(\"\");\n $compile(focusser)(scope);\n $select.focusser = focusser;\n\n $select.focusInput = focusser;\n\n element.parent().append(focusser);\n focusser.bind(\"focus\", function () {\n scope.$evalAsync(function () {\n $select.focus = true;\n });\n });\n focusser.bind(\"blur\", function () {\n scope.$evalAsync(function () {\n $select.focus = false;\n });\n });\n focusser.bind(\"keydown\", function (e) {\n\n if (e.which === KEY.BACKSPACE && $select.backspaceReset !== false) {\n e.preventDefault();\n e.stopPropagation();\n $select.select(undefined);\n scope.$apply();\n return;\n }\n\n if (e.which === KEY.TAB || KEY.isControl(e) || KEY.isFunctionKey(e) || e.which === KEY.ESC) {\n return;\n }\n\n if (e.which == KEY.DOWN || e.which == KEY.UP || e.which == KEY.ENTER || e.which == KEY.SPACE) {\n e.preventDefault();\n e.stopPropagation();\n $select.activate();\n }\n\n scope.$digest();\n });\n\n focusser.bind(\"keyup input\", function (e) {\n\n if (e.which === KEY.TAB || KEY.isControl(e) || KEY.isFunctionKey(e) || e.which === KEY.ESC || e.which == KEY.ENTER || e.which === KEY.BACKSPACE) {\n return;\n }\n\n $select.activate(focusser.val());\n focusser.val('');\n scope.$digest();\n });\n }\n };\n }]);\n\n uis.directive('uiSelectSort', ['$timeout', 'uiSelectConfig', 'uiSelectMinErr', function ($timeout, uiSelectConfig, uiSelectMinErr) {\n return {\n require: ['^^uiSelect', '^ngModel'],\n link: function link(scope, element, attrs, ctrls) {\n if (scope[attrs.uiSelectSort] === null) {\n throw uiSelectMinErr('sort', 'Expected a list to sort');\n }\n\n var $select = ctrls[0];\n var $ngModel = ctrls[1];\n\n var options = angular.extend({\n axis: 'horizontal'\n }, scope.$eval(attrs.uiSelectSortOptions));\n\n var axis = options.axis;\n var draggingClassName = 'dragging';\n var droppingClassName = 'dropping';\n var droppingBeforeClassName = 'dropping-before';\n var droppingAfterClassName = 'dropping-after';\n\n scope.$watch(function () {\n return $select.sortable;\n }, function (newValue) {\n if (newValue) {\n element.attr('draggable', true);\n } else {\n element.removeAttr('draggable');\n }\n });\n\n element.on('dragstart', function (event) {\n element.addClass(draggingClassName);\n\n (event.dataTransfer || event.originalEvent.dataTransfer).setData('text', scope.$index.toString());\n });\n\n element.on('dragend', function () {\n removeClass(draggingClassName);\n });\n\n var move = function move(from, to) {\n this.splice(to, 0, this.splice(from, 1)[0]);\n };\n\n var removeClass = function removeClass(className) {\n angular.forEach($select.$element.querySelectorAll('.' + className), function (el) {\n angular.element(el).removeClass(className);\n });\n };\n\n var dragOverHandler = function dragOverHandler(event) {\n event.preventDefault();\n\n var offset = axis === 'vertical' ? event.offsetY || event.layerY || (event.originalEvent ? event.originalEvent.offsetY : 0) : event.offsetX || event.layerX || (event.originalEvent ? event.originalEvent.offsetX : 0);\n\n if (offset < this[axis === 'vertical' ? 'offsetHeight' : 'offsetWidth'] / 2) {\n removeClass(droppingAfterClassName);\n element.addClass(droppingBeforeClassName);\n } else {\n removeClass(droppingBeforeClassName);\n element.addClass(droppingAfterClassName);\n }\n };\n\n var dropTimeout;\n\n var dropHandler = function dropHandler(event) {\n event.preventDefault();\n\n var droppedItemIndex = parseInt((event.dataTransfer || event.originalEvent.dataTransfer).getData('text'), 10);\n\n $timeout.cancel(dropTimeout);\n dropTimeout = $timeout(function () {\n _dropHandler(droppedItemIndex);\n }, 20);\n };\n\n var _dropHandler = function _dropHandler(droppedItemIndex) {\n var theList = scope.$eval(attrs.uiSelectSort);\n var itemToMove = theList[droppedItemIndex];\n var newIndex = null;\n\n if (element.hasClass(droppingBeforeClassName)) {\n if (droppedItemIndex < scope.$index) {\n newIndex = scope.$index - 1;\n } else {\n newIndex = scope.$index;\n }\n } else {\n if (droppedItemIndex < scope.$index) {\n newIndex = scope.$index;\n } else {\n newIndex = scope.$index + 1;\n }\n }\n\n move.apply(theList, [droppedItemIndex, newIndex]);\n\n $ngModel.$setViewValue(Date.now());\n\n scope.$apply(function () {\n scope.$emit('uiSelectSort:change', {\n array: theList,\n item: itemToMove,\n from: droppedItemIndex,\n to: newIndex\n });\n });\n\n removeClass(droppingClassName);\n removeClass(droppingBeforeClassName);\n removeClass(droppingAfterClassName);\n\n element.off('drop', dropHandler);\n };\n\n element.on('dragenter', function () {\n if (element.hasClass(draggingClassName)) {\n return;\n }\n\n element.addClass(droppingClassName);\n\n element.on('dragover', dragOverHandler);\n element.on('drop', dropHandler);\n });\n\n element.on('dragleave', function (event) {\n if (event.target != element) {\n return;\n }\n\n removeClass(droppingClassName);\n removeClass(droppingBeforeClassName);\n removeClass(droppingAfterClassName);\n\n element.off('dragover', dragOverHandler);\n element.off('drop', dropHandler);\n });\n }\n };\n }]);\n\n uis.directive('uisOpenClose', ['$parse', '$timeout', function ($parse, $timeout) {\n return {\n restrict: 'A',\n require: 'uiSelect',\n link: function link(scope, element, attrs, $select) {\n $select.onOpenCloseCallback = $parse(attrs.uisOpenClose);\n\n scope.$watch('$select.open', function (isOpen, previousState) {\n if (isOpen !== previousState) {\n $timeout(function () {\n $select.onOpenCloseCallback(scope, {\n isOpen: isOpen\n });\n });\n }\n });\n }\n };\n }]);\n\n uis.service('uisRepeatParser', ['uiSelectMinErr', '$parse', function (uiSelectMinErr, $parse) {\n var self = this;\n\n self.parse = function (expression) {\n\n var match;\n\n match = expression.match(/^\\s*(?:([\\s\\S]+?)\\s+as\\s+)?(?:([\\$\\w][\\$\\w]*)|(?:\\(\\s*([\\$\\w][\\$\\w]*)\\s*,\\s*([\\$\\w][\\$\\w]*)\\s*\\)))\\s+in\\s+(\\s*[\\s\\S]+?)?(?:\\s+track\\s+by\\s+([\\s\\S]+?))?\\s*$/);\n\n if (!match) {\n throw uiSelectMinErr('iexp', \"Expected expression in form of '_item_ in _collection_[ track by _id_]' but got '{0}'.\", expression);\n }\n\n var source = match[5],\n filters = '';\n\n if (match[3]) {\n source = match[5].replace(/(^\\()|(\\)$)/g, '');\n\n var filterMatch = match[5].match(/^\\s*(?:[\\s\\S]+?)(?:[^\\|]|\\|\\|)+([\\s\\S]*)\\s*$/);\n if (filterMatch && filterMatch[1].trim()) {\n filters = filterMatch[1];\n source = source.replace(filters, '');\n }\n }\n\n return {\n itemName: match[4] || match[2],\n keyName: match[3],\n source: $parse(source),\n filters: filters,\n trackByExp: match[6],\n modelMapper: $parse(match[1] || match[4] || match[2]),\n repeatExpression: function repeatExpression(grouped) {\n var expression = this.itemName + ' in ' + (grouped ? '$group.items' : '$select.items');\n if (this.trackByExp) {\n expression += ' track by ' + this.trackByExp;\n }\n return expression;\n }\n };\n };\n\n self.getGroupNgRepeatExpression = function () {\n return '$group in $select.groups track by $group.name';\n };\n }]);\n})();\nangular.module(\"ui.select\").run([\"$templateCache\", function ($templateCache) {\n $templateCache.put(\"bootstrap/choices.tpl.html\", __webpack_require__(347));\n $templateCache.put(\"bootstrap/match-multiple.tpl.html\", \" × \");\n $templateCache.put(\"bootstrap/match.tpl.html\", __webpack_require__(348));\n $templateCache.put(\"bootstrap/no-choice.tpl.html\", \"
\");\n $templateCache.put(\"bootstrap/select-multiple.tpl.html\", \"
\");\n $templateCache.put(\"bootstrap/select.tpl.html\", __webpack_require__(349));\n}]);\n\n/***/ }),\n/* 347 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"
\";\n\n/***/ }),\n/* 348 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 349 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"
\";\n\n/***/ }),\n/* 350 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _select = __webpack_require__(351);\n\nvar _select2 = _interopRequireDefault(_select);\n\nvar _select3 = __webpack_require__(352);\n\nvar _select4 = _interopRequireDefault(_select3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n return {\n require: {\n fieldCtrl: \"?^^ouiField\",\n selectCtrl: \"ouiSelect\"\n },\n controller: _select2.default,\n controllerAs: \"$ctrl\",\n bindToController: true,\n scope: {\n model: \"=\",\n name: \"@?\",\n required: \" \";\n\n/***/ }),\n/* 353 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _selectPickerComponent = __webpack_require__(354);\n\nvar _selectPickerComponent2 = _interopRequireDefault(_selectPickerComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.select-picker\", []).component(\"ouiSelectPicker\", _selectPickerComponent2.default);\n\n/***/ }),\n/* 354 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _selectPicker = __webpack_require__(355);\n\nvar _selectPicker2 = _interopRequireDefault(_selectPicker);\n\nvar _selectPicker3 = __webpack_require__(356);\n\nvar _selectPicker4 = _interopRequireDefault(_selectPicker3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n template: _selectPicker4.default,\n controller: _selectPicker2.default,\n transclude: {\n sectionSlot: \"?span\"\n },\n bindings: {\n text: \"@\",\n description: \"@?\",\n picture: \"@?\",\n placeholder: \"@?\",\n values: \"<\",\n id: \"@?\",\n name: \"@?\",\n match: \"@\",\n model: \"=?\",\n onChange: \"&?\",\n disabled: \" 1 && !this.selectedValue) {\n var $button = angular.element(this.$element[0].querySelectorAll(\".ui-select-match\"));\n var isButtonClicked = SelectPickerController.hasParentButton(event.target);\n if (!isButtonClicked && $button.length > 0) {\n $button.triggerHandler(\"click\");\n event.stopPropagation();\n }\n }\n }\n }, {\n key: \"onSelectModelChange\",\n value: function onSelectModelChange(event) {\n this.model = event.modelValue;\n this.onRadioModelChange(event);\n }\n }, {\n key: \"onRadioModelChange\",\n value: function onRadioModelChange(event) {\n var _this2 = this;\n\n if (this.onChange) {\n this.$timeout(function () {\n return _this2.onChange(event);\n });\n }\n }\n }], [{\n key: \"hasParentButton\",\n value: function hasParentButton(element) {\n var currentNode = element;\n do {\n if (currentNode.nodeName === \"BUTTON\") {\n return true;\n }\n currentNode = currentNode.parentNode;\n } while (currentNode.nodeName !== \"OUI-SELECT-PICKER\");\n return false;\n }\n }]);\n return SelectPickerController;\n}();\n\nexports.default = SelectPickerController;\n\n/***/ }),\n/* 356 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"
\";\n\n/***/ }),\n/* 357 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _textareaComponent = __webpack_require__(358);\n\nvar _textareaComponent2 = _interopRequireDefault(_textareaComponent);\n\nvar _textareaProvider = __webpack_require__(361);\n\nvar _textareaProvider2 = _interopRequireDefault(_textareaProvider);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.textarea\", []).component(\"ouiTextarea\", _textareaComponent2.default).provider(\"ouiTextareaConfiguration\", _textareaProvider2.default);\n\n/***/ }),\n/* 358 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _textarea = __webpack_require__(359);\n\nvar _textarea2 = _interopRequireDefault(_textarea);\n\nvar _textarea3 = __webpack_require__(360);\n\nvar _textarea4 = _interopRequireDefault(_textarea3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n template: _textarea4.default,\n controller: _textarea2.default,\n bindings: {\n model: \"=?\",\n id: \"@?\",\n name: \"@?\",\n placeholder: \"@?\",\n rows: \"@?\",\n disabled: \" this.maxlength);\n }\n }, {\n key: \"getMaxLengthText\",\n value: function getMaxLengthText() {\n var translation = this.ouiTextareaConfiguration.translations.lengthCounter;\n return translation.replace(\"{{length}}\", this.textarea ? this.textarea.value.length : 0).replace(\"{{max}}\", this.maxlength);\n }\n }, {\n key: \"setDisabled\",\n value: function setDisabled(disabled) {\n this.disabled = disabled;\n this.$element.toggleClass(disabledClass, disabled);\n }\n }, {\n key: \"setFocus\",\n value: function setFocus(focused) {\n this.$element.toggleClass(focusClass, focused);\n }\n }, {\n key: \"setReadonly\",\n value: function setReadonly(readonly) {\n this.readonly = readonly;\n this.$element.toggleClass(readonlyClass, readonly);\n }\n }]);\n return _class;\n}();\n\nexports.default = _class;\n\n/***/ }),\n/* 360 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 361 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _class = function () {\n function _class() {\n (0, _classCallCheck3.default)(this, _class);\n\n this.translations = {\n lengthCounter: \"{{length}}/{{max}} characters\"\n };\n }\n\n (0, _createClass3.default)(_class, [{\n key: \"setTranslations\",\n value: function setTranslations(translations) {\n this.translations = translations;\n return this;\n }\n }, {\n key: \"$get\",\n value: function $get() {\n return {\n translations: this.translations\n };\n }\n }]);\n return _class;\n}();\n\nexports.default = _class;\n\n/***/ }),\n/* 362 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _formActions = __webpack_require__(363);\n\nvar _formActions2 = _interopRequireDefault(_formActions);\n\nvar _formActions3 = __webpack_require__(366);\n\nvar _formActions4 = _interopRequireDefault(_formActions3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.form-actions\", []).component(\"ouiFormActions\", _formActions2.default).provider(\"ouiFormActionsConfiguration\", _formActions4.default);\n\n/***/ }),\n/* 363 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _formActionsController = __webpack_require__(364);\n\nvar _formActionsController2 = _interopRequireDefault(_formActionsController);\n\nvar _formActions = __webpack_require__(365);\n\nvar _formActions2 = _interopRequireDefault(_formActions);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n template: _formActions2.default,\n controller: _formActionsController2.default,\n bindings: {\n submitText: \"@?\",\n cancelText: \"@?\",\n onSubmit: \"&\",\n onCancel: \"&?\",\n href: \"@?\"\n },\n transclude: true\n};\n\n/***/ }),\n/* 364 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _assign = __webpack_require__(22);\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _class = function () {\n _class.$inject = [\"$attrs\", \"ouiFormActionsConfiguration\"];\n function _class($attrs, ouiFormActionsConfiguration) {\n \"ngInject\";\n\n (0, _classCallCheck3.default)(this, _class);\n this.$attrs = $attrs;\n this.config = ouiFormActionsConfiguration;\n }\n\n (0, _createClass3.default)(_class, [{\n key: \"$onInit\",\n value: function $onInit() {\n this.processTranslations();\n }\n }, {\n key: \"processTranslations\",\n value: function processTranslations() {\n this.translations = (0, _assign2.default)({}, this.config.translations);\n\n if (angular.isUndefined(this.submitText)) {\n this.submitText = this.translations.submit;\n }\n\n if (angular.isUndefined(this.cancelText)) {\n this.cancelText = this.translations.cancel;\n }\n }\n }]);\n return _class;\n}();\n\nexports.default = _class;\n\n/***/ }),\n/* 365 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 366 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _class = function () {\n function _class() {\n (0, _classCallCheck3.default)(this, _class);\n\n this.translations = {\n submit: \"Submit\",\n cancel: \"Cancel\"\n };\n }\n\n (0, _createClass3.default)(_class, [{\n key: \"setTranslations\",\n value: function setTranslations(translations) {\n this.translations = translations;\n return this;\n }\n }, {\n key: \"$get\",\n value: function $get() {\n return {\n translations: this.translations\n };\n }\n }]);\n return _class;\n}();\n\nexports.default = _class;\n\n/***/ }),\n/* 367 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _search = __webpack_require__(368);\n\nvar _search2 = _interopRequireDefault(_search);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.search\", []).component(\"ouiSearch\", _search2.default);\n\n/***/ }),\n/* 368 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _search = __webpack_require__(369);\n\nvar _search2 = _interopRequireDefault(_search);\n\nvar _search3 = __webpack_require__(372);\n\nvar _search4 = _interopRequireDefault(_search3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n require: {\n criteriaContainer: \"?^^ouiCriteriaContainer\"\n },\n bindings: {\n model: \"=\",\n id: \"@?\",\n name: \"@?\",\n placeholder: \"@?\",\n ariaLabel: \"@?\",\n\n disabled: \"= minLengthTrigger) {\n this.criteriaContainer.setPreviewCriterion(SearchController.getCriterion(modelValue), true);\n } else {\n this.criteriaContainer.deletePreviewCriterion();\n }\n }\n }\n }, {\n key: \"onSearchSubmit\",\n value: function onSearchSubmit(modelValue) {\n this.model = undefined;\n\n this.onSubmit({ modelValue: modelValue });\n\n this.onCriterionSubmit(modelValue);\n }\n }, {\n key: \"onCriterionSubmit\",\n value: function onCriterionSubmit(modelValue) {\n if (this.criteriaContainer && modelValue && modelValue.length >= minLengthTrigger) {\n this.criteriaContainer.add(SearchController.getCriterion(modelValue));\n }\n }\n }, {\n key: \"onSearchReset\",\n value: function onSearchReset() {\n this.model = undefined;\n\n this.onReset();\n\n this.onCriterionReset();\n }\n }, {\n key: \"onCriterionReset\",\n value: function onCriterionReset() {\n if (this.criteriaContainer) {\n this.criteriaContainer.deletePreviewCriterion();\n }\n }\n }], [{\n key: \"getCriterion\",\n value: function getCriterion(modelValue) {\n return {\n title: modelValue,\n property: null,\n operator: \"contains\",\n value: modelValue\n };\n }\n }]);\n return SearchController;\n}();\n\nexports.default = SearchController;\n\n/***/ }),\n/* 370 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(15),\n now = __webpack_require__(371),\n toNumber = __webpack_require__(76);\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;\n\n\n/***/ }),\n/* 371 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar root = __webpack_require__(37);\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n\n\n/***/ }),\n/* 372 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"
\";\n\n/***/ }),\n/* 373 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _criteriaContainer = __webpack_require__(374);\n\nvar _criteriaContainer2 = _interopRequireDefault(_criteriaContainer);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.criteria-container\", []).component(\"ouiCriteriaContainer\", _criteriaContainer2.default);\n\n/***/ }),\n/* 374 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _criteriaContainer = __webpack_require__(375);\n\nvar _criteriaContainer2 = _interopRequireDefault(_criteriaContainer);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n template: \"\",\n transclude: true,\n controller: _criteriaContainer2.default,\n bindings: {\n onChange: \"&\"\n }\n};\n\n/***/ }),\n/* 375 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _findIndex2 = __webpack_require__(95);\n\nvar _findIndex3 = _interopRequireDefault(_findIndex2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar CriteriaController = function () {\n function CriteriaController() {\n (0, _classCallCheck3.default)(this, CriteriaController);\n }\n\n (0, _createClass3.default)(CriteriaController, [{\n key: \"$onInit\",\n value: function $onInit() {\n this.criteria = [];\n }\n }, {\n key: \"triggerChange\",\n value: function triggerChange() {\n if (this.onChange) {\n this.onChange({ modelValue: this.criteria });\n }\n }\n }, {\n key: \"indexOfCriterion\",\n value: function indexOfCriterion(criterion) {\n var criterionIndex = this.criteria.length - 1;\n while (criterionIndex >= 0 && !angular.equals(this.criteria[criterionIndex], criterion)) {\n --criterionIndex;\n }\n return criterionIndex;\n }\n }, {\n key: \"setPreviewCriterion\",\n value: function setPreviewCriterion(previewCriterion) {\n var criterionIndex = (0, _findIndex3.default)(this.criteria, [\"preview\", true]);\n previewCriterion.preview = true;\n if (criterionIndex > -1) {\n this.criteria[criterionIndex] = previewCriterion;\n } else {\n this.criteria.push(previewCriterion);\n }\n this.triggerChange();\n }\n }, {\n key: \"deletePreviewCriterion\",\n value: function deletePreviewCriterion() {\n var previewCriterionIndex = (0, _findIndex3.default)(this.criteria, [\"preview\", true]);\n if (previewCriterionIndex > -1) {\n this.criteria.splice(previewCriterionIndex, 1);\n this.triggerChange();\n }\n }\n }, {\n key: \"add\",\n value: function add(criterion) {\n var previewCriterion = angular.copy(criterion);\n previewCriterion.preview = true;\n\n var previewCriterionIndex = this.indexOfCriterion(previewCriterion);\n if (previewCriterionIndex > -1) {\n this.criteria.splice(previewCriterionIndex, 1);\n }\n\n if (this.indexOfCriterion(criterion) < 0) {\n this.criteria.push(criterion);\n this.triggerChange();\n }\n }\n }, {\n key: \"remove\",\n value: function remove(criterion) {\n var criterionIndex = this.indexOfCriterion(criterion);\n if (criterionIndex > -1) {\n this.criteria.splice(criterionIndex, 1);\n this.triggerChange();\n }\n }\n }, {\n key: \"set\",\n value: function set(criteria) {\n this.criteria = criteria;\n this.triggerChange();\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this.criteria = [];\n this.triggerChange();\n }\n }]);\n return CriteriaController;\n}();\n\nexports.default = CriteriaController;\n\n/***/ }),\n/* 376 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _criteriaAdder = __webpack_require__(377);\n\nvar _criteriaAdder2 = _interopRequireDefault(_criteriaAdder);\n\nvar _criteriaAdder3 = __webpack_require__(380);\n\nvar _criteriaAdder4 = _interopRequireDefault(_criteriaAdder3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.criteria-adder\", []).component(\"ouiCriteriaAdder\", _criteriaAdder2.default).provider(\"ouiCriteriaAdderConfiguration\", _criteriaAdder4.default);\n\n/***/ }),\n/* 377 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _criteriaAdder = __webpack_require__(378);\n\nvar _criteriaAdder2 = _interopRequireDefault(_criteriaAdder);\n\nvar _criteriaAdder3 = __webpack_require__(379);\n\nvar _criteriaAdder4 = _interopRequireDefault(_criteriaAdder3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n require: {\n criteriaContainer: \"?^^ouiCriteriaContainer\"\n },\n bindings: {\n id: \"@?\",\n name: \"@\",\n align: \"@?\",\n\n properties: \"<\",\n disabled: \"
\";\n\n/***/ }),\n/* 380 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _class = function () {\n function _class() {\n (0, _classCallCheck3.default)(this, _class);\n\n this.operatorsByType = {\n \"boolean\": [\"is\", \"isNot\"],\n date: [\"is\", \"isAfter\", \"isBefore\"],\n number: [\"is\", \"smaller\", \"bigger\"],\n options: [\"is\", \"isNot\"],\n string: [\"contains\", \"containsNot\", \"startsWith\", \"endsWith\", \"is\", \"isNot\"]\n };\n\n this.translations = {\n column_label: \"Column\",\n operator_label: \"Operator\",\n\n operator_boolean_is: \"is\",\n operator_boolean_isNot: \"is not\",\n\n operator_string_contains: \"contains\",\n operator_string_containsNot: \"does not contain\",\n operator_string_startsWith: \"starts with\",\n operator_string_endsWith: \"ends with\",\n operator_string_is: \"is\",\n operator_string_isNot: \"is not\",\n\n operator_number_is: \"is\",\n operator_number_smaller: \"is smaller than\",\n operator_number_bigger: \"is bigger than\",\n\n operator_date_is: \"is\",\n operator_date_isBefore: \"is before\",\n operator_date_isAfter: \"is after\",\n\n operator_options_is: \"is\",\n operator_options_isNot: \"is not\",\n\n true_label: \"Yes\",\n false_label: \"No\",\n\n value_label: \"Value\",\n submit_label: \"Add\"\n };\n }\n\n (0, _createClass3.default)(_class, [{\n key: \"setOperatorsByType\",\n value: function setOperatorsByType(operatorsByType) {\n this.operatorsByType = operatorsByType;\n return this;\n }\n }, {\n key: \"setTranslations\",\n value: function setTranslations(translations) {\n this.translations = translations;\n return this;\n }\n }, {\n key: \"$get\",\n value: function $get() {\n return {\n operatorsByType: this.operatorsByType,\n translations: this.translations\n };\n }\n }]);\n return _class;\n}();\n\nexports.default = _class;\n\n/***/ }),\n/* 381 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _chipsComponent = __webpack_require__(382);\n\nvar _chipsComponent2 = _interopRequireDefault(_chipsComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.chips\", []).component(\"ouiChips\", _chipsComponent2.default);\n\n/***/ }),\n/* 382 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _chips = __webpack_require__(383);\n\nvar _chips2 = _interopRequireDefault(_chips);\n\nvar _chips3 = __webpack_require__(384);\n\nvar _chips4 = _interopRequireDefault(_chips3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n require: {\n criteriaContainer: \"?^^ouiCriteriaContainer\"\n },\n template: _chips4.default,\n controller: _chips2.default,\n bindings: {\n items: \"<\",\n\n closable: \" \";\n\n/***/ }),\n/* 385 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _popoverComponent = __webpack_require__(386);\n\nvar _popoverComponent2 = _interopRequireDefault(_popoverComponent);\n\nvar _popoverContent = __webpack_require__(389);\n\nvar _popoverContent2 = _interopRequireDefault(_popoverContent);\n\nvar _popoverTrigger = __webpack_require__(391);\n\nvar _popoverTrigger2 = _interopRequireDefault(_popoverTrigger);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.popover\", []).component(\"ouiPopover\", _popoverComponent2.default).directive(\"ouiPopoverContent\", _popoverContent2.default).directive(\"ouiPopoverTrigger\", _popoverTrigger2.default);\n\n/***/ }),\n/* 386 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _popover = __webpack_require__(387);\n\nvar _popover2 = _interopRequireDefault(_popover);\n\nvar _popover3 = __webpack_require__(388);\n\nvar _popover4 = _interopRequireDefault(_popover3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n template: _popover4.default,\n controller: _popover2.default,\n bindings: {\n placement: \"@?\"\n },\n transclude: true\n};\n\n/***/ }),\n/* 387 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _popper = __webpack_require__(25);\n\nvar _popper2 = _interopRequireDefault(_popper);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar KEY_ESCAPE = 27;\n\nvar PopoverController = function () {\n PopoverController.$inject = [\"$scope\", \"$element\", \"$attrs\", \"$document\", \"$timeout\"];\n function PopoverController($scope, $element, $attrs, $document, $timeout) {\n \"ngInject\";\n\n (0, _classCallCheck3.default)(this, PopoverController);\n this.$scope = $scope;\n this.$element = $element;\n this.$attrs = $attrs;\n this.$document = $document;\n this.$timeout = $timeout;\n }\n\n (0, _createClass3.default)(PopoverController, [{\n key: \"$onInit\",\n value: function $onInit() {\n this.isPopoverOpen = false;\n\n this.id = \"ouiPopover\" + this.$scope.$id;\n\n if (angular.isUndefined(this.placement)) {\n this.placement = \"right\";\n }\n }\n }, {\n key: \"$postLink\",\n value: function $postLink() {\n this.triggerElement = this.$element[0].querySelector(\".oui-popover__trigger\");\n this.popperElement = this.$element[0].querySelector(\".oui-popover__content\");\n this.arrowElement = this.$element[0].querySelector(\".oui-popover__arrow\");\n }\n }, {\n key: \"$destroy\",\n value: function $destroy() {\n this.closePopover();\n }\n }, {\n key: \"onTriggerClick\",\n value: function onTriggerClick() {\n if (!this.isPopoverOpen) {\n this.openPopover();\n } else {\n this.closePopover();\n }\n }\n }, {\n key: \"triggerKeyHandler\",\n value: function triggerKeyHandler(evt) {\n var _this = this;\n\n if (evt && evt.type === \"keydown\" && evt.which === KEY_ESCAPE) {\n this.$scope.$apply(function () {\n _this.closePopover();\n });\n }\n }\n }, {\n key: \"openPopover\",\n value: function openPopover() {\n var _this2 = this;\n\n this.isPopoverOpen = true;\n angular.element(this.$element.children()[0]).addClass(\"oui-popover_active\");\n this.updatePopper();\n\n this.$document.on(\"keydown\", function (evt) {\n return _this2.triggerKeyHandler(evt);\n });\n this.$scope.$broadcast(\"oui:popover:afterOpen\", this.id);\n }\n }, {\n key: \"closePopover\",\n value: function closePopover() {\n var _this3 = this;\n\n this.isPopoverOpen = false;\n angular.element(this.$element.children()[0]).removeClass(\"oui-popover_active\");\n this.destroyPopper();\n\n this.$document.off(\"keydown\", function (evt) {\n return _this3.triggerKeyHandler(evt);\n });\n this.$scope.$broadcast(\"oui:popover:afterClose\", this.id);\n }\n }, {\n key: \"createPopper\",\n value: function createPopper() {\n if (this.arrowElement) {\n this.arrowElement.setAttribute(\"x-arrow\", \"\");\n }\n\n this.popperElement.style.minWidth = this.triggerElement.offsetWidth + \"px\";\n\n this.popper = new _popper2.default(this.triggerElement, this.popperElement, {\n placement: this.placement,\n modifiers: {\n preventOverflow: {\n boundariesElement: this.$document[0].body\n }\n }\n });\n }\n }, {\n key: \"updatePopper\",\n value: function updatePopper() {\n if (this.popper) {\n this.popper.scheduleUpdate();\n } else {\n this.createPopper();\n }\n }\n }, {\n key: \"destroyPopper\",\n value: function destroyPopper() {\n if (!this.popper) {\n return;\n }\n\n this.popper.destroy();\n this.popper = null;\n }\n }]);\n return PopoverController;\n}();\n\nexports.default = PopoverController;\n\n/***/ }),\n/* 388 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"
\";\n\n/***/ }),\n/* 389 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _popoverContent = __webpack_require__(390);\n\nvar _popoverContent2 = _interopRequireDefault(_popoverContent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n \"ngInject\";\n\n return {\n restrict: \"AE\",\n require: {\n popover: \"^ouiPopover\"\n },\n controller: function controller() {\n (0, _classCallCheck3.default)(this, controller);\n },\n controllerAs: \"$ctrl\",\n bindToController: true,\n scope: {},\n template: _popoverContent2.default,\n transclude: true\n };\n};\n\n/***/ }),\n/* 390 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"
\";\n\n/***/ }),\n/* 391 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar popoverTriggerClass = \"oui-popover__trigger\";\n\nexports.default = function () {\n \"ngInject\";\n\n return {\n restrict: \"AE\",\n require: \"^ouiPopover\",\n scope: {},\n link: function link(scope, element, attrs, ctrl) {\n var triggerElement = element;\n\n triggerElement.addClass(popoverTriggerClass);\n\n triggerElement.attr(\"id\", ctrl.id);\n triggerElement.attr({ \"aria-haspopup\": true, \"aria-expanded\": false });\n\n triggerElement.on(\"click\", function () {\n return ctrl.onTriggerClick();\n });\n\n scope.$on(\"oui:popover:afterOpen\", function (e, id) {\n if (id !== ctrl.id) {\n return;\n }\n\n triggerElement.attr(\"aria-expanded\", true);\n });\n\n scope.$on(\"oui:popover:afterClose\", function (e, id) {\n if (id !== ctrl.id) {\n return;\n }\n\n triggerElement.attr(\"aria-expanded\", false);\n });\n\n scope.$on(\"$destroy\", function () {\n triggerElement.off(\"click\");\n });\n }\n };\n};\n\n/***/ }),\n/* 392 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _stepForm = __webpack_require__(393);\n\nvar _stepForm2 = _interopRequireDefault(_stepForm);\n\nvar _stepper = __webpack_require__(396);\n\nvar _stepper2 = _interopRequireDefault(_stepper);\n\nvar _stepper3 = __webpack_require__(399);\n\nvar _stepper4 = _interopRequireDefault(_stepper3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.stepper\", []).component(\"ouiStepper\", _stepper2.default).component(\"ouiStepForm\", _stepForm2.default).provider(\"ouiStepperConfiguration\", _stepper4.default);\n\n/***/ }),\n/* 393 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _stepFormController = __webpack_require__(394);\n\nvar _stepFormController2 = _interopRequireDefault(_stepFormController);\n\nvar _stepForm = __webpack_require__(395);\n\nvar _stepForm2 = _interopRequireDefault(_stepForm);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n require: {\n stepperCtrl: \"^ouiStepper\"\n },\n bindings: {\n id: \"@?\",\n name: \"@?\",\n header: \"@\",\n description: \"@?\",\n\n cancelHref: \"@?\",\n cancelText: \"@?\",\n loadingText: \"@?\",\n submitText: \"@?\",\n\n disabled: \"
\";\n\n/***/ }),\n/* 396 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _stepperController = __webpack_require__(397);\n\nvar _stepperController2 = _interopRequireDefault(_stepperController);\n\nvar _stepper = __webpack_require__(398);\n\nvar _stepper2 = _interopRequireDefault(_stepper);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n bindings: {\n name: \"@\",\n id: \"@\",\n onInit: \"&\",\n onFinish: \"&\"\n },\n controller: _stepperController2.default,\n template: _stepper2.default,\n transclude: true\n};\n\n/***/ }),\n/* 397 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _class = function () {\n _class.$inject = [\"$attrs\", \"$element\", \"$timeout\"];\n function _class($attrs, $element, $timeout) {\n \"ngInject\";\n\n (0, _classCallCheck3.default)(this, _class);\n this.$attrs = $attrs;\n this.$element = $element;\n this.$timeout = $timeout;\n }\n\n (0, _createClass3.default)(_class, [{\n key: \"$onInit\",\n value: function $onInit() {\n this.forms = [];\n this.steps = [];\n this.currentIndex = 0;\n this.onInit();\n }\n }, {\n key: \"$postLink\",\n value: function $postLink() {\n var _this = this;\n\n this.$timeout(function () {\n return _this.$element.removeAttr(\"id\").removeAttr(\"name\").addClass(\"oui-stepper\");\n });\n }\n }, {\n key: \"addStep\",\n value: function addStep(step) {\n this.steps.push(step);\n this.focusStep(this.currentIndex);\n }\n }, {\n key: \"addForm\",\n value: function addForm(form, index) {\n this.forms[index] = form;\n this.nextStep();\n\n if (index === this.steps.length - 1) {\n this.onFinish({ forms: this.forms });\n }\n }\n }, {\n key: \"nextStep\",\n value: function nextStep() {\n var indexToFocus = Math.min(this.currentIndex + 1, this.steps.length);\n this.focusStep(indexToFocus);\n }\n }, {\n key: \"prevStep\",\n value: function prevStep() {\n var indexToFocus = Math.max(this.currentIndex - 1, 0);\n this.focusStep(indexToFocus);\n }\n }, {\n key: \"focusStep\",\n value: function focusStep(indexToFocus) {\n var _this2 = this;\n\n this.currentIndex = indexToFocus;\n this.steps.forEach(function (step, index) {\n var focused = index === indexToFocus;\n\n if (angular.isDefined(step.stepper)) {\n step.stepper.index = index;\n step.stepper.focused = focused;\n step.stepper.disabled = index > _this2.currentIndex;\n step.stepper.last = index === _this2.steps.length - 1;\n }\n\n if (focused) {\n step.onFocus();\n }\n });\n }\n }]);\n return _class;\n}();\n\nexports.default = _class;\n\n/***/ }),\n/* 398 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"
\";\n\n/***/ }),\n/* 399 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _merge2 = __webpack_require__(33);\n\nvar _merge3 = _interopRequireDefault(_merge2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _class = function () {\n function _class() {\n (0, _classCallCheck3.default)(this, _class);\n\n this.translations = {\n optionalLabel: \"(optional)\",\n modifyThisStep: \"Modify this step\",\n skipThisStep: \"Skip this step\",\n nextButtonLabel: \"Next\",\n submitButtonLabel: \"Submit\",\n cancelButtonLabel: \"Cancel\"\n };\n }\n\n (0, _createClass3.default)(_class, [{\n key: \"setTranslations\",\n value: function setTranslations(translations) {\n this.translations = (0, _merge3.default)(this.translations, translations);\n return this;\n }\n }, {\n key: \"$get\",\n value: function $get() {\n return {\n translations: this.translations\n };\n }\n }]);\n return _class;\n}();\n\nexports.default = _class;\n\n/***/ }),\n/* 400 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _skeletonComponent = __webpack_require__(401);\n\nvar _skeletonComponent2 = _interopRequireDefault(_skeletonComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.skeleton\", []).component(\"ouiSkeleton\", _skeletonComponent2.default);\n\n/***/ }),\n/* 401 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _skeleton = __webpack_require__(402);\n\nvar _skeleton2 = _interopRequireDefault(_skeleton);\n\nvar _skeleton3 = __webpack_require__(403);\n\nvar _skeleton4 = _interopRequireDefault(_skeleton3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n controller: _skeleton2.default,\n template: _skeleton4.default,\n bindings: {\n size: \"@?\",\n randomized: \"
\";\n\n/***/ }),\n/* 404 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _clipboardComponent = __webpack_require__(405);\n\nvar _clipboardComponent2 = _interopRequireDefault(_clipboardComponent);\n\nvar _clipboardProvider = __webpack_require__(409);\n\nvar _clipboardProvider2 = _interopRequireDefault(_clipboardProvider);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.clipboard\", []).component(\"ouiClipboard\", _clipboardComponent2.default).provider(\"ouiClipboardConfiguration\", _clipboardProvider2.default);\n\n/***/ }),\n/* 405 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _clipboard = __webpack_require__(406);\n\nvar _clipboard2 = _interopRequireDefault(_clipboard);\n\nvar _clipboard3 = __webpack_require__(408);\n\nvar _clipboard4 = _interopRequireDefault(_clipboard3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n template: _clipboard4.default,\n controller: _clipboard2.default,\n bindings: {\n name: \"@?\",\n id: \"@?\",\n model: \"=\"\n }\n};\n\n/***/ }),\n/* 406 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _clipboard = __webpack_require__(407);\n\nvar _clipboard2 = _interopRequireDefault(_clipboard);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _class = function () {\n _class.$inject = [\"$attrs\", \"$element\", \"$timeout\", \"ouiClipboardConfiguration\"];\n function _class($attrs, $element, $timeout, ouiClipboardConfiguration) {\n \"ngInject\";\n\n (0, _classCallCheck3.default)(this, _class);\n this.$attrs = $attrs;\n this.$element = $element;\n this.$timeout = $timeout;\n this.translations = angular.copy(ouiClipboardConfiguration.translations);\n }\n\n (0, _createClass3.default)(_class, [{\n key: \"$onInit\",\n value: function $onInit() {\n this.tooltipText = this.translations.copyToClipboardLabel;\n this.trigger = this.$element[0].querySelector(\".oui-clipboard__button\");\n this.target = this.$element[0].querySelector(\".oui-clipboard__control\");\n }\n }, {\n key: \"$onDestroy\",\n value: function $onDestroy() {\n this.clipboard.destroy();\n }\n }, {\n key: \"$postLink\",\n value: function $postLink() {\n var _this = this;\n\n this.$timeout(function () {\n _this.$element.addClass(\"oui-input-group oui-input-group_clipboard\").removeAttr(\"id\").removeAttr(\"name\");\n });\n\n this.clipboard = new _clipboard2.default(this.trigger, {\n target: function target() {\n return _this.target;\n },\n text: function text() {\n return _this.model;\n }\n });\n\n this.clipboard.on(\"success\", function () {\n return _this.selectInputText(_this.translations.copiedLabel);\n }).on(\"error\", function () {\n return _this.selectInputText(_this.translations.notSupported);\n });\n }\n }, {\n key: \"selectInputText\",\n value: function selectInputText(tooltipText) {\n var _this2 = this;\n\n var selectionEnd = this.model.length || 0;\n\n this.$timeout(function () {\n _this2.target.focus();\n\n _this2.target.selectionStart = 0;\n _this2.target.selectionEnd = selectionEnd;\n _this2.target.setSelectionRange(0, selectionEnd);\n _this2.target.select();\n\n _this2.tooltipText = tooltipText;\n\n angular.element(_this2.target).one(\"blur\", function () {\n return _this2.reset();\n });\n });\n }\n }, {\n key: \"onInputClick\",\n value: function onInputClick() {\n this.trigger.click();\n }\n }, {\n key: \"reset\",\n value: function reset() {\n var _this3 = this;\n\n var resetDelay = 500;\n\n this.$timeout(function () {\n _this3.tooltipText = _this3.translations.copyToClipboardLabel;\n }, resetDelay);\n }\n }]);\n return _class;\n}();\n\nexports.default = _class;\n\n/***/ }),\n/* 407 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/*!\n * clipboard.js v2.0.1\n * https://zenorocha.github.io/clipboard.js\n * \n * Licensed MIT © Zeno Rocha\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(true)\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ClipboardJS\"] = factory();\n\telse\n\t\troot[\"ClipboardJS\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 3);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n if (true) {\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, __webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else if (typeof exports !== \"undefined\") {\n factory(module, require('select'));\n } else {\n var mod = {\n exports: {}\n };\n factory(mod, global.select);\n global.clipboardAction = mod.exports;\n }\n})(this, function (module, _select) {\n 'use strict';\n\n var _select2 = _interopRequireDefault(_select);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n var ClipboardAction = function () {\n /**\n * @param {Object} options\n */\n function ClipboardAction(options) {\n _classCallCheck(this, ClipboardAction);\n\n this.resolveOptions(options);\n this.initSelection();\n }\n\n /**\n * Defines base properties passed from constructor.\n * @param {Object} options\n */\n\n\n _createClass(ClipboardAction, [{\n key: 'resolveOptions',\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.action = options.action;\n this.container = options.container;\n this.emitter = options.emitter;\n this.target = options.target;\n this.text = options.text;\n this.trigger = options.trigger;\n\n this.selectedText = '';\n }\n }, {\n key: 'initSelection',\n value: function initSelection() {\n if (this.text) {\n this.selectFake();\n } else if (this.target) {\n this.selectTarget();\n }\n }\n }, {\n key: 'selectFake',\n value: function selectFake() {\n var _this = this;\n\n var isRTL = document.documentElement.getAttribute('dir') == 'rtl';\n\n this.removeFake();\n\n this.fakeHandlerCallback = function () {\n return _this.removeFake();\n };\n this.fakeHandler = this.container.addEventListener('click', this.fakeHandlerCallback) || true;\n\n this.fakeElem = document.createElement('textarea');\n // Prevent zooming on iOS\n this.fakeElem.style.fontSize = '12pt';\n // Reset box model\n this.fakeElem.style.border = '0';\n this.fakeElem.style.padding = '0';\n this.fakeElem.style.margin = '0';\n // Move element out of screen horizontally\n this.fakeElem.style.position = 'absolute';\n this.fakeElem.style[isRTL ? 'right' : 'left'] = '-9999px';\n // Move element to the same position vertically\n var yPosition = window.pageYOffset || document.documentElement.scrollTop;\n this.fakeElem.style.top = yPosition + 'px';\n\n this.fakeElem.setAttribute('readonly', '');\n this.fakeElem.value = this.text;\n\n this.container.appendChild(this.fakeElem);\n\n this.selectedText = (0, _select2.default)(this.fakeElem);\n this.copyText();\n }\n }, {\n key: 'removeFake',\n value: function removeFake() {\n if (this.fakeHandler) {\n this.container.removeEventListener('click', this.fakeHandlerCallback);\n this.fakeHandler = null;\n this.fakeHandlerCallback = null;\n }\n\n if (this.fakeElem) {\n this.container.removeChild(this.fakeElem);\n this.fakeElem = null;\n }\n }\n }, {\n key: 'selectTarget',\n value: function selectTarget() {\n this.selectedText = (0, _select2.default)(this.target);\n this.copyText();\n }\n }, {\n key: 'copyText',\n value: function copyText() {\n var succeeded = void 0;\n\n try {\n succeeded = document.execCommand(this.action);\n } catch (err) {\n succeeded = false;\n }\n\n this.handleResult(succeeded);\n }\n }, {\n key: 'handleResult',\n value: function handleResult(succeeded) {\n this.emitter.emit(succeeded ? 'success' : 'error', {\n action: this.action,\n text: this.selectedText,\n trigger: this.trigger,\n clearSelection: this.clearSelection.bind(this)\n });\n }\n }, {\n key: 'clearSelection',\n value: function clearSelection() {\n if (this.trigger) {\n this.trigger.focus();\n }\n\n window.getSelection().removeAllRanges();\n }\n }, {\n key: 'destroy',\n value: function destroy() {\n this.removeFake();\n }\n }, {\n key: 'action',\n set: function set() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'copy';\n\n this._action = action;\n\n if (this._action !== 'copy' && this._action !== 'cut') {\n throw new Error('Invalid \"action\" value, use either \"copy\" or \"cut\"');\n }\n },\n get: function get() {\n return this._action;\n }\n }, {\n key: 'target',\n set: function set(target) {\n if (target !== undefined) {\n if (target && (typeof target === 'undefined' ? 'undefined' : _typeof(target)) === 'object' && target.nodeType === 1) {\n if (this.action === 'copy' && target.hasAttribute('disabled')) {\n throw new Error('Invalid \"target\" attribute. Please use \"readonly\" instead of \"disabled\" attribute');\n }\n\n if (this.action === 'cut' && (target.hasAttribute('readonly') || target.hasAttribute('disabled'))) {\n throw new Error('Invalid \"target\" attribute. You can\\'t cut text from elements with \"readonly\" or \"disabled\" attributes');\n }\n\n this._target = target;\n } else {\n throw new Error('Invalid \"target\" value, use a valid Element');\n }\n }\n },\n get: function get() {\n return this._target;\n }\n }]);\n\n return ClipboardAction;\n }();\n\n module.exports = ClipboardAction;\n});\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar is = __webpack_require__(6);\nvar delegate = __webpack_require__(5);\n\n/**\n * Validates all params and calls the right\n * listener function based on its target type.\n *\n * @param {String|HTMLElement|HTMLCollection|NodeList} target\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listen(target, type, callback) {\n if (!target && !type && !callback) {\n throw new Error('Missing required arguments');\n }\n\n if (!is.string(type)) {\n throw new TypeError('Second argument must be a String');\n }\n\n if (!is.fn(callback)) {\n throw new TypeError('Third argument must be a Function');\n }\n\n if (is.node(target)) {\n return listenNode(target, type, callback);\n }\n else if (is.nodeList(target)) {\n return listenNodeList(target, type, callback);\n }\n else if (is.string(target)) {\n return listenSelector(target, type, callback);\n }\n else {\n throw new TypeError('First argument must be a String, HTMLElement, HTMLCollection, or NodeList');\n }\n}\n\n/**\n * Adds an event listener to a HTML element\n * and returns a remove listener function.\n *\n * @param {HTMLElement} node\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNode(node, type, callback) {\n node.addEventListener(type, callback);\n\n return {\n destroy: function() {\n node.removeEventListener(type, callback);\n }\n }\n}\n\n/**\n * Add an event listener to a list of HTML elements\n * and returns a remove listener function.\n *\n * @param {NodeList|HTMLCollection} nodeList\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNodeList(nodeList, type, callback) {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.addEventListener(type, callback);\n });\n\n return {\n destroy: function() {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.removeEventListener(type, callback);\n });\n }\n }\n}\n\n/**\n * Add an event listener to a selector\n * and returns a remove listener function.\n *\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenSelector(selector, type, callback) {\n return delegate(document.body, selector, type, callback);\n}\n\nmodule.exports = listen;\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports) {\n\nfunction E () {\n // Keep this empty so it's easier to inherit from\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\n}\n\nE.prototype = {\n on: function (name, callback, ctx) {\n var e = this.e || (this.e = {});\n\n (e[name] || (e[name] = [])).push({\n fn: callback,\n ctx: ctx\n });\n\n return this;\n },\n\n once: function (name, callback, ctx) {\n var self = this;\n function listener () {\n self.off(name, listener);\n callback.apply(ctx, arguments);\n };\n\n listener._ = callback\n return this.on(name, listener, ctx);\n },\n\n emit: function (name) {\n var data = [].slice.call(arguments, 1);\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\n var i = 0;\n var len = evtArr.length;\n\n for (i; i < len; i++) {\n evtArr[i].fn.apply(evtArr[i].ctx, data);\n }\n\n return this;\n },\n\n off: function (name, callback) {\n var e = this.e || (this.e = {});\n var evts = e[name];\n var liveEvents = [];\n\n if (evts && callback) {\n for (var i = 0, len = evts.length; i < len; i++) {\n if (evts[i].fn !== callback && evts[i].fn._ !== callback)\n liveEvents.push(evts[i]);\n }\n }\n\n // Remove event from queue to prevent memory leak\n // Suggested by https://github.com/lazd\n // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910\n\n (liveEvents.length)\n ? e[name] = liveEvents\n : delete e[name];\n\n return this;\n }\n};\n\nmodule.exports = E;\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n if (true) {\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, __webpack_require__(0), __webpack_require__(2), __webpack_require__(1)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else if (typeof exports !== \"undefined\") {\n factory(module, require('./clipboard-action'), require('tiny-emitter'), require('good-listener'));\n } else {\n var mod = {\n exports: {}\n };\n factory(mod, global.clipboardAction, global.tinyEmitter, global.goodListener);\n global.clipboard = mod.exports;\n }\n})(this, function (module, _clipboardAction, _tinyEmitter, _goodListener) {\n 'use strict';\n\n var _clipboardAction2 = _interopRequireDefault(_clipboardAction);\n\n var _tinyEmitter2 = _interopRequireDefault(_tinyEmitter);\n\n var _goodListener2 = _interopRequireDefault(_goodListener);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n\n var Clipboard = function (_Emitter) {\n _inherits(Clipboard, _Emitter);\n\n /**\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n * @param {Object} options\n */\n function Clipboard(trigger, options) {\n _classCallCheck(this, Clipboard);\n\n var _this = _possibleConstructorReturn(this, (Clipboard.__proto__ || Object.getPrototypeOf(Clipboard)).call(this));\n\n _this.resolveOptions(options);\n _this.listenClick(trigger);\n return _this;\n }\n\n /**\n * Defines if attributes would be resolved using internal setter functions\n * or custom functions that were passed in the constructor.\n * @param {Object} options\n */\n\n\n _createClass(Clipboard, [{\n key: 'resolveOptions',\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.action = typeof options.action === 'function' ? options.action : this.defaultAction;\n this.target = typeof options.target === 'function' ? options.target : this.defaultTarget;\n this.text = typeof options.text === 'function' ? options.text : this.defaultText;\n this.container = _typeof(options.container) === 'object' ? options.container : document.body;\n }\n }, {\n key: 'listenClick',\n value: function listenClick(trigger) {\n var _this2 = this;\n\n this.listener = (0, _goodListener2.default)(trigger, 'click', function (e) {\n return _this2.onClick(e);\n });\n }\n }, {\n key: 'onClick',\n value: function onClick(e) {\n var trigger = e.delegateTarget || e.currentTarget;\n\n if (this.clipboardAction) {\n this.clipboardAction = null;\n }\n\n this.clipboardAction = new _clipboardAction2.default({\n action: this.action(trigger),\n target: this.target(trigger),\n text: this.text(trigger),\n container: this.container,\n trigger: trigger,\n emitter: this\n });\n }\n }, {\n key: 'defaultAction',\n value: function defaultAction(trigger) {\n return getAttributeValue('action', trigger);\n }\n }, {\n key: 'defaultTarget',\n value: function defaultTarget(trigger) {\n var selector = getAttributeValue('target', trigger);\n\n if (selector) {\n return document.querySelector(selector);\n }\n }\n }, {\n key: 'defaultText',\n value: function defaultText(trigger) {\n return getAttributeValue('text', trigger);\n }\n }, {\n key: 'destroy',\n value: function destroy() {\n this.listener.destroy();\n\n if (this.clipboardAction) {\n this.clipboardAction.destroy();\n this.clipboardAction = null;\n }\n }\n }], [{\n key: 'isSupported',\n value: function isSupported() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['copy', 'cut'];\n\n var actions = typeof action === 'string' ? [action] : action;\n var support = !!document.queryCommandSupported;\n\n actions.forEach(function (action) {\n support = support && !!document.queryCommandSupported(action);\n });\n\n return support;\n }\n }]);\n\n return Clipboard;\n }(_tinyEmitter2.default);\n\n /**\n * Helper function to retrieve attribute value.\n * @param {String} suffix\n * @param {Element} element\n */\n function getAttributeValue(suffix, element) {\n var attribute = 'data-clipboard-' + suffix;\n\n if (!element.hasAttribute(attribute)) {\n return;\n }\n\n return element.getAttribute(attribute);\n }\n\n module.exports = Clipboard;\n});\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports) {\n\nvar DOCUMENT_NODE_TYPE = 9;\n\n/**\n * A polyfill for Element.matches()\n */\nif (typeof Element !== 'undefined' && !Element.prototype.matches) {\n var proto = Element.prototype;\n\n proto.matches = proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector;\n}\n\n/**\n * Finds the closest parent that matches a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @return {Function}\n */\nfunction closest (element, selector) {\n while (element && element.nodeType !== DOCUMENT_NODE_TYPE) {\n if (typeof element.matches === 'function' &&\n element.matches(selector)) {\n return element;\n }\n element = element.parentNode;\n }\n}\n\nmodule.exports = closest;\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar closest = __webpack_require__(4);\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction _delegate(element, selector, type, callback, useCapture) {\n var listenerFn = listener.apply(this, arguments);\n\n element.addEventListener(type, listenerFn, useCapture);\n\n return {\n destroy: function() {\n element.removeEventListener(type, listenerFn, useCapture);\n }\n }\n}\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element|String|Array} [elements]\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction delegate(elements, selector, type, callback, useCapture) {\n // Handle the regular Element usage\n if (typeof elements.addEventListener === 'function') {\n return _delegate.apply(null, arguments);\n }\n\n // Handle Element-less usage, it defaults to global delegation\n if (typeof type === 'function') {\n // Use `document` as the first parameter, then apply arguments\n // This is a short way to .unshift `arguments` without running into deoptimizations\n return _delegate.bind(null, document).apply(null, arguments);\n }\n\n // Handle Selector-based usage\n if (typeof elements === 'string') {\n elements = document.querySelectorAll(elements);\n }\n\n // Handle Array-like based usage\n return Array.prototype.map.call(elements, function (element) {\n return _delegate(element, selector, type, callback, useCapture);\n });\n}\n\n/**\n * Finds closest match and invokes callback.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Function}\n */\nfunction listener(element, selector, type, callback) {\n return function(e) {\n e.delegateTarget = closest(e.target, selector);\n\n if (e.delegateTarget) {\n callback.call(element, e);\n }\n }\n}\n\nmodule.exports = delegate;\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports) {\n\n/**\n * Check if argument is a HTML element.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.node = function(value) {\n return value !== undefined\n && value instanceof HTMLElement\n && value.nodeType === 1;\n};\n\n/**\n * Check if argument is a list of HTML elements.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.nodeList = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return value !== undefined\n && (type === '[object NodeList]' || type === '[object HTMLCollection]')\n && ('length' in value)\n && (value.length === 0 || exports.node(value[0]));\n};\n\n/**\n * Check if argument is a string.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.string = function(value) {\n return typeof value === 'string'\n || value instanceof String;\n};\n\n/**\n * Check if argument is a function.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.fn = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return type === '[object Function]';\n};\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports) {\n\nfunction select(element) {\n var selectedText;\n\n if (element.nodeName === 'SELECT') {\n element.focus();\n\n selectedText = element.value;\n }\n else if (element.nodeName === 'INPUT' || element.nodeName === 'TEXTAREA') {\n var isReadOnly = element.hasAttribute('readonly');\n\n if (!isReadOnly) {\n element.setAttribute('readonly', '');\n }\n\n element.select();\n element.setSelectionRange(0, element.value.length);\n\n if (!isReadOnly) {\n element.removeAttribute('readonly');\n }\n\n selectedText = element.value;\n }\n else {\n if (element.hasAttribute('contenteditable')) {\n element.focus();\n }\n\n var selection = window.getSelection();\n var range = document.createRange();\n\n range.selectNodeContents(element);\n selection.removeAllRanges();\n selection.addRange(range);\n\n selectedText = selection.toString();\n }\n\n return selectedText;\n}\n\nmodule.exports = select;\n\n\n/***/ })\n/******/ ]);\n});\n\n/***/ }),\n/* 408 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 409 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _merge2 = __webpack_require__(33);\n\nvar _merge3 = _interopRequireDefault(_merge2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _class = function () {\n function _class() {\n (0, _classCallCheck3.default)(this, _class);\n\n this.translations = {\n copyToClipboardLabel: \"Copy to clipboard\",\n copiedLabel: \"Copied\",\n notSupported: \"Copy to clipboard not supported. Please copy the text manually\"\n };\n }\n\n (0, _createClass3.default)(_class, [{\n key: \"setTranslations\",\n value: function setTranslations(translations) {\n this.translations = (0, _merge3.default)(this.translations, translations);\n return this;\n }\n }, {\n key: \"$get\",\n value: function $get() {\n return {\n translations: this.translations\n };\n }\n }]);\n return _class;\n}();\n\nexports.default = _class;\n\n/***/ }),\n/* 410 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _slideshow = __webpack_require__(411);\n\nvar _slideshow2 = _interopRequireDefault(_slideshow);\n\nvar _slideshowPanel = __webpack_require__(414);\n\nvar _slideshowPanel2 = _interopRequireDefault(_slideshowPanel);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.slideshow\", []).component(\"ouiSlideshow\", _slideshow2.default).component(\"ouiSlideshowPanel\", _slideshowPanel2.default);\n\n/***/ }),\n/* 411 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slideshow = __webpack_require__(412);\n\nvar _slideshow2 = _interopRequireDefault(_slideshow);\n\nvar _slideshow3 = __webpack_require__(413);\n\nvar _slideshow4 = _interopRequireDefault(_slideshow3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n template: _slideshow4.default,\n controller: _slideshow2.default,\n transclude: true,\n bindings: {\n onDismiss: \"&\",\n loading: \" 0;\n this._client = { x: 0, y: 0 };\n }\n }, {\n key: \"$postLink\",\n value: function $postLink() {\n var _this = this;\n\n this.$document.on(\"keydown\", function (evt) {\n return _this._triggerKeyHandler(evt);\n });\n\n this.$timeout(function () {\n _this.panels = _this.$element[0].querySelectorAll(\"oui-slideshow-panel\");\n\n if (_this.panels[0]) {\n _this.isIllustrated = _this._isIllustratedPanel(0);\n var firstPanelElement = _this.panels[0].querySelector(\".\" + PANEL_CLASSNAME);\n firstPanelElement.setAttribute(\"aria-hidden\", \"false\");\n var $firstPanelElement = angular.element(firstPanelElement);\n $firstPanelElement.addClass(\"active\");\n }\n\n if (_this._isTouch) {\n angular.element(_this._componentElement).addClass(\"touchDevice\");\n _this._setTouchEventListener();\n }\n });\n }\n }, {\n key: \"$destroy\",\n value: function $destroy() {\n this.closeOnBoarding();\n }\n }, {\n key: \"closeOnBoarding\",\n value: function closeOnBoarding() {\n var _this2 = this;\n\n if (this.onDismiss) {\n this.onDismiss(event);\n }\n\n this.$document.off(\"keydown\", function (evt) {\n return _this2._triggerKeyHandler(evt);\n });\n this.$scope.$broadcast(\"oui:modalOnBoarding:afterClose\", this.id);\n }\n }, {\n key: \"next\",\n value: function next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT);\n }\n }\n }, {\n key: \"prev\",\n value: function prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREV);\n }\n }\n }, {\n key: \"slideTo\",\n value: function slideTo(index) {\n var _this3 = this;\n\n var active = this.currentIndex;\n var waiting = 10;\n\n if (index > this.panels.length - 1 || index < 0 || index === active) {\n return;\n }\n\n if (this._isSliding) {\n this.$timeout(function () {\n return _this3.slideTo(index);\n }, waiting);\n return;\n }\n\n this._slide(index > active ? Direction.NEXT : Direction.PREV, index);\n }\n }, {\n key: \"_getIndexByDirection\",\n value: function _getIndexByDirection(direction) {\n var isNextDirection = direction === Direction.NEXT;\n var isPrevDirection = direction === Direction.PREV;\n var lastItemIndex = this.panels.length - 1;\n var isGoingToWrap = isPrevDirection && this.currentIndex === 0 || isNextDirection && this.currentIndex === lastItemIndex;\n\n if (isGoingToWrap && !this.loop) {\n return this.currentIndex;\n }\n\n var delta = direction === Direction.PREV ? -1 : 1;\n var itemIndex = (this.currentIndex + delta) % this.panels.length;\n\n return itemIndex === -1 ? this.panels.length - 1 : itemIndex;\n }\n }, {\n key: \"_slide\",\n value: function _slide(direction, indexTo) {\n var _this4 = this;\n\n var slideType = direction === Direction.NEXT ? Direction.LEFT : Direction.RIGHT;\n var activePanel = this.panels[this.currentIndex].querySelector(\".\" + PANEL_CLASSNAME);\n var $activePanel = angular.element(activePanel);\n var nextPanelIndex = indexTo === 0 ? 0 : indexTo || activePanel && this._getIndexByDirection(direction);\n var nextPanel = this.panels[nextPanelIndex].querySelector(\".\" + PANEL_CLASSNAME);\n var $nextPanel = angular.element(nextPanel);\n\n if (nextPanel && $nextPanel.hasClass(\"active\")) {\n this._isSliding = false;\n return;\n }\n\n if (!activePanel || !nextPanel) {\n return;\n }\n\n this._isSliding = true;\n var nextIsIllustrated = this._isIllustratedPanel(nextPanelIndex);\n\n $nextPanel.addClass(direction);\n this.constructor.reflowElement($nextPanel);\n $activePanel.addClass(slideType);\n this.constructor.reflowElement($activePanel);\n $nextPanel.addClass(slideType);\n\n this.currentIndex = nextPanelIndex;\n if (direction === Direction.NEXT) {\n this.isIllustrated = nextIsIllustrated;\n }\n\n this.$timeout(function () {\n $activePanel.removeClass(\"active \" + slideType);\n activePanel.setAttribute(\"aria-hidden\", \"true\");\n $nextPanel.removeClass(direction + \" \" + slideType);\n $nextPanel.addClass(\"active\");\n nextPanel.setAttribute(\"aria-hidden\", \"false\");\n _this4.isIllustrated = nextIsIllustrated;\n _this4._isSliding = false;\n }, TRANSITION_DURATION);\n }\n }, {\n key: \"_setTouchEventListener\",\n value: function _setTouchEventListener() {\n var _this5 = this;\n\n if (this._contentElement) {\n this._contentElement.addEventListener(\"touchstart\", function (evt) {\n evt.preventDefault();\n _this5._client.x = evt.touches[0].clientX || 0;\n _this5._client.y = evt.touches[0].clientY || 0;\n });\n\n this._contentElement.addEventListener(\"touchmove\", function (evt) {\n evt.preventDefault();\n if (!_this5._client.x || !_this5._client.y) {\n return;\n }\n\n var xDiff = _this5._client.x - evt.touches[0].clientX;\n var yDiff = _this5._client.y - evt.touches[0].clientY;\n var minDiff = 2;\n\n if (Math.abs(xDiff) > Math.abs(yDiff) && Math.abs(xDiff) + Math.abs(yDiff) > minDiff) {\n if (xDiff > 0) {\n _this5.next();\n } else {\n _this5.prev();\n }\n }\n\n _this5._client.x = 0;\n _this5._client.y = 0;\n });\n }\n }\n }, {\n key: \"_triggerKeyHandler\",\n value: function _triggerKeyHandler(evt) {\n var _this6 = this;\n\n if (evt && evt.type === \"keydown\" && evt.which === KEY_ESCAPE) {\n this.$scope.$apply(function () {\n _this6.closeOnBoarding();\n });\n }\n }\n }, {\n key: \"_isIllustratedPanel\",\n value: function _isIllustratedPanel(index) {\n return !!this.panels[index].attributes.picture || !!this.panels[index].dataset.picture;\n }\n }], [{\n key: \"reflowElement\",\n value: function reflowElement($element) {\n return $element[0].offsetHeight;\n }\n }]);\n return _class;\n}();\n\nexports.default = _class;\n\n/***/ }),\n/* 413 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"
\";\n\n/***/ }),\n/* 414 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slideshowPanel = __webpack_require__(415);\n\nvar _slideshowPanel2 = _interopRequireDefault(_slideshowPanel);\n\nvar _slideshowPanel3 = __webpack_require__(416);\n\nvar _slideshowPanel4 = _interopRequireDefault(_slideshowPanel3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n template: _slideshowPanel4.default,\n controller: _slideshowPanel2.default,\n bindings: {\n heading: \"@?\",\n text: \"@?\",\n picture: \"@?\",\n onClick: \"&?\",\n href: \"@?\",\n external: \"
\";\n\n/***/ }),\n/* 417 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _pageHeader = __webpack_require__(418);\n\nvar _pageHeader2 = _interopRequireDefault(_pageHeader);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.page-header\", []).component(\"ouiPageHeader\", _pageHeader2.default);\n\n/***/ }),\n/* 418 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _pageHeaderController = __webpack_require__(419);\n\nvar _pageHeaderController2 = _interopRequireDefault(_pageHeaderController);\n\nvar _pageHeader = __webpack_require__(420);\n\nvar _pageHeader2 = _interopRequireDefault(_pageHeader);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n template: _pageHeader2.default,\n controller: _pageHeaderController2.default,\n bindings: {\n heading: \"@?\",\n description: \"@?\"\n },\n transclude: {\n guide: \"?ouiGuideMenu\",\n tabs: \"?ouiHeaderTabs\"\n }\n};\n\n/***/ }),\n/* 419 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _class = function () {\n _class.$inject = [\"$attrs\", \"$transclude\"];\n function _class($attrs, $transclude) {\n \"ngInject\";\n\n (0, _classCallCheck3.default)(this, _class);\n this.$attrs = $attrs;\n this.$transclude = $transclude;\n }\n\n (0, _createClass3.default)(_class, [{\n key: \"$onInit\",\n value: function $onInit() {\n this.transcludeGuide = this.$transclude.isSlotFilled(\"guide\");\n this.transcludeTabs = this.$transclude.isSlotFilled(\"tabs\");\n }\n }]);\n return _class;\n}();\n\nexports.default = _class;\n\n/***/ }),\n/* 420 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"

\";\n\n/***/ }),\n/* 421 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _tileComponent = __webpack_require__(422);\n\nvar _tileComponent2 = _interopRequireDefault(_tileComponent);\n\nvar _tileButtonComponent = __webpack_require__(425);\n\nvar _tileButtonComponent2 = _interopRequireDefault(_tileButtonComponent);\n\nvar _tileDefinitionComponent = __webpack_require__(428);\n\nvar _tileDefinitionComponent2 = _interopRequireDefault(_tileDefinitionComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.tile\", []).component(\"ouiTile\", _tileComponent2.default).component(\"ouiTileButton\", _tileButtonComponent2.default).component(\"ouiTileDefinition\", _tileDefinitionComponent2.default);\n\n/***/ }),\n/* 422 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _tile = __webpack_require__(423);\n\nvar _tile2 = _interopRequireDefault(_tile);\n\nvar _tile3 = __webpack_require__(424);\n\nvar _tile4 = _interopRequireDefault(_tile3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n template: _tile4.default,\n controller: _tile2.default,\n bindings: {\n heading: \"@?\",\n description: \"@?\",\n loading: \"

\";\n\n/***/ }),\n/* 425 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _tileButton = __webpack_require__(426);\n\nvar _tileButton2 = _interopRequireDefault(_tileButton);\n\nvar _tileButton3 = __webpack_require__(427);\n\nvar _tileButton4 = _interopRequireDefault(_tileButton3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n template: _tileButton4.default,\n controller: _tileButton2.default,\n bindings: {\n text: \"@?\",\n onClick: \"&?\",\n href: \"@?\",\n ariaLabel: \"@?\"\n },\n transclude: true\n};\n\n/***/ }),\n/* 426 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _class = function () {\n _class.$inject = [\"$attrs\", \"$element\", \"$timeout\"];\n function _class($attrs, $element, $timeout) {\n \"ngInject\";\n\n (0, _classCallCheck3.default)(this, _class);\n this.$attrs = $attrs;\n this.$element = $element;\n this.$timeout = $timeout;\n }\n\n (0, _createClass3.default)(_class, [{\n key: \"$postLink\",\n value: function $postLink() {\n var _this = this;\n\n this.$timeout(function () {\n return _this.$element.addClass(\"oui-tile__item oui-tile__item_button\");\n });\n }\n }]);\n return _class;\n}();\n\nexports.default = _class;\n\n/***/ }),\n/* 427 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" {{ :: $ctrl.text }} \";\n\n/***/ }),\n/* 428 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _tileDefinition = __webpack_require__(429);\n\nvar _tileDefinition2 = _interopRequireDefault(_tileDefinition);\n\nvar _tileDefinition3 = __webpack_require__(430);\n\nvar _tileDefinition4 = _interopRequireDefault(_tileDefinition3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n template: _tileDefinition4.default,\n controller: _tileDefinition2.default,\n bindings: {\n term: \"@?\",\n termPopover: \"@?\",\n description: \"@?\",\n actions: \"=?\"\n },\n transclude: {\n descriptionSlot: \"?ouiTileDescription\",\n actionSlot: \"?ouiActionMenu\"\n }\n};\n\n/***/ }),\n/* 429 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _class = function () {\n _class.$inject = [\"$attrs\", \"$element\", \"$timeout\", \"$transclude\"];\n function _class($attrs, $element, $timeout, $transclude) {\n \"ngInject\";\n\n (0, _classCallCheck3.default)(this, _class);\n this.$attrs = $attrs;\n this.$element = $element;\n this.$timeout = $timeout;\n this.$transclude = $transclude;\n }\n\n (0, _createClass3.default)(_class, [{\n key: \"$onInit\",\n value: function $onInit() {\n this.transcludeAction = this.$transclude.isSlotFilled(\"actionSlot\");\n }\n }, {\n key: \"$postLink\",\n value: function $postLink() {\n var _this = this;\n\n this.$timeout(function () {\n return _this.$element.addClass(\"oui-tile__item\");\n });\n }\n }]);\n return _class;\n}();\n\nexports.default = _class;\n\n/***/ }),\n/* 430 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"
\";\n\n/***/ }),\n/* 431 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _dropdownDivider = __webpack_require__(26);\n\nvar _dropdownDivider2 = _interopRequireDefault(_dropdownDivider);\n\nvar _dropdownGroup = __webpack_require__(74);\n\nvar _dropdownGroup2 = _interopRequireDefault(_dropdownGroup);\n\nvar _dropdownItem = __webpack_require__(40);\n\nvar _dropdownItem2 = _interopRequireDefault(_dropdownItem);\n\nvar _guideMenu = __webpack_require__(432);\n\nvar _guideMenu2 = _interopRequireDefault(_guideMenu);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.guide-menu\", []).component(\"ouiGuideMenu\", _guideMenu2.default).component(\"ouiGuideMenuDivider\", _dropdownDivider2.default).component(\"ouiGuideMenuGroup\", _dropdownGroup2.default).component(\"ouiGuideMenuItem\", _dropdownItem2.default);\n\n/***/ }),\n/* 432 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _guideMenu = __webpack_require__(433);\n\nvar _guideMenu2 = _interopRequireDefault(_guideMenu);\n\nvar _guideMenu3 = __webpack_require__(434);\n\nvar _guideMenu4 = _interopRequireDefault(_guideMenu3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n template: _guideMenu4.default,\n controller: _guideMenu2.default,\n bindings: {\n text: \"@\",\n align: \"@?\",\n ariaLabel: \"@?\"\n },\n transclude: true\n};\n\n/***/ }),\n/* 433 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _componentUtils = __webpack_require__(2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _class = function () {\n _class.$inject = [\"$attrs\", \"$element\", \"$timeout\"];\n function _class($attrs, $element, $timeout) {\n \"ngInject\";\n\n (0, _classCallCheck3.default)(this, _class);\n this.$attrs = $attrs;\n this.$element = $element;\n this.$timeout = $timeout;\n }\n\n (0, _createClass3.default)(_class, [{\n key: \"$onInit\",\n value: function $onInit() {\n (0, _componentUtils.addDefaultParameter)(this, \"align\", \"end\");\n }\n }, {\n key: \"$postLink\",\n value: function $postLink() {\n var _this = this;\n\n this.$timeout(function () {\n return _this.$element.removeAttr(\"aria-label\");\n });\n }\n }]);\n return _class;\n}();\n\nexports.default = _class;\n\n/***/ }),\n/* 434 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 435 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _headerTabs = __webpack_require__(436);\n\nvar _headerTabs2 = _interopRequireDefault(_headerTabs);\n\nvar _dropdownDivider = __webpack_require__(26);\n\nvar _dropdownDivider2 = _interopRequireDefault(_dropdownDivider);\n\nvar _headerTabsDropdown = __webpack_require__(442);\n\nvar _headerTabsDropdown2 = _interopRequireDefault(_headerTabsDropdown);\n\nvar _headerTabsItem = __webpack_require__(445);\n\nvar _headerTabsItem2 = _interopRequireDefault(_headerTabsItem);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nangular.module(\"oui.header-tabs\", []).component(\"ouiHeaderTabs\", _headerTabs2.default).component(\"ouiHeaderTabsDivider\", _dropdownDivider2.default).component(\"ouiHeaderTabsDropdown\", _headerTabsDropdown2.default).component(\"ouiHeaderTabsItem\", _headerTabsItem2.default);\n\n/***/ }),\n/* 436 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _headerTabs = __webpack_require__(437);\n\nvar _headerTabs2 = _interopRequireDefault(_headerTabs);\n\nvar _headerTabs3 = __webpack_require__(441);\n\nvar _headerTabs4 = _interopRequireDefault(_headerTabs3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n template: _headerTabs4.default,\n controller: _headerTabs2.default,\n transclude: true\n};\n\n/***/ }),\n/* 437 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _getIterator2 = __webpack_require__(438);\n\nvar _getIterator3 = _interopRequireDefault(_getIterator2);\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar checkScrollDelay = 800;\n\nvar _class = function () {\n _class.$inject = [\"$attrs\", \"$element\", \"$interval\", \"$scope\", \"$timeout\", \"$window\"];\n function _class($attrs, $element, $interval, $scope, $timeout, $window) {\n \"ngInject\";\n\n (0, _classCallCheck3.default)(this, _class);\n this.$attrs = $attrs;\n this.$element = $element;\n this.$interval = $interval;\n this.$scope = $scope;\n this.$timeout = $timeout;\n this.$window = $window;\n }\n\n (0, _createClass3.default)(_class, [{\n key: \"$onInit\",\n value: function $onInit() {\n this.scroll = {\n begin: 0,\n end: 0\n };\n }\n }, {\n key: \"$onDestroy\",\n value: function $onDestroy() {\n angular.element(this._tabsElement).off(\"scroll\");\n angular.element(this.$window).off(\"resize\");\n }\n }, {\n key: \"$postLink\",\n value: function $postLink() {\n var _this = this;\n\n this.$timeout(function () {\n _this.$element.addClass(\"oui-header-tabs\");\n\n _this._tabsElement = _this.$element[0].querySelector(\".oui-header-tabs__container\");\n angular.element(_this._tabsElement).on(\"scroll\", function (event) {\n return _this._checkScroll(event);\n });\n angular.element(_this.$window).on(\"resize\", function (event) {\n return _this._checkScroll(event);\n });\n _this._initialCheck();\n });\n\n this.$timeout(function () {\n return _this._initialCheck();\n }, checkScrollDelay);\n }\n }, {\n key: \"scrollLeft\",\n value: function scrollLeft() {\n this._scroll(\"left\");\n }\n }, {\n key: \"scrollRight\",\n value: function scrollRight() {\n this._scroll(\"right\");\n }\n }, {\n key: \"_initialCheck\",\n value: function _initialCheck() {\n var activeTab = this.$element[0].querySelector(\".oui-header-tabs__item_active\");\n if (activeTab && activeTab.offsetLeft - this._tabsElement.offsetLeft > 0) {\n this._tabsElement.scrollLeft = activeTab.offsetLeft - this._tabsElement.offsetLeft;\n } else {\n this.scroll.end = this._tabsElement.scrollWidth - this._tabsElement.offsetWidth;\n }\n }\n }, {\n key: \"_scroll\",\n value: function _scroll(direction) {\n var itemToGo = this._findItemToGo(direction);\n this._scrollToItem(direction, itemToGo);\n }\n }, {\n key: \"_checkScroll\",\n value: function _checkScroll(e) {\n if (e) {\n e.preventDefault();\n }\n\n this.scroll.begin = this._tabsElement.scrollLeft;\n this.scroll.end = this._tabsElement.scrollWidth - this._tabsElement.offsetWidth - this._tabsElement.scrollLeft;\n this.$scope.$digest();\n }\n }, {\n key: \"_findItemToGo\",\n value: function _findItemToGo(direction) {\n var tabsList = [].slice.call(this._tabsElement.querySelectorAll(\":scope > .oui-header-tabs__item\"));\n var tabsOffset = this._tabsElement.offsetLeft;\n var tabsStart = this._tabsElement.scrollLeft;\n var tabsEnd = tabsStart + this._tabsElement.offsetWidth;\n\n var itemGutter = 0;\n if (tabsList && tabsList.length > 1) {\n itemGutter = tabsList[1].offsetLeft - (tabsList[0].offsetLeft + tabsList[0].offsetWidth);\n }\n\n var itemToGo = tabsList[0];\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = (0, _getIterator3.default)(tabsList), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var item = _step.value;\n\n var itemStart = item.offsetLeft - tabsOffset;\n if (direction === \"right\" && itemStart <= tabsEnd + tabsOffset + itemGutter) {\n itemToGo = item;\n } else if (direction === \"left\" && itemStart < tabsStart) {\n itemToGo = item;\n } else {\n break;\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n return itemToGo;\n }\n }, {\n key: \"_scrollToItem\",\n value: function _scrollToItem(direction, item) {\n var _this2 = this;\n\n var duration = 500;\n var stepDuration = 15;\n var step = this._tabsElement.scrollWidth / (duration / stepDuration);\n\n var itemStart = item.offsetLeft - this._tabsElement.offsetLeft;\n var itemEnd = itemStart + item.offsetWidth;\n var tabsWidth = this._tabsElement.offsetWidth;\n\n var loop = this.$interval(function () {\n var tabsStart = _this2._tabsElement.scrollLeft;\n var tabsEnd = _this2._tabsElement.scrollWidth - _this2._tabsElement.offsetWidth - _this2._tabsElement.scrollLeft;\n var screenEnd = tabsStart + _this2._tabsElement.offsetWidth;\n\n if (direction === \"right\" && tabsEnd > 0 && (tabsStart + step < itemStart || itemEnd > screenEnd)) {\n _this2._tabsElement.scrollLeft += step;\n } else if (direction === \"left\" && tabsStart > 0 && (screenEnd - step > itemEnd || itemStart < tabsStart - step)) {\n _this2._tabsElement.scrollLeft -= step;\n } else {\n if (direction === \"right\") {\n _this2._tabsElement.scrollLeft = tabsStart <= itemStart ? itemStart : itemEnd - tabsWidth;\n } else {\n _this2._tabsElement.scrollLeft = tabsStart >= itemStart ? itemStart : itemEnd - tabsWidth;\n }\n _this2.$interval.cancel(loop);\n }\n }, stepDuration);\n }\n }]);\n return _class;\n}();\n\nexports.default = _class;\n\n/***/ }),\n/* 438 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(439), __esModule: true };\n\n/***/ }),\n/* 439 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(102);\n__webpack_require__(42);\nmodule.exports = __webpack_require__(440);\n\n\n/***/ }),\n/* 440 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(8);\nvar get = __webpack_require__(85);\nmodule.exports = __webpack_require__(3).getIterator = function (it) {\n var iterFn = get(it);\n if (typeof iterFn != 'function') throw TypeError(it + ' is not iterable!');\n return anObject(iterFn.call(it));\n};\n\n\n/***/ }),\n/* 441 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 442 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _headerTabsDropdown = __webpack_require__(443);\n\nvar _headerTabsDropdown2 = _interopRequireDefault(_headerTabsDropdown);\n\nvar _headerTabsDropdown3 = __webpack_require__(444);\n\nvar _headerTabsDropdown4 = _interopRequireDefault(_headerTabsDropdown3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n bindings: {\n text: \"@\"\n },\n controller: _headerTabsDropdown2.default,\n template: _headerTabsDropdown4.default,\n transclude: true\n};\n\n/***/ }),\n/* 443 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ouiHeaderTabsItemClass = \"oui-header-tabs__item\";\nvar ouiHeaderTabsItemActiveClass = ouiHeaderTabsItemClass + \"_active\";\nvar ouiHeaderTabsItemDisabledClass = ouiHeaderTabsItemClass + \"_disabled\";\nvar ouiHeaderTabsDropDownClass = ouiHeaderTabsItemClass + \"_dropdown\";\n\nvar _class = function () {\n _class.$inject = [\"$element\", \"$scope\", \"$timeout\"];\n function _class($element, $scope, $timeout) {\n \"ngInject\";\n\n (0, _classCallCheck3.default)(this, _class);\n this.$element = $element;\n this.$scope = $scope;\n this.$timeout = $timeout;\n }\n\n (0, _createClass3.default)(_class, [{\n key: \"$onInit\",\n value: function $onInit() {\n this.disabled = false;\n }\n }, {\n key: \"$postLink\",\n value: function $postLink() {\n var _this = this;\n\n this.$timeout(function () {\n _this.$element.addClass(ouiHeaderTabsItemClass + \" \" + ouiHeaderTabsDropDownClass).attr(\"role\", \"listitem\");\n\n var itemCount = (_this.$element[0].querySelectorAll(\".\" + ouiHeaderTabsItemClass) || []).length;\n _this.$scope.$watch(function () {\n return (_this.$element[0].querySelectorAll(\".\" + ouiHeaderTabsItemDisabledClass) || []).length;\n }, function (itemDisabledCount) {\n if (itemDisabledCount === itemCount) {\n _this.disabled = true;\n _this.$element.addClass(ouiHeaderTabsItemDisabledClass);\n } else {\n _this.disabled = false;\n _this.$element.removeClass(ouiHeaderTabsItemDisabledClass);\n }\n });\n\n _this.$scope.$watch(function () {\n return !!_this.$element[0].querySelector(\".\" + ouiHeaderTabsItemActiveClass);\n }, function (hasActive) {\n if (hasActive) {\n _this.$element.addClass(ouiHeaderTabsItemActiveClass);\n } else {\n _this.$element.removeClass(ouiHeaderTabsItemActiveClass);\n }\n });\n });\n }\n }]);\n return _class;\n}();\n\nexports.default = _class;\n\n/***/ }),\n/* 444 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 445 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _headerTabsItem = __webpack_require__(446);\n\nvar _headerTabsItem2 = _interopRequireDefault(_headerTabsItem);\n\nvar _headerTabsItem3 = __webpack_require__(110);\n\nvar _headerTabsItem4 = _interopRequireDefault(_headerTabsItem3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n controller: _headerTabsItem2.default,\n template: _headerTabsItem4.default,\n bindings: {\n text: \"@\",\n href: \"@?\",\n state: \"@?\",\n stateParams: \" true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/isArray.js\n// module id = 11\n// module chunks = 0","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_hide.js\n// module id = 12\n// module chunks = 0","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_is-object.js\n// module id = 13\n// module chunks = 0","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_fails.js\n// module id = 14\n// module chunks = 0","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/isObject.js\n// module id = 15\n// module chunks = 0","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-iobject.js\n// module id = 16\n// module chunks = 0","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_property-desc.js\n// module id = 17\n// module chunks = 0","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/isObjectLike.js\n// module id = 18\n// module chunks = 0","module.exports = {};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iterators.js\n// module id = 19\n// module chunks = 0","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-keys.js\n// module id = 20\n// module chunks = 0","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-object.js\n// module id = 21\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/assign\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/assign.js\n// module id = 22\n// module chunks = 0","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_assocIndexOf.js\n// module id = 23\n// module chunks = 0","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseGetTag.js\n// module id = 24\n// module chunks = 0","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.14.3\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nvar longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\nvar timeoutDuration = 0;\nfor (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n timeoutDuration = 1;\n break;\n }\n}\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var css = getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? html['offset' + axis] + computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')] + computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')] : 0);\n}\n\nfunction getWindowSizes() {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes() : {};\n var width = sizes.width || element.clientWidth || result.right - result.left;\n var height = sizes.height || element.clientHeight || result.bottom - result.top;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth, 10);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && parent.nodeName === 'HTML') {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop, 10);\n var marginLeft = parseFloat(styles.marginLeft, 10);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n return isFixed(getParentNode(element));\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n boundaries.left += padding;\n boundaries.top += padding;\n boundaries.right -= padding;\n boundaries.bottom -= padding;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var styles = getComputedStyle(element);\n var x = parseFloat(styles.marginTop) + parseFloat(styles.marginBottom);\n var y = parseFloat(styles.marginLeft) + parseFloat(styles.marginRight);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.
\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroy the popper\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicity asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger onUpdate callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n // Avoid blurry text by using full pixel integers.\n // For pixel-perfect positioning, top/bottom prefers rounded\n // values, while left/right prefers floored values.\n var offsets = {\n left: Math.floor(popper.left),\n top: Math.round(popper.top),\n bottom: Math.round(popper.bottom),\n right: Math.floor(popper.right)\n };\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n top = -offsetParentRect.height + offsets.bottom;\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n left = -offsetParentRect.width + offsets.right;\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.
\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjuction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.
\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.
\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-right` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var flippedVariation = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.
\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.
\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.
\n * It will read the variation of the `placement` property.
\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unitless, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.
\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the height.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.
\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.
\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > More on this [reading this issue](https://github.com/FezVrasta/popper.js/issues/373)\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * An scenario exists where the reference itself is not within the boundaries.
\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".
\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper this makes sure the popper has always a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier, can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near eachothers\n * without leaving any gap between the two. Expecially useful when the arrow is\n * enabled and you want to assure it to point to its reference element.\n * It cares only about the first axis, you can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjuction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations).\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position,\n * the popper will never be placed outside of the defined boundaries\n * (except if keepTogether is enabled)\n */\n boundariesElement: 'viewport'\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3d transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties.\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define you own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3d transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties.\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the informations used by Popper.js\n * this object get passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper.\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper, it expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow, it expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements.\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.
\n * These can be overriden using the `options` argument of Popper.js.
\n * To override an option, simply pass as 3rd argument an object with the same\n * structure of this object, example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.
\n * By default, is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated, this callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.
\n * By default, is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Create a new Popper.js instance\n * @class Popper\n * @param {HTMLElement|referenceObject} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper.\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedule an update, it will run on the next UI update available\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.
\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/popper.js/dist/esm/popper.js\n// module id = 25\n// module chunks = 0","export default {\n controller: class {\n constructor ($element, $timeout) {\n \"ngInject\";\n\n this.$element = $element;\n this.$timeout = $timeout;\n }\n\n $postLink () {\n this.$timeout(() =>\n this.$element\n .addClass(\"oui-dropdown-menu__divider\")\n .attr(\"role\", \"separator\")\n );\n }\n }\n};\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-dropdown/src/divider/dropdown-divider.component.js","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_uid.js\n// module id = 27\n// module chunks = 0","exports.f = {}.propertyIsEnumerable;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-pie.js\n// module id = 28\n// module chunks = 0","var baseGet = require('./_baseGet');\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nmodule.exports = get;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/get.js\n// module id = 29\n// module chunks = 0","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_toKey.js\n// module id = 30\n// module chunks = 0","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_ctx.js\n// module id = 31\n// module chunks = 0","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-primitive.js\n// module id = 32\n// module chunks = 0","var baseMerge = require('./_baseMerge'),\n createAssigner = require('./_createAssigner');\n\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\nvar merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n});\n\nmodule.exports = merge;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/merge.js\n// module id = 33\n// module chunks = 0","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_Stack.js\n// module id = 34\n// module chunks = 0","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/eq.js\n// module id = 35\n// module chunks = 0","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseAssignValue.js\n// module id = 36\n// module chunks = 0","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_root.js\n// module id = 37\n// module chunks = 0","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_overArg.js\n// module id = 38\n// module chunks = 0","import Radio from \"./radio.component.js\";\n\nangular.module(\"oui.radio\", []).component(\"ouiRadio\", Radio);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-radio/src/index.js","import controller from \"./dropdown-item.controller\";\nimport template from \"./dropdown-item.html\";\n\nexport default {\n controller,\n template,\n bindings: {\n text: \"@\",\n ariaLabel: \"@?\",\n href: \"@?\",\n state: \"@?\",\n stateParams: \"= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.string.iterator.js\n// module id = 42\n// module chunks = 0","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-integer.js\n// module id = 43\n// module chunks = 0","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_defined.js\n// module id = 44\n// module chunks = 0","module.exports = true;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_library.js\n// module id = 45\n// module chunks = 0","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-create.js\n// module id = 46\n// module chunks = 0","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_cof.js\n// module id = 47\n// module chunks = 0","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_shared-key.js\n// module id = 48\n// module chunks = 0","var global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\nmodule.exports = function (key) {\n return store[key] || (store[key] = {});\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_shared.js\n// module id = 49\n// module chunks = 0","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_enum-bug-keys.js\n// module id = 50\n// module chunks = 0","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_set-to-string-tag.js\n// module id = 51\n// module chunks = 0","exports.f = Object.getOwnPropertySymbols;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-gops.js\n// module id = 52\n// module chunks = 0","var isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nmodule.exports = isKey;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_isKey.js\n// module id = 53\n// module chunks = 0","exports.f = require('./_wks');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_wks-ext.js\n// module id = 54\n// module chunks = 0","var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_wks-define.js\n// module id = 55\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/keys\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/keys.js\n// module id = 56\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/define-property\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/define-property.js\n// module id = 57\n// module chunks = 0","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_ie8-dom-define.js\n// module id = 58\n// module chunks = 0","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_dom-create.js\n// module id = 59\n// module chunks = 0","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignMergeValue;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_assignMergeValue.js\n// module id = 60\n// module chunks = 0","module.exports = function(module) {\r\n\tif(!module.webpackPolyfill) {\r\n\t\tmodule.deprecate = function() {};\r\n\t\tmodule.paths = [];\r\n\t\t// module.parent = undefined by default\r\n\t\tif(!module.children) module.children = [];\r\n\t\tObject.defineProperty(module, \"loaded\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.l;\r\n\t\t\t}\r\n\t\t});\r\n\t\tObject.defineProperty(module, \"id\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.i;\r\n\t\t\t}\r\n\t\t});\r\n\t\tmodule.webpackPolyfill = 1;\r\n\t}\r\n\treturn module;\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/module.js\n// module id = 61\n// module chunks = 0","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_freeGlobal.js\n// module id = 62\n// module chunks = 0","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/global.js\n// module id = 63\n// module chunks = 0","var overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_getPrototype.js\n// module id = 64\n// module chunks = 0","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/isArguments.js\n// module id = 65\n// module chunks = 0","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/isArrayLike.js\n// module id = 66\n// module chunks = 0","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/isFunction.js\n// module id = 67\n// module chunks = 0","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/isLength.js\n// module id = 68\n// module chunks = 0","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/isBuffer.js\n// module id = 69\n// module chunks = 0","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/isTypedArray.js\n// module id = 70\n// module chunks = 0","/**\n * Gets the value at `key`, unless `key` is \"__proto__\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n return key == '__proto__'\n ? undefined\n : object[key];\n}\n\nmodule.exports = safeGet;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_safeGet.js\n// module id = 71\n// module chunks = 0","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = nativeKeysIn;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/keysIn.js\n// module id = 72\n// module chunks = 0","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/identity.js\n// module id = 73\n// module chunks = 0","import template from \"./dropdown-group.html\";\n\nexport default {\n template,\n controller: class {\n constructor ($element, $timeout) {\n \"ngInject\";\n\n this.$element = $element;\n this.$timeout = $timeout;\n }\n\n $postLink () {\n this.$timeout(() =>\n this.$element\n .addClass(\"oui-dropdown-group\")\n );\n }\n },\n bindings: {\n label: \"@\"\n },\n transclude: true\n};\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-dropdown/src/group/dropdown-group.component.js","/**\n * The base implementation of `_.clamp` which doesn't coerce arguments.\n *\n * @private\n * @param {number} number The number to clamp.\n * @param {number} [lower] The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the clamped number.\n */\nfunction baseClamp(number, lower, upper) {\n if (number === number) {\n if (upper !== undefined) {\n number = number <= upper ? number : upper;\n }\n if (lower !== undefined) {\n number = number >= lower ? number : lower;\n }\n }\n return number;\n}\n\nmodule.exports = baseClamp;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseClamp.js\n// module id = 75\n// module chunks = 0","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/toNumber.js\n// module id = 76\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _from = require(\"../core-js/array/from\");\n\nvar _from2 = _interopRequireDefault(_from);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n } else {\n return (0, _from2.default)(arr);\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/helpers/toConsumableArray.js\n// module id = 77\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/array/from\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/array/from.js\n// module id = 78\n// module chunks = 0","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iter-define.js\n// module id = 79\n// module chunks = 0","module.exports = require('./_hide');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_redefine.js\n// module id = 80\n// module chunks = 0","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-keys-internal.js\n// module id = 81\n// module chunks = 0","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iobject.js\n// module id = 82\n// module chunks = 0","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-length.js\n// module id = 83\n// module chunks = 0","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-gpo.js\n// module id = 84\n// module chunks = 0","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/core.get-iterator-method.js\n// module id = 85\n// module chunks = 0","var createFind = require('./_createFind'),\n findIndex = require('./findIndex');\n\n/**\n * Iterates over elements of `collection`, returning the first element\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {*} Returns the matched element, else `undefined`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false },\n * { 'user': 'pebbles', 'age': 1, 'active': true }\n * ];\n *\n * _.find(users, function(o) { return o.age < 40; });\n * // => object for 'barney'\n *\n * // The `_.matches` iteratee shorthand.\n * _.find(users, { 'age': 1, 'active': true });\n * // => object for 'pebbles'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.find(users, ['active', false]);\n * // => object for 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.find(users, 'active');\n * // => object for 'barney'\n */\nvar find = createFind(findIndex);\n\nmodule.exports = find;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/find.js\n// module id = 86\n// module chunks = 0","var baseMatches = require('./_baseMatches'),\n baseMatchesProperty = require('./_baseMatchesProperty'),\n identity = require('./identity'),\n isArray = require('./isArray'),\n property = require('./property');\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\nmodule.exports = baseIteratee;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseIteratee.js\n// module id = 87\n// module chunks = 0","var baseIsEqualDeep = require('./_baseIsEqualDeep'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nmodule.exports = baseIsEqual;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseIsEqual.js\n// module id = 88\n// module chunks = 0","var isObject = require('./isObject');\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\nmodule.exports = isStrictComparable;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_isStrictComparable.js\n// module id = 89\n// module chunks = 0","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/keys.js\n// module id = 90\n// module chunks = 0","/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\nmodule.exports = matchesStrictComparable;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_matchesStrictComparable.js\n// module id = 91\n// module chunks = 0","var castPath = require('./_castPath'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\nmodule.exports = baseGet;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseGet.js\n// module id = 92\n// module chunks = 0","var isArray = require('./isArray'),\n isKey = require('./_isKey'),\n stringToPath = require('./_stringToPath'),\n toString = require('./toString');\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nmodule.exports = castPath;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_castPath.js\n// module id = 93\n// module chunks = 0","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/toString.js\n// module id = 94\n// module chunks = 0","var baseFindIndex = require('./_baseFindIndex'),\n baseIteratee = require('./_baseIteratee'),\n toInteger = require('./toInteger');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * This method is like `_.find` except that it returns the index of the first\n * element `predicate` returns truthy for instead of the element itself.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.findIndex(users, function(o) { return o.user == 'barney'; });\n * // => 0\n *\n * // The `_.matches` iteratee shorthand.\n * _.findIndex(users, { 'user': 'fred', 'active': false });\n * // => 1\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findIndex(users, ['active', false]);\n * // => 0\n *\n * // The `_.property` iteratee shorthand.\n * _.findIndex(users, 'active');\n * // => 2\n */\nfunction findIndex(array, predicate, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = fromIndex == null ? 0 : toInteger(fromIndex);\n if (index < 0) {\n index = nativeMax(length + index, 0);\n }\n return baseFindIndex(array, baseIteratee(predicate, 3), index);\n}\n\nmodule.exports = findIndex;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/findIndex.js\n// module id = 95\n// module chunks = 0","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/toInteger.js\n// module id = 96\n// module chunks = 0","export function hasProperty (obj, prop = \"\") {\n const props = prop.split(\".\");\n let theObject = obj;\n for (let i = 0; i < props.length; i++) {\n if (!Object.prototype.hasOwnProperty.call(theObject, props[i])) {\n return false;\n }\n theObject = theObject[props[i]] || {};\n }\n return true;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-datagrid/src/util.js","module.exports = { \"default\": require(\"core-js/library/fn/object/get-prototype-of\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/get-prototype-of.js\n// module id = 98\n// module chunks = 0","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export');\nvar core = require('./_core');\nvar fails = require('./_fails');\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-sap.js\n// module id = 99\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _typeof2 = require(\"../helpers/typeof\");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && ((typeof call === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(call)) === \"object\" || typeof call === \"function\") ? call : self;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/helpers/possibleConstructorReturn.js\n// module id = 100\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _iterator = require(\"../core-js/symbol/iterator\");\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = require(\"../core-js/symbol\");\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/helpers/typeof.js\n// module id = 101\n// module chunks = 0","require('./es6.array.iterator');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar TO_STRING_TAG = require('./_wks')('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n 'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n 'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n 'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n 'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n var NAME = DOMIterables[i];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = Iterators.Array;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/web.dom.iterable.js\n// module id = 102\n// module chunks = 0","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-gopn.js\n// module id = 103\n// module chunks = 0","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-gopd.js\n// module id = 104\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _setPrototypeOf = require(\"../core-js/object/set-prototype-of\");\n\nvar _setPrototypeOf2 = _interopRequireDefault(_setPrototypeOf);\n\nvar _create = require(\"../core-js/object/create\");\n\nvar _create2 = _interopRequireDefault(_create);\n\nvar _typeof2 = require(\"../helpers/typeof\");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + (typeof superClass === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(superClass)));\n }\n\n subClass.prototype = (0, _create2.default)(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf2.default ? (0, _setPrototypeOf2.default)(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/helpers/inherits.js\n// module id = 105\n// module chunks = 0","import { hasProperty } from \"../util\";\n\nexport default class DatagridPagingAbstract {\n constructor (columns, currentSorting, pageSize, rowLoader, pagingService) {\n this.columns = columns;\n this.currentSorting = currentSorting;\n this.criteria = [];\n this.pageSize = pageSize;\n this.offset = 1;\n this.rowLoader = rowLoader;\n\n this.$q = pagingService.$q;\n this.$timeout = pagingService.$timeout;\n this.orderByFilter = pagingService.orderByFilter;\n\n this.preventLoadingRows = false;\n\n this.cachedPageResult = null;\n this.cachedPageResultPristine = null;\n }\n\n setCriteria (criteria) {\n this.criteria = criteria;\n }\n\n setOffset (offset) {\n this.offset = offset;\n }\n\n setPageSize (pageSize) {\n this.pageSize = pageSize;\n }\n\n getCurrentPageSize () {\n if (!this.totalCount) {\n return this.pageSize;\n }\n\n return Math.min(this.pageSize, this.totalCount - (this.offset - 1));\n }\n\n setSort (columnName) {\n if (columnName === this.currentSorting.columnName) {\n this.currentSorting.dir = this.currentSorting.dir === -1 ? 1 : -1;\n } else {\n this.currentSorting = {\n columnName,\n dir: 1\n };\n }\n }\n\n getSortColumnName () {\n return this.currentSorting.columnName;\n }\n\n isSortAsc () {\n return this.currentSorting.dir === 1;\n }\n\n isSortDesc () {\n return this.currentSorting.dir === -1;\n }\n\n getSortingConfiguration () {\n const selectedColumn = this.getColumn(this.currentSorting.columnName);\n return Object.assign({\n property: selectedColumn && selectedColumn.sortProperty\n }, this.currentSorting);\n }\n\n getColumn (name) {\n for (let i = 0; i < this.columns.length; i++) {\n if (this.columns[i].name === name) {\n return this.columns[i];\n }\n }\n return null;\n }\n\n loadRowsData (rows) {\n if (!this.rowLoader) {\n return this.$q.when();\n }\n\n return this.$q.all(rows.map(row => this.loadRowData(row)));\n }\n\n loadRowData (row) {\n if (!this.isRowLoaded(row) && !row.$promise) {\n row.$promise = this.$q.when(this.rowLoader({ $row: row }))\n .then(fullRow => Object.assign(row, fullRow))\n .finally(() => {\n delete row.$promise;\n });\n\n return row.$promise;\n\n // TODO: Find a way to forward those error to datagrid\n /* .catch(this.handleError.bind(this)) */\n }\n\n return this.$q.when();\n }\n\n /**\n * Check if all data is loaded on this row\n * @param {object} row a row\n * @return {Boolean} true if loaded\n */\n isRowLoaded (row) {\n return this.columns.map(column => hasProperty(row, column.name))\n .reduce((a, b) => a && b, true);\n }\n\n reloadRows () {\n return this.loadRows(null, true);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-datagrid/src/paging/datagrid-paging-abstract.js","import escapeStringRegexp from \"escape-string-regexp\";\n\nexport default class StringComparators {\n static contains (haystack, needle) {\n return StringComparators.testString(haystack, escapeStringRegexp(needle));\n }\n\n static startsWith (haystack, needle) {\n const escapedNeedle = escapeStringRegexp(needle);\n return StringComparators.testString(haystack, `^${escapedNeedle}`);\n }\n\n static endsWith (haystack, needle) {\n const escapedNeedle = escapeStringRegexp(needle);\n return StringComparators.testString(haystack, `${escapedNeedle}$`);\n }\n\n static is (haystack, needle) {\n const escapedNeedle = escapeStringRegexp(needle);\n return StringComparators.testString(haystack, `^${escapedNeedle}$`);\n }\n\n static testString (haystack, regexp) {\n const pattern = new RegExp(regexp, \"i\");\n return pattern.test(haystack);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-datagrid/src/filter/string.js","import \"@oui-angular/oui-radio/src\";\nimport RadioGroup from \"./radio-group.component.js\";\n\nangular.module(\"oui.radio-group\", [\n \"oui.radio\"\n]).component(\"ouiRadioGroup\", RadioGroup);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-radio-group/src/index.js","export default class {\n constructor ($scope, $element, $timeout) {\n \"ngInject\";\n\n this.$scope = $scope;\n this.$element = $element;\n this.$timeout = $timeout;\n }\n\n $postLink () {\n // Sometimes the digest cycle is done before dom manipulation,\n // So we use $timeout to force the $apply\n this.$timeout(() => {\n this.$element\n .attr(\"role\", \"radiogroup\");\n });\n }\n\n $onInit () {\n if (!this.name) {\n this.name = `oui-radio-group-${this.$scope.$id}`;\n }\n }\n\n setModelValue (value) {\n this.model = value;\n\n if (this.onChange) {\n this.$timeout(() => this.onChange({ modelValue: value }));\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-radio-group/src/radio-group.controller.js","module.exports = \" \";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-header-tabs/src/header-tabs-item.html\n// module id = 110\n// module chunks = 0","import \"@oui-angular/oui-button/src\";\nimport \"@oui-angular/oui-calendar/src\";\nimport \"@oui-angular/oui-checkbox/src\";\nimport \"@oui-angular/oui-collapsible/src\";\nimport \"@oui-angular/oui-radio/src\";\nimport \"@oui-angular/oui-message/src\";\nimport \"@oui-angular/oui-spinner/src\";\nimport \"@oui-angular/oui-back-button/src\";\nimport \"@oui-angular/oui-dropdown/src\";\nimport \"@oui-angular/oui-action-menu/src\";\nimport \"@oui-angular/oui-tooltip/src\";\nimport \"@oui-angular/oui-numeric/src\";\nimport \"@oui-angular/oui-pagination/src\";\nimport \"@oui-angular/oui-datagrid/src\";\nimport \"@oui-angular/oui-navbar/src\";\nimport \"@oui-angular/oui-modal/src\";\nimport \"@oui-angular/oui-field/src\";\nimport \"@oui-angular/oui-radio-group/src\";\nimport \"@oui-angular/oui-radio-toggle-group/src\";\nimport \"@oui-angular/oui-select/src\";\nimport \"@oui-angular/oui-select-picker/src\";\nimport \"@oui-angular/oui-textarea/src\";\nimport \"@oui-angular/oui-form-actions/src\";\nimport \"@oui-angular/oui-search/src\";\nimport \"@oui-angular/oui-criteria-container/src\";\nimport \"@oui-angular/oui-criteria-adder/src\";\nimport \"@oui-angular/oui-chips/src\";\nimport \"@oui-angular/oui-popover/src\";\nimport \"@oui-angular/oui-stepper/src\";\nimport \"@oui-angular/oui-skeleton/src\";\nimport \"@oui-angular/oui-clipboard/src\";\nimport \"@oui-angular/oui-slideshow/src\";\nimport \"@oui-angular/oui-page-header/src\";\nimport \"@oui-angular/oui-tile/src\";\nimport \"@oui-angular/oui-guide-menu/src\";\nimport \"@oui-angular/oui-header-tabs/src\";\n\nangular.module(\"oui\", [\n \"oui.button\",\n \"oui.calendar\",\n \"oui.checkbox\",\n \"oui.collapsible\",\n \"oui.radio\",\n \"oui.message\",\n \"oui.spinner\",\n \"oui.back-button\",\n \"oui.dropdown\",\n \"oui.action-menu\",\n \"oui.tooltip\",\n \"oui.numeric\",\n \"oui.pagination\",\n \"oui.datagrid\",\n \"oui.navbar\",\n \"oui.modal\",\n \"oui.field\",\n \"oui.radio-group\",\n \"oui.select\",\n \"oui.select-picker\",\n \"oui.textarea\",\n \"oui.form-actions\",\n \"oui.search\",\n \"oui.criteria-container\",\n \"oui.radio-toggle-group\",\n \"oui.criteria-adder\",\n \"oui.chips\",\n \"oui.popover\",\n \"oui.stepper\",\n \"oui.skeleton\",\n \"oui.clipboard\",\n \"oui.slideshow\",\n \"oui.page-header\",\n \"oui.tile\",\n \"oui.guide-menu\",\n \"oui.header-tabs\"\n]);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-angular/src/index.js","import Button from \"./button.component.js\";\n\nangular.module(\"oui.button\", []).component(\"ouiButton\", Button);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-button/src/index.js","import controller from \"./button.controller\";\nimport template from \"./button.html\";\n\nexport default {\n bindings: {\n text: \"@\",\n id: \"@?\",\n name: \"@?\",\n type: \"@?\", // values: submit|button|reset (default: button)\n variant: \"@?\", // values: primary|secondary|link (default: secondary)\n variantNav: \"@?\", // values: previous|next\n ariaLabel: \"@?\",\n\n disabled: \"\n this.$element\n .removeAttr(\"aria-label\")\n .removeAttr(\"id\")\n .removeAttr(\"name\")\n );\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-button/src/button.controller.js","require('../../modules/es6.object.define-property');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperty(it, key, desc) {\n return $Object.defineProperty(it, key, desc);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/define-property.js\n// module id = 116\n// module chunks = 0","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.define-property.js\n// module id = 117\n// module chunks = 0","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_a-function.js\n// module id = 118\n// module chunks = 0","module.exports = \" \";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-button/src/button.html\n// module id = 119\n// module chunks = 0","import Calendar from \"./calendar.component.js\";\nimport CalendarProvider from \"./calendar.provider\";\n\nangular\n .module(\"oui.calendar\", [])\n .component(\"ouiCalendar\", Calendar)\n .provider(\"ouiCalendarConfiguration\", CalendarProvider);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-calendar/src/index.js","import controller from \"./calendar.controller\";\nimport template from \"./calendar.html\";\n\nexport default {\n bindings: {\n model: \"=\",\n\n id: \"@?\",\n name: \"@?\",\n placeholder: \"@?\",\n mode: \"@?\",\n format: \"@?\",\n altFormat: \"@?\",\n\n appendToBody: \" {\n this.options[hook] = (selectedDates, dateStr) => {\n this.model = dateStr;\n this.$timeout(this[hook]({ selectedDates, dateStr }));\n };\n });\n }\n\n setOptionsProperty (property, value) {\n if (angular.isDefined(value)) {\n this.options[property] = value;\n }\n }\n\n initCalendarInstance () {\n // Set options from attributes\n this.setOptionsProperty(\"appendTo\", this.appendTo);\n this.setOptionsProperty(\"defaultDate\", this.model);\n this.setOptionsProperty(\"disable\", this.disableDate);\n this.setOptionsProperty(\"enable\", this.enableDate);\n this.setOptionsProperty(\"inline\", this.inline);\n this.setOptionsProperty(\"locale\", this.locale);\n this.setOptionsProperty(\"maxDate\", this.maxDate);\n this.setOptionsProperty(\"minDate\", this.minDate);\n this.setOptionsProperty(\"mode\", this.mode);\n this.setOptionsProperty(\"weekNumbers\", this.weekNumbers);\n\n // Set formatting options\n this.setOptionsProperty(\"dateFormat\", this.format);\n\n if (angular.isDefined(this.altFormat)) {\n this.setOptionsProperty(\"altInput\", true);\n this.setOptionsProperty(\"altFormat\", this.altFormat);\n }\n\n // Append calendar to control wrapper\n if (!this.appendToBody) {\n const wrapper = this.$element[0].querySelector(\".oui-calendar__control-wrapper\");\n this.setOptionsProperty(\"appendTo\", wrapper);\n }\n\n // Set events with array of supported hooks/attributes\n this.setEventHooks([\n \"onChange\",\n \"onOpen\",\n \"onClose\"\n ]);\n\n // Get instance of flatpickr when component is ready\n this.setOptionsProperty(\"onReady\", (selectedDates, dateStr, instance) => {\n this.flatpickr = instance;\n\n // Update model with formatted value\n this.model = dateStr;\n });\n\n // Init the flatpickr instance\n this.flatpickr = new Flatpickr(this.$element.find(\"input\")[0], this.options);\n }\n\n $onInit () {\n addBooleanParameter(this, \"appendToBody\");\n addBooleanParameter(this, \"disabled\");\n addBooleanParameter(this, \"inline\");\n addBooleanParameter(this, \"required\");\n addBooleanParameter(this, \"weekNumbers\");\n\n this.initCalendarInstance();\n }\n\n $onDestroy () {\n this.flatpickr.destroy();\n }\n\n $postLink () {\n // Avoid $element DOM unsync for jqLite methods\n this.$timeout(() => {\n this.$element\n .addClass(\"oui-calendar\")\n .removeAttr(\"id\")\n .removeAttr(\"name\");\n\n // Add class for `inline`\n if (this.inline) {\n this.$element.addClass(\"oui-calendar_inline\");\n }\n });\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-calendar/src/calendar.controller.js","/* flatpickr v4.5.0, @license MIT */\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global.flatpickr = factory());\n}(this, (function () { 'use strict';\n\n var pad = function pad(number) {\n return (\"0\" + number).slice(-2);\n };\n var int = function int(bool) {\n return bool === true ? 1 : 0;\n };\n function debounce(func, wait, immediate) {\n if (immediate === void 0) {\n immediate = false;\n }\n\n var timeout;\n return function () {\n var context = this,\n args = arguments;\n timeout !== null && clearTimeout(timeout);\n timeout = window.setTimeout(function () {\n timeout = null;\n if (!immediate) func.apply(context, args);\n }, wait);\n if (immediate && !timeout) func.apply(context, args);\n };\n }\n var arrayify = function arrayify(obj) {\n return obj instanceof Array ? obj : [obj];\n };\n\n var do_nothing = function do_nothing() {\n return undefined;\n };\n\n var monthToStr = function monthToStr(monthNumber, shorthand, locale) {\n return locale.months[shorthand ? \"shorthand\" : \"longhand\"][monthNumber];\n };\n var revFormat = {\n D: do_nothing,\n F: function F(dateObj, monthName, locale) {\n dateObj.setMonth(locale.months.longhand.indexOf(monthName));\n },\n G: function G(dateObj, hour) {\n dateObj.setHours(parseFloat(hour));\n },\n H: function H(dateObj, hour) {\n dateObj.setHours(parseFloat(hour));\n },\n J: function J(dateObj, day) {\n dateObj.setDate(parseFloat(day));\n },\n K: function K(dateObj, amPM, locale) {\n dateObj.setHours(dateObj.getHours() % 12 + 12 * int(new RegExp(locale.amPM[1], \"i\").test(amPM)));\n },\n M: function M(dateObj, shortMonth, locale) {\n dateObj.setMonth(locale.months.shorthand.indexOf(shortMonth));\n },\n S: function S(dateObj, seconds) {\n dateObj.setSeconds(parseFloat(seconds));\n },\n U: function U(_, unixSeconds) {\n return new Date(parseFloat(unixSeconds) * 1000);\n },\n W: function W(dateObj, weekNum) {\n var weekNumber = parseInt(weekNum);\n return new Date(dateObj.getFullYear(), 0, 2 + (weekNumber - 1) * 7, 0, 0, 0, 0);\n },\n Y: function Y(dateObj, year) {\n dateObj.setFullYear(parseFloat(year));\n },\n Z: function Z(_, ISODate) {\n return new Date(ISODate);\n },\n d: function d(dateObj, day) {\n dateObj.setDate(parseFloat(day));\n },\n h: function h(dateObj, hour) {\n dateObj.setHours(parseFloat(hour));\n },\n i: function i(dateObj, minutes) {\n dateObj.setMinutes(parseFloat(minutes));\n },\n j: function j(dateObj, day) {\n dateObj.setDate(parseFloat(day));\n },\n l: do_nothing,\n m: function m(dateObj, month) {\n dateObj.setMonth(parseFloat(month) - 1);\n },\n n: function n(dateObj, month) {\n dateObj.setMonth(parseFloat(month) - 1);\n },\n s: function s(dateObj, seconds) {\n dateObj.setSeconds(parseFloat(seconds));\n },\n w: do_nothing,\n y: function y(dateObj, year) {\n dateObj.setFullYear(2000 + parseFloat(year));\n }\n };\n var tokenRegex = {\n D: \"(\\\\w+)\",\n F: \"(\\\\w+)\",\n G: \"(\\\\d\\\\d|\\\\d)\",\n H: \"(\\\\d\\\\d|\\\\d)\",\n J: \"(\\\\d\\\\d|\\\\d)\\\\w+\",\n K: \"\",\n M: \"(\\\\w+)\",\n S: \"(\\\\d\\\\d|\\\\d)\",\n U: \"(.+)\",\n W: \"(\\\\d\\\\d|\\\\d)\",\n Y: \"(\\\\d{4})\",\n Z: \"(.+)\",\n d: \"(\\\\d\\\\d|\\\\d)\",\n h: \"(\\\\d\\\\d|\\\\d)\",\n i: \"(\\\\d\\\\d|\\\\d)\",\n j: \"(\\\\d\\\\d|\\\\d)\",\n l: \"(\\\\w+)\",\n m: \"(\\\\d\\\\d|\\\\d)\",\n n: \"(\\\\d\\\\d|\\\\d)\",\n s: \"(\\\\d\\\\d|\\\\d)\",\n w: \"(\\\\d\\\\d|\\\\d)\",\n y: \"(\\\\d{2})\"\n };\n var formats = {\n Z: function Z(date) {\n return date.toISOString();\n },\n D: function D(date, locale, options) {\n return locale.weekdays.shorthand[formats.w(date, locale, options)];\n },\n F: function F(date, locale, options) {\n return monthToStr(formats.n(date, locale, options) - 1, false, locale);\n },\n G: function G(date, locale, options) {\n return pad(formats.h(date, locale, options));\n },\n H: function H(date) {\n return pad(date.getHours());\n },\n J: function J(date, locale) {\n return locale.ordinal !== undefined ? date.getDate() + locale.ordinal(date.getDate()) : date.getDate();\n },\n K: function K(date, locale) {\n return locale.amPM[int(date.getHours() > 11)];\n },\n M: function M(date, locale) {\n return monthToStr(date.getMonth(), true, locale);\n },\n S: function S(date) {\n return pad(date.getSeconds());\n },\n U: function U(date) {\n return date.getTime() / 1000;\n },\n W: function W(date, _, options) {\n return options.getWeek(date);\n },\n Y: function Y(date) {\n return date.getFullYear();\n },\n d: function d(date) {\n return pad(date.getDate());\n },\n h: function h(date) {\n return date.getHours() % 12 ? date.getHours() % 12 : 12;\n },\n i: function i(date) {\n return pad(date.getMinutes());\n },\n j: function j(date) {\n return date.getDate();\n },\n l: function l(date, locale) {\n return locale.weekdays.longhand[date.getDay()];\n },\n m: function m(date) {\n return pad(date.getMonth() + 1);\n },\n n: function n(date) {\n return date.getMonth() + 1;\n },\n s: function s(date) {\n return date.getSeconds();\n },\n w: function w(date) {\n return date.getDay();\n },\n y: function y(date) {\n return String(date.getFullYear()).substring(2);\n }\n };\n\n var english = {\n weekdays: {\n shorthand: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n longhand: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"]\n },\n months: {\n shorthand: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"],\n longhand: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"]\n },\n daysInMonth: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],\n firstDayOfWeek: 0,\n ordinal: function ordinal(nth) {\n var s = nth % 100;\n if (s > 3 && s < 21) return \"th\";\n\n switch (s % 10) {\n case 1:\n return \"st\";\n\n case 2:\n return \"nd\";\n\n case 3:\n return \"rd\";\n\n default:\n return \"th\";\n }\n },\n rangeSeparator: \" to \",\n weekAbbreviation: \"Wk\",\n scrollTitle: \"Scroll to increment\",\n toggleTitle: \"Click to toggle\",\n amPM: [\"AM\", \"PM\"],\n yearAriaLabel: \"Year\"\n };\n\n var createDateFormatter = function createDateFormatter(_ref) {\n var _ref$config = _ref.config,\n config = _ref$config === void 0 ? defaults : _ref$config,\n _ref$l10n = _ref.l10n,\n l10n = _ref$l10n === void 0 ? english : _ref$l10n;\n return function (dateObj, frmt, overrideLocale) {\n if (config.formatDate !== undefined) return config.formatDate(dateObj, frmt);\n var locale = overrideLocale || l10n;\n return frmt.split(\"\").map(function (c, i, arr) {\n return formats[c] && arr[i - 1] !== \"\\\\\" ? formats[c](dateObj, locale, config) : c !== \"\\\\\" ? c : \"\";\n }).join(\"\");\n };\n };\n var createDateParser = function createDateParser(_ref2) {\n var _ref2$config = _ref2.config,\n config = _ref2$config === void 0 ? defaults : _ref2$config,\n _ref2$l10n = _ref2.l10n,\n l10n = _ref2$l10n === void 0 ? english : _ref2$l10n;\n return function (date, givenFormat, timeless) {\n if (date !== 0 && !date) return undefined;\n var parsedDate;\n var date_orig = date;\n if (date instanceof Date) parsedDate = new Date(date.getTime());else if (typeof date !== \"string\" && date.toFixed !== undefined) parsedDate = new Date(date);else if (typeof date === \"string\") {\n var format = givenFormat || (config || defaults).dateFormat;\n var datestr = String(date).trim();\n\n if (datestr === \"today\") {\n parsedDate = new Date();\n timeless = true;\n } else if (/Z$/.test(datestr) || /GMT$/.test(datestr)) parsedDate = new Date(date);else if (config && config.parseDate) parsedDate = config.parseDate(date, format);else {\n parsedDate = !config || !config.noCalendar ? new Date(new Date().getFullYear(), 0, 1, 0, 0, 0, 0) : new Date(new Date().setHours(0, 0, 0, 0));\n var matched,\n ops = [];\n\n for (var i = 0, matchIndex = 0, regexStr = \"\"; i < format.length; i++) {\n var token = format[i];\n var isBackSlash = token === \"\\\\\";\n var escaped = format[i - 1] === \"\\\\\" || isBackSlash;\n\n if (tokenRegex[token] && !escaped) {\n regexStr += tokenRegex[token];\n var match = new RegExp(regexStr).exec(date);\n\n if (match && (matched = true)) {\n ops[token !== \"Y\" ? \"push\" : \"unshift\"]({\n fn: revFormat[token],\n val: match[++matchIndex]\n });\n }\n } else if (!isBackSlash) regexStr += \".\";\n\n ops.forEach(function (_ref3) {\n var fn = _ref3.fn,\n val = _ref3.val;\n return parsedDate = fn(parsedDate, val, l10n) || parsedDate;\n });\n }\n\n parsedDate = matched ? parsedDate : undefined;\n }\n }\n\n if (!(parsedDate instanceof Date && !isNaN(parsedDate.getTime()))) {\n config.errorHandler(new Error(\"Invalid date provided: \" + date_orig));\n return undefined;\n }\n\n if (timeless === true) parsedDate.setHours(0, 0, 0, 0);\n return parsedDate;\n };\n };\n function compareDates(date1, date2, timeless) {\n if (timeless === void 0) {\n timeless = true;\n }\n\n if (timeless !== false) {\n return new Date(date1.getTime()).setHours(0, 0, 0, 0) - new Date(date2.getTime()).setHours(0, 0, 0, 0);\n }\n\n return date1.getTime() - date2.getTime();\n }\n var getWeek = function getWeek(givenDate) {\n var date = new Date(givenDate.getTime());\n date.setHours(0, 0, 0, 0);\n date.setDate(date.getDate() + 3 - (date.getDay() + 6) % 7);\n var week1 = new Date(date.getFullYear(), 0, 4);\n return 1 + Math.round(((date.getTime() - week1.getTime()) / 86400000 - 3 + (week1.getDay() + 6) % 7) / 7);\n };\n var isBetween = function isBetween(ts, ts1, ts2) {\n return ts > Math.min(ts1, ts2) && ts < Math.max(ts1, ts2);\n };\n var duration = {\n DAY: 86400000\n };\n\n var defaults = {\n _disable: [],\n _enable: [],\n allowInput: false,\n altFormat: \"F j, Y\",\n altInput: false,\n altInputClass: \"form-control input\",\n animate: typeof window === \"object\" && window.navigator.userAgent.indexOf(\"MSIE\") === -1,\n ariaDateFormat: \"F j, Y\",\n clickOpens: true,\n closeOnSelect: true,\n conjunction: \", \",\n dateFormat: \"Y-m-d\",\n defaultHour: 12,\n defaultMinute: 0,\n defaultSeconds: 0,\n disable: [],\n disableMobile: false,\n enable: [],\n enableSeconds: false,\n enableTime: false,\n errorHandler: function errorHandler(err) {\n return typeof console !== \"undefined\" && console.warn(err);\n },\n getWeek: getWeek,\n hourIncrement: 1,\n ignoredFocusElements: [],\n inline: false,\n locale: \"default\",\n minuteIncrement: 5,\n mode: \"single\",\n nextArrow: \"\",\n noCalendar: false,\n now: new Date(),\n onChange: [],\n onClose: [],\n onDayCreate: [],\n onDestroy: [],\n onKeyDown: [],\n onMonthChange: [],\n onOpen: [],\n onParseConfig: [],\n onReady: [],\n onValueUpdate: [],\n onYearChange: [],\n onPreCalendarPosition: [],\n plugins: [],\n position: \"auto\",\n positionElement: undefined,\n prevArrow: \"\",\n shorthandCurrentMonth: false,\n showMonths: 1,\n static: false,\n time_24hr: false,\n weekNumbers: false,\n wrap: false\n };\n\n function toggleClass(elem, className, bool) {\n if (bool === true) return elem.classList.add(className);\n elem.classList.remove(className);\n }\n function createElement(tag, className, content) {\n var e = window.document.createElement(tag);\n className = className || \"\";\n content = content || \"\";\n e.className = className;\n if (content !== undefined) e.textContent = content;\n return e;\n }\n function clearNode(node) {\n while (node.firstChild) {\n node.removeChild(node.firstChild);\n }\n }\n function findParent(node, condition) {\n if (condition(node)) return node;else if (node.parentNode) return findParent(node.parentNode, condition);\n return undefined;\n }\n function createNumberInput(inputClassName, opts) {\n var wrapper = createElement(\"div\", \"numInputWrapper\"),\n numInput = createElement(\"input\", \"numInput \" + inputClassName),\n arrowUp = createElement(\"span\", \"arrowUp\"),\n arrowDown = createElement(\"span\", \"arrowDown\");\n numInput.type = \"text\";\n numInput.pattern = \"\\\\d*\";\n if (opts !== undefined) for (var key in opts) {\n numInput.setAttribute(key, opts[key]);\n }\n wrapper.appendChild(numInput);\n wrapper.appendChild(arrowUp);\n wrapper.appendChild(arrowDown);\n return wrapper;\n }\n\n if (typeof Object.assign !== \"function\") {\n Object.assign = function (target) {\n if (!target) {\n throw TypeError(\"Cannot convert undefined or null to object\");\n }\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var _loop = function _loop() {\n var source = args[_i];\n\n if (source) {\n Object.keys(source).forEach(function (key) {\n return target[key] = source[key];\n });\n }\n };\n\n for (var _i = 0; _i < args.length; _i++) {\n _loop();\n }\n\n return target;\n };\n }\n\n var DEBOUNCED_CHANGE_MS = 300;\n\n function FlatpickrInstance(element, instanceConfig) {\n var self = {\n config: Object.assign({}, flatpickr.defaultConfig),\n l10n: english\n };\n self.parseDate = createDateParser({\n config: self.config,\n l10n: self.l10n\n });\n self._handlers = [];\n self._bind = bind;\n self._setHoursFromDate = setHoursFromDate;\n self._positionCalendar = positionCalendar;\n self.changeMonth = changeMonth;\n self.changeYear = changeYear;\n self.clear = clear;\n self.close = close;\n self._createElement = createElement;\n self.destroy = destroy;\n self.isEnabled = isEnabled;\n self.jumpToDate = jumpToDate;\n self.open = open;\n self.redraw = redraw;\n self.set = set;\n self.setDate = setDate;\n self.toggle = toggle;\n\n function setupHelperFunctions() {\n self.utils = {\n getDaysInMonth: function getDaysInMonth(month, yr) {\n if (month === void 0) {\n month = self.currentMonth;\n }\n\n if (yr === void 0) {\n yr = self.currentYear;\n }\n\n if (month === 1 && (yr % 4 === 0 && yr % 100 !== 0 || yr % 400 === 0)) return 29;\n return self.l10n.daysInMonth[month];\n }\n };\n }\n\n function init() {\n self.element = self.input = element;\n self.isOpen = false;\n parseConfig();\n setupLocale();\n setupInputs();\n setupDates();\n setupHelperFunctions();\n if (!self.isMobile) build();\n bindEvents();\n\n if (self.selectedDates.length || self.config.noCalendar) {\n if (self.config.enableTime) {\n setHoursFromDate(self.config.noCalendar ? self.latestSelectedDateObj || self.config.minDate : undefined);\n }\n\n updateValue(false);\n }\n\n setCalendarWidth();\n self.showTimeInput = self.selectedDates.length > 0 || self.config.noCalendar;\n var isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n\n if (!self.isMobile && isSafari) {\n positionCalendar();\n }\n\n triggerEvent(\"onReady\");\n }\n\n function bindToInstance(fn) {\n return fn.bind(self);\n }\n\n function setCalendarWidth() {\n var config = self.config;\n if (config.weekNumbers === false && config.showMonths === 1) return;else if (config.noCalendar !== true) {\n window.requestAnimationFrame(function () {\n self.calendarContainer.style.visibility = \"hidden\";\n self.calendarContainer.style.display = \"block\";\n\n if (self.daysContainer !== undefined) {\n var daysWidth = (self.days.offsetWidth + 1) * config.showMonths;\n self.daysContainer.style.width = daysWidth + \"px\";\n self.calendarContainer.style.width = daysWidth + (self.weekWrapper !== undefined ? self.weekWrapper.offsetWidth : 0) + \"px\";\n self.calendarContainer.style.removeProperty(\"visibility\");\n self.calendarContainer.style.removeProperty(\"display\");\n }\n });\n }\n }\n\n function updateTime(e) {\n if (self.selectedDates.length === 0) return;\n if (e !== undefined && e.type !== \"blur\") timeWrapper(e);\n setHoursFromInputs();\n updateValue();\n\n self._debouncedChange();\n }\n\n function ampm2military(hour, amPM) {\n return hour % 12 + 12 * int(amPM === self.l10n.amPM[1]);\n }\n\n function military2ampm(hour) {\n switch (hour % 24) {\n case 0:\n case 12:\n return 12;\n\n default:\n return hour % 12;\n }\n }\n\n function setHoursFromInputs() {\n if (self.hourElement === undefined || self.minuteElement === undefined) return;\n var hours = (parseInt(self.hourElement.value.slice(-2), 10) || 0) % 24,\n minutes = (parseInt(self.minuteElement.value, 10) || 0) % 60,\n seconds = self.secondElement !== undefined ? (parseInt(self.secondElement.value, 10) || 0) % 60 : 0;\n\n if (self.amPM !== undefined) {\n hours = ampm2military(hours, self.amPM.textContent);\n }\n\n var limitMinHours = self.config.minTime !== undefined || self.config.minDate && self.minDateHasTime && self.latestSelectedDateObj && compareDates(self.latestSelectedDateObj, self.config.minDate, true) === 0;\n var limitMaxHours = self.config.maxTime !== undefined || self.config.maxDate && self.maxDateHasTime && self.latestSelectedDateObj && compareDates(self.latestSelectedDateObj, self.config.maxDate, true) === 0;\n\n if (limitMaxHours) {\n var maxTime = self.config.maxTime !== undefined ? self.config.maxTime : self.config.maxDate;\n hours = Math.min(hours, maxTime.getHours());\n if (hours === maxTime.getHours()) minutes = Math.min(minutes, maxTime.getMinutes());\n if (minutes === maxTime.getMinutes()) seconds = Math.min(seconds, maxTime.getSeconds());\n }\n\n if (limitMinHours) {\n var minTime = self.config.minTime !== undefined ? self.config.minTime : self.config.minDate;\n hours = Math.max(hours, minTime.getHours());\n if (hours === minTime.getHours()) minutes = Math.max(minutes, minTime.getMinutes());\n if (minutes === minTime.getMinutes()) seconds = Math.max(seconds, minTime.getSeconds());\n }\n\n setHours(hours, minutes, seconds);\n }\n\n function setHoursFromDate(dateObj) {\n var date = dateObj || self.latestSelectedDateObj;\n if (date) setHours(date.getHours(), date.getMinutes(), date.getSeconds());\n }\n\n function setDefaultHours() {\n var hours = self.config.defaultHour;\n var minutes = self.config.defaultMinute;\n var seconds = self.config.defaultSeconds;\n\n if (self.config.minDate !== undefined) {\n var min_hr = self.config.minDate.getHours();\n var min_minutes = self.config.minDate.getMinutes();\n hours = Math.max(hours, min_hr);\n if (hours === min_hr) minutes = Math.max(min_minutes, minutes);\n if (hours === min_hr && minutes === min_minutes) seconds = self.config.minDate.getSeconds();\n }\n\n if (self.config.maxDate !== undefined) {\n var max_hr = self.config.maxDate.getHours();\n var max_minutes = self.config.maxDate.getMinutes();\n hours = Math.min(hours, max_hr);\n if (hours === max_hr) minutes = Math.min(max_minutes, minutes);\n if (hours === max_hr && minutes === max_minutes) seconds = self.config.maxDate.getSeconds();\n }\n\n setHours(hours, minutes, seconds);\n }\n\n function setHours(hours, minutes, seconds) {\n if (self.latestSelectedDateObj !== undefined) {\n self.latestSelectedDateObj.setHours(hours % 24, minutes, seconds || 0, 0);\n }\n\n if (!self.hourElement || !self.minuteElement || self.isMobile) return;\n self.hourElement.value = pad(!self.config.time_24hr ? (12 + hours) % 12 + 12 * int(hours % 12 === 0) : hours);\n self.minuteElement.value = pad(minutes);\n if (self.amPM !== undefined) self.amPM.textContent = self.l10n.amPM[int(hours >= 12)];\n if (self.secondElement !== undefined) self.secondElement.value = pad(seconds);\n }\n\n function onYearInput(event) {\n var year = parseInt(event.target.value) + (event.delta || 0);\n\n if (year / 1000 > 1 || event.key === \"Enter\" && !/[^\\d]/.test(year.toString())) {\n changeYear(year);\n }\n }\n\n function bind(element, event, handler, options) {\n if (event instanceof Array) return event.forEach(function (ev) {\n return bind(element, ev, handler, options);\n });\n if (element instanceof Array) return element.forEach(function (el) {\n return bind(el, event, handler, options);\n });\n element.addEventListener(event, handler, options);\n\n self._handlers.push({\n element: element,\n event: event,\n handler: handler,\n options: options\n });\n }\n\n function onClick(handler) {\n return function (evt) {\n evt.which === 1 && handler(evt);\n };\n }\n\n function triggerChange() {\n triggerEvent(\"onChange\");\n }\n\n function bindEvents() {\n if (self.config.wrap) {\n [\"open\", \"close\", \"toggle\", \"clear\"].forEach(function (evt) {\n Array.prototype.forEach.call(self.element.querySelectorAll(\"[data-\" + evt + \"]\"), function (el) {\n return bind(el, \"click\", self[evt]);\n });\n });\n }\n\n if (self.isMobile) {\n setupMobile();\n return;\n }\n\n var debouncedResize = debounce(onResize, 50);\n self._debouncedChange = debounce(triggerChange, DEBOUNCED_CHANGE_MS);\n if (self.daysContainer && !/iPhone|iPad|iPod/i.test(navigator.userAgent)) bind(self.daysContainer, \"mouseover\", function (e) {\n if (self.config.mode === \"range\") onMouseOver(e.target);\n });\n bind(window.document.body, \"keydown\", onKeyDown);\n if (!self.config.static) bind(self._input, \"keydown\", onKeyDown);\n if (!self.config.inline && !self.config.static) bind(window, \"resize\", debouncedResize);\n if (window.ontouchstart !== undefined) bind(window.document, \"click\", documentClick);else bind(window.document, \"mousedown\", onClick(documentClick));\n bind(window.document, \"focus\", documentClick, {\n capture: true\n });\n\n if (self.config.clickOpens === true) {\n bind(self._input, \"focus\", self.open);\n bind(self._input, \"mousedown\", onClick(self.open));\n }\n\n if (self.daysContainer !== undefined) {\n bind(self.monthNav, \"mousedown\", onClick(onMonthNavClick));\n bind(self.monthNav, [\"keyup\", \"increment\"], onYearInput);\n bind(self.daysContainer, \"mousedown\", onClick(selectDate));\n }\n\n if (self.timeContainer !== undefined && self.minuteElement !== undefined && self.hourElement !== undefined) {\n var selText = function selText(e) {\n return e.target.select();\n };\n\n bind(self.timeContainer, [\"increment\"], updateTime);\n bind(self.timeContainer, \"blur\", updateTime, {\n capture: true\n });\n bind(self.timeContainer, \"mousedown\", onClick(timeIncrement));\n bind([self.hourElement, self.minuteElement], [\"focus\", \"click\"], selText);\n if (self.secondElement !== undefined) bind(self.secondElement, \"focus\", function () {\n return self.secondElement && self.secondElement.select();\n });\n\n if (self.amPM !== undefined) {\n bind(self.amPM, \"mousedown\", onClick(function (e) {\n updateTime(e);\n triggerChange();\n }));\n }\n }\n }\n\n function jumpToDate(jumpDate) {\n var jumpTo = jumpDate !== undefined ? self.parseDate(jumpDate) : self.latestSelectedDateObj || (self.config.minDate && self.config.minDate > self.now ? self.config.minDate : self.config.maxDate && self.config.maxDate < self.now ? self.config.maxDate : self.now);\n\n try {\n if (jumpTo !== undefined) {\n self.currentYear = jumpTo.getFullYear();\n self.currentMonth = jumpTo.getMonth();\n }\n } catch (e) {\n e.message = \"Invalid date supplied: \" + jumpTo;\n self.config.errorHandler(e);\n }\n\n self.redraw();\n }\n\n function timeIncrement(e) {\n if (~e.target.className.indexOf(\"arrow\")) incrementNumInput(e, e.target.classList.contains(\"arrowUp\") ? 1 : -1);\n }\n\n function incrementNumInput(e, delta, inputElem) {\n var target = e && e.target;\n var input = inputElem || target && target.parentNode && target.parentNode.firstChild;\n var event = createEvent(\"increment\");\n event.delta = delta;\n input && input.dispatchEvent(event);\n }\n\n function build() {\n var fragment = window.document.createDocumentFragment();\n self.calendarContainer = createElement(\"div\", \"flatpickr-calendar\");\n self.calendarContainer.tabIndex = -1;\n\n if (!self.config.noCalendar) {\n fragment.appendChild(buildMonthNav());\n self.innerContainer = createElement(\"div\", \"flatpickr-innerContainer\");\n\n if (self.config.weekNumbers) {\n var _buildWeeks = buildWeeks(),\n weekWrapper = _buildWeeks.weekWrapper,\n weekNumbers = _buildWeeks.weekNumbers;\n\n self.innerContainer.appendChild(weekWrapper);\n self.weekNumbers = weekNumbers;\n self.weekWrapper = weekWrapper;\n }\n\n self.rContainer = createElement(\"div\", \"flatpickr-rContainer\");\n self.rContainer.appendChild(buildWeekdays());\n\n if (!self.daysContainer) {\n self.daysContainer = createElement(\"div\", \"flatpickr-days\");\n self.daysContainer.tabIndex = -1;\n }\n\n buildDays();\n self.rContainer.appendChild(self.daysContainer);\n self.innerContainer.appendChild(self.rContainer);\n fragment.appendChild(self.innerContainer);\n }\n\n if (self.config.enableTime) {\n fragment.appendChild(buildTime());\n }\n\n toggleClass(self.calendarContainer, \"rangeMode\", self.config.mode === \"range\");\n toggleClass(self.calendarContainer, \"animate\", self.config.animate === true);\n toggleClass(self.calendarContainer, \"multiMonth\", self.config.showMonths > 1);\n self.calendarContainer.appendChild(fragment);\n var customAppend = self.config.appendTo !== undefined && self.config.appendTo.nodeType !== undefined;\n\n if (self.config.inline || self.config.static) {\n self.calendarContainer.classList.add(self.config.inline ? \"inline\" : \"static\");\n\n if (self.config.inline) {\n if (!customAppend && self.element.parentNode) self.element.parentNode.insertBefore(self.calendarContainer, self._input.nextSibling);else if (self.config.appendTo !== undefined) self.config.appendTo.appendChild(self.calendarContainer);\n }\n\n if (self.config.static) {\n var wrapper = createElement(\"div\", \"flatpickr-wrapper\");\n if (self.element.parentNode) self.element.parentNode.insertBefore(wrapper, self.element);\n wrapper.appendChild(self.element);\n if (self.altInput) wrapper.appendChild(self.altInput);\n wrapper.appendChild(self.calendarContainer);\n }\n }\n\n if (!self.config.static && !self.config.inline) (self.config.appendTo !== undefined ? self.config.appendTo : window.document.body).appendChild(self.calendarContainer);\n }\n\n function createDay(className, date, dayNumber, i) {\n var dateIsEnabled = isEnabled(date, true),\n dayElement = createElement(\"span\", \"flatpickr-day \" + className, date.getDate().toString());\n dayElement.dateObj = date;\n dayElement.$i = i;\n dayElement.setAttribute(\"aria-label\", self.formatDate(date, self.config.ariaDateFormat));\n\n if (className.indexOf(\"hidden\") === -1 && compareDates(date, self.now) === 0) {\n self.todayDateElem = dayElement;\n dayElement.classList.add(\"today\");\n dayElement.setAttribute(\"aria-current\", \"date\");\n }\n\n if (dateIsEnabled) {\n dayElement.tabIndex = -1;\n\n if (isDateSelected(date)) {\n dayElement.classList.add(\"selected\");\n self.selectedDateElem = dayElement;\n\n if (self.config.mode === \"range\") {\n toggleClass(dayElement, \"startRange\", self.selectedDates[0] && compareDates(date, self.selectedDates[0], true) === 0);\n toggleClass(dayElement, \"endRange\", self.selectedDates[1] && compareDates(date, self.selectedDates[1], true) === 0);\n if (className === \"nextMonthDay\") dayElement.classList.add(\"inRange\");\n }\n }\n } else {\n dayElement.classList.add(\"disabled\");\n }\n\n if (self.config.mode === \"range\") {\n if (isDateInRange(date) && !isDateSelected(date)) dayElement.classList.add(\"inRange\");\n }\n\n if (self.weekNumbers && self.config.showMonths === 1 && className !== \"prevMonthDay\" && dayNumber % 7 === 1) {\n self.weekNumbers.insertAdjacentHTML(\"beforeend\", \"\" + self.config.getWeek(date) + \"\");\n }\n\n triggerEvent(\"onDayCreate\", dayElement);\n return dayElement;\n }\n\n function focusOnDayElem(targetNode) {\n targetNode.focus();\n if (self.config.mode === \"range\") onMouseOver(targetNode);\n }\n\n function getFirstAvailableDay(delta) {\n var startMonth = delta > 0 ? 0 : self.config.showMonths - 1;\n var endMonth = delta > 0 ? self.config.showMonths : -1;\n\n for (var m = startMonth; m != endMonth; m += delta) {\n var month = self.daysContainer.children[m];\n var startIndex = delta > 0 ? 0 : month.children.length - 1;\n var endIndex = delta > 0 ? month.children.length : -1;\n\n for (var i = startIndex; i != endIndex; i += delta) {\n var c = month.children[i];\n if (c.className.indexOf(\"hidden\") === -1 && isEnabled(c.dateObj)) return c;\n }\n }\n\n return undefined;\n }\n\n function getNextAvailableDay(current, delta) {\n var givenMonth = current.className.indexOf(\"Month\") === -1 ? current.dateObj.getMonth() : self.currentMonth;\n var endMonth = delta > 0 ? self.config.showMonths : -1;\n var loopDelta = delta > 0 ? 1 : -1;\n\n for (var m = givenMonth - self.currentMonth; m != endMonth; m += loopDelta) {\n var month = self.daysContainer.children[m];\n var startIndex = givenMonth - self.currentMonth === m ? current.$i + delta : delta < 0 ? month.children.length - 1 : 0;\n var numMonthDays = month.children.length;\n\n for (var i = startIndex; i >= 0 && i < numMonthDays && i != (delta > 0 ? numMonthDays : -1); i += loopDelta) {\n var c = month.children[i];\n if (c.className.indexOf(\"hidden\") === -1 && isEnabled(c.dateObj) && Math.abs(current.$i - i) >= Math.abs(delta)) return focusOnDayElem(c);\n }\n }\n\n self.changeMonth(loopDelta);\n focusOnDay(getFirstAvailableDay(loopDelta), 0);\n return undefined;\n }\n\n function focusOnDay(current, offset) {\n var dayFocused = isInView(document.activeElement);\n var startElem = current !== undefined ? current : dayFocused ? document.activeElement : self.selectedDateElem !== undefined && isInView(self.selectedDateElem) ? self.selectedDateElem : self.todayDateElem !== undefined && isInView(self.todayDateElem) ? self.todayDateElem : getFirstAvailableDay(offset > 0 ? 1 : -1);\n if (startElem === undefined) return self._input.focus();\n if (!dayFocused) return focusOnDayElem(startElem);\n getNextAvailableDay(startElem, offset);\n }\n\n function buildMonthDays(year, month) {\n var firstOfMonth = (new Date(year, month, 1).getDay() - self.l10n.firstDayOfWeek + 7) % 7;\n var prevMonthDays = self.utils.getDaysInMonth((month - 1 + 12) % 12);\n var daysInMonth = self.utils.getDaysInMonth(month),\n days = window.document.createDocumentFragment(),\n isMultiMonth = self.config.showMonths > 1,\n prevMonthDayClass = isMultiMonth ? \"prevMonthDay hidden\" : \"prevMonthDay\",\n nextMonthDayClass = isMultiMonth ? \"nextMonthDay hidden\" : \"nextMonthDay\";\n var dayNumber = prevMonthDays + 1 - firstOfMonth,\n dayIndex = 0;\n\n for (; dayNumber <= prevMonthDays; dayNumber++, dayIndex++) {\n days.appendChild(createDay(prevMonthDayClass, new Date(year, month - 1, dayNumber), dayNumber, dayIndex));\n }\n\n for (dayNumber = 1; dayNumber <= daysInMonth; dayNumber++, dayIndex++) {\n days.appendChild(createDay(\"\", new Date(year, month, dayNumber), dayNumber, dayIndex));\n }\n\n for (var dayNum = daysInMonth + 1; dayNum <= 42 - firstOfMonth && (self.config.showMonths === 1 || dayIndex % 7 !== 0); dayNum++, dayIndex++) {\n days.appendChild(createDay(nextMonthDayClass, new Date(year, month + 1, dayNum % daysInMonth), dayNum, dayIndex));\n }\n\n var dayContainer = createElement(\"div\", \"dayContainer\");\n dayContainer.appendChild(days);\n return dayContainer;\n }\n\n function buildDays() {\n if (self.daysContainer === undefined) {\n return;\n }\n\n clearNode(self.daysContainer);\n if (self.weekNumbers) clearNode(self.weekNumbers);\n var frag = document.createDocumentFragment();\n\n for (var i = 0; i < self.config.showMonths; i++) {\n var d = new Date(self.currentYear, self.currentMonth, 1);\n d.setMonth(self.currentMonth + i);\n frag.appendChild(buildMonthDays(d.getFullYear(), d.getMonth()));\n }\n\n self.daysContainer.appendChild(frag);\n self.days = self.daysContainer.firstChild;\n }\n\n function buildMonth() {\n var container = createElement(\"div\", \"flatpickr-month\");\n var monthNavFragment = window.document.createDocumentFragment();\n var monthElement = createElement(\"span\", \"cur-month\");\n monthElement.title = self.l10n.scrollTitle;\n var yearInput = createNumberInput(\"cur-year\", {\n tabindex: \"-1\"\n });\n var yearElement = yearInput.childNodes[0];\n yearElement.title = self.l10n.scrollTitle;\n yearElement.setAttribute(\"aria-label\", self.l10n.yearAriaLabel);\n if (self.config.minDate) yearElement.setAttribute(\"data-min\", self.config.minDate.getFullYear().toString());\n\n if (self.config.maxDate) {\n yearElement.setAttribute(\"data-max\", self.config.maxDate.getFullYear().toString());\n yearElement.disabled = !!self.config.minDate && self.config.minDate.getFullYear() === self.config.maxDate.getFullYear();\n }\n\n var currentMonth = createElement(\"div\", \"flatpickr-current-month\");\n currentMonth.appendChild(monthElement);\n currentMonth.appendChild(yearInput);\n monthNavFragment.appendChild(currentMonth);\n container.appendChild(monthNavFragment);\n return {\n container: container,\n yearElement: yearElement,\n monthElement: monthElement\n };\n }\n\n function buildMonths() {\n clearNode(self.monthNav);\n self.monthNav.appendChild(self.prevMonthNav);\n\n for (var m = self.config.showMonths; m--;) {\n var month = buildMonth();\n self.yearElements.push(month.yearElement);\n self.monthElements.push(month.monthElement);\n self.monthNav.appendChild(month.container);\n }\n\n self.monthNav.appendChild(self.nextMonthNav);\n }\n\n function buildMonthNav() {\n self.monthNav = createElement(\"div\", \"flatpickr-months\");\n self.yearElements = [];\n self.monthElements = [];\n self.prevMonthNav = createElement(\"span\", \"flatpickr-prev-month\");\n self.prevMonthNav.innerHTML = self.config.prevArrow;\n self.nextMonthNav = createElement(\"span\", \"flatpickr-next-month\");\n self.nextMonthNav.innerHTML = self.config.nextArrow;\n buildMonths();\n Object.defineProperty(self, \"_hidePrevMonthArrow\", {\n get: function get() {\n return self.__hidePrevMonthArrow;\n },\n set: function set(bool) {\n if (self.__hidePrevMonthArrow !== bool) {\n toggleClass(self.prevMonthNav, \"disabled\", bool);\n self.__hidePrevMonthArrow = bool;\n }\n }\n });\n Object.defineProperty(self, \"_hideNextMonthArrow\", {\n get: function get() {\n return self.__hideNextMonthArrow;\n },\n set: function set(bool) {\n if (self.__hideNextMonthArrow !== bool) {\n toggleClass(self.nextMonthNav, \"disabled\", bool);\n self.__hideNextMonthArrow = bool;\n }\n }\n });\n self.currentYearElement = self.yearElements[0];\n updateNavigationCurrentMonth();\n return self.monthNav;\n }\n\n function buildTime() {\n self.calendarContainer.classList.add(\"hasTime\");\n if (self.config.noCalendar) self.calendarContainer.classList.add(\"noCalendar\");\n self.timeContainer = createElement(\"div\", \"flatpickr-time\");\n self.timeContainer.tabIndex = -1;\n var separator = createElement(\"span\", \"flatpickr-time-separator\", \":\");\n var hourInput = createNumberInput(\"flatpickr-hour\");\n self.hourElement = hourInput.childNodes[0];\n var minuteInput = createNumberInput(\"flatpickr-minute\");\n self.minuteElement = minuteInput.childNodes[0];\n self.hourElement.tabIndex = self.minuteElement.tabIndex = -1;\n self.hourElement.value = pad(self.latestSelectedDateObj ? self.latestSelectedDateObj.getHours() : self.config.time_24hr ? self.config.defaultHour : military2ampm(self.config.defaultHour));\n self.minuteElement.value = pad(self.latestSelectedDateObj ? self.latestSelectedDateObj.getMinutes() : self.config.defaultMinute);\n self.hourElement.setAttribute(\"data-step\", self.config.hourIncrement.toString());\n self.minuteElement.setAttribute(\"data-step\", self.config.minuteIncrement.toString());\n self.hourElement.setAttribute(\"data-min\", self.config.time_24hr ? \"0\" : \"1\");\n self.hourElement.setAttribute(\"data-max\", self.config.time_24hr ? \"23\" : \"12\");\n self.minuteElement.setAttribute(\"data-min\", \"0\");\n self.minuteElement.setAttribute(\"data-max\", \"59\");\n self.timeContainer.appendChild(hourInput);\n self.timeContainer.appendChild(separator);\n self.timeContainer.appendChild(minuteInput);\n if (self.config.time_24hr) self.timeContainer.classList.add(\"time24hr\");\n\n if (self.config.enableSeconds) {\n self.timeContainer.classList.add(\"hasSeconds\");\n var secondInput = createNumberInput(\"flatpickr-second\");\n self.secondElement = secondInput.childNodes[0];\n self.secondElement.value = pad(self.latestSelectedDateObj ? self.latestSelectedDateObj.getSeconds() : self.config.defaultSeconds);\n self.secondElement.setAttribute(\"data-step\", self.minuteElement.getAttribute(\"data-step\"));\n self.secondElement.setAttribute(\"data-min\", self.minuteElement.getAttribute(\"data-min\"));\n self.secondElement.setAttribute(\"data-max\", self.minuteElement.getAttribute(\"data-max\"));\n self.timeContainer.appendChild(createElement(\"span\", \"flatpickr-time-separator\", \":\"));\n self.timeContainer.appendChild(secondInput);\n }\n\n if (!self.config.time_24hr) {\n self.amPM = createElement(\"span\", \"flatpickr-am-pm\", self.l10n.amPM[int((self.latestSelectedDateObj ? self.hourElement.value : self.config.defaultHour) > 11)]);\n self.amPM.title = self.l10n.toggleTitle;\n self.amPM.tabIndex = -1;\n self.timeContainer.appendChild(self.amPM);\n }\n\n return self.timeContainer;\n }\n\n function buildWeekdays() {\n if (!self.weekdayContainer) self.weekdayContainer = createElement(\"div\", \"flatpickr-weekdays\");else clearNode(self.weekdayContainer);\n\n for (var i = self.config.showMonths; i--;) {\n var container = createElement(\"div\", \"flatpickr-weekdaycontainer\");\n self.weekdayContainer.appendChild(container);\n }\n\n updateWeekdays();\n return self.weekdayContainer;\n }\n\n function updateWeekdays() {\n var firstDayOfWeek = self.l10n.firstDayOfWeek;\n var weekdays = self.l10n.weekdays.shorthand.concat();\n\n if (firstDayOfWeek > 0 && firstDayOfWeek < weekdays.length) {\n weekdays = weekdays.splice(firstDayOfWeek, weekdays.length).concat(weekdays.splice(0, firstDayOfWeek));\n }\n\n for (var i = self.config.showMonths; i--;) {\n self.weekdayContainer.children[i].innerHTML = \"\\n \\n \" + weekdays.join(\"\") + \"\\n \\n \";\n }\n }\n\n function buildWeeks() {\n self.calendarContainer.classList.add(\"hasWeeks\");\n var weekWrapper = createElement(\"div\", \"flatpickr-weekwrapper\");\n weekWrapper.appendChild(createElement(\"span\", \"flatpickr-weekday\", self.l10n.weekAbbreviation));\n var weekNumbers = createElement(\"div\", \"flatpickr-weeks\");\n weekWrapper.appendChild(weekNumbers);\n return {\n weekWrapper: weekWrapper,\n weekNumbers: weekNumbers\n };\n }\n\n function changeMonth(value, is_offset) {\n if (is_offset === void 0) {\n is_offset = true;\n }\n\n var delta = is_offset ? value : value - self.currentMonth;\n if (delta < 0 && self._hidePrevMonthArrow === true || delta > 0 && self._hideNextMonthArrow === true) return;\n self.currentMonth += delta;\n\n if (self.currentMonth < 0 || self.currentMonth > 11) {\n self.currentYear += self.currentMonth > 11 ? 1 : -1;\n self.currentMonth = (self.currentMonth + 12) % 12;\n triggerEvent(\"onYearChange\");\n }\n\n buildDays();\n triggerEvent(\"onMonthChange\");\n updateNavigationCurrentMonth();\n }\n\n function clear(triggerChangeEvent) {\n if (triggerChangeEvent === void 0) {\n triggerChangeEvent = true;\n }\n\n self.input.value = \"\";\n if (self.altInput !== undefined) self.altInput.value = \"\";\n if (self.mobileInput !== undefined) self.mobileInput.value = \"\";\n self.selectedDates = [];\n self.latestSelectedDateObj = undefined;\n self.showTimeInput = false;\n\n if (self.config.enableTime === true) {\n setDefaultHours();\n }\n\n self.redraw();\n if (triggerChangeEvent) triggerEvent(\"onChange\");\n }\n\n function close() {\n self.isOpen = false;\n\n if (!self.isMobile) {\n self.calendarContainer.classList.remove(\"open\");\n\n self._input.classList.remove(\"active\");\n }\n\n triggerEvent(\"onClose\");\n }\n\n function destroy() {\n if (self.config !== undefined) triggerEvent(\"onDestroy\");\n\n for (var i = self._handlers.length; i--;) {\n var h = self._handlers[i];\n h.element.removeEventListener(h.event, h.handler, h.options);\n }\n\n self._handlers = [];\n\n if (self.mobileInput) {\n if (self.mobileInput.parentNode) self.mobileInput.parentNode.removeChild(self.mobileInput);\n self.mobileInput = undefined;\n } else if (self.calendarContainer && self.calendarContainer.parentNode) self.calendarContainer.parentNode.removeChild(self.calendarContainer);\n\n if (self.altInput) {\n self.input.type = \"text\";\n if (self.altInput.parentNode) self.altInput.parentNode.removeChild(self.altInput);\n delete self.altInput;\n }\n\n if (self.input) {\n self.input.type = self.input._type;\n self.input.classList.remove(\"flatpickr-input\");\n self.input.removeAttribute(\"readonly\");\n self.input.value = \"\";\n }\n\n [\"_showTimeInput\", \"latestSelectedDateObj\", \"_hideNextMonthArrow\", \"_hidePrevMonthArrow\", \"__hideNextMonthArrow\", \"__hidePrevMonthArrow\", \"isMobile\", \"isOpen\", \"selectedDateElem\", \"minDateHasTime\", \"maxDateHasTime\", \"days\", \"daysContainer\", \"_input\", \"_positionElement\", \"innerContainer\", \"rContainer\", \"monthNav\", \"todayDateElem\", \"calendarContainer\", \"weekdayContainer\", \"prevMonthNav\", \"nextMonthNav\", \"currentMonthElement\", \"currentYearElement\", \"navigationCurrentMonth\", \"selectedDateElem\", \"config\"].forEach(function (k) {\n try {\n delete self[k];\n } catch (_) {}\n });\n }\n\n function isCalendarElem(elem) {\n if (self.config.appendTo && self.config.appendTo.contains(elem)) return true;\n return self.calendarContainer.contains(elem);\n }\n\n function documentClick(e) {\n if (self.isOpen && !self.config.inline) {\n var isCalendarElement = isCalendarElem(e.target);\n var isInput = e.target === self.input || e.target === self.altInput || self.element.contains(e.target) || e.path && e.path.indexOf && (~e.path.indexOf(self.input) || ~e.path.indexOf(self.altInput));\n var lostFocus = e.type === \"blur\" ? isInput && e.relatedTarget && !isCalendarElem(e.relatedTarget) : !isInput && !isCalendarElement;\n var isIgnored = !self.config.ignoredFocusElements.some(function (elem) {\n return elem.contains(e.target);\n });\n\n if (lostFocus && isIgnored) {\n self.close();\n\n if (self.config.mode === \"range\" && self.selectedDates.length === 1) {\n self.clear(false);\n self.redraw();\n }\n }\n }\n }\n\n function changeYear(newYear) {\n if (!newYear || self.config.minDate && newYear < self.config.minDate.getFullYear() || self.config.maxDate && newYear > self.config.maxDate.getFullYear()) return;\n var newYearNum = newYear,\n isNewYear = self.currentYear !== newYearNum;\n self.currentYear = newYearNum || self.currentYear;\n\n if (self.config.maxDate && self.currentYear === self.config.maxDate.getFullYear()) {\n self.currentMonth = Math.min(self.config.maxDate.getMonth(), self.currentMonth);\n } else if (self.config.minDate && self.currentYear === self.config.minDate.getFullYear()) {\n self.currentMonth = Math.max(self.config.minDate.getMonth(), self.currentMonth);\n }\n\n if (isNewYear) {\n self.redraw();\n triggerEvent(\"onYearChange\");\n }\n }\n\n function isEnabled(date, timeless) {\n if (timeless === void 0) {\n timeless = true;\n }\n\n var dateToCheck = self.parseDate(date, undefined, timeless);\n if (self.config.minDate && dateToCheck && compareDates(dateToCheck, self.config.minDate, timeless !== undefined ? timeless : !self.minDateHasTime) < 0 || self.config.maxDate && dateToCheck && compareDates(dateToCheck, self.config.maxDate, timeless !== undefined ? timeless : !self.maxDateHasTime) > 0) return false;\n if (self.config.enable.length === 0 && self.config.disable.length === 0) return true;\n if (dateToCheck === undefined) return false;\n var bool = self.config.enable.length > 0,\n array = bool ? self.config.enable : self.config.disable;\n\n for (var i = 0, d; i < array.length; i++) {\n d = array[i];\n if (typeof d === \"function\" && d(dateToCheck)) return bool;else if (d instanceof Date && dateToCheck !== undefined && d.getTime() === dateToCheck.getTime()) return bool;else if (typeof d === \"string\" && dateToCheck !== undefined) {\n var parsed = self.parseDate(d, undefined, true);\n return parsed && parsed.getTime() === dateToCheck.getTime() ? bool : !bool;\n } else if (typeof d === \"object\" && dateToCheck !== undefined && d.from && d.to && dateToCheck.getTime() >= d.from.getTime() && dateToCheck.getTime() <= d.to.getTime()) return bool;\n }\n\n return !bool;\n }\n\n function isInView(elem) {\n if (self.daysContainer !== undefined) return elem.className.indexOf(\"hidden\") === -1 && self.daysContainer.contains(elem);\n return false;\n }\n\n function onKeyDown(e) {\n var isInput = e.target === self._input;\n var allowInput = self.config.allowInput;\n var allowKeydown = self.isOpen && (!allowInput || !isInput);\n var allowInlineKeydown = self.config.inline && isInput && !allowInput;\n\n if (e.keyCode === 13 && isInput) {\n if (allowInput) {\n self.setDate(self._input.value, true, e.target === self.altInput ? self.config.altFormat : self.config.dateFormat);\n return e.target.blur();\n } else self.open();\n } else if (isCalendarElem(e.target) || allowKeydown || allowInlineKeydown) {\n var isTimeObj = !!self.timeContainer && self.timeContainer.contains(e.target);\n\n switch (e.keyCode) {\n case 13:\n if (isTimeObj) updateTime();else selectDate(e);\n break;\n\n case 27:\n e.preventDefault();\n focusAndClose();\n break;\n\n case 8:\n case 46:\n if (isInput && !self.config.allowInput) {\n e.preventDefault();\n self.clear();\n }\n\n break;\n\n case 37:\n case 39:\n if (!isTimeObj) {\n e.preventDefault();\n\n if (self.daysContainer !== undefined && (allowInput === false || isInView(document.activeElement))) {\n var _delta = e.keyCode === 39 ? 1 : -1;\n\n if (!e.ctrlKey) focusOnDay(undefined, _delta);else {\n changeMonth(_delta);\n focusOnDay(getFirstAvailableDay(1), 0);\n }\n }\n } else if (self.hourElement) self.hourElement.focus();\n\n break;\n\n case 38:\n case 40:\n e.preventDefault();\n var delta = e.keyCode === 40 ? 1 : -1;\n\n if (self.daysContainer) {\n if (e.ctrlKey) {\n changeYear(self.currentYear - delta);\n focusOnDay(getFirstAvailableDay(1), 0);\n } else if (!isTimeObj) focusOnDay(undefined, delta * 7);\n } else if (self.config.enableTime) {\n if (!isTimeObj && self.hourElement) self.hourElement.focus();\n updateTime(e);\n\n self._debouncedChange();\n }\n\n break;\n\n case 9:\n if (!isTimeObj) break;\n var elems = [self.hourElement, self.minuteElement, self.secondElement, self.amPM].filter(function (x) {\n return x;\n });\n var i = elems.indexOf(e.target);\n\n if (i !== -1) {\n var target = elems[i + (e.shiftKey ? -1 : 1)];\n\n if (target !== undefined) {\n e.preventDefault();\n target.focus();\n }\n }\n\n break;\n\n default:\n break;\n }\n }\n\n if (self.amPM !== undefined && e.target === self.amPM) {\n switch (e.key) {\n case self.l10n.amPM[0].charAt(0):\n case self.l10n.amPM[0].charAt(0).toLowerCase():\n self.amPM.textContent = self.l10n.amPM[0];\n setHoursFromInputs();\n updateValue();\n break;\n\n case self.l10n.amPM[1].charAt(0):\n case self.l10n.amPM[1].charAt(0).toLowerCase():\n self.amPM.textContent = self.l10n.amPM[1];\n setHoursFromInputs();\n updateValue();\n break;\n }\n }\n\n triggerEvent(\"onKeyDown\", e);\n }\n\n function onMouseOver(elem) {\n if (self.selectedDates.length !== 1 || !elem.classList.contains(\"flatpickr-day\") || elem.classList.contains(\"disabled\")) return;\n var hoverDate = elem.dateObj.getTime(),\n initialDate = self.parseDate(self.selectedDates[0], undefined, true).getTime(),\n rangeStartDate = Math.min(hoverDate, self.selectedDates[0].getTime()),\n rangeEndDate = Math.max(hoverDate, self.selectedDates[0].getTime());\n var containsDisabled = false;\n var minRange = 0,\n maxRange = 0;\n\n for (var t = rangeStartDate; t < rangeEndDate; t += duration.DAY) {\n if (!isEnabled(new Date(t), true)) {\n containsDisabled = containsDisabled || t > rangeStartDate && t < rangeEndDate;\n if (t < initialDate && (!minRange || t > minRange)) minRange = t;else if (t > initialDate && (!maxRange || t < maxRange)) maxRange = t;\n }\n }\n\n for (var m = 0; m < self.config.showMonths; m++) {\n var month = self.daysContainer.children[m];\n var prevMonth = self.daysContainer.children[m - 1];\n\n var _loop = function _loop(i, l) {\n var dayElem = month.children[i],\n date = dayElem.dateObj;\n var timestamp = date.getTime();\n var outOfRange = minRange > 0 && timestamp < minRange || maxRange > 0 && timestamp > maxRange;\n\n if (outOfRange) {\n dayElem.classList.add(\"notAllowed\");\n [\"inRange\", \"startRange\", \"endRange\"].forEach(function (c) {\n dayElem.classList.remove(c);\n });\n return \"continue\";\n } else if (containsDisabled && !outOfRange) return \"continue\";\n\n [\"startRange\", \"inRange\", \"endRange\", \"notAllowed\"].forEach(function (c) {\n dayElem.classList.remove(c);\n });\n elem.classList.add(hoverDate < self.selectedDates[0].getTime() ? \"startRange\" : \"endRange\");\n\n if (month.contains(elem) || !(m > 0 && prevMonth && prevMonth.lastChild.dateObj.getTime() >= timestamp)) {\n if (initialDate < hoverDate && timestamp === initialDate) dayElem.classList.add(\"startRange\");else if (initialDate > hoverDate && timestamp === initialDate) dayElem.classList.add(\"endRange\");\n if (timestamp >= minRange && (maxRange === 0 || timestamp <= maxRange) && isBetween(timestamp, initialDate, hoverDate)) dayElem.classList.add(\"inRange\");\n }\n };\n\n for (var i = 0, l = month.children.length; i < l; i++) {\n var _ret = _loop(i, l);\n\n if (_ret === \"continue\") continue;\n }\n }\n }\n\n function onResize() {\n if (self.isOpen && !self.config.static && !self.config.inline) positionCalendar();\n }\n\n function open(e, positionElement) {\n if (positionElement === void 0) {\n positionElement = self._input;\n }\n\n if (self.isMobile === true) {\n if (e) {\n e.preventDefault();\n e.target && e.target.blur();\n }\n\n setTimeout(function () {\n self.mobileInput !== undefined && self.mobileInput.focus();\n }, 0);\n triggerEvent(\"onOpen\");\n return;\n }\n\n if (self._input.disabled || self.config.inline) return;\n var wasOpen = self.isOpen;\n self.isOpen = true;\n\n if (!wasOpen) {\n self.calendarContainer.classList.add(\"open\");\n\n self._input.classList.add(\"active\");\n\n triggerEvent(\"onOpen\");\n positionCalendar(positionElement);\n }\n\n if (self.config.enableTime === true && self.config.noCalendar === true) {\n if (self.selectedDates.length === 0) {\n self.setDate(self.config.minDate !== undefined ? new Date(self.config.minDate.getTime()) : new Date(), false);\n setDefaultHours();\n updateValue();\n }\n\n if (self.config.allowInput === false && (e === undefined || !self.timeContainer.contains(e.relatedTarget))) {\n setTimeout(function () {\n return self.hourElement.select();\n }, 50);\n }\n }\n }\n\n function minMaxDateSetter(type) {\n return function (date) {\n var dateObj = self.config[\"_\" + type + \"Date\"] = self.parseDate(date, self.config.dateFormat);\n var inverseDateObj = self.config[\"_\" + (type === \"min\" ? \"max\" : \"min\") + \"Date\"];\n\n if (dateObj !== undefined) {\n self[type === \"min\" ? \"minDateHasTime\" : \"maxDateHasTime\"] = dateObj.getHours() > 0 || dateObj.getMinutes() > 0 || dateObj.getSeconds() > 0;\n }\n\n if (self.selectedDates) {\n self.selectedDates = self.selectedDates.filter(function (d) {\n return isEnabled(d);\n });\n if (!self.selectedDates.length && type === \"min\") setHoursFromDate(dateObj);\n updateValue();\n }\n\n if (self.daysContainer) {\n redraw();\n if (dateObj !== undefined) self.currentYearElement[type] = dateObj.getFullYear().toString();else self.currentYearElement.removeAttribute(type);\n self.currentYearElement.disabled = !!inverseDateObj && dateObj !== undefined && inverseDateObj.getFullYear() === dateObj.getFullYear();\n }\n };\n }\n\n function parseConfig() {\n var boolOpts = [\"wrap\", \"weekNumbers\", \"allowInput\", \"clickOpens\", \"time_24hr\", \"enableTime\", \"noCalendar\", \"altInput\", \"shorthandCurrentMonth\", \"inline\", \"static\", \"enableSeconds\", \"disableMobile\"];\n var hooks = [\"onChange\", \"onClose\", \"onDayCreate\", \"onDestroy\", \"onKeyDown\", \"onMonthChange\", \"onOpen\", \"onParseConfig\", \"onReady\", \"onValueUpdate\", \"onYearChange\", \"onPreCalendarPosition\"];\n var userConfig = Object.assign({}, instanceConfig, JSON.parse(JSON.stringify(element.dataset || {})));\n var formats$$1 = {};\n self.config.parseDate = userConfig.parseDate;\n self.config.formatDate = userConfig.formatDate;\n Object.defineProperty(self.config, \"enable\", {\n get: function get() {\n return self.config._enable;\n },\n set: function set(dates) {\n self.config._enable = parseDateRules(dates);\n }\n });\n Object.defineProperty(self.config, \"disable\", {\n get: function get() {\n return self.config._disable;\n },\n set: function set(dates) {\n self.config._disable = parseDateRules(dates);\n }\n });\n var timeMode = userConfig.mode === \"time\";\n\n if (!userConfig.dateFormat && (userConfig.enableTime || timeMode)) {\n formats$$1.dateFormat = userConfig.noCalendar || timeMode ? \"H:i\" + (userConfig.enableSeconds ? \":S\" : \"\") : flatpickr.defaultConfig.dateFormat + \" H:i\" + (userConfig.enableSeconds ? \":S\" : \"\");\n }\n\n if (userConfig.altInput && (userConfig.enableTime || timeMode) && !userConfig.altFormat) {\n formats$$1.altFormat = userConfig.noCalendar || timeMode ? \"h:i\" + (userConfig.enableSeconds ? \":S K\" : \" K\") : flatpickr.defaultConfig.altFormat + (\" h:i\" + (userConfig.enableSeconds ? \":S\" : \"\") + \" K\");\n }\n\n Object.defineProperty(self.config, \"minDate\", {\n get: function get() {\n return self.config._minDate;\n },\n set: minMaxDateSetter(\"min\")\n });\n Object.defineProperty(self.config, \"maxDate\", {\n get: function get() {\n return self.config._maxDate;\n },\n set: minMaxDateSetter(\"max\")\n });\n\n var minMaxTimeSetter = function minMaxTimeSetter(type) {\n return function (val) {\n self.config[type === \"min\" ? \"_minTime\" : \"_maxTime\"] = self.parseDate(val, \"H:i\");\n };\n };\n\n Object.defineProperty(self.config, \"minTime\", {\n get: function get() {\n return self.config._minTime;\n },\n set: minMaxTimeSetter(\"min\")\n });\n Object.defineProperty(self.config, \"maxTime\", {\n get: function get() {\n return self.config._maxTime;\n },\n set: minMaxTimeSetter(\"max\")\n });\n\n if (userConfig.mode === \"time\") {\n self.config.noCalendar = true;\n self.config.enableTime = true;\n }\n\n Object.assign(self.config, formats$$1, userConfig);\n\n for (var i = 0; i < boolOpts.length; i++) {\n self.config[boolOpts[i]] = self.config[boolOpts[i]] === true || self.config[boolOpts[i]] === \"true\";\n }\n\n for (var _i = hooks.length; _i--;) {\n if (self.config[hooks[_i]] !== undefined) {\n self.config[hooks[_i]] = arrayify(self.config[hooks[_i]] || []).map(bindToInstance);\n }\n }\n\n self.isMobile = !self.config.disableMobile && !self.config.inline && self.config.mode === \"single\" && !self.config.disable.length && !self.config.enable.length && !self.config.weekNumbers && /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);\n\n for (var _i2 = 0; _i2 < self.config.plugins.length; _i2++) {\n var pluginConf = self.config.plugins[_i2](self) || {};\n\n for (var key in pluginConf) {\n if (~hooks.indexOf(key)) {\n self.config[key] = arrayify(pluginConf[key]).map(bindToInstance).concat(self.config[key]);\n } else if (typeof userConfig[key] === \"undefined\") self.config[key] = pluginConf[key];\n }\n }\n\n triggerEvent(\"onParseConfig\");\n }\n\n function setupLocale() {\n if (typeof self.config.locale !== \"object\" && typeof flatpickr.l10ns[self.config.locale] === \"undefined\") self.config.errorHandler(new Error(\"flatpickr: invalid locale \" + self.config.locale));\n self.l10n = Object.assign({}, flatpickr.l10ns.default, typeof self.config.locale === \"object\" ? self.config.locale : self.config.locale !== \"default\" ? flatpickr.l10ns[self.config.locale] : undefined);\n tokenRegex.K = \"(\" + self.l10n.amPM[0] + \"|\" + self.l10n.amPM[1] + \"|\" + self.l10n.amPM[0].toLowerCase() + \"|\" + self.l10n.amPM[1].toLowerCase() + \")\";\n self.formatDate = createDateFormatter(self);\n }\n\n function positionCalendar(customPositionElement) {\n if (self.calendarContainer === undefined) return;\n triggerEvent(\"onPreCalendarPosition\");\n var positionElement = customPositionElement || self._positionElement;\n var calendarHeight = Array.prototype.reduce.call(self.calendarContainer.children, function (acc, child) {\n return acc + child.offsetHeight;\n }, 0),\n calendarWidth = self.calendarContainer.offsetWidth,\n configPos = self.config.position.split(\" \"),\n configPosVertical = configPos[0],\n configPosHorizontal = configPos.length > 1 ? configPos[1] : null,\n inputBounds = positionElement.getBoundingClientRect(),\n distanceFromBottom = window.innerHeight - inputBounds.bottom,\n showOnTop = configPosVertical === \"above\" || configPosVertical !== \"below\" && distanceFromBottom < calendarHeight && inputBounds.top > calendarHeight;\n var top = window.pageYOffset + inputBounds.top + (!showOnTop ? positionElement.offsetHeight + 2 : -calendarHeight - 2);\n toggleClass(self.calendarContainer, \"arrowTop\", !showOnTop);\n toggleClass(self.calendarContainer, \"arrowBottom\", showOnTop);\n if (self.config.inline) return;\n var left = window.pageXOffset + inputBounds.left - (configPosHorizontal != null && configPosHorizontal === \"center\" ? (calendarWidth - inputBounds.width) / 2 : 0);\n var right = window.document.body.offsetWidth - inputBounds.right;\n var rightMost = left + calendarWidth > window.document.body.offsetWidth;\n toggleClass(self.calendarContainer, \"rightMost\", rightMost);\n if (self.config.static) return;\n self.calendarContainer.style.top = top + \"px\";\n\n if (!rightMost) {\n self.calendarContainer.style.left = left + \"px\";\n self.calendarContainer.style.right = \"auto\";\n } else {\n self.calendarContainer.style.left = \"auto\";\n self.calendarContainer.style.right = right + \"px\";\n }\n }\n\n function redraw() {\n if (self.config.noCalendar || self.isMobile) return;\n updateNavigationCurrentMonth();\n buildDays();\n }\n\n function focusAndClose() {\n self._input.focus();\n\n if (window.navigator.userAgent.indexOf(\"MSIE\") !== -1 || navigator.msMaxTouchPoints !== undefined) {\n setTimeout(self.close, 0);\n } else {\n self.close();\n }\n }\n\n function selectDate(e) {\n e.preventDefault();\n e.stopPropagation();\n\n var isSelectable = function isSelectable(day) {\n return day.classList && day.classList.contains(\"flatpickr-day\") && !day.classList.contains(\"disabled\") && !day.classList.contains(\"notAllowed\");\n };\n\n var t = findParent(e.target, isSelectable);\n if (t === undefined) return;\n var target = t;\n var selectedDate = self.latestSelectedDateObj = new Date(target.dateObj.getTime());\n var shouldChangeMonth = (selectedDate.getMonth() < self.currentMonth || selectedDate.getMonth() > self.currentMonth + self.config.showMonths - 1) && self.config.mode !== \"range\";\n self.selectedDateElem = target;\n if (self.config.mode === \"single\") self.selectedDates = [selectedDate];else if (self.config.mode === \"multiple\") {\n var selectedIndex = isDateSelected(selectedDate);\n if (selectedIndex) self.selectedDates.splice(parseInt(selectedIndex), 1);else self.selectedDates.push(selectedDate);\n } else if (self.config.mode === \"range\") {\n if (self.selectedDates.length === 2) self.clear(false);\n self.selectedDates.push(selectedDate);\n if (compareDates(selectedDate, self.selectedDates[0], true) !== 0) self.selectedDates.sort(function (a, b) {\n return a.getTime() - b.getTime();\n });\n }\n setHoursFromInputs();\n\n if (shouldChangeMonth) {\n var isNewYear = self.currentYear !== selectedDate.getFullYear();\n self.currentYear = selectedDate.getFullYear();\n self.currentMonth = selectedDate.getMonth();\n if (isNewYear) triggerEvent(\"onYearChange\");\n triggerEvent(\"onMonthChange\");\n }\n\n updateNavigationCurrentMonth();\n buildDays();\n setDefaultHours();\n updateValue();\n if (self.config.enableTime) setTimeout(function () {\n return self.showTimeInput = true;\n }, 50);\n\n if (self.config.mode === \"range\") {\n if (self.selectedDates.length === 1) {\n onMouseOver(target);\n } else updateNavigationCurrentMonth();\n }\n\n if (!shouldChangeMonth && self.config.mode !== \"range\" && self.config.showMonths === 1) focusOnDayElem(target);else self.selectedDateElem && self.selectedDateElem.focus();\n if (self.hourElement !== undefined) setTimeout(function () {\n return self.hourElement !== undefined && self.hourElement.select();\n }, 451);\n\n if (self.config.closeOnSelect) {\n var single = self.config.mode === \"single\" && !self.config.enableTime;\n var range = self.config.mode === \"range\" && self.selectedDates.length === 2 && !self.config.enableTime;\n\n if (single || range) {\n focusAndClose();\n }\n }\n\n triggerChange();\n }\n\n var CALLBACKS = {\n locale: [setupLocale, updateWeekdays],\n showMonths: [buildMonths, setCalendarWidth, buildWeekdays]\n };\n\n function set(option, value) {\n if (option !== null && typeof option === \"object\") Object.assign(self.config, option);else {\n self.config[option] = value;\n if (CALLBACKS[option] !== undefined) CALLBACKS[option].forEach(function (x) {\n return x();\n });\n }\n self.redraw();\n jumpToDate();\n }\n\n function setSelectedDate(inputDate, format) {\n var dates = [];\n if (inputDate instanceof Array) dates = inputDate.map(function (d) {\n return self.parseDate(d, format);\n });else if (inputDate instanceof Date || typeof inputDate === \"number\") dates = [self.parseDate(inputDate, format)];else if (typeof inputDate === \"string\") {\n switch (self.config.mode) {\n case \"single\":\n case \"time\":\n dates = [self.parseDate(inputDate, format)];\n break;\n\n case \"multiple\":\n dates = inputDate.split(self.config.conjunction).map(function (date) {\n return self.parseDate(date, format);\n });\n break;\n\n case \"range\":\n dates = inputDate.split(self.l10n.rangeSeparator).map(function (date) {\n return self.parseDate(date, format);\n });\n break;\n\n default:\n break;\n }\n } else self.config.errorHandler(new Error(\"Invalid date supplied: \" + JSON.stringify(inputDate)));\n self.selectedDates = dates.filter(function (d) {\n return d instanceof Date && isEnabled(d, false);\n });\n if (self.config.mode === \"range\") self.selectedDates.sort(function (a, b) {\n return a.getTime() - b.getTime();\n });\n }\n\n function setDate(date, triggerChange, format) {\n if (triggerChange === void 0) {\n triggerChange = false;\n }\n\n if (format === void 0) {\n format = self.config.dateFormat;\n }\n\n if (date !== 0 && !date || date instanceof Array && date.length === 0) return self.clear(triggerChange);\n setSelectedDate(date, format);\n self.showTimeInput = self.selectedDates.length > 0;\n self.latestSelectedDateObj = self.selectedDates[0];\n self.redraw();\n jumpToDate();\n setHoursFromDate();\n updateValue(triggerChange);\n if (triggerChange) triggerEvent(\"onChange\");\n }\n\n function parseDateRules(arr) {\n return arr.slice().map(function (rule) {\n if (typeof rule === \"string\" || typeof rule === \"number\" || rule instanceof Date) {\n return self.parseDate(rule, undefined, true);\n } else if (rule && typeof rule === \"object\" && rule.from && rule.to) return {\n from: self.parseDate(rule.from, undefined),\n to: self.parseDate(rule.to, undefined)\n };\n\n return rule;\n }).filter(function (x) {\n return x;\n });\n }\n\n function setupDates() {\n self.selectedDates = [];\n self.now = self.parseDate(self.config.now) || new Date();\n var preloadedDate = self.config.defaultDate || (self.input.placeholder.length > 0 && self.input.value === self.input.placeholder ? null : self.input.value);\n if (preloadedDate) setSelectedDate(preloadedDate, self.config.dateFormat);\n var initialDate = self.selectedDates.length > 0 ? self.selectedDates[0] : self.config.minDate && self.config.minDate.getTime() > self.now.getTime() ? self.config.minDate : self.config.maxDate && self.config.maxDate.getTime() < self.now.getTime() ? self.config.maxDate : self.now;\n self.currentYear = initialDate.getFullYear();\n self.currentMonth = initialDate.getMonth();\n if (self.selectedDates.length > 0) self.latestSelectedDateObj = self.selectedDates[0];\n if (self.config.minTime !== undefined) self.config.minTime = self.parseDate(self.config.minTime, \"H:i\");\n if (self.config.maxTime !== undefined) self.config.maxTime = self.parseDate(self.config.maxTime, \"H:i\");\n self.minDateHasTime = !!self.config.minDate && (self.config.minDate.getHours() > 0 || self.config.minDate.getMinutes() > 0 || self.config.minDate.getSeconds() > 0);\n self.maxDateHasTime = !!self.config.maxDate && (self.config.maxDate.getHours() > 0 || self.config.maxDate.getMinutes() > 0 || self.config.maxDate.getSeconds() > 0);\n Object.defineProperty(self, \"showTimeInput\", {\n get: function get() {\n return self._showTimeInput;\n },\n set: function set(bool) {\n self._showTimeInput = bool;\n if (self.calendarContainer) toggleClass(self.calendarContainer, \"showTimeInput\", bool);\n self.isOpen && positionCalendar();\n }\n });\n }\n\n function setupInputs() {\n self.input = self.config.wrap ? element.querySelector(\"[data-input]\") : element;\n\n if (!self.input) {\n self.config.errorHandler(new Error(\"Invalid input element specified\"));\n return;\n }\n\n self.input._type = self.input.type;\n self.input.type = \"text\";\n self.input.classList.add(\"flatpickr-input\");\n self._input = self.input;\n\n if (self.config.altInput) {\n self.altInput = createElement(self.input.nodeName, self.input.className + \" \" + self.config.altInputClass);\n self._input = self.altInput;\n self.altInput.placeholder = self.input.placeholder;\n self.altInput.disabled = self.input.disabled;\n self.altInput.required = self.input.required;\n self.altInput.tabIndex = self.input.tabIndex;\n self.altInput.type = \"text\";\n self.input.setAttribute(\"type\", \"hidden\");\n if (!self.config.static && self.input.parentNode) self.input.parentNode.insertBefore(self.altInput, self.input.nextSibling);\n }\n\n if (!self.config.allowInput) self._input.setAttribute(\"readonly\", \"readonly\");\n self._positionElement = self.config.positionElement || self._input;\n }\n\n function setupMobile() {\n var inputType = self.config.enableTime ? self.config.noCalendar ? \"time\" : \"datetime-local\" : \"date\";\n self.mobileInput = createElement(\"input\", self.input.className + \" flatpickr-mobile\");\n self.mobileInput.step = self.input.getAttribute(\"step\") || \"any\";\n self.mobileInput.tabIndex = 1;\n self.mobileInput.type = inputType;\n self.mobileInput.disabled = self.input.disabled;\n self.mobileInput.required = self.input.required;\n self.mobileInput.placeholder = self.input.placeholder;\n self.mobileFormatStr = inputType === \"datetime-local\" ? \"Y-m-d\\\\TH:i:S\" : inputType === \"date\" ? \"Y-m-d\" : \"H:i:S\";\n\n if (self.selectedDates.length > 0) {\n self.mobileInput.defaultValue = self.mobileInput.value = self.formatDate(self.selectedDates[0], self.mobileFormatStr);\n }\n\n if (self.config.minDate) self.mobileInput.min = self.formatDate(self.config.minDate, \"Y-m-d\");\n if (self.config.maxDate) self.mobileInput.max = self.formatDate(self.config.maxDate, \"Y-m-d\");\n self.input.type = \"hidden\";\n if (self.altInput !== undefined) self.altInput.type = \"hidden\";\n\n try {\n if (self.input.parentNode) self.input.parentNode.insertBefore(self.mobileInput, self.input.nextSibling);\n } catch (_a) {}\n\n bind(self.mobileInput, \"change\", function (e) {\n self.setDate(e.target.value, false, self.mobileFormatStr);\n triggerEvent(\"onChange\");\n triggerEvent(\"onClose\");\n });\n }\n\n function toggle(e) {\n if (self.isOpen === true) return self.close();\n self.open(e);\n }\n\n function triggerEvent(event, data) {\n var hooks = self.config[event];\n\n if (hooks !== undefined && hooks.length > 0) {\n for (var i = 0; hooks[i] && i < hooks.length; i++) {\n hooks[i](self.selectedDates, self.input.value, self, data);\n }\n }\n\n if (event === \"onChange\") {\n self.input.dispatchEvent(createEvent(\"change\"));\n self.input.dispatchEvent(createEvent(\"input\"));\n }\n }\n\n function createEvent(name) {\n var e = document.createEvent(\"Event\");\n e.initEvent(name, true, true);\n return e;\n }\n\n function isDateSelected(date) {\n for (var i = 0; i < self.selectedDates.length; i++) {\n if (compareDates(self.selectedDates[i], date) === 0) return \"\" + i;\n }\n\n return false;\n }\n\n function isDateInRange(date) {\n if (self.config.mode !== \"range\" || self.selectedDates.length < 2) return false;\n return compareDates(date, self.selectedDates[0]) >= 0 && compareDates(date, self.selectedDates[1]) <= 0;\n }\n\n function updateNavigationCurrentMonth() {\n if (self.config.noCalendar || self.isMobile || !self.monthNav) return;\n self.yearElements.forEach(function (yearElement, i) {\n var d = new Date(self.currentYear, self.currentMonth, 1);\n d.setMonth(self.currentMonth + i);\n self.monthElements[i].textContent = monthToStr(d.getMonth(), self.config.shorthandCurrentMonth, self.l10n) + \" \";\n yearElement.value = d.getFullYear().toString();\n });\n self._hidePrevMonthArrow = self.config.minDate !== undefined && (self.currentYear === self.config.minDate.getFullYear() ? self.currentMonth <= self.config.minDate.getMonth() : self.currentYear < self.config.minDate.getFullYear());\n self._hideNextMonthArrow = self.config.maxDate !== undefined && (self.currentYear === self.config.maxDate.getFullYear() ? self.currentMonth + 1 > self.config.maxDate.getMonth() : self.currentYear > self.config.maxDate.getFullYear());\n }\n\n function updateValue(triggerChange) {\n if (triggerChange === void 0) {\n triggerChange = true;\n }\n\n if (self.selectedDates.length === 0) return self.clear(triggerChange);\n\n if (self.mobileInput !== undefined && self.mobileFormatStr) {\n self.mobileInput.value = self.latestSelectedDateObj !== undefined ? self.formatDate(self.latestSelectedDateObj, self.mobileFormatStr) : \"\";\n }\n\n var joinChar = self.config.mode !== \"range\" ? self.config.conjunction : self.l10n.rangeSeparator;\n self.input.value = self.selectedDates.map(function (dObj) {\n return self.formatDate(dObj, self.config.dateFormat);\n }).join(joinChar);\n\n if (self.altInput !== undefined) {\n self.altInput.value = self.selectedDates.map(function (dObj) {\n return self.formatDate(dObj, self.config.altFormat);\n }).join(joinChar);\n }\n\n if (triggerChange !== false) triggerEvent(\"onValueUpdate\");\n }\n\n function onMonthNavClick(e) {\n e.preventDefault();\n var isPrevMonth = self.prevMonthNav.contains(e.target);\n var isNextMonth = self.nextMonthNav.contains(e.target);\n\n if (isPrevMonth || isNextMonth) {\n changeMonth(isPrevMonth ? -1 : 1);\n } else if (self.yearElements.indexOf(e.target) >= 0) {\n e.target.select();\n } else if (e.target.classList.contains(\"arrowUp\")) {\n self.changeYear(self.currentYear + 1);\n } else if (e.target.classList.contains(\"arrowDown\")) {\n self.changeYear(self.currentYear - 1);\n }\n }\n\n function timeWrapper(e) {\n e.preventDefault();\n var isKeyDown = e.type === \"keydown\",\n input = e.target;\n\n if (self.amPM !== undefined && e.target === self.amPM) {\n self.amPM.textContent = self.l10n.amPM[int(self.amPM.textContent === self.l10n.amPM[0])];\n }\n\n var min = parseFloat(input.getAttribute(\"data-min\")),\n max = parseFloat(input.getAttribute(\"data-max\")),\n step = parseFloat(input.getAttribute(\"data-step\")),\n curValue = parseInt(input.value, 10),\n delta = e.delta || (isKeyDown ? e.which === 38 ? 1 : -1 : 0);\n var newValue = curValue + step * delta;\n\n if (typeof input.value !== \"undefined\" && input.value.length === 2) {\n var isHourElem = input === self.hourElement,\n isMinuteElem = input === self.minuteElement;\n\n if (newValue < min) {\n newValue = max + newValue + int(!isHourElem) + (int(isHourElem) && int(!self.amPM));\n if (isMinuteElem) incrementNumInput(undefined, -1, self.hourElement);\n } else if (newValue > max) {\n newValue = input === self.hourElement ? newValue - max - int(!self.amPM) : min;\n if (isMinuteElem) incrementNumInput(undefined, 1, self.hourElement);\n }\n\n if (self.amPM && isHourElem && (step === 1 ? newValue + curValue === 23 : Math.abs(newValue - curValue) > step)) {\n self.amPM.textContent = self.l10n.amPM[int(self.amPM.textContent === self.l10n.amPM[0])];\n }\n\n input.value = pad(newValue);\n }\n }\n\n init();\n return self;\n }\n\n function _flatpickr(nodeList, config) {\n var nodes = Array.prototype.slice.call(nodeList);\n var instances = [];\n\n for (var i = 0; i < nodes.length; i++) {\n var node = nodes[i];\n\n try {\n if (node.getAttribute(\"data-fp-omit\") !== null) continue;\n\n if (node._flatpickr !== undefined) {\n node._flatpickr.destroy();\n\n node._flatpickr = undefined;\n }\n\n node._flatpickr = FlatpickrInstance(node, config || {});\n instances.push(node._flatpickr);\n } catch (e) {\n console.error(e);\n }\n }\n\n return instances.length === 1 ? instances[0] : instances;\n }\n\n if (typeof HTMLElement !== \"undefined\") {\n HTMLCollection.prototype.flatpickr = NodeList.prototype.flatpickr = function (config) {\n return _flatpickr(this, config);\n };\n\n HTMLElement.prototype.flatpickr = function (config) {\n return _flatpickr([this], config);\n };\n }\n\n var flatpickr = function flatpickr(selector, config) {\n if (selector instanceof NodeList) return _flatpickr(selector, config);else if (typeof selector === \"string\") return _flatpickr(window.document.querySelectorAll(selector), config);\n return _flatpickr([selector], config);\n };\n\n flatpickr.defaultConfig = defaults;\n flatpickr.l10ns = {\n en: Object.assign({}, english),\n default: Object.assign({}, english)\n };\n\n flatpickr.localize = function (l10n) {\n flatpickr.l10ns.default = Object.assign({}, flatpickr.l10ns.default, l10n);\n };\n\n flatpickr.setDefaults = function (config) {\n flatpickr.defaultConfig = Object.assign({}, flatpickr.defaultConfig, config);\n };\n\n flatpickr.parseDate = createDateParser({});\n flatpickr.formatDate = createDateFormatter({});\n flatpickr.compareDates = compareDates;\n\n if (typeof jQuery !== \"undefined\") {\n jQuery.fn.flatpickr = function (config) {\n return _flatpickr(this, config);\n };\n }\n\n Date.prototype.fp_incr = function (days) {\n return new Date(this.getFullYear(), this.getMonth(), this.getDate() + (typeof days === \"string\" ? parseInt(days, 10) : days));\n };\n\n if (typeof window !== \"undefined\") {\n window.flatpickr = flatpickr;\n }\n\n return flatpickr;\n\n})));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/flatpickr/dist/flatpickr.js\n// module id = 123\n// module chunks = 0","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-calendar/src/calendar.html\n// module id = 124\n// module chunks = 0","import \"flatpickr/dist/l10n/cs.js\";\nimport \"flatpickr/dist/l10n/de.js\";\nimport \"flatpickr/dist/l10n/es.js\";\nimport \"flatpickr/dist/l10n/fi.js\";\nimport \"flatpickr/dist/l10n/fr.js\";\nimport \"flatpickr/dist/l10n/it.js\";\nimport \"flatpickr/dist/l10n/lt.js\";\nimport \"flatpickr/dist/l10n/nl.js\";\nimport \"flatpickr/dist/l10n/pl.js\";\nimport \"flatpickr/dist/l10n/pt.js\";\nimport \"flatpickr/dist/l10n/sk.js\";\nimport { merge } from \"lodash\";\n\nexport default class {\n constructor () {\n this.locale = \"en\";\n this.options = {\n altInputClass: \"oui-calendar__control_alt\",\n allowInput: false,\n dateFormat: \"Y-m-d\",\n disableMobile: true,\n maxDate: null,\n minDate: null,\n mode: \"single\",\n nextArrow: '',\n prevArrow: '',\n showMonths: 1\n };\n }\n\n /**\n * Set the locale of the flatpickr calendar\n * @param {String} locale the locale of the calendar (ISO 639-1)\n */\n setLocale (locale) {\n this.locale = locale;\n return this;\n }\n\n /**\n * Set the options of the flatpickr calendar\n * @param {Object} options the configuration of the calendar\n */\n setOptions (options) {\n this.options = merge(this.options, options);\n return this;\n }\n\n $get () {\n return angular.copy({\n locale: this.locale,\n options: this.options\n });\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-calendar/src/calendar.provider.js","var Stack = require('./_Stack'),\n assignMergeValue = require('./_assignMergeValue'),\n baseFor = require('./_baseFor'),\n baseMergeDeep = require('./_baseMergeDeep'),\n isObject = require('./isObject'),\n keysIn = require('./keysIn'),\n safeGet = require('./_safeGet');\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n if (isObject(srcValue)) {\n stack || (stack = new Stack);\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n}\n\nmodule.exports = baseMerge;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseMerge.js\n// module id = 126\n// module chunks = 0","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_listCacheClear.js\n// module id = 127\n// module chunks = 0","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_listCacheDelete.js\n// module id = 128\n// module chunks = 0","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_listCacheGet.js\n// module id = 129\n// module chunks = 0","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_listCacheHas.js\n// module id = 130\n// module chunks = 0","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_listCacheSet.js\n// module id = 131\n// module chunks = 0","var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_defineProperty.js\n// module id = 132\n// module chunks = 0","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_getNative.js\n// module id = 133\n// module chunks = 0","var createBaseFor = require('./_createBaseFor');\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseFor.js\n// module id = 134\n// module chunks = 0","/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_createBaseFor.js\n// module id = 135\n// module chunks = 0","var assignMergeValue = require('./_assignMergeValue'),\n cloneBuffer = require('./_cloneBuffer'),\n cloneTypedArray = require('./_cloneTypedArray'),\n copyArray = require('./_copyArray'),\n initCloneObject = require('./_initCloneObject'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isArrayLikeObject = require('./isArrayLikeObject'),\n isBuffer = require('./isBuffer'),\n isFunction = require('./isFunction'),\n isObject = require('./isObject'),\n isPlainObject = require('./isPlainObject'),\n isTypedArray = require('./isTypedArray'),\n safeGet = require('./_safeGet'),\n toPlainObject = require('./toPlainObject');\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || (srcIndex && isFunction(objValue))) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\n\nmodule.exports = baseMergeDeep;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseMergeDeep.js\n// module id = 136\n// module chunks = 0","var root = require('./_root');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nmodule.exports = cloneBuffer;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_cloneBuffer.js\n// module id = 137\n// module chunks = 0","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nmodule.exports = cloneTypedArray;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_cloneTypedArray.js\n// module id = 138\n// module chunks = 0","var Uint8Array = require('./_Uint8Array');\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nmodule.exports = cloneArrayBuffer;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_cloneArrayBuffer.js\n// module id = 139\n// module chunks = 0","var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_Uint8Array.js\n// module id = 140\n// module chunks = 0","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = copyArray;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_copyArray.js\n// module id = 141\n// module chunks = 0","var baseCreate = require('./_baseCreate'),\n getPrototype = require('./_getPrototype'),\n isPrototype = require('./_isPrototype');\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nmodule.exports = initCloneObject;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_initCloneObject.js\n// module id = 142\n// module chunks = 0","var isObject = require('./isObject');\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nmodule.exports = baseCreate;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseCreate.js\n// module id = 143\n// module chunks = 0","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_isPrototype.js\n// module id = 144\n// module chunks = 0","var isArrayLike = require('./isArrayLike'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\nmodule.exports = isArrayLikeObject;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/isArrayLikeObject.js\n// module id = 145\n// module chunks = 0","var baseGetTag = require('./_baseGetTag'),\n getPrototype = require('./_getPrototype'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nmodule.exports = isPlainObject;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/isPlainObject.js\n// module id = 146\n// module chunks = 0","var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\n\nmodule.exports = toPlainObject;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/toPlainObject.js\n// module id = 147\n// module chunks = 0","var assignValue = require('./_assignValue'),\n baseAssignValue = require('./_baseAssignValue');\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nmodule.exports = copyObject;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_copyObject.js\n// module id = 148\n// module chunks = 0","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_assignValue.js\n// module id = 149\n// module chunks = 0","var baseRest = require('./_baseRest'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\nmodule.exports = createAssigner;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_createAssigner.js\n// module id = 150\n// module chunks = 0","var identity = require('./identity'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nmodule.exports = baseRest;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseRest.js\n// module id = 151\n// module chunks = 0","var apply = require('./_apply');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nmodule.exports = overRest;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_overRest.js\n// module id = 152\n// module chunks = 0","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nmodule.exports = apply;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_apply.js\n// module id = 153\n// module chunks = 0","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_setToString.js\n// module id = 154\n// module chunks = 0","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_isIterateeCall.js\n// module id = 155\n// module chunks = 0","/* flatpickr v4.5.0, @license MIT */\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (factory((global.cs = {})));\n}(this, (function (exports) { 'use strict';\n\n var fp = typeof window !== \"undefined\" && window.flatpickr !== undefined ? window.flatpickr : {\n l10ns: {}\n };\n var Czech = {\n weekdays: {\n shorthand: [\"Ne\", \"Po\", \"Út\", \"St\", \"Čt\", \"Pá\", \"So\"],\n longhand: [\"Neděle\", \"Pondělí\", \"Úterý\", \"Středa\", \"Čtvrtek\", \"Pátek\", \"Sobota\"]\n },\n months: {\n shorthand: [\"Led\", \"Ún\", \"Bře\", \"Dub\", \"Kvě\", \"Čer\", \"Čvc\", \"Srp\", \"Zář\", \"Říj\", \"Lis\", \"Pro\"],\n longhand: [\"Leden\", \"Únor\", \"Březen\", \"Duben\", \"Květen\", \"Červen\", \"Červenec\", \"Srpen\", \"Září\", \"Říjen\", \"Listopad\", \"Prosinec\"]\n },\n firstDayOfWeek: 1,\n ordinal: function ordinal() {\n return \".\";\n },\n rangeSeparator: \" do \",\n weekAbbreviation: \"Týd.\",\n scrollTitle: \"Rolujte pro změnu\",\n toggleTitle: \"Přepnout dopoledne/odpoledne\",\n amPM: [\"dop.\", \"odp.\"],\n yearAriaLabel: \"Rok\"\n };\n fp.l10ns.cs = Czech;\n var cs = fp.l10ns;\n\n exports.Czech = Czech;\n exports.default = cs;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/flatpickr/dist/l10n/cs.js\n// module id = 156\n// module chunks = 0","/* flatpickr v4.5.0, @license MIT */\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (factory((global.de = {})));\n}(this, (function (exports) { 'use strict';\n\n var fp = typeof window !== \"undefined\" && window.flatpickr !== undefined ? window.flatpickr : {\n l10ns: {}\n };\n var German = {\n weekdays: {\n shorthand: [\"So\", \"Mo\", \"Di\", \"Mi\", \"Do\", \"Fr\", \"Sa\"],\n longhand: [\"Sonntag\", \"Montag\", \"Dienstag\", \"Mittwoch\", \"Donnerstag\", \"Freitag\", \"Samstag\"]\n },\n months: {\n shorthand: [\"Jan\", \"Feb\", \"Mär\", \"Apr\", \"Mai\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Okt\", \"Nov\", \"Dez\"],\n longhand: [\"Januar\", \"Februar\", \"März\", \"April\", \"Mai\", \"Juni\", \"Juli\", \"August\", \"September\", \"Oktober\", \"November\", \"Dezember\"]\n },\n firstDayOfWeek: 1,\n weekAbbreviation: \"KW\",\n rangeSeparator: \" bis \",\n scrollTitle: \"Zum Ändern scrollen\",\n toggleTitle: \"Zum Umschalten klicken\"\n };\n fp.l10ns.de = German;\n var de = fp.l10ns;\n\n exports.German = German;\n exports.default = de;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/flatpickr/dist/l10n/de.js\n// module id = 157\n// module chunks = 0","/* flatpickr v4.5.0, @license MIT */\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (factory((global.es = {})));\n}(this, (function (exports) { 'use strict';\n\n var fp = typeof window !== \"undefined\" && window.flatpickr !== undefined ? window.flatpickr : {\n l10ns: {}\n };\n var Spanish = {\n weekdays: {\n shorthand: [\"Dom\", \"Lun\", \"Mar\", \"Mié\", \"Jue\", \"Vie\", \"Sáb\"],\n longhand: [\"Domingo\", \"Lunes\", \"Martes\", \"Miércoles\", \"Jueves\", \"Viernes\", \"Sábado\"]\n },\n months: {\n shorthand: [\"Ene\", \"Feb\", \"Mar\", \"Abr\", \"May\", \"Jun\", \"Jul\", \"Ago\", \"Sep\", \"Oct\", \"Nov\", \"Dic\"],\n longhand: [\"Enero\", \"Febrero\", \"Marzo\", \"Abril\", \"Mayo\", \"Junio\", \"Julio\", \"Agosto\", \"Septiembre\", \"Octubre\", \"Noviembre\", \"Diciembre\"]\n },\n ordinal: function ordinal() {\n return \"º\";\n },\n firstDayOfWeek: 1,\n rangeSeparator: \" a \"\n };\n fp.l10ns.es = Spanish;\n var es = fp.l10ns;\n\n exports.Spanish = Spanish;\n exports.default = es;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/flatpickr/dist/l10n/es.js\n// module id = 158\n// module chunks = 0","/* flatpickr v4.5.0, @license MIT */\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (factory((global.fi = {})));\n}(this, (function (exports) { 'use strict';\n\n var fp = typeof window !== \"undefined\" && window.flatpickr !== undefined ? window.flatpickr : {\n l10ns: {}\n };\n var Finnish = {\n firstDayOfWeek: 1,\n weekdays: {\n shorthand: [\"Su\", \"Ma\", \"Ti\", \"Ke\", \"To\", \"Pe\", \"La\"],\n longhand: [\"Sunnuntai\", \"Maanantai\", \"Tiistai\", \"Keskiviikko\", \"Torstai\", \"Perjantai\", \"Lauantai\"]\n },\n months: {\n shorthand: [\"Tammi\", \"Helmi\", \"Maalis\", \"Huhti\", \"Touko\", \"Kesä\", \"Heinä\", \"Elo\", \"Syys\", \"Loka\", \"Marras\", \"Joulu\"],\n longhand: [\"Tammikuu\", \"Helmikuu\", \"Maaliskuu\", \"Huhtikuu\", \"Toukokuu\", \"Kesäkuu\", \"Heinäkuu\", \"Elokuu\", \"Syyskuu\", \"Lokakuu\", \"Marraskuu\", \"Joulukuu\"]\n },\n ordinal: function ordinal() {\n return \".\";\n }\n };\n fp.l10ns.fi = Finnish;\n var fi = fp.l10ns;\n\n exports.Finnish = Finnish;\n exports.default = fi;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/flatpickr/dist/l10n/fi.js\n// module id = 159\n// module chunks = 0","/* flatpickr v4.5.0, @license MIT */\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (factory((global.fr = {})));\n}(this, (function (exports) { 'use strict';\n\n var fp = typeof window !== \"undefined\" && window.flatpickr !== undefined ? window.flatpickr : {\n l10ns: {}\n };\n var French = {\n firstDayOfWeek: 1,\n weekdays: {\n shorthand: [\"dim\", \"lun\", \"mar\", \"mer\", \"jeu\", \"ven\", \"sam\"],\n longhand: [\"dimanche\", \"lundi\", \"mardi\", \"mercredi\", \"jeudi\", \"vendredi\", \"samedi\"]\n },\n months: {\n shorthand: [\"janv\", \"févr\", \"mars\", \"avr\", \"mai\", \"juin\", \"juil\", \"août\", \"sept\", \"oct\", \"nov\", \"déc\"],\n longhand: [\"janvier\", \"février\", \"mars\", \"avril\", \"mai\", \"juin\", \"juillet\", \"août\", \"septembre\", \"octobre\", \"novembre\", \"décembre\"]\n },\n ordinal: function ordinal(nth) {\n if (nth > 1) return \"\";\n return \"er\";\n },\n rangeSeparator: \" au \",\n weekAbbreviation: \"Sem\",\n scrollTitle: \"Défiler pour augmenter la valeur\",\n toggleTitle: \"Cliquer pour basculer\"\n };\n fp.l10ns.fr = French;\n var fr = fp.l10ns;\n\n exports.French = French;\n exports.default = fr;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/flatpickr/dist/l10n/fr.js\n// module id = 160\n// module chunks = 0","/* flatpickr v4.5.0, @license MIT */\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (factory((global.it = {})));\n}(this, (function (exports) { 'use strict';\n\n var fp = typeof window !== \"undefined\" && window.flatpickr !== undefined ? window.flatpickr : {\n l10ns: {}\n };\n var Italian = {\n weekdays: {\n shorthand: [\"Dom\", \"Lun\", \"Mar\", \"Mer\", \"Gio\", \"Ven\", \"Sab\"],\n longhand: [\"Domenica\", \"Lunedì\", \"Martedì\", \"Mercoledì\", \"Giovedì\", \"Venerdì\", \"Sabato\"]\n },\n months: {\n shorthand: [\"Gen\", \"Feb\", \"Mar\", \"Apr\", \"Mag\", \"Giu\", \"Lug\", \"Ago\", \"Set\", \"Ott\", \"Nov\", \"Dic\"],\n longhand: [\"Gennaio\", \"Febbraio\", \"Marzo\", \"Aprile\", \"Maggio\", \"Giugno\", \"Luglio\", \"Agosto\", \"Settembre\", \"Ottobre\", \"Novembre\", \"Dicembre\"]\n },\n firstDayOfWeek: 1,\n ordinal: function ordinal() {\n return \"°\";\n },\n rangeSeparator: \" al \",\n weekAbbreviation: \"Se\",\n scrollTitle: \"Scrolla per aumentare\",\n toggleTitle: \"Clicca per cambiare\"\n };\n fp.l10ns.it = Italian;\n var it = fp.l10ns;\n\n exports.Italian = Italian;\n exports.default = it;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/flatpickr/dist/l10n/it.js\n// module id = 161\n// module chunks = 0","/* flatpickr v4.5.0, @license MIT */\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (factory((global.lt = {})));\n}(this, (function (exports) { 'use strict';\n\n var fp = typeof window !== \"undefined\" && window.flatpickr !== undefined ? window.flatpickr : {\n l10ns: {}\n };\n var Lithuanian = {\n weekdays: {\n shorthand: [\"S\", \"Pr\", \"A\", \"T\", \"K\", \"Pn\", \"Š\"],\n longhand: [\"Sekmadienis\", \"Pirmadienis\", \"Antradienis\", \"Trečiadienis\", \"Ketvirtadienis\", \"Penktadienis\", \"Šeštadienis\"]\n },\n months: {\n shorthand: [\"Sau\", \"Vas\", \"Kov\", \"Bal\", \"Geg\", \"Bir\", \"Lie\", \"Rgp\", \"Rgs\", \"Spl\", \"Lap\", \"Grd\"],\n longhand: [\"Sausis\", \"Vasaris\", \"Kovas\", \"Balandis\", \"Gegužė\", \"Birželis\", \"Liepa\", \"Rugpjūtis\", \"Rugsėjis\", \"Spalis\", \"Lapkritis\", \"Gruodis\"]\n },\n firstDayOfWeek: 1,\n ordinal: function ordinal() {\n return \"-a\";\n },\n weekAbbreviation: \"Sav\",\n scrollTitle: \"Keisti laiką pelės rateliu\",\n toggleTitle: \"Perjungti laiko formatą\"\n };\n fp.l10ns.lt = Lithuanian;\n var lt = fp.l10ns;\n\n exports.Lithuanian = Lithuanian;\n exports.default = lt;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/flatpickr/dist/l10n/lt.js\n// module id = 162\n// module chunks = 0","/* flatpickr v4.5.0, @license MIT */\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (factory((global.nl = {})));\n}(this, (function (exports) { 'use strict';\n\n var fp = typeof window !== \"undefined\" && window.flatpickr !== undefined ? window.flatpickr : {\n l10ns: {}\n };\n var Dutch = {\n weekdays: {\n shorthand: [\"zo\", \"ma\", \"di\", \"wo\", \"do\", \"vr\", \"za\"],\n longhand: [\"zondag\", \"maandag\", \"dinsdag\", \"woensdag\", \"donderdag\", \"vrijdag\", \"zaterdag\"]\n },\n months: {\n shorthand: [\"jan\", \"feb\", \"mrt\", \"apr\", \"mei\", \"jun\", \"jul\", \"aug\", \"sept\", \"okt\", \"nov\", \"dec\"],\n longhand: [\"januari\", \"februari\", \"maart\", \"april\", \"mei\", \"juni\", \"juli\", \"augustus\", \"september\", \"oktober\", \"november\", \"december\"]\n },\n firstDayOfWeek: 1,\n weekAbbreviation: \"wk\",\n rangeSeparator: \" tot \",\n scrollTitle: \"Scroll voor volgende / vorige\",\n toggleTitle: \"Klik om te wisselen\",\n ordinal: function ordinal(nth) {\n if (nth === 1 || nth === 8 || nth >= 20) return \"ste\";\n return \"de\";\n }\n };\n fp.l10ns.nl = Dutch;\n var nl = fp.l10ns;\n\n exports.Dutch = Dutch;\n exports.default = nl;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/flatpickr/dist/l10n/nl.js\n// module id = 163\n// module chunks = 0","/* flatpickr v4.5.0, @license MIT */\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (factory((global.pl = {})));\n}(this, (function (exports) { 'use strict';\n\n var fp = typeof window !== \"undefined\" && window.flatpickr !== undefined ? window.flatpickr : {\n l10ns: {}\n };\n var Polish = {\n weekdays: {\n shorthand: [\"Nd\", \"Pn\", \"Wt\", \"Śr\", \"Cz\", \"Pt\", \"So\"],\n longhand: [\"Niedziela\", \"Poniedziałek\", \"Wtorek\", \"Środa\", \"Czwartek\", \"Piątek\", \"Sobota\"]\n },\n months: {\n shorthand: [\"Sty\", \"Lut\", \"Mar\", \"Kwi\", \"Maj\", \"Cze\", \"Lip\", \"Sie\", \"Wrz\", \"Paź\", \"Lis\", \"Gru\"],\n longhand: [\"Styczeń\", \"Luty\", \"Marzec\", \"Kwiecień\", \"Maj\", \"Czerwiec\", \"Lipiec\", \"Sierpień\", \"Wrzesień\", \"Październik\", \"Listopad\", \"Grudzień\"]\n },\n rangeSeparator: \" do \",\n weekAbbreviation: \"tydz.\",\n scrollTitle: \"Przwiń aby zwiększyć\",\n toggleTitle: \"Kliknij aby przełączyć\",\n firstDayOfWeek: 1,\n ordinal: function ordinal() {\n return \".\";\n }\n };\n fp.l10ns.pl = Polish;\n var pl = fp.l10ns;\n\n exports.Polish = Polish;\n exports.default = pl;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/flatpickr/dist/l10n/pl.js\n// module id = 164\n// module chunks = 0","/* flatpickr v4.5.0, @license MIT */\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (factory((global.pt = {})));\n}(this, (function (exports) { 'use strict';\n\n var fp = typeof window !== \"undefined\" && window.flatpickr !== undefined ? window.flatpickr : {\n l10ns: {}\n };\n var Portuguese = {\n weekdays: {\n shorthand: [\"Dom\", \"Seg\", \"Ter\", \"Qua\", \"Qui\", \"Sex\", \"Sáb\"],\n longhand: [\"Domingo\", \"Segunda-feira\", \"Terça-feira\", \"Quarta-feira\", \"Quinta-feira\", \"Sexta-feira\", \"Sábado\"]\n },\n months: {\n shorthand: [\"Jan\", \"Fev\", \"Mar\", \"Abr\", \"Mai\", \"Jun\", \"Jul\", \"Ago\", \"Set\", \"Out\", \"Nov\", \"Dez\"],\n longhand: [\"Janeiro\", \"Fevereiro\", \"Março\", \"Abril\", \"Maio\", \"Junho\", \"Julho\", \"Agosto\", \"Setembro\", \"Outubro\", \"Novembro\", \"Dezembro\"]\n },\n rangeSeparator: \" até \"\n };\n fp.l10ns.pt = Portuguese;\n var pt = fp.l10ns;\n\n exports.Portuguese = Portuguese;\n exports.default = pt;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/flatpickr/dist/l10n/pt.js\n// module id = 165\n// module chunks = 0","/* flatpickr v4.5.0, @license MIT */\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (factory((global.sk = {})));\n}(this, (function (exports) { 'use strict';\n\n var fp = typeof window !== \"undefined\" && window.flatpickr !== undefined ? window.flatpickr : {\n l10ns: {}\n };\n var Slovak = {\n weekdays: {\n shorthand: [\"Ned\", \"Pon\", \"Ut\", \"Str\", \"Štv\", \"Pia\", \"Sob\"],\n longhand: [\"Nedeľa\", \"Pondelok\", \"Utorok\", \"Streda\", \"Štvrtok\", \"Piatok\", \"Sobota\"]\n },\n months: {\n shorthand: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"Máj\", \"Jún\", \"Júl\", \"Aug\", \"Sep\", \"Okt\", \"Nov\", \"Dec\"],\n longhand: [\"Január\", \"Február\", \"Marec\", \"Apríl\", \"Máj\", \"Jún\", \"Júl\", \"August\", \"September\", \"Október\", \"November\", \"December\"]\n },\n firstDayOfWeek: 1,\n rangeSeparator: \" do \",\n ordinal: function ordinal() {\n return \".\";\n }\n };\n fp.l10ns.sk = Slovak;\n var sk = fp.l10ns;\n\n exports.Slovak = Slovak;\n exports.default = sk;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/flatpickr/dist/l10n/sk.js\n// module id = 166\n// module chunks = 0","import Checkbox from \"./checkbox.component.js\";\n\nangular.module(\"oui.checkbox\", []).component(\"ouiCheckbox\", Checkbox);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-checkbox/src/index.js","import controller from \"./checkbox.controller\";\nimport template from \"./checkbox.html\";\n\nexport default {\n template,\n controller,\n bindings: {\n text: \"@\",\n description: \"@?\",\n id: \"@?\",\n name: \"@?\",\n model: \"=?\",\n onChange: \"&?\",\n disabled: \"\n this.$element\n .removeAttr(\"id\")\n .removeAttr(\"name\")\n );\n\n this.checkboxElement = this.$element.find(\"input\");\n\n // $watch is required because there is no other way\n // to be notified when the value has changed from the\n // outside\n this.$scope.$watch(\"$ctrl.model\", (newValue) =>\n this._updateIndeterminateState(newValue)\n );\n }\n\n $onInit () {\n addBooleanParameter(this, \"disabled\");\n addBooleanParameter(this, \"required\");\n addDefaultParameter(this, \"id\", `ouiCheckbox${this.$scope.$id}`);\n }\n\n _updateIndeterminateState (model) {\n this.checkboxElement.prop(\"indeterminate\", model === null);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-checkbox/src/checkbox.controller.js","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-checkbox/src/checkbox.html\n// module id = 170\n// module chunks = 0","import Collapsible from \"./collapsible.component.js\";\n\nangular.module(\"oui.collapsible\", [])\n .component(\"ouiCollapsible\", Collapsible);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-collapsible/src/index.js","import controller from \"./collapsible.controller.js\";\nimport template from \"./collapsible.html\";\n\nexport default {\n template,\n controller,\n bindings: {\n id: \"@\",\n heading: \"@\",\n ariaLabel: \"@?\",\n expanded: \" body.offsetHeight, (newHeight, oldHeight) => {\n if (newHeight !== oldHeight) {\n this.wrapperHeight = `${newHeight}px`;\n }\n });\n }\n\n $postLink () {\n this.$timeout(() =>\n this.$element\n .addClass(\"oui-collapsible\")\n .removeAttr(\"aria-label\")\n );\n\n // Apply on resize for new body height\n angular.element(this.$window)\n .on(\"resize\", () => this.$scope.$apply());\n }\n\n toggle () {\n this.expanded = !this.expanded;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-collapsible/src/collapsible.controller.js","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-collapsible/src/collapsible.html\n// module id = 174\n// module chunks = 0","import controller from \"./radio.controller\";\nimport template from \"./radio.html\";\n\nexport default {\n require: {\n radioGroup: \"?^ouiRadioGroup\",\n radioToggleGroup: \"?^ouiRadioToggleGroup\"\n },\n template,\n controller,\n bindings: {\n text: \"@\",\n value: \"<\",\n description: \"@?\",\n id: \"@?\",\n name: \"@?\",\n model: \"=?\",\n onChange: \"&?\",\n disabled: \"\n this.$element\n .removeAttr(\"id\")\n .removeAttr(\"name\")\n );\n }\n\n $onInit () {\n addBooleanParameter(this, \"disabled\");\n addBooleanParameter(this, \"thumbnail\");\n addBooleanParameter(this, \"required\");\n addDefaultParameter(this, \"id\", `ouiRadio${this.$scope.$id}`);\n\n this.$element.addClass(this.radioToggleGroup ? \"oui-radio-toggle\" : \"oui-radio\");\n if (this.thumbnail && !this.radioToggleGroup) {\n this.$element.addClass(\"oui-radio_thumbnail\");\n }\n\n this.group = this.radioGroup || this.radioToggleGroup;\n if (this.group) {\n this.name = this.group.name;\n this.$scope.$watch(\"$ctrl.group.model\", (value) => {\n this.model = value;\n });\n } else {\n addDefaultParameter(this, \"name\", this.id);\n }\n }\n\n onRadioModelChange (event) {\n if (this.group) {\n this.group.setModelValue(event.modelValue);\n }\n\n if (this.onChange) {\n this.$timeout(() => this.onChange(event));\n }\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-radio/src/radio.controller.js","module.exports = \" \";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-radio/src/radio.html\n// module id = 177\n// module chunks = 0","import Message from \"./message.component.js\";\n\nangular.module(\"oui.message\", []).component(\"ouiMessage\", Message);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-message/src/index.js","import controller from \"./message.controller\";\nimport template from \"./message.html\";\n\nexport default {\n template,\n controller,\n bindings: {\n type: \"@\",\n ariaCloseButtonLabel: \"@?\",\n dismissable: \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-message/src/message.html\n// module id = 181\n// module chunks = 0","import Spinner from \"./spinner.component.js\";\n\nangular.module(\"oui.spinner\", []).component(\"ouiSpinner\", Spinner);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-spinner/src/index.js","import controller from \"./spinner.controller\";\nimport template from \"./spinner.html\";\n\nexport default {\n template,\n controller,\n bindings: {\n size: \"@?\"\n }\n};\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-spinner/src/spinner.component.js","export default class {\n constructor ($element) {\n \"ngInject\";\n\n this.$element = $element;\n }\n\n $onInit () {\n this.size = this.size || \"m\";\n }\n\n $postLink () {\n // Add Classnames on root element\n this.$element.addClass(`oui-spinner oui-spinner_${this.size}`);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-spinner/src/spinner.controller.js","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-spinner/src/spinner.html\n// module id = 185\n// module chunks = 0","import BackButton from \"./back-button.component.js\";\n\nangular.module(\"oui.back-button\", []).component(\"ouiBackButton\", BackButton);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-back-button/src/index.js","import controller from \"./back-button.controller\";\nimport template from \"./back-button.html\";\n\nexport default {\n template,\n controller,\n bindings: {\n id: \"@?\",\n name: \"@?\",\n ariaLabel: \"@?\",\n heading: \"@?\",\n title: \"@?\", // Deprecated: Replaced by 'heading'\n onClick: \"&?\",\n href: \"@?\"\n }\n};\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-back-button/src/back-button.component.js","export default class {\n constructor ($attrs, $element, $timeout, $window) {\n \"ngInject\";\n\n this.$attrs = $attrs;\n this.$element = $element;\n this.$timeout = $timeout;\n this.$window = $window;\n }\n\n $onInit () {\n // Deprecated: Support for 'title' attribute\n if (!!this.$attrs.title && !this.$attrs.heading) {\n this.heading = this.title;\n }\n }\n\n $postLink () {\n\n this.$element.addClass(\"oui-back-button\");\n\n // Sometimes the digest cycle is done before dom manipulation,\n // So we use $timeout to force the $apply\n this.$timeout(() =>\n this.$element\n .removeAttr(\"aria-label\")\n .removeAttr(\"id\")\n .removeAttr(\"name\")\n );\n }\n\n onBtnClick () {\n if (angular.isFunction(this.onClick)) {\n this.onClick();\n } else if (!this.href) {\n this.$window.history.back();\n }\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-back-button/src/back-button.controller.js","module.exports = \"

\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-back-button/src/back-button.html\n// module id = 189\n// module chunks = 0","import Dropdown from \"./dropdown.component.js\";\nimport DropdownContent from \"./content/dropdown-content.directive.js\";\nimport DropdownDivider from \"./divider/dropdown-divider.component.js\";\nimport DropdownGroup from \"./group/dropdown-group.component.js\";\nimport DropdownItem from \"./item/dropdown-item.component.js\";\nimport DropdownTrigger from \"./trigger/dropdown-trigger.directive.js\";\n\nexport default angular\n .module(\"oui.dropdown\", [])\n .component(\"ouiDropdown\", Dropdown)\n .directive(\"ouiDropdownContent\", DropdownContent)\n .component(\"ouiDropdownDivider\", DropdownDivider)\n .component(\"ouiDropdownGroup\", DropdownGroup)\n .component(\"ouiDropdownItem\", DropdownItem)\n .directive(\"ouiDropdownTrigger\", DropdownTrigger)\n .name;\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-dropdown/src/index.js","import controller from \"./dropdown.controller\";\n\nexport default {\n controller,\n bindings: {\n align: \"@?\",\n arrow: \" {\n if ((evt && evt.type === \"click\") &&\n (!evt.target || !evt.target.getAttribute || evt.target.getAttribute(\"type\") !== \"submit\") &&\n (this.triggerElement.contains(evt.target) ||\n (this.persistent && this.popperElement.contains(evt.target)))) {\n return;\n }\n this.triggerElement.focus();\n this.$scope.$apply(() => this.closeDropdown());\n };\n\n // Handle espace key press\n this.triggerKeyHandler = evt => {\n if (evt &&\n evt.type === \"keydown\" &&\n evt.which === KEY_ESCAPE) {\n this.$scope.$apply(() => {\n this.closeDropdown();\n });\n }\n };\n\n this.triggerBlurHandler = evt => {\n // Disable blur management if dropdown is persitent.\n if (this.persistent) {\n return;\n }\n\n if (evt.relatedTarget && !this.$element[0].contains(evt.relatedTarget)) {\n // Sometime Angular is already in a digest loop here.\n // Let's delay dropdown closing after that instead of $applying again.\n this.$timeout(() => this.closeDropdown());\n }\n\n // This part allows to press tab and keeps dropdown open\n // as long as focused element is in the dropdown.\n if (this.currentFocusedElement) {\n angular.element(this.currentFocusedElement).off(\"blur\", this.triggerBlurHandler);\n }\n angular.element(evt.relatedTarget).on(\"blur\", this.triggerBlurHandler);\n this.currentFocusedElement = evt.relatedTarget;\n };\n }\n\n $postLink () {\n this.$timeout(() =>\n this.$element\n .addClass(\"oui-dropdown\")\n );\n }\n\n $onDestroy () {\n this.destroyPopper();\n }\n\n setDropdownTrigger (trigger, ctrl) {\n this.triggerElement = trigger;\n this.triggerCtrl = ctrl;\n }\n\n setDropdownMenu (menu, arrow) {\n this.popperElement = menu;\n this.arrowElement = arrow;\n }\n\n // Handle click, space key press and enter key press\n onTriggerClick () {\n this.toggle();\n }\n\n toggle () {\n if (!this.isDropdownOpen) {\n this.openDropdown();\n } else {\n this.closeDropdown();\n }\n }\n\n openDropdown () {\n // Don't use ng-class here, it could cause issue on positionning.\n this.isDropdownOpen = true;\n this.updatePopper();\n\n this.$document.on(\"click\", this.documentClickHandler);\n\n // Update trigger\n if (this.triggerCtrl.afterOpen) {\n this.triggerCtrl.afterOpen();\n }\n }\n\n closeDropdown () {\n // Don't use ng-class here, it could cause issue on positionning.\n this.isDropdownOpen = false;\n this.destroyPopper();\n\n this.$document.off(\"click\", this.documentClickHandler);\n\n // Update trigger\n if (this.triggerCtrl.afterClose) {\n this.triggerCtrl.afterClose();\n }\n }\n\n createPopper () {\n let placement = \"bottom\";\n\n if ([\"start\", \"end\"].indexOf(this.align) >= 0) {\n placement += `-${this.align}`;\n }\n\n // Let Popper.js manage the arrow position when it's centered (default).\n if (this.arrowElement && placement === \"bottom\") {\n this.arrowElement.setAttribute(\"x-arrow\", \"\");\n }\n\n this.popperElement.style.minWidth = `${this.getTriggerWidth()}px`;\n\n this.popper = new Popper(this.triggerElement, this.popperElement, {\n placement,\n modifiers: {\n preventOverflow: {\n boundariesElement: this.$document[0].body\n }\n }\n });\n }\n\n updatePopper () {\n if (!this.popper) {\n this.createPopper();\n }\n\n this.popper.scheduleUpdate();\n }\n\n destroyPopper () {\n if (!this.popper) {\n return;\n }\n\n this.popper.destroy();\n this.popper = null;\n }\n\n getTriggerWidth () {\n const MINWIDTH = 140;\n return Math.max(this.triggerElement.offsetWidth, MINWIDTH);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-dropdown/src/dropdown.controller.js","const dropdownContentClass = \"oui-dropdown-menu\";\nconst arrowDropdownContentModifierClass = \"oui-dropdown-menu_arrow\";\nconst arrowDropdownContentClass = \"oui-dropdown-menu__arrow\";\n\nexport default () => {\n \"ngInject\";\n\n return {\n restrict: \"AE\",\n require: \"^ouiDropdown\",\n scope: {},\n link: (scope, element, attrs, ctrl) => {\n element\n .addClass(dropdownContentClass)\n .attr(\"aria-labelledby\", ctrl.id)\n .attr(\"role\", \"menu\");\n\n if (ctrl.arrow) {\n element.addClass(arrowDropdownContentModifierClass);\n element.prepend(`
`);\n }\n\n // Set menu and arrow to the parent component\n ctrl.setDropdownMenu(element[0], element[0].querySelector(`.${arrowDropdownContentClass}`));\n }\n };\n};\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-dropdown/src/content/dropdown-content.directive.js","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-dropdown/src/group/dropdown-group.html\n// module id = 194\n// module chunks = 0","import { addBooleanParameter } from \"@oui-angular/common/component-utils\";\n\nexport default class {\n constructor ($attrs, $element, $timeout) {\n \"ngInject\";\n\n this.$attrs = $attrs;\n this.$element = $element;\n this.$timeout = $timeout;\n }\n\n $onInit () {\n addBooleanParameter(this, \"external\");\n addBooleanParameter(this, \"disabled\");\n addBooleanParameter(this, \"sticky\");\n\n if (this.external) {\n this.linkTarget = \"_blank\";\n this.linkRel = \"noopener\";\n }\n }\n\n $postLink () {\n this.$timeout(() => {\n this.$element\n .addClass(\"oui-dropdown-menu__item\")\n .removeAttr(\"aria-label\");\n\n if (this.sticky) {\n this.$element\n .addClass(\"oui-dropdown-menu__item_sticky\");\n }\n });\n }\n\n // Return value of \"ui-sref\"\n getFullSref () {\n return `${this.state}(${JSON.stringify(this.stateParams)})`;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-dropdown/src/item/dropdown-item.controller.js","var core = require('../../modules/_core');\nvar $JSON = core.JSON || (core.JSON = { stringify: JSON.stringify });\nmodule.exports = function stringify(it) { // eslint-disable-line no-unused-vars\n return $JSON.stringify.apply($JSON, arguments);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/json/stringify.js\n// module id = 196\n// module chunks = 0","module.exports = \" \";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-dropdown/src/item/dropdown-item.html\n// module id = 197\n// module chunks = 0","import controller from \"./dropdown-trigger.controller\";\n\nexport default () => ({\n restrict: \"AE\",\n require: {\n dropdown: \"^ouiDropdown\"\n },\n controller,\n controllerAs: \"$dropdownTriggerCtrl\",\n bindToController: {\n text: \"@\",\n ariaLabel: \"@?\",\n disabled: \" {\n if (!this.dropdown.text) {\n this.$element.removeAttr(\"aria-label\");\n }\n\n if (this.$element[0].tagName.toLowerCase() === \"oui-dropdown-trigger\") {\n this.$compile(template)(this.$scope, (clone) => {\n this.$element.replaceWith(clone);\n this.$trigger = clone;\n });\n } else {\n // Update custom $element\n this.$element\n .addClass(\"oui-dropdown__trigger\")\n .attr({\n id: this.dropdown.id,\n \"aria-haspopup\": true,\n \"aria-expanded\": false\n })\n .on(\"click\", () => !this.disabled && this.dropdown.onTriggerClick())\n .on(\"blur\", evt => this.dropdown.triggerBlurHandler(evt));\n\n this.$trigger = this.$element;\n }\n\n // Set the trigger to the parent component\n this.dropdown.setDropdownTrigger(this.$trigger[0], this);\n });\n }\n\n $onDestroy () {\n this.$element.off(\"click\");\n this.$element.off(\"blur\");\n this.$element.off(\"keydown\");\n }\n\n afterOpen () {\n this.$trigger.attr(\"aria-expanded\", true);\n this.$trigger[0].focus();\n this.$trigger.on(\"keydown\", evt => this.dropdown.triggerKeyHandler(evt));\n }\n\n afterClose () {\n this.$trigger.attr(\"aria-expanded\", false);\n this.$trigger.off(\"keydown\");\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-dropdown/src/trigger/dropdown-trigger.controller.js","module.exports = \" \";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-dropdown/src/trigger/dropdown-trigger.html\n// module id = 200\n// module chunks = 0","import ActionMenu from \"./action-menu.component.js\";\nimport DropdownDivider from \"../../oui-dropdown/src/divider/dropdown-divider.component\";\nimport DropdownItem from \"../../oui-dropdown/src/item/dropdown-item.component\";\n\nangular.module(\"oui.action-menu\", [])\n .component(\"ouiActionMenu\", ActionMenu)\n .component(\"ouiActionMenuDivider\", DropdownDivider)\n .component(\"ouiActionMenuItem\", DropdownItem);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-action-menu/src/index.js","import controller from \"./action-menu.controller.js\";\nimport template from \"./action-menu.html\";\n\nexport default {\n template,\n controller,\n bindings: {\n text: \"@\",\n align: \"@?\",\n ariaLabel: \"@?\",\n compact: \"\n this.$element\n .removeAttr(\"aria-label\")\n );\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-action-menu/src/action-menu.controller.js","module.exports = \" \";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-action-menu/src/action-menu.html\n// module id = 204\n// module chunks = 0","import Tooltip from \"./tooltip.directive\";\n\nangular.module(\"oui.tooltip\", [])\n .directive(\"ouiTooltip\", Tooltip);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-tooltip/src/index.js","import controller from \"./tooltip.controller\";\n\nexport default () => ({\n restrict: \"A\",\n bindToController: {\n text: \"@ouiTooltip\",\n placement: \"@?ouiTooltipPlacement\" // values: top|top-start|top-end|bottom|bottom-start|bottom-end (default: top)\n },\n controller,\n controllerAs: \"$tooltipCtrl\"\n});\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-tooltip/src/tooltip.directive.js","import Popper from \"popper.js\";\nimport template from \"./tooltip.html\";\n\nexport default class {\n constructor ($compile, $element, $scope, $timeout) {\n \"ngInject\";\n\n this.$compile = $compile;\n this.$element = $element;\n this.$scope = $scope;\n this.$timeout = $timeout;\n }\n\n $onInit () {\n // Add default value for attribute 'placement'\n if (angular.isUndefined(this.placement)) {\n this.placement = \"top\";\n }\n }\n\n $postLink () {\n this.$timeout(() => {\n // Add an attribute 'aria-label' if undefined\n if (!this.$element.attr(\"aria-label\")) {\n this.$element.attr(\"aria-label\", this.text);\n }\n\n // Create a new scope to compile the tooltip next to the trigger\n const tooltipScope = angular.extend(this.$scope.$new(true), { $tooltipCtrl: this });\n const tooltipTemplate = this.$compile(template)(tooltipScope);\n\n this.$element\n .addClass(\"oui-tooltip__trigger\") // Add classname for 'focus' and 'hover' CSS events\n .one(\"focus mouseenter\", () => this.createPopper()) // One time bind to create the popper helper\n .after(tooltipTemplate); // Add compiled template after $element\n });\n }\n\n createPopper () {\n const trigger = this.$element[0];\n const tooltip = this.$element.next()[0];\n\n // Let Popper.js position the tooltip\n this.popper = new Popper(trigger, tooltip, {\n placement: this.placement\n });\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-tooltip/src/tooltip.controller.js","module.exports = \" \";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-tooltip/src/tooltip.html\n// module id = 208\n// module chunks = 0","import Numeric from \"./numeric.component.js\";\n\nangular.module(\"oui.numeric\", []).component(\"ouiNumeric\", Numeric);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-numeric/src/index.js","import controller from \"./numeric.controller\";\nimport template from \"./numeric.html\";\n\nexport default {\n template,\n controller,\n bindings: {\n id: \"@?\",\n name: \"@?\",\n model: \"=\",\n min: \"\n this.$element\n .removeAttr(\"id\")\n .removeAttr(\"name\")\n );\n }\n\n $onInit () {\n if (!this.id) {\n this.$log.warn(\"Missing required attribute id\");\n }\n\n if (!angular.isNumber(this.min)) {\n if (angular.isDefined(this.min)) {\n this.$log.warn(`Invalid attribute min, expected number got '${this.min}'`);\n }\n this.min = MIN_VALUE;\n }\n\n if (!angular.isNumber(this.max)) {\n if (angular.isDefined(this.max)) {\n this.$log.warn(`Invalid attribute max, expected number got '${this.max}'`);\n }\n this.max = MAX_VALUE;\n }\n\n if (!angular.isNumber(this.model)) {\n if (angular.isDefined(this.model)) {\n this.$log.warn(`Invalid attribute model, expected number got '${this.model}'`);\n }\n\n // if model is undefined, initialize it with min value\n this.setModelValue(this.min);\n }\n\n if (this.min < MIN_VALUE) {\n this.$log.warn(`Invalid attribute min, value should be greater than '${MIN_VALUE}'`);\n }\n\n if (this.max > MAX_VALUE) {\n this.$log.warn(`Invalid attribute max, value should be lower than '${MAX_VALUE}'`);\n }\n\n if (angular.isDefined(this.$attrs.disabled) && angular.isUndefined(this.disabled)) {\n this.disabled = true;\n }\n\n this.min = clamp(this.min, MIN_VALUE, MAX_VALUE);\n this.max = clamp(this.max, this.min, MAX_VALUE);\n\n // used to trigger only onChange when necessary and\n // reset input if invalid characters are used\n this.previousValue = this.model;\n }\n\n setModelValue (value) {\n // updates model and displayed value\n this.model = value;\n\n // only trigger onChange if model value changed\n if (this.previousValue !== this.model && angular.isFunction(this.onChange)) {\n this.onChange({\n modelValue: this.model\n });\n }\n\n this.previousValue = this.model;\n }\n\n increment () {\n if (angular.isNumber(this.model)) {\n this.setModelValue(this.model + 1);\n } else {\n this.setModelValue(this.min);\n }\n }\n\n decrement () {\n if (angular.isNumber(this.model)) {\n this.setModelValue(this.model - 1);\n } else {\n this.setModelValue(this.min);\n }\n }\n\n onInputChanged () {\n // if user clears input, set value to lower bound\n if (this.model === null) {\n this.setModelValue(this.min);\n\n // if user input is not valid, ignore it and reset to previous value\n } else if (!angular.isNumber(this.model) ||\n this.model < this.min ||\n this.model > this.max) {\n this.model = this.previousValue;\n } else {\n this.setModelValue(this.model);\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-numeric/src/numeric.controller.js","var baseClamp = require('./_baseClamp'),\n toNumber = require('./toNumber');\n\n/**\n * Clamps `number` within the inclusive `lower` and `upper` bounds.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Number\n * @param {number} number The number to clamp.\n * @param {number} [lower] The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the clamped number.\n * @example\n *\n * _.clamp(-10, -5, 5);\n * // => -5\n *\n * _.clamp(10, -5, 5);\n * // => 5\n */\nfunction clamp(number, lower, upper) {\n if (upper === undefined) {\n upper = lower;\n lower = undefined;\n }\n if (upper !== undefined) {\n upper = toNumber(upper);\n upper = upper === upper ? upper : 0;\n }\n if (lower !== undefined) {\n lower = toNumber(lower);\n lower = lower === lower ? lower : 0;\n }\n return baseClamp(toNumber(number), lower, upper);\n}\n\nmodule.exports = clamp;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/clamp.js\n// module id = 212\n// module chunks = 0","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-numeric/src/numeric.html\n// module id = 213\n// module chunks = 0","import Pagination from \"./pagination.component\";\nimport PaginationConfigurationProvider from \"./pagination.provider\";\n\nangular.module(\"oui.pagination\", [])\n .component(\"ouiPagination\", Pagination)\n .provider(\"ouiPaginationConfiguration\", PaginationConfigurationProvider);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-pagination/src/index.js","import controller from \"./pagination.controller\";\nimport template from \"./pagination.html\";\n\nexport default {\n template,\n bindings: {\n currentOffset: \"<\",\n pageSize: \" a - b);\n\n if (angular.isNumber(this.pageSizeMax)) {\n this.pageSizeList = this.pageSizeList\n .filter(pageSize => pageSize <= this.pageSizeMax);\n\n // ... and add the max page size if necessary.\n if (this.pageSizeList.indexOf(this.pageSizeMax) < 0) {\n this.pageSizeList.push(this.pageSizeMax);\n }\n }\n }\n\n // Instead of recalculate these values on each digest,\n // values are calculated on each change concerning the table.\n // It avoids digest problems in ng-repeat.\n this.processPaginationChange();\n\n this.processTranslations();\n }\n\n processPaginationChange () {\n this.pageCount = this.getPageCount();\n this.pageRange = this.getPageRange();\n this.currentPage = this.getCurrentPage();\n }\n\n processTranslations () {\n this.translations = Object.assign({}, this.config.translations);\n this.translations.ofNResults = this.translations.ofNResults\n .replace(\"{{totalItems}}\", this.totalItems);\n this.translations.currentPageOfPageCount = this.translations.currentPageOfPageCount\n .replace(\"{{currentPage}}\", this.currentPage)\n .replace(\"{{pageCount}}\", this.pageCount);\n }\n\n getPageAriaLabel (page) {\n const pageOfPageCountText = this.config.translations.currentPageOfPageCount;\n return pageOfPageCountText\n .replace(\"{{currentPage}}\", page)\n .replace(\"{{pageCount}}\", this.pageCount);\n }\n\n onPageSizeChange (pageSize) {\n this.pageSize = pageSize;\n this.currentOffset = 1;\n\n // If page-size attribute is not set on the component (default value),\n // $onChanges is never triggered and other values are not calculated.\n // So these values have to be calculated here.\n if (!this.$attrs.pageSize) {\n this.processPaginationChange();\n }\n\n this._onChange();\n }\n\n onPageChange (page) {\n this.currentOffset = (this.pageSize * (page - 1)) + 1;\n this._onChange();\n }\n\n getLastItemOffset () {\n return Math.min(this.currentOffset + this.pageSize - 1, this.totalItems);\n }\n\n getPageCount () {\n return Math.ceil(this.totalItems / this.pageSize);\n }\n\n getCurrentPage () {\n return Math.floor((this.currentOffset - 1) / this.pageSize) + 1;\n }\n\n getPageRange () {\n return Array(...{ length: this.getPageCount() })\n .map((item, index) => index + 1);\n }\n\n _onChange () {\n this.onChange({\n $event: {\n offset: this.currentOffset,\n pageSize: this.pageSize\n }\n });\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-pagination/src/pagination.controller.js","require('../../modules/es6.string.iterator');\nrequire('../../modules/es6.array.from');\nmodule.exports = require('../../modules/_core').Array.from;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/array/from.js\n// module id = 217\n// module chunks = 0","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_string-at.js\n// module id = 218\n// module chunks = 0","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iter-create.js\n// module id = 219\n// module chunks = 0","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-dps.js\n// module id = 220\n// module chunks = 0","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_array-includes.js\n// module id = 221\n// module chunks = 0","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-absolute-index.js\n// module id = 222\n// module chunks = 0","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_html.js\n// module id = 223\n// module chunks = 0","'use strict';\nvar ctx = require('./_ctx');\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar toLength = require('./_to-length');\nvar createProperty = require('./_create-property');\nvar getIterFn = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function (iter) { Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iterFn = getIterFn(O);\n var length, result, step, iterator;\n if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for (result = new C(length); length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.array.from.js\n// module id = 224\n// module chunks = 0","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iter-call.js\n// module id = 225\n// module chunks = 0","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_is-array-iter.js\n// module id = 226\n// module chunks = 0","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_create-property.js\n// module id = 227\n// module chunks = 0","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_classof.js\n// module id = 228\n// module chunks = 0","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iter-detect.js\n// module id = 229\n// module chunks = 0","require('../../modules/es6.object.assign');\nmodule.exports = require('../../modules/_core').Object.assign;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/assign.js\n// module id = 230\n// module chunks = 0","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.assign.js\n// module id = 231\n// module chunks = 0","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n } return T;\n} : $assign;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-assign.js\n// module id = 232\n// module chunks = 0","module.exports = \"
$ctrl.pageSize\\\">
5\\\">
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-pagination/src/pagination.html\n// module id = 233\n// module chunks = 0","export default class {\n constructor () {\n this.pageSize = 25;\n this.pageSizeList = [\n 25, 50, 100, 300 // eslint-disable-line no-magic-numbers\n ];\n this.translations = {\n resultsPerPage: \"Results per page\",\n ofNResults: \"of {{totalItems}} results\",\n currentPageOfPageCount: \"Page {{currentPage}} of {{pageCount}}\",\n previousPage: \"Previous page\",\n nextPage: \"Next page\"\n };\n }\n\n /**\n * Set the default page size\n * @param {Number} pageSize the default page size\n */\n setPageSize (pageSize) {\n this.pageSize = pageSize;\n return this;\n }\n\n /**\n * Set the choices of page sizes\n * @param {Array} pageSizeList a list of page sizes\n */\n setPageSizeList (pageSizeList) {\n this.pageSizeList = pageSizeList;\n return this;\n }\n\n /**\n * Set the translations for the pagination component\n * @param {Object} translations a map of translations\n */\n setTranslations (translations) {\n this.translations = translations;\n return this;\n }\n\n $get () {\n return {\n pageSize: this.pageSize,\n pageSizeList: this.pageSizeList,\n translations: this.translations\n };\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-pagination/src/pagination.provider.js","import Cell from \"./cell/cell.component\";\nimport Datagrid from \"./datagrid.directive\";\nimport DatagridColumnBuilder from \"./datagrid-column-builder.service\";\nimport DatagridExtraTop from \"./extra-top/extra-top.component\";\nimport DatagridPaging from \"./paging/datagrid-paging.service\";\nimport DatagridParameters from \"./parameters/datagrid-parameters.component\";\nimport DatagridProvider from \"./datagrid.provider\";\nimport DatagridService from \"./datagrid.service\";\n\nangular\n .module(\"oui.datagrid\", [\n \"oui.pagination\",\n \"oui.dropdown\",\n \"oui.criteria-container\",\n \"oui.search\",\n \"ngAria\"\n ])\n .service(\"ouiDatagridColumnBuilder\", DatagridColumnBuilder)\n .directive(\"ouiDatagrid\", Datagrid)\n .component(\"ouiDatagridCell\", Cell)\n .component(\"ouiDatagridExtraTop\", DatagridExtraTop)\n .service(\"ouiDatagridPaging\", DatagridPaging)\n .provider(\"ouiDatagridConfiguration\", DatagridProvider)\n .service(\"ouiDatagridService\", DatagridService)\n .component(\"ouiDatagridParameters\", DatagridParameters);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-datagrid/src/index.js","import controller from \"./cell.controller\";\n\nexport default {\n controller,\n require: {\n datagridCtrl: \"^^ouiDatagrid\"\n },\n bindings: {\n row: \"<\",\n column: \"<\"\n }\n};\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-datagrid/src/cell/cell.component.js","export default class {\n constructor ($element) {\n \"ngInject\";\n\n this.$element = $element;\n }\n\n $postLink () {\n // The parent scope of datagrid is required to get parent\n // values inside cells\n this.cellScope = this.datagridCtrl.getParentScope().$new(false);\n\n this.$element.css(\"display\", \"block\");\n\n if (this.row && this.row.$promise) {\n this.row.$promise.finally(() => {\n this._compileCell();\n });\n } else {\n this._compileCell();\n }\n }\n\n $onChanges (changes) {\n if ((changes.row && !changes.row.isFirstChange()) ||\n (changes.column && !changes.column.isFirstChange())) {\n this._compileCell();\n }\n }\n\n _compileCell () {\n this.cellScope.$row = this.row;\n this.cellScope.$column = this.column;\n this.cellScope.$value = this.row[this.column.name];\n\n if (this.column.compiledTemplate) {\n this.column.compiledTemplate(this.cellScope, clone => {\n this.$element.empty();\n this.$element.append(clone);\n });\n } else {\n this.$element[0].innerHTML = this.cellScope.$value;\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-datagrid/src/cell/cell.controller.js","import controller from \"./datagrid.controller\";\n\nexport default () => {\n \"ngInject\";\n\n return {\n controller,\n controllerAs: \"$ctrl\",\n bindToController: true,\n scope: {\n id: \"@?\",\n columnsDescription: \" {\n // Transclude can't be used here otherwise transcluded\n // components would be compiled before we can read it.\n const htmlContent = elm.html();\n elm.empty();\n\n return (scope, elem, attrs, tableCtrl) => {\n tableCtrl.htmlContent = htmlContent;\n };\n }\n };\n};\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-datagrid/src/datagrid.directive.js","import { addBooleanParameter } from \"@oui-angular/common/component-utils\";\nimport { find } from \"lodash\";\nimport { hasProperty } from \"./util\";\n\nimport template from \"./datagrid.html\";\n\nconst cssSorted = \"oui-datagrid__cell_sorted\";\nconst cssSortable = \"oui-datagrid__header_sortable\";\nconst cssSortableAsc = \"oui-datagrid__header_sortable-asc\";\nconst cssSortableDesc = \"oui-datagrid__header_sortable-desc\";\n\n// On initial render we need to wait few seconds before calling\n// the checkScroll method otherwise panel size would be wrong.\n// This timing is not perfect, if the page render takes more time\n// than usual the scroll position could be miscalculated.\nconst checkScrollOnRefreshDataDelay = 1000;\n\nexport default class DatagridController {\n constructor ($attrs, $compile, $element, $transclude, $q, $scope, $window, $timeout,\n ouiDatagridPaging, ouiDatagridColumnBuilder, ouiDatagridConfiguration,\n ouiDatagridService) {\n \"ngInject\";\n\n this.$attrs = $attrs;\n this.$compile = $compile;\n this.$element = $element;\n this.$transclude = $transclude;\n this.$q = $q;\n this.$scope = $scope;\n this.$window = $window;\n this.$timeout = $timeout;\n this.ouiDatagridPaging = ouiDatagridPaging;\n this.ouiDatagridColumnBuilder = ouiDatagridColumnBuilder;\n this.ouiDatagridService = ouiDatagridService;\n this.columnElements = [];\n this.actionColumnElements = [];\n this.extraTopElements = [];\n\n this.config = ouiDatagridConfiguration;\n\n this.checkScroll = () => {\n const panel = this.scrollablePanel;\n const stickyBorderWidth = 10;\n\n // Ugly and not efficient way to instantly add or remove classes because\n // checkScroll is run thousands times.\n this.$scope.$apply(() => {\n if (panel.scrollWidth - panel.scrollLeft - stickyBorderWidth <= panel.clientWidth) {\n this.scrollBegin = false;\n } else {\n this.scrollBegin = true;\n }\n\n if (panel.scrollLeft <= stickyBorderWidth) {\n this.scrollEnd = false;\n } else {\n this.scrollEnd = true;\n }\n });\n };\n }\n\n $onInit () {\n this.hasActionMenu = false;\n this.scrollBegin = false;\n this.scrollEnd = false;\n this.firstLoading = true;\n this.pageSize = parseInt(this.pageSize, 10) || this.config.pageSize;\n this.filterableColumns = [];\n this.criteria = [];\n\n if (this.id) {\n this.ouiDatagridService.registerDatagrid(this);\n }\n }\n\n $postLink () {\n addBooleanParameter(this, \"customizable\");\n\n this.$compile(template)(this.$scope, (clone) => {\n this.$element.append(clone);\n });\n\n if (this.htmlContent.trim().length) {\n const originalContent = angular.element(this.htmlContent);\n this.columnElements = DatagridController.filterElements(originalContent, \"oui-column\");\n this.actionColumnElements = DatagridController.filterElements(originalContent, \"oui-action-menu\");\n this.extraTopElements = DatagridController.filterElements(originalContent, \"extra-top\");\n }\n\n const builtColumns = this.buildColumns();\n this.previousRows = angular.copy(this.rows);\n\n if (this.rowsLoader) {\n this.paging = this.ouiDatagridPaging.createRemote(this.columns, builtColumns.currentSorting, this.pageSize, this.rowLoader, this.rowsLoader);\n this.refreshData(() => this.paging.setOffset(1));\n } else {\n this.paging = this.ouiDatagridPaging.createLocal(this.columns, builtColumns.currentSorting, this.pageSize, this.rowLoader, this.rows);\n\n if (this.rows) {\n this.refreshData(() => this.paging.setRows(this.rows));\n }\n }\n\n // Manage responsiveness\n if (this.hasActionMenu || this.customizable) {\n this.scrollablePanel = this.$element[0].querySelector(\".oui-datagrid-responsive-container__overflow-container\");\n if (this.scrollablePanel) {\n angular.element(this.$window).on(\"resize\", this.checkScroll);\n angular.element(this.scrollablePanel).on(\"scroll\", this.checkScroll);\n }\n }\n\n // Manage filter configuration\n this.isSearchTextVisible = this.columns\n .filter(column => column.searchable)\n .length > 0;\n this.filterableColumns = this.columns.filter(column => column.filterable);\n }\n\n $onChanges (changes) { // eslint-disable-line\n if (changes.columnsDescription && !changes.columnsDescription.isFirstChange()) {\n this.buildColumns();\n }\n\n if (changes.columnsParameters && !changes.columnsParameters.isFirstChange()) {\n this.buildColumns();\n }\n }\n\n $doCheck () {\n // Prevent recall this if there is no page change.\n // this.paging.preventLoadingRows is true if there has been no page\n // or page size change since last call.\n if (!angular.equals(this.previousRows, this.rows) &&\n this.rows && this.paging && !this.paging.preventLoadingRows) {\n this.previousRows = angular.copy(this.rows);\n this.refreshData(() => this.paging.setRows(this.rows));\n }\n }\n\n $onDestroy () {\n if (this.hasActionMenu) {\n angular.element(this.$window).off(\"resize\", this.checkScroll);\n angular.element(this.scrollablePanel).off(\"scroll\");\n }\n\n if (this.id) {\n this.ouiDatagridService.unregisterDatagrid(this.id);\n }\n }\n\n buildColumns () {\n const builtColumns = this.columnsDescription && this.columnsDescription.length ?\n this.ouiDatagridColumnBuilder.buildFromJs(this.columnsDescription, this.getParentScope()) :\n this.ouiDatagridColumnBuilder.build(this.columnElements, this.getParentScope());\n\n if (this.actionColumnElements.length) {\n this.actionColumn = this.ouiDatagridColumnBuilder.buildActionColumn(this.actionColumnElements[0]);\n this.hasActionMenu = true;\n }\n\n if (this.extraTopElements.length) {\n this.extraTopCompiledTemplate = this.$compile(`
${this.extraTopElements[0].innerHTML}
`);\n this.hasExtraTopContent = true;\n }\n\n this.availableColumns = angular.copy(builtColumns.columns)\n .map(column => { // Override default with custom columns\n const customColumn = find(this.columnsParameters, {\n name: column.name\n });\n if (customColumn) {\n column.hidden = customColumn.hidden;\n }\n return column;\n });\n\n this.columns = this.availableColumns\n .filter(column => !column.hidden);\n\n this.columns.forEach(column => {\n if (column.title) {\n return;\n }\n\n column.disableWatcher = this.$scope.$watch(\n () => this.ouiDatagridColumnBuilder.buildTitle(column.rawTitle, this.getParentScope()),\n newTitle => {\n if (newTitle) {\n column.title = newTitle;\n column.disableWatcher();\n }\n }\n );\n });\n\n return builtColumns;\n }\n\n onColumnsChange (columns) {\n this.availableColumns = angular.copy(columns);\n this.columns = columns.filter(column => !column.hidden);\n\n const columnsParameters = this.availableColumns\n .filter(column => column.name)\n .map(column => {\n const cleanColumn = {\n name: column.name\n };\n\n if (column.hidden) {\n cleanColumn.hidden = true;\n }\n\n return cleanColumn;\n });\n\n if (this.id) {\n this.onColumnsParametersChange({\n id: this.id,\n columns: columnsParameters\n });\n }\n }\n\n getParentScope () {\n return this.$scope.$parent;\n }\n\n hasProperty (obj, prop) { // eslint-disable-line\n if (!obj) {\n return false;\n }\n\n return hasProperty(obj, prop);\n }\n\n onCriteriaChange (criteria) {\n this.criteria = criteria; // with preview criteria\n this.appliedCriteria = this.criteria\n .filter(criterion => !criterion.preview);\n this.refreshData(() => {\n this.paging.setOffset(1);\n this.paging.setCriteria(criteria);\n }, false, false);\n }\n\n onPaginationChange ($event) {\n this.refreshData(() => {\n this.paging.setOffset($event.offset);\n this.paging.setPageSize($event.pageSize);\n }, true, true);\n }\n\n scrollToTop () {\n // Small delay otherwise rows could not be rendered\n // yet and position would be wrong\n this.$timeout(() => {\n this.$element[0].scrollIntoView(true);\n });\n }\n\n refreshData (callback, skipSortAndFilter, requireScrollToTop, hideLoader, forceLoadRows) {\n if (this.loading) {\n return this.$q.when();\n }\n\n if (!hideLoader) {\n this.loading = true;\n this.displayedRows = DatagridController.createEmptyRows(this.paging.getCurrentPageSize());\n }\n\n this.refreshDatagridPromise = this.$q.when((callback || angular.noop)())\n .then(() => this.paging.loadData(skipSortAndFilter, forceLoadRows))\n .then(result => {\n this.displayedRows = result.data;\n if (requireScrollToTop) {\n this.scrollToTop();\n }\n if (this.hasActionMenu) {\n setTimeout(() => this.checkScroll(), checkScrollOnRefreshDataDelay);\n }\n })\n .finally(() => {\n this.loading = false;\n this.firstLoading = false;\n this.refreshDatagridPromise = null;\n });\n\n return this.refreshDatagridPromise;\n }\n\n sort (column) {\n if (!column || !column.sortable) {\n return;\n }\n\n this.refreshData(() => this.paging.setSort(column.name));\n }\n\n getSortableClasses (column) {\n if (column.name !== this.paging.getSortColumnName()) {\n return {\n [cssSortable]: !!column.sortable\n };\n }\n return {\n [cssSortable]: !!column.sortable,\n [cssSorted]: true,\n [cssSortableAsc]: this.paging.isSortAsc(),\n [cssSortableDesc]: this.paging.isSortDesc()\n };\n }\n\n static createEmptyRows (pageSize) {\n return Array(...{ length: pageSize })\n .map(() => undefined);\n }\n\n static filterElements (elements, tagName) {\n const tagNameUpper = tagName.toUpperCase();\n const filteredElements = [];\n\n angular.forEach(elements, element => {\n if (element.tagName === tagNameUpper) {\n filteredElements.push(element);\n }\n });\n\n return filteredElements;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-datagrid/src/datagrid.controller.js","\"use strict\";\n\nexports.__esModule = true;\n\nvar _defineProperty = require(\"../core-js/object/define-property\");\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (obj, key, value) {\n if (key in obj) {\n (0, _defineProperty2.default)(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/helpers/defineProperty.js\n// module id = 240\n// module chunks = 0","var baseIteratee = require('./_baseIteratee'),\n isArrayLike = require('./isArrayLike'),\n keys = require('./keys');\n\n/**\n * Creates a `_.find` or `_.findLast` function.\n *\n * @private\n * @param {Function} findIndexFunc The function to find the collection index.\n * @returns {Function} Returns the new find function.\n */\nfunction createFind(findIndexFunc) {\n return function(collection, predicate, fromIndex) {\n var iterable = Object(collection);\n if (!isArrayLike(collection)) {\n var iteratee = baseIteratee(predicate, 3);\n collection = keys(collection);\n predicate = function(key) { return iteratee(iterable[key], key, iterable); };\n }\n var index = findIndexFunc(collection, predicate, fromIndex);\n return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined;\n };\n}\n\nmodule.exports = createFind;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_createFind.js\n// module id = 241\n// module chunks = 0","var baseIsMatch = require('./_baseIsMatch'),\n getMatchData = require('./_getMatchData'),\n matchesStrictComparable = require('./_matchesStrictComparable');\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n\nmodule.exports = baseMatches;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseMatches.js\n// module id = 242\n// module chunks = 0","var Stack = require('./_Stack'),\n baseIsEqual = require('./_baseIsEqual');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\nmodule.exports = baseIsMatch;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseIsMatch.js\n// module id = 243\n// module chunks = 0","var Stack = require('./_Stack'),\n equalArrays = require('./_equalArrays'),\n equalByTag = require('./_equalByTag'),\n equalObjects = require('./_equalObjects'),\n getTag = require('./_getTag'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isTypedArray = require('./isTypedArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nmodule.exports = baseIsEqualDeep;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseIsEqualDeep.js\n// module id = 244\n// module chunks = 0","var SetCache = require('./_SetCache'),\n arraySome = require('./_arraySome'),\n cacheHas = require('./_cacheHas');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalArrays;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_equalArrays.js\n// module id = 245\n// module chunks = 0","var isArray = require('./isArray');\n\n/**\n * Casts `value` as an array if it's not one.\n *\n * @static\n * @memberOf _\n * @since 4.4.0\n * @category Lang\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast array.\n * @example\n *\n * _.castArray(1);\n * // => [1]\n *\n * _.castArray({ 'a': 1 });\n * // => [{ 'a': 1 }]\n *\n * _.castArray('abc');\n * // => ['abc']\n *\n * _.castArray(null);\n * // => [null]\n *\n * _.castArray(undefined);\n * // => [undefined]\n *\n * _.castArray();\n * // => []\n *\n * var array = [1, 2, 3];\n * console.log(_.castArray(array) === array);\n * // => true\n */\nfunction castArray() {\n if (!arguments.length) {\n return [];\n }\n var value = arguments[0];\n return isArray(value) ? value : [value];\n}\n\nmodule.exports = castArray;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_SetCache.js\n// module id = 246\n// module chunks = 0","/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_arraySome.js\n// module id = 247\n// module chunks = 0","var baseIndexOf = require('./_baseIndexOf');\n\n/**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludes(array, value) {\n var length = array == null ? 0 : array.length;\n return !!length && baseIndexOf(array, value, 0) > -1;\n}\n\nmodule.exports = arrayIncludes;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_cacheHas.js\n// module id = 248\n// module chunks = 0","/**\n * A specialized version of `_.indexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction strictIndexOf(array, value, fromIndex) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = strictIndexOf;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseIndexOf.js\n// module id = 249\n// module chunks = 0","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_equalByTag.js\n// module id = 250\n// module chunks = 0","var getAllKeys = require('./_getAllKeys');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalObjects;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_equalObjects.js\n// module id = 251\n// module chunks = 0","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_getAllKeys.js\n// module id = 252\n// module chunks = 0","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_getTag.js\n// module id = 253\n// module chunks = 0","var isStrictComparable = require('./_isStrictComparable'),\n keys = require('./keys');\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\n\nmodule.exports = getMatchData;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_getMatchData.js\n// module id = 254\n// module chunks = 0","var baseIsEqual = require('./_baseIsEqual'),\n get = require('./get'),\n hasIn = require('./hasIn'),\n isKey = require('./_isKey'),\n isStrictComparable = require('./_isStrictComparable'),\n matchesStrictComparable = require('./_matchesStrictComparable'),\n toKey = require('./_toKey');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n };\n}\n\nmodule.exports = baseMatchesProperty;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseMatchesProperty.js\n// module id = 255\n// module chunks = 0","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/isSymbol.js\n// module id = 256\n// module chunks = 0","var memoizeCapped = require('./_memoizeCapped');\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nmodule.exports = stringToPath;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_stringToPath.js\n// module id = 257\n// module chunks = 0","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_memoizeCapped.js\n// module id = 258\n// module chunks = 0","var baseHasIn = require('./_baseHasIn'),\n hasPath = require('./_hasPath');\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\n\nmodule.exports = hasIn;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/hasIn.js\n// module id = 259\n// module chunks = 0","/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\nmodule.exports = baseHasIn;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseHasIn.js\n// module id = 260\n// module chunks = 0","var castPath = require('./_castPath'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isIndex = require('./_isIndex'),\n isLength = require('./isLength'),\n toKey = require('./_toKey');\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\nmodule.exports = hasPath;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_hasPath.js\n// module id = 261\n// module chunks = 0","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_isIndex.js\n// module id = 262\n// module chunks = 0","var baseProperty = require('./_baseProperty'),\n basePropertyDeep = require('./_basePropertyDeep'),\n isKey = require('./_isKey'),\n toKey = require('./_toKey');\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nmodule.exports = property;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/property.js\n// module id = 263\n// module chunks = 0","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseProperty.js\n// module id = 264\n// module chunks = 0","var baseGet = require('./_baseGet');\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\nmodule.exports = basePropertyDeep;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_basePropertyDeep.js\n// module id = 265\n// module chunks = 0","/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = baseFindIndex;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseFindIndex.js\n// module id = 266\n// module chunks = 0","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-datagrid/src/datagrid.html\n// module id = 267\n// module chunks = 0","import { getAttribute, hasAttribute } from \"@oui-angular/common/component-utils\";\n\nconst copyValueProperties = [\"hidden\", \"title\", \"type\", \"type-options\"];\nconst searchableTypes = [\"string\"];\nconst filterableTypes = [\n \"boolean\",\n \"date\",\n \"number\",\n \"options\",\n \"string\"\n];\n\nexport default class DatagridColumnBuilder {\n constructor ($parse, $compile) {\n \"ngInject\";\n\n this.$parse = $parse;\n this.$compile = $compile;\n }\n\n build (columnElements, $scope) {\n const columns = [];\n const currentSorting = {\n columnName: undefined,\n dir: 0\n };\n\n angular.forEach(columnElements, columnElement => {\n const column = {};\n\n if (hasAttribute(columnElement, \"name\")) {\n column.name = getAttribute(columnElement, \"name\");\n }\n\n if (hasAttribute(columnElement, \"property\")) {\n const propertyValue = getAttribute(columnElement, \"property\");\n\n column.name = column.name || propertyValue;\n column.getValue = this.$parse(propertyValue);\n\n // A column can be sorted only if it has a \"property\" attribute.\n if (hasAttribute(columnElement, \"sortable\")) {\n const sortableValue = getAttribute(columnElement, \"sortable\");\n column.sortable = !!sortableValue;\n Object.assign(currentSorting, DatagridColumnBuilder.defineDefaultSorting(column, sortableValue));\n }\n }\n\n copyValueProperties.forEach(propertyName => {\n if (hasAttribute(columnElement, propertyName)) {\n column[propertyName] = getAttribute(columnElement, propertyName);\n }\n });\n\n column.filterable = DatagridColumnBuilder.isFilterable(column) &&\n hasAttribute(columnElement, \"filterable\");\n column.searchable = DatagridColumnBuilder.isSearchable(column) &&\n hasAttribute(columnElement, \"searchable\");\n\n if (column[\"type-options\"]) {\n column.typeOptions = this.$parse(column[\"type-options\"])($scope);\n }\n\n if (hasAttribute(columnElement, \"prevent-customization\")) {\n column.preventCustomization = true;\n }\n\n if (hasAttribute(columnElement, \"hidden\")) {\n column.hidden = true;\n }\n\n if (hasAttribute(columnElement, \"title\")) {\n const titleValue = getAttribute(columnElement, \"title\");\n\n column.title = this.buildTitle(titleValue, $scope);\n column.rawTitle = titleValue;\n }\n\n if (!column.sortProperty) {\n column.sortProperty = column.name;\n }\n\n const htmlTemplate = columnElement.innerHTML.trim();\n if (!column.template && htmlTemplate.length) {\n column.template = htmlTemplate;\n }\n\n if (column.template) {\n column.compiledTemplate = this._getColumnTemplate(column);\n }\n\n columns.push(column);\n });\n\n return {\n columns,\n currentSorting\n };\n }\n\n buildFromJs (columnsDescription) {\n const columns = [];\n const currentSorting = {\n columnName: undefined,\n dir: 0\n };\n\n angular.forEach(columnsDescription, columnDescription => {\n const column = {};\n\n column.name = columnDescription.name;\n\n const propertyValue = columnDescription.property;\n if (propertyValue) {\n column.name = column.name || propertyValue;\n column.getValue = this.$parse(propertyValue);\n\n // A column can be sorted only if it has a \"property\" attribute.\n const sortableValue = columnDescription.sortable;\n if (columnDescription.sortable) {\n column.sortable = !!sortableValue;\n Object.assign(currentSorting, DatagridColumnBuilder.defineDefaultSorting(column, sortableValue));\n }\n }\n\n copyValueProperties.forEach(propertyName => {\n column[propertyName] = columnDescription[propertyName];\n });\n\n column.filterable = DatagridColumnBuilder.isFilterable(column) &&\n columnDescription.filterable;\n column.searchable = DatagridColumnBuilder.isSearchable(column) &&\n columnDescription.searchable;\n\n\n if (columnDescription.typeOptions) {\n column.typeOptions = columnDescription.typeOptions;\n }\n\n column.preventCustomization = columnDescription.preventCustomization;\n\n column.title = columnDescription.title;\n\n if (!column.sortProperty) {\n column.sortProperty = column.name;\n }\n\n const htmlTemplate = columnDescription.template ? columnDescription.template.trim() : \"\";\n column.template = htmlTemplate;\n\n if (column.template && column.template !== \"\") {\n column.compiledTemplate = this._getColumnTemplate(column);\n }\n\n columns.push(column);\n });\n\n return {\n columns,\n currentSorting\n };\n }\n\n buildTitle (titleValue, $scope) {\n return this.$parse(titleValue)($scope);\n }\n\n buildActionColumn (actionColumnElement) {\n const column = {\n template: actionColumnElement.outerHTML\n };\n column.compiledTemplate = this._getColumnTemplate(column);\n column.alwaysVisible = true;\n return column;\n }\n\n static defineDefaultSorting (column, sortableValue) {\n column.sortable = sortableValue !== undefined;\n\n if (sortableValue && sortableValue.length) {\n column.defaultSortDir = sortableValue === \"asc\" ? 1 : -1;\n return {\n columnName: column.name,\n dir: column.defaultSortDir\n };\n }\n\n return {};\n }\n\n static isSearchable (column) {\n return searchableTypes.indexOf(column.type) > -1;\n }\n\n static isFilterable (column) {\n return filterableTypes.indexOf(column.type) > -1;\n }\n\n _getColumnTemplate (column) {\n if (!column.compiledTemplate) {\n column.compiledTemplate = this.$compile(`
${column.template}
`);\n }\n return column.compiledTemplate;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-datagrid/src/datagrid-column-builder.service.js","import controller from \"./extra-top.controller\";\n\nexport default {\n controller,\n require: {\n datagridCtrl: \"^^ouiDatagrid\"\n }\n};\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-datagrid/src/extra-top/extra-top.component.js","export default class {\n constructor ($element) {\n \"ngInject\";\n\n this.$element = $element;\n }\n\n $postLink () {\n this.extraTopScope = this.datagridCtrl.getParentScope().$new(false);\n this._compileElement();\n }\n\n _compileElement () {\n this.datagridCtrl.extraTopCompiledTemplate(this.extraTopScope, clone => {\n this.$element.empty();\n this.$element.append(clone);\n });\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-datagrid/src/extra-top/extra-top.controller.js","import DatagridLocalPaging from \"./datagrid-local-paging\";\nimport DatagridRemotePaging from \"./datagrid-remote-paging\";\n\nexport default class {\n constructor ($q, $timeout, orderByFilter) {\n \"ngInject\";\n\n this.$q = $q;\n this.$timeout = $timeout;\n this.orderByFilter = orderByFilter;\n }\n\n createLocal (columns, sorting, pageSize, rowLoader, rows) {\n return new DatagridLocalPaging(columns, sorting, pageSize, rowLoader, this, rows);\n }\n\n createRemote (columns, sorting, pageSize, rowLoader, rowsLoader) {\n return new DatagridRemotePaging(columns, sorting, pageSize, rowLoader, this, rowsLoader);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-datagrid/src/paging/datagrid-paging.service.js","import DatagridPagingAbstract from \"./datagrid-paging-abstract\";\nimport Filter from \"../filter/filter\";\n\nexport default class DatagridLocalPaging extends DatagridPagingAbstract {\n constructor (columns, currentSorting, pageSize, rowLoader, pagingService, rows) {\n super(columns, currentSorting, pageSize, rowLoader, pagingService);\n\n this.setRows(rows);\n }\n\n setRows (rows) {\n // Keep pristine rows to force reload if necessary.\n this.rows = angular.copy(rows);\n\n // Work with cachedRows.\n // Copied to not trigger reload in $doCheck.\n this.cachedRows = angular.copy(rows);\n\n this.totalCount = rows ? rows.length : 0;\n }\n\n loadData (skipSortAndFilter, forceLoadRows) {\n // Reset rows.\n if (forceLoadRows) {\n this.cachedRows = angular.copy(this.rows);\n }\n\n if (!skipSortAndFilter || forceLoadRows) {\n this._filter();\n this._sort();\n }\n\n return this.$q.when({\n data: this.sortedRows.slice(this.offset - 1, this.offset - 1 + this.pageSize),\n meta: {\n pageCount: Math.ceil(this.sortedRows.length / this.pageSize),\n totalCount: this.sortedRows.length\n }\n })\n .then(result => this.loadRows(result));\n }\n\n loadRows (pageResult) {\n this.preventLoadingRows = true;\n this.loadRowsData(pageResult.data)\n .finally(() => {\n // Delay the change of the value to prevent $doCheck of DatagridController\n // calling refreshData for the last update.\n this.$timeout(() => {\n this.preventLoadingRows = false;\n });\n });\n this.totalCount = pageResult.meta.totalCount;\n\n return pageResult;\n }\n\n _filter () {\n const filter = new Filter(this.criteria, this.columns);\n this.filteredRows = filter.applyFilter(this.cachedRows);\n }\n\n _sort () {\n const sortConfiguration = this.getSortingConfiguration();\n this.sortedRows = this.orderByFilter(this.filteredRows, sortConfiguration.property, sortConfiguration.dir < 0);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-datagrid/src/paging/datagrid-local-paging.js","require('../../modules/es6.object.get-prototype-of');\nmodule.exports = require('../../modules/_core').Object.getPrototypeOf;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/get-prototype-of.js\n// module id = 273\n// module chunks = 0","// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = require('./_to-object');\nvar $getPrototypeOf = require('./_object-gpo');\n\nrequire('./_object-sap')('getPrototypeOf', function () {\n return function getPrototypeOf(it) {\n return $getPrototypeOf(toObject(it));\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.get-prototype-of.js\n// module id = 274\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/symbol/iterator\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/symbol/iterator.js\n// module id = 275\n// module chunks = 0","require('../../modules/es6.string.iterator');\nrequire('../../modules/web.dom.iterable');\nmodule.exports = require('../../modules/_wks-ext').f('iterator');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/symbol/iterator.js\n// module id = 276\n// module chunks = 0","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.array.iterator.js\n// module id = 277\n// module chunks = 0","module.exports = function () { /* empty */ };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_add-to-unscopables.js\n// module id = 278\n// module chunks = 0","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iter-step.js\n// module id = 279\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/symbol\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/symbol.js\n// module id = 280\n// module chunks = 0","require('../../modules/es6.symbol');\nrequire('../../modules/es6.object.to-string');\nrequire('../../modules/es7.symbol.async-iterator');\nrequire('../../modules/es7.symbol.observable');\nmodule.exports = require('../../modules/_core').Symbol;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/symbol/index.js\n// module id = 281\n// module chunks = 0","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n require('./_object-gops').f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !require('./_library')) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.symbol.js\n// module id = 282\n// module chunks = 0","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_meta.js\n// module id = 283\n// module chunks = 0","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_enum-keys.js\n// module id = 284\n// module chunks = 0","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_is-array.js\n// module id = 285\n// module chunks = 0","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-gopn-ext.js\n// module id = 286\n// module chunks = 0","require('./_wks-define')('asyncIterator');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es7.symbol.async-iterator.js\n// module id = 288\n// module chunks = 0","require('./_wks-define')('observable');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es7.symbol.observable.js\n// module id = 289\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/set-prototype-of\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/set-prototype-of.js\n// module id = 290\n// module chunks = 0","require('../../modules/es6.object.set-prototype-of');\nmodule.exports = require('../../modules/_core').Object.setPrototypeOf;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/set-prototype-of.js\n// module id = 291\n// module chunks = 0","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', { setPrototypeOf: require('./_set-proto').set });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.set-prototype-of.js\n// module id = 292\n// module chunks = 0","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) { buggy = true; }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_set-proto.js\n// module id = 293\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/create\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/create.js\n// module id = 294\n// module chunks = 0","require('../../modules/es6.object.create');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function create(P, D) {\n return $Object.create(P, D);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/create.js\n// module id = 295\n// module chunks = 0","var $export = require('./_export');\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', { create: require('./_object-create') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.create.js\n// module id = 296\n// module chunks = 0","import { find, get } from \"lodash\";\nimport ComparatorResolver from \"./comparator-resolver\";\nimport StringComparators from \"./string\";\n\nexport default class Filter {\n constructor (criteria, columns) {\n this.criteria = criteria;\n this.columns = columns;\n this.searchableColumns = this._getSearchableColumns();\n }\n\n /**\n * Apply all filter criteria on a collection.\n *\n * @param {Array} collection input array\n * @return {Array} output array\n */\n applyFilter (collection) {\n let filtered = collection;\n this.criteria.forEach(criterion => {\n filtered = this.applyCriteria(filtered, criterion);\n });\n return filtered;\n }\n\n /**\n * Apply a criterion on a collection.\n *\n * @param {Array} collection input array\n * @param {Object} criterion a criterion object\n * @return {Array} output array\n */\n applyCriteria (collection, criterion) {\n // Text search\n if (criterion.property === null && criterion.operator === \"contains\") {\n return collection.filter(item => this.itemContainsText(item, criterion.value));\n }\n\n const propertyMeta = find(this.columns, [\"name\", criterion.property]);\n\n if (!propertyMeta) {\n return collection;\n }\n\n const comparatorFn = ComparatorResolver.resolveComparator(criterion, propertyMeta.type);\n\n if (!criterion.property ||\n !criterion.operator ||\n criterion.value === undefined ||\n !propertyMeta.type ||\n !comparatorFn) {\n return collection;\n }\n\n return collection.filter(item => {\n const subject = get(item, criterion.property);\n return comparatorFn(subject, criterion.value);\n });\n }\n\n /**\n * Find a text in a string.\n *\n * @param {Object} item subject of search\n * @param {String} text text to search\n * @return {Boolean} true if text has been found in item\n */\n itemContainsText (item, text) {\n return this.searchableColumns\n .reduce((aggregator, name) => {\n const value = get(item, name);\n return aggregator || StringComparators.contains(value, text);\n }, false);\n }\n\n _getSearchableColumns () {\n return this.columns\n .filter(column => column.searchable)\n .map(column => column.name);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-datagrid/src/filter/filter.js","import { endsWith, negate } from \"lodash\";\nimport BasicComparators from \"./basic\";\nimport DateComparators from \"./date\";\nimport NumberComparators from \"./number\";\nimport StringComparators from \"./string\";\n\nconst comparators = {\n \"boolean\": BasicComparators,\n date: DateComparators,\n number: NumberComparators,\n options: BasicComparators,\n string: StringComparators\n};\n\nexport default class ComparatorResolver {\n static resolveComparator (criterion, type) {\n const baseOperator = criterion.operator.replace(/Not$/, \"\");\n const negated = endsWith(criterion.operator, \"Not\");\n const comparator = comparators[type] ? comparators[type][baseOperator] : null;\n return comparator && negated ? negate(comparator) : comparator;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-datagrid/src/filter/comparator-resolver.js","/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that negates the result of the predicate `func`. The\n * `func` predicate is invoked with the `this` binding and arguments of the\n * created function.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} predicate The predicate to negate.\n * @returns {Function} Returns the new negated function.\n * @example\n *\n * function isEven(n) {\n * return n % 2 == 0;\n * }\n *\n * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven));\n * // => [1, 3, 5]\n */\nfunction negate(predicate) {\n if (typeof predicate != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n return function() {\n var args = arguments;\n switch (args.length) {\n case 0: return !predicate.call(this);\n case 1: return !predicate.call(this, args[0]);\n case 2: return !predicate.call(this, args[0], args[1]);\n case 3: return !predicate.call(this, args[0], args[1], args[2]);\n }\n return !predicate.apply(this, args);\n };\n}\n\nmodule.exports = negate;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/negate.js\n// module id = 299\n// module chunks = 0","var baseClamp = require('./_baseClamp'),\n baseToString = require('./_baseToString'),\n toInteger = require('./toInteger'),\n toString = require('./toString');\n\n/**\n * Checks if `string` ends with the given target string.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to inspect.\n * @param {string} [target] The string to search for.\n * @param {number} [position=string.length] The position to search up to.\n * @returns {boolean} Returns `true` if `string` ends with `target`,\n * else `false`.\n * @example\n *\n * _.endsWith('abc', 'c');\n * // => true\n *\n * _.endsWith('abc', 'b');\n * // => false\n *\n * _.endsWith('abc', 'b', 2);\n * // => true\n */\nfunction endsWith(string, target, position) {\n string = toString(string);\n target = baseToString(target);\n\n var length = string.length;\n position = position === undefined\n ? length\n : baseClamp(toInteger(position), 0, length);\n\n var end = position;\n position -= target.length;\n return position >= 0 && string.slice(position, end) == target;\n}\n\nmodule.exports = endsWith;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/endsWith.js\n// module id = 300\n// module chunks = 0","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseToString.js\n// module id = 301\n// module chunks = 0","export default class BooleanComparators {\n static is (subject, value) {\n return subject === value;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-datagrid/src/filter/basic.js","import { isDate, isNaN } from \"lodash\";\n\nexport default class DateComparators {\n static is (subject, value) {\n return DateComparators.transformDate(subject) === value;\n }\n\n static isBefore (subject, value) {\n return DateComparators.transformDate(subject) < value;\n }\n\n static isAfter (subject, value) {\n return DateComparators.transformDate(subject) > value;\n }\n\n static normalizeDate (date) {\n let daydate = date.getDate();\n let month = date.getMonth() + 1;\n\n if (daydate < 10) { // eslint-disable-line no-magic-numbers\n daydate = `0${daydate}`;\n }\n\n if (month < 10) { // eslint-disable-line no-magic-numbers\n month = `0${month}`;\n }\n\n return `${date.getFullYear()}-${month}-${daydate}`;\n }\n\n static transformDate (rawDate) {\n let date = rawDate;\n\n if (!isDate(date)) {\n date = new Date(date);\n if (isNaN(date.valueOf())) {\n throw new Error(`ovh-ui-angular: date ${rawDate} cannot be parsed.`);\n }\n }\n\n return DateComparators.normalizeDate(date);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-datagrid/src/filter/date.js","var isNumber = require('./isNumber');\n\n/**\n * Checks if `value` is `NaN`.\n *\n * **Note:** This method is based on\n * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as\n * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for\n * `undefined` and other non-number values.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n * @example\n *\n * _.isNaN(NaN);\n * // => true\n *\n * _.isNaN(new Number(NaN));\n * // => true\n *\n * isNaN(undefined);\n * // => true\n *\n * _.isNaN(undefined);\n * // => false\n */\nfunction isNaN(value) {\n // An `NaN` primitive is the only value that is not equal to itself.\n // Perform the `toStringTag` check first to avoid errors with some\n // ActiveX objects in IE.\n return isNumber(value) && value != +value;\n}\n\nmodule.exports = isNaN;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/isNaN.js\n// module id = 304\n// module chunks = 0","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar numberTag = '[object Number]';\n\n/**\n * Checks if `value` is classified as a `Number` primitive or object.\n *\n * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are\n * classified as numbers, use the `_.isFinite` method.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a number, else `false`.\n * @example\n *\n * _.isNumber(3);\n * // => true\n *\n * _.isNumber(Number.MIN_VALUE);\n * // => true\n *\n * _.isNumber(Infinity);\n * // => true\n *\n * _.isNumber('3');\n * // => false\n */\nfunction isNumber(value) {\n return typeof value == 'number' ||\n (isObjectLike(value) && baseGetTag(value) == numberTag);\n}\n\nmodule.exports = isNumber;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/isNumber.js\n// module id = 305\n// module chunks = 0","var baseIsDate = require('./_baseIsDate'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsDate = nodeUtil && nodeUtil.isDate;\n\n/**\n * Checks if `value` is classified as a `Date` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\n * @example\n *\n * _.isDate(new Date);\n * // => true\n *\n * _.isDate('Mon April 23 2012');\n * // => false\n */\nvar isDate = nodeIsDate ? baseUnary(nodeIsDate) : baseIsDate;\n\nmodule.exports = isDate;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/isDate.js\n// module id = 306\n// module chunks = 0","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar dateTag = '[object Date]';\n\n/**\n * The base implementation of `_.isDate` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\n */\nfunction baseIsDate(value) {\n return isObjectLike(value) && baseGetTag(value) == dateTag;\n}\n\nmodule.exports = baseIsDate;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseIsDate.js\n// module id = 307\n// module chunks = 0","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseUnary.js\n// module id = 308\n// module chunks = 0","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_nodeUtil.js\n// module id = 309\n// module chunks = 0","export default class NumberComparators {\n static is (subject, value) {\n return subject === value;\n }\n\n static smaller (subject, value) {\n return subject < value;\n }\n\n static bigger (subject, value) {\n return subject > value;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-datagrid/src/filter/number.js","'use strict';\n\nvar matchOperatorsRe = /[|\\\\{}()[\\]^$+*?.]/g;\n\nmodule.exports = function (str) {\n\tif (typeof str !== 'string') {\n\t\tthrow new TypeError('Expected a string');\n\t}\n\n\treturn str.replace(matchOperatorsRe, '\\\\$&');\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/escape-string-regexp/index.js\n// module id = 311\n// module chunks = 0","import DatagridPagingAbstract from \"./datagrid-paging-abstract\";\n\nexport default class DatagridRemotePaging extends DatagridPagingAbstract {\n constructor (columns, currentSorting, pageSize, rowLoader, pagingService, rowsLoader) {\n super(columns, currentSorting, pageSize, rowLoader, pagingService);\n\n this.rowsLoader = rowsLoader;\n }\n\n loadData (skipSort) {\n return this.rowsLoader({\n $config: Object.assign({\n offset: this.offset,\n pageSize: this.pageSize,\n sort: this.getSortingConfiguration(),\n criteria: this.criteria\n }, {\n skipSort\n })\n })\n .then(result => this.loadRows(result));\n }\n\n loadRows (pageResult) {\n this.loadRowsData(pageResult.data);\n this.totalCount = pageResult.meta.totalCount;\n\n return pageResult;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-datagrid/src/paging/datagrid-remote-paging.js","import controller from \"./datagrid-parameters.controller\";\nimport template from \"./datagrid-parameters.html\";\n\nexport default {\n bindings: {\n columns: \"<\",\n onChange: \"&\"\n },\n controller,\n template\n};\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-datagrid/src/parameters/datagrid-parameters.component.js","export default class DatagridParametersController {\n constructor ($element, $timeout) {\n \"ngInject\";\n\n this.$element = $element;\n this.$timeout = $timeout;\n }\n\n $onChanges () {\n this.computeColumns();\n }\n\n $postLink () {\n this.$timeout(() => {\n this.$element.addClass(\"oui-datagrid-parameters\");\n });\n }\n\n computeColumns () {\n this.customizedColumns = angular.copy(this.columns)\n .map(column => {\n column.visible = !column.hidden;\n return column;\n });\n }\n\n onColumnChange (columnIndex, isVisible) {\n this.changedColumns = angular.copy(this.customizedColumns);\n this.changedColumns.forEach((column, index) => {\n if (index === columnIndex) {\n column.hidden = !isVisible;\n }\n delete column.visible;\n });\n this.onChange({ columns: this.changedColumns });\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-datagrid/src/parameters/datagrid-parameters.controller.js","module.exports = \"
Columns Display
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-datagrid/src/parameters/datagrid-parameters.html\n// module id = 315\n// module chunks = 0","export default class {\n constructor () {\n this.pageSize = 25;\n this.translations = {\n emptyPlaceholder: \"No data available\"\n };\n }\n\n /**\n * Set the default page size\n * @param {Number} pageSize the default page size\n */\n setPageSize (pageSize) {\n this.pageSize = pageSize;\n return this;\n }\n\n /**\n * Set the translations for the datagrid component\n * @param {Object} translations a map of translations\n */\n setTranslations (translations) {\n this.translations = translations;\n return this;\n }\n\n $get () {\n return {\n pageSize: this.pageSize,\n translations: this.translations\n };\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-datagrid/src/datagrid.provider.js","export default class DatagridService {\n constructor () {\n this.datagrids = {};\n }\n\n registerDatagrid (datagridController) {\n const datagridId = datagridController.id;\n\n if (this.datagrids[datagridId]) {\n throw new Error(`Duplicated datagrid: id=\"${datagridId}\".`);\n }\n\n if (datagridId) {\n this.datagrids[datagridId] = datagridController;\n }\n }\n\n unregisterDatagrid (datagridId) {\n delete this.datagrids[datagridId];\n }\n\n /**\n * Refresh the content of a datagrid that has a specific `id`.\n * @param string datagridId the `id` of the datagrid\n * @param boolean showSpinner if you want to show the spinner while `rows-loader` is executed (like a first load)\n */\n refresh (datagridId, showSpinner) {\n const datagridController = this.datagrids[datagridId];\n\n if (datagridController) {\n datagridController.refreshData(false, false, false, !showSpinner, true);\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-datagrid/src/datagrid.service.js","import KEYBOARD_KEYS from \"./keyboard-keys.constant\";\nimport Navbar from \"./navbar.component\";\nimport NavbarConfigurationProvider from \"./navbar.provider.js\";\nimport NavbarGroup from \"./group/navbar-group.directive\";\nimport NavbarGroupService from \"./group/navbar-group.service\";\nimport NavbarMenu from \"./menu/navbar-menu.component\";\nimport NavbarService from \"./navbar.service\";\n\nangular\n .module(\"oui.navbar\", [\n \"ngAria\",\n \"ngSanitize\"\n ])\n .constant(\"KEYBOARD_KEYS\", KEYBOARD_KEYS)\n .component(\"ouiNavbar\", Navbar)\n .directive(\"ouiNavbarGroup\", NavbarGroup)\n .component(\"ouiNavbarMenu\", NavbarMenu)\n .provider(\"ouiNavbarConfiguration\", NavbarConfigurationProvider)\n .service(\"NavbarService\", NavbarService)\n .service(\"NavbarGroupService\", NavbarGroupService);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-navbar/src/index.js","export default {\n ALT: 9,\n TAB: 16,\n ESC: 27\n};\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-navbar/src/keyboard-keys.constant.js","import controller from \"./navbar.controller\";\nimport template from \"./navbar.html\";\n\nexport default {\n bindings: {\n brand: \" {\n // Add Classname on root element\n this.$element.addClass(\"oui-navbar\");\n if (this.fixed) {\n this.$element.addClass(\"oui-navbar_fixed\");\n }\n\n // Add \"role\" attribute for accessibility\n this.$element.attr(\"role\", \"navigation\");\n\n // Close navbar menu on document click, only if a menu is open\n this.$document.on(\"click\", () => {\n if (this.navigation) {\n this.$timeout(() => this.toggleMenu());\n }\n });\n\n // Avoid click propagation on $element\n this.$element.on(\"click\", (e) => {\n e.stopPropagation();\n });\n\n // Support keyboard\n this.$document.on(\"keydown\", (e) => {\n // ESC to close menu\n if (this.navigation && e.which === this.KEYBOARD_KEYS.ESC) {\n this.$timeout(() => this.toggleMenu());\n }\n });\n });\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-navbar/src/navbar.controller.js","module.exports = \" \";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-navbar/src/navbar.html\n// module id = 322\n// module chunks = 0","export default class {\n constructor () {\n this.translations = {\n notification: {\n errorInNotification: \"Oups, there’s an error!\",\n errorInNotificationDescription: \"We can’t initialize the menu.\",\n markRead: \"Mark as read\",\n markUnread: \"Mark as unread\",\n noNotification: \"You are all caught up!\",\n noNotificationDescription: \"You don't have any notification.\"\n }\n };\n }\n\n /**\n * Set the translations for the navbar component\n * @param {Object} translations a map of translations\n */\n setTranslations (translations) {\n this.translations = translations;\n return this;\n }\n\n $get () {\n return {\n translations: this.translations\n };\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-navbar/src/navbar.provider.js","import controller from \"./navbar-group.controller\";\n\nexport default () => ({\n restrict: \"A\",\n bindToController: {\n groupName: \"@ouiNavbarGroup\",\n isLast: \" {\n let index = groupIndex;\n keys[e.which] = true;\n\n if (keys[this.KEYBOARD_KEYS.ALT] && !keys[this.KEYBOARD_KEYS.TAB]) {\n // Move Down\n index = index >= lastIndex ? 0 : index + 1;\n } else if (keys[this.KEYBOARD_KEYS.ALT] && keys[this.KEYBOARD_KEYS.TAB]) {\n // Move Up\n index = index <= 0 ? lastIndex : index - 1;\n }\n\n // Check if element is visible\n if (tabbableItems[index].clientHeight) {\n tabbableItems[index].focus();\n } else {\n focusElement(e, index);\n }\n };\n\n angular.element(tabbableItems)\n .on(\"keydown\", (e) => {\n if (keysRegex.test(e.which) && this.navbarService.isOpen(groupName)) {\n e.preventDefault();\n focusElement(e, this.keyboardNav[groupName].indexOf(e.target));\n }\n })\n .on(\"keyup\", (e) => {\n delete keys[e.which];\n });\n }\n\n // Set focus to an item of a group\n setFocusTo (groupName, index) {\n // Add a delay to force focus\n const delay = 50;\n this.$timeout(() => this.keyboardNav[groupName][index] && this.keyboardNav[groupName][index].focus(), delay);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-navbar/src/group/navbar-group.service.js","import controller from \"./navbar-menu.controller\";\nimport template from \"./navbar-menu.html\";\n\nexport default {\n bindings: {\n backButton: \" {\n // Add classnames on root $element\n this.$element.addClass(\"oui-navbar-menu\");\n\n // Add \"role\" attribute for accessibility\n this.$element.attr(\"role\", \"menu\");\n });\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-navbar/src/menu/navbar-menu.controller.js","module.exports = \"

\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-navbar/src/menu/navbar-menu.html\n// module id = 329\n// module chunks = 0","export default class {\n isOpen (state) {\n return this.navigation && this.navigation[state];\n }\n\n // Toggle menu from button click\n toggleMenu (state, isInternalNav) {\n if (state) {\n // Reset navigation if not internal navigation\n if (!isInternalNav && (!this.navigation || !this.navigation[state])) {\n this.navigation = {};\n }\n\n if (isInternalNav || !this.navigation[state]) {\n // Toggle menu if internal navigation or state is undefined\n this.navigation[state] = !this.navigation[state];\n } else if (this.navigation[state]) {\n // Else close all menus\n this.navigation = null;\n }\n } else {\n // Close all menus\n this.navigation = null;\n }\n\n return this.navigation;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-navbar/src/navbar.service.js","import Modal from \"./modal.component.js\";\n\nangular.module(\"oui.modal\", []).component(\"ouiModal\", Modal);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-modal/src/index.js","import controller from \"./modal.controller\";\nimport template from \"./modal.html\";\n\nexport default {\n template,\n controller,\n bindings: {\n heading: \"@?\",\n title: \"@?\", // Deprecated: Replaced by 'heading'\n primaryAction: \"&?\",\n primaryLabel: \"@?\",\n secondaryAction: \"&?\",\n secondaryLabel: \"@?\",\n onDismiss: \"&?\",\n loading: \"

\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-modal/src/modal.html\n// module id = 334\n// module chunks = 0","import Field from \"./field.component.js\";\nimport FieldConfigurationProvider from \"./field.provider.js\";\n\nangular.module(\"oui.field\", [])\n .component(\"ouiField\", Field)\n .provider(\"ouiFieldConfiguration\", FieldConfigurationProvider);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-field/src/index.js","import controller from \"./field.controller.js\";\nimport template from \"./field.html\";\n\nexport default {\n bindings: {\n label: \"@?\",\n helpText: \"@?\",\n size: \"@?\",\n errorMessages: \" {\n // Get all controls in the field.\n this.controls = this.getAllControls();\n\n if (!this.controlElements.length) {\n throw new Error(\"oui-field component requires at least one form control.\");\n }\n\n if (!Object.keys(this.controls).length) {\n throw new Error(\"oui-field component requires a form control with a name.\");\n }\n\n // The id is taken from the first control occurrence\n // to create the `for` attribute on the label.\n // If the control is a checkbox or a radio, we skip this part\n // because we don't want to link the field label to the first checkbox/radio.\n if (this.ids.length === 1 && this.controlElements.length === 1) {\n this.for = this.ids[0];\n }\n\n this.$ouiFieldElement = angular.element(this.$element[0].querySelector(\".oui-field\"));\n\n Object.keys(this.controls).forEach(name => {\n const namedControls = this.controls[name];\n\n // TODO: Skip radio for now (there is no validation for them)\n if (namedControls.length > 1) {\n return;\n }\n\n // Manage the way the error are shown on the field.\n namedControls.forEach(control => {\n // Avoid binding DOM events\n if (angular.element(control).hasClass(CUSTOM_ELEMENT_CLASS)) {\n return;\n }\n this.bindDOMEvents(control, name);\n });\n\n // Retrieve all validation parameters by field name.\n this.validationParameters[name] = FieldController.getValidationParameters(this.controls[name][0]);\n });\n\n // Handle click on label to set focus on form element.\n this.label = angular.element(this.$element[0].querySelector(LABEL_SELECTOR));\n this.label.on(\"click\", () => {\n this.$scope.$broadcast(\"oui:focus\");\n });\n\n // Handle Popover aria\n if (this.labelPopover) {\n this.popoverId = `oui-field-popover-${this.$scope.$id}`;\n if (this.for) {\n const $ouiFieldInput = angular.element(this.$element[0].querySelector(`#${this.for}`));\n $ouiFieldInput.attr(\"aria-describedby\", this.popoverId);\n }\n }\n });\n }\n\n $destroy () {\n Object.keys(this.controls).forEach(name => {\n const namedControls = this.controls[name];\n namedControls.forEach(control => {\n angular.element(control).off(\"blur\");\n angular.element(control).off(\"focus\");\n });\n });\n\n if (this.label) {\n this.label.off(\"click\");\n }\n }\n\n bindDOMEvents (controlElement, name) {\n angular.element(controlElement).on(\"blur\", () => {\n this.$timeout(() => {\n this.checkControlErrors(controlElement, name);\n this.hasFocus = false;\n });\n });\n\n angular.element(controlElement).on(\"focus\", () => {\n this.$timeout(() => {\n this.hideErrors(controlElement, name);\n this.hasFocus = true;\n });\n });\n }\n\n checkControlErrors (controlElement, name) {\n if (this.form[name] && this.form[name].$invalid) {\n this.invalidOnBlur = true;\n this.currentErrorField = name;\n } else {\n this.invalidOnBlur = false;\n this.currentErrorField = null;\n }\n }\n\n hideErrors (controlElement, name) {\n this.form[name].$touched = false;\n this.invalidOnBlur = false;\n }\n\n isErrorVisible () {\n if (!this.form) {\n return false;\n }\n\n this.checkAllErrors();\n return this.invalidOnBlur || // true if invalid after blur event\n (this.form.$submitted && this.invalid && !this.hasFocus); // true if invalid after submit event\n }\n\n checkAllErrors () {\n this.invalid = Object.keys(this.controls)\n .map(name => {\n if (this.form[name].$invalid && !this.currentErrorField) {\n this.currentErrorField = name;\n }\n return this.form[name].$invalid;\n })\n .reduce(\n (fieldInvalid, controlInvalid) => fieldInvalid || controlInvalid,\n false\n );\n }\n\n getFirstError () {\n const names = Object.keys(this.controls);\n for (let i = 0; i < names.length; ++i) {\n if (this.form[names[i]] && this.form[names[i]].$invalid) {\n return this.form[names[i]].$error;\n }\n }\n\n return null;\n }\n\n getMessagesOrder () {\n // first known errors then custom errors\n return Object.keys(this.getFirstError()).sort((a, b) => MESSAGES_ORDER.indexOf(a) < MESSAGES_ORDER.indexOf(b));\n }\n\n getMessageString (errorName) {\n return (this.errorMessages && this.errorMessages[errorName]) || this.ouiFieldConfiguration.translations.errors[errorName];\n }\n\n getErrorMessage (errorName) {\n const message = this.getMessageString(errorName);\n const parameterValue = this.validationParameters[this.currentErrorField][errorName];\n return message.replace(`{{${errorName}}}`, parameterValue);\n }\n\n getAllControls () {\n const controlsSelector = CONTROLS_SELECTORS.join(\",\");\n this.controlElements = Array.from(this.$element[0].querySelectorAll(controlsSelector));\n return this.controlElements\n\n // Exclude all controls that have no defined name attribute.\n .filter(control => hasAttributeValue(control, \"name\"))\n .map(control => {\n // Get all ids available on controls\n if (hasAttributeValue(control, \"id\")) {\n this.ids.push(getAttribute(control, \"id\"));\n }\n\n return getAttribute(control, \"name\");\n })\n .reduce((controls, name) => {\n controls[name] = Array.from(this.$element[0].querySelectorAll(`[name=\"${name}\"]`));\n return controls;\n }, {});\n }\n\n static getValidationParameters (controlElement) {\n const validationParameters = {};\n Object.keys(VALIDATION_PARAMETERS).forEach(validationName => {\n const attributes = VALIDATION_PARAMETERS[validationName];\n attributes.forEach(attributeName => {\n if (hasAttributeValue(controlElement, attributeName)) {\n validationParameters[validationName] = getAttribute(controlElement, attributeName);\n }\n });\n });\n return validationParameters;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-field/src/field.controller.js","require('../../modules/es6.object.keys');\nmodule.exports = require('../../modules/_core').Object.keys;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/keys.js\n// module id = 338\n// module chunks = 0","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.keys.js\n// module id = 339\n// module chunks = 0","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-field/src/field.html\n// module id = 340\n// module chunks = 0","export default class {\n constructor () {\n this.translations = {\n errors: {\n required: \"Mandatory.\",\n number: \"Invalid number.\",\n email: \"Invalid email.\",\n min: \"Too low ({{min}} min).\",\n max: \"Too high ({{max}} max).\",\n minlength: \"Too short ({{minlength}} characters min).\",\n maxlength: \"Too high ({{maxlength}} characters max).\",\n pattern: \"Invalid format.\"\n }\n };\n }\n\n /**\n * Set the translations for the field component\n * @param {Object} translations a map of translations\n */\n setTranslations (translations) {\n this.translations = translations;\n return this;\n }\n\n $get () {\n return {\n translations: this.translations\n };\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-field/src/field.provider.js","import controller from \"./radio-group.controller\";\n\nexport default {\n template: \"\",\n controller,\n bindings: {\n name: \"@?\",\n model: \"=?\",\n onChange: \"&\"\n },\n transclude: true\n};\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-radio-group/src/radio-group.component.js","import \"@oui-angular/oui-radio/src\";\nimport \"@oui-angular/oui-radio-group/src\";\nimport RadioToggleGroup from \"./radio-toggle-group.component.js\";\n\nangular.module(\"oui.radio-toggle-group\", [\n \"oui.radio\",\n \"oui.radio-group\"\n]).component(\"ouiRadioToggleGroup\", RadioToggleGroup);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-radio-toggle-group/src/index.js","import controller from \"@oui-angular/oui-radio-group/src/radio-group.controller\";\n\nexport default {\n template: \"
\",\n controller,\n bindings: {\n name: \"@?\",\n model: \"=?\",\n onChange: \"&\"\n },\n transclude: true\n};\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-radio-toggle-group/src/radio-toggle-group.component.js","import \"./ui-select\";\nimport Select from \"./select.directive\";\n\nangular.module(\"oui.select\", [\n \"oui.field\",\n \"ui.select\",\n \"ngSanitize\"\n]).directive(\"ouiSelect\", Select);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-select/src/index.js","import Popper from \"popper.js\";\n\n/* eslint-disable */\n\n/*!\n * ui-select\n * http://github.com/angular-ui/ui-select\n * Version: 0.19.7 - 2017-04-15T14:28:36.649Z\n * License: MIT\n */\n\n\n(function () {\n\"use strict\";\nvar KEY = {\n TAB: 9,\n ENTER: 13,\n ESC: 27,\n SPACE: 32,\n LEFT: 37,\n UP: 38,\n RIGHT: 39,\n DOWN: 40,\n SHIFT: 16,\n CTRL: 17,\n ALT: 18,\n PAGE_UP: 33,\n PAGE_DOWN: 34,\n HOME: 36,\n END: 35,\n BACKSPACE: 8,\n DELETE: 46,\n COMMAND: 91,\n\n MAP: { 91 : \"COMMAND\", 8 : \"BACKSPACE\" , 9 : \"TAB\" , 13 : \"ENTER\" , 16 : \"SHIFT\" , 17 : \"CTRL\" , 18 : \"ALT\" , 19 : \"PAUSEBREAK\" , 20 : \"CAPSLOCK\" , 27 : \"ESC\" , 32 : \"SPACE\" , 33 : \"PAGE_UP\", 34 : \"PAGE_DOWN\" , 35 : \"END\" , 36 : \"HOME\" , 37 : \"LEFT\" , 38 : \"UP\" , 39 : \"RIGHT\" , 40 : \"DOWN\" , 43 : \"+\" , 44 : \"PRINTSCREEN\" , 45 : \"INSERT\" , 46 : \"DELETE\", 48 : \"0\" , 49 : \"1\" , 50 : \"2\" , 51 : \"3\" , 52 : \"4\" , 53 : \"5\" , 54 : \"6\" , 55 : \"7\" , 56 : \"8\" , 57 : \"9\" , 59 : \";\", 61 : \"=\" , 65 : \"A\" , 66 : \"B\" , 67 : \"C\" , 68 : \"D\" , 69 : \"E\" , 70 : \"F\" , 71 : \"G\" , 72 : \"H\" , 73 : \"I\" , 74 : \"J\" , 75 : \"K\" , 76 : \"L\", 77 : \"M\" , 78 : \"N\" , 79 : \"O\" , 80 : \"P\" , 81 : \"Q\" , 82 : \"R\" , 83 : \"S\" , 84 : \"T\" , 85 : \"U\" , 86 : \"V\" , 87 : \"W\" , 88 : \"X\" , 89 : \"Y\" , 90 : \"Z\", 96 : \"0\" , 97 : \"1\" , 98 : \"2\" , 99 : \"3\" , 100 : \"4\" , 101 : \"5\" , 102 : \"6\" , 103 : \"7\" , 104 : \"8\" , 105 : \"9\", 106 : \"*\" , 107 : \"+\" , 109 : \"-\" , 110 : \".\" , 111 : \"/\", 112 : \"F1\" , 113 : \"F2\" , 114 : \"F3\" , 115 : \"F4\" , 116 : \"F5\" , 117 : \"F6\" , 118 : \"F7\" , 119 : \"F8\" , 120 : \"F9\" , 121 : \"F10\" , 122 : \"F11\" , 123 : \"F12\", 144 : \"NUMLOCK\" , 145 : \"SCROLLLOCK\" , 186 : \";\" , 187 : \"=\" , 188 : \",\" , 189 : \"-\" , 190 : \".\" , 191 : \"/\" , 192 : \"`\" , 219 : \"[\" , 220 : \"\\\\\" , 221 : \"]\" , 222 : \"'\"\n },\n\n isControl: function (e) {\n var k = e.which;\n switch (k) {\n case KEY.COMMAND:\n case KEY.SHIFT:\n case KEY.CTRL:\n case KEY.ALT:\n return true;\n }\n\n if (e.metaKey || e.ctrlKey || e.altKey) return true;\n\n return false;\n },\n isFunctionKey: function (k) {\n k = k.which ? k.which : k;\n return k >= 112 && k <= 123;\n },\n isVerticalMovement: function (k){\n return ~[KEY.UP, KEY.DOWN].indexOf(k);\n },\n isHorizontalMovement: function (k){\n return ~[KEY.LEFT,KEY.RIGHT,KEY.BACKSPACE,KEY.DELETE].indexOf(k);\n },\n toSeparator: function (k) {\n var sep = {ENTER:\"\\n\",TAB:\"\\t\",SPACE:\" \"}[k];\n if (sep) return sep;\n // return undefined for special keys other than enter, tab or space.\n // no way to use them to cut strings.\n return KEY[k] ? undefined : k;\n }\n };\n\nfunction isNil(value) {\n return angular.isUndefined(value) || value === null;\n}\n\n/**\n * Add querySelectorAll() to jqLite.\n *\n * jqLite find() is limited to lookups by tag name.\n * TODO This will change with future versions of AngularJS, to be removed when this happens\n *\n * See jqLite.find - why not use querySelectorAll? https://github.com/angular/angular.js/issues/3586\n * See feat(jqLite): use querySelectorAll instead of getElementsByTagName in jqLite.find https://github.com/angular/angular.js/pull/3598\n */\nif (angular.element.prototype.querySelectorAll === undefined) {\n angular.element.prototype.querySelectorAll = function(selector) {\n return angular.element(this[0].querySelectorAll(selector));\n };\n}\n\n/**\n * Add closest() to jqLite.\n */\nif (angular.element.prototype.closest === undefined) {\n angular.element.prototype.closest = function( selector) {\n var elem = this[0];\n var matchesSelector = elem.matches || elem.webkitMatchesSelector || elem.mozMatchesSelector || elem.msMatchesSelector;\n\n while (elem) {\n if (matchesSelector.bind(elem)(selector)) {\n return elem;\n } else {\n elem = elem.parentElement;\n }\n }\n return false;\n };\n}\n\nvar latestId = 0;\n\nvar uis = angular.module('ui.select', [])\n\n.constant('uiSelectConfig', {\n theme: 'bootstrap',\n searchEnabled: true,\n sortable: false,\n placeholder: '', // Empty by default, like HTML tag \");\n $compile(focusser)(scope);\n $select.focusser = focusser;\n\n //Input that will handle focus\n $select.focusInput = focusser;\n\n element.parent().append(focusser);\n focusser.bind(\"focus\", function(){\n scope.$evalAsync(function(){\n $select.focus = true;\n });\n });\n focusser.bind(\"blur\", function(){\n scope.$evalAsync(function(){\n $select.focus = false;\n });\n });\n focusser.bind(\"keydown\", function(e){\n\n if (e.which === KEY.BACKSPACE && $select.backspaceReset !== false) {\n e.preventDefault();\n e.stopPropagation();\n $select.select(undefined);\n scope.$apply();\n return;\n }\n\n if (e.which === KEY.TAB || KEY.isControl(e) || KEY.isFunctionKey(e) || e.which === KEY.ESC) {\n return;\n }\n\n if (e.which == KEY.DOWN || e.which == KEY.UP || e.which == KEY.ENTER || e.which == KEY.SPACE){\n e.preventDefault();\n e.stopPropagation();\n $select.activate();\n }\n\n scope.$digest();\n });\n\n focusser.bind(\"keyup input\", function(e){\n\n if (e.which === KEY.TAB || KEY.isControl(e) || KEY.isFunctionKey(e) || e.which === KEY.ESC || e.which == KEY.ENTER || e.which === KEY.BACKSPACE) {\n return;\n }\n\n $select.activate(focusser.val()); //User pressed some regular key, so we pass it to the search input\n focusser.val('');\n scope.$digest();\n\n });\n\n\n }\n };\n}]);\n\n// Make multiple matches sortable\nuis.directive('uiSelectSort', ['$timeout', 'uiSelectConfig', 'uiSelectMinErr', function($timeout, uiSelectConfig, uiSelectMinErr) {\n return {\n require: ['^^uiSelect', '^ngModel'],\n link: function(scope, element, attrs, ctrls) {\n if (scope[attrs.uiSelectSort] === null) {\n throw uiSelectMinErr('sort', 'Expected a list to sort');\n }\n\n var $select = ctrls[0];\n var $ngModel = ctrls[1];\n\n var options = angular.extend({\n axis: 'horizontal'\n },\n scope.$eval(attrs.uiSelectSortOptions));\n\n var axis = options.axis;\n var draggingClassName = 'dragging';\n var droppingClassName = 'dropping';\n var droppingBeforeClassName = 'dropping-before';\n var droppingAfterClassName = 'dropping-after';\n\n scope.$watch(function(){\n return $select.sortable;\n }, function(newValue){\n if (newValue) {\n element.attr('draggable', true);\n } else {\n element.removeAttr('draggable');\n }\n });\n\n element.on('dragstart', function(event) {\n element.addClass(draggingClassName);\n\n (event.dataTransfer || event.originalEvent.dataTransfer).setData('text', scope.$index.toString());\n });\n\n element.on('dragend', function() {\n removeClass(draggingClassName);\n });\n\n var move = function(from, to) {\n /*jshint validthis: true */\n this.splice(to, 0, this.splice(from, 1)[0]);\n };\n\n var removeClass = function(className) {\n angular.forEach($select.$element.querySelectorAll('.' + className), function(el){\n angular.element(el).removeClass(className);\n });\n };\n\n var dragOverHandler = function(event) {\n event.preventDefault();\n\n var offset = axis === 'vertical' ? event.offsetY || event.layerY || (event.originalEvent ? event.originalEvent.offsetY : 0) : event.offsetX || event.layerX || (event.originalEvent ? event.originalEvent.offsetX : 0);\n\n if (offset < (this[axis === 'vertical' ? 'offsetHeight' : 'offsetWidth'] / 2)) {\n removeClass(droppingAfterClassName);\n element.addClass(droppingBeforeClassName);\n\n } else {\n removeClass(droppingBeforeClassName);\n element.addClass(droppingAfterClassName);\n }\n };\n\n var dropTimeout;\n\n var dropHandler = function(event) {\n event.preventDefault();\n\n var droppedItemIndex = parseInt((event.dataTransfer || event.originalEvent.dataTransfer).getData('text'), 10);\n\n // prevent event firing multiple times in firefox\n $timeout.cancel(dropTimeout);\n dropTimeout = $timeout(function() {\n _dropHandler(droppedItemIndex);\n }, 20);\n };\n\n var _dropHandler = function(droppedItemIndex) {\n var theList = scope.$eval(attrs.uiSelectSort);\n var itemToMove = theList[droppedItemIndex];\n var newIndex = null;\n\n if (element.hasClass(droppingBeforeClassName)) {\n if (droppedItemIndex < scope.$index) {\n newIndex = scope.$index - 1;\n } else {\n newIndex = scope.$index;\n }\n } else {\n if (droppedItemIndex < scope.$index) {\n newIndex = scope.$index;\n } else {\n newIndex = scope.$index + 1;\n }\n }\n\n move.apply(theList, [droppedItemIndex, newIndex]);\n\n $ngModel.$setViewValue(Date.now());\n\n scope.$apply(function() {\n scope.$emit('uiSelectSort:change', {\n array: theList,\n item: itemToMove,\n from: droppedItemIndex,\n to: newIndex\n });\n });\n\n removeClass(droppingClassName);\n removeClass(droppingBeforeClassName);\n removeClass(droppingAfterClassName);\n\n element.off('drop', dropHandler);\n };\n\n element.on('dragenter', function() {\n if (element.hasClass(draggingClassName)) {\n return;\n }\n\n element.addClass(droppingClassName);\n\n element.on('dragover', dragOverHandler);\n element.on('drop', dropHandler);\n });\n\n element.on('dragleave', function(event) {\n if (event.target != element) {\n return;\n }\n\n removeClass(droppingClassName);\n removeClass(droppingBeforeClassName);\n removeClass(droppingAfterClassName);\n\n element.off('dragover', dragOverHandler);\n element.off('drop', dropHandler);\n });\n }\n };\n}]);\n\nuis.directive('uisOpenClose', ['$parse', '$timeout', function ($parse, $timeout) {\n return {\n restrict: 'A',\n require: 'uiSelect',\n link: function (scope, element, attrs, $select) {\n $select.onOpenCloseCallback = $parse(attrs.uisOpenClose);\n\n scope.$watch('$select.open', function (isOpen, previousState) {\n if (isOpen !== previousState) {\n $timeout(function () {\n $select.onOpenCloseCallback(scope, {\n isOpen: isOpen\n });\n });\n }\n });\n }\n };\n}]);\n\n/**\n * Parses \"repeat\" attribute.\n *\n * Taken from AngularJS ngRepeat source code\n * See https://github.com/angular/angular.js/blob/v1.2.15/src/ng/directive/ngRepeat.js#L211\n *\n * Original discussion about parsing \"repeat\" attribute instead of fully relying on ng-repeat:\n * https://github.com/angular-ui/ui-select/commit/5dd63ad#commitcomment-5504697\n */\n\nuis.service('uisRepeatParser', ['uiSelectMinErr','$parse', function(uiSelectMinErr, $parse) {\n var self = this;\n\n /**\n * Example:\n * expression = \"address in addresses | filter: {street: $select.search} track by $index\"\n * itemName = \"address\",\n * source = \"addresses | filter: {street: $select.search}\",\n * trackByExp = \"$index\",\n */\n self.parse = function(expression) {\n\n\n var match;\n //var isObjectCollection = /\\(\\s*([\\$\\w][\\$\\w]*)\\s*,\\s*([\\$\\w][\\$\\w]*)\\s*\\)/.test(expression);\n // If an array is used as collection\n\n // if (isObjectCollection){\n // 000000000000000000000000000000111111111000000000000000222222222222220033333333333333333333330000444444444444444444000000000000000055555555555000000000000000000000066666666600000000\n match = expression.match(/^\\s*(?:([\\s\\S]+?)\\s+as\\s+)?(?:([\\$\\w][\\$\\w]*)|(?:\\(\\s*([\\$\\w][\\$\\w]*)\\s*,\\s*([\\$\\w][\\$\\w]*)\\s*\\)))\\s+in\\s+(\\s*[\\s\\S]+?)?(?:\\s+track\\s+by\\s+([\\s\\S]+?))?\\s*$/);\n\n // 1 Alias\n // 2 Item\n // 3 Key on (key,value)\n // 4 Value on (key,value)\n // 5 Source expression (including filters)\n // 6 Track by\n\n if (!match) {\n throw uiSelectMinErr('iexp', \"Expected expression in form of '_item_ in _collection_[ track by _id_]' but got '{0}'.\",\n expression);\n }\n\n var source = match[5],\n filters = '';\n\n // When using (key,value) ui-select requires filters to be extracted, since the object\n // is converted to an array for $select.items\n // (in which case the filters need to be reapplied)\n if (match[3]) {\n // Remove any enclosing parenthesis\n source = match[5].replace(/(^\\()|(\\)$)/g, '');\n // match all after | but not after ||\n var filterMatch = match[5].match(/^\\s*(?:[\\s\\S]+?)(?:[^\\|]|\\|\\|)+([\\s\\S]*)\\s*$/);\n if(filterMatch && filterMatch[1].trim()) {\n filters = filterMatch[1];\n source = source.replace(filters, '');\n }\n }\n\n return {\n itemName: match[4] || match[2], // (lhs) Left-hand side,\n keyName: match[3], //for (key, value) syntax\n source: $parse(source),\n filters: filters,\n trackByExp: match[6],\n modelMapper: $parse(match[1] || match[4] || match[2]),\n repeatExpression: function (grouped) {\n var expression = this.itemName + ' in ' + (grouped ? '$group.items' : '$select.items');\n if (this.trackByExp) {\n expression += ' track by ' + this.trackByExp;\n }\n return expression;\n }\n };\n\n };\n\n self.getGroupNgRepeatExpression = function() {\n return '$group in $select.groups track by $group.name';\n };\n\n}]);\n\n}());\nangular.module(\"ui.select\")\n .run([\"$templateCache\", function($templateCache) {\n $templateCache.put(\"bootstrap/choices.tpl.html\", require(\"./templates/choices.html\"));\n $templateCache.put(\"bootstrap/match-multiple.tpl.html\",\" × \");\n $templateCache.put(\"bootstrap/match.tpl.html\", require(\"./templates/match.html\"));\n $templateCache.put(\"bootstrap/no-choice.tpl.html\",\"
\");\n $templateCache.put(\"bootstrap/select-multiple.tpl.html\",\"
\");\n $templateCache.put(\"bootstrap/select.tpl.html\", require(\"./templates/select.html\"));\n }]);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-select/src/ui-select.js","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-select/src/templates/choices.html\n// module id = 347\n// module chunks = 0","module.exports = \" \";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-select/src/templates/match.html\n// module id = 348\n// module chunks = 0","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-select/src/templates/select.html\n// module id = 349\n// module chunks = 0","import controller from \"./select.controller\";\nimport template from \"./select.html\";\n\nexport default () => ({\n require: {\n fieldCtrl: \"?^^ouiField\",\n selectCtrl: \"ouiSelect\"\n },\n controller,\n controllerAs: \"$ctrl\",\n bindToController: true,\n scope: {\n model: \"=\",\n name: \"@?\",\n required: \" {\n const itemTemplate = $element.html();\n const $template = angular.element(template);\n const choicesElement = $template.find(\"ui-select-choices\");\n\n choicesElement.html(itemTemplate);\n if ($attrs.groupBy) {\n choicesElement.attr(\"group-by\", \"$ctrl.groupBy\");\n }\n\n const htmlContent = $template[0].outerHTML;\n $element.empty();\n\n return (scope, elem, attrs, { selectCtrl }) => {\n selectCtrl.htmlContent = htmlContent;\n };\n }\n});\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-select/src/select.directive.js","import { addBooleanParameter } from \"@oui-angular/common/component-utils\";\n\nconst UI_SELECT_SELECTOR = \".oui-ui-select-container\";\nconst UI_SELECT_DROPDOWN_TRIGGER = \".oui-button_dropdown\";\n\nexport default class {\n constructor ($attrs, $compile, $element, $scope, $timeout) {\n \"ngInject\";\n\n this.$attrs = $attrs;\n this.$compile = $compile;\n this.$element = $element;\n this.$scope = $scope;\n this.$timeout = $timeout;\n }\n\n $onInit () {\n addBooleanParameter(this, \"disabled\");\n addBooleanParameter(this, \"required\");\n }\n\n $postLink () {\n const $htmlContent = angular.element(this.htmlContent);\n const matchElement = $htmlContent.find(\"ui-select-match\");\n\n if (this.match) {\n matchElement.html(`{{$select.selected.${this.match}}}`);\n } else {\n matchElement.html(\"{{$select.selected}}\");\n }\n\n this.$compile($htmlContent)(this.$scope, (clone) => {\n this.$element.append(clone);\n });\n\n this.$timeout(() => {\n this.$element.removeAttr(\"name\");\n\n this.uiSelectElement = this.$element[0].querySelector(UI_SELECT_SELECTOR);\n this.uiSelectDropdownTrigger = this.$element[0].querySelector(UI_SELECT_DROPDOWN_TRIGGER);\n\n this.unregisterFocus = this.$scope.$on(\"oui:focus\", () => {\n this.uiSelectDropdownTrigger.focus();\n });\n });\n }\n\n $destroy () {\n if (this.unregisterFocus) {\n this.unregisterFocus();\n }\n }\n\n onUiSelectBlur () {\n if (this.fieldCtrl) {\n this.fieldCtrl.hasFocus = false;\n this.fieldCtrl.checkControlErrors(this.uiSelectElement, this.name);\n }\n\n this.onBlur();\n }\n\n onUiSelectFocus () {\n if (this.fieldCtrl) {\n this.fieldCtrl.hasFocus = true;\n this.fieldCtrl.hideErrors(this.uiSelectElement, this.name);\n }\n\n this.onFocus();\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-select/src/select.controller.js","module.exports = \" \";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-select/src/select.html\n// module id = 352\n// module chunks = 0","import SelectPicker from \"./select-picker.component.js\";\n\nangular.module(\"oui.select-picker\", []).component(\"ouiSelectPicker\", SelectPicker);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-select-picker/src/index.js","import controller from \"./select-picker.controller\";\nimport template from \"./select-picker.html\";\n\nexport default {\n template,\n controller,\n transclude: {\n sectionSlot: \"?span\"\n },\n bindings: {\n text: \"@\",\n description: \"@?\",\n picture: \"@?\",\n placeholder: \"@?\",\n values: \"<\",\n id: \"@?\",\n name: \"@?\",\n match: \"@\",\n model: \"=?\",\n onChange: \"&?\",\n disabled: \" get(item, path, \"\");\n }\n\n $postLink () {\n // Sometimes the digest cycle is done before dom manipulation,\n // So we use $timeout to force the $apply\n this.$timeout(() => {\n this.$element\n .removeAttr(\"id\")\n .removeAttr(\"name\");\n\n this.labelElement = this.$element.find(\"label\");\n this.labelElement.on(\"click\", event => this.openSelectMenu(event));\n });\n }\n\n $onInit () {\n addBooleanParameter(this, \"disabled\");\n addBooleanParameter(this, \"required\");\n addDefaultParameter(this, \"id\", `ouiSelectPicker${this.$scope.$id}`);\n\n if (this.picture) {\n this.isImgPath = /\\.(gif|png|jpg)$/.test(this.picture);\n }\n\n if (this.values && this.values.length === 1) {\n this.selectedValue = this.values[0];\n }\n\n this.transcludeSection = this.$transclude.isSlotFilled(\"sectionSlot\");\n }\n\n $destroy () {\n this.labelElement.off(\"click\");\n }\n\n getFirstValueMatch (path) {\n return get(this.values[0], path, \"\");\n }\n\n openSelectMenu (event) {\n if (this.values && this.values.length > 1 && !this.selectedValue) {\n const $button = angular.element(this.$element[0].querySelectorAll(\".ui-select-match\"));\n const isButtonClicked = SelectPickerController.hasParentButton(event.target);\n if (!isButtonClicked && $button.length > 0) {\n $button.triggerHandler(\"click\");\n event.stopPropagation();\n }\n }\n }\n\n onSelectModelChange (event) {\n this.model = event.modelValue;\n this.onRadioModelChange(event);\n }\n\n onRadioModelChange (event) {\n if (this.onChange) {\n this.$timeout(() => this.onChange(event));\n }\n }\n\n static hasParentButton (element) {\n let currentNode = element;\n do {\n if (currentNode.nodeName === \"BUTTON\") {\n return true;\n }\n currentNode = currentNode.parentNode;\n } while (currentNode.nodeName !== \"OUI-SELECT-PICKER\");\n return false;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-select-picker/src/select-picker.controller.js","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-select-picker/src/select-picker.html\n// module id = 356\n// module chunks = 0","import Textarea from \"./textarea.component.js\";\nimport TextareaProvider from \"./textarea.provider.js\";\n\nangular.module(\"oui.textarea\", [])\n .component(\"ouiTextarea\", Textarea)\n .provider(\"ouiTextareaConfiguration\", TextareaProvider);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-textarea/src/index.js","import controller from \"./textarea.controller\";\nimport template from \"./textarea.html\";\n\nexport default {\n template,\n controller,\n bindings: {\n model: \"=?\",\n id: \"@?\",\n name: \"@?\",\n placeholder: \"@?\",\n rows: \"@?\",\n disabled: \" {\n this.$element\n .removeAttr(\"id\")\n .removeAttr(\"name\");\n\n this.$footer = angular.element(this.$element[0].querySelector(`.${footerClass}`));\n this.textarea = this.$element[0].querySelector(\"textarea\");\n this.$footer.on(\"click\", () => {\n this.textarea.focus();\n });\n\n this.updateErrorState();\n });\n }\n\n $onChanges (changes) {\n if (changes.disabled) {\n this.setDisabled(changes.disabled.currentValue);\n }\n\n if (changes.readonly) {\n this.setReadonly(changes.readonly.currentValue);\n }\n }\n\n $destroy () {\n this.$footer.off(\"click\");\n }\n\n onTextareaChange () {\n if (this.onChange) {\n this.onChange({ modelValue: this.model });\n }\n this.updateErrorState();\n }\n\n updateErrorState () {\n if (!this.textarea || angular.isUndefined(this.maxlength)) {\n return;\n }\n const length = angular.element(this.textarea).val().length;\n this.$element.toggleClass(errorClass, length > this.maxlength);\n }\n\n getMaxLengthText () {\n const translation = this.ouiTextareaConfiguration.translations.lengthCounter;\n return translation\n .replace(\"{{length}}\", this.textarea ? this.textarea.value.length : 0)\n .replace(\"{{max}}\", this.maxlength);\n }\n\n setDisabled (disabled) {\n this.disabled = disabled;\n this.$element.toggleClass(disabledClass, disabled);\n }\n\n setFocus (focused) {\n this.$element.toggleClass(focusClass, focused);\n }\n\n setReadonly (readonly) {\n this.readonly = readonly;\n this.$element.toggleClass(readonlyClass, readonly);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-textarea/src/textarea.controller.js","module.exports = \" \";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-textarea/src/textarea.html\n// module id = 360\n// module chunks = 0","export default class {\n constructor () {\n this.translations = {\n lengthCounter: \"{{length}}/{{max}} characters\"\n };\n }\n\n /**\n * Set the translations for the datagrid component\n * @param {Object} translations a map of translations\n */\n setTranslations (translations) {\n this.translations = translations;\n return this;\n }\n\n $get () {\n return {\n translations: this.translations\n };\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-textarea/src/textarea.provider.js","import FormActions from \"./form-actions.component\";\nimport FormActionsProvider from \"./form-actions.provider\";\n\nangular.module(\"oui.form-actions\", [])\n .component(\"ouiFormActions\", FormActions)\n .provider(\"ouiFormActionsConfiguration\", FormActionsProvider);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-form-actions/src/index.js","import controller from \"./form-actions.controller.js\";\nimport template from \"./form-actions.html\";\n\nexport default {\n template,\n controller,\n bindings: {\n submitText: \"@?\",\n cancelText: \"@?\",\n onSubmit: \"&\",\n onCancel: \"&?\",\n href: \"@?\"\n },\n transclude: true\n};\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-form-actions/src/form-actions.component.js","export default class {\n constructor ($attrs, ouiFormActionsConfiguration) {\n \"ngInject\";\n\n this.$attrs = $attrs;\n this.config = ouiFormActionsConfiguration;\n }\n\n $onInit () {\n this.processTranslations();\n }\n\n processTranslations () {\n this.translations = Object.assign({}, this.config.translations);\n\n if (angular.isUndefined(this.submitText)) {\n this.submitText = this.translations.submit;\n }\n\n if (angular.isUndefined(this.cancelText)) {\n this.cancelText = this.translations.cancel;\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-form-actions/src/form-actions.controller.js","module.exports = \" \";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-form-actions/src/form-actions.html\n// module id = 365\n// module chunks = 0","export default class {\n constructor () {\n this.translations = {\n submit: \"Submit\",\n cancel: \"Cancel\"\n };\n }\n\n setTranslations (translations) {\n this.translations = translations;\n return this;\n }\n\n $get () {\n return {\n translations: this.translations\n };\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-form-actions/src/form-actions.provider.js","import Search from \"./search.component\";\n\nangular\n .module(\"oui.search\", [])\n .component(\"ouiSearch\", Search);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-search/src/index.js","import controller from \"./search.controller\";\nimport template from \"./search.html\";\n\nexport default {\n require: {\n criteriaContainer: \"?^^ouiCriteriaContainer\"\n },\n bindings: {\n model: \"=\",\n id: \"@?\",\n name: \"@?\",\n placeholder: \"@?\",\n ariaLabel: \"@?\",\n\n disabled: \"\n this.$element\n .removeAttr(\"aria-label\")\n .removeAttr(\"id\")\n .removeAttr(\"name\")\n .addClass(componentClass)\n );\n }\n\n onKeyDown (event) {\n if (event.keyCode === escKeyCode) {\n this.onSearchReset();\n }\n }\n\n $destroy () {\n this.$input.off(\"keypress\");\n }\n\n onSearchChange () {\n const modelValue = this.model;\n\n this.onChange({ modelValue });\n\n this.onCriterionChange();\n }\n\n onCriterionChange () {\n const modelValue = this.model;\n\n if (this.criteriaContainer) {\n if (modelValue && modelValue.length >= minLengthTrigger) {\n this.criteriaContainer.setPreviewCriterion(SearchController.getCriterion(modelValue), true);\n } else {\n this.criteriaContainer.deletePreviewCriterion();\n }\n }\n }\n\n onSearchSubmit (modelValue) {\n this.model = undefined;\n\n this.onSubmit({ modelValue });\n\n this.onCriterionSubmit(modelValue);\n }\n\n onCriterionSubmit (modelValue) {\n if (this.criteriaContainer && modelValue && modelValue.length >= minLengthTrigger) {\n this.criteriaContainer.add(SearchController.getCriterion(modelValue));\n }\n }\n\n onSearchReset () {\n // Since type=\"reset\" doesn't reset the model\n this.model = undefined;\n\n this.onReset();\n\n this.onCriterionReset();\n }\n\n onCriterionReset () {\n if (this.criteriaContainer) {\n this.criteriaContainer.deletePreviewCriterion();\n }\n }\n\n static getCriterion (modelValue) {\n return {\n title: modelValue,\n property: null, // any property\n operator: \"contains\",\n value: modelValue\n };\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-search/src/search.controller.js","var isObject = require('./isObject'),\n now = require('./now'),\n toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/debounce.js\n// module id = 370\n// module chunks = 0","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/now.js\n// module id = 371\n// module chunks = 0","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-search/src/search.html\n// module id = 372\n// module chunks = 0","import CriteriaContainer from \"./criteria-container.component\";\n\nangular.module(\"oui.criteria-container\", [])\n .component(\"ouiCriteriaContainer\", CriteriaContainer);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-criteria-container/src/index.js","import controller from \"./criteria-container.controller\";\n\nexport default {\n template: \"\",\n transclude: true,\n controller,\n bindings: {\n onChange: \"&\"\n }\n};\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-criteria-container/src/criteria-container.component.js","import { findIndex } from \"lodash\";\n\nexport default class CriteriaController {\n $onInit () {\n this.criteria = [];\n }\n\n triggerChange () {\n if (this.onChange) {\n this.onChange({ modelValue: this.criteria });\n }\n }\n\n indexOfCriterion (criterion) {\n let criterionIndex = this.criteria.length - 1;\n while (criterionIndex >= 0 && !angular.equals(this.criteria[criterionIndex], criterion)) {\n --criterionIndex;\n }\n return criterionIndex;\n }\n\n setPreviewCriterion (previewCriterion) {\n const criterionIndex = findIndex(this.criteria, [\"preview\", true]);\n previewCriterion.preview = true;\n if (criterionIndex > -1) {\n this.criteria[criterionIndex] = previewCriterion;\n } else {\n this.criteria.push(previewCriterion);\n }\n this.triggerChange();\n }\n\n deletePreviewCriterion () {\n const previewCriterionIndex = findIndex(this.criteria, [\"preview\", true]);\n if (previewCriterionIndex > -1) {\n this.criteria.splice(previewCriterionIndex, 1);\n this.triggerChange();\n }\n }\n\n add (criterion) {\n // Delete same preview criterion if it exists.\n const previewCriterion = angular.copy(criterion);\n previewCriterion.preview = true;\n\n const previewCriterionIndex = this.indexOfCriterion(previewCriterion);\n if (previewCriterionIndex > -1) {\n this.criteria.splice(previewCriterionIndex, 1);\n }\n\n // Add the criterion if it does not exist.\n if (this.indexOfCriterion(criterion) < 0) {\n this.criteria.push(criterion);\n this.triggerChange();\n }\n }\n\n remove (criterion) {\n const criterionIndex = this.indexOfCriterion(criterion);\n if (criterionIndex > -1) {\n this.criteria.splice(criterionIndex, 1);\n this.triggerChange();\n }\n }\n\n set (criteria) {\n this.criteria = criteria;\n this.triggerChange();\n }\n\n clear () {\n this.criteria = [];\n this.triggerChange();\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-criteria-container/src/criteria-container.controller.js","import CriteriaAdder from \"./criteria-adder.component\";\nimport CriteriaAdderProvider from \"./criteria-adder.provider\";\n\nangular\n .module(\"oui.criteria-adder\", [])\n .component(\"ouiCriteriaAdder\", CriteriaAdder)\n .provider(\"ouiCriteriaAdderConfiguration\", CriteriaAdderProvider);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-criteria-adder/src/index.js","import controller from \"./criteria-adder.controller\";\nimport template from \"./criteria-adder.html\";\n\nexport default {\n require: {\n criteriaContainer: \"?^^ouiCriteriaContainer\"\n },\n bindings: {\n id: \"@?\",\n name: \"@\",\n align: \"@?\",\n\n properties: \"<\",\n disabled: \" {\n this.dropdownContent = this.$element[0];\n });\n\n // Auto select first column\n if (this.properties) {\n this.columnModel = this.properties[0];\n }\n\n this.selectableOperators = this.filterSelectableOperators();\n this.operatorModel = this.selectableOperators[0];\n\n this.resetValueModel();\n }\n\n $postLink () {\n // Sometimes the digest cycle is done before dom manipulation,\n // So we use $timeout to force the $apply\n this.$timeout(() => {\n this.$element\n .addClass(\"oui-criteria-adder\")\n .removeAttr(\"id\")\n .removeAttr(\"name\");\n });\n }\n\n getOperatorsByType (type) {\n const operators = this.operators[type] || [];\n return operators.map((operator) => ({\n name: operator,\n title: this.translations[`operator_${type}_${operator}`]\n }));\n }\n\n onColumnChange () {\n this.resetValueModel();\n this.selectableOperators = this.filterSelectableOperators();\n this.operatorModel = this.selectableOperators[0];\n }\n\n onFormSubmit () {\n if (this.valueModel[this.columnModel.type] !== undefined) {\n const modelValue = {\n title: `${this.columnModel.title} ${this.operatorModel.title} ${this.getCriterionValueLabel()}`,\n property: this.columnModel.name,\n operator: this.operatorModel.name,\n value: this.getCriterionValue()\n };\n\n this.onSubmit({ modelValue });\n this.resetValueModel();\n\n if (this.criteriaContainer) {\n this.criteriaContainer.add(modelValue);\n }\n }\n }\n\n getCriterionValue () {\n if ([\"boolean\", \"options\"].indexOf(this.columnModel.type) < 0) {\n return this.valueModel[this.columnModel.type];\n }\n\n return this.valueModel[this.columnModel.type].value;\n }\n\n getCriterionValueLabel () {\n switch (this.columnModel.type) {\n case \"boolean\":\n return this.getBooleanLabel(this.valueModel[this.columnModel.type].value);\n\n case \"options\":\n return this.getOptionsLabel(this.valueModel[this.columnModel.type].value);\n\n default:\n return this.valueModel[this.columnModel.type];\n }\n }\n\n getBooleanLabel (value) {\n if (value) {\n return get(this.columnModel, \"typeOptions.trueValue\") || this.translations.true_label;\n }\n\n return get(this.columnModel, \"typeOptions.falseValue\") || this.translations.false_label;\n }\n\n initBooleanCriterion () {\n this.booleanChoices = [true, false].map(value => ({\n name: this.getBooleanLabel(value),\n value\n }));\n this.valueModel[this.columnModel.type] = this.booleanChoices[0];\n }\n\n getOptionsLabel (value) {\n const options = get(this.columnModel, \"typeOptions.values\");\n return options && options[value] ? options[value] : value;\n }\n\n initOptionsCriterion () {\n const options = get(this.columnModel, \"typeOptions.values\");\n if (!options) {\n return;\n }\n\n this.optionsChoices = Object.keys(options)\n .map(key => ({\n name: options[key],\n value: key\n }))\n .sort((a, b) => String(a.name).localeCompare(String(b.name)));\n\n this.valueModel[this.columnModel.type] = this.optionsChoices[0];\n }\n\n resetValueModel () {\n Object.keys(this.valueModel).forEach(key => {\n this.valueModel[key] = undefined;\n });\n\n if (this.columnModel.type === \"boolean\") {\n this.initBooleanCriterion();\n } else if (this.columnModel.type === \"options\") {\n this.initOptionsCriterion();\n }\n }\n\n filterSelectableOperators () {\n const type = this.columnModel.type;\n const customOperatorsList = get(this.columnModel, \"typeOptions.operators\");\n const operators = customOperatorsList || this.operators[type] || [];\n return operators.map((operator) => ({\n name: operator,\n title: this.translations[`operator_${type}_${operator}`]\n }));\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-criteria-adder/src/criteria-adder.controller.js","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-criteria-adder/src/criteria-adder.html\n// module id = 379\n// module chunks = 0","export default class {\n constructor () {\n this.operatorsByType = {\n \"boolean\": [\n \"is\",\n \"isNot\"\n ],\n date: [\n \"is\",\n \"isAfter\",\n \"isBefore\"\n ],\n number: [\n \"is\",\n \"smaller\",\n \"bigger\"\n ],\n options: [\n \"is\",\n \"isNot\"\n ],\n string: [\n \"contains\",\n \"containsNot\",\n \"startsWith\",\n \"endsWith\",\n \"is\",\n \"isNot\"\n ]\n };\n\n this.translations = {\n column_label: \"Column\",\n operator_label: \"Operator\",\n\n operator_boolean_is: \"is\",\n operator_boolean_isNot: \"is not\",\n\n operator_string_contains: \"contains\",\n operator_string_containsNot: \"does not contain\",\n operator_string_startsWith: \"starts with\",\n operator_string_endsWith: \"ends with\",\n operator_string_is: \"is\",\n operator_string_isNot: \"is not\",\n\n operator_number_is: \"is\",\n operator_number_smaller: \"is smaller than\",\n operator_number_bigger: \"is bigger than\",\n\n operator_date_is: \"is\",\n operator_date_isBefore: \"is before\",\n operator_date_isAfter: \"is after\",\n\n operator_options_is: \"is\",\n operator_options_isNot: \"is not\",\n\n true_label: \"Yes\",\n false_label: \"No\",\n\n value_label: \"Value\",\n submit_label: \"Add\"\n };\n }\n\n /**\n * Set the operators by type\n * @param {Object} operatorsByType a list of operators by type\n */\n setOperatorsByType (operatorsByType) {\n this.operatorsByType = operatorsByType;\n return this;\n }\n\n /**\n * Set the translations\n * @param {Object} translations a map of translations\n */\n setTranslations (translations) {\n this.translations = translations;\n return this;\n }\n\n $get () {\n return {\n operatorsByType: this.operatorsByType,\n translations: this.translations\n };\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-criteria-adder/src/criteria-adder.provider.js","import Chips from \"./chips.component.js\";\n\nangular.module(\"oui.chips\", []).component(\"ouiChips\", Chips);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-chips/src/index.js","import controller from \"./chips.controller\";\nimport template from \"./chips.html\";\n\nexport default {\n require: {\n criteriaContainer: \"?^^ouiCriteriaContainer\"\n },\n template,\n controller,\n bindings: {\n items: \"<\",\n\n closable: \"\n this.$element\n .addClass(\"oui-chip__container\")\n );\n }\n\n removeItem (index) {\n // angular.copy to remove the $$hashKey\n const removed = angular.copy(this.items.splice(index, 1)[0]);\n const items = angular.copy(this.items);\n this.onRemove({ items, removed });\n\n if (this.criteriaContainer) {\n this.criteriaContainer.remove(removed);\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-chips/src/chips.controller.js","module.exports = \" \";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-chips/src/chips.html\n// module id = 384\n// module chunks = 0","import Popover from \"./popover.component.js\";\nimport PopoverContent from \"./popover-content.directive\";\nimport PopoverTrigger from \"./popover-trigger.directive\";\n\nangular.module(\"oui.popover\", [])\n .component(\"ouiPopover\", Popover)\n .directive(\"ouiPopoverContent\", PopoverContent)\n .directive(\"ouiPopoverTrigger\", PopoverTrigger);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-popover/src/index.js","import controller from \"./popover.controller\";\nimport template from \"./popover.html\";\n\nexport default {\n template,\n controller,\n bindings: {\n placement: \"@?\"\n },\n transclude: true\n};\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-popover/src/popover.component.js","import Popper from \"popper.js\";\n\nconst KEY_ESCAPE = 27;\n\nexport default class PopoverController {\n constructor ($scope, $element, $attrs, $document, $timeout) {\n \"ngInject\";\n\n this.$scope = $scope;\n this.$element = $element;\n this.$attrs = $attrs;\n this.$document = $document;\n this.$timeout = $timeout;\n }\n\n $onInit () {\n this.isPopoverOpen = false;\n\n // Use internal id to map trigger\n this.id = `ouiPopover${this.$scope.$id}`;\n\n if (angular.isUndefined(this.placement)) {\n this.placement = \"right\";\n }\n }\n\n $postLink () {\n this.triggerElement = this.$element[0].querySelector(\".oui-popover__trigger\");\n this.popperElement = this.$element[0].querySelector(\".oui-popover__content\");\n this.arrowElement = this.$element[0].querySelector(\".oui-popover__arrow\");\n }\n\n $destroy () {\n this.closePopover();\n }\n\n onTriggerClick () {\n if (!this.isPopoverOpen) {\n this.openPopover();\n } else {\n this.closePopover();\n }\n }\n\n triggerKeyHandler (evt) {\n if (evt && evt.type === \"keydown\" && evt.which === KEY_ESCAPE) {\n this.$scope.$apply(() => {\n this.closePopover();\n });\n }\n }\n\n openPopover () {\n this.isPopoverOpen = true;\n angular.element(this.$element.children()[0]).addClass(\"oui-popover_active\");\n this.updatePopper();\n\n this.$document.on(\"keydown\", evt => this.triggerKeyHandler(evt));\n this.$scope.$broadcast(\"oui:popover:afterOpen\", this.id);\n }\n\n closePopover () {\n this.isPopoverOpen = false;\n angular.element(this.$element.children()[0]).removeClass(\"oui-popover_active\");\n this.destroyPopper();\n\n this.$document.off(\"keydown\", evt => this.triggerKeyHandler(evt));\n this.$scope.$broadcast(\"oui:popover:afterClose\", this.id);\n }\n\n createPopper () {\n // Let Popper.js manage the arrow position when it's centered (default).\n if (this.arrowElement) {\n this.arrowElement.setAttribute(\"x-arrow\", \"\");\n }\n\n this.popperElement.style.minWidth = `${this.triggerElement.offsetWidth}px`;\n\n this.popper = new Popper(this.triggerElement, this.popperElement, {\n placement: this.placement,\n modifiers: {\n preventOverflow: {\n boundariesElement: this.$document[0].body\n }\n }\n });\n }\n\n updatePopper () {\n if (this.popper) {\n this.popper.scheduleUpdate();\n } else {\n this.createPopper();\n }\n }\n\n destroyPopper () {\n if (!this.popper) {\n return;\n }\n\n this.popper.destroy();\n this.popper = null;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-popover/src/popover.controller.js","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-popover/src/popover.html\n// module id = 388\n// module chunks = 0","import contentTemplate from \"./popover-content.html\";\n\nexport default () => {\n \"ngInject\";\n\n return {\n restrict: \"AE\",\n require: {\n popover: \"^ouiPopover\"\n },\n controller: class {},\n controllerAs: \"$ctrl\",\n bindToController: true,\n scope: {},\n template: contentTemplate,\n transclude: true\n };\n};\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-popover/src/popover-content.directive.js","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-popover/src/popover-content.html\n// module id = 390\n// module chunks = 0","const popoverTriggerClass = \"oui-popover__trigger\";\n\nexport default () => {\n \"ngInject\";\n\n return {\n restrict: \"AE\",\n require: \"^ouiPopover\",\n scope: {},\n link: (scope, element, attrs, ctrl) => {\n const triggerElement = element;\n\n triggerElement.addClass(popoverTriggerClass);\n\n triggerElement.attr(\"id\", ctrl.id);\n triggerElement.attr({ \"aria-haspopup\": true, \"aria-expanded\": false });\n\n triggerElement.on(\"click\", () => ctrl.onTriggerClick());\n\n scope.$on(\"oui:popover:afterOpen\", (e, id) => {\n if (id !== ctrl.id) {\n return;\n }\n\n triggerElement.attr(\"aria-expanded\", true);\n });\n\n scope.$on(\"oui:popover:afterClose\", (e, id) => {\n if (id !== ctrl.id) {\n return;\n }\n\n triggerElement.attr(\"aria-expanded\", false);\n });\n\n scope.$on(\"$destroy\", () => {\n triggerElement.off(\"click\");\n });\n }\n };\n};\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-popover/src/popover-trigger.directive.js","import StepForm from \"./step-form/step-form.component\";\nimport Stepper from \"./stepper.component\";\nimport StepperProvider from \"./stepper.provider\";\n\nangular.module(\"oui.stepper\", [])\n .component(\"ouiStepper\", Stepper)\n .component(\"ouiStepForm\", StepForm)\n .provider(\"ouiStepperConfiguration\", StepperProvider);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-stepper/src/index.js","import controller from \"./step-form.controller.js\";\nimport template from \"./step-form.html\";\n\nexport default {\n require: {\n stepperCtrl: \"^ouiStepper\"\n },\n bindings: {\n id: \"@?\",\n name: \"@?\",\n header: \"@\",\n description: \"@?\",\n\n cancelHref: \"@?\",\n cancelText: \"@?\",\n loadingText: \"@?\",\n submitText: \"@?\",\n\n disabled: \"\n this.$element\n .addClass(\"oui-stepper__step oui-stepper__step_form\")\n .removeAttr(\"id\")\n .removeAttr(\"name\")\n );\n }\n\n onFormSubmit (form) {\n if (form.$valid && this.valid) {\n this.onSubmit({ form });\n\n // Focus next step\n this.stepperCtrl.addForm(form, this.stepper.index);\n }\n }\n\n setFocus (form) {\n this.stepperCtrl.focusStep(this.stepper.index);\n form.$setPristine();\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-stepper/src/step-form/step-form.controller.js","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-stepper/src/step-form/step-form.html\n// module id = 395\n// module chunks = 0","import controller from \"./stepper.controller.js\";\nimport template from \"./stepper.html\";\n\nexport default {\n bindings: {\n name: \"@\",\n id: \"@\",\n onInit: \"&\",\n onFinish: \"&\"\n },\n controller,\n template,\n transclude: true\n};\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-stepper/src/stepper.component.js","export default class {\n constructor ($attrs, $element, $timeout) {\n \"ngInject\";\n\n this.$attrs = $attrs;\n this.$element = $element;\n this.$timeout = $timeout;\n }\n\n $onInit () {\n this.forms = [];\n this.steps = [];\n this.currentIndex = 0;\n this.onInit();\n }\n\n $postLink () {\n this.$timeout(() =>\n this.$element\n .removeAttr(\"id\")\n .removeAttr(\"name\")\n .addClass(\"oui-stepper\")\n );\n }\n\n addStep (step) {\n this.steps.push(step);\n this.focusStep(this.currentIndex);\n }\n\n addForm (form, index) {\n this.forms[index] = form;\n this.nextStep();\n\n // Check index for onFinish event\n if (index === this.steps.length - 1) {\n this.onFinish({ forms: this.forms });\n }\n }\n\n nextStep () {\n const indexToFocus = Math.min(this.currentIndex + 1, this.steps.length);\n this.focusStep(indexToFocus);\n }\n\n prevStep () {\n const indexToFocus = Math.max(this.currentIndex - 1, 0);\n this.focusStep(indexToFocus);\n }\n\n focusStep (indexToFocus) {\n this.currentIndex = indexToFocus;\n this.steps.forEach((step, index) => {\n const focused = index === indexToFocus;\n\n // Disable steps not focused\n if (angular.isDefined(step.stepper)) {\n step.stepper.index = index;\n step.stepper.focused = focused;\n step.stepper.disabled = index > this.currentIndex;\n step.stepper.last = index === this.steps.length - 1;\n }\n\n // Call onFocus step event\n if (focused) {\n step.onFocus();\n }\n });\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-stepper/src/stepper.controller.js","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-stepper/src/stepper.html\n// module id = 398\n// module chunks = 0","import { merge } from \"lodash\";\n\nexport default class {\n constructor () {\n this.translations = {\n optionalLabel: \"(optional)\",\n modifyThisStep: \"Modify this step\",\n skipThisStep: \"Skip this step\",\n nextButtonLabel: \"Next\",\n submitButtonLabel: \"Submit\",\n cancelButtonLabel: \"Cancel\"\n };\n }\n\n /**\n * Set the translations\n * @param {Object} translations a map of translations\n */\n setTranslations (translations) {\n this.translations = merge(this.translations, translations);\n return this;\n }\n\n $get () {\n return {\n translations: this.translations\n };\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-stepper/src/stepper.provider.js","import Skeleton from \"./skeleton.component.js\";\r\n\r\nangular.module(\"oui.skeleton\", [])\r\n .component(\"ouiSkeleton\", Skeleton);\r\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-skeleton/src/index.js","import controller from \"./skeleton.controller\";\nimport template from \"./skeleton.html\";\n\nexport default {\n controller,\n template,\n bindings: {\n size: \"@?\",\n randomized: \" {\n this.$element.addClass(`oui-skeleton oui-skeleton_${this.size}`);\n\n if (this.randomized) {\n // Needed for eslint\n const minWidth = 30;\n const maxWidth = 100;\n const randomWidth = Math.round((Math.random() * (maxWidth - minWidth)) + minWidth);\n\n this.$element.css(\"width\", `${randomWidth}%`);\n }\n });\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-skeleton/src/skeleton.controller.js","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-skeleton/src/skeleton.html\n// module id = 403\n// module chunks = 0","import Clipboard from \"./clipboard.component.js\";\r\nimport ClipboardProvider from \"./clipboard.provider.js\";\r\n\r\nangular\r\n .module(\"oui.clipboard\", []).component(\"ouiClipboard\", Clipboard)\r\n .provider(\"ouiClipboardConfiguration\", ClipboardProvider);\r\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-clipboard/src/index.js","import controller from \"./clipboard.controller\";\nimport template from \"./clipboard.html\";\n\nexport default {\n template,\n controller,\n bindings: {\n name: \"@?\",\n id: \"@?\",\n model: \"=\"\n }\n};\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-clipboard/src/clipboard.component.js","import Clipboard from \"clipboard\";\nexport default class {\n constructor ($attrs, $element, $timeout, ouiClipboardConfiguration) {\n \"ngInject\";\n this.$attrs = $attrs;\n this.$element = $element;\n this.$timeout = $timeout;\n this.translations = angular.copy(ouiClipboardConfiguration.translations);\n }\n\n $onInit () {\n this.tooltipText = this.translations.copyToClipboardLabel;\n this.trigger = this.$element[0].querySelector(\".oui-clipboard__button\");\n this.target = this.$element[0].querySelector(\".oui-clipboard__control\");\n }\n\n $onDestroy () {\n this.clipboard.destroy();\n }\n\n $postLink () {\n this.$timeout(() => {\n this.$element\n .addClass(\"oui-input-group oui-input-group_clipboard\")\n .removeAttr(\"id\")\n .removeAttr(\"name\");\n });\n\n // Init the clipboard instance\n this.clipboard = new Clipboard(this.trigger, {\n target: () => this.target,\n text: () => this.model\n });\n\n // Events for updating the tooltip\n this.clipboard\n .on(\"success\", () => this.selectInputText(this.translations.copiedLabel))\n .on(\"error\", () => this.selectInputText(this.translations.notSupported));\n }\n\n selectInputText (tooltipText) {\n const selectionEnd = this.model.length || 0;\n\n this.$timeout(() => {\n // Need to focus before selecting\n this.target.focus();\n\n // Select text on the target\n this.target.selectionStart = 0;\n this.target.selectionEnd = selectionEnd;\n this.target.setSelectionRange(0, selectionEnd);\n this.target.select();\n\n // Update tooltip text\n this.tooltipText = tooltipText;\n\n // Need to bind the reset like this because\n // ClipboardJS triggered the \"blur\" event\n // By copying in a fake textarea\n angular.element(this.target).one(\"blur\", () => this.reset());\n });\n }\n\n onInputClick () {\n this.trigger.click();\n }\n\n reset () {\n const resetDelay = 500;\n\n // Add delay for resetting after tooltip animation\n this.$timeout(() => {\n this.tooltipText = this.translations.copyToClipboardLabel;\n }, resetDelay);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-clipboard/src/clipboard.controller.js","/*!\n * clipboard.js v2.0.1\n * https://zenorocha.github.io/clipboard.js\n * \n * Licensed MIT © Zeno Rocha\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ClipboardJS\"] = factory();\n\telse\n\t\troot[\"ClipboardJS\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 3);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n if (true) {\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, __webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else if (typeof exports !== \"undefined\") {\n factory(module, require('select'));\n } else {\n var mod = {\n exports: {}\n };\n factory(mod, global.select);\n global.clipboardAction = mod.exports;\n }\n})(this, function (module, _select) {\n 'use strict';\n\n var _select2 = _interopRequireDefault(_select);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n var ClipboardAction = function () {\n /**\n * @param {Object} options\n */\n function ClipboardAction(options) {\n _classCallCheck(this, ClipboardAction);\n\n this.resolveOptions(options);\n this.initSelection();\n }\n\n /**\n * Defines base properties passed from constructor.\n * @param {Object} options\n */\n\n\n _createClass(ClipboardAction, [{\n key: 'resolveOptions',\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.action = options.action;\n this.container = options.container;\n this.emitter = options.emitter;\n this.target = options.target;\n this.text = options.text;\n this.trigger = options.trigger;\n\n this.selectedText = '';\n }\n }, {\n key: 'initSelection',\n value: function initSelection() {\n if (this.text) {\n this.selectFake();\n } else if (this.target) {\n this.selectTarget();\n }\n }\n }, {\n key: 'selectFake',\n value: function selectFake() {\n var _this = this;\n\n var isRTL = document.documentElement.getAttribute('dir') == 'rtl';\n\n this.removeFake();\n\n this.fakeHandlerCallback = function () {\n return _this.removeFake();\n };\n this.fakeHandler = this.container.addEventListener('click', this.fakeHandlerCallback) || true;\n\n this.fakeElem = document.createElement('textarea');\n // Prevent zooming on iOS\n this.fakeElem.style.fontSize = '12pt';\n // Reset box model\n this.fakeElem.style.border = '0';\n this.fakeElem.style.padding = '0';\n this.fakeElem.style.margin = '0';\n // Move element out of screen horizontally\n this.fakeElem.style.position = 'absolute';\n this.fakeElem.style[isRTL ? 'right' : 'left'] = '-9999px';\n // Move element to the same position vertically\n var yPosition = window.pageYOffset || document.documentElement.scrollTop;\n this.fakeElem.style.top = yPosition + 'px';\n\n this.fakeElem.setAttribute('readonly', '');\n this.fakeElem.value = this.text;\n\n this.container.appendChild(this.fakeElem);\n\n this.selectedText = (0, _select2.default)(this.fakeElem);\n this.copyText();\n }\n }, {\n key: 'removeFake',\n value: function removeFake() {\n if (this.fakeHandler) {\n this.container.removeEventListener('click', this.fakeHandlerCallback);\n this.fakeHandler = null;\n this.fakeHandlerCallback = null;\n }\n\n if (this.fakeElem) {\n this.container.removeChild(this.fakeElem);\n this.fakeElem = null;\n }\n }\n }, {\n key: 'selectTarget',\n value: function selectTarget() {\n this.selectedText = (0, _select2.default)(this.target);\n this.copyText();\n }\n }, {\n key: 'copyText',\n value: function copyText() {\n var succeeded = void 0;\n\n try {\n succeeded = document.execCommand(this.action);\n } catch (err) {\n succeeded = false;\n }\n\n this.handleResult(succeeded);\n }\n }, {\n key: 'handleResult',\n value: function handleResult(succeeded) {\n this.emitter.emit(succeeded ? 'success' : 'error', {\n action: this.action,\n text: this.selectedText,\n trigger: this.trigger,\n clearSelection: this.clearSelection.bind(this)\n });\n }\n }, {\n key: 'clearSelection',\n value: function clearSelection() {\n if (this.trigger) {\n this.trigger.focus();\n }\n\n window.getSelection().removeAllRanges();\n }\n }, {\n key: 'destroy',\n value: function destroy() {\n this.removeFake();\n }\n }, {\n key: 'action',\n set: function set() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'copy';\n\n this._action = action;\n\n if (this._action !== 'copy' && this._action !== 'cut') {\n throw new Error('Invalid \"action\" value, use either \"copy\" or \"cut\"');\n }\n },\n get: function get() {\n return this._action;\n }\n }, {\n key: 'target',\n set: function set(target) {\n if (target !== undefined) {\n if (target && (typeof target === 'undefined' ? 'undefined' : _typeof(target)) === 'object' && target.nodeType === 1) {\n if (this.action === 'copy' && target.hasAttribute('disabled')) {\n throw new Error('Invalid \"target\" attribute. Please use \"readonly\" instead of \"disabled\" attribute');\n }\n\n if (this.action === 'cut' && (target.hasAttribute('readonly') || target.hasAttribute('disabled'))) {\n throw new Error('Invalid \"target\" attribute. You can\\'t cut text from elements with \"readonly\" or \"disabled\" attributes');\n }\n\n this._target = target;\n } else {\n throw new Error('Invalid \"target\" value, use a valid Element');\n }\n }\n },\n get: function get() {\n return this._target;\n }\n }]);\n\n return ClipboardAction;\n }();\n\n module.exports = ClipboardAction;\n});\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar is = __webpack_require__(6);\nvar delegate = __webpack_require__(5);\n\n/**\n * Validates all params and calls the right\n * listener function based on its target type.\n *\n * @param {String|HTMLElement|HTMLCollection|NodeList} target\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listen(target, type, callback) {\n if (!target && !type && !callback) {\n throw new Error('Missing required arguments');\n }\n\n if (!is.string(type)) {\n throw new TypeError('Second argument must be a String');\n }\n\n if (!is.fn(callback)) {\n throw new TypeError('Third argument must be a Function');\n }\n\n if (is.node(target)) {\n return listenNode(target, type, callback);\n }\n else if (is.nodeList(target)) {\n return listenNodeList(target, type, callback);\n }\n else if (is.string(target)) {\n return listenSelector(target, type, callback);\n }\n else {\n throw new TypeError('First argument must be a String, HTMLElement, HTMLCollection, or NodeList');\n }\n}\n\n/**\n * Adds an event listener to a HTML element\n * and returns a remove listener function.\n *\n * @param {HTMLElement} node\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNode(node, type, callback) {\n node.addEventListener(type, callback);\n\n return {\n destroy: function() {\n node.removeEventListener(type, callback);\n }\n }\n}\n\n/**\n * Add an event listener to a list of HTML elements\n * and returns a remove listener function.\n *\n * @param {NodeList|HTMLCollection} nodeList\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNodeList(nodeList, type, callback) {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.addEventListener(type, callback);\n });\n\n return {\n destroy: function() {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.removeEventListener(type, callback);\n });\n }\n }\n}\n\n/**\n * Add an event listener to a selector\n * and returns a remove listener function.\n *\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenSelector(selector, type, callback) {\n return delegate(document.body, selector, type, callback);\n}\n\nmodule.exports = listen;\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports) {\n\nfunction E () {\n // Keep this empty so it's easier to inherit from\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\n}\n\nE.prototype = {\n on: function (name, callback, ctx) {\n var e = this.e || (this.e = {});\n\n (e[name] || (e[name] = [])).push({\n fn: callback,\n ctx: ctx\n });\n\n return this;\n },\n\n once: function (name, callback, ctx) {\n var self = this;\n function listener () {\n self.off(name, listener);\n callback.apply(ctx, arguments);\n };\n\n listener._ = callback\n return this.on(name, listener, ctx);\n },\n\n emit: function (name) {\n var data = [].slice.call(arguments, 1);\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\n var i = 0;\n var len = evtArr.length;\n\n for (i; i < len; i++) {\n evtArr[i].fn.apply(evtArr[i].ctx, data);\n }\n\n return this;\n },\n\n off: function (name, callback) {\n var e = this.e || (this.e = {});\n var evts = e[name];\n var liveEvents = [];\n\n if (evts && callback) {\n for (var i = 0, len = evts.length; i < len; i++) {\n if (evts[i].fn !== callback && evts[i].fn._ !== callback)\n liveEvents.push(evts[i]);\n }\n }\n\n // Remove event from queue to prevent memory leak\n // Suggested by https://github.com/lazd\n // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910\n\n (liveEvents.length)\n ? e[name] = liveEvents\n : delete e[name];\n\n return this;\n }\n};\n\nmodule.exports = E;\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n if (true) {\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, __webpack_require__(0), __webpack_require__(2), __webpack_require__(1)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else if (typeof exports !== \"undefined\") {\n factory(module, require('./clipboard-action'), require('tiny-emitter'), require('good-listener'));\n } else {\n var mod = {\n exports: {}\n };\n factory(mod, global.clipboardAction, global.tinyEmitter, global.goodListener);\n global.clipboard = mod.exports;\n }\n})(this, function (module, _clipboardAction, _tinyEmitter, _goodListener) {\n 'use strict';\n\n var _clipboardAction2 = _interopRequireDefault(_clipboardAction);\n\n var _tinyEmitter2 = _interopRequireDefault(_tinyEmitter);\n\n var _goodListener2 = _interopRequireDefault(_goodListener);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n\n var Clipboard = function (_Emitter) {\n _inherits(Clipboard, _Emitter);\n\n /**\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n * @param {Object} options\n */\n function Clipboard(trigger, options) {\n _classCallCheck(this, Clipboard);\n\n var _this = _possibleConstructorReturn(this, (Clipboard.__proto__ || Object.getPrototypeOf(Clipboard)).call(this));\n\n _this.resolveOptions(options);\n _this.listenClick(trigger);\n return _this;\n }\n\n /**\n * Defines if attributes would be resolved using internal setter functions\n * or custom functions that were passed in the constructor.\n * @param {Object} options\n */\n\n\n _createClass(Clipboard, [{\n key: 'resolveOptions',\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.action = typeof options.action === 'function' ? options.action : this.defaultAction;\n this.target = typeof options.target === 'function' ? options.target : this.defaultTarget;\n this.text = typeof options.text === 'function' ? options.text : this.defaultText;\n this.container = _typeof(options.container) === 'object' ? options.container : document.body;\n }\n }, {\n key: 'listenClick',\n value: function listenClick(trigger) {\n var _this2 = this;\n\n this.listener = (0, _goodListener2.default)(trigger, 'click', function (e) {\n return _this2.onClick(e);\n });\n }\n }, {\n key: 'onClick',\n value: function onClick(e) {\n var trigger = e.delegateTarget || e.currentTarget;\n\n if (this.clipboardAction) {\n this.clipboardAction = null;\n }\n\n this.clipboardAction = new _clipboardAction2.default({\n action: this.action(trigger),\n target: this.target(trigger),\n text: this.text(trigger),\n container: this.container,\n trigger: trigger,\n emitter: this\n });\n }\n }, {\n key: 'defaultAction',\n value: function defaultAction(trigger) {\n return getAttributeValue('action', trigger);\n }\n }, {\n key: 'defaultTarget',\n value: function defaultTarget(trigger) {\n var selector = getAttributeValue('target', trigger);\n\n if (selector) {\n return document.querySelector(selector);\n }\n }\n }, {\n key: 'defaultText',\n value: function defaultText(trigger) {\n return getAttributeValue('text', trigger);\n }\n }, {\n key: 'destroy',\n value: function destroy() {\n this.listener.destroy();\n\n if (this.clipboardAction) {\n this.clipboardAction.destroy();\n this.clipboardAction = null;\n }\n }\n }], [{\n key: 'isSupported',\n value: function isSupported() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['copy', 'cut'];\n\n var actions = typeof action === 'string' ? [action] : action;\n var support = !!document.queryCommandSupported;\n\n actions.forEach(function (action) {\n support = support && !!document.queryCommandSupported(action);\n });\n\n return support;\n }\n }]);\n\n return Clipboard;\n }(_tinyEmitter2.default);\n\n /**\n * Helper function to retrieve attribute value.\n * @param {String} suffix\n * @param {Element} element\n */\n function getAttributeValue(suffix, element) {\n var attribute = 'data-clipboard-' + suffix;\n\n if (!element.hasAttribute(attribute)) {\n return;\n }\n\n return element.getAttribute(attribute);\n }\n\n module.exports = Clipboard;\n});\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports) {\n\nvar DOCUMENT_NODE_TYPE = 9;\n\n/**\n * A polyfill for Element.matches()\n */\nif (typeof Element !== 'undefined' && !Element.prototype.matches) {\n var proto = Element.prototype;\n\n proto.matches = proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector;\n}\n\n/**\n * Finds the closest parent that matches a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @return {Function}\n */\nfunction closest (element, selector) {\n while (element && element.nodeType !== DOCUMENT_NODE_TYPE) {\n if (typeof element.matches === 'function' &&\n element.matches(selector)) {\n return element;\n }\n element = element.parentNode;\n }\n}\n\nmodule.exports = closest;\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar closest = __webpack_require__(4);\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction _delegate(element, selector, type, callback, useCapture) {\n var listenerFn = listener.apply(this, arguments);\n\n element.addEventListener(type, listenerFn, useCapture);\n\n return {\n destroy: function() {\n element.removeEventListener(type, listenerFn, useCapture);\n }\n }\n}\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element|String|Array} [elements]\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction delegate(elements, selector, type, callback, useCapture) {\n // Handle the regular Element usage\n if (typeof elements.addEventListener === 'function') {\n return _delegate.apply(null, arguments);\n }\n\n // Handle Element-less usage, it defaults to global delegation\n if (typeof type === 'function') {\n // Use `document` as the first parameter, then apply arguments\n // This is a short way to .unshift `arguments` without running into deoptimizations\n return _delegate.bind(null, document).apply(null, arguments);\n }\n\n // Handle Selector-based usage\n if (typeof elements === 'string') {\n elements = document.querySelectorAll(elements);\n }\n\n // Handle Array-like based usage\n return Array.prototype.map.call(elements, function (element) {\n return _delegate(element, selector, type, callback, useCapture);\n });\n}\n\n/**\n * Finds closest match and invokes callback.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Function}\n */\nfunction listener(element, selector, type, callback) {\n return function(e) {\n e.delegateTarget = closest(e.target, selector);\n\n if (e.delegateTarget) {\n callback.call(element, e);\n }\n }\n}\n\nmodule.exports = delegate;\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports) {\n\n/**\n * Check if argument is a HTML element.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.node = function(value) {\n return value !== undefined\n && value instanceof HTMLElement\n && value.nodeType === 1;\n};\n\n/**\n * Check if argument is a list of HTML elements.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.nodeList = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return value !== undefined\n && (type === '[object NodeList]' || type === '[object HTMLCollection]')\n && ('length' in value)\n && (value.length === 0 || exports.node(value[0]));\n};\n\n/**\n * Check if argument is a string.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.string = function(value) {\n return typeof value === 'string'\n || value instanceof String;\n};\n\n/**\n * Check if argument is a function.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.fn = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return type === '[object Function]';\n};\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports) {\n\nfunction select(element) {\n var selectedText;\n\n if (element.nodeName === 'SELECT') {\n element.focus();\n\n selectedText = element.value;\n }\n else if (element.nodeName === 'INPUT' || element.nodeName === 'TEXTAREA') {\n var isReadOnly = element.hasAttribute('readonly');\n\n if (!isReadOnly) {\n element.setAttribute('readonly', '');\n }\n\n element.select();\n element.setSelectionRange(0, element.value.length);\n\n if (!isReadOnly) {\n element.removeAttribute('readonly');\n }\n\n selectedText = element.value;\n }\n else {\n if (element.hasAttribute('contenteditable')) {\n element.focus();\n }\n\n var selection = window.getSelection();\n var range = document.createRange();\n\n range.selectNodeContents(element);\n selection.removeAllRanges();\n selection.addRange(range);\n\n selectedText = selection.toString();\n }\n\n return selectedText;\n}\n\nmodule.exports = select;\n\n\n/***/ })\n/******/ ]);\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/clipboard/dist/clipboard.js\n// module id = 407\n// module chunks = 0","module.exports = \" \";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-clipboard/src/clipboard.html\n// module id = 408\n// module chunks = 0","import { merge } from \"lodash\";\nexport default class {\n constructor () {\n this.translations = {\n copyToClipboardLabel: \"Copy to clipboard\",\n copiedLabel: \"Copied\",\n notSupported: \"Copy to clipboard not supported. Please copy the text manually\"\n };\n }\n\n /**\n * Set the translations\n * @param {Object} translations a map of translations\n */\n setTranslations (translations) {\n this.translations = merge(this.translations, translations);\n return this;\n }\n\n $get () {\n return {\n translations: this.translations\n };\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-clipboard/src/clipboard.provider.js","import Slideshow from \"./slideshow.component\";\nimport SlideshowPanel from \"./slideshow-panel.component\";\n\nangular.module(\"oui.slideshow\", [])\n .component(\"ouiSlideshow\", Slideshow)\n .component(\"ouiSlideshowPanel\", SlideshowPanel);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-slideshow/src/index.js","import controller from \"./slideshow.controller\";\nimport template from \"./slideshow.html\";\n\nexport default {\n template,\n controller,\n transclude: true,\n bindings: {\n onDismiss: \"&\",\n loading: \" 0;\n this._client = { x: 0, y: 0 };\n }\n\n $postLink () {\n this.$document.on(\"keydown\", evt => this._triggerKeyHandler(evt));\n\n this.$timeout(() => {\n this.panels = this.$element[0].querySelectorAll(\"oui-slideshow-panel\");\n\n if (this.panels[0]) {\n this.isIllustrated = this._isIllustratedPanel(0);\n const firstPanelElement = this.panels[0].querySelector(`.${PANEL_CLASSNAME}`);\n firstPanelElement.setAttribute(\"aria-hidden\", \"false\");\n const $firstPanelElement = angular.element(firstPanelElement);\n $firstPanelElement.addClass(\"active\");\n }\n\n if (this._isTouch) {\n angular.element(this._componentElement).addClass(\"touchDevice\");\n this._setTouchEventListener();\n }\n });\n }\n\n $destroy () {\n this.closeOnBoarding();\n }\n\n closeOnBoarding () {\n if (this.onDismiss) {\n this.onDismiss(event);\n }\n\n this.$document.off(\"keydown\", evt => this._triggerKeyHandler(evt));\n this.$scope.$broadcast(\"oui:modalOnBoarding:afterClose\", this.id);\n }\n\n next () {\n if (!this._isSliding) {\n this._slide(Direction.NEXT);\n }\n }\n\n prev () {\n if (!this._isSliding) {\n this._slide(Direction.PREV);\n }\n }\n\n slideTo (index) {\n const active = this.currentIndex;\n const waiting = 10;\n\n if (index > this.panels.length - 1 || index < 0 || index === active) {\n return;\n }\n\n if (this._isSliding) {\n this.$timeout(() => this.slideTo(index), waiting);\n return;\n }\n\n this._slide(index > active ? Direction.NEXT : Direction.PREV, index);\n }\n\n _getIndexByDirection (direction) {\n const isNextDirection = direction === Direction.NEXT;\n const isPrevDirection = direction === Direction.PREV;\n const lastItemIndex = this.panels.length - 1;\n const isGoingToWrap = (isPrevDirection && this.currentIndex === 0) || (isNextDirection && this.currentIndex === lastItemIndex);\n\n if (isGoingToWrap && !this.loop) {\n return this.currentIndex;\n }\n\n const delta = direction === Direction.PREV ? -1 : 1;\n const itemIndex = (this.currentIndex + delta) % this.panels.length;\n\n return itemIndex === -1 ? this.panels.length - 1 : itemIndex;\n }\n\n _slide (direction, indexTo) {\n const slideType = direction === Direction.NEXT ? Direction.LEFT : Direction.RIGHT;\n const activePanel = this.panels[this.currentIndex].querySelector(`.${PANEL_CLASSNAME}`);\n const $activePanel = angular.element(activePanel);\n const nextPanelIndex = indexTo === 0 ? 0 : indexTo || (activePanel && this._getIndexByDirection(direction));\n const nextPanel = this.panels[nextPanelIndex].querySelector(`.${PANEL_CLASSNAME}`);\n const $nextPanel = angular.element(nextPanel);\n\n if (nextPanel && $nextPanel.hasClass(\"active\")) {\n this._isSliding = false;\n return;\n }\n\n if (!activePanel || !nextPanel) {\n return;\n }\n\n this._isSliding = true;\n const nextIsIllustrated = this._isIllustratedPanel(nextPanelIndex);\n\n $nextPanel.addClass(direction);\n this.constructor.reflowElement($nextPanel);\n $activePanel.addClass(slideType);\n this.constructor.reflowElement($activePanel);\n $nextPanel.addClass(slideType);\n\n this.currentIndex = nextPanelIndex;\n if (direction === Direction.NEXT) {\n this.isIllustrated = nextIsIllustrated;\n }\n\n this.$timeout(() => {\n $activePanel.removeClass(`active ${slideType}`);\n activePanel.setAttribute(\"aria-hidden\", \"true\");\n $nextPanel.removeClass(`${direction} ${slideType}`);\n $nextPanel.addClass(\"active\");\n nextPanel.setAttribute(\"aria-hidden\", \"false\");\n this.isIllustrated = nextIsIllustrated;\n this._isSliding = false;\n }, TRANSITION_DURATION);\n }\n\n _setTouchEventListener () {\n if (this._contentElement) {\n this._contentElement.addEventListener(\"touchstart\", evt => {\n evt.preventDefault();\n this._client.x = evt.touches[0].clientX || 0;\n this._client.y = evt.touches[0].clientY || 0;\n });\n\n this._contentElement.addEventListener(\"touchmove\", evt => {\n evt.preventDefault();\n if (!this._client.x || !this._client.y) {\n return;\n }\n\n const xDiff = this._client.x - evt.touches[0].clientX;\n const yDiff = this._client.y - evt.touches[0].clientY;\n const minDiff = 2; // deal with short swipes\n\n if (Math.abs(xDiff) > Math.abs(yDiff) && Math.abs(xDiff) + Math.abs(yDiff) > minDiff) {\n if (xDiff > 0) {\n this.next();\n } else {\n this.prev();\n }\n }\n\n this._client.x = 0;\n this._client.y = 0;\n });\n }\n }\n\n _triggerKeyHandler (evt) {\n if (evt && evt.type === \"keydown\" && evt.which === KEY_ESCAPE) {\n this.$scope.$apply(() => {\n this.closeOnBoarding();\n });\n }\n }\n\n _isIllustratedPanel (index) {\n return !!this.panels[index].attributes.picture || !!this.panels[index].dataset.picture;\n }\n\n static reflowElement ($element) {\n return $element[0].offsetHeight;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-slideshow/src/slideshow.controller.js","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-slideshow/src/slideshow.html\n// module id = 413\n// module chunks = 0","import controller from \"./slideshow-panel.controller\";\nimport template from \"./slideshow-panel.html\";\n\nexport default {\n template,\n controller,\n bindings: {\n heading: \"@?\",\n text: \"@?\",\n picture: \"@?\",\n onClick: \"&?\",\n href: \"@?\",\n external: \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-slideshow/src/slideshow-panel.html\n// module id = 416\n// module chunks = 0","import PageHeader from \"./page-header.component\";\n\nangular.module(\"oui.page-header\", [])\n .component(\"ouiPageHeader\", PageHeader);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-page-header/src/index.js","import controller from \"./page-header.controller.js\";\nimport template from \"./page-header.html\";\n\nexport default {\n template,\n controller,\n bindings: {\n heading: \"@?\",\n description: \"@?\"\n },\n transclude: {\n guide: \"?ouiGuideMenu\",\n tabs: \"?ouiHeaderTabs\"\n }\n};\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-page-header/src/page-header.component.js","export default class {\n constructor ($attrs, $transclude) {\n \"ngInject\";\n\n this.$attrs = $attrs;\n this.$transclude = $transclude;\n }\n\n $onInit () {\n this.transcludeGuide = this.$transclude.isSlotFilled(\"guide\");\n this.transcludeTabs = this.$transclude.isSlotFilled(\"tabs\");\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-page-header/src/page-header.controller.js","module.exports = \"

\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-page-header/src/page-header.html\n// module id = 420\n// module chunks = 0","import Tile from \"./tile.component.js\";\nimport TileButton from \"./button/tile-button.component.js\";\nimport TileDefinition from \"./definition/tile-definition.component.js\";\n\nangular.module(\"oui.tile\", [])\n .component(\"ouiTile\", Tile)\n .component(\"ouiTileButton\", TileButton)\n .component(\"ouiTileDefinition\", TileDefinition);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-tile/src/index.js","import controller from \"./tile.controller\";\nimport template from \"./tile.html\";\n\nexport default {\n template,\n controller,\n bindings: {\n heading: \"@?\",\n description: \"@?\",\n loading: \"\n this.$element\n .addClass(\"oui-tile\")\n );\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-tile/src/tile.controller.js","module.exports = \"

\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-tile/src/tile.html\n// module id = 424\n// module chunks = 0","import controller from \"./tile-button.controller\";\nimport template from \"./tile-button.html\";\n\nexport default {\n template,\n controller,\n bindings: {\n text: \"@?\",\n onClick: \"&?\",\n href: \"@?\",\n ariaLabel: \"@?\"\n },\n transclude: true\n};\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-tile/src/button/tile-button.component.js","export default class {\n constructor ($attrs, $element, $timeout) {\n \"ngInject\";\n\n this.$attrs = $attrs;\n this.$element = $element;\n this.$timeout = $timeout;\n }\n\n $postLink () {\n // Sometimes the digest cycle is done before dom manipulation,\n // So we use $timeout to force the $apply\n this.$timeout(() =>\n this.$element\n .addClass(\"oui-tile__item oui-tile__item_button\")\n );\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-tile/src/button/tile-button.controller.js","module.exports = \" {{ :: $ctrl.text }} \";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-tile/src/button/tile-button.html\n// module id = 427\n// module chunks = 0","import controller from \"./tile-definition.controller\";\nimport template from \"./tile-definition.html\";\n\nexport default {\n template,\n controller,\n bindings: {\n term: \"@?\",\n termPopover: \"@?\",\n description: \"@?\",\n actions: \"=?\"\n },\n transclude: {\n descriptionSlot: \"?ouiTileDescription\",\n actionSlot: \"?ouiActionMenu\"\n }\n};\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-tile/src/definition/tile-definition.component.js","export default class {\n constructor ($attrs, $element, $timeout, $transclude) {\n \"ngInject\";\n\n this.$attrs = $attrs;\n this.$element = $element;\n this.$timeout = $timeout;\n this.$transclude = $transclude;\n }\n\n $onInit () {\n this.transcludeAction = this.$transclude.isSlotFilled(\"actionSlot\");\n }\n\n $postLink () {\n // Sometimes the digest cycle is done before dom manipulation,\n // So we use $timeout to force the $apply\n this.$timeout(() =>\n this.$element\n .addClass(\"oui-tile__item\")\n );\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-tile/src/definition/tile-definition.controller.js","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-tile/src/definition/tile-definition.html\n// module id = 430\n// module chunks = 0","import DropdownDivider from \"../../oui-dropdown/src/divider/dropdown-divider.component\";\nimport DropdownGroup from \"../../oui-dropdown/src/group/dropdown-group.component\";\nimport DropdownItem from \"../../oui-dropdown/src/item/dropdown-item.component\";\nimport GuideMenu from \"./guide-menu.component\";\n\nangular.module(\"oui.guide-menu\", [])\n .component(\"ouiGuideMenu\", GuideMenu)\n .component(\"ouiGuideMenuDivider\", DropdownDivider)\n .component(\"ouiGuideMenuGroup\", DropdownGroup)\n .component(\"ouiGuideMenuItem\", DropdownItem);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-guide-menu/src/index.js","import controller from \"./guide-menu.controller\";\nimport template from \"./guide-menu.html\";\n\nexport default {\n template,\n controller,\n bindings: {\n text: \"@\",\n align: \"@?\",\n ariaLabel: \"@?\"\n },\n transclude: true\n};\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-guide-menu/src/guide-menu.component.js","import { addDefaultParameter } from \"@oui-angular/common/component-utils\";\n\nexport default class {\n constructor ($attrs, $element, $timeout) {\n \"ngInject\";\n\n this.$attrs = $attrs;\n this.$element = $element;\n this.$timeout = $timeout;\n }\n\n $onInit () {\n addDefaultParameter(this, \"align\", \"end\");\n }\n\n $postLink () {\n this.$timeout(() =>\n this.$element\n .removeAttr(\"aria-label\")\n );\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-guide-menu/src/guide-menu.controller.js","module.exports = \" \";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-guide-menu/src/guide-menu.html\n// module id = 434\n// module chunks = 0","import HeaderTabs from \"./header-tabs.component\";\nimport HeaderTabsDivider from \"../../oui-dropdown/src/divider/dropdown-divider.component\";\nimport HeaderTabsDropdown from \"./header-tabs-dropdown.component\";\nimport HeaderTabsItem from \"./header-tabs-item.component\";\n\nangular.module(\"oui.header-tabs\", [])\n .component(\"ouiHeaderTabs\", HeaderTabs)\n .component(\"ouiHeaderTabsDivider\", HeaderTabsDivider)\n .component(\"ouiHeaderTabsDropdown\", HeaderTabsDropdown)\n .component(\"ouiHeaderTabsItem\", HeaderTabsItem);\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-header-tabs/src/index.js","import controller from \"./header-tabs.controller\";\nimport template from \"./header-tabs.html\";\n\nexport default {\n template,\n controller,\n transclude: true\n};\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-header-tabs/src/header-tabs.component.js","const checkScrollDelay = 800;\n\nexport default class {\n constructor ($attrs, $element, $interval, $scope, $timeout, $window) {\n \"ngInject\";\n\n this.$attrs = $attrs;\n this.$element = $element;\n this.$interval = $interval;\n this.$scope = $scope;\n this.$timeout = $timeout;\n this.$window = $window;\n }\n\n $onInit () {\n this.scroll = {\n begin: 0,\n end: 0\n };\n }\n\n $onDestroy () {\n angular.element(this._tabsElement).off(\"scroll\");\n angular.element(this.$window).off(\"resize\");\n }\n\n $postLink () {\n this.$timeout(() => {\n this.$element\n .addClass(\"oui-header-tabs\");\n\n this._tabsElement = this.$element[0].querySelector(\".oui-header-tabs__container\");\n angular.element(this._tabsElement).on(\"scroll\", event => this._checkScroll(event));\n angular.element(this.$window).on(\"resize\", event => this._checkScroll(event));\n this._initialCheck();\n });\n\n /* On initial render, we need to wait few seconds before calling\n the checkScroll method otherwise panel size would be wrong. */\n this.$timeout(() => this._initialCheck(), checkScrollDelay);\n }\n\n scrollLeft () {\n this._scroll(\"left\");\n }\n\n scrollRight () {\n this._scroll(\"right\");\n }\n\n _initialCheck () {\n const activeTab = this.$element[0].querySelector(\".oui-header-tabs__item_active\");\n if (activeTab && activeTab.offsetLeft - this._tabsElement.offsetLeft > 0) {\n this._tabsElement.scrollLeft = activeTab.offsetLeft - this._tabsElement.offsetLeft;\n } else {\n this.scroll.end = this._tabsElement.scrollWidth - this._tabsElement.offsetWidth;\n }\n }\n\n _scroll (direction) {\n const itemToGo = this._findItemToGo(direction);\n this._scrollToItem(direction, itemToGo);\n }\n\n _checkScroll (e) {\n if (e) {\n e.preventDefault();\n }\n\n this.scroll.begin = this._tabsElement.scrollLeft;\n this.scroll.end = this._tabsElement.scrollWidth - this._tabsElement.offsetWidth - this._tabsElement.scrollLeft;\n this.$scope.$digest();\n }\n\n _findItemToGo (direction) {\n const tabsList = [].slice.call(this._tabsElement.querySelectorAll(\":scope > .oui-header-tabs__item\"));\n const tabsOffset = this._tabsElement.offsetLeft;\n const tabsStart = this._tabsElement.scrollLeft;\n const tabsEnd = tabsStart + this._tabsElement.offsetWidth;\n\n let itemGutter = 0;\n if (tabsList && tabsList.length > 1) {\n itemGutter = tabsList[1].offsetLeft - (tabsList[0].offsetLeft + tabsList[0].offsetWidth);\n }\n\n let itemToGo = tabsList[0];\n for (const item of tabsList) {\n const itemStart = item.offsetLeft - tabsOffset;\n if (direction === \"right\" && itemStart <= tabsEnd + tabsOffset + itemGutter) {\n itemToGo = item;\n } else if (direction === \"left\" && itemStart < tabsStart) {\n itemToGo = item;\n } else {\n break;\n }\n }\n return itemToGo;\n }\n\n _scrollToItem (direction, item) {\n const duration = 500;\n const stepDuration = 15;\n const step = this._tabsElement.scrollWidth / (duration / stepDuration);\n\n const itemStart = item.offsetLeft - this._tabsElement.offsetLeft;\n const itemEnd = itemStart + item.offsetWidth;\n const tabsWidth = this._tabsElement.offsetWidth;\n\n const loop = this.$interval(() => {\n const tabsStart = this._tabsElement.scrollLeft;\n const tabsEnd = this._tabsElement.scrollWidth - this._tabsElement.offsetWidth - this._tabsElement.scrollLeft;\n const screenEnd = tabsStart + this._tabsElement.offsetWidth;\n\n if (direction === \"right\" && tabsEnd > 0 && (tabsStart + step < itemStart || itemEnd > screenEnd)) {\n this._tabsElement.scrollLeft += step;\n } else if (direction === \"left\" && tabsStart > 0 && (screenEnd - step > itemEnd || itemStart < tabsStart - step)) {\n this._tabsElement.scrollLeft -= step;\n } else {\n if (direction === \"right\") {\n this._tabsElement.scrollLeft = tabsStart <= itemStart ? itemStart : itemEnd - tabsWidth;\n } else {\n this._tabsElement.scrollLeft = tabsStart >= itemStart ? itemStart : itemEnd - tabsWidth;\n }\n this.$interval.cancel(loop);\n }\n }, stepDuration);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-header-tabs/src/header-tabs.controller.js","module.exports = { \"default\": require(\"core-js/library/fn/get-iterator\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/get-iterator.js\n// module id = 438\n// module chunks = 0","require('../modules/web.dom.iterable');\nrequire('../modules/es6.string.iterator');\nmodule.exports = require('../modules/core.get-iterator');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/get-iterator.js\n// module id = 439\n// module chunks = 0","var anObject = require('./_an-object');\nvar get = require('./core.get-iterator-method');\nmodule.exports = require('./_core').getIterator = function (it) {\n var iterFn = get(it);\n if (typeof iterFn != 'function') throw TypeError(it + ' is not iterable!');\n return anObject(iterFn.call(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/core.get-iterator.js\n// module id = 440\n// module chunks = 0","module.exports = \" \";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-header-tabs/src/header-tabs.html\n// module id = 441\n// module chunks = 0","import controller from \"./header-tabs-dropdown.controller\";\nimport template from \"./header-tabs-dropdown.html\";\n\nexport default {\n bindings: {\n text: \"@\"\n },\n controller,\n template,\n transclude: true\n};\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-header-tabs/src/header-tabs-dropdown.component.js","const ouiHeaderTabsItemClass = \"oui-header-tabs__item\";\nconst ouiHeaderTabsItemActiveClass = `${ouiHeaderTabsItemClass}_active`;\nconst ouiHeaderTabsItemDisabledClass = `${ouiHeaderTabsItemClass}_disabled`;\nconst ouiHeaderTabsDropDownClass = `${ouiHeaderTabsItemClass}_dropdown`;\n\nexport default class {\n constructor ($element, $scope, $timeout) {\n \"ngInject\";\n\n this.$element = $element;\n this.$scope = $scope;\n this.$timeout = $timeout;\n }\n\n $onInit () {\n this.disabled = false;\n }\n\n $postLink () {\n this.$timeout(() => {\n this.$element\n .addClass(`${ouiHeaderTabsItemClass} ${ouiHeaderTabsDropDownClass}`)\n .attr(\"role\", \"listitem\");\n\n const itemCount = (this.$element[0].querySelectorAll(`.${ouiHeaderTabsItemClass}`) || []).length;\n this.$scope.$watch(() => (this.$element[0].querySelectorAll(`.${ouiHeaderTabsItemDisabledClass}`) || []).length, itemDisabledCount => {\n if (itemDisabledCount === itemCount) {\n this.disabled = true;\n this.$element.addClass(ouiHeaderTabsItemDisabledClass);\n } else {\n this.disabled = false;\n this.$element.removeClass(ouiHeaderTabsItemDisabledClass);\n }\n });\n\n this.$scope.$watch(() => !!this.$element[0].querySelector(`.${ouiHeaderTabsItemActiveClass}`), hasActive => {\n if (hasActive) {\n this.$element.addClass(ouiHeaderTabsItemActiveClass);\n } else {\n this.$element.removeClass(ouiHeaderTabsItemActiveClass);\n }\n });\n });\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-header-tabs/src/header-tabs-dropdown.controller.js","module.exports = \" \";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/oui-header-tabs/src/header-tabs-dropdown.html\n// module id = 444\n// module chunks = 0","import controller from \"./header-tabs-item.controller\";\nimport template from \"./header-tabs-item.html\";\n\nexport default {\n controller,\n template,\n bindings: {\n text: \"@\",\n href: \"@?\",\n state: \"@?\",\n stateParams: \" {\n this.$element.replaceWith(clone);\n });\n }\n\n // Return value of \"ui-sref\"\n getFullSref () {\n return `${this.state}(${JSON.stringify(this.stateParams)})`;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/oui-header-tabs/src/header-tabs-item.controller.js"],"sourceRoot":""} \ No newline at end of file diff --git a/package.json b/package.json index 2a96f8f7..9a2848d7 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "description": "A set of maintainable components for the OVH ecosystem (Angular).", "license": "BSD-3-Clause", "author": "OVH SAS", - "version": "2.16.4", + "version": "2.16.5", "keywords": [ "angular" ], From b6b8200faaff054c1d6f21cb2c64fc1dff1dc076 Mon Sep 17 00:00:00 2001 From: Axel Peter <15101925+AxelPeter@users.noreply.github.com> Date: Tue, 17 Jul 2018 17:11:01 +0200 Subject: [PATCH 3/3] Update CHANGELOG.md --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7c0468dc..b6936d68 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,11 @@ ## [2.16.5](https://github.com/ovh-ux/ovh-ui-angular/compare/v2.16.4...v2.16.5) (2018-07-17) +### Bug Fixes + +* **oui-dropdown:** fix dropdown closed when select input was clicked ([2520247](https://github.com/ovh-ux/ovh-ui-angular/commit/2520247)) + + ## [2.16.4](https://github.com/ovh-ux/ovh-ui-angular/compare/v2.16.3...v2.16.4) (2018-07-05)