From 66186224c472e1bcc31c07fcab94ca041e4aa35c Mon Sep 17 00:00:00 2001 From: lucienbertin Date: Fri, 10 Jun 2016 15:22:14 +0200 Subject: [PATCH 1/2] changelog --- CHANGELOG.md | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fcae22de..6bbea0f8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,12 @@ # Change log -## 2.2.3 - in dev -- `luid-date-picker` - an equivalent to [ui bootstrap datepicker](https://angular-ui.github.io/bootstrap/#/datepicker). see [demo page](https://luccasa.github.io/lucca-ui/#/directives#luid-date-picker) for more info -- `luid-daterange-picker` - the new and improved version of the luid-daterange. see [demo page](https://luccasa.github.io/lucca-ui/#/directives#luid-daterange-picker) for more info +## 2.2.4 - in dev + +### New features + +### Resolved issues + +## 2.2.3 - [release](https://github.com/LuccaSA/lucca-ui/releases/tag/2.2.2) ### New features - UI-Select now supports class `.invalid` @@ -11,12 +15,16 @@ - `tablegrid` filter is now accent insensitive - new filter `luifStripAccent` in order to replace accented chars with non-accented chars +### New features still in beta - use at your own risks +- `luid-date-picker` - an equivalent to [ui bootstrap datepicker](https://angular-ui.github.io/bootstrap/#/datepicker). see [demo page](https://luccasa.github.io/lucca-ui/#/directives#luid-date-picker) for more info +- `luid-daterange-picker` - the new and improved version of the luid-daterange. see [demo page](https://luccasa.github.io/lucca-ui/#/directives#luid-daterange-picker) for more info + ### Resolved issues - fix invalid inputs with addon were not bordered correctly - fix links in tablegrid do not trigger `onRowClick` anymore - Adds support for disabled state on ui-selet (issue #264) -## 2.2.2 - [release](https://github.com/LuccaSA/lucca-ui/releases/tag/2.2.1) +## 2.2.2 - [release](https://github.com/LuccaSA/lucca-ui/releases/tag/2.2.2) ### Resolved issues - fix style of table grid and notify that was disabled by default From f9a2cd0b129c255095d334ebef7ef9dc9e4e5e37 Mon Sep 17 00:00:00 2001 From: lucienbertin Date: Fri, 10 Jun 2016 15:22:32 +0200 Subject: [PATCH 2/2] dist --- dist/custom/lucca-ui-spe.js | 867 ++++++++++++++++++++++++++++++-- dist/custom/lucca-ui-spe.min.js | 8 +- dist/lucca-ui.d.ts | 148 +++++- dist/lucca-ui.global.min.css | 2 +- dist/lucca-ui.js | 786 ++++++++++++++++++++++++++++- dist/lucca-ui.min.js | 6 +- 6 files changed, 1749 insertions(+), 68 deletions(-) diff --git a/dist/custom/lucca-ui-spe.js b/dist/custom/lucca-ui-spe.js index f154243c..dfbd93fe 100644 --- a/dist/custom/lucca-ui-spe.js +++ b/dist/custom/lucca-ui-spe.js @@ -3,7 +3,7 @@ angular.module('moment', []).factory('moment', function () { return window.moment; }); angular.module('underscore', []).factory('_', function () { return window._; }); - angular.module('lui.directives', ['pascalprecht.translate', 'moment', 'underscore', 'ui.select', 'ui.bootstrap']); + angular.module('lui.directives', ['pascalprecht.translate', 'moment', 'underscore', 'ui.select', 'ui.bootstrap', 'lui.filters']); angular.module('lui.filters', ['moment']); angular.module('lui.services', ['cgNotify']); @@ -2267,7 +2267,7 @@ return function(_input, _precision, _placeholder) { function getRightSpan(decimalPart, separator) { - if (decimalPart === undefined) { return ""; } + if (decimalPart === undefined) { return ""; } if (parseInt(decimalPart) === 0) { return "" + separator + decimalPart + ""; } return "" + separator + decimalPart + ""; } @@ -2291,13 +2291,17 @@ return $sce.trustAsHtml(integerPart + rightSpan); }; }]); -})();;(function () { +})(); +;(function () { 'use strict'; /** ** DEPENDENCIES ** - moment **/ var formatMoment = function (_moment, _format) { //expects a moment + if (!_moment) { + return ""; + } var m = moment(_moment); return m.isValid() ? m.format(_format) : _moment; }; @@ -2335,8 +2339,13 @@ }; return function (_block, _excludeEnd, _ampm, _translations) { if(!_block){ return; } - var start = moment(_block.startsAt || _block.startsOn || _block.startDate || _block.start); - var end = moment(_block.endsAt || _block.endsOn || _block.endDate || _block.end); + var start = _block.startsAt || _block.startsOn || _block.startDate || _block.start; + var end = _block.endsAt || _block.endsOn || _block.endDate || _block.end; + if (!start && !end) { + return ""; + } + start = moment(start); + end = moment(end); if(_excludeEnd){ end.add(-1,'minutes'); } @@ -2516,6 +2525,526 @@ function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; +var Lui; +(function (Lui) { + var Directives; + (function (Directives) { + "use strict"; + var CalendarMonth = (function () { + function CalendarMonth(date) { + this.date = moment(date).startOf("month"); + this.weeks = []; + this.currentYear = this.date.year() === moment().year(); + } + return CalendarMonth; + }()); + Directives.CalendarMonth = CalendarMonth; + var CalendarWeek = (function () { + function CalendarWeek() { + } + return CalendarWeek; + }()); + Directives.CalendarWeek = CalendarWeek; + var CalendarDay = (function () { + function CalendarDay(date) { + this.date = date; + this.dayNum = date.date(); + } + return CalendarDay; + }()); + Directives.CalendarDay = CalendarDay; + var CalendarController = (function () { + function CalendarController($scope) { + this.$scope = $scope; + this.initCalendarScopeMethods($scope); + } + CalendarController.prototype.setMonthsCnt = function (cntStr) { + this.monthsCnt = parseInt(cntStr, 10) || 1; + }; + CalendarController.prototype.constructMonths = function () { + var _this = this; + return _.map(_.range(this.monthsCnt), function (offset) { + return _this.constructMonth(moment(_this.currentMonth).add(offset, "months").startOf("month")); + }); + }; + CalendarController.prototype.constructDayLabels = function () { + return _.map(_.range(7), function (i) { + return moment().startOf("week").add(i, "days").format("dd"); + }); + }; + CalendarController.prototype.assignClasses = function () { + var _this = this; + var days = this.extractDays(); + _.each(days, function (day) { + day.selected = false; + day.start = false; + day.end = false; + day.inBetween = false; + if (!!_this.selected && day.date.format("YYYYMMDD") === moment(_this.selected).format("YYYYMMDD")) { + day.selected = true; + } + if (!!_this.start && day.date.format("YYYYMMDD") === moment(_this.start).format("YYYYMMDD")) { + day.start = true; + } + if (!!_this.end && day.date.format("YYYYMMDD") === moment(_this.end).format("YYYYMMDD")) { + day.end = true; + } + if (!!_this.start && !!_this.end && day.date.isAfter(_this.start) && day.date.isBefore(_this.end)) { + day.inBetween = true; + } + if (!!_this.min && _this.min.diff(day.date) > 0) { + day.disabled = true; + } + if (!!_this.max && _this.max.diff(day.date) < 0) { + day.disabled = true; + } + if (!!_this.$scope.customClass) { + day.customClass = _this.$scope.customClass(day.date); + } + }); + }; + CalendarController.prototype.initCalendarScopeMethods = function ($scope) { + var _this = this; + $scope.dayLabels = this.constructDayLabels(); + $scope.nextMonth = function () { + _this.currentMonth.add(1, "month"); + $scope.months = _this.constructMonths(); + _this.assignClasses(); + }; + $scope.previousMonth = function () { + _this.currentMonth.add(-1, "month"); + $scope.months = _this.constructMonths(); + _this.assignClasses(); + }; + }; + CalendarController.prototype.constructMonth = function (monthStart) { + var month = new CalendarMonth(monthStart); + var weekStart = moment(month.date).startOf("week"); + while (weekStart.month() === month.date.month() || moment(weekStart).endOf("week").month() === month.date.month()) { + month.weeks.push(this.constructWeek(weekStart, month.date)); + weekStart.add(1, "week"); + } + return month; + }; + CalendarController.prototype.constructWeek = function (weekStart, monthStart) { + var week = { days: [] }; + week.days = _.map(_.range(7), function (i) { + var day = new CalendarDay(moment(weekStart).add(i, "days")); + if (day.date.month() !== monthStart.month()) { + day.empty = true; + } + return day; + }); + return week; + }; + CalendarController.prototype.extractDays = function () { + return _.chain(this.$scope.months) + .pluck("weeks") + .flatten() + .pluck("days") + .flatten() + .reject(function (day) { + return day.empty; + }) + .value(); + }; + return CalendarController; + }()); + Directives.CalendarController = CalendarController; + })(Directives = Lui.Directives || (Lui.Directives = {})); +})(Lui || (Lui = {})); +var Lui; +(function (Lui) { + var Directives; + (function (Directives) { + "use strict"; + var LuidDatePicker = (function () { + function LuidDatePicker() { + this.restrict = "E"; + this.templateUrl = "lui/templates/date-picker/datepicker-inline.html"; + this.require = ["ngModel", "luidDatePicker"]; + this.scope = { + format: "@", + displayedMonths: "@", + min: "=", + max: "=", + customClass: "=", + }; + this.controller = LuidDatePickerController.IID; + } + LuidDatePicker.factory = function () { + var directive = function () { + return new LuidDatePicker(); + }; + return directive; + }; + LuidDatePicker.prototype.link = function (scope, element, attrs, ctrls) { + var ngModelCtrl = ctrls[0]; + var datePickerCtrl = ctrls[1]; + datePickerCtrl.setNgModelCtrl(ngModelCtrl); + datePickerCtrl.setFormat(scope.format); + datePickerCtrl.setMonthsCnt(scope.displayedMonths); + }; + LuidDatePicker.IID = "luidDatePicker"; + return LuidDatePicker; + }()); + var LuidDatePickerPopup = (function () { + function LuidDatePickerPopup() { + this.restrict = "E"; + this.templateUrl = "lui/templates/date-picker/datepicker-popup.html"; + this.require = ["ngModel", "luidDatePickerPopup"]; + this.scope = { + format: "@", + displayFormat: "@", + displayedMonths: "@", + min: "=", + max: "=", + customClass: "=", + }; + this.controller = LuidDatePickerController.IID; + } + LuidDatePickerPopup.factory = function () { + var directive = function () { + return new LuidDatePickerPopup(); + }; + return directive; + }; + LuidDatePickerPopup.prototype.link = function (scope, element, attrs, ctrls) { + var ngModelCtrl = ctrls[0]; + var datePickerCtrl = ctrls[1]; + datePickerCtrl.setNgModelCtrl(ngModelCtrl); + datePickerCtrl.setFormat(scope.format, scope.displayFormat); + datePickerCtrl.setMonthsCnt(scope.displayedMonths); + datePickerCtrl.setPopoverTrigger(element, scope); + }; + LuidDatePickerPopup.IID = "luidDatePickerPopup"; + return LuidDatePickerPopup; + }()); + var LuidDatePickerController = (function (_super) { + __extends(LuidDatePickerController, _super); + function LuidDatePickerController($scope) { + var _this = this; + _super.call(this, $scope); + this.$scope = $scope; + $scope.selectDay = function (day) { + _this.setViewValue(day.date); + $scope.displayStr = _this.getDisplayStr(day.date); + _this.selected = day.date; + _this.assignClasses(); + _this.closePopover(); + }; + $scope.togglePopover = function ($event) { + _this.togglePopover($event); + }; + $scope.$watch("min", function () { + _this.min = _this.formatter.parseValue($scope.min); + _this.validate(); + _this.selected = _this.getViewValue(); + _this.assignClasses(); + }); + $scope.$watch("max", function () { + _this.max = _this.formatter.parseValue($scope.max); + _this.validate(); + _this.selected = _this.getViewValue(); + _this.assignClasses(); + }); + } + LuidDatePickerController.prototype.setNgModelCtrl = function (ngModelCtrl) { + var _this = this; + this.ngModelCtrl = ngModelCtrl; + ngModelCtrl.$render = function () { + var date = _this.formatter.parseValue(ngModelCtrl.$viewValue); + _this.currentMonth = moment(date).startOf("month"); + _this.$scope.months = _this.constructMonths(); + _this.selected = date; + _this.min = _this.formatter.parseValue(_this.$scope.min); + _this.max = _this.formatter.parseValue(_this.$scope.max); + _this.assignClasses(); + _this.$scope.displayStr = _this.getDisplayStr(date); + }; + ngModelCtrl.$validators.min = function (modelValue, viewValue) { + var min = _this.min; + var value = _this.getViewValue(); + return !value || !min || min.diff(value) <= 0; + }; + ngModelCtrl.$validators.max = function (modelValue, viewValue) { + var max = _this.max; + var value = _this.getViewValue(); + return !value || !max || max.diff(value) >= 0; + }; + }; + LuidDatePickerController.prototype.setFormat = function (format, displayFormat) { + this.formatter = new Lui.Utils.MomentFormatter(format); + if (format !== "moment" && format !== "date") { + this.displayFormat = displayFormat || format || "L"; + } + else { + this.displayFormat = displayFormat || "L"; + } + }; + LuidDatePickerController.prototype.setPopoverTrigger = function (elt, $scope) { + var _this = this; + this.popoverController = new Lui.Utils.ClickoutsideTrigger(elt, $scope); + $scope.popover = { isOpen: false }; + $scope.togglePopover = function ($event) { + _this.togglePopover($event); + }; + }; + LuidDatePickerController.prototype.setViewValue = function (value) { + this.ngModelCtrl.$setViewValue(this.formatter.formatValue(value)); + }; + LuidDatePickerController.prototype.getViewValue = function () { + return this.formatter.parseValue(this.ngModelCtrl.$viewValue); + }; + LuidDatePickerController.prototype.validate = function () { + this.ngModelCtrl.$validate(); + }; + LuidDatePickerController.prototype.togglePopover = function ($event) { + if (this.$scope.popover.isOpen) { + this.closePopover(); + } + else { + this.openPopover($event); + } + }; + LuidDatePickerController.prototype.closePopover = function () { + if (!!this.popoverController) { + this.popoverController.close(); + } + }; + LuidDatePickerController.prototype.openPopover = function ($event) { + if (!!this.popoverController) { + this.popoverController.open($event); + } + }; + LuidDatePickerController.prototype.getDisplayStr = function (date) { + return !!date ? date.format(this.displayFormat) : undefined; + }; + LuidDatePickerController.IID = "luidDatePickerController"; + LuidDatePickerController.$inject = ["$scope"]; + return LuidDatePickerController; + }(Directives.CalendarController)); + angular.module("lui.directives").controller(LuidDatePickerController.IID, LuidDatePickerController); + angular.module("lui.directives").directive(LuidDatePicker.IID, LuidDatePicker.factory()); + angular.module("lui.directives").directive(LuidDatePickerPopup.IID, LuidDatePickerPopup.factory()); + })(Directives = Lui.Directives || (Lui.Directives = {})); +})(Lui || (Lui = {})); +var Lui; +(function (Lui) { + var Directives; + (function (Directives) { + "use strict"; + var LuidDaterangePicker = (function () { + function LuidDaterangePicker() { + this.restrict = "E"; + this.templateUrl = "lui/templates/date-picker/daterangepicker.html"; + this.require = ["ngModel", "luidDaterangePicker"]; + this.scope = { + format: "@", + displayFormat: "@", + min: "=", + max: "=", + customClass: "=", + excludeEnd: "@", + startProperty: "@", + endProperty: "@", + }; + this.controller = LuidDaterangePickerController.IID; + } + LuidDaterangePicker.factory = function () { + var directive = function () { + return new LuidDaterangePicker(); + }; + return directive; + }; + LuidDaterangePicker.prototype.link = function (scope, element, attrs, ctrls) { + var ngModelCtrl = ctrls[0]; + var drCtrl = ctrls[1]; + drCtrl.setNgModelCtrl(ngModelCtrl); + drCtrl.setFormat(scope.format, scope.displayFormat); + drCtrl.setMonthsCnt("2"); + drCtrl.setPopoverTrigger(element, scope); + drCtrl.setExcludeEnd(scope.excludeEnd); + drCtrl.setProperties(scope.startProperty, scope.endProperty); + }; + LuidDaterangePicker.IID = "luidDaterangePicker"; + return LuidDaterangePicker; + }()); + var LuidDaterangePickerController = (function (_super) { + __extends(LuidDaterangePickerController, _super); + function LuidDaterangePickerController($scope, $filter) { + var _this = this; + _super.call(this, $scope); + this.$scope = $scope; + this.$filter = $filter; + $scope.selectDay = function (day) { + if ($scope.editingStart || !!$scope.period.start && day.date.isBefore($scope.period.start)) { + $scope.period.start = day.date; + _this.start = day.date; + $scope.editEnd(); + if (!!$scope.period.end && $scope.period.start.isAfter($scope.period.end)) { + $scope.period.end = undefined; + _this.end = undefined; + } + _this.assignClasses(); + } + else { + $scope.period.end = day.date; + _this.closePopover(); + } + }; + $scope.editStart = function ($event) { + if (!!$event) { + $event.stopPropagation(); + } + $scope.editingStart = true; + if (!!_this.$scope.period.start && moment(_this.currentMonth).diff(_this.$scope.period.start) > 0) { + _this.currentMonth = moment(_this.$scope.period.start).startOf("month"); + _this.$scope.months = _this.constructMonths(); + _this.assignClasses(); + } + }; + $scope.editEnd = function ($event) { + if (!!$event) { + $event.stopPropagation(); + } + $scope.editingStart = false; + if (!!_this.$scope.period.end && moment(_this.currentMonth).add(_this.monthsCnt, "months").diff(_this.$scope.period.end) <= 0) { + _this.currentMonth = moment(_this.$scope.period.end).add(-_this.monthsCnt + 1, "months").startOf("month"); + _this.$scope.months = _this.constructMonths(); + _this.assignClasses(); + } + }; + $scope.onMouseEnter = function (day, $event) { + if (!$scope.editingStart && !_this.$scope.period.end) { + _this.end = day.date; + _this.assignClasses(); + } + }; + $scope.onMouseLeave = function (day, $event) { + if (!$scope.editingStart && !_this.$scope.period.end) { + _this.end = undefined; + _this.assignClasses(); + } + }; + $scope.popover = { isOpen: false }; + } + LuidDaterangePickerController.prototype.setNgModelCtrl = function (ngModelCtrl) { + var _this = this; + this.ngModelCtrl = ngModelCtrl; + ngModelCtrl.$render = function () { + if (ngModelCtrl.$viewValue) { + _this.$scope.period = _this.getViewValue(); + _this.$scope.displayStr = _this.$filter("luifFriendlyRange")(_this.$scope.period); + } + else { + _this.$scope.period = undefined; + _this.$scope.displayStr = undefined; + } + }; + ngModelCtrl.$validators.min = function (modelValue, viewValue) { + var start = _this.getViewValue().start; + var min = _this.formatter.parseValue(_this.$scope.min); + return !start || !min || min.diff(start) <= 0; + }; + ngModelCtrl.$validators.max = function (modelValue, viewValue) { + var end = _this.getViewValue().end; + var max = _this.formatter.parseValue(_this.$scope.max); + return !end || !max || max.diff(end) >= 0; + }; + }; + LuidDaterangePickerController.prototype.setProperties = function (startProperty, endProperty) { + this.startProperty = startProperty || "start"; + this.endProperty = endProperty || "end"; + }; + LuidDaterangePickerController.prototype.setExcludeEnd = function (excludeEnd) { + this.excludeEnd = excludeEnd === "true"; + }; + LuidDaterangePickerController.prototype.setFormat = function (format, displayFormat) { + this.formatter = new Lui.Utils.MomentFormatter(format); + if (format !== "moment" && format !== "date") { + this.$scope.momentFormat = displayFormat || format || "L"; + } + else { + this.$scope.momentFormat = displayFormat || "L"; + } + }; + LuidDaterangePickerController.prototype.setPopoverTrigger = function (elt, scope) { + var _this = this; + var onClosing = function () { + _this.closePopover(); + }; + this.popoverController = new Lui.Utils.ClickoutsideTrigger(elt, scope, onClosing); + scope.togglePopover = function ($event) { + _this.togglePopover($event); + }; + }; + LuidDaterangePickerController.prototype.setViewValue = function (value) { + var period = this.ngModelCtrl.$viewValue || {}; + if (!value || !value.start || !value.end) { + period[this.startProperty] = undefined; + period[this.endProperty] = undefined; + } + else { + period[this.startProperty] = this.formatter.formatValue(moment(value.start)); + period[this.endProperty] = this.formatter.formatValue(this.excludeEnd ? moment(value.end).add(1, "day") : moment(value.end)); + } + this.ngModelCtrl.$setViewValue(period); + }; + LuidDaterangePickerController.prototype.getViewValue = function () { + if (!!this.ngModelCtrl.$viewValue) { + var iperiod = {}; + iperiod.start = this.ngModelCtrl.$viewValue[this.startProperty]; + iperiod.end = this.ngModelCtrl.$viewValue[this.endProperty]; + var period = new Lui.Period(iperiod, this.formatter); + if (this.excludeEnd) { + period.end.add(-1, "day"); + } + return period; + } + return { start: undefined, end: undefined }; + }; + LuidDaterangePickerController.prototype.togglePopover = function ($event) { + if (this.$scope.popover.isOpen) { + this.closePopover(); + } + else { + this.openPopover($event); + } + }; + LuidDaterangePickerController.prototype.closePopover = function () { + if (!!this.$scope.period.start && !!this.$scope.period.end) { + this.setViewValue(this.$scope.period); + this.$scope.displayStr = this.$filter("luifFriendlyRange")(this.$scope.period); + } + else { + this.$scope.period = this.getViewValue(); + } + this.popoverController.close(); + }; + LuidDaterangePickerController.prototype.openPopover = function ($event) { + var vv = this.getViewValue(); + this.$scope.period = vv || { start: undefined, end: undefined }; + this.currentMonth = (!!vv ? moment(vv.start) : moment()).startOf("month"); + this.$scope.months = this.constructMonths(); + if (!!vv) { + this.start = vv.start; + this.end = vv.end; + } + this.min = this.formatter.parseValue(this.$scope.min); + this.max = this.formatter.parseValue(this.$scope.max); + this.assignClasses(); + this.$scope.editingStart = true; + this.popoverController.open($event); + }; + LuidDaterangePickerController.IID = "luidDaterangePickerController"; + LuidDaterangePickerController.$inject = ["$scope", "$filter"]; + return LuidDaterangePickerController; + }(Directives.CalendarController)); + angular.module("lui.directives").controller(LuidDaterangePickerController.IID, LuidDaterangePickerController); + angular.module("lui.directives").directive(LuidDaterangePicker.IID, LuidDaterangePicker.factory()); + })(Directives = Lui.Directives || (Lui.Directives = {})); +})(Lui || (Lui = {})); angular.module("lui.directives").directive("deferredCloak", ["$timeout", function ($timeout) { return { restrict: "A", @@ -2531,13 +3060,122 @@ var Lui; (function (Lui) { "use strict"; var Period = (function () { - function Period() { + function Period(unformatted, formatter) { + var start = unformatted.start || unformatted.startsOn || unformatted.startsAt; + var end = unformatted.end || unformatted.endsOn || unformatted.endsAt; + this.start = formatter.parseValue(start); + this.end = formatter.parseValue(end); } return Period; }()); Lui.Period = Period; })(Lui || (Lui = {})); var Lui; +(function (Lui) { + var Filters; + (function (Filters) { + "use strict"; + var diacriticsMap = [ + { "base": "A", "letters": /[\u0041\u24B6\uFF21\u00C0\u00C1\u00C2\u1EA6\u1EA4\u1EAA\u1EA8\u00C3\u0100\u0102\u1EB0\u1EAE\u1EB4\u1EB2\u0226\u01E0\u00C4\u01DE\u1EA2\u00C5\u01FA\u01CD\u0200\u0202\u1EA0\u1EAC\u1EB6\u1E00\u0104\u023A\u2C6F]/g }, + { "base": "AA", "letters": /[\uA732]/g }, + { "base": "AE", "letters": /[\u00C6\u01FC\u01E2]/g }, + { "base": "AO", "letters": /[\uA734]/g }, + { "base": "AU", "letters": /[\uA736]/g }, + { "base": "AV", "letters": /[\uA738\uA73A]/g }, + { "base": "AY", "letters": /[\uA73C]/g }, + { "base": "B", "letters": /[\u0042\u24B7\uFF22\u1E02\u1E04\u1E06\u0243\u0182\u0181]/g }, + { "base": "C", "letters": /[\u0043\u24B8\uFF23\u0106\u0108\u010A\u010C\u00C7\u1E08\u0187\u023B\uA73E]/g }, + { "base": "D", "letters": /[\u0044\u24B9\uFF24\u1E0A\u010E\u1E0C\u1E10\u1E12\u1E0E\u0110\u018B\u018A\u0189\uA779]/g }, + { "base": "DZ", "letters": /[\u01F1\u01C4]/g }, + { "base": "Dz", "letters": /[\u01F2\u01C5]/g }, + { "base": "E", "letters": /[\u0045\u24BA\uFF25\u00C8\u00C9\u00CA\u1EC0\u1EBE\u1EC4\u1EC2\u1EBC\u0112\u1E14\u1E16\u0114\u0116\u00CB\u1EBA\u011A\u0204\u0206\u1EB8\u1EC6\u0228\u1E1C\u0118\u1E18\u1E1A\u0190\u018E]/g }, + { "base": "F", "letters": /[\u0046\u24BB\uFF26\u1E1E\u0191\uA77B]/g }, + { "base": "G", "letters": /[\u0047\u24BC\uFF27\u01F4\u011C\u1E20\u011E\u0120\u01E6\u0122\u01E4\u0193\uA7A0\uA77D\uA77E]/g }, + { "base": "H", "letters": /[\u0048\u24BD\uFF28\u0124\u1E22\u1E26\u021E\u1E24\u1E28\u1E2A\u0126\u2C67\u2C75\uA78D]/g }, + { "base": "I", "letters": /[\u0049\u24BE\uFF29\u00CC\u00CD\u00CE\u0128\u012A\u012C\u0130\u00CF\u1E2E\u1EC8\u01CF\u0208\u020A\u1ECA\u012E\u1E2C\u0197]/g }, + { "base": "J", "letters": /[\u004A\u24BF\uFF2A\u0134\u0248]/g }, + { "base": "K", "letters": /[\u004B\u24C0\uFF2B\u1E30\u01E8\u1E32\u0136\u1E34\u0198\u2C69\uA740\uA742\uA744\uA7A2]/g }, + { "base": "L", "letters": /[\u004C\u24C1\uFF2C\u013F\u0139\u013D\u1E36\u1E38\u013B\u1E3C\u1E3A\u0141\u023D\u2C62\u2C60\uA748\uA746\uA780]/g }, + { "base": "LJ", "letters": /[\u01C7]/g }, + { "base": "Lj", "letters": /[\u01C8]/g }, + { "base": "M", "letters": /[\u004D\u24C2\uFF2D\u1E3E\u1E40\u1E42\u2C6E\u019C]/g }, + { "base": "N", "letters": /[\u004E\u24C3\uFF2E\u01F8\u0143\u00D1\u1E44\u0147\u1E46\u0145\u1E4A\u1E48\u0220\u019D\uA790\uA7A4]/g }, + { "base": "NJ", "letters": /[\u01CA]/g }, + { "base": "Nj", "letters": /[\u01CB]/g }, + { "base": "O", "letters": /[\u004F\u24C4\uFF2F\u00D2\u00D3\u00D4\u1ED2\u1ED0\u1ED6\u1ED4\u00D5\u1E4C\u022C\u1E4E\u014C\u1E50\u1E52\u014E\u022E\u0230\u00D6\u022A\u1ECE\u0150\u01D1\u020C\u020E\u01A0\u1EDC\u1EDA\u1EE0\u1EDE\u1EE2\u1ECC\u1ED8\u01EA\u01EC\u00D8\u01FE\u0186\u019F\uA74A\uA74C]/g }, + { "base": "OI", "letters": /[\u01A2]/g }, + { "base": "OO", "letters": /[\uA74E]/g }, + { "base": "OU", "letters": /[\u0222]/g }, + { "base": "P", "letters": /[\u0050\u24C5\uFF30\u1E54\u1E56\u01A4\u2C63\uA750\uA752\uA754]/g }, + { "base": "Q", "letters": /[\u0051\u24C6\uFF31\uA756\uA758\u024A]/g }, + { "base": "R", "letters": /[\u0052\u24C7\uFF32\u0154\u1E58\u0158\u0210\u0212\u1E5A\u1E5C\u0156\u1E5E\u024C\u2C64\uA75A\uA7A6\uA782]/g }, + { "base": "S", "letters": /[\u0053\u24C8\uFF33\u1E9E\u015A\u1E64\u015C\u1E60\u0160\u1E66\u1E62\u1E68\u0218\u015E\u2C7E\uA7A8\uA784]/g }, + { "base": "T", "letters": /[\u0054\u24C9\uFF34\u1E6A\u0164\u1E6C\u021A\u0162\u1E70\u1E6E\u0166\u01AC\u01AE\u023E\uA786]/g }, + { "base": "TZ", "letters": /[\uA728]/g }, + { "base": "U", "letters": /[\u0055\u24CA\uFF35\u00D9\u00DA\u00DB\u0168\u1E78\u016A\u1E7A\u016C\u00DC\u01DB\u01D7\u01D5\u01D9\u1EE6\u016E\u0170\u01D3\u0214\u0216\u01AF\u1EEA\u1EE8\u1EEE\u1EEC\u1EF0\u1EE4\u1E72\u0172\u1E76\u1E74\u0244]/g }, + { "base": "V", "letters": /[\u0056\u24CB\uFF36\u1E7C\u1E7E\u01B2\uA75E\u0245]/g }, + { "base": "VY", "letters": /[\uA760]/g }, + { "base": "W", "letters": /[\u0057\u24CC\uFF37\u1E80\u1E82\u0174\u1E86\u1E84\u1E88\u2C72]/g }, + { "base": "X", "letters": /[\u0058\u24CD\uFF38\u1E8A\u1E8C]/g }, + { "base": "Y", "letters": /[\u0059\u24CE\uFF39\u1EF2\u00DD\u0176\u1EF8\u0232\u1E8E\u0178\u1EF6\u1EF4\u01B3\u024E\u1EFE]/g }, + { "base": "Z", "letters": /[\u005A\u24CF\uFF3A\u0179\u1E90\u017B\u017D\u1E92\u1E94\u01B5\u0224\u2C7F\u2C6B\uA762]/g }, + { "base": "a", "letters": /[\u0061\u24D0\uFF41\u1E9A\u00E0\u00E1\u00E2\u1EA7\u1EA5\u1EAB\u1EA9\u00E3\u0101\u0103\u1EB1\u1EAF\u1EB5\u1EB3\u0227\u01E1\u00E4\u01DF\u1EA3\u00E5\u01FB\u01CE\u0201\u0203\u1EA1\u1EAD\u1EB7\u1E01\u0105\u2C65\u0250]/g }, + { "base": "aa", "letters": /[\uA733]/g }, + { "base": "ae", "letters": /[\u00E6\u01FD\u01E3]/g }, + { "base": "ao", "letters": /[\uA735]/g }, + { "base": "au", "letters": /[\uA737]/g }, + { "base": "av", "letters": /[\uA739\uA73B]/g }, + { "base": "ay", "letters": /[\uA73D]/g }, + { "base": "b", "letters": /[\u0062\u24D1\uFF42\u1E03\u1E05\u1E07\u0180\u0183\u0253]/g }, + { "base": "c", "letters": /[\u0063\u24D2\uFF43\u0107\u0109\u010B\u010D\u00E7\u1E09\u0188\u023C\uA73F\u2184]/g }, + { "base": "d", "letters": /[\u0064\u24D3\uFF44\u1E0B\u010F\u1E0D\u1E11\u1E13\u1E0F\u0111\u018C\u0256\u0257\uA77A]/g }, + { "base": "dz", "letters": /[\u01F3\u01C6]/g }, + { "base": "e", "letters": /[\u0065\u24D4\uFF45\u00E8\u00E9\u00EA\u1EC1\u1EBF\u1EC5\u1EC3\u1EBD\u0113\u1E15\u1E17\u0115\u0117\u00EB\u1EBB\u011B\u0205\u0207\u1EB9\u1EC7\u0229\u1E1D\u0119\u1E19\u1E1B\u0247\u025B\u01DD]/g }, + { "base": "f", "letters": /[\u0066\u24D5\uFF46\u1E1F\u0192\uA77C]/g }, + { "base": "g", "letters": /[\u0067\u24D6\uFF47\u01F5\u011D\u1E21\u011F\u0121\u01E7\u0123\u01E5\u0260\uA7A1\u1D79\uA77F]/g }, + { "base": "h", "letters": /[\u0068\u24D7\uFF48\u0125\u1E23\u1E27\u021F\u1E25\u1E29\u1E2B\u1E96\u0127\u2C68\u2C76\u0265]/g }, + { "base": "hv", "letters": /[\u0195]/g }, + { "base": "i", "letters": /[\u0069\u24D8\uFF49\u00EC\u00ED\u00EE\u0129\u012B\u012D\u00EF\u1E2F\u1EC9\u01D0\u0209\u020B\u1ECB\u012F\u1E2D\u0268\u0131]/g }, + { "base": "j", "letters": /[\u006A\u24D9\uFF4A\u0135\u01F0\u0249]/g }, + { "base": "k", "letters": /[\u006B\u24DA\uFF4B\u1E31\u01E9\u1E33\u0137\u1E35\u0199\u2C6A\uA741\uA743\uA745\uA7A3]/g }, + { "base": "l", "letters": /[\u006C\u24DB\uFF4C\u0140\u013A\u013E\u1E37\u1E39\u013C\u1E3D\u1E3B\u017F\u0142\u019A\u026B\u2C61\uA749\uA781\uA747]/g }, + { "base": "lj", "letters": /[\u01C9]/g }, + { "base": "m", "letters": /[\u006D\u24DC\uFF4D\u1E3F\u1E41\u1E43\u0271\u026F]/g }, + { "base": "n", "letters": /[\u006E\u24DD\uFF4E\u01F9\u0144\u00F1\u1E45\u0148\u1E47\u0146\u1E4B\u1E49\u019E\u0272\u0149\uA791\uA7A5]/g }, + { "base": "nj", "letters": /[\u01CC]/g }, + { "base": "o", "letters": /[\u006F\u24DE\uFF4F\u00F2\u00F3\u00F4\u1ED3\u1ED1\u1ED7\u1ED5\u00F5\u1E4D\u022D\u1E4F\u014D\u1E51\u1E53\u014F\u022F\u0231\u00F6\u022B\u1ECF\u0151\u01D2\u020D\u020F\u01A1\u1EDD\u1EDB\u1EE1\u1EDF\u1EE3\u1ECD\u1ED9\u01EB\u01ED\u00F8\u01FF\u0254\uA74B\uA74D\u0275]/g }, + { "base": "oi", "letters": /[\u01A3]/g }, + { "base": "ou", "letters": /[\u0223]/g }, + { "base": "oo", "letters": /[\uA74F]/g }, + { "base": "p", "letters": /[\u0070\u24DF\uFF50\u1E55\u1E57\u01A5\u1D7D\uA751\uA753\uA755]/g }, + { "base": "q", "letters": /[\u0071\u24E0\uFF51\u024B\uA757\uA759]/g }, + { "base": "r", "letters": /[\u0072\u24E1\uFF52\u0155\u1E59\u0159\u0211\u0213\u1E5B\u1E5D\u0157\u1E5F\u024D\u027D\uA75B\uA7A7\uA783]/g }, + { "base": "s", "letters": /[\u0073\u24E2\uFF53\u00DF\u015B\u1E65\u015D\u1E61\u0161\u1E67\u1E63\u1E69\u0219\u015F\u023F\uA7A9\uA785\u1E9B]/g }, + { "base": "t", "letters": /[\u0074\u24E3\uFF54\u1E6B\u1E97\u0165\u1E6D\u021B\u0163\u1E71\u1E6F\u0167\u01AD\u0288\u2C66\uA787]/g }, + { "base": "tz", "letters": /[\uA729]/g }, + { "base": "u", "letters": /[\u0075\u24E4\uFF55\u00F9\u00FA\u00FB\u0169\u1E79\u016B\u1E7B\u016D\u00FC\u01DC\u01D8\u01D6\u01DA\u1EE7\u016F\u0171\u01D4\u0215\u0217\u01B0\u1EEB\u1EE9\u1EEF\u1EED\u1EF1\u1EE5\u1E73\u0173\u1E77\u1E75\u0289]/g }, + { "base": "v", "letters": /[\u0076\u24E5\uFF56\u1E7D\u1E7F\u028B\uA75F\u028C]/g }, + { "base": "vy", "letters": /[\uA761]/g }, + { "base": "w", "letters": /[\u0077\u24E6\uFF57\u1E81\u1E83\u0175\u1E87\u1E85\u1E98\u1E89\u2C73]/g }, + { "base": "x", "letters": /[\u0078\u24E7\uFF58\u1E8B\u1E8D]/g }, + { "base": "y", "letters": /[\u0079\u24E8\uFF59\u1EF3\u00FD\u0177\u1EF9\u0233\u1E8F\u00FF\u1EF7\u1E99\u1EF5\u01B4\u024F\u1EFF]/g }, + { "base": "z", "letters": /[\u007A\u24E9\uFF5A\u017A\u1E91\u017C\u017E\u1E93\u1E95\u01B6\u0225\u0240\u2C6C\uA763]/g } + ]; + function luifStripAccents() { + return function (input) { + if (input === null || input === undefined) { + return ""; + } + _.each(diacriticsMap, function (row) { + input = input.replace(row.letters, row.base); + }); + return input; + }; + } + angular.module("lui.filters").filter("luifStripAccents", luifStripAccents); + })(Filters = Lui.Filters || (Lui.Filters = {})); +})(Lui || (Lui = {})); +var Lui; (function (Lui) { var Service; (function (Service) { @@ -2648,6 +3286,42 @@ var Lui; NotifyService.prototype.confirm = function (message, okLabel, cancelLabel) { return this.openModal(confirmTemplate, message, okLabel || this.conf.okLabel, cancelLabel || this.conf.cancelLabel, !this.conf.canDismissConfirm); }; + NotifyService.prototype.loading = function (loadingPromise, message, cancelFn) { + var _this = this; + var isolateScope = this.$rootScope.$new(true); + isolateScope.loading = true; + isolateScope.calloutClass = "light"; + isolateScope.message = message; + var popup = this.cgNotify(new LoadingNotify(isolateScope, message)); + var closePopup = function (ms) { + _this.$timeout(function () { + popup.close(); + isolateScope.$destroy(); + }, ms); + }; + if (!!cancelFn) { + isolateScope.canCancel = true; + isolateScope.cancel = function () { + _this.$log.warn(new Log(message, "user cancelled")); + cancelFn(); + closePopup(0); + }; + } + loadingPromise.then(function (newMessage) { + isolateScope.message = newMessage; + isolateScope.calloutClass = "green"; + isolateScope.loading = false; + closePopup(5000); + }, function (newMessage) { + isolateScope.message = newMessage; + isolateScope.calloutClass = "red"; + isolateScope.loading = false; + _this.$log.error(new Log(message, "")); + closePopup(20000); + }, function (newMessage) { + isolateScope.message = newMessage; + }); + }; NotifyService.prototype.openModal = function (templateUrl, message, okLabel, cancelLabel, preventDismiss) { return this.$uibModal.open({ templateUrl: templateUrl, @@ -2991,7 +3665,13 @@ var Lui; var maxDepth = 0; $scope.isSelectable = angular.isDefined($scope.selectable); $scope.internalRowClick = function (event, row) { - if (event.target.type !== "checkbox") { + var currentNode = event.target; + var otherClickEventFired = false; + while (!otherClickEventFired && currentNode.nodeName !== event.currentTarget.nodeName) { + otherClickEventFired = !!currentNode.href || currentNode.type === "checkbox"; + currentNode = currentNode.parentElement; + } + if (!otherClickEventFired) { $scope.onRowClick({ row: row }); } }; @@ -3124,7 +3804,7 @@ var Lui; return propValue_1.indexOf("|") !== -1 ? propValue_1.split("|").indexOf(value.toLowerCase()) !== -1 : propValue_1 === value.toLowerCase(); } else { - return propValue_1.indexOf(value.toLowerCase()) !== -1; + return $filter("luifStripAccents")(propValue_1).indexOf($filter("luifStripAccents")(value.toLowerCase())) !== -1; } }); if (!containsProp) { @@ -3209,12 +3889,23 @@ var Lui; var Directives; (function (Directives) { "use strict"; + var LuidTableGridHeightType = (function () { + function LuidTableGridHeightType() { + } + LuidTableGridHeightType.isTypeExisting = function (type) { + return type === LuidTableGridHeightType.GLOBAL || type === LuidTableGridHeightType.BODY; + }; + LuidTableGridHeightType.GLOBAL = "global"; + LuidTableGridHeightType.BODY = "body"; + return LuidTableGridHeightType; + }()); + Directives.LuidTableGridHeightType = LuidTableGridHeightType; var LuidTableGrid = (function () { function LuidTableGrid($timeout) { var _this = this; this.controller = "luidTableGridController"; this.restrict = "AE"; - this.scope = { header: "=", height: "@", datas: "=*", selectable: "@", defaultOrder: "@", onRowClick: "&" }; + this.scope = { header: "=", height: "@", datas: "=*", selectable: "@", defaultOrder: "@", onRowClick: "&", heightType: "@" }; this.templateUrl = "lui/templates/table-grid/table-grid.html"; this.link = function (scope, element, attrs) { _this.$timeout(function () { @@ -3254,7 +3945,7 @@ var Lui; }; var scrollbarThickness = getScrollbarThickness(); var height = attrs.height ? parseFloat(attrs.height) : LuidTableGrid.defaultHeight; - scrollableArea.style.maxHeight = height + "px"; + var headerHeightType = LuidTableGridHeightType.isTypeExisting(attrs.heightType) ? attrs.heightType : LuidTableGridHeightType.BODY; var ROWHEIGHTMIN = 32; var rowsPerPage = Math.round(height / ROWHEIGHTMIN); var numberOfRows = rowsPerPage * 3; @@ -3276,6 +3967,9 @@ var Lui; }; var updateHeight = function () { headerHeight = Math.max(headers[0].offsetHeight, (!!headers[1] ? headers[1].offsetHeight : 0)); + var scrollableAreaHeight = height; + scrollableAreaHeight -= headerHeightType === LuidTableGridHeightType.GLOBAL ? headerHeight : 0; + scrollableArea.style.maxHeight = scrollableAreaHeight + "px"; tablegrid.style.paddingTop = headerHeight + "px"; if (!!tables[1]) { tables[1].style.marginTop = (headerHeight + currentMarginTop) + "px"; @@ -3284,7 +3978,7 @@ var Lui; var canvasHeight; var updateWidth = function () { var tablegridWidth = 0; - tablegridWidth = (scrollableArea.clientHeight < canvasHeight) ? tablegrid.clientWidth - scrollbarThickness : tablegrid.clientWidth; + tablegridWidth = (scrollableArea.clientHeight < Math.max(canvasHeight, scrollableAreaVS.clientHeight)) ? tablegrid.clientWidth - scrollbarThickness : tablegrid.clientWidth; for (var _i = 0, headers_1 = headers; _i < headers_1.length; _i++) { var header = headers_1[_i]; header.style.minWidth = tablegridWidth + "px"; @@ -3305,14 +3999,19 @@ var Lui; updateHeight(); updateWidth(); }; - var updateVisibleRows = function () { - if (scope.filteredAndOrderedRows.length <= MINROWSCOUNTFORVS) { - scope.visibleRows = scope.filteredAndOrderedRows; - canvasHeight = scope.filteredAndOrderedRows.length * ROWHEIGHTMIN; + var setCanvasHeight = function (startNumRowIn) { + canvasHeight = (scope.filteredAndOrderedRows.length - startNumRowIn) * ROWHEIGHTMIN; + if (canvasHeight > height) { scrollableAreaVS.style.height = canvasHeight + "px"; if (!!lockedColumnsVS) { lockedColumnsVS.style.height = canvasHeight + "px"; } + } + }; + var updateVisibleRows = function () { + if (scope.filteredAndOrderedRows.length <= MINROWSCOUNTFORVS) { + scope.visibleRows = scope.filteredAndOrderedRows; + setCanvasHeight(0); return; } var isScrollDown = lastScrollTop < scrollableArea.scrollTop; @@ -3324,14 +4023,12 @@ var Lui; var cellsToCreate = Math.min(startNumRow + numberOfRows, numberOfRows); currentMarginTop = startNumRow * ROWHEIGHTMIN; scope.visibleRows = scope.filteredAndOrderedRows.slice(startNumRow, startNumRow + cellsToCreate); - canvasHeight = (scope.filteredAndOrderedRows.length - startNumRow) * ROWHEIGHTMIN; if (scope.existFixedRow || attrs.selectable) { tables[1].style.marginTop = (headerHeight + currentMarginTop) + "px"; - lockedColumnsVS.style.height = canvasHeight + "px"; } tables[0].style.marginTop = currentMarginTop + "px"; scrollableAreaVS.style.marginTop = currentMarginTop + "px"; - scrollableAreaVS.style.height = canvasHeight + "px"; + setCanvasHeight(startNumRow); }; scope.updateViewAfterOrderBy = function () { updateVisibleRows(); @@ -3364,8 +4061,7 @@ var Lui; isInFilteredDataset: true }; }); - updateVisibleRows(); - _this.$timeout(function () { resize(); }, 100); + scope.updateViewAfterFiltering(); } }); window.addEventListener("resize", function () { @@ -3423,9 +4119,128 @@ var Lui; "use strict"; })(Directives = Lui.Directives || (Lui.Directives = {})); })(Lui || (Lui = {})); +var Lui; +(function (Lui) { + var Utils; + (function (Utils) { + "use strict"; + var MomentFormatter = (function () { + function MomentFormatter(format) { + this.format = format || "moment"; + } + MomentFormatter.prototype.parseValue = function (value) { + switch (this.format) { + case "moment": return this.parseMoment(value); + case "date": return this.parseDate(value); + default: return this.parseString(value); + } + }; + MomentFormatter.prototype.formatValue = function (value) { + switch (this.format) { + case "moment": return this.formatMoment(value); + case "date": return this.formatDate(value); + default: return this.formatString(value); + } + }; + MomentFormatter.prototype.parseMoment = function (value) { + return !!value ? moment(value) : undefined; + }; + MomentFormatter.prototype.parseDate = function (value) { + return !!value ? moment(value) : undefined; + }; + MomentFormatter.prototype.parseString = function (value) { + return !!value && moment(value, this.format).isValid() ? moment(value, this.format) : undefined; + }; + MomentFormatter.prototype.formatMoment = function (value) { + return moment(value); + }; + MomentFormatter.prototype.formatDate = function (value) { + return value.toDate(); + }; + MomentFormatter.prototype.formatString = function (value) { + return value.format(this.format); + }; + return MomentFormatter; + }()); + Utils.MomentFormatter = MomentFormatter; + })(Utils = Lui.Utils || (Lui.Utils = {})); +})(Lui || (Lui = {})); +var Lui; +(function (Lui) { + var Utils; + (function (Utils) { + "use strict"; + var ClickoutsideTrigger = (function () { + function ClickoutsideTrigger(elt, $scope, clickedOutside) { + this.elt = elt; + this.body = angular.element(document.getElementsByTagName("body")[0]); + this.$scope = $scope; + this.clickedOutside = clickedOutside; + } + ClickoutsideTrigger.prototype.toggle = function ($event) { + if (this.$scope.popover.isOpen) { + this.close($event); + } + else { + this.open($event); + } + }; + ClickoutsideTrigger.prototype.close = function ($event) { + this.$scope.popover.isOpen = false; + if (!!this.body) { + this.body.off("click"); + this.elt.off("click"); + } + }; + ClickoutsideTrigger.prototype.open = function ($event) { + var _this = this; + this.$scope.popover.isOpen = true; + setTimeout(function () { + _this.body.on("click", function () { + _this.onClickedOutside(); + _this.$scope.$digest(); + }); + _this.elt.on("click", function (otherEvent) { + otherEvent.stopPropagation(); + }); + }, 1); + }; + ClickoutsideTrigger.prototype.onClickedOutside = function ($event) { + if (this.clickedOutside) { + this.clickedOutside(); + } + else { + this.close(); + } + }; + return ClickoutsideTrigger; + }()); + Utils.ClickoutsideTrigger = ClickoutsideTrigger; + })(Utils = Lui.Utils || (Lui.Utils = {})); +})(Lui || (Lui = {})); ;angular.module('lui.directives').run(['$templateCache', function($templateCache) { 'use strict'; + $templateCache.put('lui/templates/date-picker/datepicker-inline.html', + "
{{ month.date | luifMoment : month.currentYear ? \"MMMM\" : \"MMMM - YYYY\" }}
{{ ::dayLabel }}
{{ ::day.dayNum }}
" + ); + + + $templateCache.put('lui/templates/date-picker/datepicker-popup.html', + "" + ); + + + $templateCache.put('lui/templates/date-picker/daterangepicker-popover.html', + "
{{ month.date | luifMoment : month.currentYear ? \"MMMM\" : \"MMMM - YYYY\" }}
{{ ::dayLabel }}
{{ ::day.dayNum }}
" + ); + + + $templateCache.put('lui/templates/date-picker/daterangepicker.html', + " {{ !!period.start ? (period.start | luifMoment : momentFormat) : \".................\" }} {{ !!period.end ? (period.end | luifMoment : momentFormat) : \".................\" }}" + ); + + $templateCache.put('lui/templates/notify-service/alert.html', "
{{message}}
" ); @@ -3442,15 +4257,7 @@ var Lui; $templateCache.put('lui/templates/notify-service/loading.html', - "
Loading {{\"CANCEL\" | translate}}
{{'NOTIFY_SUCCESS' | translate }}
{{'NOTIFY_ERROR' | translate }}
{{'NOTIFY_WARNING' | translate }}
{{ $message }} {{\"CANCEL\" | translate}}
{{ \"SUCCESS_\" + $message | translate }}
{{ \"ERR_\" + $message | translate }}
{{ \"WARN_\" + $message | translate }}
" + "
  Loading
  {{ message }}
" ); @@ -3470,7 +4277,7 @@ var Lui; $templateCache.put('lui/templates/table-grid/table-grid.table.html', - "
{{ header.label }}
{{ $item }}{{ value }}{{ $select.selected }}{{ value }}
" + "
{{ header.label }}
{{ $item }}{{ value }}{{ $select.selected }}{{ value }}
" ); }]); diff --git a/dist/custom/lucca-ui-spe.min.js b/dist/custom/lucca-ui-spe.min.js index 1af3e0d9..70c5bec3 100644 --- a/dist/custom/lucca-ui-spe.min.js +++ b/dist/custom/lucca-ui-spe.min.js @@ -1,4 +1,4 @@ -/*! lucca-ui 16-05-2016 */ -!function(){"use strict";angular.module("moment",[]).factory("moment",function(){return window.moment}),angular.module("underscore",[]).factory("_",function(){return window._}),angular.module("lui.directives",["pascalprecht.translate","moment","underscore","ui.select","ui.bootstrap"]),angular.module("lui.filters",["moment"]),angular.module("lui.services",["cgNotify"]),angular.module("lui.templates.momentpicker",[]),angular.module("lui.templates.daterangepicker",[]),angular.module("lui.templates.translationsinput",[]),angular.module("lui.templates",["lui.templates.momentpicker","lui.templates.daterangepicker","lui.templates.translationsinput"]),angular.module("lui.translates.userpicker",[]),angular.module("lui.translates.daterangepicker",[]),angular.module("lui.translates.tablegrid",[]),angular.module("lui.translates",["pascalprecht.translate","lui.translates.userpicker","lui.translates.daterangepicker","lui.translates.tablegrid"]),angular.module("lui",["lui.directives","lui.services","lui.filters","lui.templates","lui.translates"])}(),function(){"use strict";angular.module("lui.directives").directive("luidDaterange",["moment","$filter","$document","$timeout",function(a,b,c,d){function e(e,f,g,h){function i(b,c){var d=e.startProperty||"startsOn",f=e.endProperty||"endsOn",g={},h=a(b),i=a(c);switch(e.excludeEnd&&i.add(1,"d"),e.format||"moment"){case"moment":g[d]=h,g[f]=i;break;case"date":g[d]=h.toDate(),g[f]=i.toDate();break;default:g[d]=h.format(e.format),g[f]=i.format(e.format)}return g}function j(b){var c,d,f=e.startProperty||"startsOn",g=e.endProperty||"endsOn";switch(e.format||"moment"){case"moment":case"date":c=a(b[f]),d=a(b[g]);break;default:c=a(b[f],e.format),d=a(b[g],e.format)}return e.excludeEnd&&d.add(-1,"d"),{startsOn:c.toDate(),endsOn:d.toDate()}}function k(){e.popoverOpened=!1,m.unpinPopover(),e.$apply()}var l=h[1],m=h[0];e.internal={},e.hasPeriods=!!g.periods,l.$render=function(){if(!l.$viewValue)return e.internal.startsOn=void 0,e.internal.endsOn=void 0,void(e.internal.strFriendly=void 0);var a=j(l.$viewValue);e.internal.startsOn=a.startsOn,e.internal.endsOn=a.endsOn,e.internal.strFriendly=b("luifFriendlyRange")(e.internal)},e.$watch(function(a){return l.$viewValue[a.startProperty||"startsOn"]},function(){l.$render()}),e.$watch(function(a){return l.$viewValue[a.endProperty||"endsOn"]},function(){l.$render()}),m.updateValue=function(a,b){var c=l.$viewValue,d=i(a,b);c[Object.keys(d)[0]]=d[Object.keys(d)[0]],c[Object.keys(d)[1]]=d[Object.keys(d)[1]],l.$setViewValue(c),e.$parent.$eval(g.ngChange)},m.pinPopover=function(){d(function(){c.on("click",k)},10)},m.unpinPopover=function(){c.off("click",k)}}return{require:["luidDaterange","^ngModel"],controller:"luidDaterangeController",scope:{disabled:"=",format:"@",startProperty:"@",endProperty:"@",popoverPlacement:"@",excludeEnd:"=",periods:"=",closeLabel:"@",closeAction:"&"},templateUrl:"lui/directives/luidDaterange.html",restrict:"EA",link:e}}]).controller("luidDaterangeController",["$scope","moment","$filter",function(a,b,c){var d=this;a.internalUpdated=function(){b(a.internal.startsOn).diff(a.internal.endsOn)>0&&(a.internal.endsOn=b(a.internal.startsOn)),a.hackRefresh=!a.hackRefresh,d.updateValue(a.internal.startsOn,a.internal.endsOn),a.internal.strFriendly=c("luifFriendlyRange")(a.internal)},a.goToPeriod=function(c){a.internal.startsOn=b(c.startsOn).toDate(),a.internal.endsOn=b(c.endsOn).toDate(),a.excludeEnd&&(a.internal.endsOn=b(c.endsOn).add(-1,"day").toDate()),a.internalUpdated()},a.popoverOpened=!1,a.togglePopover=function(){a.popoverOpened=!a.popoverOpened,a.popoverOpened?d.pinPopover():d.unpinPopover()},a.doCloseAction=function(){a.togglePopover(),a.closeAction&&a.closeAction()},a.clickInside=function(a){a.preventDefault(),a.stopPropagation()};var e=function(c){var d=c.date,e=c.mode,f="";return"day"==e&&(0===b(d).diff(a.internal.startsOn)&&(f="start"),0===b(d).diff(a.internal.endsOn)&&(f+="end"),b(d).isAfter(a.internal.startsOn)&&b(d).isBefore(a.internal.endsOn)&&(f+="in-between")),f},f=b.localeData().firstDayOfWeek();a.dpOptions={showWeeks:!1,customClass:e,startingDay:f}}]),angular.module("lui.templates.daterangepicker").run(["$templateCache",function(a){a.put("lui/directives/luidDaterange.html",""),a.put("lui/directives/luidDaterangePopover.html",'")}])}(),function(){"use strict";var a=function(){return{template:'
{{controller.date | luifMoment: \'dddd\'}}
{{controller.date | luifMoment:\'DD\'}}
{{controller.date | luifMoment: \'MMM\'}}
{{controller.date | luifMoment: \'YYYY\'}}
',scope:{date:"=",showDay:"=",primaryColor:"=",secondaryColor:"="},restrict:"E",bindToController:!0,controllerAs:"controller",controller:"luidDayBlockController"}};angular.module("lui.directives").directive("luidDayBlock",a).controller("luidDayBlockController",function(){var a=this;a.weekdayStyleOverride=function(){return{color:a.primaryColor}},a.dayStyleOverride=function(){return{"background-color":a.primaryColor,"border-color":a.primaryColor,color:a.secondaryColor}},a.monthStyleOverride=function(){return{"background-color":a.secondaryColor,"border-color":a.primaryColor,color:a.primaryColor}},a.yearStyleOverride=function(){return{"background-color":a.secondaryColor,"border-color":a.primaryColor,color:a.primaryColor}}})}(),function(){"use strict";angular.module("lui.directives").directive("luidKeydown",function(){return{restrict:"A",scope:{mappings:"="},link:function(a,b,c){b.on("keydown",function(b){a.mappings&&a.mappings[b.which]&&(a.mappings[b.which](),b.preventDefault())})}}}),angular.module("lui.directives").directive("luidSelectOnClick",function(){return{restrict:"A",link:function(a,b,c){b.on("click",function(){this.select()}),b.on("focus",function(){this.select()})}}}),angular.module("lui.directives").directive("luidFocusOn",function(){return function(a,b,c){a.$on(c.luidFocusOn,function(a){b[0].focus()})}})}(),function(){"use strict";angular.module("lui.directives").directive("luidSelect",[function(){return{require:"^ngModel",scope:{options:"=",placeholder:"@",displayProp:"@",ngDisabled:"=",classes:"@",onSelect:"&",onRemove:"&"},restrict:"E",template:' {{$select.selected[displayProp]}}
'}}])}(),function(){"use strict";angular.module("lui.directives").directive("luidMoment",["moment",function(a){function b(b,c,d,e){var f=e[1],g=e[0];if(b.hasButtons=void 0!==d.showButtons,d.format){var h=b.$eval(d.format);f.$render=function(){var c=a(this.$viewValue,h),d=this.$viewValue&&c.isValid();b.hours=d?c.format("HH"):void 0,b.mins=d?c.format("mm"):void 0,f.$validate()},f.setValue=function(a){f.$setViewValue(a?a.format(h):void 0)},f.$validators.min=function(b,c){return!c||g.checkMin(a(b,h))},f.$validators.max=function(b,c){return!c||g.checkMax(a(b,h))}}else f.$render=function(){var a=this.$viewValue&&!!this.$viewValue.isValid&&this.$viewValue.isValid();b.hours=a?this.$viewValue.format("HH"):void 0,b.mins=a?this.$viewValue.format("mm"):void 0,f.$validate()},f.setValue=function(a){f.$setViewValue(a)},f.$validators.min=function(a,b){return!b||g.checkMin(a)},f.$validators.max=function(a,b){return!b||g.checkMax(a)};b.ngModelCtrl=f,f.$validators.hours=function(a,c){return void 0!==b.hours&&""!==b.hours&&!isNaN(parseInt(b.hours))},f.$validators.minutes=function(a,c){return void 0!==b.mins&&""!==b.mins&&parseInt(b.mins)<60};var i=c.find("input");g.setupEvents(angular.element(i[0]),angular.element(i[1])),b.$watch("min",function(){f.$validate()}),b.$watch("max",function(){f.$validate()})}return{require:["luidMoment","^ngModel"],controller:"luidMomentController",scope:{min:"=",max:"=",step:"=",referenceDate:"=",disabled:"=",showButtons:"=",enforceValid:"=",format:"=",minOffset:"=",maxOffset:"="},templateUrl:"lui/directives/luidMoment.html",restrict:"EA",link:b}}]).controller("luidMomentController",["$scope","$timeout","moment",function(a,b,c){function d(b){function d(){function a(a,b){return-1!==a.indexOf(b)}var d=c(p());d&&d.isValid()||(d=l().startOf("day")),a(w,Math.abs(b))&&d.minutes()%b!==0&&(b=0>b?-(d.minutes()%b):-d.minutes()%b+b);var e=d.add(b,"m");return e.seconds(0),e}a.disabled||e(d(),!0)}function e(b,c){f(b,c),a.ngModelCtrl.$render()}function f(b,c){function d(a,b,c){switch(!0){case!a:return a;case b&&b.diff(a)>0:return b;case c&&c.diff(a)<0:return c;default:return a}}var e=n(),f=o();c&&(b=d(b,e,f)),a.maxed=b&&f&&f.diff(b)<=0,a.mined=b&&e&&e.diff(b)>=0,a.ngModelCtrl.setValue(b)}function g(){return void 0===a.hours||""===a.hours||void 0===a.mins||""===a.mins}function h(){if(!g()){var b=parseInt(a.hours),c=parseInt(a.mins);return c>60&&(c=59,a.mins="59"),l().hours(b).minutes(c).seconds(0)}}function i(){function a(a){a&&(b.cancel(a),a=void 0)}a(u),a(v)}function j(){e(p(),a.enforceValid)}function k(){return isNaN(parseInt(a.step))?5:parseInt(a.step)}function l(){function b(a){return a&&c(a).isValid()?c(a):void 0}return b(a.referenceDate)||b(a.min)||b(a.max)||c()}function m(a,b,d){function e(){switch(!0){case!!a.isValid&&!!a.isValid():return c(a);case c(a,"YYYY-MM-DD HH:mm").isValid():return c(a,"YYYY-MM-DD HH:mm");case c(a,"HH:mm").isValid():var b=l(),e=c(a,"HH:mm").year(b.year()).month(b.month()).date(b.date());return d&&e.hours()+e.minutes()===0&&e.add(1,"d"),e}}if(a){var f=e();return f.add(c.duration(b)),f}}function n(){return m(a.min,a.minOffset,!1)}function o(){return m(a.max,a.maxOffset,!0)}function p(){return a.format?c(a.ngModelCtrl.$viewValue,a.format):a.ngModelCtrl.$viewValue}function q(b,c){i(),d(c),a.$broadcast(b)}function r(b){i(),a.minsFocused=!!b,a.hoursFocused=!b}function s(a,c){a=b(function(){a=!1,j()},200)}function t(a){return void 0===a||""===a}var u,v,w=[5,10,15,20,30];a.pattern=/^([0-9]{0,2})?$/,a.incrHours=function(){q("focusHours",60)},a.decrHours=function(){q("focusHours",-60)},a.incrMins=function(){q("focusMinutes",k())},a.decrMins=function(){q("focusMinutes",-k())},a.changeHours=function(){return t(a.hours)?f(void 0):(t(a.mins)&&(a.mins="00"),2==a.hours.length?(parseInt(a.hours)>23&&(a.hours="23"),a.$broadcast("focusMinutes")):1==a.hours.length&&parseInt(a.hours)>2&&(a.hours=0+a.hours,a.$broadcast("focusMinutes")),void f(h()))},a.changeMins=function(){f(h())},a.formatInputValue=function(){a.ngModelCtrl.$render()},a.getDayGap=function(){var a=l().startOf("day");return c.duration(c(p()).startOf("d").diff(a)).asDays()},a.blurHours=function(){s(u,a.hoursFocused)},a.blurMins=function(){a.mins||(""===a.hours||void 0===a.hours?a.mins=void 0:a.mins="00"),s(v,a.minsFocused)},a.focusHours=function(){r(!1)},a.focusMins=function(){r(!0)},this.checkMin=function(a){var b=n();return!b||b.diff(a)<=0},this.checkMax=function(a){var b=o();return!b||b.diff(a)>=0},this.setupEvents=function(b,c){function e(b,c){function e(b,c){switch(b.which){case 38:b.preventDefault(),d(c),a.$apply();break;case 40:b.preventDefault(),d(-c),a.$apply();break;case 13:b.preventDefault(),a.formatInputValue(),a.$apply()}}var f=k();b.bind("keydown",function(a){e(a,60)}),c.bind("keydown",function(a){e(a,f)})}function f(b,c){function e(a){a=a.originalEvent?a.originalEvent:a;var b=a.wheelDelta?a.wheelDelta:-a.deltaY;return a.detail||b>0}function f(b,c){a.disabled||(a.$apply(d(e(b)?c:-c)),b.preventDefault())}var g=k();b.bind("mousewheel wheel",function(a){f(a,60)}),c.bind("mousewheel wheel",function(a){f(a,g)})}e(b,c),f(b,c)}}]),angular.module("lui.templates.momentpicker").run(["$templateCache",function(a){a.put("lui/directives/luidMoment.html","
:
")}])}(),function(){"use strict";angular.module("lui.directives").directive("luidPercentage",function(){function a(a,b,c,d){var e=d[1],f=d[0];if(a.pattern=/^([0-9]+)(\.([0-9]*)?)?$/i,c.format){if("0.XX"!==c.format&&"1.XX"!==c.format&&"XX"!==c.format)return void(e.$render=function(){a.intPct="unsupported format"})}else a.format="0.XX";a.ngModelCtrl=e,e.$render=function(){return void 0===this.$viewValue?void(a.intPct=void 0):void(a.intPct=a.parse(parseFloat(this.$viewValue)))},e.$viewChangeListeners.push(function(){a.$eval(c.ngChange)}),f.setupEvents(b.find("input"))}return{require:["luidPercentage","^ngModel"],controller:"luidPercentageController",scope:{step:"=",format:"@",ngDisabled:"=",placeholder:"@"},restrict:"EA",link:a,template:"
%
"}}).controller("luidPercentageController",["$scope",function(a){function b(b){c(parseFloat(a.intPct)+b)}function c(b){d(b),a.ngModelCtrl.$render()}function d(b){function c(b){switch(a.format||"0.XX"){case"XX":return b;case"0.XX":return b/100;case"1.XX":return b/100+1;default:return 0}}var d=void 0===b?void 0:c(b);a.ngModelCtrl.$setViewValue(d)}this.setupEvents=function(c){function d(){return isNaN(parseInt(a.step))?5:parseInt(a.step)}function e(c){var e=d();c.bind("keydown",function(c){switch(c.which){case 38:c.preventDefault(),b(e),a.$apply();break;case 40:c.preventDefault(),b(-e),a.$apply();break;case 13:c.preventDefault(),a.formatInputValue(),a.$apply()}})}function f(c){function e(a){a=a.originalEvent?a.originalEvent:a;var b=a.wheelDelta?a.wheelDelta:-a.deltaY;return a.detail||b>0}var f=d();c.bind("mousewheel wheel",function(c){this===document.activeElement&&(a.$apply(b(e(c)?f:-f)),c.preventDefault())})}e(c),f(c)},a.updateValue=function(){d(a.intPct)},a.parse=function(b){switch(a.format||"0.XX"){case"XX":return b;case"0.XX":return Math.round(1e4*b)/100;case"1.XX":return Math.round(1e4*(b-1))/100;default:return 0}},a.formatInputValue=function(){a.ngModelCtrl.$render()}}])}(),function(){"use strict";angular.module("lui.directives").directive("luidTimespan",["moment",function(a){function b(b,c,d,e){var f=e[1],g=e[0];if(b.pattern=/^\-?([0-9]+)((h([0-9]{2})?)?(m(in)?)?)?$/i,d.unit){var h=b.$eval(d.unit);"h"!=h&&"hour"!=h&&"hours"!=h||(b.useHours=!0)}b.ngModelCtrl=f,f.$render=function(){if(b.strDuration="",this.$viewValue){var c=a.duration(this.$viewValue);0>c&&(b.strDuration+="-",c=a.duration(-c));var d=Math.floor(c.asHours()),e=c.minutes();0===d?b.strDuration+=e+"m":b.strDuration+=(10>d?"0":"")+d+"h"+(10>e?"0":"")+e}},g.setupEvents(c.find("input")),g.mode=d.mode?d.mode:"timespan"}return{require:["luidTimespan","^ngModel"],controller:"luidTimespanController",scope:{step:"=",unit:"=",ngDisabled:"=",placeholder:"@",mode:"=",min:"=",max:"="},restrict:"EA",link:b,template:""}}]).controller("luidTimespanController",["$scope","moment",function(a,b){function c(c){function d(a){var c=b.duration(),d=a.split(/h/i),e=parseInt(d[0])>=0;c.add(parseInt(d[0]),"hours");var f=d[1];return f&&f.length>=2&&(e?c.add(parseInt(f.substring(0,2)),"minutes"):c.subtract(parseInt(f.substring(0,2)),"minutes")),c}function e(a){var c=b.duration(),d=a.split(/m/i);return c.add(parseInt(d[0]),"minutes"),c}function f(a){var c=b.duration(),d=a.split(/h/i);return c.add(parseInt(d[0]),"hours"),c}switch(!0){case/h/i.test(c):return d(c);case/m/i.test(c):return e(c);case a.useHours:return f(c);default:return e(c)}}function d(a){var c=b.duration(g()).add(a,"minutes");c.asMilliseconds()<0&&(c=b.duration()),e(c)}function e(b){f(b),a.ngModelCtrl.$render()}function f(c){function d(c){function d(c){var d=a.min?b.duration(a.min):void 0;return!d||c>=d?c:d}function e(c){var d=a.max?b.duration(a.max):void 0;return!d||d>=c?c:d}return e(d(c))}function e(a){if("timespan"===h.mode){var c="";return a.asMilliseconds()<0&&(c+="-",a=b.duration(-a)),c+=(a.days()>0?Math.floor(a.asDays())+".":"")+(a.hours()<10?"0":"")+a.hours()+":"+(a.minutes()<10?"0":"")+a.minutes()+":00"}return a}if(void 0===c)return a.ngModelCtrl.$setViewValue(void 0);c=d(c);var f=e(c);a.ngModelCtrl.$setViewValue(f)}function g(){return a.ngModelCtrl.$viewValue}var h=this;this.setupEvents=function(b){function c(){return isNaN(parseInt(a.step))?5:parseInt(a.step)}function e(b){var e=c();b.bind("keydown",function(b){switch(b.which){case 38:b.preventDefault(),d(e),a.$apply();break;case 40:b.preventDefault(),d(-e),a.$apply();break;case 13:b.preventDefault(),a.formatInputValue(),a.$apply()}})}function f(b){function e(a){a=a.originalEvent?a.originalEvent:a;var b=a.wheelDelta?a.wheelDelta:-a.deltaY;return a.detail||b>0}var f=c();b.bind("mousewheel wheel",function(b){this===document.activeElement&&(a.$apply(d(e(b)?f:-f)),b.preventDefault())})}e(b),f(b)},a.updateValue=function(){if(!a.strDuration)return f(void 0);var b=c(a.strDuration);f(b)},a.formatInputValue=function(){a.ngModelCtrl.$render()}}])}(),function(){"use strict";angular.module("lui.directives").directive("luidUserSelect",[function(){return{require:"^ngModel",scope:{users:"=",placeholder:"@",onSelect:"&",onRemove:"&"},restrict:"E",template:' {{$select.selected.displayName}}
'}}])}(),function(){"use strict";angular.module("lui.directives").directive("luidTranslations",["$translate","_","$filter","$timeout",function(a,b,c,d){function e(c,d,e,f){var g=f[1],h=f[0],i=["en","de","es","fr","it","nl"];c.cultures=i;var j=a.preferredLanguage()||"en";c.currentCulture=j;var k="dictionary";e.mode&&(k=c.mode),"dictionary"===k&&void 0!==g.$viewValue&&b.each(i,function(a){c.$watch(function(){return g.$viewValue[a]},function(){g.$render()})}),g.$render=function(){c.internal=l(g.$viewValue)},h.updateViewValue=function(){switch(k){case"dictionary":return n(c.internal);case"|":case"pipe":return p(c.internal);case"[]":case"brackets":return updateBrackets(c.internal)}};var l=function(a){switch(k){case"dictionary":return m(a);case"|":case"pipe":return o(a);case"[]":case"brackets":return q(a);default:return{}}},m=function(a){return b.reduce(i,function(b,c){return b[c]=a[c],b},{})},n=function(a){b.each(i,function(b){g.$viewValue[b]=a[b]}),g.$setViewValue(g.$viewValue),c.$parent.$eval(e.ngChange)},o=function(a){if(!a)return{};var c=a.split("|"),d={};return b.each(c,function(a){var b=a.substring(0,2),c=a.substring(3);d[b]=c}),b.pick(d,i)},p=function(a){var c=b.map(i,function(b){return a[b]?b+":"+a[b]:b+":"}).join("|");g.$setViewValue(c)},q=function(a){return{}}}return{require:["luidTranslations","^ngModel"],controller:"luidTranslationsController",scope:{mode:"@",size:"@"},templateUrl:"lui/directives/luidTranslations.html",restrict:"EA",replace:!0,link:e}}]).controller("luidTranslationsController",["$scope","$translate","$timeout",function(a,b,c){var d=this;a.update=function(){d.updateViewValue()};var e;a.focusInput=function(){e&&(c.cancel(e),e=void 0),a.focused=!0},a.blurInput=function(){e=c(function(){a.focused=!1},500)}}]),angular.module("lui.templates.translationsinput").run(["$templateCache",function(a){a.put("lui/directives/luidTranslations.html",'
{{currentCulture}}
{{culture}}
')}])}(),function(){"use strict";var a=10,b=1e4,c=[{label:"LUIDUSERPICKER_DEPARTMENT",name:"department.name",icon:"location"},{label:"LUIDUSERPICKER_LEGALENTITY",name:"legalEntity.name",icon:"tree list"},{label:"LUIDUSERPICKER_EMPLOYEENUMBER",name:"employeeNumber",icon:"user"},{label:"LUIDUSERPICKER_MAIL",name:"mail",icon:"email"}],d='
{{ \'LUIDUSERPICKER_ALL\' | translate }}
{{property.label | translate}} {{getProperty(user, property.name)}}
LUIDUSERPICKER_FORMEREMPLOYEE
{{user.overflow}}
',e='
{{ $select.selected.firstName }} {{$select.selected.lastName}}
{{ \'LUIDUSERPICKER_ALL\' | translate }}
'+d+"
",f='{{$item.firstName}} {{$item.lastName}} {{property.label | translate}} {{getProperty($item, property.name)}} LUIDUSERPICKER_FORMEREMPLOYEE'+d+"";angular.module("lui.directives").directive("luidUserPicker",function(){return{restrict:"E",controller:"luidUserPickerController",template:e,require:["luidUserPicker","^ngModel"],scope:{size:"@",onSelect:"&",onRemove:"&",controlDisabled:"=",showFormerEmployees:"=",homonymsProperties:"=",customFilter:"=",appId:"=",operations:"=",customInfo:"=",customInfoAsync:"=",displayMeFirst:"=",displayAllUsers:"=",customHttpService:"=",bypassOperationsFor:"="},link:function(a,b,c,d){var e=d[0],f=d[1];e.isMultipleSelect=!1,e.asyncPagination=!1,e.useCustomFilter=!!c.customFilter,e.displayCustomInfo=!!c.customInfo||!!c.customInfoAsync,a.$watch(function(){return(f.$viewValue||{}).id},function(){a.reorderUsers()}),e.getSelectedUsers=function(){return f.$viewValue?[f.$viewValue]:[]},e.getSelectedUserIds=function(){return f.$viewValue?[f.$viewValue.id]:[]}}}}).directive("luidUserPickerMultiple",function(){return{restrict:"E",controller:"luidUserPickerController",template:f,require:["luidUserPickerMultiple","^ngModel"],scope:{size:"@",onSelect:"&",onRemove:"&",controlDisabled:"=",showFormerEmployees:"=",homonymsProperties:"=",customFilter:"=",appId:"=",operations:"=",customInfo:"=",customInfoAsync:"=",displayMeFirst:"=",customHttpService:"=",bypassOperationsFor:"="},link:function(a,b,c,d){var e=d[0],f=d[1];e.isMultipleSelect=!0,e.asyncPagination=!1,e.useCustomFilter=!!c.customFilter,e.displayCustomInfo=!!c.customInfo||!!c.customInfoAsync,a.$watchCollection(function(){return f.$viewValue},function(){a.reorderUsers()}),e.getSelectedUsers=function(){return f.$viewValue||[]},e.getSelectedUserIds=function(){return f.$viewValue?_.pluck(f.$viewValue,"id"):[]}}}}).controller("luidUserPickerController",["$scope","$http","moment","$timeout","$q",function(d,e,f,g,h){var i,j,k,l=this,m={},n=!0,o=function(a){return d.customHttpService&&d.customHttpService[a]?d.customHttpService[a]:e[a]};d.find=function(a){q(),G(),v(a).then(function(b){if(b.length>0){var c=b;j=r(c)||[],!d.displayAllUsers||a&&a.length||j.push({id:-1,isAll:!0}),k=j,I(k),d.reorderUsers(),D(k)&&E(k),z(k)&&(B(k),A(k).then(function(a){k=a},function(a){M("GET_HOMONYMS_PROPERTIES",a)}))}else d.users=[{overflow:"LUIDUSERPICKER_NORESULTS",id:-1}]},function(a){M("GET_USERS",a)})};var p,q=function(){s(),p&&p.then(function(a){})},r=function(a){var b=a;return l.useCustomFilter&&(b=_.filter(a,function(a){return d.customFilter(angular.copy(a))})),b},s=function(){m.count&&g.cancel(m.count)},t=function(){var c=b;return l.asyncPagination&&(c=a+1),c},u=function(a){var b="formerEmployees="+(d.showFormerEmployees?"true":"false"),c="&limit="+t(),e="clue="+a,f="",g="",h="/api/v3/users/find?"+(a?e+"&":"")+b+c,i=[];return d.appId&&d.operations&&d.operations.length&&(g="&appinstanceid="+d.appId,f="&operations="+d.operations.join(",")),i.push(o("get")(h+g+f)),d.bypassOperationsFor&&d.bypassOperationsFor.length&&d.operations&&d.operations.length&&i.push(o("get")(h)),i},v=function(a){var b=h.defer();return h.all(u(a)).then(function(a){var c=a[0].data.data.items;a[1]&&(_.each(d.bypassOperationsFor,function(b){var d=_.find(a[1].data.data.items,function(a){return a.id===b});d&&c.push(d)}),c=_.chain(c).uniq(function(a){return a.id}).sortBy(function(a){return a.lastName}).value()),b.resolve(c)},function(a){b.reject(a.data.Message)}),b.promise},w=function(b){return!!b&&b.length>a},x=function(b){l.asyncPagination?d.count="...":d.count=b.length,d.users=_.first(b,a),y()},y=function(){d.users.push({overflow:"LUIDUSERPICKER_OVERFLOW",cnt:a,all:d.count,id:-1})},z=function(a){var b=_.uniq(a,function(a){return a.firstName&&a.lastName?a.firstName.toLowerCase()+a.lastName.toLowerCase():void 0});return b.length1&&l.length>1){var m=_.uniq(b,function(b){return b[a.name]+b[g.name]});m.length===b.length&&(j=!0,d.displayedProperties.push(a),d.displayedProperties.push(g))}}})}}),!j&&f&&d.displayedProperties.push(f),k.resolve(a)},function(a){k.reject(a)}),k.promise},B=function(a){_.each(a,function(b,c){if(b.firstName&&b.lastName){var d=_.rest(a,c+1);_.each(d,function(a){a.firstName&&a.lastName&&b.firstName.toLowerCase()===a.firstName.toLowerCase()&&b.lastName.toLowerCase()===a.lastName.toLowerCase()&&(b.hasHomonyms=!0,a.hasHomonyms=!0)})}})},C=function(a,b){var c="/api/v3/users?id=",d="&fields=id,firstname,lastname",e=h.defer();return _.each(b,function(a){d+=","+a.name}),_.each(a,function(b){c+=b!==_.last(a)?b.id+",":b.id+d}),o("get")(c).then(function(a){e.resolve(a.data.data.items)},function(a){e.reject(a.data.Message)}),e.promise};d.getProperty=function(a,b){var c=b.split("."),d=a[_.first(c)];return _.each(c,function(a){d&&a!==_.first(c)&&(d=d[a])}),d};var D=function(a){var b=_.find(a,function(a){return f(a.dtContractEnd).isBefore(f())});return!!b},E=function(a){_.each(a,function(a){-1!==a.id&&f(a.dtContractEnd).isBefore(f())&&(a.isFormerEmployee=!0)})},F=function(){d.customInfo&&_.each(d.users,function(a){-1===a.id||a.info||(a.info=d.customInfo(angular.copy(a)))}),d.customInfoAsync&&_.each(d.users,function(a){-1===a.id||a.info||d.customInfoAsync(angular.copy(a)).then(function(b){a.info=b},function(a){M("GET_CUSTOM_INFO",a)})})},G=function(){n&&d.displayMeFirst&&(H().then(function(a){i=a},function(a){M("GET_ME",a)}),n=!1)},H=function(){var a="/api/v3/users/me?fields=id",b=h.defer();return o("get")(a).then(function(a){b.resolve(a.data.data.id)},function(a){b.reject(a.data.Message)}),b.promise},I=function(a){return a&&0!==a.length?(void 0!==a[0].originalPosition?a=_.sortBy(a,"originalPosition"):_.each(a,function(a,b){a.originalPosition=b}),a):a; -},J=function(a){var b=a,c=l.isMultipleSelect?null:_.find(a,function(a){return a.id===l.getSelectedUserIds()[0]}),d=_.find(a,function(a){return a.id===i}),e=_.findWhere(a,{isAll:!0});return!d||c&&d.id===c.id||(d.isMe=!0,b=K(d,b)),e&&(b=K(e,b)),!c||e&&c.id===e.id||(c.isSelected=!0,b=K(c,b)),b},K=function(a,b){var c=b;if(b&&b.length){var d=_.partition(b,function(b){return b.id===a.id});return c=_.union(d[0],d[1]),c[0].isDisplayedFirst=!0,c}},L=function(a){_.each(a,function(a){a.isDisplayedFirst=!1,a.isSelected=!1,a.isMe=!1})};d.reorderUsers=function(){if(l.isMultipleSelect){var a=_.difference(_.pluck(k,"id"),l.getSelectedUserIds());j=_.filter(k,function(b){return _.contains(a,b.id)})}j=I(j),L(j),j=J(j),w(j)?x(j):(d.users=j,d.count=(d.users||[]).length),l.displayCustomInfo&&F()};var M=function(a,b){switch(a){case"GET_USERS":d.users=[],d.users.push({overflow:"LUIDUSERPICKER_ERR_GET_USERS",id:-1}),console.log({cause:a,message:b});break;case"GET_COUNT":case"GET_HOMONYMS_PROPERTIES":case"GET_CUSTOM_INFO":case"GET_ME":console.log({cause:a,message:b})}}}]).filter("luifHighlight",["$filter","$translate",function(a,b){return function(c,d,e,f){return(f?""+b.instant(f)+" ":"")+a("highlight")(c,d)+(e?''+e+"":"")}}]),angular.module("lui.translates.userpicker").config(["$translateProvider",function(a){a.translations("en",{LUIDUSERPICKER_FORMEREMPLOYEE:"Left on {{dtContractEnd | luifMoment : 'LL'}}",LUIDUSERPICKER_NORESULTS:"No results",LUIDUSERPICKER_ERR_GET_USERS:"Error while loading users",LUIDUSERPICKER_OVERFLOW:"{{cnt}} displayed results of {{all}}",LUIDUSERPICKER_PLACEHOLDER:"Type a last name or first name...",LUIDUSERPICKER_DEPARTMENT:"Department",LUIDUSERPICKER_LEGALENTITY:"Legal entity",LUIDUSERPICKER_EMPLOYEENUMBER:"Employee number",LUIDUSERPICKER_MAIL:"Email",LUIDUSERPICKER_SELECTED:"Selected:",LUIDUSERPICKER_ME:"Me:",LUIDUSERPICKER_ALL:"All users"}),a.translations("de",{LUIDUSERPICKER_FORMEREMPLOYEE:"Verließ die {{dtContractEnd | luifMoment : 'LL'}}",LUIDUSERPICKER_NORESULTS:"Keine Ergebnisse",LUIDUSERPICKER_ERR_GET_USERS:"Fehler",LUIDUSERPICKER_OVERFLOW:"Es werden {{cnt}} auf {{all}} Benutzernamen",LUIDUSERPICKER_PLACEHOLDER:"Geben Sie einen Benutzernamen...",LUIDUSERPICKER_DEPARTMENT:"Abteilung",LUIDUSERPICKER_LEGALENTITY:"Rechtsträger",LUIDUSERPICKER_EMPLOYEENUMBER:"Betriebsnummer",LUIDUSERPICKER_MAIL:"E-mail",LUIDUSERPICKER_SELECTED:"Ausgewählt:",LUIDUSERPICKER_ME:"Mir:",LUIDUSERPICKER_ALL:"Alle Benutzer"}),a.translations("es",{}),a.translations("fr",{LUIDUSERPICKER_FORMEREMPLOYEE:"Parti(e) le {{dtContractEnd | luifMoment : 'LL'}}",LUIDUSERPICKER_NORESULTS:"Aucun résultat",LUIDUSERPICKER_ERR_GET_USERS:"Erreur lors de la récupération des utilisateurs",LUIDUSERPICKER_OVERFLOW:"{{cnt}} résultats affichés sur {{all}}",LUIDUSERPICKER_PLACEHOLDER:"Saisissez un nom, prénom...",LUIDUSERPICKER_DEPARTMENT:"Service",LUIDUSERPICKER_LEGALENTITY:"Entité légale",LUIDUSERPICKER_EMPLOYEENUMBER:"Matricule",LUIDUSERPICKER_MAIL:"Email",LUIDUSERPICKER_SELECTED:"Sélectionné :",LUIDUSERPICKER_ME:"Moi :",LUIDUSERPICKER_ALL:"Tous les utilisateurs"}),a.translations("it",{}),a.translations("nl",{})}])}(),function(){"use strict";function a(a,b,c){function d(a){return a.replace(/([.*+?^=!:${}()|\[\]\/\\])/g,"\\$1")}return a?a.replace(new RegExp(d(b),"g"),c):""}angular.module("lui.filters").filter("luifPlaceholder",function(){return function(a,b){return a?a:b}}).filter("luifDefaultCode",function(){return function(b){return a(b," ","_").toUpperCase()}}).filter("luifStartFrom",function(){return function(a,b){return b=+b,a.slice(b)}}).filter("luifNumber",["$sce","$filter",function(a,b){return function(c,d,e){function f(a,b){return void 0===a?'':0===parseInt(a)?''+b+a+"":""+b+a+""}var g=void 0===e?"":e,h=void 0===c||null===c||""===c||c!=c?g:c,i=b("number")(1.1,1)[1],j=void 0===d||null===d||d!=d?2:d,k=b("number")(h,j),l=(k||b("number")(0,j)).split(i)[1],m=f(l,i);if(""===h||!k)return a.trustAsHtml(h+m);var n=k.split(i)[0];return a.trustAsHtml(n+m)}}])}(),function(){"use strict";var a=function(a,b){var c=moment(a);return c.isValid()?c.format(b):a};angular.module("lui.filters").filter("luifFriendlyRange",function(){var a={en:{sameDay:"start(dddd, LL)",sameDayThisYear:"start(dddd, MMMM Do)",sameMonth:"start(MMMM Do) - end(Do, YYYY)",sameMonthThisYear:"start(MMMM Do) - end(Do)",sameYear:"start(MMMM Do) - end(LL)",sameYearThisYear:"start(MMMM Do) - end(MMMM Do)",other:"start(LL) - end(LL)"},fr:{sameDay:"le start(dddd LL)",sameDayThisYear:"le start(dddd Do MMMM)",sameMonth:"du start(Do) au end(LL)",sameMonthThisYear:"du start(Do) au end(Do MMMM)",sameYear:"du start(Do MMMM) au end(LL)",sameYearThisYear:"du start(Do MMMM) au end(Do MMMM)",other:"du start(LL) au end(LL)"},de:{sameDay:"der start(dddd LL)",sameDayThisYear:"der start(dddd Do MMMM)",sameMonth:"von start(Do) bis end(LL)",sameMonthThisYear:"von start(Do) bis end(Do MMMM)",sameYear:"von start(Do MMMM) bis end(LL)",sameYearThisYear:"von start(Do MMMM) bis end(Do MMMM)",other:"von start(LL) bis end(LL)"}};return function(b,c,d,e){if(b){var f=moment(b.startsAt||b.startsOn||b.startDate||b.start),g=moment(b.endsAt||b.endsOn||b.endDate||b.end);c&&g.add(-1,"minutes");var h=a[moment.locale()]||a.en,i=f.year()===g.year()?f.month()===g.month()?f.date()===g.date()?"sameDay":"sameMonth":"sameYear":"other";moment().year()===f.year()&&moment().year()===g.year()&&(i+="ThisYear");var j=/(start\((.*?)\))(.*(end\((.*?)\))){0,1}/gi.exec(h[i]);return h[i].replace(j[1],f.format(j[2])).replace(j[4],g.format(j[5]))}}}).filter("luifMoment",function(){return function(b,c){return c||(c="LLL"),a(b,c)}}).filter("luifCalendar",function(){return function(a,b){var c=moment(a);b&&moment(b).isValid()?moment(b):moment();return c.isValid()?c.calendar(b):a}}).filter("luifDuration",["$filter",function(a){return function(b,c,d,e){function f(a){switch(a){case"d":case"day":case"days":return 0;case void 0:case"":case"h":case"hour":case"hours":return 1;case"m":case"min":case"mins":case"minute":case"minutes":return 2;case"s":case"sec":case"second":case"seconds":return 3;case"ms":case"millisec":case"millisecond":case"milliseconds":return 4}}function g(a,b){return 4===b?4:0!==a[b]?b:g(a,b+1)}function h(a,b){return 0===b?0:0!==a[b]?b:h(a,b-1)}function i(a){switch(!0){case 0===Math.floor(10*a%10)&&0===Math.floor(100*a%10):return 0;case 0===Math.floor(100*a%10):return 1;default:return 2}}function j(a,b,c){switch(b){case c:return a;case 2:case 3:return 10>a?"0"+a:a;case 4:return 10>a?"00"+a:100>a?"0"+a:a;default:return a}}function k(a,b){if(a){if(b.asMilliseconds()>0)return"+";if(b.asMilliseconds()<0)return"-"}return""}function l(a,b){var c=["d ","h","m","s","ms"];switch(moment.locale()){case"fr":c[0]="j "}return 3>=a&&4===b&&(c[3]=".",c[4]="s"),1>=a&&2===b&&(c[2]=""),2===a&&3===b&&(c[3]=""),c}var m=[{index:0,unit:"d",dateConversion:"asDays",expectedPrecision:"h"},{index:1,unit:"h",dateConversion:"asHours",expectedPrecision:"m"},{index:2,unit:"m",dateConversion:"asMinutes",expectedPrecision:"s"},{index:3,unit:"s",dateConversion:"asSeconds",expectedPrecision:"s"},{index:4,unit:"ms",dateConversion:"asMilliseconds",expectedPrecision:"ms"}],n=moment.duration(b);if(0===n.asMilliseconds())return"";var o=[Math.abs(n.days()),Math.abs(n.hours()),Math.abs(n.minutes()),Math.abs(n.seconds()),Math.abs(n.milliseconds())],p=m[f(d)],q=Math.max(p.index,g(o,0));if(o[p.index]=Math.abs(n[p.dateConversion]()>=0?Math.floor(n[p.dateConversion]()):Math.ceil(n[p.dateConversion]())),0===p.index&&0===f(e)&&n.asDays()>0){var r=n.asDays(),s=i(r);q=0,o[0]=a("number")(r,s)}for(var t=h(o,f(e||p.expectedPrecision)),u=l(q,t),v="",w=q;t>=w;w++)v+=j(o[w],w,q)+u[w];var x=v?k(c,n):"";return x+v}}]).filter("luifHumanize",function(){return function(a,b){b=!!b;var c=moment.duration(a);return c.humanize(b)}})}();var __extends=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)};angular.module("lui.directives").directive("deferredCloak",["$timeout",function(a){return{restrict:"A",link:function(b,c,d){a(function(){d.$set("deferredCloak",void 0),c.removeClass("deferred-cloak")},0)}}}]);var Lui;!function(a){"use strict";var b=function(){function a(){}return a}();a.Period=b}(Lui||(Lui={}));var Lui;!function(a){var b;!function(a){"use strict";var b=function(){function a(a,b){this.message=a,this.details=b}return a}(),c="lui/templates/notify-service/error.html",d="lui/templates/notify-service/warning.html",e="lui/templates/notify-service/success.html",f="lui/templates/notify-service/loading.html",g="lui/templates/notify-service/alert.html",h="lui/templates/notify-service/confirm.html",i=function(){function a(a,b,c){this.duration=a,this.templateUrl=b,this.message=c}return a}(),j=function(a){function b(b){a.call(this,2e4,c,b)}return __extends(b,a),b}(i),k=function(a){function b(b){a.call(this,1e4,d,b)}return __extends(b,a),b}(i),l=function(a){function b(b){a.call(this,5e3,e,b)}return __extends(b,a),b}(i),m=(function(a){function b(b,c){a.call(this,864e5,f,c),this.scope=b}return __extends(b,a),b}(i),function(){function a(a,b,c,d,e,f){this.cgNotify=a,this.$q=b,this.$log=c,this.$rootScope=d,this.$timeout=e,this.$uibModal=f,this.conf={}}return a.prototype.config=function(a){this.conf.parentTagIdClass=a.parentTagIdClass||"body",this.conf.prefix=a.prefix||"lui",this.conf.startTop=a.startTop||40,this.conf.okLabel=a.okLabel||"Ok",this.conf.cancelLabel=a.cancelLabel||"Cancel",this.conf.canDismissConfirm=a.canDismissConfirm;var b=document.getElementsByTagName(this.conf.parentTagIdClass),c=document.getElementById(this.conf.parentTagIdClass),d=document.getElementsByClassName(this.conf.parentTagIdClass);if(b&&b.length)this.parentElt=angular.element(b[0]);else if(c)this.parentElt=angular.element(c);else{if(!d||!d.length)return void this.$log.warn("luisNotify - could not find a suitable element for tag/id/class: "+this.conf.parentTagIdClass);this.parentElt=angular.element(d[0])}this.cgNotify.config({container:this.parentElt,startTop:this.conf.startTop})},a.prototype.error=function(a,c){this.$log.error(new b(a,c)),this.cgNotify(new j(a))},a.prototype.warning=function(a,c){this.$log.warn(new b(a,c)),this.cgNotify(new k(a))},a.prototype.success=function(a,c){this.$log.log(new b(a,c)),this.cgNotify(new l(a))},a.prototype.alert=function(a,b,c){return this.openModal(g,a,b||this.conf.okLabel,c||this.conf.cancelLabel,!1)},a.prototype.confirm=function(a,b,c){return this.openModal(h,a,b||this.conf.okLabel,c||this.conf.cancelLabel,!this.conf.canDismissConfirm)},a.prototype.openModal=function(a,b,c,d,e){return this.$uibModal.open({templateUrl:a,controller:n.IID,appendTo:this.parentElt,size:"mobile",windowClass:this.conf.prefix,backdrop:!0,backdropClass:this.conf.prefix,resolve:{message:function(){return b},okLabel:function(){return c},cancelLabel:function(){return d},preventDismiss:function(){return e}}}).result},a.IID="luisNotify",a.$inject=["notify","$q","$log","$rootScope","$timeout","$uibModal"],a}());a.NotifyService=m;var n=function(){function a(a,b,c,d,e,f){var g=this;a.message=c,a.okLabel=d,a.cancelLabel=e,a.ok=function(){g.doClose=!0,b.close(!0)},a.cancel=function(){g.doClose=!0,b.close(!1)},f&&a.$on("modal.closing",function(a){g.doClose||a.preventDefault()})}return a.IID="notifyModalController",a.$inject=["$scope","$uibModalInstance","message","okLabel","cancelLabel","preventDismiss"],a}();angular.module("lui.services").service(m.IID,m),angular.module("lui.services").controller(n.IID,n)}(b=a.Service||(a.Service={}))}(Lui||(Lui={}));var Lui;!function(a){var b;!function(a){"use strict";var b=function(){function a(a,b,c,d){var e=this;this.totalRequests=0,this.completedRequests=0,this.request=function(a){return e.isCached(a)||e.startRequest(a.method),a},this.requestError=function(a){return e.startRequest("GET"),e.$q.reject(a)},this.response=function(a){return a&&!e.isCached(a.config)&&e.endRequest(e.extractMethod(a)),a},this.responseError=function(a){return e.endRequest("GET"),e.$q.reject(a)},this.isCached=function(a){var b,c=e.$cacheFactory.get("$http");!a.cache||a.cache===!1||"GET"!==a.method&&"JSONP"!==a.method||(b=angular.isObject(a.cache)?a.cache:c);var d=void 0!==b?void 0!==b.get(a.url):!1;return void 0!==a.cached&&d!==a.cached?a.cached:(a.cached=d,d)},this.extractMethod=function(a){try{return a.config.method}catch(b){return"GET"}},this.startRequest=function(a){e.progressBarService.isHttpResquestListening()?e.progressBarService.getHttpRequestMethods().indexOf(a)>-1&&(0===e.totalRequests&&e.progressBarService.start(),e.totalRequests++):(e.totalRequests=0,e.completedRequests=0)},this.setComplete=function(){e.completeTimeout&&e.$timeout.cancel(e.completeTimeout),e.completeTimeout=e.$timeout(function(){e.progressBarService.complete(),e.totalRequests=0,e.completedRequests=0},200)},this.endRequest=function(a){e.progressBarService.isHttpResquestListening()&&e.progressBarService.getHttpRequestMethods().indexOf(a)>-1&&(e.completedRequests++,e.completedRequests>=e.totalRequests&&e.setComplete())},this.$q=a,this.$cacheFactory=b,this.$timeout=c,this.progressBarService=d}return a.IID="luiHttpInterceptor",a.$inject=["$q","$cacheFactory","$timeout","luisProgressBar"],a}();a.LuiHttpInterceptor=b,angular.module("lui.services").service(b.IID,b)}(b=a.Service||(a.Service={}))}(Lui||(Lui={}));var Lui;!function(a){var b;!function(a){"use strict";var b=function(){function a(a,b,c,d,e){var f=this;this.latencyThreshold=200,this.httpResquestListening=!1,this.status=0,this.progressBarTemplate='
',this.addProgressBar=function(a,b){void 0===a&&(a="body"),void 0===b&&(b="primary");var c,d=document.getElementsByTagName(a),e=document.getElementById(a),g=document.getElementsByClassName(a);if(d&&d.length)c=angular.element(d[0]);else if(e)c=angular.element(e);else{if(!g||!g.length)return void f.$log.warn("luisProgressBar - could not find a suitable element for tag/id/class: "+a);c=angular.element(g[0])}f.progressbarEl&&f.progressbarEl.remove(),f.progressbarEl=angular.element(f.progressBarTemplate),f.progressbarEl.addClass(b),c.append(f.progressbarEl)},this.startListening=function(a){f.httpResquestListening=!0,a?f.httpRequestMethods=a:f.httpRequestMethods=["GET"],f.setStatus(0)},this.stopListening=function(){f.httpResquestListening=!1,f.setStatus(0)},this.isHttpResquestListening=function(){return f.httpResquestListening},this.getHttpRequestMethods=function(){return f.httpRequestMethods},this.start=function(){f.isStarted||(f.isStarted=!0,f.$timeout.cancel(f.completeTimeout),f.$interval.cancel(f.currentPromiseInterval),f.show(),f.currentPromiseInterval=f.$interval(function(){if(isNaN(f.status))f.$interval.cancel(f.currentPromiseInterval),f.setStatus(0),f.hide();else{var a=100-f.status;a>30?f.setStatus(f.status+.5*Math.sqrt(a)):f.setStatus(f.status+.15*Math.pow(1-Math.sqrt(a),2))}},f.latencyThreshold))},this.hide=function(){f.$timeout(function(){f.progressbarEl&&(f.progressbarEl.removeClass("in"),f.progressbarEl.addClass("out"),f.setStatus(0))},300)},this.show=function(){f.progressbarEl&&(f.progressbarEl.removeClass("out"),f.progressbarEl.addClass("in"),f.setStatus(0))},this.setStatus=function(a){f.status=a,f.progressbarEl&&(f.progressbarEl.children().css("width",f.status+"%"),f.progressbarEl.children().attr("data-percentage",f.status))},this.complete=function(){f.$interval.cancel(f.currentPromiseInterval),f.isStarted=!1,f.httpResquestListening=!1,f.setStatus(100),f.hide()},this.getDomElement=function(){return f.progressbarEl},this.$document=a,this.$window=b,this.$timeout=c,this.$interval=d,this.$log=e}return a.IID="luisProgressBar",a.$inject=["$document","$window","$timeout","$interval","$log"],a}();a.ProgressBarService=b,angular.module("lui.services").service(b.IID,b)}(b=a.Service||(a.Service={}))}(Lui||(Lui={}));var Lui;!function(a){var b;!function(a){var b;!function(a){"use strict";var b=function(){function a(){}return a}();a.Tree=b;var c=function(){function a(){}return a}();a.Header=c;var d=function(){function a(){}return a}();a.BrowseResult=d}(b=a.TableGrid||(a.TableGrid={}))}(b=a.Directives||(a.Directives={}))}(Lui||(Lui={}));var Lui;!function(a){var b;!function(a){"use strict";var b=function(){function a(){}return a.NONE="none",a.TEXT="text",a.SELECT="select",a.MULTISELECT="multiselect",a}();a.FilterTypeEnum=b;var c=function(){function a(a,c,d,e){var f=0;c.isSelectable=angular.isDefined(c.selectable),c.internalRowClick=function(a,b){"checkbox"!==a.target.type&&c.onRowClick({row:b})};var g=function(a){return a.tree.children.length||a.subChildren++,a.tree.children.forEach(function(b){var c=g({depth:a.depth+1,tree:b,subChildren:0,subDepth:0});a.subChildren+=c.subChildren,a.subDepth=Math.max(a.subDepth,c.subDepth)}),a.tree.children.length?a.subDepth++:c.colDefinitions.push(a.tree.node),a.tree.node&&(a.tree.node.rowspan=f-a.depth-a.subDepth,a.tree.node.colspan=a.subChildren,a.tree.children.length||a.tree.node.filterType!==b.NONE||a.tree.node.rowspan++,c.headerRows[a.depth]?c.headerRows[a.depth].push(a.tree.node):c.headerRows[a.depth]=[a.tree.node]),a},h=function(a){var b=0;return a.children.forEach(function(a){b=Math.max(b,h(a))}),b+1};c.initFilter=function(){c.filters=[],_.each(c.colDefinitions,function(a,d){_.each(c.datas,function(e){if(c.filters[d]||(c.filters[d]={header:a,selectValues:[],currentValues:[]}),a.filterType===b.SELECT||a.filterType===b.MULTISELECT){var f=a.getValue(e);a.getFilterValue&&(f=a.getFilterValue(e));var g=f.split("|");_.each(g,function(a){_.contains(c.filters[d].selectValues,a)||c.filters[d].selectValues.push(a)})}}),c.filters[d].selectValues=_.sortBy(c.filters[d].selectValues,function(a){return a?a.toLowerCase():""})})};var i=function(){if(c.FilterTypeEnum=b,c.headerRows=[],c.bodyRows=[],c.colDefinitions=[],c.allChecked={value:!1},f=h(c.header),g({depth:0,subChildren:0,subDepth:0,tree:c.header}),c.existFixedRow=_.some(c.colDefinitions,function(a){return a.fixed}),c.selected={orderBy:null,reverse:!1},c.defaultOrder){var a=c.defaultOrder.substr(0,1);"-"!==a&&"+"!==a||(c.defaultOrder=c.defaultOrder.substr(1),c.selected.reverse="-"===a);var d=_.find(c.colDefinitions,function(a){return a.label===c.defaultOrder});c.selected.orderBy=d?d:null}_.each(c.datas,function(a){a._luiTableGridRow={isInFilteredDataset:!0},c.isSelectable&&(a._luiTableGridRow.isChecked=!1)})},j=function(){var a=_.filter(c.filteredAndOrderedRows,function(a){return a._luiTableGridRow.isChecked}).length;return 0===a?"":a===c.filteredAndOrderedRows.length?"checked":aa?+r+z-q+"px":+r+z+"px",j.style.width=p+"px",m.style.marginLeft=p+"px",n.style.marginLeft=-p+"px")},D=function(){B(),C()},E=function(){if(b.filteredAndOrderedRows.length<=o)return b.visibleRows=b.filteredAndOrderedRows,x=b.filteredAndOrderedRows.length*t,n.style.height=x+"px",void(k&&(k.style.height=x+"px"));var a=w{{message}}
'),a.put("lui/templates/notify-service/confirm.html",'
{{message}}
'),a.put("lui/templates/notify-service/error.html",'
Error
{{ $message }}
'),a.put("lui/templates/notify-service/loading.html","
Loading {{"CANCEL" | translate}}
{{\'NOTIFY_SUCCESS\' | translate }}
{{\'NOTIFY_ERROR\' | translate }}
{{\'NOTIFY_WARNING\' | translate }}
{{ $message }} {{"CANCEL" | translate}}
{{ "SUCCESS_" + $message | translate }}
{{ "ERR_" + $message | translate }}
{{ "WARN_" + $message | translate }}
'),a.put("lui/templates/notify-service/success.html",'
Success
{{ $message }}
'),a.put("lui/templates/notify-service/warning.html",'
Warning
{{ $message }}
'),a.put("lui/templates/table-grid/table-grid.html",'
'),a.put("lui/templates/table-grid/table-grid.table.html",'
{{ header.label }}
{{ $item }}{{ value }}{{ $select.selected }}{{ value }}
'); -}]); \ No newline at end of file +/*! lucca-ui 10-06-2016 */ +!function(){"use strict";angular.module("moment",[]).factory("moment",function(){return window.moment}),angular.module("underscore",[]).factory("_",function(){return window._}),angular.module("lui.directives",["pascalprecht.translate","moment","underscore","ui.select","ui.bootstrap","lui.filters"]),angular.module("lui.filters",["moment"]),angular.module("lui.services",["cgNotify"]),angular.module("lui.templates.momentpicker",[]),angular.module("lui.templates.daterangepicker",[]),angular.module("lui.templates.translationsinput",[]),angular.module("lui.templates",["lui.templates.momentpicker","lui.templates.daterangepicker","lui.templates.translationsinput"]),angular.module("lui.translates.userpicker",[]),angular.module("lui.translates.daterangepicker",[]),angular.module("lui.translates.tablegrid",[]),angular.module("lui.translates",["pascalprecht.translate","lui.translates.userpicker","lui.translates.daterangepicker","lui.translates.tablegrid"]),angular.module("lui",["lui.directives","lui.services","lui.filters","lui.templates","lui.translates"])}(),function(){"use strict";angular.module("lui.directives").directive("luidDaterange",["moment","$filter","$document","$timeout",function(a,b,c,d){function e(e,f,g,h){function i(b,c){var d=e.startProperty||"startsOn",f=e.endProperty||"endsOn",g={},h=a(b),i=a(c);switch(e.excludeEnd&&i.add(1,"d"),e.format||"moment"){case"moment":g[d]=h,g[f]=i;break;case"date":g[d]=h.toDate(),g[f]=i.toDate();break;default:g[d]=h.format(e.format),g[f]=i.format(e.format)}return g}function j(b){var c,d,f=e.startProperty||"startsOn",g=e.endProperty||"endsOn";switch(e.format||"moment"){case"moment":case"date":c=a(b[f]),d=a(b[g]);break;default:c=a(b[f],e.format),d=a(b[g],e.format)}return e.excludeEnd&&d.add(-1,"d"),{startsOn:c.toDate(),endsOn:d.toDate()}}function k(){e.popoverOpened=!1,m.unpinPopover(),e.$apply()}var l=h[1],m=h[0];e.internal={},e.hasPeriods=!!g.periods,l.$render=function(){if(!l.$viewValue)return e.internal.startsOn=void 0,e.internal.endsOn=void 0,void(e.internal.strFriendly=void 0);var a=j(l.$viewValue);e.internal.startsOn=a.startsOn,e.internal.endsOn=a.endsOn,e.internal.strFriendly=b("luifFriendlyRange")(e.internal)},e.$watch(function(a){return l.$viewValue[a.startProperty||"startsOn"]},function(){l.$render()}),e.$watch(function(a){return l.$viewValue[a.endProperty||"endsOn"]},function(){l.$render()}),m.updateValue=function(a,b){var c=l.$viewValue,d=i(a,b);c[Object.keys(d)[0]]=d[Object.keys(d)[0]],c[Object.keys(d)[1]]=d[Object.keys(d)[1]],l.$setViewValue(c),e.$parent.$eval(g.ngChange)},m.pinPopover=function(){d(function(){c.on("click",k)},10)},m.unpinPopover=function(){c.off("click",k)}}return{require:["luidDaterange","^ngModel"],controller:"luidDaterangeController",scope:{disabled:"=",format:"@",startProperty:"@",endProperty:"@",popoverPlacement:"@",excludeEnd:"=",periods:"=",closeLabel:"@",closeAction:"&"},templateUrl:"lui/directives/luidDaterange.html",restrict:"EA",link:e}}]).controller("luidDaterangeController",["$scope","moment","$filter",function(a,b,c){var d=this;a.internalUpdated=function(){b(a.internal.startsOn).diff(a.internal.endsOn)>0&&(a.internal.endsOn=b(a.internal.startsOn)),a.hackRefresh=!a.hackRefresh,d.updateValue(a.internal.startsOn,a.internal.endsOn),a.internal.strFriendly=c("luifFriendlyRange")(a.internal)},a.goToPeriod=function(c){a.internal.startsOn=b(c.startsOn).toDate(),a.internal.endsOn=b(c.endsOn).toDate(),a.excludeEnd&&(a.internal.endsOn=b(c.endsOn).add(-1,"day").toDate()),a.internalUpdated()},a.popoverOpened=!1,a.togglePopover=function(){a.popoverOpened=!a.popoverOpened,a.popoverOpened?d.pinPopover():d.unpinPopover()},a.doCloseAction=function(){a.togglePopover(),a.closeAction&&a.closeAction()},a.clickInside=function(a){a.preventDefault(),a.stopPropagation()};var e=function(c){var d=c.date,e=c.mode,f="";return"day"==e&&(0===b(d).diff(a.internal.startsOn)&&(f="start"),0===b(d).diff(a.internal.endsOn)&&(f+="end"),b(d).isAfter(a.internal.startsOn)&&b(d).isBefore(a.internal.endsOn)&&(f+="in-between")),f},f=b.localeData().firstDayOfWeek();a.dpOptions={showWeeks:!1,customClass:e,startingDay:f}}]),angular.module("lui.templates.daterangepicker").run(["$templateCache",function(a){a.put("lui/directives/luidDaterange.html",""),a.put("lui/directives/luidDaterangePopover.html",'")}])}(),function(){"use strict";var a=function(){return{template:'
{{controller.date | luifMoment: \'dddd\'}}
{{controller.date | luifMoment:\'DD\'}}
{{controller.date | luifMoment: \'MMM\'}}
{{controller.date | luifMoment: \'YYYY\'}}
',scope:{date:"=",showDay:"=",primaryColor:"=",secondaryColor:"="},restrict:"E",bindToController:!0,controllerAs:"controller",controller:"luidDayBlockController"}};angular.module("lui.directives").directive("luidDayBlock",a).controller("luidDayBlockController",function(){var a=this;a.weekdayStyleOverride=function(){return{color:a.primaryColor}},a.dayStyleOverride=function(){return{"background-color":a.primaryColor,"border-color":a.primaryColor,color:a.secondaryColor}},a.monthStyleOverride=function(){return{"background-color":a.secondaryColor,"border-color":a.primaryColor,color:a.primaryColor}},a.yearStyleOverride=function(){return{"background-color":a.secondaryColor,"border-color":a.primaryColor,color:a.primaryColor}}})}(),function(){"use strict";angular.module("lui.directives").directive("luidKeydown",function(){return{restrict:"A",scope:{mappings:"="},link:function(a,b,c){b.on("keydown",function(b){a.mappings&&a.mappings[b.which]&&(a.mappings[b.which](),b.preventDefault())})}}}),angular.module("lui.directives").directive("luidSelectOnClick",function(){return{restrict:"A",link:function(a,b,c){b.on("click",function(){this.select()}),b.on("focus",function(){this.select()})}}}),angular.module("lui.directives").directive("luidFocusOn",function(){return function(a,b,c){a.$on(c.luidFocusOn,function(a){b[0].focus()})}})}(),function(){"use strict";angular.module("lui.directives").directive("luidSelect",[function(){return{require:"^ngModel",scope:{options:"=",placeholder:"@",displayProp:"@",ngDisabled:"=",classes:"@",onSelect:"&",onRemove:"&"},restrict:"E",template:' {{$select.selected[displayProp]}}
'}}])}(),function(){"use strict";angular.module("lui.directives").directive("luidMoment",["moment",function(a){function b(b,c,d,e){var f=e[1],g=e[0];if(b.hasButtons=void 0!==d.showButtons,d.format){var h=b.$eval(d.format);f.$render=function(){var c=a(this.$viewValue,h),d=this.$viewValue&&c.isValid();b.hours=d?c.format("HH"):void 0,b.mins=d?c.format("mm"):void 0,f.$validate()},f.setValue=function(a){f.$setViewValue(a?a.format(h):void 0)},f.$validators.min=function(b,c){return!c||g.checkMin(a(b,h))},f.$validators.max=function(b,c){return!c||g.checkMax(a(b,h))}}else f.$render=function(){var a=this.$viewValue&&!!this.$viewValue.isValid&&this.$viewValue.isValid();b.hours=a?this.$viewValue.format("HH"):void 0,b.mins=a?this.$viewValue.format("mm"):void 0,f.$validate()},f.setValue=function(a){f.$setViewValue(a)},f.$validators.min=function(a,b){return!b||g.checkMin(a)},f.$validators.max=function(a,b){return!b||g.checkMax(a)};b.ngModelCtrl=f,f.$validators.hours=function(a,c){return void 0!==b.hours&&""!==b.hours&&!isNaN(parseInt(b.hours))},f.$validators.minutes=function(a,c){return void 0!==b.mins&&""!==b.mins&&parseInt(b.mins)<60};var i=c.find("input");g.setupEvents(angular.element(i[0]),angular.element(i[1])),b.$watch("min",function(){f.$validate()}),b.$watch("max",function(){f.$validate()})}return{require:["luidMoment","^ngModel"],controller:"luidMomentController",scope:{min:"=",max:"=",step:"=",referenceDate:"=",disabled:"=",showButtons:"=",enforceValid:"=",format:"=",minOffset:"=",maxOffset:"="},templateUrl:"lui/directives/luidMoment.html",restrict:"EA",link:b}}]).controller("luidMomentController",["$scope","$timeout","moment",function(a,b,c){function d(b){function d(){function a(a,b){return-1!==a.indexOf(b)}var d=c(p());d&&d.isValid()||(d=l().startOf("day")),a(w,Math.abs(b))&&d.minutes()%b!==0&&(b=0>b?-(d.minutes()%b):-d.minutes()%b+b);var e=d.add(b,"m");return e.seconds(0),e}a.disabled||e(d(),!0)}function e(b,c){f(b,c),a.ngModelCtrl.$render()}function f(b,c){function d(a,b,c){switch(!0){case!a:return a;case b&&b.diff(a)>0:return b;case c&&c.diff(a)<0:return c;default:return a}}var e=n(),f=o();c&&(b=d(b,e,f)),a.maxed=b&&f&&f.diff(b)<=0,a.mined=b&&e&&e.diff(b)>=0,a.ngModelCtrl.setValue(b)}function g(){return void 0===a.hours||""===a.hours||void 0===a.mins||""===a.mins}function h(){if(!g()){var b=parseInt(a.hours),c=parseInt(a.mins);return c>60&&(c=59,a.mins="59"),l().hours(b).minutes(c).seconds(0)}}function i(){function a(a){a&&(b.cancel(a),a=void 0)}a(u),a(v)}function j(){e(p(),a.enforceValid)}function k(){return isNaN(parseInt(a.step))?5:parseInt(a.step)}function l(){function b(a){return a&&c(a).isValid()?c(a):void 0}return b(a.referenceDate)||b(a.min)||b(a.max)||c()}function m(a,b,d){function e(){switch(!0){case!!a.isValid&&!!a.isValid():return c(a);case c(a,"YYYY-MM-DD HH:mm").isValid():return c(a,"YYYY-MM-DD HH:mm");case c(a,"HH:mm").isValid():var b=l(),e=c(a,"HH:mm").year(b.year()).month(b.month()).date(b.date());return d&&e.hours()+e.minutes()===0&&e.add(1,"d"),e}}if(a){var f=e();return f.add(c.duration(b)),f}}function n(){return m(a.min,a.minOffset,!1)}function o(){return m(a.max,a.maxOffset,!0)}function p(){return a.format?c(a.ngModelCtrl.$viewValue,a.format):a.ngModelCtrl.$viewValue}function q(b,c){i(),d(c),a.$broadcast(b)}function r(b){i(),a.minsFocused=!!b,a.hoursFocused=!b}function s(a,c){a=b(function(){a=!1,j()},200)}function t(a){return void 0===a||""===a}var u,v,w=[5,10,15,20,30];a.pattern=/^([0-9]{0,2})?$/,a.incrHours=function(){q("focusHours",60)},a.decrHours=function(){q("focusHours",-60)},a.incrMins=function(){q("focusMinutes",k())},a.decrMins=function(){q("focusMinutes",-k())},a.changeHours=function(){return t(a.hours)?f(void 0):(t(a.mins)&&(a.mins="00"),2==a.hours.length?(parseInt(a.hours)>23&&(a.hours="23"),a.$broadcast("focusMinutes")):1==a.hours.length&&parseInt(a.hours)>2&&(a.hours=0+a.hours,a.$broadcast("focusMinutes")),void f(h()))},a.changeMins=function(){f(h())},a.formatInputValue=function(){a.ngModelCtrl.$render()},a.getDayGap=function(){var a=l().startOf("day");return c.duration(c(p()).startOf("d").diff(a)).asDays()},a.blurHours=function(){s(u,a.hoursFocused)},a.blurMins=function(){a.mins||(""===a.hours||void 0===a.hours?a.mins=void 0:a.mins="00"),s(v,a.minsFocused)},a.focusHours=function(){r(!1)},a.focusMins=function(){r(!0)},this.checkMin=function(a){var b=n();return!b||b.diff(a)<=0},this.checkMax=function(a){var b=o();return!b||b.diff(a)>=0},this.setupEvents=function(b,c){function e(b,c){function e(b,c){switch(b.which){case 38:b.preventDefault(),d(c),a.$apply();break;case 40:b.preventDefault(),d(-c),a.$apply();break;case 13:b.preventDefault(),a.formatInputValue(),a.$apply()}}var f=k();b.bind("keydown",function(a){e(a,60)}),c.bind("keydown",function(a){e(a,f)})}function f(b,c){function e(a){a=a.originalEvent?a.originalEvent:a;var b=a.wheelDelta?a.wheelDelta:-a.deltaY;return a.detail||b>0}function f(b,c){a.disabled||(a.$apply(d(e(b)?c:-c)),b.preventDefault())}var g=k();b.bind("mousewheel wheel",function(a){f(a,60)}),c.bind("mousewheel wheel",function(a){f(a,g)})}e(b,c),f(b,c)}}]),angular.module("lui.templates.momentpicker").run(["$templateCache",function(a){a.put("lui/directives/luidMoment.html","
:
")}])}(),function(){"use strict";angular.module("lui.directives").directive("luidPercentage",function(){function a(a,b,c,d){var e=d[1],f=d[0];if(a.pattern=/^([0-9]+)(\.([0-9]*)?)?$/i,c.format){if("0.XX"!==c.format&&"1.XX"!==c.format&&"XX"!==c.format)return void(e.$render=function(){a.intPct="unsupported format"})}else a.format="0.XX";a.ngModelCtrl=e,e.$render=function(){return void 0===this.$viewValue?void(a.intPct=void 0):void(a.intPct=a.parse(parseFloat(this.$viewValue)))},e.$viewChangeListeners.push(function(){a.$eval(c.ngChange)}),f.setupEvents(b.find("input"))}return{require:["luidPercentage","^ngModel"],controller:"luidPercentageController",scope:{step:"=",format:"@",ngDisabled:"=",placeholder:"@"},restrict:"EA",link:a,template:"
%
"}}).controller("luidPercentageController",["$scope",function(a){function b(b){c(parseFloat(a.intPct)+b)}function c(b){d(b),a.ngModelCtrl.$render()}function d(b){function c(b){switch(a.format||"0.XX"){case"XX":return b;case"0.XX":return b/100;case"1.XX":return b/100+1;default:return 0}}var d=void 0===b?void 0:c(b);a.ngModelCtrl.$setViewValue(d)}this.setupEvents=function(c){function d(){return isNaN(parseInt(a.step))?5:parseInt(a.step)}function e(c){var e=d();c.bind("keydown",function(c){switch(c.which){case 38:c.preventDefault(),b(e),a.$apply();break;case 40:c.preventDefault(),b(-e),a.$apply();break;case 13:c.preventDefault(),a.formatInputValue(),a.$apply()}})}function f(c){function e(a){a=a.originalEvent?a.originalEvent:a;var b=a.wheelDelta?a.wheelDelta:-a.deltaY;return a.detail||b>0}var f=d();c.bind("mousewheel wheel",function(c){this===document.activeElement&&(a.$apply(b(e(c)?f:-f)),c.preventDefault())})}e(c),f(c)},a.updateValue=function(){d(a.intPct)},a.parse=function(b){switch(a.format||"0.XX"){case"XX":return b;case"0.XX":return Math.round(1e4*b)/100;case"1.XX":return Math.round(1e4*(b-1))/100;default:return 0}},a.formatInputValue=function(){a.ngModelCtrl.$render()}}])}(),function(){"use strict";angular.module("lui.directives").directive("luidTimespan",["moment",function(a){function b(b,c,d,e){var f=e[1],g=e[0];if(b.pattern=/^\-?([0-9]+)((h([0-9]{2})?)?(m(in)?)?)?$/i,d.unit){var h=b.$eval(d.unit);"h"!=h&&"hour"!=h&&"hours"!=h||(b.useHours=!0)}b.ngModelCtrl=f,f.$render=function(){if(b.strDuration="",this.$viewValue){var c=a.duration(this.$viewValue);0>c&&(b.strDuration+="-",c=a.duration(-c));var d=Math.floor(c.asHours()),e=c.minutes();0===d?b.strDuration+=e+"m":b.strDuration+=(10>d?"0":"")+d+"h"+(10>e?"0":"")+e}},g.setupEvents(c.find("input")),g.mode=d.mode?d.mode:"timespan"}return{require:["luidTimespan","^ngModel"],controller:"luidTimespanController",scope:{step:"=",unit:"=",ngDisabled:"=",placeholder:"@",mode:"=",min:"=",max:"="},restrict:"EA",link:b,template:""}}]).controller("luidTimespanController",["$scope","moment",function(a,b){function c(c){function d(a){var c=b.duration(),d=a.split(/h/i),e=parseInt(d[0])>=0;c.add(parseInt(d[0]),"hours");var f=d[1];return f&&f.length>=2&&(e?c.add(parseInt(f.substring(0,2)),"minutes"):c.subtract(parseInt(f.substring(0,2)),"minutes")),c}function e(a){var c=b.duration(),d=a.split(/m/i);return c.add(parseInt(d[0]),"minutes"),c}function f(a){var c=b.duration(),d=a.split(/h/i);return c.add(parseInt(d[0]),"hours"),c}switch(!0){case/h/i.test(c):return d(c);case/m/i.test(c):return e(c);case a.useHours:return f(c);default:return e(c)}}function d(a){var c=b.duration(g()).add(a,"minutes");c.asMilliseconds()<0&&(c=b.duration()),e(c)}function e(b){f(b),a.ngModelCtrl.$render()}function f(c){function d(c){function d(c){var d=a.min?b.duration(a.min):void 0;return!d||c>=d?c:d}function e(c){var d=a.max?b.duration(a.max):void 0;return!d||d>=c?c:d}return e(d(c))}function e(a){if("timespan"===h.mode){var c="";return a.asMilliseconds()<0&&(c+="-",a=b.duration(-a)),c+=(a.days()>0?Math.floor(a.asDays())+".":"")+(a.hours()<10?"0":"")+a.hours()+":"+(a.minutes()<10?"0":"")+a.minutes()+":00"}return a}if(void 0===c)return a.ngModelCtrl.$setViewValue(void 0);c=d(c);var f=e(c);a.ngModelCtrl.$setViewValue(f)}function g(){return a.ngModelCtrl.$viewValue}var h=this;this.setupEvents=function(b){function c(){return isNaN(parseInt(a.step))?5:parseInt(a.step)}function e(b){var e=c();b.bind("keydown",function(b){switch(b.which){case 38:b.preventDefault(),d(e),a.$apply();break;case 40:b.preventDefault(),d(-e),a.$apply();break;case 13:b.preventDefault(),a.formatInputValue(),a.$apply()}})}function f(b){function e(a){a=a.originalEvent?a.originalEvent:a;var b=a.wheelDelta?a.wheelDelta:-a.deltaY;return a.detail||b>0}var f=c();b.bind("mousewheel wheel",function(b){this===document.activeElement&&(a.$apply(d(e(b)?f:-f)),b.preventDefault())})}e(b),f(b)},a.updateValue=function(){if(!a.strDuration)return f(void 0);var b=c(a.strDuration);f(b)},a.formatInputValue=function(){a.ngModelCtrl.$render()}}])}(),function(){"use strict";angular.module("lui.directives").directive("luidUserSelect",[function(){return{require:"^ngModel",scope:{users:"=",placeholder:"@",onSelect:"&",onRemove:"&"},restrict:"E",template:' {{$select.selected.displayName}}
'}}])}(),function(){"use strict";angular.module("lui.directives").directive("luidTranslations",["$translate","_","$filter","$timeout",function(a,b,c,d){function e(c,d,e,f){var g=f[1],h=f[0],i=["en","de","es","fr","it","nl"];c.cultures=i;var j=a.preferredLanguage()||"en";c.currentCulture=j;var k="dictionary";e.mode&&(k=c.mode),"dictionary"===k&&void 0!==g.$viewValue&&b.each(i,function(a){c.$watch(function(){return g.$viewValue[a]},function(){g.$render()})}),g.$render=function(){c.internal=l(g.$viewValue)},h.updateViewValue=function(){switch(k){case"dictionary":return n(c.internal);case"|":case"pipe":return p(c.internal);case"[]":case"brackets":return updateBrackets(c.internal)}};var l=function(a){switch(k){case"dictionary":return m(a);case"|":case"pipe":return o(a);case"[]":case"brackets":return q(a);default:return{}}},m=function(a){return b.reduce(i,function(b,c){return b[c]=a[c],b},{})},n=function(a){b.each(i,function(b){g.$viewValue[b]=a[b]}),g.$setViewValue(g.$viewValue),c.$parent.$eval(e.ngChange)},o=function(a){if(!a)return{};var c=a.split("|"),d={};return b.each(c,function(a){var b=a.substring(0,2),c=a.substring(3);d[b]=c}),b.pick(d,i)},p=function(a){var c=b.map(i,function(b){return a[b]?b+":"+a[b]:b+":"}).join("|");g.$setViewValue(c)},q=function(a){return{}}}return{require:["luidTranslations","^ngModel"],controller:"luidTranslationsController",scope:{mode:"@",size:"@"},templateUrl:"lui/directives/luidTranslations.html",restrict:"EA",replace:!0,link:e}}]).controller("luidTranslationsController",["$scope","$translate","$timeout",function(a,b,c){var d=this;a.update=function(){d.updateViewValue()};var e;a.focusInput=function(){e&&(c.cancel(e),e=void 0),a.focused=!0},a.blurInput=function(){e=c(function(){a.focused=!1},500)}}]),angular.module("lui.templates.translationsinput").run(["$templateCache",function(a){a.put("lui/directives/luidTranslations.html",'
{{currentCulture}}
{{culture}}
')}])}(),function(){"use strict";var a=10,b=1e4,c=[{label:"LUIDUSERPICKER_DEPARTMENT",name:"department.name",icon:"location"},{label:"LUIDUSERPICKER_LEGALENTITY",name:"legalEntity.name",icon:"tree list"},{label:"LUIDUSERPICKER_EMPLOYEENUMBER",name:"employeeNumber",icon:"user"},{label:"LUIDUSERPICKER_MAIL",name:"mail",icon:"email"}],d='
{{ \'LUIDUSERPICKER_ALL\' | translate }}
{{property.label | translate}} {{getProperty(user, property.name)}}
LUIDUSERPICKER_FORMEREMPLOYEE
{{user.overflow}}
',e='
{{ $select.selected.firstName }} {{$select.selected.lastName}}
{{ \'LUIDUSERPICKER_ALL\' | translate }}
'+d+"
",f='{{$item.firstName}} {{$item.lastName}} {{property.label | translate}} {{getProperty($item, property.name)}} LUIDUSERPICKER_FORMEREMPLOYEE'+d+"";angular.module("lui.directives").directive("luidUserPicker",function(){return{restrict:"E",controller:"luidUserPickerController",template:e,require:["luidUserPicker","^ngModel"],scope:{size:"@",onSelect:"&",onRemove:"&",controlDisabled:"=",showFormerEmployees:"=",homonymsProperties:"=",customFilter:"=",appId:"=",operations:"=",customInfo:"=",customInfoAsync:"=",displayMeFirst:"=",displayAllUsers:"=",customHttpService:"=",bypassOperationsFor:"="},link:function(a,b,c,d){var e=d[0],f=d[1];e.isMultipleSelect=!1,e.asyncPagination=!1,e.useCustomFilter=!!c.customFilter,e.displayCustomInfo=!!c.customInfo||!!c.customInfoAsync,a.$watch(function(){return(f.$viewValue||{}).id},function(){a.reorderUsers()}),e.getSelectedUsers=function(){return f.$viewValue?[f.$viewValue]:[]},e.getSelectedUserIds=function(){return f.$viewValue?[f.$viewValue.id]:[]}}}}).directive("luidUserPickerMultiple",function(){return{restrict:"E",controller:"luidUserPickerController",template:f,require:["luidUserPickerMultiple","^ngModel"],scope:{size:"@",onSelect:"&",onRemove:"&",controlDisabled:"=",showFormerEmployees:"=",homonymsProperties:"=",customFilter:"=",appId:"=",operations:"=",customInfo:"=",customInfoAsync:"=",displayMeFirst:"=",customHttpService:"=",bypassOperationsFor:"="},link:function(a,b,c,d){var e=d[0],f=d[1];e.isMultipleSelect=!0,e.asyncPagination=!1,e.useCustomFilter=!!c.customFilter,e.displayCustomInfo=!!c.customInfo||!!c.customInfoAsync,a.$watchCollection(function(){return f.$viewValue},function(){a.reorderUsers()}),e.getSelectedUsers=function(){return f.$viewValue||[]},e.getSelectedUserIds=function(){return f.$viewValue?_.pluck(f.$viewValue,"id"):[]}}}}).controller("luidUserPickerController",["$scope","$http","moment","$timeout","$q",function(d,e,f,g,h){var i,j,k,l=this,m={},n=!0,o=function(a){return d.customHttpService&&d.customHttpService[a]?d.customHttpService[a]:e[a]};d.find=function(a){q(),G(),v(a).then(function(b){if(b.length>0){var c=b;j=r(c)||[],!d.displayAllUsers||a&&a.length||j.push({id:-1,isAll:!0}),k=j,I(k),d.reorderUsers(),D(k)&&E(k),z(k)&&(B(k),A(k).then(function(a){k=a},function(a){M("GET_HOMONYMS_PROPERTIES",a)}))}else d.users=[{overflow:"LUIDUSERPICKER_NORESULTS",id:-1}]},function(a){M("GET_USERS",a)})};var p,q=function(){s(),p&&p.then(function(a){})},r=function(a){var b=a;return l.useCustomFilter&&(b=_.filter(a,function(a){return d.customFilter(angular.copy(a))})),b},s=function(){m.count&&g.cancel(m.count)},t=function(){var c=b;return l.asyncPagination&&(c=a+1),c},u=function(a){var b="formerEmployees="+(d.showFormerEmployees?"true":"false"),c="&limit="+t(),e="clue="+a,f="",g="",h="/api/v3/users/find?"+(a?e+"&":"")+b+c,i=[];return d.appId&&d.operations&&d.operations.length&&(g="&appinstanceid="+d.appId,f="&operations="+d.operations.join(",")),i.push(o("get")(h+g+f)),d.bypassOperationsFor&&d.bypassOperationsFor.length&&d.operations&&d.operations.length&&i.push(o("get")(h)),i},v=function(a){var b=h.defer();return h.all(u(a)).then(function(a){var c=a[0].data.data.items;a[1]&&(_.each(d.bypassOperationsFor,function(b){var d=_.find(a[1].data.data.items,function(a){return a.id===b});d&&c.push(d)}),c=_.chain(c).uniq(function(a){return a.id}).sortBy(function(a){return a.lastName}).value()),b.resolve(c)},function(a){b.reject(a.data.Message)}),b.promise},w=function(b){return!!b&&b.length>a},x=function(b){l.asyncPagination?d.count="...":d.count=b.length,d.users=_.first(b,a),y()},y=function(){d.users.push({overflow:"LUIDUSERPICKER_OVERFLOW",cnt:a,all:d.count,id:-1})},z=function(a){var b=_.uniq(a,function(a){return a.firstName&&a.lastName?a.firstName.toLowerCase()+a.lastName.toLowerCase():void 0});return b.length1&&l.length>1){var m=_.uniq(b,function(b){return b[a.name]+b[g.name]});m.length===b.length&&(j=!0,d.displayedProperties.push(a),d.displayedProperties.push(g))}}})}}),!j&&f&&d.displayedProperties.push(f),k.resolve(a)},function(a){k.reject(a)}),k.promise},B=function(a){_.each(a,function(b,c){if(b.firstName&&b.lastName){var d=_.rest(a,c+1);_.each(d,function(a){a.firstName&&a.lastName&&b.firstName.toLowerCase()===a.firstName.toLowerCase()&&b.lastName.toLowerCase()===a.lastName.toLowerCase()&&(b.hasHomonyms=!0,a.hasHomonyms=!0)})}})},C=function(a,b){var c="/api/v3/users?id=",d="&fields=id,firstname,lastname",e=h.defer();return _.each(b,function(a){d+=","+a.name}),_.each(a,function(b){c+=b!==_.last(a)?b.id+",":b.id+d}),o("get")(c).then(function(a){e.resolve(a.data.data.items)},function(a){e.reject(a.data.Message)}),e.promise};d.getProperty=function(a,b){var c=b.split("."),d=a[_.first(c)];return _.each(c,function(a){d&&a!==_.first(c)&&(d=d[a])}),d};var D=function(a){var b=_.find(a,function(a){return f(a.dtContractEnd).isBefore(f())});return!!b},E=function(a){_.each(a,function(a){-1!==a.id&&f(a.dtContractEnd).isBefore(f())&&(a.isFormerEmployee=!0)})},F=function(){d.customInfo&&_.each(d.users,function(a){-1===a.id||a.info||(a.info=d.customInfo(angular.copy(a)))}),d.customInfoAsync&&_.each(d.users,function(a){-1===a.id||a.info||d.customInfoAsync(angular.copy(a)).then(function(b){a.info=b},function(a){M("GET_CUSTOM_INFO",a)})})},G=function(){n&&d.displayMeFirst&&(H().then(function(a){i=a},function(a){M("GET_ME",a)}),n=!1)},H=function(){var a="/api/v3/users/me?fields=id",b=h.defer();return o("get")(a).then(function(a){b.resolve(a.data.data.id)},function(a){b.reject(a.data.Message)}),b.promise},I=function(a){return a&&0!==a.length?(void 0!==a[0].originalPosition?a=_.sortBy(a,"originalPosition"):_.each(a,function(a,b){a.originalPosition=b; +}),a):a},J=function(a){var b=a,c=l.isMultipleSelect?null:_.find(a,function(a){return a.id===l.getSelectedUserIds()[0]}),d=_.find(a,function(a){return a.id===i}),e=_.findWhere(a,{isAll:!0});return!d||c&&d.id===c.id||(d.isMe=!0,b=K(d,b)),e&&(b=K(e,b)),!c||e&&c.id===e.id||(c.isSelected=!0,b=K(c,b)),b},K=function(a,b){var c=b;if(b&&b.length){var d=_.partition(b,function(b){return b.id===a.id});return c=_.union(d[0],d[1]),c[0].isDisplayedFirst=!0,c}},L=function(a){_.each(a,function(a){a.isDisplayedFirst=!1,a.isSelected=!1,a.isMe=!1})};d.reorderUsers=function(){if(l.isMultipleSelect){var a=_.difference(_.pluck(k,"id"),l.getSelectedUserIds());j=_.filter(k,function(b){return _.contains(a,b.id)})}j=I(j),L(j),j=J(j),w(j)?x(j):(d.users=j,d.count=(d.users||[]).length),l.displayCustomInfo&&F()};var M=function(a,b){switch(a){case"GET_USERS":d.users=[],d.users.push({overflow:"LUIDUSERPICKER_ERR_GET_USERS",id:-1}),console.log({cause:a,message:b});break;case"GET_COUNT":case"GET_HOMONYMS_PROPERTIES":case"GET_CUSTOM_INFO":case"GET_ME":console.log({cause:a,message:b})}}}]).filter("luifHighlight",["$filter","$translate",function(a,b){return function(c,d,e,f){return(f?""+b.instant(f)+" ":"")+a("highlight")(c,d)+(e?''+e+"":"")}}]),angular.module("lui.translates.userpicker").config(["$translateProvider",function(a){a.translations("en",{LUIDUSERPICKER_FORMEREMPLOYEE:"Left on {{dtContractEnd | luifMoment : 'LL'}}",LUIDUSERPICKER_NORESULTS:"No results",LUIDUSERPICKER_ERR_GET_USERS:"Error while loading users",LUIDUSERPICKER_OVERFLOW:"{{cnt}} displayed results of {{all}}",LUIDUSERPICKER_PLACEHOLDER:"Type a last name or first name...",LUIDUSERPICKER_DEPARTMENT:"Department",LUIDUSERPICKER_LEGALENTITY:"Legal entity",LUIDUSERPICKER_EMPLOYEENUMBER:"Employee number",LUIDUSERPICKER_MAIL:"Email",LUIDUSERPICKER_SELECTED:"Selected:",LUIDUSERPICKER_ME:"Me:",LUIDUSERPICKER_ALL:"All users"}),a.translations("de",{LUIDUSERPICKER_FORMEREMPLOYEE:"Verließ die {{dtContractEnd | luifMoment : 'LL'}}",LUIDUSERPICKER_NORESULTS:"Keine Ergebnisse",LUIDUSERPICKER_ERR_GET_USERS:"Fehler",LUIDUSERPICKER_OVERFLOW:"Es werden {{cnt}} auf {{all}} Benutzernamen",LUIDUSERPICKER_PLACEHOLDER:"Geben Sie einen Benutzernamen...",LUIDUSERPICKER_DEPARTMENT:"Abteilung",LUIDUSERPICKER_LEGALENTITY:"Rechtsträger",LUIDUSERPICKER_EMPLOYEENUMBER:"Betriebsnummer",LUIDUSERPICKER_MAIL:"E-mail",LUIDUSERPICKER_SELECTED:"Ausgewählt:",LUIDUSERPICKER_ME:"Mir:",LUIDUSERPICKER_ALL:"Alle Benutzer"}),a.translations("es",{}),a.translations("fr",{LUIDUSERPICKER_FORMEREMPLOYEE:"Parti(e) le {{dtContractEnd | luifMoment : 'LL'}}",LUIDUSERPICKER_NORESULTS:"Aucun résultat",LUIDUSERPICKER_ERR_GET_USERS:"Erreur lors de la récupération des utilisateurs",LUIDUSERPICKER_OVERFLOW:"{{cnt}} résultats affichés sur {{all}}",LUIDUSERPICKER_PLACEHOLDER:"Saisissez un nom, prénom...",LUIDUSERPICKER_DEPARTMENT:"Service",LUIDUSERPICKER_LEGALENTITY:"Entité légale",LUIDUSERPICKER_EMPLOYEENUMBER:"Matricule",LUIDUSERPICKER_MAIL:"Email",LUIDUSERPICKER_SELECTED:"Sélectionné :",LUIDUSERPICKER_ME:"Moi :",LUIDUSERPICKER_ALL:"Tous les utilisateurs"}),a.translations("it",{}),a.translations("nl",{})}])}(),function(){"use strict";function a(a,b,c){function d(a){return a.replace(/([.*+?^=!:${}()|\[\]\/\\])/g,"\\$1")}return a?a.replace(new RegExp(d(b),"g"),c):""}angular.module("lui.filters").filter("luifPlaceholder",function(){return function(a,b){return a?a:b}}).filter("luifDefaultCode",function(){return function(b){return a(b," ","_").toUpperCase()}}).filter("luifStartFrom",function(){return function(a,b){return b=+b,a.slice(b)}}).filter("luifNumber",["$sce","$filter",function(a,b){return function(c,d,e){function f(a,b){return void 0===a?'':0===parseInt(a)?''+b+a+"":""+b+a+""}var g=void 0===e?"":e,h=void 0===c||null===c||""===c||c!=c?g:c,i=b("number")(1.1,1)[1],j=void 0===d||null===d||d!=d?2:d,k=b("number")(h,j),l=(k||b("number")(0,j)).split(i)[1],m=f(l,i);if(""===h||!k)return a.trustAsHtml(h+m);var n=k.split(i)[0];return a.trustAsHtml(n+m)}}])}(),function(){"use strict";var a=function(a,b){if(!a)return"";var c=moment(a);return c.isValid()?c.format(b):a};angular.module("lui.filters").filter("luifFriendlyRange",function(){var a={en:{sameDay:"start(dddd, LL)",sameDayThisYear:"start(dddd, MMMM Do)",sameMonth:"start(MMMM Do) - end(Do, YYYY)",sameMonthThisYear:"start(MMMM Do) - end(Do)",sameYear:"start(MMMM Do) - end(LL)",sameYearThisYear:"start(MMMM Do) - end(MMMM Do)",other:"start(LL) - end(LL)"},fr:{sameDay:"le start(dddd LL)",sameDayThisYear:"le start(dddd Do MMMM)",sameMonth:"du start(Do) au end(LL)",sameMonthThisYear:"du start(Do) au end(Do MMMM)",sameYear:"du start(Do MMMM) au end(LL)",sameYearThisYear:"du start(Do MMMM) au end(Do MMMM)",other:"du start(LL) au end(LL)"},de:{sameDay:"der start(dddd LL)",sameDayThisYear:"der start(dddd Do MMMM)",sameMonth:"von start(Do) bis end(LL)",sameMonthThisYear:"von start(Do) bis end(Do MMMM)",sameYear:"von start(Do MMMM) bis end(LL)",sameYearThisYear:"von start(Do MMMM) bis end(Do MMMM)",other:"von start(LL) bis end(LL)"}};return function(b,c,d,e){if(b){var f=b.startsAt||b.startsOn||b.startDate||b.start,g=b.endsAt||b.endsOn||b.endDate||b.end;if(!f&&!g)return"";f=moment(f),g=moment(g),c&&g.add(-1,"minutes");var h=a[moment.locale()]||a.en,i=f.year()===g.year()?f.month()===g.month()?f.date()===g.date()?"sameDay":"sameMonth":"sameYear":"other";moment().year()===f.year()&&moment().year()===g.year()&&(i+="ThisYear");var j=/(start\((.*?)\))(.*(end\((.*?)\))){0,1}/gi.exec(h[i]);return h[i].replace(j[1],f.format(j[2])).replace(j[4],g.format(j[5]))}}}).filter("luifMoment",function(){return function(b,c){return c||(c="LLL"),a(b,c)}}).filter("luifCalendar",function(){return function(a,b){var c=moment(a);b&&moment(b).isValid()?moment(b):moment();return c.isValid()?c.calendar(b):a}}).filter("luifDuration",["$filter",function(a){return function(b,c,d,e){function f(a){switch(a){case"d":case"day":case"days":return 0;case void 0:case"":case"h":case"hour":case"hours":return 1;case"m":case"min":case"mins":case"minute":case"minutes":return 2;case"s":case"sec":case"second":case"seconds":return 3;case"ms":case"millisec":case"millisecond":case"milliseconds":return 4}}function g(a,b){return 4===b?4:0!==a[b]?b:g(a,b+1)}function h(a,b){return 0===b?0:0!==a[b]?b:h(a,b-1)}function i(a){switch(!0){case 0===Math.floor(10*a%10)&&0===Math.floor(100*a%10):return 0;case 0===Math.floor(100*a%10):return 1;default:return 2}}function j(a,b,c){switch(b){case c:return a;case 2:case 3:return 10>a?"0"+a:a;case 4:return 10>a?"00"+a:100>a?"0"+a:a;default:return a}}function k(a,b){if(a){if(b.asMilliseconds()>0)return"+";if(b.asMilliseconds()<0)return"-"}return""}function l(a,b){var c=["d ","h","m","s","ms"];switch(moment.locale()){case"fr":c[0]="j "}return 3>=a&&4===b&&(c[3]=".",c[4]="s"),1>=a&&2===b&&(c[2]=""),2===a&&3===b&&(c[3]=""),c}var m=[{index:0,unit:"d",dateConversion:"asDays",expectedPrecision:"h"},{index:1,unit:"h",dateConversion:"asHours",expectedPrecision:"m"},{index:2,unit:"m",dateConversion:"asMinutes",expectedPrecision:"s"},{index:3,unit:"s",dateConversion:"asSeconds",expectedPrecision:"s"},{index:4,unit:"ms",dateConversion:"asMilliseconds",expectedPrecision:"ms"}],n=moment.duration(b);if(0===n.asMilliseconds())return"";var o=[Math.abs(n.days()),Math.abs(n.hours()),Math.abs(n.minutes()),Math.abs(n.seconds()),Math.abs(n.milliseconds())],p=m[f(d)],q=Math.max(p.index,g(o,0));if(o[p.index]=Math.abs(n[p.dateConversion]()>=0?Math.floor(n[p.dateConversion]()):Math.ceil(n[p.dateConversion]())),0===p.index&&0===f(e)&&n.asDays()>0){var r=n.asDays(),s=i(r);q=0,o[0]=a("number")(r,s)}for(var t=h(o,f(e||p.expectedPrecision)),u=l(q,t),v="",w=q;t>=w;w++)v+=j(o[w],w,q)+u[w];var x=v?k(c,n):"";return x+v}}]).filter("luifHumanize",function(){return function(a,b){b=!!b;var c=moment.duration(a);return c.humanize(b)}})}();var __extends=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},Lui;!function(a){var b;!function(a){"use strict";var b=function(){function a(a){this.date=moment(a).startOf("month"),this.weeks=[],this.currentYear=this.date.year()===moment().year()}return a}();a.CalendarMonth=b;var c=function(){function a(){}return a}();a.CalendarWeek=c;var d=function(){function a(a){this.date=a,this.dayNum=a.date()}return a}();a.CalendarDay=d;var e=function(){function a(a){this.$scope=a,this.initCalendarScopeMethods(a)}return a.prototype.setMonthsCnt=function(a){this.monthsCnt=parseInt(a,10)||1},a.prototype.constructMonths=function(){var a=this;return _.map(_.range(this.monthsCnt),function(b){return a.constructMonth(moment(a.currentMonth).add(b,"months").startOf("month"))})},a.prototype.constructDayLabels=function(){return _.map(_.range(7),function(a){return moment().startOf("week").add(a,"days").format("dd")})},a.prototype.assignClasses=function(){var a=this,b=this.extractDays();_.each(b,function(b){b.selected=!1,b.start=!1,b.end=!1,b.inBetween=!1,a.selected&&b.date.format("YYYYMMDD")===moment(a.selected).format("YYYYMMDD")&&(b.selected=!0),a.start&&b.date.format("YYYYMMDD")===moment(a.start).format("YYYYMMDD")&&(b.start=!0),a.end&&b.date.format("YYYYMMDD")===moment(a.end).format("YYYYMMDD")&&(b.end=!0),a.start&&a.end&&b.date.isAfter(a.start)&&b.date.isBefore(a.end)&&(b.inBetween=!0),a.min&&a.min.diff(b.date)>0&&(b.disabled=!0),a.max&&a.max.diff(b.date)<0&&(b.disabled=!0),a.$scope.customClass&&(b.customClass=a.$scope.customClass(b.date))})},a.prototype.initCalendarScopeMethods=function(a){var b=this;a.dayLabels=this.constructDayLabels(),a.nextMonth=function(){b.currentMonth.add(1,"month"),a.months=b.constructMonths(),b.assignClasses()},a.previousMonth=function(){b.currentMonth.add(-1,"month"),a.months=b.constructMonths(),b.assignClasses()}},a.prototype.constructMonth=function(a){for(var c=new b(a),d=moment(c.date).startOf("week");d.month()===c.date.month()||moment(d).endOf("week").month()===c.date.month();)c.weeks.push(this.constructWeek(d,c.date)),d.add(1,"week");return c},a.prototype.constructWeek=function(a,b){var c={days:[]};return c.days=_.map(_.range(7),function(c){var e=new d(moment(a).add(c,"days"));return e.date.month()!==b.month()&&(e.empty=!0),e}),c},a.prototype.extractDays=function(){return _.chain(this.$scope.months).pluck("weeks").flatten().pluck("days").flatten().reject(function(a){return a.empty}).value()},a}();a.CalendarController=e}(b=a.Directives||(a.Directives={}))}(Lui||(Lui={}));var Lui;!function(a){var b;!function(b){"use strict";var c=function(){function a(){this.restrict="E",this.templateUrl="lui/templates/date-picker/datepicker-inline.html",this.require=["ngModel","luidDatePicker"],this.scope={format:"@",displayedMonths:"@",min:"=",max:"=",customClass:"="},this.controller=e.IID}return a.factory=function(){var b=function(){return new a};return b},a.prototype.link=function(a,b,c,d){var e=d[0],f=d[1];f.setNgModelCtrl(e),f.setFormat(a.format),f.setMonthsCnt(a.displayedMonths)},a.IID="luidDatePicker",a}(),d=function(){function a(){this.restrict="E",this.templateUrl="lui/templates/date-picker/datepicker-popup.html",this.require=["ngModel","luidDatePickerPopup"],this.scope={format:"@",displayFormat:"@",displayedMonths:"@",min:"=",max:"=",customClass:"="},this.controller=e.IID}return a.factory=function(){var b=function(){return new a};return b},a.prototype.link=function(a,b,c,d){var e=d[0],f=d[1];f.setNgModelCtrl(e),f.setFormat(a.format,a.displayFormat),f.setMonthsCnt(a.displayedMonths),f.setPopoverTrigger(b,a)},a.IID="luidDatePickerPopup",a}(),e=function(b){function c(a){var c=this;b.call(this,a),this.$scope=a,a.selectDay=function(b){c.setViewValue(b.date),a.displayStr=c.getDisplayStr(b.date),c.selected=b.date,c.assignClasses(),c.closePopover()},a.togglePopover=function(a){c.togglePopover(a)},a.$watch("min",function(){c.min=c.formatter.parseValue(a.min),c.validate(),c.selected=c.getViewValue(),c.assignClasses()}),a.$watch("max",function(){c.max=c.formatter.parseValue(a.max),c.validate(),c.selected=c.getViewValue(),c.assignClasses()})}return __extends(c,b),c.prototype.setNgModelCtrl=function(a){var b=this;this.ngModelCtrl=a,a.$render=function(){var c=b.formatter.parseValue(a.$viewValue);b.currentMonth=moment(c).startOf("month"),b.$scope.months=b.constructMonths(),b.selected=c,b.min=b.formatter.parseValue(b.$scope.min),b.max=b.formatter.parseValue(b.$scope.max),b.assignClasses(),b.$scope.displayStr=b.getDisplayStr(c)},a.$validators.min=function(a,c){var d=b.min,e=b.getViewValue();return!e||!d||d.diff(e)<=0},a.$validators.max=function(a,c){var d=b.max,e=b.getViewValue();return!e||!d||d.diff(e)>=0}},c.prototype.setFormat=function(b,c){this.formatter=new a.Utils.MomentFormatter(b),"moment"!==b&&"date"!==b?this.displayFormat=c||b||"L":this.displayFormat=c||"L"},c.prototype.setPopoverTrigger=function(b,c){var d=this;this.popoverController=new a.Utils.ClickoutsideTrigger(b,c),c.popover={isOpen:!1},c.togglePopover=function(a){d.togglePopover(a)}},c.prototype.setViewValue=function(a){this.ngModelCtrl.$setViewValue(this.formatter.formatValue(a))},c.prototype.getViewValue=function(){return this.formatter.parseValue(this.ngModelCtrl.$viewValue)},c.prototype.validate=function(){this.ngModelCtrl.$validate()},c.prototype.togglePopover=function(a){this.$scope.popover.isOpen?this.closePopover():this.openPopover(a)},c.prototype.closePopover=function(){this.popoverController&&this.popoverController.close()},c.prototype.openPopover=function(a){this.popoverController&&this.popoverController.open(a)},c.prototype.getDisplayStr=function(a){return a?a.format(this.displayFormat):void 0},c.IID="luidDatePickerController",c.$inject=["$scope"],c}(b.CalendarController);angular.module("lui.directives").controller(e.IID,e),angular.module("lui.directives").directive(c.IID,c.factory()),angular.module("lui.directives").directive(d.IID,d.factory())}(b=a.Directives||(a.Directives={}))}(Lui||(Lui={}));var Lui;!function(a){var b;!function(b){"use strict";var c=function(){function a(){this.restrict="E",this.templateUrl="lui/templates/date-picker/daterangepicker.html",this.require=["ngModel","luidDaterangePicker"],this.scope={format:"@",displayFormat:"@",min:"=",max:"=",customClass:"=",excludeEnd:"@",startProperty:"@",endProperty:"@"},this.controller=d.IID}return a.factory=function(){var b=function(){return new a};return b},a.prototype.link=function(a,b,c,d){var e=d[0],f=d[1];f.setNgModelCtrl(e),f.setFormat(a.format,a.displayFormat),f.setMonthsCnt("2"),f.setPopoverTrigger(b,a),f.setExcludeEnd(a.excludeEnd),f.setProperties(a.startProperty,a.endProperty)},a.IID="luidDaterangePicker",a}(),d=function(b){function c(a,c){var d=this;b.call(this,a),this.$scope=a,this.$filter=c,a.selectDay=function(b){a.editingStart||a.period.start&&b.date.isBefore(a.period.start)?(a.period.start=b.date,d.start=b.date,a.editEnd(),a.period.end&&a.period.start.isAfter(a.period.end)&&(a.period.end=void 0,d.end=void 0),d.assignClasses()):(a.period.end=b.date,d.closePopover())},a.editStart=function(b){b&&b.stopPropagation(),a.editingStart=!0,d.$scope.period.start&&moment(d.currentMonth).diff(d.$scope.period.start)>0&&(d.currentMonth=moment(d.$scope.period.start).startOf("month"),d.$scope.months=d.constructMonths(),d.assignClasses())},a.editEnd=function(b){b&&b.stopPropagation(),a.editingStart=!1,d.$scope.period.end&&moment(d.currentMonth).add(d.monthsCnt,"months").diff(d.$scope.period.end)<=0&&(d.currentMonth=moment(d.$scope.period.end).add(-d.monthsCnt+1,"months").startOf("month"),d.$scope.months=d.constructMonths(),d.assignClasses())},a.onMouseEnter=function(b,c){a.editingStart||d.$scope.period.end||(d.end=b.date,d.assignClasses())},a.onMouseLeave=function(b,c){a.editingStart||d.$scope.period.end||(d.end=void 0,d.assignClasses())},a.popover={isOpen:!1}}return __extends(c,b),c.prototype.setNgModelCtrl=function(a){var b=this;this.ngModelCtrl=a,a.$render=function(){a.$viewValue?(b.$scope.period=b.getViewValue(),b.$scope.displayStr=b.$filter("luifFriendlyRange")(b.$scope.period)):(b.$scope.period=void 0,b.$scope.displayStr=void 0)},a.$validators.min=function(a,c){var d=b.getViewValue().start,e=b.formatter.parseValue(b.$scope.min);return!d||!e||e.diff(d)<=0},a.$validators.max=function(a,c){var d=b.getViewValue().end,e=b.formatter.parseValue(b.$scope.max);return!d||!e||e.diff(d)>=0}},c.prototype.setProperties=function(a,b){this.startProperty=a||"start",this.endProperty=b||"end"},c.prototype.setExcludeEnd=function(a){this.excludeEnd="true"===a},c.prototype.setFormat=function(b,c){this.formatter=new a.Utils.MomentFormatter(b),"moment"!==b&&"date"!==b?this.$scope.momentFormat=c||b||"L":this.$scope.momentFormat=c||"L"},c.prototype.setPopoverTrigger=function(b,c){var d=this,e=function(){d.closePopover()};this.popoverController=new a.Utils.ClickoutsideTrigger(b,c,e),c.togglePopover=function(a){d.togglePopover(a)}},c.prototype.setViewValue=function(a){var b=this.ngModelCtrl.$viewValue||{};a&&a.start&&a.end?(b[this.startProperty]=this.formatter.formatValue(moment(a.start)),b[this.endProperty]=this.formatter.formatValue(this.excludeEnd?moment(a.end).add(1,"day"):moment(a.end))):(b[this.startProperty]=void 0,b[this.endProperty]=void 0),this.ngModelCtrl.$setViewValue(b)},c.prototype.getViewValue=function(){if(this.ngModelCtrl.$viewValue){var b={};b.start=this.ngModelCtrl.$viewValue[this.startProperty],b.end=this.ngModelCtrl.$viewValue[this.endProperty];var c=new a.Period(b,this.formatter);return this.excludeEnd&&c.end.add(-1,"day"),c}return{start:void 0,end:void 0}},c.prototype.togglePopover=function(a){this.$scope.popover.isOpen?this.closePopover():this.openPopover(a)},c.prototype.closePopover=function(){this.$scope.period.start&&this.$scope.period.end?(this.setViewValue(this.$scope.period),this.$scope.displayStr=this.$filter("luifFriendlyRange")(this.$scope.period)):this.$scope.period=this.getViewValue(),this.popoverController.close()},c.prototype.openPopover=function(a){var b=this.getViewValue();this.$scope.period=b||{start:void 0,end:void 0},this.currentMonth=(b?moment(b.start):moment()).startOf("month"),this.$scope.months=this.constructMonths(),b&&(this.start=b.start,this.end=b.end),this.min=this.formatter.parseValue(this.$scope.min),this.max=this.formatter.parseValue(this.$scope.max),this.assignClasses(),this.$scope.editingStart=!0,this.popoverController.open(a)},c.IID="luidDaterangePickerController",c.$inject=["$scope","$filter"],c}(b.CalendarController);angular.module("lui.directives").controller(d.IID,d),angular.module("lui.directives").directive(c.IID,c.factory())}(b=a.Directives||(a.Directives={}))}(Lui||(Lui={})),angular.module("lui.directives").directive("deferredCloak",["$timeout",function(a){return{restrict:"A",link:function(b,c,d){a(function(){d.$set("deferredCloak",void 0),c.removeClass("deferred-cloak")},0)}}}]);var Lui;!function(a){"use strict";var b=function(){function a(a,b){var c=a.start||a.startsOn||a.startsAt,d=a.end||a.endsOn||a.endsAt;this.start=b.parseValue(c),this.end=b.parseValue(d)}return a}();a.Period=b}(Lui||(Lui={}));var Lui;!function(a){var b;!function(a){"use strict";function b(){return function(a){return null===a||void 0===a?"":(_.each(c,function(b){a=a.replace(b.letters,b.base)}),a)}}var c=[{base:"A",letters:/[\u0041\u24B6\uFF21\u00C0\u00C1\u00C2\u1EA6\u1EA4\u1EAA\u1EA8\u00C3\u0100\u0102\u1EB0\u1EAE\u1EB4\u1EB2\u0226\u01E0\u00C4\u01DE\u1EA2\u00C5\u01FA\u01CD\u0200\u0202\u1EA0\u1EAC\u1EB6\u1E00\u0104\u023A\u2C6F]/g},{base:"AA",letters:/[\uA732]/g},{base:"AE",letters:/[\u00C6\u01FC\u01E2]/g},{base:"AO",letters:/[\uA734]/g},{base:"AU",letters:/[\uA736]/g},{base:"AV",letters:/[\uA738\uA73A]/g},{base:"AY",letters:/[\uA73C]/g},{base:"B",letters:/[\u0042\u24B7\uFF22\u1E02\u1E04\u1E06\u0243\u0182\u0181]/g},{base:"C",letters:/[\u0043\u24B8\uFF23\u0106\u0108\u010A\u010C\u00C7\u1E08\u0187\u023B\uA73E]/g},{base:"D",letters:/[\u0044\u24B9\uFF24\u1E0A\u010E\u1E0C\u1E10\u1E12\u1E0E\u0110\u018B\u018A\u0189\uA779]/g},{base:"DZ",letters:/[\u01F1\u01C4]/g},{base:"Dz",letters:/[\u01F2\u01C5]/g},{base:"E",letters:/[\u0045\u24BA\uFF25\u00C8\u00C9\u00CA\u1EC0\u1EBE\u1EC4\u1EC2\u1EBC\u0112\u1E14\u1E16\u0114\u0116\u00CB\u1EBA\u011A\u0204\u0206\u1EB8\u1EC6\u0228\u1E1C\u0118\u1E18\u1E1A\u0190\u018E]/g},{base:"F",letters:/[\u0046\u24BB\uFF26\u1E1E\u0191\uA77B]/g},{base:"G",letters:/[\u0047\u24BC\uFF27\u01F4\u011C\u1E20\u011E\u0120\u01E6\u0122\u01E4\u0193\uA7A0\uA77D\uA77E]/g},{base:"H",letters:/[\u0048\u24BD\uFF28\u0124\u1E22\u1E26\u021E\u1E24\u1E28\u1E2A\u0126\u2C67\u2C75\uA78D]/g},{base:"I",letters:/[\u0049\u24BE\uFF29\u00CC\u00CD\u00CE\u0128\u012A\u012C\u0130\u00CF\u1E2E\u1EC8\u01CF\u0208\u020A\u1ECA\u012E\u1E2C\u0197]/g},{base:"J",letters:/[\u004A\u24BF\uFF2A\u0134\u0248]/g},{base:"K",letters:/[\u004B\u24C0\uFF2B\u1E30\u01E8\u1E32\u0136\u1E34\u0198\u2C69\uA740\uA742\uA744\uA7A2]/g},{base:"L",letters:/[\u004C\u24C1\uFF2C\u013F\u0139\u013D\u1E36\u1E38\u013B\u1E3C\u1E3A\u0141\u023D\u2C62\u2C60\uA748\uA746\uA780]/g},{base:"LJ",letters:/[\u01C7]/g},{base:"Lj",letters:/[\u01C8]/g},{base:"M",letters:/[\u004D\u24C2\uFF2D\u1E3E\u1E40\u1E42\u2C6E\u019C]/g},{base:"N",letters:/[\u004E\u24C3\uFF2E\u01F8\u0143\u00D1\u1E44\u0147\u1E46\u0145\u1E4A\u1E48\u0220\u019D\uA790\uA7A4]/g},{base:"NJ",letters:/[\u01CA]/g},{base:"Nj",letters:/[\u01CB]/g},{base:"O",letters:/[\u004F\u24C4\uFF2F\u00D2\u00D3\u00D4\u1ED2\u1ED0\u1ED6\u1ED4\u00D5\u1E4C\u022C\u1E4E\u014C\u1E50\u1E52\u014E\u022E\u0230\u00D6\u022A\u1ECE\u0150\u01D1\u020C\u020E\u01A0\u1EDC\u1EDA\u1EE0\u1EDE\u1EE2\u1ECC\u1ED8\u01EA\u01EC\u00D8\u01FE\u0186\u019F\uA74A\uA74C]/g},{base:"OI",letters:/[\u01A2]/g},{base:"OO",letters:/[\uA74E]/g},{base:"OU",letters:/[\u0222]/g},{base:"P",letters:/[\u0050\u24C5\uFF30\u1E54\u1E56\u01A4\u2C63\uA750\uA752\uA754]/g},{base:"Q",letters:/[\u0051\u24C6\uFF31\uA756\uA758\u024A]/g},{base:"R",letters:/[\u0052\u24C7\uFF32\u0154\u1E58\u0158\u0210\u0212\u1E5A\u1E5C\u0156\u1E5E\u024C\u2C64\uA75A\uA7A6\uA782]/g},{base:"S",letters:/[\u0053\u24C8\uFF33\u1E9E\u015A\u1E64\u015C\u1E60\u0160\u1E66\u1E62\u1E68\u0218\u015E\u2C7E\uA7A8\uA784]/g},{base:"T",letters:/[\u0054\u24C9\uFF34\u1E6A\u0164\u1E6C\u021A\u0162\u1E70\u1E6E\u0166\u01AC\u01AE\u023E\uA786]/g},{base:"TZ",letters:/[\uA728]/g},{base:"U",letters:/[\u0055\u24CA\uFF35\u00D9\u00DA\u00DB\u0168\u1E78\u016A\u1E7A\u016C\u00DC\u01DB\u01D7\u01D5\u01D9\u1EE6\u016E\u0170\u01D3\u0214\u0216\u01AF\u1EEA\u1EE8\u1EEE\u1EEC\u1EF0\u1EE4\u1E72\u0172\u1E76\u1E74\u0244]/g},{base:"V",letters:/[\u0056\u24CB\uFF36\u1E7C\u1E7E\u01B2\uA75E\u0245]/g},{base:"VY",letters:/[\uA760]/g},{base:"W",letters:/[\u0057\u24CC\uFF37\u1E80\u1E82\u0174\u1E86\u1E84\u1E88\u2C72]/g},{base:"X",letters:/[\u0058\u24CD\uFF38\u1E8A\u1E8C]/g},{base:"Y",letters:/[\u0059\u24CE\uFF39\u1EF2\u00DD\u0176\u1EF8\u0232\u1E8E\u0178\u1EF6\u1EF4\u01B3\u024E\u1EFE]/g},{base:"Z",letters:/[\u005A\u24CF\uFF3A\u0179\u1E90\u017B\u017D\u1E92\u1E94\u01B5\u0224\u2C7F\u2C6B\uA762]/g},{base:"a",letters:/[\u0061\u24D0\uFF41\u1E9A\u00E0\u00E1\u00E2\u1EA7\u1EA5\u1EAB\u1EA9\u00E3\u0101\u0103\u1EB1\u1EAF\u1EB5\u1EB3\u0227\u01E1\u00E4\u01DF\u1EA3\u00E5\u01FB\u01CE\u0201\u0203\u1EA1\u1EAD\u1EB7\u1E01\u0105\u2C65\u0250]/g},{base:"aa",letters:/[\uA733]/g},{base:"ae",letters:/[\u00E6\u01FD\u01E3]/g},{base:"ao",letters:/[\uA735]/g},{base:"au",letters:/[\uA737]/g},{base:"av",letters:/[\uA739\uA73B]/g},{base:"ay",letters:/[\uA73D]/g},{base:"b",letters:/[\u0062\u24D1\uFF42\u1E03\u1E05\u1E07\u0180\u0183\u0253]/g},{base:"c",letters:/[\u0063\u24D2\uFF43\u0107\u0109\u010B\u010D\u00E7\u1E09\u0188\u023C\uA73F\u2184]/g},{base:"d",letters:/[\u0064\u24D3\uFF44\u1E0B\u010F\u1E0D\u1E11\u1E13\u1E0F\u0111\u018C\u0256\u0257\uA77A]/g},{base:"dz",letters:/[\u01F3\u01C6]/g},{base:"e",letters:/[\u0065\u24D4\uFF45\u00E8\u00E9\u00EA\u1EC1\u1EBF\u1EC5\u1EC3\u1EBD\u0113\u1E15\u1E17\u0115\u0117\u00EB\u1EBB\u011B\u0205\u0207\u1EB9\u1EC7\u0229\u1E1D\u0119\u1E19\u1E1B\u0247\u025B\u01DD]/g},{base:"f",letters:/[\u0066\u24D5\uFF46\u1E1F\u0192\uA77C]/g},{base:"g",letters:/[\u0067\u24D6\uFF47\u01F5\u011D\u1E21\u011F\u0121\u01E7\u0123\u01E5\u0260\uA7A1\u1D79\uA77F]/g},{base:"h",letters:/[\u0068\u24D7\uFF48\u0125\u1E23\u1E27\u021F\u1E25\u1E29\u1E2B\u1E96\u0127\u2C68\u2C76\u0265]/g},{base:"hv",letters:/[\u0195]/g},{base:"i",letters:/[\u0069\u24D8\uFF49\u00EC\u00ED\u00EE\u0129\u012B\u012D\u00EF\u1E2F\u1EC9\u01D0\u0209\u020B\u1ECB\u012F\u1E2D\u0268\u0131]/g},{base:"j",letters:/[\u006A\u24D9\uFF4A\u0135\u01F0\u0249]/g},{base:"k",letters:/[\u006B\u24DA\uFF4B\u1E31\u01E9\u1E33\u0137\u1E35\u0199\u2C6A\uA741\uA743\uA745\uA7A3]/g},{base:"l",letters:/[\u006C\u24DB\uFF4C\u0140\u013A\u013E\u1E37\u1E39\u013C\u1E3D\u1E3B\u017F\u0142\u019A\u026B\u2C61\uA749\uA781\uA747]/g},{base:"lj",letters:/[\u01C9]/g},{base:"m",letters:/[\u006D\u24DC\uFF4D\u1E3F\u1E41\u1E43\u0271\u026F]/g},{base:"n",letters:/[\u006E\u24DD\uFF4E\u01F9\u0144\u00F1\u1E45\u0148\u1E47\u0146\u1E4B\u1E49\u019E\u0272\u0149\uA791\uA7A5]/g},{base:"nj",letters:/[\u01CC]/g},{base:"o",letters:/[\u006F\u24DE\uFF4F\u00F2\u00F3\u00F4\u1ED3\u1ED1\u1ED7\u1ED5\u00F5\u1E4D\u022D\u1E4F\u014D\u1E51\u1E53\u014F\u022F\u0231\u00F6\u022B\u1ECF\u0151\u01D2\u020D\u020F\u01A1\u1EDD\u1EDB\u1EE1\u1EDF\u1EE3\u1ECD\u1ED9\u01EB\u01ED\u00F8\u01FF\u0254\uA74B\uA74D\u0275]/g},{base:"oi",letters:/[\u01A3]/g},{base:"ou",letters:/[\u0223]/g},{base:"oo",letters:/[\uA74F]/g},{base:"p",letters:/[\u0070\u24DF\uFF50\u1E55\u1E57\u01A5\u1D7D\uA751\uA753\uA755]/g},{base:"q",letters:/[\u0071\u24E0\uFF51\u024B\uA757\uA759]/g},{base:"r",letters:/[\u0072\u24E1\uFF52\u0155\u1E59\u0159\u0211\u0213\u1E5B\u1E5D\u0157\u1E5F\u024D\u027D\uA75B\uA7A7\uA783]/g},{base:"s",letters:/[\u0073\u24E2\uFF53\u00DF\u015B\u1E65\u015D\u1E61\u0161\u1E67\u1E63\u1E69\u0219\u015F\u023F\uA7A9\uA785\u1E9B]/g},{base:"t",letters:/[\u0074\u24E3\uFF54\u1E6B\u1E97\u0165\u1E6D\u021B\u0163\u1E71\u1E6F\u0167\u01AD\u0288\u2C66\uA787]/g},{base:"tz",letters:/[\uA729]/g},{base:"u",letters:/[\u0075\u24E4\uFF55\u00F9\u00FA\u00FB\u0169\u1E79\u016B\u1E7B\u016D\u00FC\u01DC\u01D8\u01D6\u01DA\u1EE7\u016F\u0171\u01D4\u0215\u0217\u01B0\u1EEB\u1EE9\u1EEF\u1EED\u1EF1\u1EE5\u1E73\u0173\u1E77\u1E75\u0289]/g},{base:"v",letters:/[\u0076\u24E5\uFF56\u1E7D\u1E7F\u028B\uA75F\u028C]/g},{base:"vy",letters:/[\uA761]/g},{base:"w",letters:/[\u0077\u24E6\uFF57\u1E81\u1E83\u0175\u1E87\u1E85\u1E98\u1E89\u2C73]/g},{base:"x",letters:/[\u0078\u24E7\uFF58\u1E8B\u1E8D]/g},{base:"y",letters:/[\u0079\u24E8\uFF59\u1EF3\u00FD\u0177\u1EF9\u0233\u1E8F\u00FF\u1EF7\u1E99\u1EF5\u01B4\u024F\u1EFF]/g},{base:"z",letters:/[\u007A\u24E9\uFF5A\u017A\u1E91\u017C\u017E\u1E93\u1E95\u01B6\u0225\u0240\u2C6C\uA763]/g}];angular.module("lui.filters").filter("luifStripAccents",b)}(b=a.Filters||(a.Filters={}))}(Lui||(Lui={}));var Lui;!function(a){var b;!function(a){"use strict";var b=function(){function a(a,b){this.message=a,this.details=b}return a}(),c="lui/templates/notify-service/error.html",d="lui/templates/notify-service/warning.html",e="lui/templates/notify-service/success.html",f="lui/templates/notify-service/loading.html",g="lui/templates/notify-service/alert.html",h="lui/templates/notify-service/confirm.html",i=function(){function a(a,b,c){this.duration=a,this.templateUrl=b,this.message=c}return a}(),j=function(a){function b(b){a.call(this,2e4,c,b)}return __extends(b,a),b}(i),k=function(a){function b(b){a.call(this,1e4,d,b)}return __extends(b,a),b}(i),l=function(a){function b(b){a.call(this,5e3,e,b)}return __extends(b,a),b}(i),m=function(a){function b(b,c){a.call(this,864e5,f,c),this.scope=b}return __extends(b,a),b}(i),n=function(){function a(a,b,c,d,e,f){this.cgNotify=a,this.$q=b,this.$log=c,this.$rootScope=d,this.$timeout=e,this.$uibModal=f,this.conf={}}return a.prototype.config=function(a){this.conf.parentTagIdClass=a.parentTagIdClass||"body",this.conf.prefix=a.prefix||"lui",this.conf.startTop=a.startTop||40,this.conf.okLabel=a.okLabel||"Ok",this.conf.cancelLabel=a.cancelLabel||"Cancel",this.conf.canDismissConfirm=a.canDismissConfirm;var b=document.getElementsByTagName(this.conf.parentTagIdClass),c=document.getElementById(this.conf.parentTagIdClass),d=document.getElementsByClassName(this.conf.parentTagIdClass);if(b&&b.length)this.parentElt=angular.element(b[0]);else if(c)this.parentElt=angular.element(c);else{if(!d||!d.length)return void this.$log.warn("luisNotify - could not find a suitable element for tag/id/class: "+this.conf.parentTagIdClass);this.parentElt=angular.element(d[0])}this.cgNotify.config({container:this.parentElt,startTop:this.conf.startTop})},a.prototype.error=function(a,c){this.$log.error(new b(a,c)),this.cgNotify(new j(a))},a.prototype.warning=function(a,c){this.$log.warn(new b(a,c)),this.cgNotify(new k(a))},a.prototype.success=function(a,c){this.$log.log(new b(a,c)),this.cgNotify(new l(a))},a.prototype.alert=function(a,b,c){return this.openModal(g,a,b||this.conf.okLabel,c||this.conf.cancelLabel,!1)},a.prototype.confirm=function(a,b,c){return this.openModal(h,a,b||this.conf.okLabel,c||this.conf.cancelLabel,!this.conf.canDismissConfirm)},a.prototype.loading=function(a,c,d){var e=this,f=this.$rootScope.$new(!0);f.loading=!0,f.calloutClass="light",f.message=c;var g=this.cgNotify(new m(f,c)),h=function(a){e.$timeout(function(){g.close(),f.$destroy()},a)};d&&(f.canCancel=!0,f.cancel=function(){e.$log.warn(new b(c,"user cancelled")),d(),h(0)}),a.then(function(a){f.message=a,f.calloutClass="green",f.loading=!1,h(5e3)},function(a){f.message=a,f.calloutClass="red",f.loading=!1,e.$log.error(new b(c,"")),h(2e4)},function(a){f.message=a})},a.prototype.openModal=function(a,b,c,d,e){return this.$uibModal.open({templateUrl:a,controller:o.IID,appendTo:this.parentElt,size:"mobile",windowClass:this.conf.prefix,backdrop:!0,backdropClass:this.conf.prefix,resolve:{message:function(){return b},okLabel:function(){return c},cancelLabel:function(){return d},preventDismiss:function(){return e}}}).result},a.IID="luisNotify",a.$inject=["notify","$q","$log","$rootScope","$timeout","$uibModal"],a}();a.NotifyService=n;var o=function(){function a(a,b,c,d,e,f){var g=this;a.message=c,a.okLabel=d,a.cancelLabel=e,a.ok=function(){g.doClose=!0,b.close(!0)},a.cancel=function(){g.doClose=!0,b.close(!1)},f&&a.$on("modal.closing",function(a){g.doClose||a.preventDefault()})}return a.IID="notifyModalController",a.$inject=["$scope","$uibModalInstance","message","okLabel","cancelLabel","preventDismiss"],a}();angular.module("lui.services").service(n.IID,n),angular.module("lui.services").controller(o.IID,o)}(b=a.Service||(a.Service={}))}(Lui||(Lui={}));var Lui;!function(a){var b;!function(a){"use strict";var b=function(){function a(a,b,c,d){var e=this;this.totalRequests=0,this.completedRequests=0,this.request=function(a){return e.isCached(a)||e.startRequest(a.method),a},this.requestError=function(a){return e.startRequest("GET"),e.$q.reject(a)},this.response=function(a){return a&&!e.isCached(a.config)&&e.endRequest(e.extractMethod(a)),a},this.responseError=function(a){return e.endRequest("GET"),e.$q.reject(a)},this.isCached=function(a){var b,c=e.$cacheFactory.get("$http");!a.cache||a.cache===!1||"GET"!==a.method&&"JSONP"!==a.method||(b=angular.isObject(a.cache)?a.cache:c);var d=void 0!==b?void 0!==b.get(a.url):!1;return void 0!==a.cached&&d!==a.cached?a.cached:(a.cached=d,d)},this.extractMethod=function(a){try{return a.config.method}catch(b){return"GET"}},this.startRequest=function(a){e.progressBarService.isHttpResquestListening()?e.progressBarService.getHttpRequestMethods().indexOf(a)>-1&&(0===e.totalRequests&&e.progressBarService.start(),e.totalRequests++):(e.totalRequests=0,e.completedRequests=0)},this.setComplete=function(){e.completeTimeout&&e.$timeout.cancel(e.completeTimeout),e.completeTimeout=e.$timeout(function(){e.progressBarService.complete(),e.totalRequests=0,e.completedRequests=0},200)},this.endRequest=function(a){e.progressBarService.isHttpResquestListening()&&e.progressBarService.getHttpRequestMethods().indexOf(a)>-1&&(e.completedRequests++, +e.completedRequests>=e.totalRequests&&e.setComplete())},this.$q=a,this.$cacheFactory=b,this.$timeout=c,this.progressBarService=d}return a.IID="luiHttpInterceptor",a.$inject=["$q","$cacheFactory","$timeout","luisProgressBar"],a}();a.LuiHttpInterceptor=b,angular.module("lui.services").service(b.IID,b)}(b=a.Service||(a.Service={}))}(Lui||(Lui={}));var Lui;!function(a){var b;!function(a){"use strict";var b=function(){function a(a,b,c,d,e){var f=this;this.latencyThreshold=200,this.httpResquestListening=!1,this.status=0,this.progressBarTemplate='
',this.addProgressBar=function(a,b){void 0===a&&(a="body"),void 0===b&&(b="primary");var c,d=document.getElementsByTagName(a),e=document.getElementById(a),g=document.getElementsByClassName(a);if(d&&d.length)c=angular.element(d[0]);else if(e)c=angular.element(e);else{if(!g||!g.length)return void f.$log.warn("luisProgressBar - could not find a suitable element for tag/id/class: "+a);c=angular.element(g[0])}f.progressbarEl&&f.progressbarEl.remove(),f.progressbarEl=angular.element(f.progressBarTemplate),f.progressbarEl.addClass(b),c.append(f.progressbarEl)},this.startListening=function(a){f.httpResquestListening=!0,a?f.httpRequestMethods=a:f.httpRequestMethods=["GET"],f.setStatus(0)},this.stopListening=function(){f.httpResquestListening=!1,f.setStatus(0)},this.isHttpResquestListening=function(){return f.httpResquestListening},this.getHttpRequestMethods=function(){return f.httpRequestMethods},this.start=function(){f.isStarted||(f.isStarted=!0,f.$timeout.cancel(f.completeTimeout),f.$interval.cancel(f.currentPromiseInterval),f.show(),f.currentPromiseInterval=f.$interval(function(){if(isNaN(f.status))f.$interval.cancel(f.currentPromiseInterval),f.setStatus(0),f.hide();else{var a=100-f.status;a>30?f.setStatus(f.status+.5*Math.sqrt(a)):f.setStatus(f.status+.15*Math.pow(1-Math.sqrt(a),2))}},f.latencyThreshold))},this.hide=function(){f.$timeout(function(){f.progressbarEl&&(f.progressbarEl.removeClass("in"),f.progressbarEl.addClass("out"),f.setStatus(0))},300)},this.show=function(){f.progressbarEl&&(f.progressbarEl.removeClass("out"),f.progressbarEl.addClass("in"),f.setStatus(0))},this.setStatus=function(a){f.status=a,f.progressbarEl&&(f.progressbarEl.children().css("width",f.status+"%"),f.progressbarEl.children().attr("data-percentage",f.status))},this.complete=function(){f.$interval.cancel(f.currentPromiseInterval),f.isStarted=!1,f.httpResquestListening=!1,f.setStatus(100),f.hide()},this.getDomElement=function(){return f.progressbarEl},this.$document=a,this.$window=b,this.$timeout=c,this.$interval=d,this.$log=e}return a.IID="luisProgressBar",a.$inject=["$document","$window","$timeout","$interval","$log"],a}();a.ProgressBarService=b,angular.module("lui.services").service(b.IID,b)}(b=a.Service||(a.Service={}))}(Lui||(Lui={}));var Lui;!function(a){var b;!function(a){var b;!function(a){"use strict";var b=function(){function a(){}return a}();a.Tree=b;var c=function(){function a(){}return a}();a.Header=c;var d=function(){function a(){}return a}();a.BrowseResult=d}(b=a.TableGrid||(a.TableGrid={}))}(b=a.Directives||(a.Directives={}))}(Lui||(Lui={}));var Lui;!function(a){var b;!function(a){"use strict";var b=function(){function a(){}return a.NONE="none",a.TEXT="text",a.SELECT="select",a.MULTISELECT="multiselect",a}();a.FilterTypeEnum=b;var c=function(){function a(a,c,d,e){var f=0;c.isSelectable=angular.isDefined(c.selectable),c.internalRowClick=function(a,b){for(var d=a.target,e=!1;!e&&d.nodeName!==a.currentTarget.nodeName;)e=!!d.href||"checkbox"===d.type,d=d.parentElement;e||c.onRowClick({row:b})};var g=function(a){return a.tree.children.length||a.subChildren++,a.tree.children.forEach(function(b){var c=g({depth:a.depth+1,tree:b,subChildren:0,subDepth:0});a.subChildren+=c.subChildren,a.subDepth=Math.max(a.subDepth,c.subDepth)}),a.tree.children.length?a.subDepth++:c.colDefinitions.push(a.tree.node),a.tree.node&&(a.tree.node.rowspan=f-a.depth-a.subDepth,a.tree.node.colspan=a.subChildren,a.tree.children.length||a.tree.node.filterType!==b.NONE||a.tree.node.rowspan++,c.headerRows[a.depth]?c.headerRows[a.depth].push(a.tree.node):c.headerRows[a.depth]=[a.tree.node]),a},h=function(a){var b=0;return a.children.forEach(function(a){b=Math.max(b,h(a))}),b+1};c.initFilter=function(){c.filters=[],_.each(c.colDefinitions,function(a,d){_.each(c.datas,function(e){if(c.filters[d]||(c.filters[d]={header:a,selectValues:[],currentValues:[]}),a.filterType===b.SELECT||a.filterType===b.MULTISELECT){var f=a.getValue(e);a.getFilterValue&&(f=a.getFilterValue(e));var g=f.split("|");_.each(g,function(a){_.contains(c.filters[d].selectValues,a)||c.filters[d].selectValues.push(a)})}}),c.filters[d].selectValues=_.sortBy(c.filters[d].selectValues,function(a){return a?a.toLowerCase():""})})};var i=function(){if(c.FilterTypeEnum=b,c.headerRows=[],c.bodyRows=[],c.colDefinitions=[],c.allChecked={value:!1},f=h(c.header),g({depth:0,subChildren:0,subDepth:0,tree:c.header}),c.existFixedRow=_.some(c.colDefinitions,function(a){return a.fixed}),c.selected={orderBy:null,reverse:!1},c.defaultOrder){var a=c.defaultOrder.substr(0,1);"-"!==a&&"+"!==a||(c.defaultOrder=c.defaultOrder.substr(1),c.selected.reverse="-"===a);var d=_.find(c.colDefinitions,function(a){return a.label===c.defaultOrder});c.selected.orderBy=d?d:null}_.each(c.datas,function(a){a._luiTableGridRow={isInFilteredDataset:!0},c.isSelectable&&(a._luiTableGridRow.isChecked=!1)})},j=function(){var a=_.filter(c.filteredAndOrderedRows,function(a){return a._luiTableGridRow.isChecked}).length;return 0===a?"":a===c.filteredAndOrderedRows.length?"checked":aa?+t+B-s+"px":+t+B+"px",k.style.width=p+"px",n.style.marginLeft=p+"px",o.style.marginLeft=-p+"px")},F=function(){D(),E()},G=function(a){z=(c.filteredAndOrderedRows.length-a)*v,z>t&&(o.style.height=z+"px",l&&(l.style.height=z+"px"))},H=function(){if(c.filteredAndOrderedRows.length<=p)return c.visibleRows=c.filteredAndOrderedRows,void G(0);var a=y {{ month.date | luifMoment : month.currentYear ? "MMMM" : "MMMM - YYYY" }} {{ ::dayLabel }}{{ ::day.dayNum }}'),a.put("lui/templates/date-picker/datepicker-popup.html",''),a.put("lui/templates/date-picker/daterangepicker-popover.html",'
{{ month.date | luifMoment : month.currentYear ? "MMMM" : "MMMM - YYYY" }}
{{ ::dayLabel }}
{{ ::day.dayNum }}
'),a.put("lui/templates/date-picker/daterangepicker.html",' {{ !!period.start ? (period.start | luifMoment : momentFormat) : "................." }} {{ !!period.end ? (period.end | luifMoment : momentFormat) : "................." }}'),a.put("lui/templates/notify-service/alert.html",'
{{message}}
'),a.put("lui/templates/notify-service/confirm.html",'
{{message}}
'),a.put("lui/templates/notify-service/error.html",'
Error
{{ $message }}
'),a.put("lui/templates/notify-service/loading.html",'
  Loading
  {{ message }}
'),a.put("lui/templates/notify-service/success.html",'
Success
{{ $message }}
'),a.put("lui/templates/notify-service/warning.html",'
Warning
{{ $message }}
'),a.put("lui/templates/table-grid/table-grid.html",'
'),a.put("lui/templates/table-grid/table-grid.table.html",'
{{ header.label }}
{{ $item }}{{ value }}{{ $select.selected }}{{ value }}
')}]); \ No newline at end of file diff --git a/dist/lucca-ui.d.ts b/dist/lucca-ui.d.ts index 6a69b633..43996e5f 100644 --- a/dist/lucca-ui.d.ts +++ b/dist/lucca-ui.d.ts @@ -1,27 +1,98 @@ +declare module Lui.Directives { + class CalendarMonth { + date: moment.Moment; + currentYear: boolean; + weeks: CalendarWeek[]; + constructor(date: moment.Moment); + } + class CalendarWeek { + days: CalendarDay[]; + } + class CalendarDay { + date: moment.Moment; + dayNum: number; + empty: boolean; + disabled: boolean; + selected: boolean; + start: boolean; + end: boolean; + inBetween: boolean; + customClass: string; + constructor(date: moment.Moment); + } + interface ICalendarScope extends ng.IScope { + customClass: (date: moment.Moment) => string; + displayedMonths: string; + min: any; + max: any; + dayLabels: string[]; + months: CalendarMonth[]; + selectDay(day: CalendarDay): void; + previousMonth(): void; + nextMonth(): void; + onMouseEnter(day: CalendarDay, $event?: ng.IAngularEvent): void; + onMouseLeave(day: CalendarDay, $event?: ng.IAngularEvent): void; + } + interface ICalendarValidators extends ng.IModelValidators { + min: (modelValue: any, viewValue: any) => boolean; + max: (modelValue: any, viewValue: any) => boolean; + } + class CalendarController { + protected monthsCnt: number; + protected currentMonth: moment.Moment; + protected $scope: ICalendarScope; + protected selected: moment.Moment; + protected start: moment.Moment; + protected end: moment.Moment; + protected min: moment.Moment; + protected max: moment.Moment; + constructor($scope: ICalendarScope); + setMonthsCnt(cntStr?: string): void; + protected constructMonths(): CalendarMonth[]; + protected constructDayLabels(): string[]; + protected assignClasses(): void; + private initCalendarScopeMethods($scope); + private constructMonth(monthStart); + private constructWeek(weekStart, monthStart); + private extractDays(); + } +} +declare module Lui.Directives { +} +declare module Lui.Directives { +} declare module Lui { interface ILuiFilters extends ng.IFilterService { (name: "luifDuration"): (input: any, showSign?: boolean, unit?: string, precision?: string) => string; (name: "luifPlaceholder"): (input: any, placeholder: string) => string; - (name: "luifFriendlyRange"): (input: Period, excludeEnd: boolean) => string; + (name: "luifFriendlyRange"): (input: IPeriod, excludeEnd?: boolean) => string; (name: "luifDefaultCode"): (input: string) => string; + (name: "luifStripAccents"): (input: string) => string; } - class Period { - start: moment.Moment & string & Date; - startsOn: moment.Moment & string & Date; - startsAt: moment.Moment & string & Date; - end: moment.Moment & string & Date; - endsOn: moment.Moment & string & Date; - endsAt: moment.Moment & string & Date; + interface IPeriod { + start?: moment.Moment | string | Date; + startsOn?: moment.Moment | string | Date; + startsAt?: moment.Moment | string | Date; + end?: moment.Moment | string | Date; + endsOn?: moment.Moment | string | Date; + endsAt?: moment.Moment | string | Date; } + class Period implements IPeriod { + start: moment.Moment; + end: moment.Moment; + constructor(unformatted: IPeriod, formatter?: Lui.Utils.IFormatter); + } +} +declare module Lui.Filters { } declare module Lui.Service { interface INotifyConfig { - parentTagIdClass: string; - prefix: string; - startTop: number; - okLabel: string; - cancelLabel: string; - canDismissConfirm: boolean; + parentTagIdClass?: string; + prefix?: string; + startTop?: number; + okLabel?: string; + cancelLabel?: string; + canDismissConfirm?: boolean; } class NotifyService { static IID: string; @@ -41,6 +112,7 @@ declare module Lui.Service { success(message: string, details?: string): void; alert(message: string, okLabel?: string, cancelLabel?: string): ng.IPromise; confirm(message: string, okLabel?: string, cancelLabel?: string): ng.IPromise; + loading(loadingPromise: ng.IPromise, message?: string, cancelFn?: () => void): void; private openModal(templateUrl, message, okLabel, cancelLabel, preventDismiss); } } @@ -140,8 +212,14 @@ declare module Lui.Directives { declare module Lui.Directives { interface ILuidTableGridAttributes extends ng.IAttributes { height: string; + heightType: string; selectable: boolean; } + class LuidTableGridHeightType { + static GLOBAL: string; + static BODY: string; + static isTypeExisting(type: string): boolean; + } class LuidTableGrid implements angular.IDirective { static defaultHeight: number; static IID: string; @@ -154,6 +232,7 @@ declare module Lui.Directives { selectable: string; defaultOrder: string; onRowClick: string; + heightType: string; }; templateUrl: string; private $timeout; @@ -204,3 +283,44 @@ declare module Lui.Directives { updateViewAfterOrderBy: () => void; } } +declare module Lui.Utils { + interface IFormatter { + parseValue(value: any): T; + formatValue(value: T): any; + } + class MomentFormatter implements IFormatter { + private format; + constructor(format?: string); + parseValue(value: any): moment.Moment; + formatValue(value: moment.Moment): any; + private parseMoment(value); + private parseDate(value); + private parseString(value); + private formatMoment(value); + private formatDate(value); + private formatString(value); + } +} +declare module Lui.Utils { + interface IPopoverController { + toggle($event?: ng.IAngularEvent): void; + open($event?: ng.IAngularEvent): void; + close($event?: ng.IAngularEvent): void; + } + interface IClickoutsideTriggerScope extends ng.IScope { + popover: { + isOpen: boolean; + }; + } + class ClickoutsideTrigger implements IPopoverController { + private elt; + private body; + private $scope; + private clickedOutside; + constructor(elt: angular.IAugmentedJQuery, $scope: IClickoutsideTriggerScope, clickedOutside?: () => void); + toggle($event?: ng.IAngularEvent): void; + close($event?: ng.IAngularEvent): void; + open($event: ng.IAngularEvent): void; + private onClickedOutside($event?); + } +} diff --git a/dist/lucca-ui.global.min.css b/dist/lucca-ui.global.min.css index 215c847b..0ce86947 100644 --- a/dist/lucca-ui.global.min.css +++ b/dist/lucca-ui.global.min.css @@ -1 +1 @@ -.loader{display:inline-block;position:relative}.loader:before,.loader:after{box-sizing:border-box;display:block;content:"";width:1em;height:1em;border-radius:50%;border-width:2px;border-style:solid}.loader:after{position:absolute;animation-name:spin;animation-iteration-count:infinite;top:50%;margin-top:-.5em;left:50%;margin-left:-.5em;animation-timing-function:linear}.loader:before{border-color:rgba(0,0,0,0.25)}.loader:after{border-color:rgba(0,0,0,0.5) transparent transparent transparent}.ie9 .loader:before{border:none}.ie9 .loader:after{border:none;margin:0;background:transparent url("../../../dist/ie_fallback_spinner.gif") no-repeat center center;background-size:contain}body button.unstyled,body .button,body .search.input:before,body .search.input:after,body luid-moment .mp-button{-ms-user-select:none;-webkit-user-select:none;user-select:none}body ul.unstyled,body .menu ul,body .breadcrumbs,body ol.unstyled{list-style:none;padding:0;margin:0}body a.unstyled,body .menu a{text-decoration:none}body button.unstyled,body .button{cursor:pointer;outline:none;border:none;text-decoration:none;font-style:normal;line-height:1;font-weight:normal;background-color:transparent;border-radius:0}body button.unstyled:active,body .button:active,body button.unstyled:focus,body .button:focus{outline:none;outline:0}.loader:after,body .animated,body .search.input.searching:after,body .luid-translations.open .luid-translations-dropdown,body .button.status[class*="with addon"].loading>.addon:after,body .button.status.loading:not([class*="with addon"]):after{animation-timing-function:ease-out;animation-duration:.25s;animation-fill-mode:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;opacity:1}body .animated[class*="bounce"],body .animated[class*="pulse"]:not([class*="pulse down"]),body .animated[class*="pulse up"],body .animated[class*="spin"]{animation-timing-function:ease-out;animation-duration:.5s}body .infinitely.animated{animation-iteration-count:infinite}@keyframes upFadeIn{from{opacity:0;transform:translate3d(0, -1em, 0)}to{opacity:1;transform:none}}body .animated[class*="up fade in"]{animation-name:upFadeIn}@keyframes upFadeOut{from{opacity:1;transform:none}to{opacity:0;transform:translate3d(0, -1em, 0)}}body .animated[class*="up fade out"]{animation-name:upFadeOut}@keyframes downFadeIn{from{opacity:0;transform:translate3d(0, 1em, 0)}to{opacity:1;transform:none}}body .animated[class*="down fade in"]{animation-name:downFadeIn}@keyframes downFadeOut{from{opacity:1;transform:none}to{opacity:0;transform:translate3d(0, 1em, 0)}}body .animated[class*="down fade out"]{animation-name:downFadeOut}@keyframes leftFadeIn{from{opacity:0;transform:translate3d(-1em, 0, 0)}to{opacity:1;transform:none}}body .animated[class*="left fade in"]{animation-name:leftFadeIn}@keyframes leftFadeOut{from{opacity:1;transform:none}to{opacity:0;transform:translate3d(-1em, 0, 0)}}body .animated[class*="left fade out"]{animation-name:leftFadeOut}@keyframes rightFadeIn{from{opacity:0;transform:translate3d(1em, 0, 0)}to{opacity:1;transform:none}}body .animated[class*="right fade in"]{animation-name:rightFadeIn}@keyframes rightFadeOut{from{opacity:1;transform:none}to{opacity:0;transform:translate3d(1em, 0, 0)}}body .animated[class*="right fade out"]{animation-name:rightFadeOut}@keyframes downScaleIn{from{transform:scale(.75);opacity:0}to{transform:scale(1);opacity:1}}body .animated[class*="down scale in"]{animation-name:downScaleIn}@keyframes downScaleOut{from{transform:scale(1);opacity:1}to{transform:scale(.75);opacity:0}}body .animated[class*="down scale out"]{animation-name:downScaleOut}@keyframes upScaleIn{from{transform:scale(1.25);opacity:0}to{transform:scale(1);opacity:1}}body .animated[class*="up scale in"]{animation-name:upScaleIn}@keyframes upScaleOut{from{transform:scale(1);opacity:1}to{transform:scale(1.25);opacity:0}}body .animated[class*="up scale out"]{animation-name:upScaleOut}@keyframes upSlideIn{from{transform-origin:center top;transform:scale(1, 0)}to{transform-origin:center top;transform:scale(1, 1)}}@keyframes downSlideIn{from{transform-origin:center bottom;transform:scale(1, 0)}to{transform-origin:center bottom;transform:scale(1, 1)}}body .animated[class*="up slide in"]{animation-name:upSlideIn}body .animated[class*="down slide in"]{animation-name:downSlideIn}@keyframes upSlideOut{from{transform-origin:center top;transform:scale(1, 1)}to{transform-origin:center top;transform:scale(1, 0)}}@keyframes downSlideOut{from{transform-origin:center bottom;transform:scale(1, 1)}to{transform-origin:center bottom;transform:scale(1, 0)}}body .animated[class*="up slide out"]{animation-name:upSlideOut}body .animated[class*="down slide out"]{animation-name:downSlideOut}@keyframes leftSlideIn{from{transform-origin:left center;transform:scale(0, 1)}to{transform-origin:left center;transform:scale(1, 1)}}@keyframes rightSlideIn{from{transform-origin:right center;transform:scale(0, 1)}to{transform-origin:right center;transform:scale(1, 1)}}body .animated[class*="left slide in"]{animation-name:leftSlideIn}body .animated[class*="right slide in"]{animation-name:rightSlideIn}@keyframes leftSlideOut{from{transform-origin:left center;transform:scale(1, 1)}to{transform-origin:left center;transform:scale(0, 1)}}@keyframes rightSlideOut{from{transform-origin:right center;transform:scale(1, 1)}to{transform-origin:right center;transform:scale(0, 1)}}body .animated[class*="left slide out"]{animation-name:leftSlideOut}body .animated[class*="right slide out"]{animation-name:rightSlideOut}@keyframes bounce{0%,20%,50%,80%,100%{transform:translateY(0)}40%{transform:translateY(-2em)}60%{transform:translateY(-1em)}}body .animated[class*="bounce"]{animation-name:bounce}@keyframes pulseUp{0%{transform:scale(1);opacity:1}50%{transform:scale(1.25);opacity:0.75}100%{transform:scale(1);opacity:1}}body .animated[class*="pulse"]:not([class*="pulse down"]),body .animated[class*="pulse up"]{animation-name:pulseUp}@keyframes pulseDown{0%{transform:scale(1);opacity:1}50%{transform:scale(0.85);opacity:0.75}100%{transform:scale(1);opacity:1}}body .animated[class*="pulse down"]{animation-name:pulseDown}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}body .animated[class*="spin"]{animation-name:spin}body .pointing:after{content:'';display:block;width:0;height:0;border-style:solid;border-color:transparent}body [class*="top pointing"]:after,body [class*="bottom pointing"]:after{border-left-width:0.5em;border-right-width:0.5em}body [class*="top pointing"]:after{border-bottom:0.5em solid lui_get_colorscheme(light, color)}body [class*="bottom pointing"]:after{border-top:0.5em solid lui_get_colorscheme(light, color)}body [class*="left pointing"]:after,body [class*="right pointing"]:after{border-top-width:0.5em;border-bottom-width:0.5em}body [class*="left pointing"]:after{border-right:0.5em solid lui_get_colorscheme(light, color)}body [class*="right pointing"]:after{border-left:0.5em solid lui_get_colorscheme(light, color)}body .raised,body .luid-translations.open,body .luid-translations .luid-translations-dropdown,body .callout{box-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.2)}body .high.raised,body .high.luid-translations.open,body .luid-translations .high.luid-translations-dropdown,body .high.callout{box-shadow:0 0 20px 0 rgba(0, 0, 0, 0.2), 0 5px 5px 0 rgba(0, 0, 0, 0.24)}body .rounded{border-radius:3px;background-clip:padding-box}body .stuck{position:fixed !important;z-index:3}body [class*="top stuck"]{top:0;left:0;right:0;overflow-x:auto}body [class*="bottom stuck"]{bottom:0;left:0;right:0;overflow-x:auto}body [class*="middle stuck"]{top:50%;left:50%;transform:translate(-50%, -50%)}body [class*="left stuck"]{top:0;bottom:0;left:0;overflow-y:auto}body [class*="right stuck"]{top:0;bottom:0;right:0;overflow-y:auto}body [class*="top middle stuck"],body [class*="top left stuck"],body [class*="top right stuck"]{top:0;bottom:auto}body [class*="bottom middle stuck"],body [class*="bottom left stuck"],body [class*="bottom right stuck"]{top:auto;bottom:0}body .shown{display:block}body .hidden{display:none}body .invisible{pointer-events:none;visibility:hidden;opacity:0}body .faded{opacity:0.5}body .faded.strongly{opacity:0.25}body .faded.lightly{opacity:0.75}body .desaturated{-webkit-filter:grayscale(50%);filter:grayscale(50%)}body .desaturated.strongly{-webkit-filter:grayscale(75%);filter:grayscale(75%)}body .desaturated.lightly{-webkit-filter:grayscale(25%);filter:grayscale(25%)}body .desaturated.fully{-webkit-filter:grayscale(100%);filter:grayscale(100%)}body[deferred-cloak],body[data-deferred-cloak],body[x-deferred-cloak],body.deferred-cloak{display:none !important}@font-face{font-family:"lucca-icons";src:url("//cdn.lucca.fr/lucca-icons/fonts/lucca-icons.eot");src:url("//cdn.lucca.fr/lucca-icons/fonts/lucca-icons.eot?#iefix") format("embedded-opentype"),url("//cdn.lucca.fr/lucca-icons/fonts/lucca-icons.woff") format("woff"),url("//cdn.lucca.fr/lucca-icons/fonts/lucca-icons.ttf") format("truetype"),url("//cdn.lucca.fr/lucca-icons/fonts/lucca-icons.svg#lucca-icons") format("svg");font-weight:normal;font-style:normal}i.icon,body .button.icon:before{font-family:"lucca-icons";font-style:normal;font-weight:normal;font-variant:normal;text-decoration:none;text-transform:none;text-align:center;font-size:1em;speak:none;font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}i.icon:before,body .button.icon:before{display:block;margin-top:-1px}i.icon{display:inline-block;vertical-align:middle}i.icon.circular{width:2em;height:2em;padding:.5em;border-radius:50%}i.icon.flipped,i.icon.flipped[class*="horizontally flipped"]{transform:scale(-1, 1)}i.icon.flipped[class*="vertically flipped"]{transform:scale(1, -1)}i.icon.rotated,i.icon.rotated[class*="clockwise rotated"]{transform:rotate(90deg)}i.icon.rotated[class*="counterclockwise rotated"]{transform:rotate(-90deg)}.icon.breakfast[class*="breakfast"]:before{content:""}.icon.gallery[class*="gallery"]:before{content:""}.icon.lock[class*="lock"]:before{content:""}.icon.unlock[class*="unlock"]:before{content:""}.icon.north.chevron[class*="north chevron"]:before{content:""}.icon.south.chevron[class*="south chevron"]:before{content:""}.icon.west.chevron[class*="west chevron"]:before{content:""}.icon.east.chevron[class*="east chevron"]:before{content:""}.icon.west.arrow[class*="west arrow"]:before{content:""}.icon.east.arrow[class*="east arrow"]:before{content:""}.icon.north.arrow[class*="north arrow"]:before{content:""}.icon.south.arrow[class*="south arrow"]:before{content:""}.icon.attachment[class*="attachment"]:before{content:""}.icon.blocks[class*="blocks"]:before{content:""}.icon.branch[class*="branch"]:before{content:""}.icon.coffee[class*="coffee"]:before{content:""}.icon.check[class*="check"]:before{content:""}.icon.checkbox[class*="checkbox"]:before{content:""}.icon.checkbox.checked[class*="checkbox checked"]:before{content:""}.icon.checkbox.partial[class*="checkbox partial"]:before{content:""}.icon.clock[class*="clock"]:before{content:""}.icon.cross[class*="cross"]:before{content:""}.icon.calendar[class*="calendar"]:before{content:""}.icon.download[class*="download"]:before{content:""}.icon.edit[class*="edit"]:before{content:""}.icon.edit.frame[class*="edit frame"]:before{content:""}.icon.edit.mini[class*="edit mini"]:before{content:""}.icon.ellipsis[class*="ellipsis"]:before{content:""}.icon.error[class*="error"]:before{content:""}.icon.files[class*="files"]:before{content:""}.icon.filter[class*="filter"]:before{content:""}.icon.email[class*="email"]:before{content:""}.icon.user[class*="user"]:before{content:""}.icon.add.user[class*="add user"]:before{content:""}.icon.remove.user[class*="remove user"]:before{content:""}.icon.to.user[class*="to user"]:before{content:""}.icon.help[class*="help"]:before{content:""}.icon.forbidden[class*="forbidden"]:before{content:""}.icon.minus[class*="minus"]:before{content:""}.icon.move[class*="move"]:before{content:""}.icon.move.horizontally[class*="move horizontally"]:before{content:""}.icon.move.vertically[class*="move vertically"]:before{content:""}.icon.notification[class*="notification"]:before{content:""}.icon.outside[class*="outside"]:before{content:""}.icon.camera[class*="camera"]:before{content:""}.icon.printer[class*="printer"]:before{content:""}.icon.refresh[class*="refresh"]:before{content:""}.icon.drag[class*="drag"]:before{content:""}.icon.search[class*="search"]:before{content:""}.icon.send[class*="send"]:before{content:""}.icon.settings[class*="settings"]:before{content:""}.icon.comment[class*="comment"]:before{content:""}.icon.timer[class*="timer"]:before{content:""}.icon.trash[class*="trash"]:before{content:""}.icon.plus[class*="plus"]:before{content:""}.icon.upload[class*="upload"]:before{content:""}.icon.warning[class*="warning"]:before{content:""}.icon.bookmark[class*="bookmark"]:before{content:""}.icon.add.bookmark[class*="add bookmark"]:before{content:""}.icon.remove.bookmark[class*="remove bookmark"]:before{content:""}.icon.milestone[class*="milestone"]:before{content:""}.icon.quantity[class*="quantity"]:before{content:""}.icon.luggage[class*="luggage"]:before{content:""}.icon.train[class*="train"]:before{content:""}.icon.tools[class*="tools"]:before{content:""}.icon.dollar.toll[class*="dollar toll"]:before{content:""}.icon.euro.toll[class*="euro toll"]:before{content:""}.icon.taxi[class*="taxi"]:before{content:""}.icon.clean.car[class*="clean car"]:before{content:""}.icon.car[class*="car"]:before{content:""}.icon.postage[class*="postage"]:before{content:""}.icon.iron[class*="iron"]:before{content:""}.icon.plane[class*="plane"]:before{content:""}.icon.piggy.bank[class*="piggy bank"]:before{content:""}.icon.phone[class*="phone"]:before{content:""}.icon.parking[class*="parking"]:before{content:""}.icon.computer.mouse[class*="computer mouse"]:before{content:""}.icon.subway[class*="subway"]:before{content:""}.icon.meal[class*="meal"]:before{content:""}.icon.lunch[class*="lunch"]:before{content:""}.icon.mileage[class*="mileage"]:before{content:""}.icon.hotel[class*="hotel"]:before{content:""}.icon.gasoline[class*="gasoline"]:before{content:""}.icon.euro[class*="euro"]:before{content:""}.icon.drink[class*="drink"]:before{content:""}.icon.diner[class*="diner"]:before{content:""}.icon.dollar[class*="dollar"]:before{content:""}.icon.computer[class*="computer"]:before{content:""}.icon.bus[class*="bus"]:before{content:""}.icon.pin[class*="pin"]:before{content:""}.icon.analytics[class*="analytics"]:before{content:""}.icon.location[class*="location"]:before{content:""}.icon.tiles[class*="tiles"]:before{content:""}.icon.truck[class*="truck"]:before{content:""}.icon.bank.card[class*="bank card"]:before{content:""}.icon.database[class*="database"]:before{content:""}.icon.journey[class*="journey"]:before{content:""}.icon.pricetag[class*="pricetag"]:before{content:""}.icon.payment[class*="payment"]:before{content:""}.icon.analytical.allocation[class*="analytical allocation"]:before{content:""}.icon.tree.list[class*="tree list"]:before{content:""}.icon.jumping.cc[class*="jumping cc"]:before{content:""}.icon.drag2[class*="drag2"]:before{content:""}.icon.sliders[class*="sliders"]:before{content:""}.icon.roles[class*="roles"]:before{content:""}.icon.radio[class*="radio"]:before{content:""}.icon.radio.checked[class*="radio checked"]:before{content:""}.icon.imported.item[class*="imported item"]:before{content:""}.icon.headphones[class*="headphones"]:before{content:""}.icon.help.outline[class*="help outline"]:before{content:""}.icon.image[class*="image"]:before{content:""}.icon.import.cb[class*="import cb"]:before{content:""}.icon.list[class*="list"]:before{content:""}.icon.pristine.imported.item[class*="pristine imported item"]:before{content:""}.icon.rejected[class*="rejected"]:before{content:""}.icon.mosaic[class*="mosaic"]:before{content:""}.icon.customize[class*="customize"]:before{content:""}body .icon.x-small{font-size:.7em}body .icon.small{font-size:.85em}body .icon.regular{font-size:13px}body .icon.large{font-size:1.25em}body .icon.x-large{font-size:1.5em}body i.icon.grey{color:#666}body i.icon.light{color:#CCC}body i.icon.primary{color:#FFC900}body i.icon.secondary{color:#F60}body i.icon.red{color:#F60}body i.icon.orange{color:#F90}body i.icon.green{color:#5cb85c}body i.icon.yellow{color:#FFC900}body,html{width:100%;height:100%}body .clear,body .container,body .container .columns,body dl.definition-list,body .typeset dl,body .menu,body .menu>.item,body .callouts,body .fields{zoom:1}body .clear:before,body .container:before,body .container .columns:before,body dl.definition-list:before,body .typeset dl:before,body .menu:before,body .menu>.item:before,body .callouts:before,body .fields:before,body .clear:after,body .container:after,body .container .columns:after,body dl.definition-list:after,body .typeset dl:after,body .menu:after,body .menu>.item:after,body .callouts:after,body .fields:after{content:"";display:table}body .clear:after,body .container:after,body .container .columns:after,body dl.definition-list:after,body .typeset dl:after,body .menu:after,body .menu>.item:after,body .callouts:after,body .fields:after{clear:both}body [class*="left pulled"]{float:left}body [class*="right pulled"]{float:right}body .container{padding:0;width:auto}body .container .column{float:left;box-sizing:border-box;width:100%}body .container .column[class*="-pull-"],body .container .column[class*="-push-"]{position:relative}body .fitting.container{margin-left:0 !important;margin-right:0 !important}body .container.spaced .column,body .columns.spaced .column,body .container .column.spaced{padding:0 1em}body .container.spaced .columns{margin:0 -1em}@media (min-width: 320px){body .container{margin:0 1em}body .mobile-hide{display:none !important}body .mobile-show{display:block !important}body .container .column.mobile-offset-0{margin-left:0%}body .container .column.mobile-pull-0{left:0%}body .container .column.mobile-push-0{left:0%}body .container .column.mobile-1{width:8.3333333333%}body .container .column.mobile-offset-1{margin-left:8.3333333333%}body .container .column.mobile-pull-1{left:-8.3333333333%}body .container .column.mobile-push-1{left:8.3333333333%}body .container .column.mobile-2{width:16.6666666667%}body .container .column.mobile-offset-2{margin-left:16.6666666667%}body .container .column.mobile-pull-2{left:-16.6666666667%}body .container .column.mobile-push-2{left:16.6666666667%}body .container .column.mobile-3{width:25%}body .container .column.mobile-offset-3{margin-left:25%}body .container .column.mobile-pull-3{left:-25%}body .container .column.mobile-push-3{left:25%}body .container .column.mobile-4{width:33.3333333333%}body .container .column.mobile-offset-4{margin-left:33.3333333333%}body .container .column.mobile-pull-4{left:-33.3333333333%}body .container .column.mobile-push-4{left:33.3333333333%}body .container .column.mobile-5{width:41.6666666667%}body .container .column.mobile-offset-5{margin-left:41.6666666667%}body .container .column.mobile-pull-5{left:-41.6666666667%}body .container .column.mobile-push-5{left:41.6666666667%}body .container .column.mobile-6{width:50%}body .container .column.mobile-offset-6{margin-left:50%}body .container .column.mobile-pull-6{left:-50%}body .container .column.mobile-push-6{left:50%}body .container .column.mobile-7{width:58.3333333333%}body .container .column.mobile-offset-7{margin-left:58.3333333333%}body .container .column.mobile-pull-7{left:-58.3333333333%}body .container .column.mobile-push-7{left:58.3333333333%}body .container .column.mobile-8{width:66.6666666667%}body .container .column.mobile-offset-8{margin-left:66.6666666667%}body .container .column.mobile-pull-8{left:-66.6666666667%}body .container .column.mobile-push-8{left:66.6666666667%}body .container .column.mobile-9{width:75%}body .container .column.mobile-offset-9{margin-left:75%}body .container .column.mobile-pull-9{left:-75%}body .container .column.mobile-push-9{left:75%}body .container .column.mobile-10{width:83.3333333333%}body .container .column.mobile-offset-10{margin-left:83.3333333333%}body .container .column.mobile-pull-10{left:-83.3333333333%}body .container .column.mobile-push-10{left:83.3333333333%}body .container .column.mobile-11{width:91.6666666667%}body .container .column.mobile-offset-11{margin-left:91.6666666667%}body .container .column.mobile-pull-11{left:-91.6666666667%}body .container .column.mobile-push-11{left:91.6666666667%}body .container .column.mobile-12{width:100%}body .container .column.mobile-offset-12{margin-left:100%}body .container .column.mobile-pull-12{left:-100%}body .container .column.mobile-push-12{left:100%}}@media (min-width: 768px){body .container{margin:0 2em}body .tablet-hide{display:none !important}body .tablet-show{display:block !important}body .container .column.tablet-offset-0{margin-left:0%}body .container .column.tablet-pull-0{left:0%}body .container .column.tablet-push-0{left:0%}body .container .column.tablet-1{width:8.3333333333%}body .container .column.tablet-offset-1{margin-left:8.3333333333%}body .container .column.tablet-pull-1{left:-8.3333333333%}body .container .column.tablet-push-1{left:8.3333333333%}body .container .column.tablet-2{width:16.6666666667%}body .container .column.tablet-offset-2{margin-left:16.6666666667%}body .container .column.tablet-pull-2{left:-16.6666666667%}body .container .column.tablet-push-2{left:16.6666666667%}body .container .column.tablet-3{width:25%}body .container .column.tablet-offset-3{margin-left:25%}body .container .column.tablet-pull-3{left:-25%}body .container .column.tablet-push-3{left:25%}body .container .column.tablet-4{width:33.3333333333%}body .container .column.tablet-offset-4{margin-left:33.3333333333%}body .container .column.tablet-pull-4{left:-33.3333333333%}body .container .column.tablet-push-4{left:33.3333333333%}body .container .column.tablet-5{width:41.6666666667%}body .container .column.tablet-offset-5{margin-left:41.6666666667%}body .container .column.tablet-pull-5{left:-41.6666666667%}body .container .column.tablet-push-5{left:41.6666666667%}body .container .column.tablet-6{width:50%}body .container .column.tablet-offset-6{margin-left:50%}body .container .column.tablet-pull-6{left:-50%}body .container .column.tablet-push-6{left:50%}body .container .column.tablet-7{width:58.3333333333%}body .container .column.tablet-offset-7{margin-left:58.3333333333%}body .container .column.tablet-pull-7{left:-58.3333333333%}body .container .column.tablet-push-7{left:58.3333333333%}body .container .column.tablet-8{width:66.6666666667%}body .container .column.tablet-offset-8{margin-left:66.6666666667%}body .container .column.tablet-pull-8{left:-66.6666666667%}body .container .column.tablet-push-8{left:66.6666666667%}body .container .column.tablet-9{width:75%}body .container .column.tablet-offset-9{margin-left:75%}body .container .column.tablet-pull-9{left:-75%}body .container .column.tablet-push-9{left:75%}body .container .column.tablet-10{width:83.3333333333%}body .container .column.tablet-offset-10{margin-left:83.3333333333%}body .container .column.tablet-pull-10{left:-83.3333333333%}body .container .column.tablet-push-10{left:83.3333333333%}body .container .column.tablet-11{width:91.6666666667%}body .container .column.tablet-offset-11{margin-left:91.6666666667%}body .container .column.tablet-pull-11{left:-91.6666666667%}body .container .column.tablet-push-11{left:91.6666666667%}body .container .column.tablet-12{width:100%}body .container .column.tablet-offset-12{margin-left:100%}body .container .column.tablet-pull-12{left:-100%}body .container .column.tablet-push-12{left:100%}}@media (min-width: 992px){body .container{margin:0 3em}body .desktop-hide{display:none !important}body .desktop-show{display:block !important}body .container .column.desktop-offset-0{margin-left:0%}body .container .column.desktop-pull-0{left:0%}body .container .column.desktop-push-0{left:0%}body .container .column.desktop-1{width:8.3333333333%}body .container .column.desktop-offset-1{margin-left:8.3333333333%}body .container .column.desktop-pull-1{left:-8.3333333333%}body .container .column.desktop-push-1{left:8.3333333333%}body .container .column.desktop-2{width:16.6666666667%}body .container .column.desktop-offset-2{margin-left:16.6666666667%}body .container .column.desktop-pull-2{left:-16.6666666667%}body .container .column.desktop-push-2{left:16.6666666667%}body .container .column.desktop-3{width:25%}body .container .column.desktop-offset-3{margin-left:25%}body .container .column.desktop-pull-3{left:-25%}body .container .column.desktop-push-3{left:25%}body .container .column.desktop-4{width:33.3333333333%}body .container .column.desktop-offset-4{margin-left:33.3333333333%}body .container .column.desktop-pull-4{left:-33.3333333333%}body .container .column.desktop-push-4{left:33.3333333333%}body .container .column.desktop-5{width:41.6666666667%}body .container .column.desktop-offset-5{margin-left:41.6666666667%}body .container .column.desktop-pull-5{left:-41.6666666667%}body .container .column.desktop-push-5{left:41.6666666667%}body .container .column.desktop-6{width:50%}body .container .column.desktop-offset-6{margin-left:50%}body .container .column.desktop-pull-6{left:-50%}body .container .column.desktop-push-6{left:50%}body .container .column.desktop-7{width:58.3333333333%}body .container .column.desktop-offset-7{margin-left:58.3333333333%}body .container .column.desktop-pull-7{left:-58.3333333333%}body .container .column.desktop-push-7{left:58.3333333333%}body .container .column.desktop-8{width:66.6666666667%}body .container .column.desktop-offset-8{margin-left:66.6666666667%}body .container .column.desktop-pull-8{left:-66.6666666667%}body .container .column.desktop-push-8{left:66.6666666667%}body .container .column.desktop-9{width:75%}body .container .column.desktop-offset-9{margin-left:75%}body .container .column.desktop-pull-9{left:-75%}body .container .column.desktop-push-9{left:75%}body .container .column.desktop-10{width:83.3333333333%}body .container .column.desktop-offset-10{margin-left:83.3333333333%}body .container .column.desktop-pull-10{left:-83.3333333333%}body .container .column.desktop-push-10{left:83.3333333333%}body .container .column.desktop-11{width:91.6666666667%}body .container .column.desktop-offset-11{margin-left:91.6666666667%}body .container .column.desktop-pull-11{left:-91.6666666667%}body .container .column.desktop-push-11{left:91.6666666667%}body .container .column.desktop-12{width:100%}body .container .column.desktop-offset-12{margin-left:100%}body .container .column.desktop-pull-12{left:-100%}body .container .column.desktop-push-12{left:100%}}@media (min-width: 1200px){body .container{margin:0 5em}body .large-hide{display:none !important}body .large-show{display:block !important}body .container .column.large-offset-0{margin-left:0%}body .container .column.large-pull-0{left:0%}body .container .column.large-push-0{left:0%}body .container .column.large-1{width:8.3333333333%}body .container .column.large-offset-1{margin-left:8.3333333333%}body .container .column.large-pull-1{left:-8.3333333333%}body .container .column.large-push-1{left:8.3333333333%}body .container .column.large-2{width:16.6666666667%}body .container .column.large-offset-2{margin-left:16.6666666667%}body .container .column.large-pull-2{left:-16.6666666667%}body .container .column.large-push-2{left:16.6666666667%}body .container .column.large-3{width:25%}body .container .column.large-offset-3{margin-left:25%}body .container .column.large-pull-3{left:-25%}body .container .column.large-push-3{left:25%}body .container .column.large-4{width:33.3333333333%}body .container .column.large-offset-4{margin-left:33.3333333333%}body .container .column.large-pull-4{left:-33.3333333333%}body .container .column.large-push-4{left:33.3333333333%}body .container .column.large-5{width:41.6666666667%}body .container .column.large-offset-5{margin-left:41.6666666667%}body .container .column.large-pull-5{left:-41.6666666667%}body .container .column.large-push-5{left:41.6666666667%}body .container .column.large-6{width:50%}body .container .column.large-offset-6{margin-left:50%}body .container .column.large-pull-6{left:-50%}body .container .column.large-push-6{left:50%}body .container .column.large-7{width:58.3333333333%}body .container .column.large-offset-7{margin-left:58.3333333333%}body .container .column.large-pull-7{left:-58.3333333333%}body .container .column.large-push-7{left:58.3333333333%}body .container .column.large-8{width:66.6666666667%}body .container .column.large-offset-8{margin-left:66.6666666667%}body .container .column.large-pull-8{left:-66.6666666667%}body .container .column.large-push-8{left:66.6666666667%}body .container .column.large-9{width:75%}body .container .column.large-offset-9{margin-left:75%}body .container .column.large-pull-9{left:-75%}body .container .column.large-push-9{left:75%}body .container .column.large-10{width:83.3333333333%}body .container .column.large-offset-10{margin-left:83.3333333333%}body .container .column.large-pull-10{left:-83.3333333333%}body .container .column.large-push-10{left:83.3333333333%}body .container .column.large-11{width:91.6666666667%}body .container .column.large-offset-11{margin-left:91.6666666667%}body .container .column.large-pull-11{left:-91.6666666667%}body .container .column.large-push-11{left:91.6666666667%}body .container .column.large-12{width:100%}body .container .column.large-offset-12{margin-left:100%}body .container .column.large-pull-12{left:-100%}body .container .column.large-push-12{left:100%}}body .fitting.columns{display:-ms-flexbox;display:flex;overflow:hidden}body{font-size:13px;font-family:'Source Sans Pro', 'Tahoma', Verdana, Geneva, Helvetica, Arial, sans-serif;color:#666;line-height:1.4em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body .small,body small{font-size:.85em}body .italic{font-style:italic}body .bold,body b,body strong{font-weight:600}body h1,body h2,body h3,body h4,body h5,body h6{font-family:'Source Sans Pro', 'Tahoma', Verdana, Geneva, Helvetica, Arial, sans-serif;margin:0;padding:0em}body h1>.icon:not(.button),body h2>.icon:not(.button),body h3>.icon:not(.button),body h4>.icon:not(.button),body h5>.icon:not(.button),body h6>.icon:not(.button){margin-right:.5em;vertical-align:top;font-size:.8em}body h1>.icon:not(.button).right,body h2>.icon:not(.button).right,body h3>.icon:not(.button).right,body h4>.icon:not(.button).right,body h5>.icon:not(.button).right,body h6>.icon:not(.button).right{margin-left:.5em;margin-right:0}body h1{font-size:2.75em;line-height:1.25em;font-weight:300}body h2{font-size:2.25em;line-height:1.25em;font-weight:300}body h3{font-size:1.8em;line-height:1.3em;font-weight:400}body h4{font-size:1.5em;line-height:1.3em;font-weight:400}body h5{font-size:1.25em;line-height:1em;font-weight:400}body h6{font-size:1.1em;line-height:1em;font-weight:600}body h1 .sub,body h2 .sub,body h3 .sub,body h4 .sub,body h5 .sub,body h6 .sub{letter-spacing:normal;display:block;font-weight:400;font-size:.85em;color:#999;margin:0}body h1 .sub.inline,body h2 .sub.inline,body h3 .sub.inline,body h4 .sub.inline,body h5 .sub.inline,body h6 .sub.inline{display:inline-block;vertical-align:baseline;margin-left:1em}body .typeset hr{clear:both}body dl.definition-list dt,body .typeset dl dt{width:10em;font-weight:600;margin-bottom:1em}body dl.definition-list dt:after,body .typeset dl dt:after{content:":"}body dl.definition-list dd,body .typeset dl dd{width:calc(100% - 10em - 2em);font-weight:400;margin:0 0 1em 2em}body dl.definition-list dd,body dl.definition-list dt,body .typeset dl dd,body .typeset dl dt{float:left}body dl.definition-list dd:last-of-type,body dl.definition-list dt:last-of-type,body .typeset dl dd:last-of-type,body .typeset dl dt:last-of-type{margin-bottom:0}body [class*="center aligned"]{text-align:center}body [class*="left aligned"]{text-align:left}body [class*="right aligned"]{text-align:right}body [class*="justify aligned"]{text-align:justify}body .link,body a{cursor:pointer;color:#00b2ed;text-decoration:none}body .link:hover,body .link:active,body a:hover,body a:active{color:#21c8ff;text-decoration:underline}body .link:visited,body a:visited{color:#008cba}body .fancy.link{display:inline-block;vertical-align:baseline;position:relative}body .fancy.link,body .fancy.link:hover,body .fancy.link:active,body .fancy.link:visited{text-decoration:none}body .fancy.link:after{display:block;content:"";position:absolute;width:0%;top:100%;left:0;right:0;margin:0 auto;border-bottom:1px solid #21c8ff;-ms-transition:width .3s ease-out;transition:width .3s ease-out}body .fancy.link:visited:after{border-color:#008cba}body .fancy.link:hover:after{width:100%}body [class*="capitalized sentence"]::first-letter{text-transform:capitalize}body .capitalized:not([class*="capitalized sentence"]){text-transform:capitalize}body .uppercase{text-transform:uppercase}body .typeset h1,body .typeset h2,body .typeset h3,body .typeset h4,body .typeset h5,body .typeset h6{margin:1em 0 0.5em 0}body .typeset h1:first-child{margin-top:0}body .quote,body .typeset blockquote{font-size:1em;font-style:normal;border-left-width:1px;border-left-style:solid;border-left-color:rgba(50,50,50,0.2);margin:1em 0 1em 0;padding:0 0 0 1em}body .quote cite,body .typeset blockquote cite{display:block;font-size:1em;font-style:normal;font-weight:400}body .quote cite:before,body .typeset blockquote cite:before{display:inline-block;content:"\2014 \0020";margin-right:0.25em}body .keyboard.key,body .typeset kbd{display:inline-block;font-family:monospace;font-size:.9em;color:#666;background:#EFEFEF;border-radius:3px;border:1px solid #d6d6d6;padding:.25em .5em .25em .5em;box-shadow:0 2px 0 2px #bcbcbc;margin-left:2px;margin-right:2px}body .list,body .typeset ul,body .typeset ol{list-style:none}body .input.grey[class*="with addon"]>.addon{background-color:#666;border-color:#666;color:#fff;text-shadow:0 1px 1px #404040}body .input.light[class*="with addon"]>.addon{background-color:#CCC;border-color:#CCC;color:#666}body .input.primary[class*="with addon"]>.addon{background-color:#FFC900;border-color:#FFC900;color:#666}body .input.secondary[class*="with addon"]>.addon{background-color:#F60;border-color:#F60;color:#fff;text-shadow:0 1px 1px #b34700}body .input.red[class*="with addon"]>.addon{background-color:#F60;border-color:#F60;color:#fff;text-shadow:0 1px 1px #b34700}body .input.orange[class*="with addon"]>.addon{background-color:#F90;border-color:#F90;color:#fff;text-shadow:0 1px 1px #b36b00}body .input.green[class*="with addon"]>.addon{background-color:#5cb85c;border-color:#5cb85c;color:#fff;text-shadow:0 1px 1px #3d8b3d}body .input.yellow[class*="with addon"]>.addon{background-color:#FFC900;border-color:#FFC900;color:#666}body .input,body .checkbox,body .radio,body luid-timespan,body luid-moment{position:relative;display:inline-block;vertical-align:middle;-ms-flex-align:center;align-items:center}html:not(.ie9) body .input,html:not(.ie9) body .checkbox,html:not(.ie9) body .radio,html:not(.ie9) body luid-timespan,html:not(.ie9) body luid-moment{display:-ms-inline-flexbox;display:inline-flex}.ie9 body .input,.ie9 body .checkbox,.ie9 body .radio,.ie9 body luid-timespan,.ie9 body luid-moment{overflow:hidden}body .input>input,body .input>textarea,body .input>select,body .search.input.tagged,body luid-timespan>input,body luid-moment>.luid-moment{width:100%;border-radius:3px;border:1px solid #CCC;background:#fff;color:#666;font-weight:normal}body .input>input:focus,body .input>textarea:focus,body .input>select:focus,body .search.input.tagged:focus,body luid-timespan>input:focus,body luid-moment>.luid-moment:focus,body .input>input:active,body .input>textarea:active,body .input>select:active,body .search.input.tagged:active,body luid-timespan>input:active,body luid-moment>.luid-moment:active{outline:0;outline:none;border-color:#a6a6a6}body .input>input,body .search.input.tagged,body luid-timespan>input{padding:0 1em 0 1em;line-height:2.32em;min-height:2.32em;display:inline-block;-ms-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box;width:100%}.ie9 body .input>input,.ie9 body .search.input.tagged,.ie9 body luid-timespan>input{width:auto}body .input>input[type="checkbox"]{width:auto}body .input>input,body .input>textarea{cursor:text}body .input>input[type="checkbox"]{cursor:pointer}body .input>textarea{padding:.66em 1em .66em 1em}body .input>select{padding:.33em 1em .33em 1em}body .fitting.input{width:100%}body .x-short.input>input,body .x-short.field>input{min-width:0;width:5em !important}body .short.input>input,body .short.field>input{min-width:0;width:8em !important}body .medium.input>input,body .medium.field>input{min-width:0;width:15em !important}body .long.input>input,body .long.field>input{min-width:0;width:20em !important}body .x-long.input>input,body .x-long.field>input{min-width:0;width:25em !important}body .input.icon>input{padding-left:2.5em}body .input.icon .icon{position:absolute;z-index:2;top:0;bottom:0;height:100%;left:0;width:2.5em;margin-right:0.5em}body .input.icon .icon:before{position:absolute;top:50%;left:0;right:0;-ms-transform:translate(0, -50%);transform:translate(0, -50%)}body .input.icon[class*="left icon"]>input{padding-left:0;padding-right:2.5em}body .input.icon[class*="left icon"] .icon{left:auto;right:0;margin-right:0;margin-left:0.5em}body .input[class*="with addon"]>.addon{display:inline-block;position:relative;z-index:2;vertical-align:middle;border:1px solid #CCC;padding:0 1em 0 1em;background:#fff;line-height:2.32em;box-sizing:border-box}body .input[class*="with addon"]:not(.addons)>.addon:not([class*="right addon"]),body .input[class*="with addon"].addons>.addon:first-child{border-right:none;border-radius:3px 0 0 3px}body .input[class*="with addon"]:not(.addons)>.addon:not([class*="right addon"])+input,body .input[class*="with addon"].addons>.addon:first-child+input{border-radius:0 3px 3px 0}body .input[class*="with addon"]:not(.addons)>[class*="right addon"],body .input[class*="with addon"].addons .addon:last-child{border-radius:0 3px 3px 0;margin-left:-3px}body .input[class*="with addon"].addons>input{border-radius:0 !important}body .input[class*="with addon"] .addon.button{border:0;margin:0;min-width:inherit}body .input[class*="with addon"] .addon.button:not(.right){border-top-right-radius:0;border-bottom-right-radius:0}body .input[class*="with addon"] .addon.button.right{border-top-left-radius:0;border-bottom-left-radius:0}body .field,body .fields{margin:0.5em 0}body .field{vertical-align:middle;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:flex-start;-ms-flex-align:start;align-items:flex-start}html:not(.ie9) body .field{display:-ms-inline-flexbox;display:inline-flex}body .field>.input{width:100%}body .field>label+.input,body .field>.input+label{margin-top:0.25em}body .field.fitting{width:100%;display:-ms-flexbox;display:flex;display:flex !important}body .field>label{white-space:pre;font-weight:600}body .field>label,body .field>.input{display:block}body .field.invalid>label{color:#F60}body .fields .field:not(:last-of-type){padding-right:1em}@media (max-width: 768px){body .fields>.field{width:100% !important;padding-right:0 !important}}body .inline.field,body .inline.fields>.field{-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center}body .inline.field>label+.input,body .inline.field>.input+label,body .inline.fields>.field>label+.input,body .inline.fields>.field>.input+label{margin-left:0.5em}body .input.x-small{font-size:.7em}body .input.small{font-size:.85em}body .input.regular{font-size:13px}body .input.large{font-size:1.25em}body .input.x-large{font-size:1.5em}body .field.invalid>.input,body .field.invalid>.input>input,body .field.invalid>.input>select,body .field.invalid>.input>textarea,body .input.invalid,body .input.invalid>input,body .input.invalid>select,body .input.invalid>textarea,body .input.ng-invalid,body .input.ng-invalid>input,body .input.ng-invalid>select,body .input.ng-invalid>textarea,body luid-timespan.invalid>input,body luid-timespan.ng-invalid>input,body luid-moment.invalid .luid-moment,body luid-moment.ng-invalid .luid-moment{color:#F60;border-color:#F60}body .search.input:before{font-family:"lucca-icons";display:inline-block;vertical-align:middle;font-style:normal;content:"";margin-right:.5em}body .search.input>input{padding-left:2.5em}body .search.input.searching{display:inline-block;position:relative}body .search.input.searching:before,body .search.input.searching:after{box-sizing:border-box;display:block;content:"";width:1em;height:1em;border-radius:50%;border-width:2px;border-style:solid}body .search.input.searching:after{position:absolute;animation-name:spin;animation-iteration-count:infinite;top:50%;margin-top:-.5em;left:50%;margin-left:-.5em;animation-timing-function:linear}body .search.input.searching:before{border-color:rgba(0,0,0,0.25)}body .search.input.searching:after{border-color:rgba(0,0,0,0.5) transparent transparent transparent}.ie9 body .search.input.searching:before{border:none}.ie9 body .search.input.searching:after{border:none;margin:0;background:transparent url("../../../dist/ie_fallback_spinner.gif") no-repeat center center;background-size:contain}body .search.input.searching:after{margin-left:0;left:1em}body .search.input:before,body .search.input:after{cursor:text;display:inline-block;position:absolute;top:50%;left:1em;-ms-transform:translate(0, -50%);transform:translate(0, -50%)}body .search.input i.empty{font-style:normal;cursor:pointer;font-size:7px;width:16px;height:16px;text-align:center;border-radius:50%;right:1em;background:#CCC;color:#FFF}body .search.input i.empty:before{font-family:"lucca-icons";display:inline-block;vertical-align:middle;font-style:normal;content:"";margin-right:.5em}body .search.input i.empty,body .search.input i.empty:before{position:absolute;top:50%;transform:translateY(-50%)}body .search.input i.empty:before{right:0.6em;margin:0}body .search.input.tagged{display:-ms-flexbox;display:flex;padding-left:2.5em}body .search.input.tagged>input{display:inline-block;border:none;width:auto;padding-left:0;padding-right:0;min-width:15em;-ms-flex:1 1 0%;flex:1 1 0%}body .search.input.tagged .tag{display:inline-block;line-height:1;font-weight:600;padding:0.25em 0.5em;margin:.1em;background-color:#f2f2f2;border:1px solid #CCC;border-radius:3px}body .search.input.tagged .tag.selected{border-color:#FFC900}body .search.input.tagged .tag a.close{display:inline-block;vertical-align:middle;color:gray;font-size:0.5em;padding:0.25em;margin-top:-0.1em}body .search.input.tagged .tag a.close:after{font-family:"lucca-icons";display:inline-block;vertical-align:middle;font-style:normal;content:"";margin-left:.5em}.ie9 body .search.input{display:table;table-layout:auto;width:100% !important}.ie9 body .search.input>input,.ie9 body .search.input>.tags{display:table-cell}.ie9 body .search.input .tags{width:1%;white-space:nowrap}.ie9 body .search.input>input{width:100%}body .switch.input{display:inline-block;vertical-align:middle;position:relative;width:4.5em;height:2.25em}body .switch.input input{position:absolute;top:0;bottom:0;right:0;left:0;z-index:3;width:100%;height:100%;cursor:pointer;opacity:0;margin:0}body .switch.input label{display:block;width:100%;height:100%;position:relative;background:#666;color:#404040;-ms-transition:all .3s ease-out;transition:all .3s ease-out}body .switch.input label:before{font-family:"lucca-icons";display:inline-block;vertical-align:middle;font-style:normal;content:"";margin-right:.5em}body .switch.input label:after{font-family:"lucca-icons";display:inline-block;vertical-align:middle;font-style:normal;content:"";margin-left:.5em}body .switch.input label:before,body .switch.input label:after{display:block;position:absolute;top:50%;-ms-transform:translateY(-50%);transform:translateY(-50%);z-index:1}body .switch.input label:before{left:0.5em}body .switch.input label:after{right:0.5em}body .switch.input label span{background:#fff;display:block;position:absolute;top:0;bottom:0;left:0.5em;right:0;height:1.5em;width:1.5em;margin:auto 0;z-index:2;-ms-transition:all .3s ease-out;transition:all .3s ease-out}body .switch.input label span:before{position:absolute;top:0;bottom:0;left:0;right:0;content:'';display:block;height:50%;width:0.1em;background:#CCC;box-shadow:-0.2em 0 0 0 #CCC,0.2em 0 0 0 #CCC;margin:auto;-ms-transition:all .3s ease-out;transition:all .3s ease-out}body .switch.input input:checked ~ label{background:#FFC900;color:#b38d00}body .switch.input input:checked ~ label span{left:2.5em}body .checkbox{display:inline-block;vertical-align:middle;position:relative;line-height:1}body .checkbox input,body .checkbox label{margin:0}body .checkbox input[type="checkbox"]{position:absolute;left:0;top:0;z-index:2;width:100%;height:100%;cursor:pointer;opacity:0}body .checkbox label{color:#666;display:block;position:relative;padding:0;padding-left:2.5em;line-height:1.5em}body .checkbox label:before{font-family:"lucca-icons";display:inline-block;vertical-align:middle;font-style:normal;content:"";margin-right:.5em}body .checkbox label:before{position:absolute;top:50%;transform:translateY(-50%);left:0;display:inline-block;font-size:1.5em;color:#CCC}body .checkbox label:after{display:inline-block;content:""}body .checkbox input:checked ~ label:before{font-family:"lucca-icons";display:inline-block;vertical-align:middle;font-style:normal;content:"";margin-right:.5em}body .checkbox input:checked ~ label:before{color:#FFC900}body .checkbox input.partial:checked ~ label:before{font-family:"lucca-icons";display:inline-block;vertical-align:middle;font-style:normal;content:"";margin-right:.5em}body .checkbox+label{margin-left:1em}body .checkbox.readonly label,body .checkbox.readonly input{cursor:default}body .checkbox.readonly input{display:none}body .checkbox.fitting{float:left;clear:both}body .checkbox.solo label{padding-left:1.5em}body .checkbox.icon[class*="checkbox checked"]:before{color:#FFC900}body .checkbox.icon:before{font-size:1.5em;color:#CCC}body .checkbox.icon.button{padding:0.25em}body .checkbox.icon.button:before{margin:auto}body .radio{display:inline-block;margin-right:2em;vertical-align:middle;position:relative;line-height:1}body .radio input,body .radio label{margin:0}body .radio input[type="radio"]{position:absolute;left:0;top:0;z-index:2;width:100%;height:100%;cursor:pointer;opacity:0}body .radio label{color:#666;display:block;position:relative;padding:0;padding-left:2.5em;line-height:1.5}body .radio label:before{font-family:"lucca-icons";display:inline-block;vertical-align:middle;font-style:normal;content:"";margin-right:.5em}body .radio label:before,body .radio label:after{position:absolute;top:50%;transform:translateY(-50%);left:0;display:inline-block;font-size:1.5em;color:#CCC}body .radio input:checked ~ label:before{font-family:"lucca-icons";display:inline-block;vertical-align:middle;font-style:normal;content:"";margin-right:.5em}body .radio input:checked ~ label:before{color:#FFC900}body .radio+label{margin-left:1em}body .radio.readonly label,body .radio.readonly input{cursor:default}body .radio.readonly input{display:none}body .radio.fitting{float:left;clear:both}body .radio.icon[class*="radio checked"]:before{color:#FFC900}body .radio.icon:before{font-size:1.5em;color:#CCC}body .radio.icon.button{padding:0.25em}body .radio.icon.button:before{margin:auto}body luid-timespan>input{width:5em}body .inline.field label+luid-timespan{margin-left:0.5em}body luid-moment{max-width:5.25em;overflow:visible !important}body luid-moment>.luid-moment{padding:0 !important}body luid-moment:active,body luid-moment:focus{box-shadow:none}body luid-moment input{box-sizing:border-box;line-height:2.32em;display:inline-block;background-color:transparent;border:none;width:2.2em;height:2.32em}body luid-moment input:first-child{padding-left:1em}body luid-moment input:last-child{padding-right:1em}body luid-moment input:focus,body luid-moment input:active{outline:none;box-shadow:none}body luid-moment input:nth-child(1){text-align:right}body luid-moment .mp-button{line-height:1.5em;font-size:75%;position:absolute;z-index:999;cursor:pointer;width:50%;text-align:center;color:#FFF;background-color:#CCC}body luid-moment .mp-button.top{bottom:100%}body luid-moment .mp-button.bottom{top:100%}body luid-moment .mp-button.left{left:0}body luid-moment .mp-button.right{right:0}body luid-moment.invalid .luid-moment .mp-button,body luid-moment.ng-invalid .luid-moment .mp-button{background-color:#F60 !important}body .inline.field label+luid-moment{margin-left:0.5em}body .luid-translations{display:inline-block;position:relative}body .luid-translations .luid-translations-dropdown{position:absolute;z-index:3;top:100%;left:-1px;right:-1px;-ms-flex-direction:column;flex-direction:column;visibility:hidden}html:not(.ie9) body .luid-translations .luid-translations-dropdown{display:-ms-inline-flexbox;display:inline-flex}body .luid-translations .luid-translations-dropdown>.input:not(:last-child){margin-bottom:0.5em}body .luid-translations.open,body .luid-translations .luid-translations-dropdown{background-color:#fff;padding:.5em;border:1px solid #CCC}body .luid-translations.open{margin:calc(-.5em - 1px);border-bottom:none}body .luid-translations.open .luid-translations-dropdown{border-top:none;visibility:visible;animation-name:upSlideIn}.ie9 body .luid-translations.open .luid-translations-dropdown{display:block;opacity:1;height:auto}body .luid-translations.x-short input{min-width:5em !important}body .luid-translations.short input{min-width:8em !important}body .luid-translations.medium input{min-width:15em !important}body .luid-translations.long input{min-width:20em !important}body .luid-translations.x-long input{min-width:25em !important}body .luid-translations.fitting{display:block}body .luid-translations.fitting>.input{width:100%;display:-ms-flexbox;display:flex;display:flex !important}body .button,body .button.fake{line-height:1;display:inline-block;vertical-align:middle;box-sizing:border-box;min-height:1em;min-width:3em;padding:.66em 1em;margin:.25em .25em;white-space:nowrap}body .button{text-transform:normal;text-shadow:none;text-align:center;box-shadow:0 0 0 1px rgba(50,50,50,0.2) inset;border-radius:3px;transition-property:background,box-shadow,color;-moz-transition-duration:.3s;-o-transition-duration:.3s;-webkit-transition-duration:.3s;transition-duration:.3s;-moz-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}body a.button,body a.button:hover,body a.button:active,body a.button:visited{color:#666;text-decoration:none}body .button.disabled,body .button[disabled]{opacity:.5;-webkit-filter:grayscale(50%);filter:grayscale(50%);cursor:normal;pointer-events:none}body .button:not(.wired):hover{box-shadow:0 0 0 1px rgba(50,50,50,0.2) inset,0 1px 2px 0 rgba(0, 0, 0, 0.2)}body .button:not(.wired):active,body .button:not(.wired).active{box-shadow:0 0 0 1px rgba(50,50,50,0.2) inset}body .button.inverted{background:transparent;box-shadow:0 0 0 2px rgba(200,200,200,0.75) inset;color:rgba(200,200,200,0.75)}body .button.wired[class*="with addon"]>.addon{background-color:transparent}body .button.wired[class*="with addon"]:hover>.addon{border-width:2px}body .button.flat{background-color:transparent;color:#666;text-decoration:underline;box-shadow:none}body .button.flat:hover,body .button.flat:active,body .button.flat.active{background:rgba(0,0,0,0.1);box-shadow:0 0 0 1px rgba(50,50,50,0.1)}body .button.flat:hover{background:rgba(0,0,0,0.05)}body .button.flat:active{background:rgba(0,0,0,0.1)}body .button.flat:before,body .button.flat:after{text-decoration:none}body .button.flat.icon{text-decoration:none}body .button.flat[class*="with addon"]>.addon,body .button.flat[class*="with addons"]>.addon{border-right:none !important;background-color:transparent}body .button.flat.inverted{color:rgba(200,200,200,0.75)}body .button.flat.inverted:hover{background:rgba(200,200,200,0.1)}body .button.flat.inverted:active{background:rgba(255,255,255,0.25)}body .button:not(.inverted):not(.flat):not(.filling):not(.wired){background:#fff;color:#666}body .button:not(.inverted):not(.flat):not(.filling):not(.wired):hover{background:#fff}body .button:not(.inverted):not(.flat):not(.filling):not(.wired):active,body .button:not(.inverted):not(.flat):not(.filling):not(.wired).active{background:#f2f2f2}body .button.inverted:not(.flat){background:transparent}body .button.inverted:not(.flat):hover{box-shadow:0 0 0 2px #fff inset;color:#fff}body .button.inverted:not(.flat).filling:hover{color:#666}body .button.inverted:not(.flat)[class*="with addon"]>.addon{border-color:#fff}body .button.filling:hover,body .button.filling:active,body .button.filling.active{background:#fff;color:#666}body .button.wired{background:transparent}body .button.wired:not(.inverted):hover,body .button.wired:not(.inverted):active,body .button.wired:not(.inverted).active{box-shadow:0 0 0 2px #fff inset;color:#fff}body .button.wired:not(.inverted):hover[class*="with addon"]>.addon,body .button.wired:not(.inverted):active[class*="with addon"]>.addon,body .button.wired:not(.inverted).active[class*="with addon"]>.addon{border-color:#fff}body .button.status.ok:after,body .button.status.ok>.addon:after,body .button.status.failure:after,body .button.status.failure>.addon:after{color:#666 !important}body .button.grey:not(.inverted):not(.flat):not(.filling):not(.wired){background:#666;color:#fff}body .button.grey:not(.inverted):not(.flat):not(.filling):not(.wired):hover{background:#737373}body .button.grey:not(.inverted):not(.flat):not(.filling):not(.wired):active,body .button.grey:not(.inverted):not(.flat):not(.filling):not(.wired).active{background:#595959}body .button.grey.inverted:not(.flat){background:transparent}body .button.grey.inverted:not(.flat):hover{box-shadow:0 0 0 2px #666 inset;color:#666}body .button.grey.inverted:not(.flat).filling:hover{color:#fff}body .button.grey.inverted:not(.flat)[class*="with addon"]>.addon{border-color:#666}body .button.grey.filling:hover,body .button.grey.filling:active,body .button.grey.filling.active{background:#666;color:#fff}body .button.grey.wired{background:transparent}body .button.grey.wired:not(.inverted):hover,body .button.grey.wired:not(.inverted):active,body .button.grey.wired:not(.inverted).active{box-shadow:0 0 0 2px #666 inset;color:#666}body .button.grey.wired:not(.inverted):hover[class*="with addon"]>.addon,body .button.grey.wired:not(.inverted):active[class*="with addon"]>.addon,body .button.grey.wired:not(.inverted).active[class*="with addon"]>.addon{border-color:#666}body .button.grey.status.ok:after,body .button.grey.status.ok>.addon:after,body .button.grey.status.failure:after,body .button.grey.status.failure>.addon:after{color:#fff !important}body .button.grey.status.loading:not([class*="with addon"]):before,body .button.grey.status.loading[class*="with addon"]>.addon:before{border-color:rgba(255,255,255,0.25)}body .button.grey.status.loading:not([class*="with addon"]):after,body .button.grey.status.loading[class*="with addon"]>.addon:after{border-color:rgba(255,255,255,0.75) transparent transparent transparent}body .button.light:not(.inverted):not(.flat):not(.filling):not(.wired){background:#CCC;color:#666}body .button.light:not(.inverted):not(.flat):not(.filling):not(.wired):hover{background:#d9d9d9}body .button.light:not(.inverted):not(.flat):not(.filling):not(.wired):active,body .button.light:not(.inverted):not(.flat):not(.filling):not(.wired).active{background:#bfbfbf}body .button.light.inverted:not(.flat){background:transparent}body .button.light.inverted:not(.flat):hover{box-shadow:0 0 0 2px #CCC inset;color:#CCC}body .button.light.inverted:not(.flat).filling:hover{color:#666}body .button.light.inverted:not(.flat)[class*="with addon"]>.addon{border-color:#CCC}body .button.light.filling:hover,body .button.light.filling:active,body .button.light.filling.active{background:#CCC;color:#666}body .button.light.wired{background:transparent}body .button.light.wired:not(.inverted):hover,body .button.light.wired:not(.inverted):active,body .button.light.wired:not(.inverted).active{box-shadow:0 0 0 2px #CCC inset;color:#CCC}body .button.light.wired:not(.inverted):hover[class*="with addon"]>.addon,body .button.light.wired:not(.inverted):active[class*="with addon"]>.addon,body .button.light.wired:not(.inverted).active[class*="with addon"]>.addon{border-color:#CCC}body .button.light.status.ok:after,body .button.light.status.ok>.addon:after,body .button.light.status.failure:after,body .button.light.status.failure>.addon:after{color:#666 !important}body .button.primary:not(.inverted):not(.flat):not(.filling):not(.wired){background:#FFC900;color:#666}body .button.primary:not(.inverted):not(.flat):not(.filling):not(.wired):hover{background:#ffce1a}body .button.primary:not(.inverted):not(.flat):not(.filling):not(.wired):active,body .button.primary:not(.inverted):not(.flat):not(.filling):not(.wired).active{background:#e6b500}body .button.primary.inverted:not(.flat){background:transparent}body .button.primary.inverted:not(.flat):hover{box-shadow:0 0 0 2px #FFC900 inset;color:#FFC900}body .button.primary.inverted:not(.flat).filling:hover{color:#666}body .button.primary.inverted:not(.flat)[class*="with addon"]>.addon{border-color:#FFC900}body .button.primary.filling:hover,body .button.primary.filling:active,body .button.primary.filling.active{background:#FFC900;color:#666}body .button.primary.wired{background:transparent}body .button.primary.wired:not(.inverted):hover,body .button.primary.wired:not(.inverted):active,body .button.primary.wired:not(.inverted).active{box-shadow:0 0 0 2px #FFC900 inset;color:#FFC900}body .button.primary.wired:not(.inverted):hover[class*="with addon"]>.addon,body .button.primary.wired:not(.inverted):active[class*="with addon"]>.addon,body .button.primary.wired:not(.inverted).active[class*="with addon"]>.addon{border-color:#FFC900}body .button.primary.status.ok:after,body .button.primary.status.ok>.addon:after,body .button.primary.status.failure:after,body .button.primary.status.failure>.addon:after{color:#666 !important}body .button.secondary:not(.inverted):not(.flat):not(.filling):not(.wired){background:#F60;color:#fff}body .button.secondary:not(.inverted):not(.flat):not(.filling):not(.wired):hover{background:#ff751a}body .button.secondary:not(.inverted):not(.flat):not(.filling):not(.wired):active,body .button.secondary:not(.inverted):not(.flat):not(.filling):not(.wired).active{background:#e65c00}body .button.secondary.inverted:not(.flat){background:transparent}body .button.secondary.inverted:not(.flat):hover{box-shadow:0 0 0 2px #F60 inset;color:#F60}body .button.secondary.inverted:not(.flat).filling:hover{color:#fff}body .button.secondary.inverted:not(.flat)[class*="with addon"]>.addon{border-color:#F60}body .button.secondary.filling:hover,body .button.secondary.filling:active,body .button.secondary.filling.active{background:#F60;color:#fff}body .button.secondary.wired{background:transparent}body .button.secondary.wired:not(.inverted):hover,body .button.secondary.wired:not(.inverted):active,body .button.secondary.wired:not(.inverted).active{box-shadow:0 0 0 2px #F60 inset;color:#F60}body .button.secondary.wired:not(.inverted):hover[class*="with addon"]>.addon,body .button.secondary.wired:not(.inverted):active[class*="with addon"]>.addon,body .button.secondary.wired:not(.inverted).active[class*="with addon"]>.addon{border-color:#F60}body .button.secondary.status.ok:after,body .button.secondary.status.ok>.addon:after,body .button.secondary.status.failure:after,body .button.secondary.status.failure>.addon:after{color:#fff !important}body .button.secondary.status.loading:not([class*="with addon"]):before,body .button.secondary.status.loading[class*="with addon"]>.addon:before{border-color:rgba(255,255,255,0.25)}body .button.secondary.status.loading:not([class*="with addon"]):after,body .button.secondary.status.loading[class*="with addon"]>.addon:after{border-color:rgba(255,255,255,0.75) transparent transparent transparent}body .button.red:not(.inverted):not(.flat):not(.filling):not(.wired){background:#F60;color:#fff}body .button.red:not(.inverted):not(.flat):not(.filling):not(.wired):hover{background:#ff751a}body .button.red:not(.inverted):not(.flat):not(.filling):not(.wired):active,body .button.red:not(.inverted):not(.flat):not(.filling):not(.wired).active{background:#e65c00}body .button.red.inverted:not(.flat){background:transparent}body .button.red.inverted:not(.flat):hover{box-shadow:0 0 0 2px #F60 inset;color:#F60}body .button.red.inverted:not(.flat).filling:hover{color:#fff}body .button.red.inverted:not(.flat)[class*="with addon"]>.addon{border-color:#F60}body .button.red.filling:hover,body .button.red.filling:active,body .button.red.filling.active{background:#F60;color:#fff}body .button.red.wired{background:transparent}body .button.red.wired:not(.inverted):hover,body .button.red.wired:not(.inverted):active,body .button.red.wired:not(.inverted).active{box-shadow:0 0 0 2px #F60 inset;color:#F60}body .button.red.wired:not(.inverted):hover[class*="with addon"]>.addon,body .button.red.wired:not(.inverted):active[class*="with addon"]>.addon,body .button.red.wired:not(.inverted).active[class*="with addon"]>.addon{border-color:#F60}body .button.red.status.ok:after,body .button.red.status.ok>.addon:after,body .button.red.status.failure:after,body .button.red.status.failure>.addon:after{color:#fff !important}body .button.red.status.loading:not([class*="with addon"]):before,body .button.red.status.loading[class*="with addon"]>.addon:before{border-color:rgba(255,255,255,0.25)}body .button.red.status.loading:not([class*="with addon"]):after,body .button.red.status.loading[class*="with addon"]>.addon:after{border-color:rgba(255,255,255,0.75) transparent transparent transparent}body .button.orange:not(.inverted):not(.flat):not(.filling):not(.wired){background:#F90;color:#fff}body .button.orange:not(.inverted):not(.flat):not(.filling):not(.wired):hover{background:#ffa31a}body .button.orange:not(.inverted):not(.flat):not(.filling):not(.wired):active,body .button.orange:not(.inverted):not(.flat):not(.filling):not(.wired).active{background:#e68a00}body .button.orange.inverted:not(.flat){background:transparent}body .button.orange.inverted:not(.flat):hover{box-shadow:0 0 0 2px #F90 inset;color:#F90}body .button.orange.inverted:not(.flat).filling:hover{color:#fff}body .button.orange.inverted:not(.flat)[class*="with addon"]>.addon{border-color:#F90}body .button.orange.filling:hover,body .button.orange.filling:active,body .button.orange.filling.active{background:#F90;color:#fff}body .button.orange.wired{background:transparent}body .button.orange.wired:not(.inverted):hover,body .button.orange.wired:not(.inverted):active,body .button.orange.wired:not(.inverted).active{box-shadow:0 0 0 2px #F90 inset;color:#F90}body .button.orange.wired:not(.inverted):hover[class*="with addon"]>.addon,body .button.orange.wired:not(.inverted):active[class*="with addon"]>.addon,body .button.orange.wired:not(.inverted).active[class*="with addon"]>.addon{border-color:#F90}body .button.orange.status.ok:after,body .button.orange.status.ok>.addon:after,body .button.orange.status.failure:after,body .button.orange.status.failure>.addon:after{color:#fff !important}body .button.orange.status.loading:not([class*="with addon"]):before,body .button.orange.status.loading[class*="with addon"]>.addon:before{border-color:rgba(255,255,255,0.25)}body .button.orange.status.loading:not([class*="with addon"]):after,body .button.orange.status.loading[class*="with addon"]>.addon:after{border-color:rgba(255,255,255,0.75) transparent transparent transparent}body .button.green:not(.inverted):not(.flat):not(.filling):not(.wired){background:#5cb85c;color:#fff}body .button.green:not(.inverted):not(.flat):not(.filling):not(.wired):hover{background:#6ec06e}body .button.green:not(.inverted):not(.flat):not(.filling):not(.wired):active,body .button.green:not(.inverted):not(.flat):not(.filling):not(.wired).active{background:#4cae4c}body .button.green.inverted:not(.flat){background:transparent}body .button.green.inverted:not(.flat):hover{box-shadow:0 0 0 2px #5cb85c inset;color:#5cb85c}body .button.green.inverted:not(.flat).filling:hover{color:#fff}body .button.green.inverted:not(.flat)[class*="with addon"]>.addon{border-color:#5cb85c}body .button.green.filling:hover,body .button.green.filling:active,body .button.green.filling.active{background:#5cb85c;color:#fff}body .button.green.wired{background:transparent}body .button.green.wired:not(.inverted):hover,body .button.green.wired:not(.inverted):active,body .button.green.wired:not(.inverted).active{box-shadow:0 0 0 2px #5cb85c inset;color:#5cb85c}body .button.green.wired:not(.inverted):hover[class*="with addon"]>.addon,body .button.green.wired:not(.inverted):active[class*="with addon"]>.addon,body .button.green.wired:not(.inverted).active[class*="with addon"]>.addon{border-color:#5cb85c}body .button.green.status.ok:after,body .button.green.status.ok>.addon:after,body .button.green.status.failure:after,body .button.green.status.failure>.addon:after{color:#fff !important}body .button.green.status.loading:not([class*="with addon"]):before,body .button.green.status.loading[class*="with addon"]>.addon:before{border-color:rgba(255,255,255,0.25)}body .button.green.status.loading:not([class*="with addon"]):after,body .button.green.status.loading[class*="with addon"]>.addon:after{border-color:rgba(255,255,255,0.75) transparent transparent transparent}body .button.yellow:not(.inverted):not(.flat):not(.filling):not(.wired){background:#FFC900;color:#666}body .button.yellow:not(.inverted):not(.flat):not(.filling):not(.wired):hover{background:#ffce1a}body .button.yellow:not(.inverted):not(.flat):not(.filling):not(.wired):active,body .button.yellow:not(.inverted):not(.flat):not(.filling):not(.wired).active{background:#e6b500}body .button.yellow.inverted:not(.flat){background:transparent}body .button.yellow.inverted:not(.flat):hover{box-shadow:0 0 0 2px #FFC900 inset;color:#FFC900}body .button.yellow.inverted:not(.flat).filling:hover{color:#666}body .button.yellow.inverted:not(.flat)[class*="with addon"]>.addon{border-color:#FFC900}body .button.yellow.filling:hover,body .button.yellow.filling:active,body .button.yellow.filling.active{background:#FFC900;color:#666}body .button.yellow.wired{background:transparent}body .button.yellow.wired:not(.inverted):hover,body .button.yellow.wired:not(.inverted):active,body .button.yellow.wired:not(.inverted).active{box-shadow:0 0 0 2px #FFC900 inset;color:#FFC900}body .button.yellow.wired:not(.inverted):hover[class*="with addon"]>.addon,body .button.yellow.wired:not(.inverted):active[class*="with addon"]>.addon,body .button.yellow.wired:not(.inverted).active[class*="with addon"]>.addon{border-color:#FFC900}body .button.yellow.status.ok:after,body .button.yellow.status.ok>.addon:after,body .button.yellow.status.failure:after,body .button.yellow.status.failure>.addon:after{color:#666 !important}body .buttons{display:inline-block;vertical-align:middle;margin:.25em 0}body .buttons+.buttons{margin-left:1em}body .buttons>.button{float:left;margin:0;margin-left:-1px;-ms-flex-item-align:stretch !important;align-self:stretch !important;border-radius:0}body .buttons>.button.wired:hover{position:relative;z-index:2}body .buttons>.button:first-child{border-radius:3px 0 0 3px}body .buttons>.button:last-child{border-radius:0 3px 3px 0}body .buttons>.buttons{margin:0}html:not(.ie9) body .buttons{display:-ms-inline-flexbox;display:inline-flex}.ie9 body .buttons{display:inline-table}.ie9 body .buttons>.button{display:table-cell}body .buttons.vertical{-ms-flex-direction:column;flex-direction:column}body .buttons.vertical>.button{float:none;display:block;border-radius:0;margin-top:-1px}body .buttons.vertical>.button:first-child{border-radius:3px 3px 0 0}body .buttons.vertical>.button:last-child{border-radius:0 0 3px 3px}body .button.squared,body .buttons.squared>.button{border-radius:0}body .buttons.justified{width:100%}.ie9 body .buttons.justified{display:table;table-layout:fixed}.ie9 body .buttons.justified>.button{display:table-cell;text-align:center}body .buttons.justified>.button{float:none;-ms-flex:1 1 auto;flex:1 1 auto}body .button.icon:before{display:inline-block}body .button .icon{margin-right:0.5em}body .button .icon[class*="right icon"]{margin-left:0.5em;margin-right:0}body .button[class*="with addon"]{position:relative}body .button[class*="with addon"]>.addon{position:absolute;z-index:1;top:0;bottom:0;width:2.5em;height:100%;margin:0;background:rgba(0,0,0,0.1);-ms-transition:border .3s ease-out;transition:border .3s ease-out}body .button[class*="with addon"]>.addon.icon:before{position:absolute;top:50%;left:50%;-ms-transform:translate(-50%, -50%);transform:translate(-50%, -50%)}body .button[class*="with addon"]:not(.right){padding-left:3.5em}body .button[class*="with addon"]:not(.right)>.addon{left:0;border-right:1px solid rgba(50,50,50,0.2)}body .button[class*="with addon"].right{padding-right:3.5em}body .button[class*="with addon"].right>.addon{right:0;border-left:1px rgba(50,50,50,0.2)}body .button.status{position:relative}body .button.status:not([class*="with addon"]),body .button.status[class*="with addon"]>.addon:before{color:transparent !important}body .button.status[class*="with addon"].loading>.addon,body .button.status:not([class*="with addon"]).loading{display:inline-block;position:relative}body .button.status[class*="with addon"].loading>.addon:before,body .button.status[class*="with addon"].loading>.addon:after,body .button.status:not([class*="with addon"]).loading:before,body .button.status:not([class*="with addon"]).loading:after{box-sizing:border-box;display:block;content:"";width:1em;height:1em;border-radius:50%;border-width:2px;border-style:solid}body .button.status[class*="with addon"].loading>.addon:after,body .button.status:not([class*="with addon"]).loading:after{position:absolute;animation-name:spin;animation-iteration-count:infinite;top:50%;margin-top:-.5em;left:50%;margin-left:-.5em;animation-timing-function:linear}body .button.status[class*="with addon"].loading>.addon:before,body .button.status:not([class*="with addon"]).loading:before{border-color:rgba(0,0,0,0.25)}body .button.status[class*="with addon"].loading>.addon:after,body .button.status:not([class*="with addon"]).loading:after{border-color:rgba(0,0,0,0.5) transparent transparent transparent}.ie9 body .button.status[class*="with addon"].loading>.addon:before,.ie9 body .button.status:not([class*="with addon"]).loading:before{border:none}.ie9 body .button.status[class*="with addon"].loading>.addon:after,.ie9 body .button.status:not([class*="with addon"]).loading:after{border:none;margin:0;background:transparent url("../../../dist/ie_fallback_spinner.gif") no-repeat center center;background-size:contain}body .button.status[class*="with addon"].ok>.addon:after,body .button.status:not([class*="with addon"]).ok:after{font-family:"lucca-icons";display:inline-block;vertical-align:middle;font-style:normal;content:"";margin-left:.5em}body .button.status[class*="with addon"].failure>.addon:after,body .button.status:not([class*="with addon"]).failure:after{font-family:"lucca-icons";display:inline-block;vertical-align:middle;font-style:normal;content:"";margin-left:.5em}body .button.status[class*="with addon"]>.addon{position:absolute !important}body .button.status.loading:not([class*="with addon"]):not(.icon):before,body .button.status.ok:not([class*="with addon"]):after,body .button.status.ok[class*="with addon"]>.addon:after,body .button.status.failure:not([class*="with addon"]):after,body .button.status.failure[class*="with addon"]>.addon:after{position:absolute;margin:0 !important;left:50%;top:50%;-ms-transform:translate(-50%, -50%);transform:translate(-50%, -50%)}body .button.x-small,body .buttons.x-small{font-size:.7em}body .button.small,body .buttons.small{font-size:.85em}body .button.regular,body .buttons.regular{font-size:13px}body .button.large,body .buttons.large{font-size:1.25em}body .button.x-large,body .buttons.x-large{font-size:1.5em}body h1 .button,body h2 .button,body h3 .button,body h4 .button,body h5 .button,body h6 .button{vertical-align:middle;margin:0 0.5em}body .typeset hr,body .divider{width:100%;box-sizing:border-box;letter-spacing:0.025em;border-width:0;margin:13px 0;border-bottom:1px solid rgba(50,50,50,0.2)}body .divider[class*="top divider"]{border-bottom:none;border-top:1px solid rgba(50,50,50,0.2)}body .divider.double{border-top:1px solid rgba(50,50,50,0.2)}body .divider.dashed{border-style:dashed}body .divider.dotted{border-style:dotted}body .divider.inverted{border-color:rgba(255,255,255,0.2)}body h1.divider,body h2.divider,body h3.divider,body h4.divider,body h5.divider,body h6.divider{padding-bottom:0.5em;margin:1em 0}body h1.divider.spaced,body h2.divider.spaced,body h3.divider.spaced,body h4.divider.spaced,body h5.divider.spaced,body h6.divider.spaced{padding:inherit 1em}body h1.divider.below,body h2.divider.below,body h3.divider.below,body h4.divider.below,body h5.divider.below,body h6.divider.below{height:auto;border-top-width:0;display:table;width:100%;white-space:nowrap;line-height:1em;text-align:center;padding-bottom:0.2em;border:none}body h1.divider.below:before,body h1.divider.below:after,body h2.divider.below:before,body h2.divider.below:after,body h3.divider.below:before,body h3.divider.below:after,body h4.divider.below:before,body h4.divider.below:after,body h5.divider.below:before,body h5.divider.below:after,body h6.divider.below:before,body h6.divider.below:after{content:"";display:table-cell;width:50%;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGhlaWdodD0iMSIgd2lkdGg9IjEwMCUiPg0KICA8bGluZSB4MT0iMCIgeTE9IjAiIHgyPSIxMDAlIiB5Mj0iMCIgc3R5bGU9InN0cm9rZTpyZ2JhKDUwLDUwLDUwLC41KTtzdHJva2Utd2lkdGg6MSIgLz4NCjwvc3ZnPg0K);background-repeat:no-repeat}body h1.divider.below:before,body h2.divider.below:before,body h3.divider.below:before,body h4.divider.below:before,body h5.divider.below:before,body h6.divider.below:before{margin-right:0.5em;background-position:right 1em top 50%}body h1.divider.below:after,body h2.divider.below:after,body h3.divider.below:after,body h4.divider.below:after,body h5.divider.below:after,body h6.divider.below:after{margin-left:0.5em;background-position:left 1em top 50%}body h1.divider.below .icon,body h2.divider.below .icon,body h3.divider.below .icon,body h4.divider.below .icon,body h5.divider.below .icon,body h6.divider.below .icon{margin:0.5em}body .divider h1.underline,body .divider h2.underline,body .divider h3.underline,body .divider h4.underline,body .divider h5.underline,body .divider h6.underline{display:inline-block;border-bottom:3px solid rgba(50,50,50,0.2);padding-bottom:0.5em;margin-bottom:-1px}body ul li.divider,body ol li.divider{margin:0.5em 0;padding:0.5em 0;font-size:0.8em;text-transform:uppercase;font-weight:600}body .table{display:table;table-layout:fixed;width:100%;border-spacing:0;border-collapse:collapse;text-align:left;margin:1em 0;background-color:#fff}body .table>.thead .tr,body .table>.tbody .tr,body .table>thead tr,body .table>tbody tr{display:table;table-layout:fixed;width:100%}body .table>.thead>.tr:not(:first-child)>.th,body .table>.tbody>.tr:not(:first-child)>.td,body .table>thead>tr:not(:first-child)>th,body .table>tbody>tr:not(:first-child)>td{border-top:1px solid #d6d6d6}body .table>.thead>.tr>.th,body .table>.tbody>.tr>.td,body .table>thead>tr>th,body .table>tbody>tr>td{display:table-cell;float:none;vertical-align:top;padding:0.5em 1em}body .table>.thead,body .table>thead{display:table-header-group;padding:0.5em 1em;border:1px solid #d6d6d6}body .table>.thead>.tr>.th,body .table>thead>tr>th{font-weight:600;padding-top:1em;padding-bottom:1em;vertical-align:middle}body .table>.tbody,body .table>tbody{display:table-row-group;border:1px solid #d6d6d6;border-top:none;background-color:#fff}body .table.zebra>tbody>tr,body .table.zebra .tbody>.tr{border:none}body .table.zebra>tbody>tr:nth-child(odd),body .table.zebra .tbody>.tr:nth-child(odd){background-color:rgba(200,200,200,0.25)}body .table[class*="vertically aligned table"]{vertical-align:middle}body .table[class*="vertically aligned table"]>tbody>tr>td,body .table[class*="vertically aligned table"]>.tbody>.tr>.td,body .table[class*="vertically aligned table"]>thead>tr>th,body .table[class*="vertically aligned table"]>.thead>.tr>.th{vertical-align:middle;float:none}body .table .tr>.th:first-child,body .table .tr>.td:first-child,body .table tr>th:first-child,body .table tr>td:first-child{display:table-cell;position:relative;box-sizing:border-box}body .table .tr>.th:first-child:after,body .table .tr>.td:first-child:after,body .table tr>th:first-child:after,body .table tr>td:first-child:after{visibility:visible !important;position:absolute;z-index:2;display:block;content:"";top:0px;bottom:-1px;left:-1px;width:5px;min-height:100%}body .table tr.grey>.th:first-child:after,body .table tr.grey>.td:first-child:after,body .table tr.grey>th:first-child:after,body .table tr.grey>td:first-child:after,body .table .tr.grey>.th:first-child:after,body .table .tr.grey>.td:first-child:after,body .table .tr.grey>th:first-child:after,body .table .tr.grey>td:first-child:after{background:#666}body .table tr.light>.th:first-child:after,body .table tr.light>.td:first-child:after,body .table tr.light>th:first-child:after,body .table tr.light>td:first-child:after,body .table .tr.light>.th:first-child:after,body .table .tr.light>.td:first-child:after,body .table .tr.light>th:first-child:after,body .table .tr.light>td:first-child:after{background:#CCC}body .table tr.primary>.th:first-child:after,body .table tr.primary>.td:first-child:after,body .table tr.primary>th:first-child:after,body .table tr.primary>td:first-child:after,body .table .tr.primary>.th:first-child:after,body .table .tr.primary>.td:first-child:after,body .table .tr.primary>th:first-child:after,body .table .tr.primary>td:first-child:after{background:#FFC900}body .table tr.secondary>.th:first-child:after,body .table tr.secondary>.td:first-child:after,body .table tr.secondary>th:first-child:after,body .table tr.secondary>td:first-child:after,body .table .tr.secondary>.th:first-child:after,body .table .tr.secondary>.td:first-child:after,body .table .tr.secondary>th:first-child:after,body .table .tr.secondary>td:first-child:after{background:#F60}body .table tr.red>.th:first-child:after,body .table tr.red>.td:first-child:after,body .table tr.red>th:first-child:after,body .table tr.red>td:first-child:after,body .table .tr.red>.th:first-child:after,body .table .tr.red>.td:first-child:after,body .table .tr.red>th:first-child:after,body .table .tr.red>td:first-child:after{background:#F60}body .table tr.orange>.th:first-child:after,body .table tr.orange>.td:first-child:after,body .table tr.orange>th:first-child:after,body .table tr.orange>td:first-child:after,body .table .tr.orange>.th:first-child:after,body .table .tr.orange>.td:first-child:after,body .table .tr.orange>th:first-child:after,body .table .tr.orange>td:first-child:after{background:#F90}body .table tr.green>.th:first-child:after,body .table tr.green>.td:first-child:after,body .table tr.green>th:first-child:after,body .table tr.green>td:first-child:after,body .table .tr.green>.th:first-child:after,body .table .tr.green>.td:first-child:after,body .table .tr.green>th:first-child:after,body .table .tr.green>td:first-child:after{background:#5cb85c}body .table tr.yellow>.th:first-child:after,body .table tr.yellow>.td:first-child:after,body .table tr.yellow>th:first-child:after,body .table tr.yellow>td:first-child:after,body .table .tr.yellow>.th:first-child:after,body .table .tr.yellow>.td:first-child:after,body .table .tr.yellow>th:first-child:after,body .table .tr.yellow>td:first-child:after{background:#FFC900}body .menu{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin:0 0;padding:0 0}body .menu:first-child{margin-top:0}body .menu:last-child{margin-bottom:0}body .justified.menu:not(.vertical){-ms-flex-pack:justify;justify-content:space-between}body .justified.menu:not(.vertical)>.item{-ms-flex:1 1 auto;flex:1 1 auto;text-align:center;margin:0;-ms-flex-pack:center;justify-content:center}body .justified.menu:not(.vertical):after{display:none}body .centered.menu:not(.vertical){-ms-flex-pack:center;justify-content:center}body .menu.bordered{border:1px solid rgba(50,50,50,0.2)}body .menu.bordered.inverted{border:1px solid rgba(255,255,255,0.2)}body .menu.bordered:not(.vertical)>.item:not([class*="right item"]),body .menu.bordered:not(.vertical)>.menu:not([class*="right menu"]){border-right:1px solid rgba(50,50,50,0.2)}body .menu.bordered:not(.vertical).inverted>.item:not([class*="right item"]),body .menu.bordered:not(.vertical).inverted>.menu:not([class*="right menu"]){border-right:1px solid rgba(255,255,255,0.2)}body .menu.vertical.bordered>.item:not([class*="bottom item"]),body .menu.vertical.bordered>.menu:not([class*="bottom menu"]){border-bottom:1px solid rgba(50,50,50,0.2)}body .menu.vertical.bordered.inverted>.item:not([class*="bottom item"]),body .menu.vertical.bordered.inverted>.menu:not([class*="bottom menu"]){border-bottom:1px solid rgba(255,255,255,0.2)}body .dividing.menu>a.item,body .dividing.menu>a.item:hover,body .dividing.menu>a.item.active,body .dividing.menu>a.item:visited,body .tabbed.menu>a.item,body .tabbed.menu>a.item:hover,body .tabbed.menu>a.item.active,body .tabbed.menu>a.item:visited,body .pills.menu>a.item,body .pills.menu>a.item:hover,body .pills.menu>a.item.active,body .pills.menu>a.item:visited{color:#666;text-decoration:none}body .bordered.menu:not(.vertical)>.dividing.menu:not([class*="top dividing"]),body .dividing.menu:not(.vertical)>.dividing.menu:not([class*="top dividing"]){border-bottom:none !important}body .bordered.menu:not(.vertical)>.dividing.menu[class*="top dividing"],body .dividing.menu:not(.vertical)>.dividing.menu[class*="top dividing"]{border-top:none !important}body .bordered.vertical.menu>.dividing.menu:not([class*="right dividing"]),body .dividing.vertical.menu>.dividing.menu:not([class*="right dividing"]){border-left:none !important}body .bordered.vertical.menu>.dividing.menu[class*="right dividing"],body .dividing.vertical.menu>.dividing.menu[class*="right dividing"]{border-right:none !important}body .menu>.item{position:relative;line-height:1}body .menu>a.item{cursor:pointer}body .menu>a.item,body .menu>a.item:hover,body .menu>a.item:visited{color:#00b2ed}body .menu>a.item:hover,body .menu>a.item.active{text-decoration:underline}body .menu>.item.disabled,body .menu>.item.ng-disabled{cursor:pointer;pointer-events:none;opacity:0.8}body .menu>.item.active{font-weight:600}body .menu.vertical>.item.divider:not(.header){padding-top:0 !important;padding-bottom:0 !important}body .menu>.item.header{font-size:""}body .menu:not(.vertical)>.item.divider{width:auto}body .menu:not(.vertical)>.item.divider:not(.header){border:none;padding-right:0;margin-right:20px;border-right:1px solid rgba(50,50,50,0.2)}body .menu:not(.vertical)>.item.divider:not(.header).dashed{border-right-style:dashed}body .menu:not(.vertical)>.item.divider:not(.header).dotted{border-right-style:dotted}body .menu>.item>.label{float:right;margin-right:0;margin-top:-0.15em}body .item .button,body .item.button,body .item .buttons,body .item.buttons,body .item .input,body .item.input{-ms-flex-item-align:center;align-self:center}body .menu:not(.vertical)>.item:not([class*="right item"]),body .menu:not(.vertical)>.menu:not([class*="right menu"]){float:left;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}body .menu:not(.vertical)>.item[class*="right item"],body .menu:not(.vertical)>.item[class*="right items"],body .menu:not(.vertical)>.menu[class*="right menu"]{float:right;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:end;justify-content:flex-end;margin-left:auto !important;margin-right:0 !important}body .vertical.menu>.item[class*="bottom item"],body .vertical.menu>.item[class*="bottom items"],body .vertical.menu>.menu[class*="bottom menu"]{margin-top:auto !important}body .vertical.menu>.centered.item,body .vertical.menu>.centered.menu{margin-top:auto !important;margin-left:auto !important}body :not(.vertical).menu>.centered.item,body :not(.vertical).menu>.centered.menu{margin-left:auto !important;margin-right:auto !important;text-align:center}body .menu:not(.vertical)>.item,body .menu:not(.vertical)>.menu{float:left;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:13px 20px;margin:0 0}body .menu.vertical>.item{display:block;padding:13px 20px;margin:0 0}body .menu.vertical>.menu:not(.horizontal),body .menu.vertical>.item{-ms-flex-direction:column;flex-direction:column}body .menu:not(.vertical){-ms-flex-direction:row;flex-direction:row}body .menu.v-aligned,body .menu[class*="vertically aligned"]{-ms-flex-align:center;align-items:center}body .menu.vertical{-ms-flex-direction:column;flex-direction:column}body .menu.vertical>.menu>.item{border-right:none}body .menu.dividing>a.item:before,body .menu.dividing>a.item:after{background-color:#666}body .menu.pills>a.active.item{background-color:#666;color:#fff}body .menu.pills>a.item:hover{background-color:#737373;color:#fff}body .menu.tabbed>a.active.item{border-top-color:#666}body .menu.grey.dividing>a.item:before,body .menu.grey.dividing>a.item:after{background-color:#666}body .menu.grey.pills>a.active.item{background-color:#666;color:#fff}body .menu.grey.pills>a.item:hover{background-color:#737373;color:#fff}body .menu.grey.tabbed>a.active.item{border-top-color:#666}body .menu.light.dividing>a.item:before,body .menu.light.dividing>a.item:after{background-color:#CCC}body .menu.light.pills>a.active.item{background-color:#CCC;color:#666}body .menu.light.pills>a.item:hover{background-color:#d9d9d9;color:#666}body .menu.light.tabbed>a.active.item{border-top-color:#CCC}body .menu.primary.dividing>a.item:before,body .menu.primary.dividing>a.item:after{background-color:#FFC900}body .menu.primary.pills>a.active.item{background-color:#FFC900;color:#666}body .menu.primary.pills>a.item:hover{background-color:#ffce1a;color:#666}body .menu.primary.tabbed>a.active.item{border-top-color:#FFC900}body .menu.secondary.dividing>a.item:before,body .menu.secondary.dividing>a.item:after{background-color:#F60}body .menu.secondary.pills>a.active.item{background-color:#F60;color:#fff}body .menu.secondary.pills>a.item:hover{background-color:#ff751a;color:#fff}body .menu.secondary.tabbed>a.active.item{border-top-color:#F60}body .menu.red.dividing>a.item:before,body .menu.red.dividing>a.item:after{background-color:#F60}body .menu.red.pills>a.active.item{background-color:#F60;color:#fff}body .menu.red.pills>a.item:hover{background-color:#ff751a;color:#fff}body .menu.red.tabbed>a.active.item{border-top-color:#F60}body .menu.orange.dividing>a.item:before,body .menu.orange.dividing>a.item:after{background-color:#F90}body .menu.orange.pills>a.active.item{background-color:#F90;color:#fff}body .menu.orange.pills>a.item:hover{background-color:#ffa31a;color:#fff}body .menu.orange.tabbed>a.active.item{border-top-color:#F90}body .menu.green.dividing>a.item:before,body .menu.green.dividing>a.item:after{background-color:#5cb85c}body .menu.green.pills>a.active.item{background-color:#5cb85c;color:#fff}body .menu.green.pills>a.item:hover{background-color:#6ec06e;color:#fff}body .menu.green.tabbed>a.active.item{border-top-color:#5cb85c}body .menu.yellow.dividing>a.item:before,body .menu.yellow.dividing>a.item:after{background-color:#FFC900}body .menu.yellow.pills>a.active.item{background-color:#FFC900;color:#666}body .menu.yellow.pills>a.item:hover{background-color:#ffce1a;color:#666}body .menu.yellow.tabbed>a.active.item{border-top-color:#FFC900}body .menu>.dividing.menu{padding:0;-ms-flex-item-align:stretch;align-self:stretch}body .menu.dividing{border-color:rgba(50,50,50,0.2);align-content:stretch}body .menu.dividing>.item{-ms-flex-item-align:stretch;align-self:stretch;padding:13px 0;margin:0 20px}body .menu.dividing>a.item:not(.active):not(:hover){opacity:0.75}body .menu.dividing>a.item:before,body .menu.dividing>a.item:after{visibility:visible;position:absolute;display:block;content:"";transition-property:width,height;-moz-transition-duration:.3s;-o-transition-duration:.3s;-webkit-transition-duration:.3s;transition-duration:.3s;-moz-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}body .menu.dividing.bordered>.item{padding:13px 20px;margin:0}body .menu.dividing:not(.vertical)>a.item:after,body .menu.dividing:not(.vertical)>a.item:before{left:0;right:0;margin:0 auto;width:0;height:3px}body .menu.dividing:not(.vertical):not([class*="top dividing"]){border-bottom-width:1px;border-bottom-style:solid}body .menu.dividing:not(.vertical):not([class*="top dividing"])>a.item:after{bottom:0}body .menu.dividing:not(.vertical):not([class*="top dividing"])>a.item:not(.disabled):hover:after,body .menu.dividing:not(.vertical):not([class*="top dividing"])>a.item:active:after,body .menu.dividing:not(.vertical):not([class*="top dividing"])>a.item.active:after{width:100%}body .menu.dividing:not(.vertical)[class*="top dividing"]{border-top-width:1px;border-top-style:solid}body .menu.dividing:not(.vertical)[class*="top dividing"]>a.item:before{top:0}body .menu.dividing:not(.vertical)[class*="top dividing"]>a.item:not(.disabled):hover:before,body .menu.dividing:not(.vertical)[class*="top dividing"]>a.item:active:before,body .menu.dividing:not(.vertical)[class*="top dividing"]>a.item.active:before{width:100%}body .menu.dividing.vertical>.item{margin:0 0;padding:13px 20px}body .menu.dividing.vertical>a.item:after,body .menu.dividing.vertical>a.item:before{top:50%;bottom:0;-ms-transform:translate(0, -50%);transform:translate(0, -50%);width:3px;height:0}body .menu.dividing.vertical:not([class*="right dividing"]),body .menu.dividing.vertical[class*="left dividing"]{border-left-width:1px;border-left-style:solid}body .menu.dividing.vertical:not([class*="right dividing"])>a.item:before,body .menu.dividing.vertical[class*="left dividing"]>a.item:before{margin-left:-1px;left:0}body .menu.dividing.vertical:not([class*="right dividing"])>a.item:not(.disabled):hover:before,body .menu.dividing.vertical:not([class*="right dividing"])>a.item:active:before,body .menu.dividing.vertical:not([class*="right dividing"])>a.item.active:before,body .menu.dividing.vertical[class*="left dividing"]>a.item:not(.disabled):hover:before,body .menu.dividing.vertical[class*="left dividing"]>a.item:active:before,body .menu.dividing.vertical[class*="left dividing"]>a.item.active:before{height:100%}body .menu.dividing.vertical[class*="right dividing"]{border-right-width:1px;border-right-style:solid}body .menu.dividing.vertical[class*="right dividing"]>a.item:after{margin-right:-1px;right:0}body .menu.dividing.vertical[class*="right dividing"]>a.item:not(.disabled):hover:after,body .menu.dividing.vertical[class*="right dividing"]>a.item:active:after,body .menu.dividing.vertical[class*="right dividing"]>a.item.active:after{height:100%}body .menu.vertical[class*="right dividing"] .menu[class*="right dividing"]{border-right:none !important}body .menu.vertical:not([class*="right dividing"]) .menu:not([class*="right dividing"]){border-left:none !important}body .menu.tabbed{position:relative;background:#FAFAFA;padding:0 13px;border:1px solid rgba(50,50,50,0.2);border-bottom:none;margin-top:26px;margin-bottom:5px}body .menu.tabbed.bordered>.item,body .menu.tabbed>.item{position:relative;z-index:2;border:1px solid transparent;margin-top:0;bottom:-1px}body .menu.tabbed>a.item.active,body .menu.tabbed>a.item:hover{background:#fff;padding-top:26px;margin-top:-13px;border-top-color:rgba(50,50,50,0.2);border-left-color:rgba(50,50,50,0.2);border-right-color:rgba(50,50,50,0.2)}body .menu.tabbed>a.item.active{border-top-width:3px}body .menu.tabbed:after{visibility:visible;position:absolute;top:100%;left:-1px;right:-1px;display:block;content:"";height:5px;border:1px solid rgba(50,50,50,0.2)}body .menu.pills>.item{border-right:none !important}body .menu.pills>a.item{border-radius:3px;margin:0;transition-property:background;-moz-transition-duration:.3s;-o-transition-duration:.3s;-webkit-transition-duration:.3s;transition-duration:.3s;-moz-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}body .menu.pills[class*="squared pills"]>a.item{border-radius:0}body .menu.pills:not(.vertical)>a.item{padding:13px 20px}body .menu.pills.vertical>a.item{padding:13px 20px}body .fitting.menu>.item:first-child,body .fitting.menu>.menu:first-child{padding-left:0}body .fitting.menu>.item:last-child,body .fitting.menu>.menu:last-child{padding-right:0}body .menu>.menu{border-width:0;margin:0;padding:0}body .menu:not(.vertical)>.menu{display:-ms-flexbox;display:flex}@media (min-width: 320px){body .menu.container{padding-left:1em;padding-right:1em}}@media (min-width: 768px){body .menu.container{padding-left:2em;padding-right:2em}}@media (min-width: 992px){body .menu.container{padding-left:3em;padding-right:3em}}@media (min-width: 1200px){body .menu.container{padding-left:5em;padding-right:5em}}body .menu.container>.item:first-child{padding-left:0;margin-left:0}body .menu.container>.item:last-child{padding-right:0;margin-right:0}body .breadcrumbs>li{position:relative;display:inline-block;vertical-align:middle}body .breadcrumbs>li:after{display:inline-block;font-family:"";content:">";vertical-align:middle;margin:0 0.5em}body .breadcrumbs>li:last-child:after{content:""}body .breadcrumbs>li>a{display:inline-block}body .breadcrumbs>li h1,body .breadcrumbs>li h2,body .breadcrumbs>li h3,body .breadcrumbs>li h4,body .breadcrumbs>li h5,body .breadcrumbs>li h6{display:inline-block;vertical-align:bottom}body .breadcrumbs.slashes>li:after{content:"/"}body .label{display:inline-block;vertical-align:middle;font-size:0.85em;padding:.25em .5em;margin:0 0.5em;font-weight:normal;line-height:1;text-align:center;white-space:nowrap;border-radius:3px}body .label .icon,body .label>i.icon{margin-right:0.25em}body .label .icon[class*="right icon"],body .label>i.icon[class*="right icon"]{margin-right:0;margin-left:0.25em}body .label.circular{display:inline-block;border-radius:1em}body .label.circular.icon:after{font-size:.5em}body .label.x-small{font-size:.7em}body .label.small{font-size:.85em}body .label.regular{font-size:13px}body .label.large{font-size:1.25em}body .label.x-large{font-size:1.5em}html:not(.ie9) body .label[class*="with addon"],html:not(.ie9) body .label[class*="with addons"]{display:-ms-inline-flexbox;display:inline-flex}body .label[class*="with addon"]>.addon,body .label[class*="with addons"]>.addon{display:inline-block;vertical-align:top;background:rgba(0,0,0,0.2);padding:.25em .5em;margin:-.25em .5em -.25em -.5em}body .label[class*="with addon"]>.addon[class*="right addon"],body .label[class*="with addons"]>.addon[class*="right addon"]{margin-right:-.5em;margin-left:.5em}body .labels{padding:0;margin:0}body .labels>.label{margin:0}body .labels>.label:not(:last-child){margin-right:0.5em}body .labels.x-small{font-size:.7em}body .labels.small{font-size:.85em}body .labels.regular{font-size:13px}body .labels.large{font-size:1.25em}body .labels.x-large{font-size:1.5em}body .labels.grey .label{background:#666;color:#fff;text-shadow:1px 0 1px #595959}body .labels.light .label{background:#CCC;color:#666}body .labels.primary .label{background:#FFC900;color:#666}body .labels.secondary .label{background:#F60;color:#fff;text-shadow:1px 0 1px #e65c00}body .labels.red .label{background:#F60;color:#fff;text-shadow:1px 0 1px #e65c00}body .labels.orange .label{background:#F90;color:#fff;text-shadow:1px 0 1px #e68a00}body .labels.green .label{background:#5cb85c;color:#fff;text-shadow:1px 0 1px #4cae4c}body .labels.yellow .label{background:#FFC900;color:#666}body .label{background:#CCC;color:#666}body .label.grey{background:#666;color:#fff;text-shadow:1px 0 1px #595959}body .label.light{background:#CCC;color:#666}body .label.primary{background:#FFC900;color:#666}body .label.secondary{background:#F60;color:#fff;text-shadow:1px 0 1px #e65c00}body .label.red{background:#F60;color:#fff;text-shadow:1px 0 1px #e65c00}body .label.orange{background:#F90;color:#fff;text-shadow:1px 0 1px #e68a00}body .label.green{background:#5cb85c;color:#fff;text-shadow:1px 0 1px #4cae4c}body .label.yellow{background:#FFC900;color:#666}body .callout{display:block;box-sizing:border-box;position:relative;margin:1em 0;border:1px solid #CCC;background:#fff;padding:1em 2em}body .callout>.header{padding:1em 2em .5em 2em;margin:-1em -2em 0.5em -2em}body .callout>.footer{text-align:right;margin:1em -2em -1em -2em;padding:1em 2em}body .callout:after{visibility:visible !important;position:absolute;z-index:2;display:block;content:""}body .callout:after{top:0;left:0;width:5px;min-height:100%}body .callout[class*="up callout"]:after{top:0;left:0;width:100%;min-height:5px}body .callout[class*="right callout"]:after{top:0;left:auto;right:0;width:5px;min-height:100%}body .callout[class*="left callout"]:after{top:0;left:0;width:5px;min-height:100%}body .callout[class*="down callout"]:after{top:auto;bottom:0;left:0;width:100%;min-height:5px}body .callout.filled:after{display:none}body .callout:not(.filled):after{background:#CCC}body .callout.filled{background-color:#CCC;border-color:#bfbfbf}body .callout.filled,body .callout.filled:before,body .callout.filled a,body .callout.filled button{color:#222}body .callout.filled>.footer{background-color:#c4c4c4}body .callout.grey:not(.filled):after{background:#666}body .callout.grey.filled{background-color:#666;border-color:#595959;text-shadow:0 1px 1px #404040}body .callout.grey.filled,body .callout.grey.filled:before,body .callout.grey.filled a,body .callout.grey.filled button{color:#fff}body .callout.grey.filled>.footer{background-color:#5e5e5e}body .callout.light:not(.filled):after{background:#CCC}body .callout.light.filled{background-color:#CCC;border-color:#bfbfbf}body .callout.light.filled,body .callout.light.filled:before,body .callout.light.filled a,body .callout.light.filled button{color:#666}body .callout.light.filled>.footer{background-color:#c4c4c4}body .callout.primary:not(.filled):after{background:#FFC900}body .callout.primary.filled{background-color:#FFC900;border-color:#e6b500}body .callout.primary.filled,body .callout.primary.filled:before,body .callout.primary.filled a,body .callout.primary.filled button{color:#666}body .callout.primary.filled>.footer{background-color:#f0bd00}body .callout.secondary:not(.filled):after{background:#F60}body .callout.secondary.filled{background-color:#F60;border-color:#e65c00;text-shadow:0 1px 1px #b34700}body .callout.secondary.filled,body .callout.secondary.filled:before,body .callout.secondary.filled a,body .callout.secondary.filled button{color:#fff}body .callout.secondary.filled>.footer{background-color:#f06000}body .callout.red:not(.filled):after{background:#F60}body .callout.red.filled{background-color:#F60;border-color:#e65c00;text-shadow:0 1px 1px #b34700}body .callout.red.filled,body .callout.red.filled:before,body .callout.red.filled a,body .callout.red.filled button{color:#fff}body .callout.red.filled>.footer{background-color:#f06000}body .callout.orange:not(.filled):after{background:#F90}body .callout.orange.filled{background-color:#F90;border-color:#e68a00;text-shadow:0 1px 1px #b36b00}body .callout.orange.filled,body .callout.orange.filled:before,body .callout.orange.filled a,body .callout.orange.filled button{color:#fff}body .callout.orange.filled>.footer{background-color:#f09000}body .callout.green:not(.filled):after{background:#5cb85c}body .callout.green.filled{background-color:#5cb85c;border-color:#4cae4c;text-shadow:0 1px 1px #3d8b3d}body .callout.green.filled,body .callout.green.filled:before,body .callout.green.filled a,body .callout.green.filled button{color:#fff}body .callout.green.filled>.footer{background-color:#51b351}body .callout.yellow:not(.filled):after{background:#FFC900}body .callout.yellow.filled{background-color:#FFC900;border-color:#e6b500}body .callout.yellow.filled,body .callout.yellow.filled:before,body .callout.yellow.filled a,body .callout.yellow.filled button{color:#666}body .callout.yellow.filled>.footer{background-color:#f0bd00}body .callouts>.callout{margin:0}body .callouts>.callout:not(.filled):not(:first-child){border-top:none}body .callout .progress.attached{margin:0;position:absolute;z-index:3;left:0;right:0;top:0}body .callout .progress.attached>.indicator{min-height:5px;border-radius:0}body .callout .progress.attached>.indicator:after{content:""}body [class*="down callout"] .progress.attached{top:auto;bottom:0}body .block{border:1px solid rgba(50,50,50,0.2);padding:1em 1em}body .block>.header,body .block .header,body .block>.footer,body .block .footer{padding:1em 1em}body .block>.header,body .block .header{margin:-1em -1em 0 -1em;border-bottom:1px solid rgba(50,50,50,0.2)}body .block>.footer,body .block .footer{margin:-3em;border-top:1px solid rgba(50,50,50,0.2)}body .block.inverted{border-color:rgba(255,255,255,0.2)}body .block.inverted>.header,body .block.inverted .header,body .block.inverted>.footer,body .block.inverted .footer{border-color:rgba(255,255,255,0.2)}body .block.round{border-radius:3px}body .block.round>.header,body .block.round .header{border-radius:3px 3px 0 0}body .block.round>.footer,body .block.round .footer{border-radius:0 0 3px 3px}body .overlay{position:fixed;top:0;left:0;height:100%;width:100%;z-index:100;background-color:rgba(0,0,0,0.5)}@keyframes progressing{from{opacity:1;width:0}to{opacity:0;width:100%}}body .progress{background:#EFEFEF;border-radius:3px;margin:1em 0}body .progress>.indicator{position:relative;height:1.5em;border-radius:3px;transition:width 0.3s ease-out}body .progress>.indicator:after{display:block;position:absolute;top:0;bottom:0;right:0.5em;content:attr(data-percentage) "%";line-height:1.5em}body .progress .status{text-align:center;font-weight:600}body .progressing.progress>.indicator:before{display:block;content:"";position:absolute;left:0;top:0;bottom:0;animation-name:progressing;animation-duration:1.5s;animation-iteration-count:infinite;animation-timing-function:ease-out}body .progress.slim{margin-top:2em}body .progress.slim>.indicator{height:5px}body .progress.slim>.indicator:after{right:0;-ms-transform:translateX(50%);transform:translateX(50%);line-height:1;top:-1.1em}body .progress>.indicator{background:#CCC}body .progress:not(.slim)>.indicator{color:#666}body .progress>.indicator:before{background:rgba(50,50,50,0.5)}body .progress.grey>.indicator{background:#666}body .progress.grey:not(.slim)>.indicator{color:#fff}body .progress.grey>.indicator:before{background:rgba(255,255,255,0.75)}body .progress.light>.indicator{background:#CCC}body .progress.light:not(.slim)>.indicator{color:#666}body .progress.light>.indicator:before{background:rgba(50,50,50,0.5)}body .progress.primary>.indicator{background:#FFC900}body .progress.primary:not(.slim)>.indicator{color:#666}body .progress.primary>.indicator:before{background:rgba(50,50,50,0.5)}body .progress.secondary>.indicator{background:#F60}body .progress.secondary:not(.slim)>.indicator{color:#fff}body .progress.secondary>.indicator:before{background:rgba(255,255,255,0.75)}body .progress.red>.indicator{background:#F60}body .progress.red:not(.slim)>.indicator{color:#fff}body .progress.red>.indicator:before{background:rgba(255,255,255,0.75)}body .progress.orange>.indicator{background:#F90}body .progress.orange:not(.slim)>.indicator{color:#fff}body .progress.orange>.indicator:before{background:rgba(255,255,255,0.75)}body .progress.green>.indicator{background:#5cb85c}body .progress.green:not(.slim)>.indicator{color:#fff}body .progress.green>.indicator:before{background:rgba(255,255,255,0.75)}body .progress.yellow>.indicator{background:#FFC900}body .progress.yellow:not(.slim)>.indicator{color:#666}body .progress.yellow>.indicator:before{background:rgba(50,50,50,0.5)}body .progress-bar{position:fixed;top:0px;z-index:1000;width:100%;overflow:hidden;background-color:transparent;margin:0 !important;transition-property:opacity, height;transition-duration:.25s;transition-timing-function:ease-out}body .progress-bar.in{opacity:1;height:2px}body .progress-bar.out{opacity:0;height:0}luid-day-block.grey .day{background-color:#666;border-color:#666;color:#fff}luid-day-block.grey .month,luid-day-block.grey .year{border-color:#666;color:#666}luid-day-block.light .day{background-color:#CCC;border-color:#CCC;color:#666}luid-day-block.light .month,luid-day-block.light .year{border-color:#CCC;color:#CCC;color:#666}luid-day-block.primary .day{background-color:#FFC900;border-color:#FFC900;color:#666}luid-day-block.primary .month,luid-day-block.primary .year{border-color:#FFC900;color:#FFC900;color:#666}luid-day-block.secondary .day{background-color:#F60;border-color:#F60;color:#fff}luid-day-block.secondary .month,luid-day-block.secondary .year{border-color:#F60;color:#F60}luid-day-block.red .day{background-color:#F60;border-color:#F60;color:#fff}luid-day-block.red .month,luid-day-block.red .year{border-color:#F60;color:#F60}luid-day-block.orange .day{background-color:#F90;border-color:#F90;color:#fff}luid-day-block.orange .month,luid-day-block.orange .year{border-color:#F90;color:#F90}luid-day-block.green .day{background-color:#5cb85c;border-color:#5cb85c;color:#fff}luid-day-block.green .month,luid-day-block.green .year{border-color:#5cb85c;color:#5cb85c}luid-day-block.yellow .day{background-color:#FFC900;border-color:#FFC900;color:#666}luid-day-block.yellow .month,luid-day-block.yellow .year{border-color:#FFC900;color:#FFC900;color:#666}body luid-day-block{display:inline-block;width:5em;margin:1em 0;text-align:center;text-transform:uppercase}body luid-day-block .day{padding:.25em 0;border-top-left-radius:3px;border-top-right-radius:3px;border-width:1px;border-style:solid;font-size:3em}body luid-day-block .month{padding:.25em 0;border-left-width:1px;border-right-width:1px;border-left-style:solid;border-right-style:solid;font-size:1.5em}body luid-day-block .year{padding:.25em 0;border-bottom-left-radius:3px;border-bottom-right-radius:3px;border-width:1px;border-style:solid;border-top:none;font-size:1em}body luid-day-block .day{background-color:#CCC;border-color:#CCC;color:#666}body luid-day-block .month,body luid-day-block .year{border-color:#CCC;color:#CCC;color:#666}body luid-day-block.x-small{font-size:.7em}body luid-day-block.small{font-size:.85em}body luid-day-block.regular{font-size:13px}body luid-day-block.large{font-size:1.25em}body luid-day-block.x-large{font-size:1.5em}body .tablegrid{position:relative;overflow:hidden;text-align:left}body .tablegrid table{table-layout:fixed;width:100%;min-height:1px}body .tablegrid .locked.columns{position:absolute;overflow:hidden;z-index:3;top:0;bottom:0;left:0;right:0}body .tablegrid .locked.columns thead{z-index:4}body .tablegrid .holder{overflow:hidden}body .tablegrid .scrollable.columns{z-index:1;overflow:auto}body .tablegrid .scrollable.columns thead{z-index:2}body .tablegrid th,body .tablegrid td{padding:0.5em 1em;box-sizing:border-box;border:1px solid #CCC}body .tablegrid th.sortable,body .tablegrid td.sortable{cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}body .tablegrid th.sortable.asc:before,body .tablegrid td.sortable.asc:before{font-family:"lucca-icons";display:inline-block;vertical-align:middle;font-style:normal;content:"";margin-right:.5em}body .tablegrid th.sortable.desc:before,body .tablegrid td.sortable.desc:before{font-family:"lucca-icons";display:inline-block;vertical-align:middle;font-style:normal;content:"";margin-right:.5em}body .tablegrid th.sortable:before,body .tablegrid td.sortable:before{float:right;font-size:0.6em;padding:0.5em;line-height:1;border-radius:3px;color:#f2f2f2;background-color:#8c8c8c}body .tablegrid thead,body .tablegrid tbody{display:table;width:auto;box-sizing:border-box;table-layout:fixed}body .tablegrid thead{position:absolute;top:0;min-width:100%;color:#8c8c8c;font-weight:normal;text-align:left}body .tablegrid thead a{color:#8c8c8c;text-decoration:none}body .tablegrid thead th{background-color:#f2f2f2;vertical-align:bottom;border-color:#CCC}body .tablegrid thead tr:not(.filters) th:not([colspan]){padding-top:2em}body .tablegrid tbody{min-width:100%;height:auto;background-color:#fff}body .tablegrid.zebra tbody>tr:nth-child(2n){background-color:#f2f2f2}body .tablegrid tr.hovering{background-color:#ffe480 !important}.ie9 body .tablegrid{padding-top:0 !important}.ie9 body .tablegrid thead{position:static}.ie9 body .tablegrid .scrollable.columns,.ie9 body .tablegrid .scrollable.columns .virtualscroll{margin-left:0 !important}.ie9 body .tablegrid .locked.columns{display:none}body .luis-notify{-ms-transition:all .3s ease-out;transition:all .3s ease-out;z-index:9999;position:fixed !important;width:320px;max-width:90%;left:50%}body .luis-notify .close{box-shadow:none;border:0;position:absolute;right:0;top:.5em} +.loader{display:inline-block;position:relative}.loader:before,.loader:after{box-sizing:border-box;display:block;content:"";width:1em;height:1em;border-radius:50%;border-width:2px;border-style:solid}.loader:after{position:absolute;animation-name:spin;animation-iteration-count:infinite;top:50%;margin-top:-.5em;left:50%;margin-left:-.5em;animation-timing-function:linear}.loader:before{border-color:rgba(0,0,0,0.25)}.loader:after{border-color:rgba(0,0,0,0.5) transparent transparent transparent}.ie9 .loader:before{border:none}.ie9 .loader:after{border:none;margin:0;background:transparent url("../../../dist/ie_fallback_spinner.gif") no-repeat center center;background-size:contain}body button.unstyled,body .button,body .search.input:before,body .search.input:after,body luid-moment .mp-button{-ms-user-select:none;-webkit-user-select:none;user-select:none}body ul.unstyled,body .menu ul,body .breadcrumbs,body ol.unstyled{list-style:none;padding:0;margin:0}body a.unstyled,body .menu a{text-decoration:none}body button.unstyled,body .button{cursor:pointer;outline:none;border:none;text-decoration:none;font-style:normal;line-height:1;font-weight:normal;background-color:transparent;border-radius:0}body button.unstyled:active,body .button:active,body button.unstyled:focus,body .button:focus{outline:none;outline:0}.loader:after,body .animated,body .search.input.searching:after,body .luid-translations.open .luid-translations-dropdown,body .button.status[class*="with addon"].loading>.addon:after,body .button.status.loading:not([class*="with addon"]):after{animation-timing-function:ease-out;animation-duration:.25s;animation-fill-mode:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;opacity:1}body .animated[class*="bounce"],body .animated[class*="pulse"]:not([class*="pulse down"]),body .animated[class*="pulse up"],body .animated[class*="spin"]{animation-timing-function:ease-out;animation-duration:.5s}body .infinitely.animated{animation-iteration-count:infinite}@keyframes upFadeIn{from{opacity:0;transform:translate3d(0, -1em, 0)}to{opacity:1;transform:none}}body .animated[class*="up fade in"]{animation-name:upFadeIn}@keyframes upFadeOut{from{opacity:1;transform:none}to{opacity:0;transform:translate3d(0, -1em, 0)}}body .animated[class*="up fade out"]{animation-name:upFadeOut}@keyframes downFadeIn{from{opacity:0;transform:translate3d(0, 1em, 0)}to{opacity:1;transform:none}}body .animated[class*="down fade in"]{animation-name:downFadeIn}@keyframes downFadeOut{from{opacity:1;transform:none}to{opacity:0;transform:translate3d(0, 1em, 0)}}body .animated[class*="down fade out"]{animation-name:downFadeOut}@keyframes leftFadeIn{from{opacity:0;transform:translate3d(-1em, 0, 0)}to{opacity:1;transform:none}}body .animated[class*="left fade in"]{animation-name:leftFadeIn}@keyframes leftFadeOut{from{opacity:1;transform:none}to{opacity:0;transform:translate3d(-1em, 0, 0)}}body .animated[class*="left fade out"]{animation-name:leftFadeOut}@keyframes rightFadeIn{from{opacity:0;transform:translate3d(1em, 0, 0)}to{opacity:1;transform:none}}body .animated[class*="right fade in"]{animation-name:rightFadeIn}@keyframes rightFadeOut{from{opacity:1;transform:none}to{opacity:0;transform:translate3d(1em, 0, 0)}}body .animated[class*="right fade out"]{animation-name:rightFadeOut}@keyframes downScaleIn{from{transform:scale(.75);opacity:0}to{transform:scale(1);opacity:1}}body .animated[class*="down scale in"]{animation-name:downScaleIn}@keyframes downScaleOut{from{transform:scale(1);opacity:1}to{transform:scale(.75);opacity:0}}body .animated[class*="down scale out"]{animation-name:downScaleOut}@keyframes upScaleIn{from{transform:scale(1.25);opacity:0}to{transform:scale(1);opacity:1}}body .animated[class*="up scale in"]{animation-name:upScaleIn}@keyframes upScaleOut{from{transform:scale(1);opacity:1}to{transform:scale(1.25);opacity:0}}body .animated[class*="up scale out"]{animation-name:upScaleOut}@keyframes upSlideIn{from{transform-origin:center top;transform:scale(1, 0)}to{transform-origin:center top;transform:scale(1, 1)}}@keyframes downSlideIn{from{transform-origin:center bottom;transform:scale(1, 0)}to{transform-origin:center bottom;transform:scale(1, 1)}}body .animated[class*="up slide in"]{animation-name:upSlideIn}body .animated[class*="down slide in"]{animation-name:downSlideIn}@keyframes upSlideOut{from{transform-origin:center top;transform:scale(1, 1)}to{transform-origin:center top;transform:scale(1, 0)}}@keyframes downSlideOut{from{transform-origin:center bottom;transform:scale(1, 1)}to{transform-origin:center bottom;transform:scale(1, 0)}}body .animated[class*="up slide out"]{animation-name:upSlideOut}body .animated[class*="down slide out"]{animation-name:downSlideOut}@keyframes leftSlideIn{from{transform-origin:left center;transform:scale(0, 1)}to{transform-origin:left center;transform:scale(1, 1)}}@keyframes rightSlideIn{from{transform-origin:right center;transform:scale(0, 1)}to{transform-origin:right center;transform:scale(1, 1)}}body .animated[class*="left slide in"]{animation-name:leftSlideIn}body .animated[class*="right slide in"]{animation-name:rightSlideIn}@keyframes leftSlideOut{from{transform-origin:left center;transform:scale(1, 1)}to{transform-origin:left center;transform:scale(0, 1)}}@keyframes rightSlideOut{from{transform-origin:right center;transform:scale(1, 1)}to{transform-origin:right center;transform:scale(0, 1)}}body .animated[class*="left slide out"]{animation-name:leftSlideOut}body .animated[class*="right slide out"]{animation-name:rightSlideOut}@keyframes bounce{0%,20%,50%,80%,100%{transform:translateY(0)}40%{transform:translateY(-2em)}60%{transform:translateY(-1em)}}body .animated[class*="bounce"]{animation-name:bounce}@keyframes pulseUp{0%{transform:scale(1);opacity:1}50%{transform:scale(1.25);opacity:0.75}100%{transform:scale(1);opacity:1}}body .animated[class*="pulse"]:not([class*="pulse down"]),body .animated[class*="pulse up"]{animation-name:pulseUp}@keyframes pulseDown{0%{transform:scale(1);opacity:1}50%{transform:scale(0.85);opacity:0.75}100%{transform:scale(1);opacity:1}}body .animated[class*="pulse down"]{animation-name:pulseDown}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}body .animated[class*="spin"]{animation-name:spin}body .pointing:after{content:'';display:block;width:0;height:0;border-style:solid;border-color:transparent}body [class*="top pointing"]:after,body [class*="bottom pointing"]:after{border-left-width:0.5em;border-right-width:0.5em}body [class*="top pointing"]:after{border-bottom:0.5em solid lui_get_colorscheme(light, color)}body [class*="bottom pointing"]:after{border-top:0.5em solid lui_get_colorscheme(light, color)}body [class*="left pointing"]:after,body [class*="right pointing"]:after{border-top-width:0.5em;border-bottom-width:0.5em}body [class*="left pointing"]:after{border-right:0.5em solid lui_get_colorscheme(light, color)}body [class*="right pointing"]:after{border-left:0.5em solid lui_get_colorscheme(light, color)}body .raised,body .luid-translations.open,body .luid-translations .luid-translations-dropdown,body .callout{box-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.2)}body .high.raised,body .high.luid-translations.open,body .luid-translations .high.luid-translations-dropdown,body .high.callout{box-shadow:0 0 20px 0 rgba(0, 0, 0, 0.2), 0 5px 5px 0 rgba(0, 0, 0, 0.24)}body .rounded{border-radius:3px;background-clip:padding-box}body .stuck{position:fixed !important;z-index:3}body [class*="top stuck"]{top:0;left:0;right:0;overflow-x:auto}body [class*="bottom stuck"]{bottom:0;left:0;right:0;overflow-x:auto}body [class*="middle stuck"]{top:50%;left:50%;transform:translate(-50%, -50%)}body [class*="left stuck"]{top:0;bottom:0;left:0;overflow-y:auto}body [class*="right stuck"]{top:0;bottom:0;right:0;overflow-y:auto}body [class*="top middle stuck"],body [class*="top left stuck"],body [class*="top right stuck"]{top:0;bottom:auto}body [class*="bottom middle stuck"],body [class*="bottom left stuck"],body [class*="bottom right stuck"]{top:auto;bottom:0}body .shown{display:block}body .hidden{display:none}body .invisible{pointer-events:none;visibility:hidden;opacity:0}body .faded{opacity:0.5}body .faded.strongly{opacity:0.25}body .faded.lightly{opacity:0.75}body .desaturated{-webkit-filter:grayscale(50%);filter:grayscale(50%)}body .desaturated.strongly{-webkit-filter:grayscale(75%);filter:grayscale(75%)}body .desaturated.lightly{-webkit-filter:grayscale(25%);filter:grayscale(25%)}body .desaturated.fully{-webkit-filter:grayscale(100%);filter:grayscale(100%)}body[deferred-cloak],body[data-deferred-cloak],body[x-deferred-cloak],body.deferred-cloak{display:none !important}@font-face{font-family:"lucca-icons";src:url("//cdn.lucca.fr/lucca-icons/fonts/lucca-icons.eot");src:url("//cdn.lucca.fr/lucca-icons/fonts/lucca-icons.eot?#iefix") format("embedded-opentype"),url("//cdn.lucca.fr/lucca-icons/fonts/lucca-icons.woff") format("woff"),url("//cdn.lucca.fr/lucca-icons/fonts/lucca-icons.ttf") format("truetype"),url("//cdn.lucca.fr/lucca-icons/fonts/lucca-icons.svg#lucca-icons") format("svg");font-weight:normal;font-style:normal}i.icon,body .button.icon:before{font-family:"lucca-icons";font-style:normal;font-weight:normal;font-variant:normal;text-decoration:none;text-transform:none;text-align:center;font-size:1em;speak:none;font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}i.icon:before,body .button.icon:before{display:block;margin-top:-1px}i.icon{display:inline-block;vertical-align:middle}i.icon.circular{width:2em;height:2em;padding:.5em;border-radius:50%}i.icon.flipped,i.icon.flipped[class*="horizontally flipped"]{transform:scale(-1, 1)}i.icon.flipped[class*="vertically flipped"]{transform:scale(1, -1)}i.icon.rotated,i.icon.rotated[class*="clockwise rotated"]{transform:rotate(90deg)}i.icon.rotated[class*="counterclockwise rotated"]{transform:rotate(-90deg)}.icon.breakfast[class*="breakfast"]:before{content:""}.icon.gallery[class*="gallery"]:before{content:""}.icon.lock[class*="lock"]:before{content:""}.icon.unlock[class*="unlock"]:before{content:""}.icon.north.chevron[class*="north chevron"]:before{content:""}.icon.south.chevron[class*="south chevron"]:before{content:""}.icon.west.chevron[class*="west chevron"]:before{content:""}.icon.east.chevron[class*="east chevron"]:before{content:""}.icon.west.arrow[class*="west arrow"]:before{content:""}.icon.east.arrow[class*="east arrow"]:before{content:""}.icon.north.arrow[class*="north arrow"]:before{content:""}.icon.south.arrow[class*="south arrow"]:before{content:""}.icon.attachment[class*="attachment"]:before{content:""}.icon.blocks[class*="blocks"]:before{content:""}.icon.branch[class*="branch"]:before{content:""}.icon.coffee[class*="coffee"]:before{content:""}.icon.check[class*="check"]:before{content:""}.icon.checkbox[class*="checkbox"]:before{content:""}.icon.checkbox.checked[class*="checkbox checked"]:before{content:""}.icon.checkbox.partial[class*="checkbox partial"]:before{content:""}.icon.clock[class*="clock"]:before{content:""}.icon.cross[class*="cross"]:before{content:""}.icon.calendar[class*="calendar"]:before{content:""}.icon.download[class*="download"]:before{content:""}.icon.edit[class*="edit"]:before{content:""}.icon.edit.frame[class*="edit frame"]:before{content:""}.icon.edit.mini[class*="edit mini"]:before{content:""}.icon.ellipsis[class*="ellipsis"]:before{content:""}.icon.error[class*="error"]:before{content:""}.icon.files[class*="files"]:before{content:""}.icon.filter[class*="filter"]:before{content:""}.icon.email[class*="email"]:before{content:""}.icon.user[class*="user"]:before{content:""}.icon.add.user[class*="add user"]:before{content:""}.icon.remove.user[class*="remove user"]:before{content:""}.icon.to.user[class*="to user"]:before{content:""}.icon.help[class*="help"]:before{content:""}.icon.forbidden[class*="forbidden"]:before{content:""}.icon.minus[class*="minus"]:before{content:""}.icon.move[class*="move"]:before{content:""}.icon.move.horizontally[class*="move horizontally"]:before{content:""}.icon.move.vertically[class*="move vertically"]:before{content:""}.icon.notification[class*="notification"]:before{content:""}.icon.outside[class*="outside"]:before{content:""}.icon.camera[class*="camera"]:before{content:""}.icon.printer[class*="printer"]:before{content:""}.icon.refresh[class*="refresh"]:before{content:""}.icon.drag[class*="drag"]:before{content:""}.icon.search[class*="search"]:before{content:""}.icon.send[class*="send"]:before{content:""}.icon.settings[class*="settings"]:before{content:""}.icon.comment[class*="comment"]:before{content:""}.icon.timer[class*="timer"]:before{content:""}.icon.trash[class*="trash"]:before{content:""}.icon.plus[class*="plus"]:before{content:""}.icon.upload[class*="upload"]:before{content:""}.icon.warning[class*="warning"]:before{content:""}.icon.bookmark[class*="bookmark"]:before{content:""}.icon.add.bookmark[class*="add bookmark"]:before{content:""}.icon.remove.bookmark[class*="remove bookmark"]:before{content:""}.icon.milestone[class*="milestone"]:before{content:""}.icon.quantity[class*="quantity"]:before{content:""}.icon.luggage[class*="luggage"]:before{content:""}.icon.train[class*="train"]:before{content:""}.icon.tools[class*="tools"]:before{content:""}.icon.dollar.toll[class*="dollar toll"]:before{content:""}.icon.euro.toll[class*="euro toll"]:before{content:""}.icon.taxi[class*="taxi"]:before{content:""}.icon.clean.car[class*="clean car"]:before{content:""}.icon.car[class*="car"]:before{content:""}.icon.postage[class*="postage"]:before{content:""}.icon.iron[class*="iron"]:before{content:""}.icon.plane[class*="plane"]:before{content:""}.icon.piggy.bank[class*="piggy bank"]:before{content:""}.icon.phone[class*="phone"]:before{content:""}.icon.parking[class*="parking"]:before{content:""}.icon.computer.mouse[class*="computer mouse"]:before{content:""}.icon.subway[class*="subway"]:before{content:""}.icon.meal[class*="meal"]:before{content:""}.icon.lunch[class*="lunch"]:before{content:""}.icon.mileage[class*="mileage"]:before{content:""}.icon.hotel[class*="hotel"]:before{content:""}.icon.gasoline[class*="gasoline"]:before{content:""}.icon.euro[class*="euro"]:before{content:""}.icon.drink[class*="drink"]:before{content:""}.icon.diner[class*="diner"]:before{content:""}.icon.dollar[class*="dollar"]:before{content:""}.icon.computer[class*="computer"]:before{content:""}.icon.bus[class*="bus"]:before{content:""}.icon.pin[class*="pin"]:before{content:""}.icon.analytics[class*="analytics"]:before{content:""}.icon.location[class*="location"]:before{content:""}.icon.tiles[class*="tiles"]:before{content:""}.icon.truck[class*="truck"]:before{content:""}.icon.bank.card[class*="bank card"]:before{content:""}.icon.database[class*="database"]:before{content:""}.icon.journey[class*="journey"]:before{content:""}.icon.pricetag[class*="pricetag"]:before{content:""}.icon.payment[class*="payment"]:before{content:""}.icon.analytical.allocation[class*="analytical allocation"]:before{content:""}.icon.tree.list[class*="tree list"]:before{content:""}.icon.jumping.cc[class*="jumping cc"]:before{content:""}.icon.drag2[class*="drag2"]:before{content:""}.icon.sliders[class*="sliders"]:before{content:""}.icon.roles[class*="roles"]:before{content:""}.icon.radio[class*="radio"]:before{content:""}.icon.radio.checked[class*="radio checked"]:before{content:""}.icon.imported.item[class*="imported item"]:before{content:""}.icon.headphones[class*="headphones"]:before{content:""}.icon.help.outline[class*="help outline"]:before{content:""}.icon.image[class*="image"]:before{content:""}.icon.import.cb[class*="import cb"]:before{content:""}.icon.list[class*="list"]:before{content:""}.icon.pristine.imported.item[class*="pristine imported item"]:before{content:""}.icon.rejected[class*="rejected"]:before{content:""}.icon.mosaic[class*="mosaic"]:before{content:""}.icon.customize[class*="customize"]:before{content:""}body .icon.x-small{font-size:.7em}body .icon.small{font-size:.85em}body .icon.regular{font-size:13px}body .icon.large{font-size:1.25em}body .icon.x-large{font-size:1.5em}body i.icon.grey{color:#666}body i.icon.light{color:#CCC}body i.icon.primary{color:#FFC900}body i.icon.secondary{color:#F60}body i.icon.red{color:#F60}body i.icon.orange{color:#F90}body i.icon.green{color:#5cb85c}body i.icon.yellow{color:#FFC900}body,html{width:100%;height:100%}body .clear,body .container,body .container .columns,body dl.definition-list,body .typeset dl,body .menu,body .menu>.item,body .callouts,body .fields{zoom:1}body .clear:before,body .container:before,body .container .columns:before,body dl.definition-list:before,body .typeset dl:before,body .menu:before,body .menu>.item:before,body .callouts:before,body .fields:before,body .clear:after,body .container:after,body .container .columns:after,body dl.definition-list:after,body .typeset dl:after,body .menu:after,body .menu>.item:after,body .callouts:after,body .fields:after{content:"";display:table}body .clear:after,body .container:after,body .container .columns:after,body dl.definition-list:after,body .typeset dl:after,body .menu:after,body .menu>.item:after,body .callouts:after,body .fields:after{clear:both}body [class*="left pulled"]{float:left}body [class*="right pulled"]{float:right}body .container{padding:0;width:auto}body .container .column{float:left;box-sizing:border-box;width:100%}body .container .column[class*="-pull-"],body .container .column[class*="-push-"]{position:relative}body .fitting.container{margin-left:0 !important;margin-right:0 !important}body .container.spaced .column,body .columns.spaced .column,body .container .column.spaced{padding:0 1em}body .container.spaced .columns{margin:0 -1em}@media (min-width: 320px){body .container{margin:0 1em}body .mobile-hide{display:none !important}body .mobile-show{display:block !important}body .container .column.mobile-offset-0{margin-left:0%}body .container .column.mobile-pull-0{left:0%}body .container .column.mobile-push-0{left:0%}body .container .column.mobile-1{width:8.3333333333%}body .container .column.mobile-offset-1{margin-left:8.3333333333%}body .container .column.mobile-pull-1{left:-8.3333333333%}body .container .column.mobile-push-1{left:8.3333333333%}body .container .column.mobile-2{width:16.6666666667%}body .container .column.mobile-offset-2{margin-left:16.6666666667%}body .container .column.mobile-pull-2{left:-16.6666666667%}body .container .column.mobile-push-2{left:16.6666666667%}body .container .column.mobile-3{width:25%}body .container .column.mobile-offset-3{margin-left:25%}body .container .column.mobile-pull-3{left:-25%}body .container .column.mobile-push-3{left:25%}body .container .column.mobile-4{width:33.3333333333%}body .container .column.mobile-offset-4{margin-left:33.3333333333%}body .container .column.mobile-pull-4{left:-33.3333333333%}body .container .column.mobile-push-4{left:33.3333333333%}body .container .column.mobile-5{width:41.6666666667%}body .container .column.mobile-offset-5{margin-left:41.6666666667%}body .container .column.mobile-pull-5{left:-41.6666666667%}body .container .column.mobile-push-5{left:41.6666666667%}body .container .column.mobile-6{width:50%}body .container .column.mobile-offset-6{margin-left:50%}body .container .column.mobile-pull-6{left:-50%}body .container .column.mobile-push-6{left:50%}body .container .column.mobile-7{width:58.3333333333%}body .container .column.mobile-offset-7{margin-left:58.3333333333%}body .container .column.mobile-pull-7{left:-58.3333333333%}body .container .column.mobile-push-7{left:58.3333333333%}body .container .column.mobile-8{width:66.6666666667%}body .container .column.mobile-offset-8{margin-left:66.6666666667%}body .container .column.mobile-pull-8{left:-66.6666666667%}body .container .column.mobile-push-8{left:66.6666666667%}body .container .column.mobile-9{width:75%}body .container .column.mobile-offset-9{margin-left:75%}body .container .column.mobile-pull-9{left:-75%}body .container .column.mobile-push-9{left:75%}body .container .column.mobile-10{width:83.3333333333%}body .container .column.mobile-offset-10{margin-left:83.3333333333%}body .container .column.mobile-pull-10{left:-83.3333333333%}body .container .column.mobile-push-10{left:83.3333333333%}body .container .column.mobile-11{width:91.6666666667%}body .container .column.mobile-offset-11{margin-left:91.6666666667%}body .container .column.mobile-pull-11{left:-91.6666666667%}body .container .column.mobile-push-11{left:91.6666666667%}body .container .column.mobile-12{width:100%}body .container .column.mobile-offset-12{margin-left:100%}body .container .column.mobile-pull-12{left:-100%}body .container .column.mobile-push-12{left:100%}}@media (min-width: 768px){body .container{margin:0 2em}body .tablet-hide{display:none !important}body .tablet-show{display:block !important}body .container .column.tablet-offset-0{margin-left:0%}body .container .column.tablet-pull-0{left:0%}body .container .column.tablet-push-0{left:0%}body .container .column.tablet-1{width:8.3333333333%}body .container .column.tablet-offset-1{margin-left:8.3333333333%}body .container .column.tablet-pull-1{left:-8.3333333333%}body .container .column.tablet-push-1{left:8.3333333333%}body .container .column.tablet-2{width:16.6666666667%}body .container .column.tablet-offset-2{margin-left:16.6666666667%}body .container .column.tablet-pull-2{left:-16.6666666667%}body .container .column.tablet-push-2{left:16.6666666667%}body .container .column.tablet-3{width:25%}body .container .column.tablet-offset-3{margin-left:25%}body .container .column.tablet-pull-3{left:-25%}body .container .column.tablet-push-3{left:25%}body .container .column.tablet-4{width:33.3333333333%}body .container .column.tablet-offset-4{margin-left:33.3333333333%}body .container .column.tablet-pull-4{left:-33.3333333333%}body .container .column.tablet-push-4{left:33.3333333333%}body .container .column.tablet-5{width:41.6666666667%}body .container .column.tablet-offset-5{margin-left:41.6666666667%}body .container .column.tablet-pull-5{left:-41.6666666667%}body .container .column.tablet-push-5{left:41.6666666667%}body .container .column.tablet-6{width:50%}body .container .column.tablet-offset-6{margin-left:50%}body .container .column.tablet-pull-6{left:-50%}body .container .column.tablet-push-6{left:50%}body .container .column.tablet-7{width:58.3333333333%}body .container .column.tablet-offset-7{margin-left:58.3333333333%}body .container .column.tablet-pull-7{left:-58.3333333333%}body .container .column.tablet-push-7{left:58.3333333333%}body .container .column.tablet-8{width:66.6666666667%}body .container .column.tablet-offset-8{margin-left:66.6666666667%}body .container .column.tablet-pull-8{left:-66.6666666667%}body .container .column.tablet-push-8{left:66.6666666667%}body .container .column.tablet-9{width:75%}body .container .column.tablet-offset-9{margin-left:75%}body .container .column.tablet-pull-9{left:-75%}body .container .column.tablet-push-9{left:75%}body .container .column.tablet-10{width:83.3333333333%}body .container .column.tablet-offset-10{margin-left:83.3333333333%}body .container .column.tablet-pull-10{left:-83.3333333333%}body .container .column.tablet-push-10{left:83.3333333333%}body .container .column.tablet-11{width:91.6666666667%}body .container .column.tablet-offset-11{margin-left:91.6666666667%}body .container .column.tablet-pull-11{left:-91.6666666667%}body .container .column.tablet-push-11{left:91.6666666667%}body .container .column.tablet-12{width:100%}body .container .column.tablet-offset-12{margin-left:100%}body .container .column.tablet-pull-12{left:-100%}body .container .column.tablet-push-12{left:100%}}@media (min-width: 992px){body .container{margin:0 3em}body .desktop-hide{display:none !important}body .desktop-show{display:block !important}body .container .column.desktop-offset-0{margin-left:0%}body .container .column.desktop-pull-0{left:0%}body .container .column.desktop-push-0{left:0%}body .container .column.desktop-1{width:8.3333333333%}body .container .column.desktop-offset-1{margin-left:8.3333333333%}body .container .column.desktop-pull-1{left:-8.3333333333%}body .container .column.desktop-push-1{left:8.3333333333%}body .container .column.desktop-2{width:16.6666666667%}body .container .column.desktop-offset-2{margin-left:16.6666666667%}body .container .column.desktop-pull-2{left:-16.6666666667%}body .container .column.desktop-push-2{left:16.6666666667%}body .container .column.desktop-3{width:25%}body .container .column.desktop-offset-3{margin-left:25%}body .container .column.desktop-pull-3{left:-25%}body .container .column.desktop-push-3{left:25%}body .container .column.desktop-4{width:33.3333333333%}body .container .column.desktop-offset-4{margin-left:33.3333333333%}body .container .column.desktop-pull-4{left:-33.3333333333%}body .container .column.desktop-push-4{left:33.3333333333%}body .container .column.desktop-5{width:41.6666666667%}body .container .column.desktop-offset-5{margin-left:41.6666666667%}body .container .column.desktop-pull-5{left:-41.6666666667%}body .container .column.desktop-push-5{left:41.6666666667%}body .container .column.desktop-6{width:50%}body .container .column.desktop-offset-6{margin-left:50%}body .container .column.desktop-pull-6{left:-50%}body .container .column.desktop-push-6{left:50%}body .container .column.desktop-7{width:58.3333333333%}body .container .column.desktop-offset-7{margin-left:58.3333333333%}body .container .column.desktop-pull-7{left:-58.3333333333%}body .container .column.desktop-push-7{left:58.3333333333%}body .container .column.desktop-8{width:66.6666666667%}body .container .column.desktop-offset-8{margin-left:66.6666666667%}body .container .column.desktop-pull-8{left:-66.6666666667%}body .container .column.desktop-push-8{left:66.6666666667%}body .container .column.desktop-9{width:75%}body .container .column.desktop-offset-9{margin-left:75%}body .container .column.desktop-pull-9{left:-75%}body .container .column.desktop-push-9{left:75%}body .container .column.desktop-10{width:83.3333333333%}body .container .column.desktop-offset-10{margin-left:83.3333333333%}body .container .column.desktop-pull-10{left:-83.3333333333%}body .container .column.desktop-push-10{left:83.3333333333%}body .container .column.desktop-11{width:91.6666666667%}body .container .column.desktop-offset-11{margin-left:91.6666666667%}body .container .column.desktop-pull-11{left:-91.6666666667%}body .container .column.desktop-push-11{left:91.6666666667%}body .container .column.desktop-12{width:100%}body .container .column.desktop-offset-12{margin-left:100%}body .container .column.desktop-pull-12{left:-100%}body .container .column.desktop-push-12{left:100%}}@media (min-width: 1200px){body .container{margin:0 5em}body .large-hide{display:none !important}body .large-show{display:block !important}body .container .column.large-offset-0{margin-left:0%}body .container .column.large-pull-0{left:0%}body .container .column.large-push-0{left:0%}body .container .column.large-1{width:8.3333333333%}body .container .column.large-offset-1{margin-left:8.3333333333%}body .container .column.large-pull-1{left:-8.3333333333%}body .container .column.large-push-1{left:8.3333333333%}body .container .column.large-2{width:16.6666666667%}body .container .column.large-offset-2{margin-left:16.6666666667%}body .container .column.large-pull-2{left:-16.6666666667%}body .container .column.large-push-2{left:16.6666666667%}body .container .column.large-3{width:25%}body .container .column.large-offset-3{margin-left:25%}body .container .column.large-pull-3{left:-25%}body .container .column.large-push-3{left:25%}body .container .column.large-4{width:33.3333333333%}body .container .column.large-offset-4{margin-left:33.3333333333%}body .container .column.large-pull-4{left:-33.3333333333%}body .container .column.large-push-4{left:33.3333333333%}body .container .column.large-5{width:41.6666666667%}body .container .column.large-offset-5{margin-left:41.6666666667%}body .container .column.large-pull-5{left:-41.6666666667%}body .container .column.large-push-5{left:41.6666666667%}body .container .column.large-6{width:50%}body .container .column.large-offset-6{margin-left:50%}body .container .column.large-pull-6{left:-50%}body .container .column.large-push-6{left:50%}body .container .column.large-7{width:58.3333333333%}body .container .column.large-offset-7{margin-left:58.3333333333%}body .container .column.large-pull-7{left:-58.3333333333%}body .container .column.large-push-7{left:58.3333333333%}body .container .column.large-8{width:66.6666666667%}body .container .column.large-offset-8{margin-left:66.6666666667%}body .container .column.large-pull-8{left:-66.6666666667%}body .container .column.large-push-8{left:66.6666666667%}body .container .column.large-9{width:75%}body .container .column.large-offset-9{margin-left:75%}body .container .column.large-pull-9{left:-75%}body .container .column.large-push-9{left:75%}body .container .column.large-10{width:83.3333333333%}body .container .column.large-offset-10{margin-left:83.3333333333%}body .container .column.large-pull-10{left:-83.3333333333%}body .container .column.large-push-10{left:83.3333333333%}body .container .column.large-11{width:91.6666666667%}body .container .column.large-offset-11{margin-left:91.6666666667%}body .container .column.large-pull-11{left:-91.6666666667%}body .container .column.large-push-11{left:91.6666666667%}body .container .column.large-12{width:100%}body .container .column.large-offset-12{margin-left:100%}body .container .column.large-pull-12{left:-100%}body .container .column.large-push-12{left:100%}}body .fitting.columns{display:-ms-flexbox;display:flex;overflow:hidden}body{font-size:13px;font-family:'Source Sans Pro', 'Tahoma', Verdana, Geneva, Helvetica, Arial, sans-serif;color:#666;line-height:1.4em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body .small,body small{font-size:.85em}body .italic{font-style:italic}body .bold,body b,body strong{font-weight:600}body h1,body h2,body h3,body h4,body h5,body h6{font-family:'Source Sans Pro', 'Tahoma', Verdana, Geneva, Helvetica, Arial, sans-serif;margin:0;padding:0em}body h1>.icon:not(.button),body h2>.icon:not(.button),body h3>.icon:not(.button),body h4>.icon:not(.button),body h5>.icon:not(.button),body h6>.icon:not(.button){margin-right:.5em;vertical-align:top;font-size:.8em}body h1>.icon:not(.button).right,body h2>.icon:not(.button).right,body h3>.icon:not(.button).right,body h4>.icon:not(.button).right,body h5>.icon:not(.button).right,body h6>.icon:not(.button).right{margin-left:.5em;margin-right:0}body h1{font-size:2.75em;line-height:1.25em;font-weight:300}body h2{font-size:2.25em;line-height:1.25em;font-weight:300}body h3{font-size:1.8em;line-height:1.3em;font-weight:400}body h4{font-size:1.5em;line-height:1.3em;font-weight:400}body h5{font-size:1.25em;line-height:1em;font-weight:400}body h6{font-size:1.1em;line-height:1em;font-weight:600}body h1 .sub,body h2 .sub,body h3 .sub,body h4 .sub,body h5 .sub,body h6 .sub{letter-spacing:normal;display:block;font-weight:400;font-size:.85em;color:#999;margin:0}body h1 .sub.inline,body h2 .sub.inline,body h3 .sub.inline,body h4 .sub.inline,body h5 .sub.inline,body h6 .sub.inline{display:inline-block;vertical-align:baseline;margin-left:1em}body .typeset hr{clear:both}body dl.definition-list dt,body .typeset dl dt{width:10em;font-weight:600;margin-bottom:1em}body dl.definition-list dt:after,body .typeset dl dt:after{content:":"}body dl.definition-list dd,body .typeset dl dd{width:calc(100% - 10em - 2em);font-weight:400;margin:0 0 1em 2em}body dl.definition-list dd,body dl.definition-list dt,body .typeset dl dd,body .typeset dl dt{float:left}body dl.definition-list dd:last-of-type,body dl.definition-list dt:last-of-type,body .typeset dl dd:last-of-type,body .typeset dl dt:last-of-type{margin-bottom:0}body [class*="center aligned"]{text-align:center}body [class*="left aligned"]{text-align:left}body [class*="right aligned"]{text-align:right}body [class*="justify aligned"]{text-align:justify}body .link,body a{cursor:pointer;color:#00b2ed;text-decoration:none}body .link:hover,body .link:active,body a:hover,body a:active{color:#21c8ff;text-decoration:underline}body .link:visited,body a:visited{color:#008cba}body .fancy.link{display:inline-block;vertical-align:baseline;position:relative}body .fancy.link,body .fancy.link:hover,body .fancy.link:active,body .fancy.link:visited{text-decoration:none}body .fancy.link:after{display:block;content:"";position:absolute;width:0%;top:100%;left:0;right:0;margin:0 auto;border-bottom:1px solid #21c8ff;-ms-transition:width .3s ease-out;transition:width .3s ease-out}body .fancy.link:visited:after{border-color:#008cba}body .fancy.link:hover:after{width:100%}body [class*="capitalized sentence"]::first-letter{text-transform:capitalize}body .capitalized:not([class*="capitalized sentence"]){text-transform:capitalize}body .uppercase{text-transform:uppercase}body .typeset h1,body .typeset h2,body .typeset h3,body .typeset h4,body .typeset h5,body .typeset h6{margin:1em 0 0.5em 0}body .typeset h1:first-child{margin-top:0}body .quote,body .typeset blockquote{font-size:1em;font-style:normal;border-left-width:1px;border-left-style:solid;border-left-color:rgba(50,50,50,0.2);margin:1em 0 1em 0;padding:0 0 0 1em}body .quote cite,body .typeset blockquote cite{display:block;font-size:1em;font-style:normal;font-weight:400}body .quote cite:before,body .typeset blockquote cite:before{display:inline-block;content:"\2014 \0020";margin-right:0.25em}body .keyboard.key,body .typeset kbd{display:inline-block;font-family:monospace;font-size:.9em;color:#666;background:#EFEFEF;border-radius:3px;border:1px solid #d6d6d6;padding:.25em .5em .25em .5em;box-shadow:0 2px 0 2px #bcbcbc;margin-left:2px;margin-right:2px}body .list,body .typeset ul,body .typeset ol{list-style:none}body .input.grey[class*="with addon"]>.addon{background-color:#666;border-color:#666;color:#fff;text-shadow:0 1px 1px #404040}body .input.light[class*="with addon"]>.addon{background-color:#CCC;border-color:#CCC;color:#666}body .input.primary[class*="with addon"]>.addon{background-color:#FFC900;border-color:#FFC900;color:#666}body .input.secondary[class*="with addon"]>.addon{background-color:#F60;border-color:#F60;color:#fff;text-shadow:0 1px 1px #b34700}body .input.red[class*="with addon"]>.addon{background-color:#F60;border-color:#F60;color:#fff;text-shadow:0 1px 1px #b34700}body .input.orange[class*="with addon"]>.addon{background-color:#F90;border-color:#F90;color:#fff;text-shadow:0 1px 1px #b36b00}body .input.green[class*="with addon"]>.addon{background-color:#5cb85c;border-color:#5cb85c;color:#fff;text-shadow:0 1px 1px #3d8b3d}body .input.yellow[class*="with addon"]>.addon{background-color:#FFC900;border-color:#FFC900;color:#666}body .input,body .checkbox,body .radio,body luid-timespan,body luid-moment{position:relative;display:inline-block;vertical-align:middle;-ms-flex-align:center;align-items:center}html:not(.ie9) body .input,html:not(.ie9) body .checkbox,html:not(.ie9) body .radio,html:not(.ie9) body luid-timespan,html:not(.ie9) body luid-moment{display:-ms-inline-flexbox;display:inline-flex}.ie9 body .input,.ie9 body .checkbox,.ie9 body .radio,.ie9 body luid-timespan,.ie9 body luid-moment{overflow:hidden}body .input>input,body .input>textarea,body .input>select,body .tagged.input,body luid-timespan>input,body luid-moment>.luid-moment{width:100%;border-radius:3px;border:1px solid #CCC;background:#fff;color:#666;font-weight:normal}body .input>input:focus,body .input>textarea:focus,body .input>select:focus,body .tagged.input:focus,body luid-timespan>input:focus,body luid-moment>.luid-moment:focus,body .input>input:active,body .input>textarea:active,body .input>select:active,body .tagged.input:active,body luid-timespan>input:active,body luid-moment>.luid-moment:active{outline:0;outline:none;border-color:#a6a6a6}body .input>input,body .tagged.input,body luid-timespan>input{padding:0 1em 0 1em;line-height:2.32em;min-height:2.32em;display:inline-block;-ms-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box;width:100%}.ie9 body .input>input,.ie9 body .tagged.input,.ie9 body luid-timespan>input{width:auto}body .input>input[type="checkbox"]{width:auto}body .input>input,body .input>textarea{cursor:text}body .input>input[type="checkbox"]{cursor:pointer}body .input>textarea{padding:.66em 1em .66em 1em}body .input>select{padding:.33em 1em .33em 1em}body .fitting.input{width:100%}body .x-short.input>input,body .x-short.field>input{min-width:0;width:5em !important}body .short.input>input,body .short.field>input{min-width:0;width:8em !important}body .medium.input>input,body .medium.field>input{min-width:0;width:15em !important}body .long.input>input,body .long.field>input{min-width:0;width:20em !important}body .x-long.input>input,body .x-long.field>input{min-width:0;width:25em !important}body .input.icon>input{padding-left:2.5em}body .input.icon .icon{position:absolute;z-index:2;top:0;bottom:0;height:100%;left:0;width:2.5em;margin-right:0.5em}body .input.icon .icon:before{position:absolute;top:50%;left:0;right:0;-ms-transform:translate(0, -50%);transform:translate(0, -50%)}body .input.icon[class*="left icon"]>input{padding-left:0;padding-right:2.5em}body .input.icon[class*="left icon"] .icon{left:auto;right:0;margin-right:0;margin-left:0.5em}body .input[class*="with addon"]>.addon{display:inline-block;position:relative;z-index:2;vertical-align:middle;border:1px solid #CCC;padding:0 1em 0 1em;background:#fff;line-height:2.32em;box-sizing:border-box}body .input[class*="with addon"]:not(.addons)>.addon:not([class*="right addon"]),body .input[class*="with addon"].addons>.addon:first-child{border-right:none;border-radius:3px 0 0 3px}body .input[class*="with addon"]:not(.addons)>.addon:not([class*="right addon"])+input,body .input[class*="with addon"].addons>.addon:first-child+input{border-radius:0 3px 3px 0}body .input[class*="with addon"]:not(.addons)>[class*="right addon"],body .input[class*="with addon"].addons .addon:last-child{border-radius:0 3px 3px 0;margin-left:-3px}body .input[class*="with addon"].addons>input{border-radius:0 !important}body .input[class*="with addon"] .addon.button{border:0;margin:0;min-width:inherit}body .input[class*="with addon"] .addon.button:not(.right){border-top-right-radius:0;border-bottom-right-radius:0}body .input[class*="with addon"] .addon.button.right{border-top-left-radius:0;border-bottom-left-radius:0}body .field,body .fields{margin:0.5em 0}body .field{vertical-align:middle;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:flex-start;-ms-flex-align:start;align-items:flex-start}html:not(.ie9) body .field{display:-ms-inline-flexbox;display:inline-flex}body .field>.input{width:100%}body .field>label+.input,body .field>.input+label{margin-top:0.25em}body .field.fitting{width:100%;display:-ms-flexbox;display:flex;display:flex !important}body .field>label{white-space:pre;font-weight:600}body .field>label,body .field>.input{display:block}body .field.invalid>label{color:#F60}body .field.invalid .with.addon .addon,body .field.invalid .with.addons .addon{border-color:#F60}body .fields .field:not(:last-of-type){padding-right:1em}@media (max-width: 768px){body .fields>.field{width:100% !important;padding-right:0 !important}}body .inline.field,body .inline.fields>.field{-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center}body .inline.field>label+.input,body .inline.field>.input+label,body .inline.fields>.field>label+.input,body .inline.fields>.field>.input+label{margin-left:0.5em}body .input.x-small{font-size:.7em}body .input.small{font-size:.85em}body .input.regular{font-size:13px}body .input.large{font-size:1.25em}body .input.x-large{font-size:1.5em}body .field.invalid>.input,body .field.invalid>.input>input,body .field.invalid>.input>select,body .field.invalid>.input>textarea,body .input.invalid,body .input.invalid>input,body .input.invalid>select,body .input.invalid>textarea,body .input.ng-invalid,body .input.ng-invalid>input,body .input.ng-invalid>select,body .input.ng-invalid>textarea,body luid-timespan.invalid>input,body luid-timespan.ng-invalid>input,body luid-moment.invalid .luid-moment,body luid-moment.ng-invalid .luid-moment{color:#F60;border-color:#F60}body .tagged.input{display:-ms-flexbox;display:flex}body .tagged.input>input{display:inline-block;border:none;width:auto;padding-left:0;padding-right:0;min-width:15em;-ms-flex:1 1 0%;flex:1 1 0%}body .tagged.input .tag{display:inline-block;line-height:1;font-weight:600;padding:0.25em 0.5em;margin:.1em;background-color:#f2f2f2;border:1px solid #CCC;border-radius:3px}body .tagged.input .tag.selected{background-color:#FFC900}body .tagged.input .tag a.close{display:inline-block;vertical-align:middle;color:gray;font-size:0.5em;padding:0.25em;margin-top:-0.1em}body .tagged.input .tag a.close:after{font-family:"lucca-icons";display:inline-block;vertical-align:middle;font-style:normal;content:"";margin-left:.5em}body .search.input:before{font-family:"lucca-icons";display:inline-block;vertical-align:middle;font-style:normal;content:"";margin-right:.5em}body .search.input>input{padding-left:2.5em}body .search.input.searching{display:inline-block;position:relative}body .search.input.searching:before,body .search.input.searching:after{box-sizing:border-box;display:block;content:"";width:1em;height:1em;border-radius:50%;border-width:2px;border-style:solid}body .search.input.searching:after{position:absolute;animation-name:spin;animation-iteration-count:infinite;top:50%;margin-top:-.5em;left:50%;margin-left:-.5em;animation-timing-function:linear}body .search.input.searching:before{border-color:rgba(0,0,0,0.25)}body .search.input.searching:after{border-color:rgba(0,0,0,0.5) transparent transparent transparent}.ie9 body .search.input.searching:before{border:none}.ie9 body .search.input.searching:after{border:none;margin:0;background:transparent url("../../../dist/ie_fallback_spinner.gif") no-repeat center center;background-size:contain}body .search.input.searching:after{margin-left:0;left:1em}body .search.input:before,body .search.input:after{cursor:text;display:inline-block;position:absolute;top:50%;left:1em;-ms-transform:translate(0, -50%);transform:translate(0, -50%)}body .search.input i.empty{font-style:normal;cursor:pointer;font-size:7px;width:16px;height:16px;text-align:center;border-radius:50%;right:1em;background:#CCC;color:#FFF}body .search.input i.empty:before{font-family:"lucca-icons";display:inline-block;vertical-align:middle;font-style:normal;content:"";margin-right:.5em}body .search.input i.empty,body .search.input i.empty:before{position:absolute;top:50%;transform:translateY(-50%)}body .search.input i.empty:before{right:0.6em;margin:0}body .search.input.tagged{padding-left:2.5em}.ie9 body .search.input{display:table;table-layout:auto;width:100% !important}.ie9 body .search.input>input,.ie9 body .search.input>.tags{display:table-cell}.ie9 body .search.input .tags{width:1%;white-space:nowrap}.ie9 body .search.input>input{width:100%}body .switch.input{display:inline-block;vertical-align:middle;position:relative;width:4.5em;height:2.25em}body .switch.input input{position:absolute;top:0;bottom:0;right:0;left:0;z-index:3;width:100%;height:100%;cursor:pointer;opacity:0;margin:0}body .switch.input label{display:block;width:100%;height:100%;position:relative;background:#666;color:#404040;-ms-transition:all .3s ease-out;transition:all .3s ease-out}body .switch.input label:before{font-family:"lucca-icons";display:inline-block;vertical-align:middle;font-style:normal;content:"";margin-right:.5em}body .switch.input label:after{font-family:"lucca-icons";display:inline-block;vertical-align:middle;font-style:normal;content:"";margin-left:.5em}body .switch.input label:before,body .switch.input label:after{display:block;position:absolute;top:50%;-ms-transform:translateY(-50%);transform:translateY(-50%);z-index:1}body .switch.input label:before{left:0.5em}body .switch.input label:after{right:0.5em}body .switch.input label span{background:#fff;display:block;position:absolute;top:0;bottom:0;left:0.5em;right:0;height:1.5em;width:1.5em;margin:auto 0;z-index:2;-ms-transition:all .3s ease-out;transition:all .3s ease-out}body .switch.input label span:before{position:absolute;top:0;bottom:0;left:0;right:0;content:'';display:block;height:50%;width:0.1em;background:#CCC;box-shadow:-0.2em 0 0 0 #CCC,0.2em 0 0 0 #CCC;margin:auto;-ms-transition:all .3s ease-out;transition:all .3s ease-out}body .switch.input input:checked ~ label{background:#FFC900;color:#b38d00}body .switch.input input:checked ~ label span{left:2.5em}body .checkbox{display:inline-block;vertical-align:middle;position:relative;line-height:1}body .checkbox input,body .checkbox label{margin:0}body .checkbox input[type="checkbox"]{position:absolute;left:0;top:0;z-index:2;width:100%;height:100%;cursor:pointer;opacity:0}body .checkbox label{color:#666;display:block;position:relative;padding:0;padding-left:2.5em;line-height:1.5em}body .checkbox label:before{font-family:"lucca-icons";display:inline-block;vertical-align:middle;font-style:normal;content:"";margin-right:.5em}body .checkbox label:before{position:absolute;top:50%;transform:translateY(-50%);left:0;display:inline-block;font-size:1.5em;color:#CCC}body .checkbox label:after{display:inline-block;content:""}body .checkbox input:checked ~ label:before{font-family:"lucca-icons";display:inline-block;vertical-align:middle;font-style:normal;content:"";margin-right:.5em}body .checkbox input:checked ~ label:before{color:#FFC900}body .checkbox input.partial:checked ~ label:before{font-family:"lucca-icons";display:inline-block;vertical-align:middle;font-style:normal;content:"";margin-right:.5em}body .checkbox+label{margin-left:1em}body .checkbox.readonly label,body .checkbox.readonly input{cursor:default}body .checkbox.readonly input{display:none}body .checkbox.fitting{float:left;clear:both}body .checkbox.solo label{padding-left:1.5em}body .checkbox.icon[class*="checkbox checked"]:before{color:#FFC900}body .checkbox.icon:before{font-size:1.5em;color:#CCC}body .checkbox.icon.button{padding:0.25em}body .checkbox.icon.button:before{margin:auto}body .radio{display:inline-block;margin-right:2em;vertical-align:middle;position:relative;line-height:1}body .radio input,body .radio label{margin:0}body .radio input[type="radio"]{position:absolute;left:0;top:0;z-index:2;width:100%;height:100%;cursor:pointer;opacity:0}body .radio label{color:#666;display:block;position:relative;padding:0;padding-left:2.5em;line-height:1.5}body .radio label:before{font-family:"lucca-icons";display:inline-block;vertical-align:middle;font-style:normal;content:"";margin-right:.5em}body .radio label:before,body .radio label:after{position:absolute;top:50%;transform:translateY(-50%);left:0;display:inline-block;font-size:1.5em;color:#CCC}body .radio input:checked ~ label:before{font-family:"lucca-icons";display:inline-block;vertical-align:middle;font-style:normal;content:"";margin-right:.5em}body .radio input:checked ~ label:before{color:#FFC900}body .radio+label{margin-left:1em}body .radio.readonly label,body .radio.readonly input{cursor:default}body .radio.readonly input{display:none}body .radio.fitting{float:left;clear:both}body .radio.icon[class*="radio checked"]:before{color:#FFC900}body .radio.icon:before{font-size:1.5em;color:#CCC}body .radio.icon.button{padding:0.25em}body .radio.icon.button:before{margin:auto}body luid-timespan>input{width:5em}body .inline.field label+luid-timespan{margin-left:0.5em}body luid-moment{max-width:5.25em;overflow:visible !important}body luid-moment>.luid-moment{padding:0 !important}body luid-moment:active,body luid-moment:focus{box-shadow:none}body luid-moment input{box-sizing:border-box;line-height:2.32em;display:inline-block;background-color:transparent;border:none;width:2.2em;height:2.32em}body luid-moment input:first-child{padding-left:1em}body luid-moment input:last-child{padding-right:1em}body luid-moment input:focus,body luid-moment input:active{outline:none;box-shadow:none}body luid-moment input:nth-child(1){text-align:right}body luid-moment .mp-button{line-height:1.5em;font-size:75%;position:absolute;z-index:999;cursor:pointer;width:50%;text-align:center;color:#FFF;background-color:#CCC}body luid-moment .mp-button.top{bottom:100%}body luid-moment .mp-button.bottom{top:100%}body luid-moment .mp-button.left{left:0}body luid-moment .mp-button.right{right:0}body luid-moment.invalid .luid-moment .mp-button,body luid-moment.ng-invalid .luid-moment .mp-button{background-color:#F60 !important}body .inline.field label+luid-moment{margin-left:0.5em}body .luid-translations{display:inline-block;position:relative}body .luid-translations .luid-translations-dropdown{position:absolute;z-index:3;top:100%;left:-1px;right:-1px;-ms-flex-direction:column;flex-direction:column;visibility:hidden}html:not(.ie9) body .luid-translations .luid-translations-dropdown{display:-ms-inline-flexbox;display:inline-flex}body .luid-translations .luid-translations-dropdown>.input:not(:last-child){margin-bottom:0.5em}body .luid-translations.open,body .luid-translations .luid-translations-dropdown{background-color:#fff;padding:.5em;border:1px solid #CCC}body .luid-translations.open{margin:calc(-.5em - 1px);border-bottom:none}body .luid-translations.open .luid-translations-dropdown{border-top:none;visibility:visible;animation-name:upSlideIn}.ie9 body .luid-translations.open .luid-translations-dropdown{display:block;opacity:1;height:auto}body .luid-translations.x-short input{min-width:5em !important}body .luid-translations.short input{min-width:8em !important}body .luid-translations.medium input{min-width:15em !important}body .luid-translations.long input{min-width:20em !important}body .luid-translations.x-long input{min-width:25em !important}body .luid-translations.fitting{display:block}body .luid-translations.fitting>.input{width:100%;display:-ms-flexbox;display:flex;display:flex !important}body .button,body .button.fake{line-height:1;display:inline-block;vertical-align:middle;box-sizing:border-box;min-height:1em;min-width:3em;padding:.66em 1em;margin:.25em .25em;white-space:nowrap}body .button{text-transform:normal;text-shadow:none;text-align:center;box-shadow:0 0 0 1px rgba(50,50,50,0.2) inset;border-radius:3px;transition-property:background,box-shadow,color;-moz-transition-duration:.3s;-o-transition-duration:.3s;-webkit-transition-duration:.3s;transition-duration:.3s;-moz-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}body a.button,body a.button:hover,body a.button:active,body a.button:visited{color:#666;text-decoration:none}body .button.disabled,body .button[disabled]{opacity:.5;-webkit-filter:grayscale(50%);filter:grayscale(50%);cursor:normal;pointer-events:none}body .button:not(.wired):hover{box-shadow:0 0 0 1px rgba(50,50,50,0.2) inset,0 1px 2px 0 rgba(0, 0, 0, 0.2)}body .button:not(.wired):active,body .button:not(.wired).active{box-shadow:0 0 0 1px rgba(50,50,50,0.2) inset}body .button.inverted{background:transparent;box-shadow:0 0 0 2px rgba(200,200,200,0.75) inset;color:rgba(200,200,200,0.75)}body .button.wired[class*="with addon"]>.addon{background-color:transparent}body .button.wired[class*="with addon"]:hover>.addon{border-width:2px}body .button.flat{background-color:transparent;color:#666;text-decoration:underline;box-shadow:none}body .button.flat:hover,body .button.flat:active,body .button.flat.active{background:rgba(0,0,0,0.1);box-shadow:0 0 0 1px rgba(50,50,50,0.1)}body .button.flat:hover{background:rgba(0,0,0,0.05)}body .button.flat:active{background:rgba(0,0,0,0.1)}body .button.flat:before,body .button.flat:after{text-decoration:none}body .button.flat.icon{text-decoration:none}body .button.flat[class*="with addon"]>.addon,body .button.flat[class*="with addons"]>.addon{border-right:none !important;background-color:transparent}body .button.flat.inverted{color:rgba(200,200,200,0.75)}body .button.flat.inverted:hover{background:rgba(200,200,200,0.1)}body .button.flat.inverted:active{background:rgba(255,255,255,0.25)}body .button:not(.inverted):not(.flat):not(.filling):not(.wired){background:#fff;color:#666}body .button:not(.inverted):not(.flat):not(.filling):not(.wired):hover{background:#fff}body .button:not(.inverted):not(.flat):not(.filling):not(.wired):active,body .button:not(.inverted):not(.flat):not(.filling):not(.wired).active{background:#f2f2f2}body .button.inverted:not(.flat){background:transparent}body .button.inverted:not(.flat):hover{box-shadow:0 0 0 2px #fff inset;color:#fff}body .button.inverted:not(.flat).filling:hover{color:#666}body .button.inverted:not(.flat)[class*="with addon"]>.addon{border-color:#fff}body .button.filling:hover,body .button.filling:active,body .button.filling.active{background:#fff;color:#666}body .button.wired{background:transparent}body .button.wired:not(.inverted):hover,body .button.wired:not(.inverted):active,body .button.wired:not(.inverted).active{box-shadow:0 0 0 2px #fff inset;color:#fff}body .button.wired:not(.inverted):hover[class*="with addon"]>.addon,body .button.wired:not(.inverted):active[class*="with addon"]>.addon,body .button.wired:not(.inverted).active[class*="with addon"]>.addon{border-color:#fff}body .button.status.ok:after,body .button.status.ok>.addon:after,body .button.status.failure:after,body .button.status.failure>.addon:after{color:#666 !important}body .button.grey:not(.inverted):not(.flat):not(.filling):not(.wired){background:#666;color:#fff}body .button.grey:not(.inverted):not(.flat):not(.filling):not(.wired):hover{background:#737373}body .button.grey:not(.inverted):not(.flat):not(.filling):not(.wired):active,body .button.grey:not(.inverted):not(.flat):not(.filling):not(.wired).active{background:#595959}body .button.grey.inverted:not(.flat){background:transparent}body .button.grey.inverted:not(.flat):hover{box-shadow:0 0 0 2px #666 inset;color:#666}body .button.grey.inverted:not(.flat).filling:hover{color:#fff}body .button.grey.inverted:not(.flat)[class*="with addon"]>.addon{border-color:#666}body .button.grey.filling:hover,body .button.grey.filling:active,body .button.grey.filling.active{background:#666;color:#fff}body .button.grey.wired{background:transparent}body .button.grey.wired:not(.inverted):hover,body .button.grey.wired:not(.inverted):active,body .button.grey.wired:not(.inverted).active{box-shadow:0 0 0 2px #666 inset;color:#666}body .button.grey.wired:not(.inverted):hover[class*="with addon"]>.addon,body .button.grey.wired:not(.inverted):active[class*="with addon"]>.addon,body .button.grey.wired:not(.inverted).active[class*="with addon"]>.addon{border-color:#666}body .button.grey.status.ok:after,body .button.grey.status.ok>.addon:after,body .button.grey.status.failure:after,body .button.grey.status.failure>.addon:after{color:#fff !important}body .button.grey.status.loading:not([class*="with addon"]):before,body .button.grey.status.loading[class*="with addon"]>.addon:before{border-color:rgba(255,255,255,0.25)}body .button.grey.status.loading:not([class*="with addon"]):after,body .button.grey.status.loading[class*="with addon"]>.addon:after{border-color:rgba(255,255,255,0.75) transparent transparent transparent}body .button.light:not(.inverted):not(.flat):not(.filling):not(.wired){background:#CCC;color:#666}body .button.light:not(.inverted):not(.flat):not(.filling):not(.wired):hover{background:#d9d9d9}body .button.light:not(.inverted):not(.flat):not(.filling):not(.wired):active,body .button.light:not(.inverted):not(.flat):not(.filling):not(.wired).active{background:#bfbfbf}body .button.light.inverted:not(.flat){background:transparent}body .button.light.inverted:not(.flat):hover{box-shadow:0 0 0 2px #CCC inset;color:#CCC}body .button.light.inverted:not(.flat).filling:hover{color:#666}body .button.light.inverted:not(.flat)[class*="with addon"]>.addon{border-color:#CCC}body .button.light.filling:hover,body .button.light.filling:active,body .button.light.filling.active{background:#CCC;color:#666}body .button.light.wired{background:transparent}body .button.light.wired:not(.inverted):hover,body .button.light.wired:not(.inverted):active,body .button.light.wired:not(.inverted).active{box-shadow:0 0 0 2px #CCC inset;color:#CCC}body .button.light.wired:not(.inverted):hover[class*="with addon"]>.addon,body .button.light.wired:not(.inverted):active[class*="with addon"]>.addon,body .button.light.wired:not(.inverted).active[class*="with addon"]>.addon{border-color:#CCC}body .button.light.status.ok:after,body .button.light.status.ok>.addon:after,body .button.light.status.failure:after,body .button.light.status.failure>.addon:after{color:#666 !important}body .button.primary:not(.inverted):not(.flat):not(.filling):not(.wired){background:#FFC900;color:#666}body .button.primary:not(.inverted):not(.flat):not(.filling):not(.wired):hover{background:#ffce1a}body .button.primary:not(.inverted):not(.flat):not(.filling):not(.wired):active,body .button.primary:not(.inverted):not(.flat):not(.filling):not(.wired).active{background:#e6b500}body .button.primary.inverted:not(.flat){background:transparent}body .button.primary.inverted:not(.flat):hover{box-shadow:0 0 0 2px #FFC900 inset;color:#FFC900}body .button.primary.inverted:not(.flat).filling:hover{color:#666}body .button.primary.inverted:not(.flat)[class*="with addon"]>.addon{border-color:#FFC900}body .button.primary.filling:hover,body .button.primary.filling:active,body .button.primary.filling.active{background:#FFC900;color:#666}body .button.primary.wired{background:transparent}body .button.primary.wired:not(.inverted):hover,body .button.primary.wired:not(.inverted):active,body .button.primary.wired:not(.inverted).active{box-shadow:0 0 0 2px #FFC900 inset;color:#FFC900}body .button.primary.wired:not(.inverted):hover[class*="with addon"]>.addon,body .button.primary.wired:not(.inverted):active[class*="with addon"]>.addon,body .button.primary.wired:not(.inverted).active[class*="with addon"]>.addon{border-color:#FFC900}body .button.primary.status.ok:after,body .button.primary.status.ok>.addon:after,body .button.primary.status.failure:after,body .button.primary.status.failure>.addon:after{color:#666 !important}body .button.secondary:not(.inverted):not(.flat):not(.filling):not(.wired){background:#F60;color:#fff}body .button.secondary:not(.inverted):not(.flat):not(.filling):not(.wired):hover{background:#ff751a}body .button.secondary:not(.inverted):not(.flat):not(.filling):not(.wired):active,body .button.secondary:not(.inverted):not(.flat):not(.filling):not(.wired).active{background:#e65c00}body .button.secondary.inverted:not(.flat){background:transparent}body .button.secondary.inverted:not(.flat):hover{box-shadow:0 0 0 2px #F60 inset;color:#F60}body .button.secondary.inverted:not(.flat).filling:hover{color:#fff}body .button.secondary.inverted:not(.flat)[class*="with addon"]>.addon{border-color:#F60}body .button.secondary.filling:hover,body .button.secondary.filling:active,body .button.secondary.filling.active{background:#F60;color:#fff}body .button.secondary.wired{background:transparent}body .button.secondary.wired:not(.inverted):hover,body .button.secondary.wired:not(.inverted):active,body .button.secondary.wired:not(.inverted).active{box-shadow:0 0 0 2px #F60 inset;color:#F60}body .button.secondary.wired:not(.inverted):hover[class*="with addon"]>.addon,body .button.secondary.wired:not(.inverted):active[class*="with addon"]>.addon,body .button.secondary.wired:not(.inverted).active[class*="with addon"]>.addon{border-color:#F60}body .button.secondary.status.ok:after,body .button.secondary.status.ok>.addon:after,body .button.secondary.status.failure:after,body .button.secondary.status.failure>.addon:after{color:#fff !important}body .button.secondary.status.loading:not([class*="with addon"]):before,body .button.secondary.status.loading[class*="with addon"]>.addon:before{border-color:rgba(255,255,255,0.25)}body .button.secondary.status.loading:not([class*="with addon"]):after,body .button.secondary.status.loading[class*="with addon"]>.addon:after{border-color:rgba(255,255,255,0.75) transparent transparent transparent}body .button.red:not(.inverted):not(.flat):not(.filling):not(.wired){background:#F60;color:#fff}body .button.red:not(.inverted):not(.flat):not(.filling):not(.wired):hover{background:#ff751a}body .button.red:not(.inverted):not(.flat):not(.filling):not(.wired):active,body .button.red:not(.inverted):not(.flat):not(.filling):not(.wired).active{background:#e65c00}body .button.red.inverted:not(.flat){background:transparent}body .button.red.inverted:not(.flat):hover{box-shadow:0 0 0 2px #F60 inset;color:#F60}body .button.red.inverted:not(.flat).filling:hover{color:#fff}body .button.red.inverted:not(.flat)[class*="with addon"]>.addon{border-color:#F60}body .button.red.filling:hover,body .button.red.filling:active,body .button.red.filling.active{background:#F60;color:#fff}body .button.red.wired{background:transparent}body .button.red.wired:not(.inverted):hover,body .button.red.wired:not(.inverted):active,body .button.red.wired:not(.inverted).active{box-shadow:0 0 0 2px #F60 inset;color:#F60}body .button.red.wired:not(.inverted):hover[class*="with addon"]>.addon,body .button.red.wired:not(.inverted):active[class*="with addon"]>.addon,body .button.red.wired:not(.inverted).active[class*="with addon"]>.addon{border-color:#F60}body .button.red.status.ok:after,body .button.red.status.ok>.addon:after,body .button.red.status.failure:after,body .button.red.status.failure>.addon:after{color:#fff !important}body .button.red.status.loading:not([class*="with addon"]):before,body .button.red.status.loading[class*="with addon"]>.addon:before{border-color:rgba(255,255,255,0.25)}body .button.red.status.loading:not([class*="with addon"]):after,body .button.red.status.loading[class*="with addon"]>.addon:after{border-color:rgba(255,255,255,0.75) transparent transparent transparent}body .button.orange:not(.inverted):not(.flat):not(.filling):not(.wired){background:#F90;color:#fff}body .button.orange:not(.inverted):not(.flat):not(.filling):not(.wired):hover{background:#ffa31a}body .button.orange:not(.inverted):not(.flat):not(.filling):not(.wired):active,body .button.orange:not(.inverted):not(.flat):not(.filling):not(.wired).active{background:#e68a00}body .button.orange.inverted:not(.flat){background:transparent}body .button.orange.inverted:not(.flat):hover{box-shadow:0 0 0 2px #F90 inset;color:#F90}body .button.orange.inverted:not(.flat).filling:hover{color:#fff}body .button.orange.inverted:not(.flat)[class*="with addon"]>.addon{border-color:#F90}body .button.orange.filling:hover,body .button.orange.filling:active,body .button.orange.filling.active{background:#F90;color:#fff}body .button.orange.wired{background:transparent}body .button.orange.wired:not(.inverted):hover,body .button.orange.wired:not(.inverted):active,body .button.orange.wired:not(.inverted).active{box-shadow:0 0 0 2px #F90 inset;color:#F90}body .button.orange.wired:not(.inverted):hover[class*="with addon"]>.addon,body .button.orange.wired:not(.inverted):active[class*="with addon"]>.addon,body .button.orange.wired:not(.inverted).active[class*="with addon"]>.addon{border-color:#F90}body .button.orange.status.ok:after,body .button.orange.status.ok>.addon:after,body .button.orange.status.failure:after,body .button.orange.status.failure>.addon:after{color:#fff !important}body .button.orange.status.loading:not([class*="with addon"]):before,body .button.orange.status.loading[class*="with addon"]>.addon:before{border-color:rgba(255,255,255,0.25)}body .button.orange.status.loading:not([class*="with addon"]):after,body .button.orange.status.loading[class*="with addon"]>.addon:after{border-color:rgba(255,255,255,0.75) transparent transparent transparent}body .button.green:not(.inverted):not(.flat):not(.filling):not(.wired){background:#5cb85c;color:#fff}body .button.green:not(.inverted):not(.flat):not(.filling):not(.wired):hover{background:#6ec06e}body .button.green:not(.inverted):not(.flat):not(.filling):not(.wired):active,body .button.green:not(.inverted):not(.flat):not(.filling):not(.wired).active{background:#4cae4c}body .button.green.inverted:not(.flat){background:transparent}body .button.green.inverted:not(.flat):hover{box-shadow:0 0 0 2px #5cb85c inset;color:#5cb85c}body .button.green.inverted:not(.flat).filling:hover{color:#fff}body .button.green.inverted:not(.flat)[class*="with addon"]>.addon{border-color:#5cb85c}body .button.green.filling:hover,body .button.green.filling:active,body .button.green.filling.active{background:#5cb85c;color:#fff}body .button.green.wired{background:transparent}body .button.green.wired:not(.inverted):hover,body .button.green.wired:not(.inverted):active,body .button.green.wired:not(.inverted).active{box-shadow:0 0 0 2px #5cb85c inset;color:#5cb85c}body .button.green.wired:not(.inverted):hover[class*="with addon"]>.addon,body .button.green.wired:not(.inverted):active[class*="with addon"]>.addon,body .button.green.wired:not(.inverted).active[class*="with addon"]>.addon{border-color:#5cb85c}body .button.green.status.ok:after,body .button.green.status.ok>.addon:after,body .button.green.status.failure:after,body .button.green.status.failure>.addon:after{color:#fff !important}body .button.green.status.loading:not([class*="with addon"]):before,body .button.green.status.loading[class*="with addon"]>.addon:before{border-color:rgba(255,255,255,0.25)}body .button.green.status.loading:not([class*="with addon"]):after,body .button.green.status.loading[class*="with addon"]>.addon:after{border-color:rgba(255,255,255,0.75) transparent transparent transparent}body .button.yellow:not(.inverted):not(.flat):not(.filling):not(.wired){background:#FFC900;color:#666}body .button.yellow:not(.inverted):not(.flat):not(.filling):not(.wired):hover{background:#ffce1a}body .button.yellow:not(.inverted):not(.flat):not(.filling):not(.wired):active,body .button.yellow:not(.inverted):not(.flat):not(.filling):not(.wired).active{background:#e6b500}body .button.yellow.inverted:not(.flat){background:transparent}body .button.yellow.inverted:not(.flat):hover{box-shadow:0 0 0 2px #FFC900 inset;color:#FFC900}body .button.yellow.inverted:not(.flat).filling:hover{color:#666}body .button.yellow.inverted:not(.flat)[class*="with addon"]>.addon{border-color:#FFC900}body .button.yellow.filling:hover,body .button.yellow.filling:active,body .button.yellow.filling.active{background:#FFC900;color:#666}body .button.yellow.wired{background:transparent}body .button.yellow.wired:not(.inverted):hover,body .button.yellow.wired:not(.inverted):active,body .button.yellow.wired:not(.inverted).active{box-shadow:0 0 0 2px #FFC900 inset;color:#FFC900}body .button.yellow.wired:not(.inverted):hover[class*="with addon"]>.addon,body .button.yellow.wired:not(.inverted):active[class*="with addon"]>.addon,body .button.yellow.wired:not(.inverted).active[class*="with addon"]>.addon{border-color:#FFC900}body .button.yellow.status.ok:after,body .button.yellow.status.ok>.addon:after,body .button.yellow.status.failure:after,body .button.yellow.status.failure>.addon:after{color:#666 !important}body .buttons{display:inline-block;vertical-align:middle;margin:.25em 0}body .buttons+.buttons{margin-left:1em}body .buttons>.button{float:left;margin:0;margin-left:-1px;-ms-flex-item-align:stretch !important;align-self:stretch !important;border-radius:0}body .buttons>.button.wired:hover{position:relative;z-index:2}body .buttons>.button:first-child{border-radius:3px 0 0 3px}body .buttons>.button:last-child{border-radius:0 3px 3px 0}body .buttons>.buttons{margin:0}html:not(.ie9) body .buttons{display:-ms-inline-flexbox;display:inline-flex}.ie9 body .buttons{display:inline-table}.ie9 body .buttons>.button{display:table-cell}body .buttons.vertical{-ms-flex-direction:column;flex-direction:column}body .buttons.vertical>.button{float:none;display:block;border-radius:0;margin-top:-1px}body .buttons.vertical>.button:first-child{border-radius:3px 3px 0 0}body .buttons.vertical>.button:last-child{border-radius:0 0 3px 3px}body .button.squared,body .buttons.squared>.button{border-radius:0}body .buttons.justified{width:100%}.ie9 body .buttons.justified{display:table;table-layout:fixed}.ie9 body .buttons.justified>.button{display:table-cell;text-align:center}body .buttons.justified>.button{float:none;-ms-flex:1 1 auto;flex:1 1 auto}body .button.icon:before{display:inline-block}body .button .icon{margin-right:0.5em}body .button .icon[class*="right icon"]{margin-left:0.5em;margin-right:0}body .button[class*="with addon"]{position:relative}body .button[class*="with addon"]>.addon{position:absolute;z-index:1;top:0;bottom:0;width:2.5em;height:100%;margin:0;background:rgba(0,0,0,0.1);-ms-transition:border .3s ease-out;transition:border .3s ease-out}body .button[class*="with addon"]>.addon.icon:before{position:absolute;top:50%;left:50%;-ms-transform:translate(-50%, -50%);transform:translate(-50%, -50%)}body .button[class*="with addon"]:not(.right){padding-left:3.5em}body .button[class*="with addon"]:not(.right)>.addon{left:0;border-right:1px solid rgba(50,50,50,0.2)}body .button[class*="with addon"].right{padding-right:3.5em}body .button[class*="with addon"].right>.addon{right:0;border-left:1px rgba(50,50,50,0.2)}body .button.status{position:relative}body .button.status:not([class*="with addon"]),body .button.status[class*="with addon"]>.addon:before{color:transparent !important}body .button.status[class*="with addon"].loading>.addon,body .button.status:not([class*="with addon"]).loading{display:inline-block;position:relative}body .button.status[class*="with addon"].loading>.addon:before,body .button.status[class*="with addon"].loading>.addon:after,body .button.status:not([class*="with addon"]).loading:before,body .button.status:not([class*="with addon"]).loading:after{box-sizing:border-box;display:block;content:"";width:1em;height:1em;border-radius:50%;border-width:2px;border-style:solid}body .button.status[class*="with addon"].loading>.addon:after,body .button.status:not([class*="with addon"]).loading:after{position:absolute;animation-name:spin;animation-iteration-count:infinite;top:50%;margin-top:-.5em;left:50%;margin-left:-.5em;animation-timing-function:linear}body .button.status[class*="with addon"].loading>.addon:before,body .button.status:not([class*="with addon"]).loading:before{border-color:rgba(0,0,0,0.25)}body .button.status[class*="with addon"].loading>.addon:after,body .button.status:not([class*="with addon"]).loading:after{border-color:rgba(0,0,0,0.5) transparent transparent transparent}.ie9 body .button.status[class*="with addon"].loading>.addon:before,.ie9 body .button.status:not([class*="with addon"]).loading:before{border:none}.ie9 body .button.status[class*="with addon"].loading>.addon:after,.ie9 body .button.status:not([class*="with addon"]).loading:after{border:none;margin:0;background:transparent url("../../../dist/ie_fallback_spinner.gif") no-repeat center center;background-size:contain}body .button.status[class*="with addon"].ok>.addon:after,body .button.status:not([class*="with addon"]).ok:after{font-family:"lucca-icons";display:inline-block;vertical-align:middle;font-style:normal;content:"";margin-left:.5em}body .button.status[class*="with addon"].failure>.addon:after,body .button.status:not([class*="with addon"]).failure:after{font-family:"lucca-icons";display:inline-block;vertical-align:middle;font-style:normal;content:"";margin-left:.5em}body .button.status[class*="with addon"]>.addon{position:absolute !important}body .button.status.loading:not([class*="with addon"]):not(.icon):before,body .button.status.ok:not([class*="with addon"]):after,body .button.status.ok[class*="with addon"]>.addon:after,body .button.status.failure:not([class*="with addon"]):after,body .button.status.failure[class*="with addon"]>.addon:after{position:absolute;margin:0 !important;left:50%;top:50%;-ms-transform:translate(-50%, -50%);transform:translate(-50%, -50%)}body .button.x-small,body .buttons.x-small{font-size:.7em}body .button.small,body .buttons.small{font-size:.85em}body .button.regular,body .buttons.regular{font-size:13px}body .button.large,body .buttons.large{font-size:1.25em}body .button.x-large,body .buttons.x-large{font-size:1.5em}body h1 .button,body h2 .button,body h3 .button,body h4 .button,body h5 .button,body h6 .button{vertical-align:middle;margin:0 0.5em}body .typeset hr,body .divider{width:100%;box-sizing:border-box;letter-spacing:0.025em;border-width:0;margin:13px 0;border-bottom:1px solid rgba(50,50,50,0.2)}body .divider[class*="top divider"]{border-bottom:none;border-top:1px solid rgba(50,50,50,0.2)}body .divider.double{border-top:1px solid rgba(50,50,50,0.2)}body .divider.dashed{border-style:dashed}body .divider.dotted{border-style:dotted}body .divider.inverted{border-color:rgba(255,255,255,0.2)}body h1.divider,body h2.divider,body h3.divider,body h4.divider,body h5.divider,body h6.divider{padding-bottom:0.5em;margin:1em 0}body h1.divider.spaced,body h2.divider.spaced,body h3.divider.spaced,body h4.divider.spaced,body h5.divider.spaced,body h6.divider.spaced{padding:inherit 1em}body h1.divider.below,body h2.divider.below,body h3.divider.below,body h4.divider.below,body h5.divider.below,body h6.divider.below{height:auto;border-top-width:0;display:table;width:100%;white-space:nowrap;line-height:1em;text-align:center;padding-bottom:0.2em;border:none}body h1.divider.below:before,body h1.divider.below:after,body h2.divider.below:before,body h2.divider.below:after,body h3.divider.below:before,body h3.divider.below:after,body h4.divider.below:before,body h4.divider.below:after,body h5.divider.below:before,body h5.divider.below:after,body h6.divider.below:before,body h6.divider.below:after{content:"";display:table-cell;width:50%;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGhlaWdodD0iMSIgd2lkdGg9IjEwMCUiPg0KICA8bGluZSB4MT0iMCIgeTE9IjAiIHgyPSIxMDAlIiB5Mj0iMCIgc3R5bGU9InN0cm9rZTpyZ2JhKDUwLDUwLDUwLC41KTtzdHJva2Utd2lkdGg6MSIgLz4NCjwvc3ZnPg0K);background-repeat:no-repeat}body h1.divider.below:before,body h2.divider.below:before,body h3.divider.below:before,body h4.divider.below:before,body h5.divider.below:before,body h6.divider.below:before{margin-right:0.5em;background-position:right 1em top 50%}body h1.divider.below:after,body h2.divider.below:after,body h3.divider.below:after,body h4.divider.below:after,body h5.divider.below:after,body h6.divider.below:after{margin-left:0.5em;background-position:left 1em top 50%}body h1.divider.below .icon,body h2.divider.below .icon,body h3.divider.below .icon,body h4.divider.below .icon,body h5.divider.below .icon,body h6.divider.below .icon{margin:0.5em}body .divider h1.underline,body .divider h2.underline,body .divider h3.underline,body .divider h4.underline,body .divider h5.underline,body .divider h6.underline{display:inline-block;border-bottom:3px solid rgba(50,50,50,0.2);padding-bottom:0.5em;margin-bottom:-1px}body ul li.divider,body ol li.divider{margin:0.5em 0;padding:0.5em 0;font-size:0.8em;text-transform:uppercase;font-weight:600}body .table{display:table;table-layout:fixed;width:100%;border-spacing:0;border-collapse:collapse;text-align:left;margin:1em 0;background-color:#fff}body .table>.thead .tr,body .table>.tbody .tr,body .table>thead tr,body .table>tbody tr{display:table;table-layout:fixed;width:100%}body .table>.thead>.tr:not(:first-child)>.th,body .table>.tbody>.tr:not(:first-child)>.td,body .table>thead>tr:not(:first-child)>th,body .table>tbody>tr:not(:first-child)>td{border-top:1px solid #d6d6d6}body .table>.thead>.tr>.th,body .table>.tbody>.tr>.td,body .table>thead>tr>th,body .table>tbody>tr>td{display:table-cell;float:none;vertical-align:top;padding:0.5em 1em}body .table>.thead,body .table>thead{display:table-header-group;padding:0.5em 1em;border:1px solid #d6d6d6}body .table>.thead>.tr>.th,body .table>thead>tr>th{font-weight:600;padding-top:1em;padding-bottom:1em;vertical-align:middle}body .table>.tbody,body .table>tbody{display:table-row-group;border:1px solid #d6d6d6;border-top:none;background-color:#fff}body .table.zebra>tbody>tr,body .table.zebra .tbody>.tr{border:none}body .table.zebra>tbody>tr:nth-child(odd),body .table.zebra .tbody>.tr:nth-child(odd){background-color:rgba(200,200,200,0.25)}body .table[class*="vertically aligned table"]{vertical-align:middle}body .table[class*="vertically aligned table"]>tbody>tr>td,body .table[class*="vertically aligned table"]>.tbody>.tr>.td,body .table[class*="vertically aligned table"]>thead>tr>th,body .table[class*="vertically aligned table"]>.thead>.tr>.th{vertical-align:middle;float:none}body .table .tr>.th:first-child,body .table .tr>.td:first-child,body .table tr>th:first-child,body .table tr>td:first-child{display:table-cell;position:relative;box-sizing:border-box}body .table .tr>.th:first-child:after,body .table .tr>.td:first-child:after,body .table tr>th:first-child:after,body .table tr>td:first-child:after{visibility:visible !important;position:absolute;z-index:2;display:block;content:"";top:0px;bottom:-1px;left:-1px;width:5px;min-height:100%}body .table tr.grey>.th:first-child:after,body .table tr.grey>.td:first-child:after,body .table tr.grey>th:first-child:after,body .table tr.grey>td:first-child:after,body .table .tr.grey>.th:first-child:after,body .table .tr.grey>.td:first-child:after,body .table .tr.grey>th:first-child:after,body .table .tr.grey>td:first-child:after{background:#666}body .table tr.light>.th:first-child:after,body .table tr.light>.td:first-child:after,body .table tr.light>th:first-child:after,body .table tr.light>td:first-child:after,body .table .tr.light>.th:first-child:after,body .table .tr.light>.td:first-child:after,body .table .tr.light>th:first-child:after,body .table .tr.light>td:first-child:after{background:#CCC}body .table tr.primary>.th:first-child:after,body .table tr.primary>.td:first-child:after,body .table tr.primary>th:first-child:after,body .table tr.primary>td:first-child:after,body .table .tr.primary>.th:first-child:after,body .table .tr.primary>.td:first-child:after,body .table .tr.primary>th:first-child:after,body .table .tr.primary>td:first-child:after{background:#FFC900}body .table tr.secondary>.th:first-child:after,body .table tr.secondary>.td:first-child:after,body .table tr.secondary>th:first-child:after,body .table tr.secondary>td:first-child:after,body .table .tr.secondary>.th:first-child:after,body .table .tr.secondary>.td:first-child:after,body .table .tr.secondary>th:first-child:after,body .table .tr.secondary>td:first-child:after{background:#F60}body .table tr.red>.th:first-child:after,body .table tr.red>.td:first-child:after,body .table tr.red>th:first-child:after,body .table tr.red>td:first-child:after,body .table .tr.red>.th:first-child:after,body .table .tr.red>.td:first-child:after,body .table .tr.red>th:first-child:after,body .table .tr.red>td:first-child:after{background:#F60}body .table tr.orange>.th:first-child:after,body .table tr.orange>.td:first-child:after,body .table tr.orange>th:first-child:after,body .table tr.orange>td:first-child:after,body .table .tr.orange>.th:first-child:after,body .table .tr.orange>.td:first-child:after,body .table .tr.orange>th:first-child:after,body .table .tr.orange>td:first-child:after{background:#F90}body .table tr.green>.th:first-child:after,body .table tr.green>.td:first-child:after,body .table tr.green>th:first-child:after,body .table tr.green>td:first-child:after,body .table .tr.green>.th:first-child:after,body .table .tr.green>.td:first-child:after,body .table .tr.green>th:first-child:after,body .table .tr.green>td:first-child:after{background:#5cb85c}body .table tr.yellow>.th:first-child:after,body .table tr.yellow>.td:first-child:after,body .table tr.yellow>th:first-child:after,body .table tr.yellow>td:first-child:after,body .table .tr.yellow>.th:first-child:after,body .table .tr.yellow>.td:first-child:after,body .table .tr.yellow>th:first-child:after,body .table .tr.yellow>td:first-child:after{background:#FFC900}body .menu{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin:0 0;padding:0 0}body .menu:first-child{margin-top:0}body .menu:last-child{margin-bottom:0}body .justified.menu:not(.vertical){-ms-flex-pack:justify;justify-content:space-between}body .justified.menu:not(.vertical)>.item{-ms-flex:1 1 auto;flex:1 1 auto;text-align:center;margin:0;-ms-flex-pack:center;justify-content:center}body .justified.menu:not(.vertical):after{display:none}body .centered.menu:not(.vertical){-ms-flex-pack:center;justify-content:center}body .menu.bordered{border:1px solid rgba(50,50,50,0.2)}body .menu.bordered.inverted{border:1px solid rgba(255,255,255,0.2)}body .menu.bordered:not(.vertical)>.item:not([class*="right item"]),body .menu.bordered:not(.vertical)>.menu:not([class*="right menu"]){border-right:1px solid rgba(50,50,50,0.2)}body .menu.bordered:not(.vertical).inverted>.item:not([class*="right item"]),body .menu.bordered:not(.vertical).inverted>.menu:not([class*="right menu"]){border-right:1px solid rgba(255,255,255,0.2)}body .menu.vertical.bordered>.item:not([class*="bottom item"]),body .menu.vertical.bordered>.menu:not([class*="bottom menu"]){border-bottom:1px solid rgba(50,50,50,0.2)}body .menu.vertical.bordered.inverted>.item:not([class*="bottom item"]),body .menu.vertical.bordered.inverted>.menu:not([class*="bottom menu"]){border-bottom:1px solid rgba(255,255,255,0.2)}body .dividing.menu>a.item,body .dividing.menu>a.item:hover,body .dividing.menu>a.item.active,body .dividing.menu>a.item:visited,body .tabbed.menu>a.item,body .tabbed.menu>a.item:hover,body .tabbed.menu>a.item.active,body .tabbed.menu>a.item:visited,body .pills.menu>a.item,body .pills.menu>a.item:hover,body .pills.menu>a.item.active,body .pills.menu>a.item:visited{color:#666;text-decoration:none}body .bordered.menu:not(.vertical)>.dividing.menu:not([class*="top dividing"]),body .dividing.menu:not(.vertical)>.dividing.menu:not([class*="top dividing"]){border-bottom:none !important}body .bordered.menu:not(.vertical)>.dividing.menu[class*="top dividing"],body .dividing.menu:not(.vertical)>.dividing.menu[class*="top dividing"]{border-top:none !important}body .bordered.vertical.menu>.dividing.menu:not([class*="right dividing"]),body .dividing.vertical.menu>.dividing.menu:not([class*="right dividing"]){border-left:none !important}body .bordered.vertical.menu>.dividing.menu[class*="right dividing"],body .dividing.vertical.menu>.dividing.menu[class*="right dividing"]{border-right:none !important}body .menu>.item{position:relative;line-height:1}body .menu>a.item{cursor:pointer}body .menu>a.item,body .menu>a.item:hover,body .menu>a.item:visited{color:#00b2ed}body .menu>a.item:hover,body .menu>a.item.active{text-decoration:underline}body .menu>.item.disabled,body .menu>.item.ng-disabled{cursor:pointer;pointer-events:none;opacity:0.8}body .menu>.item.active{font-weight:600}body .menu.vertical>.item.divider:not(.header){padding-top:0 !important;padding-bottom:0 !important}body .menu>.item.header{font-size:""}body .menu:not(.vertical)>.item.divider{width:auto}body .menu:not(.vertical)>.item.divider:not(.header){border:none;padding-right:0;margin-right:20px;border-right:1px solid rgba(50,50,50,0.2)}body .menu:not(.vertical)>.item.divider:not(.header).dashed{border-right-style:dashed}body .menu:not(.vertical)>.item.divider:not(.header).dotted{border-right-style:dotted}body .menu>.item>.label{float:right;margin-right:0;margin-top:-0.15em}body .item .button,body .item.button,body .item .buttons,body .item.buttons,body .item .input,body .item.input{-ms-flex-item-align:center;align-self:center}body .menu:not(.vertical)>.item:not([class*="right item"]),body .menu:not(.vertical)>.menu:not([class*="right menu"]){float:left;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}body .menu:not(.vertical)>.item[class*="right item"],body .menu:not(.vertical)>.item[class*="right items"],body .menu:not(.vertical)>.menu[class*="right menu"]{float:right;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:end;justify-content:flex-end;margin-left:auto !important;margin-right:0 !important}body .vertical.menu>.item[class*="bottom item"],body .vertical.menu>.item[class*="bottom items"],body .vertical.menu>.menu[class*="bottom menu"]{margin-top:auto !important}body .vertical.menu>.centered.item,body .vertical.menu>.centered.menu{margin-top:auto !important;margin-left:auto !important}body :not(.vertical).menu>.centered.item,body :not(.vertical).menu>.centered.menu{margin-left:auto !important;margin-right:auto !important;text-align:center}body .menu:not(.vertical)>.item,body .menu:not(.vertical)>.menu{float:left;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:13px 20px;margin:0 0}body .menu.vertical>.item{display:block;padding:13px 20px;margin:0 0}body .menu.vertical>.menu:not(.horizontal),body .menu.vertical>.item{-ms-flex-direction:column;flex-direction:column}body .menu:not(.vertical){-ms-flex-direction:row;flex-direction:row}body .menu.v-aligned,body .menu[class*="vertically aligned"]{-ms-flex-align:center;align-items:center}body .menu.vertical{-ms-flex-direction:column;flex-direction:column}body .menu.vertical>.menu>.item{border-right:none}body .menu.dividing>a.item:before,body .menu.dividing>a.item:after{background-color:#666}body .menu.pills>a.active.item{background-color:#666;color:#fff}body .menu.pills>a.item:hover{background-color:#737373;color:#fff}body .menu.tabbed>a.active.item{border-top-color:#666}body .menu.grey.dividing>a.item:before,body .menu.grey.dividing>a.item:after{background-color:#666}body .menu.grey.pills>a.active.item{background-color:#666;color:#fff}body .menu.grey.pills>a.item:hover{background-color:#737373;color:#fff}body .menu.grey.tabbed>a.active.item{border-top-color:#666}body .menu.light.dividing>a.item:before,body .menu.light.dividing>a.item:after{background-color:#CCC}body .menu.light.pills>a.active.item{background-color:#CCC;color:#666}body .menu.light.pills>a.item:hover{background-color:#d9d9d9;color:#666}body .menu.light.tabbed>a.active.item{border-top-color:#CCC}body .menu.primary.dividing>a.item:before,body .menu.primary.dividing>a.item:after{background-color:#FFC900}body .menu.primary.pills>a.active.item{background-color:#FFC900;color:#666}body .menu.primary.pills>a.item:hover{background-color:#ffce1a;color:#666}body .menu.primary.tabbed>a.active.item{border-top-color:#FFC900}body .menu.secondary.dividing>a.item:before,body .menu.secondary.dividing>a.item:after{background-color:#F60}body .menu.secondary.pills>a.active.item{background-color:#F60;color:#fff}body .menu.secondary.pills>a.item:hover{background-color:#ff751a;color:#fff}body .menu.secondary.tabbed>a.active.item{border-top-color:#F60}body .menu.red.dividing>a.item:before,body .menu.red.dividing>a.item:after{background-color:#F60}body .menu.red.pills>a.active.item{background-color:#F60;color:#fff}body .menu.red.pills>a.item:hover{background-color:#ff751a;color:#fff}body .menu.red.tabbed>a.active.item{border-top-color:#F60}body .menu.orange.dividing>a.item:before,body .menu.orange.dividing>a.item:after{background-color:#F90}body .menu.orange.pills>a.active.item{background-color:#F90;color:#fff}body .menu.orange.pills>a.item:hover{background-color:#ffa31a;color:#fff}body .menu.orange.tabbed>a.active.item{border-top-color:#F90}body .menu.green.dividing>a.item:before,body .menu.green.dividing>a.item:after{background-color:#5cb85c}body .menu.green.pills>a.active.item{background-color:#5cb85c;color:#fff}body .menu.green.pills>a.item:hover{background-color:#6ec06e;color:#fff}body .menu.green.tabbed>a.active.item{border-top-color:#5cb85c}body .menu.yellow.dividing>a.item:before,body .menu.yellow.dividing>a.item:after{background-color:#FFC900}body .menu.yellow.pills>a.active.item{background-color:#FFC900;color:#666}body .menu.yellow.pills>a.item:hover{background-color:#ffce1a;color:#666}body .menu.yellow.tabbed>a.active.item{border-top-color:#FFC900}body .menu>.dividing.menu{padding:0;-ms-flex-item-align:stretch;align-self:stretch}body .menu.dividing{border-color:rgba(50,50,50,0.2);align-content:stretch}body .menu.dividing>.item{-ms-flex-item-align:stretch;align-self:stretch;padding:13px 0;margin:0 20px}body .menu.dividing>a.item:not(.active):not(:hover){opacity:0.75}body .menu.dividing>a.item:before,body .menu.dividing>a.item:after{visibility:visible;position:absolute;display:block;content:"";transition-property:width,height;-moz-transition-duration:.3s;-o-transition-duration:.3s;-webkit-transition-duration:.3s;transition-duration:.3s;-moz-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}body .menu.dividing.bordered>.item{padding:13px 20px;margin:0}body .menu.dividing:not(.vertical)>a.item:after,body .menu.dividing:not(.vertical)>a.item:before{left:0;right:0;margin:0 auto;width:0;height:3px}body .menu.dividing:not(.vertical):not([class*="top dividing"]){border-bottom-width:1px;border-bottom-style:solid}body .menu.dividing:not(.vertical):not([class*="top dividing"])>a.item:after{bottom:0}body .menu.dividing:not(.vertical):not([class*="top dividing"])>a.item:not(.disabled):hover:after,body .menu.dividing:not(.vertical):not([class*="top dividing"])>a.item:active:after,body .menu.dividing:not(.vertical):not([class*="top dividing"])>a.item.active:after{width:100%}body .menu.dividing:not(.vertical)[class*="top dividing"]{border-top-width:1px;border-top-style:solid}body .menu.dividing:not(.vertical)[class*="top dividing"]>a.item:before{top:0}body .menu.dividing:not(.vertical)[class*="top dividing"]>a.item:not(.disabled):hover:before,body .menu.dividing:not(.vertical)[class*="top dividing"]>a.item:active:before,body .menu.dividing:not(.vertical)[class*="top dividing"]>a.item.active:before{width:100%}body .menu.dividing.vertical>.item{margin:0 0;padding:13px 20px}body .menu.dividing.vertical>a.item:after,body .menu.dividing.vertical>a.item:before{top:50%;bottom:0;-ms-transform:translate(0, -50%);transform:translate(0, -50%);width:3px;height:0}body .menu.dividing.vertical:not([class*="right dividing"]),body .menu.dividing.vertical[class*="left dividing"]{border-left-width:1px;border-left-style:solid}body .menu.dividing.vertical:not([class*="right dividing"])>a.item:before,body .menu.dividing.vertical[class*="left dividing"]>a.item:before{margin-left:-1px;left:0}body .menu.dividing.vertical:not([class*="right dividing"])>a.item:not(.disabled):hover:before,body .menu.dividing.vertical:not([class*="right dividing"])>a.item:active:before,body .menu.dividing.vertical:not([class*="right dividing"])>a.item.active:before,body .menu.dividing.vertical[class*="left dividing"]>a.item:not(.disabled):hover:before,body .menu.dividing.vertical[class*="left dividing"]>a.item:active:before,body .menu.dividing.vertical[class*="left dividing"]>a.item.active:before{height:100%}body .menu.dividing.vertical[class*="right dividing"]{border-right-width:1px;border-right-style:solid}body .menu.dividing.vertical[class*="right dividing"]>a.item:after{margin-right:-1px;right:0}body .menu.dividing.vertical[class*="right dividing"]>a.item:not(.disabled):hover:after,body .menu.dividing.vertical[class*="right dividing"]>a.item:active:after,body .menu.dividing.vertical[class*="right dividing"]>a.item.active:after{height:100%}body .menu.vertical[class*="right dividing"] .menu[class*="right dividing"]{border-right:none !important}body .menu.vertical:not([class*="right dividing"]) .menu:not([class*="right dividing"]){border-left:none !important}body .menu.tabbed{position:relative;background:#FAFAFA;padding:0 13px;border:1px solid rgba(50,50,50,0.2);border-bottom:none;margin-top:26px;margin-bottom:5px}body .menu.tabbed.bordered>.item,body .menu.tabbed>.item{position:relative;z-index:2;border:1px solid transparent;margin-top:0;bottom:-1px}body .menu.tabbed>a.item.active,body .menu.tabbed>a.item:hover{background:#fff;padding-top:26px;margin-top:-13px;border-top-color:rgba(50,50,50,0.2);border-left-color:rgba(50,50,50,0.2);border-right-color:rgba(50,50,50,0.2)}body .menu.tabbed>a.item.active{border-top-width:3px}body .menu.tabbed:after{visibility:visible;position:absolute;top:100%;left:-1px;right:-1px;display:block;content:"";height:5px;border:1px solid rgba(50,50,50,0.2)}body .menu.pills>.item{border-right:none !important}body .menu.pills>a.item{border-radius:3px;margin:0;transition-property:background;-moz-transition-duration:.3s;-o-transition-duration:.3s;-webkit-transition-duration:.3s;transition-duration:.3s;-moz-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}body .menu.pills[class*="squared pills"]>a.item{border-radius:0}body .menu.pills:not(.vertical)>a.item{padding:13px 20px}body .menu.pills.vertical>a.item{padding:13px 20px}body .fitting.menu>.item:first-child,body .fitting.menu>.menu:first-child{padding-left:0}body .fitting.menu>.item:last-child,body .fitting.menu>.menu:last-child{padding-right:0}body .menu>.menu{border-width:0;margin:0;padding:0}body .menu:not(.vertical)>.menu{display:-ms-flexbox;display:flex}@media (min-width: 320px){body .menu.container{padding-left:1em;padding-right:1em}}@media (min-width: 768px){body .menu.container{padding-left:2em;padding-right:2em}}@media (min-width: 992px){body .menu.container{padding-left:3em;padding-right:3em}}@media (min-width: 1200px){body .menu.container{padding-left:5em;padding-right:5em}}body .menu.container>.item:first-child{padding-left:0;margin-left:0}body .menu.container>.item:last-child{padding-right:0;margin-right:0}body .breadcrumbs>li{position:relative;display:inline-block;vertical-align:middle}body .breadcrumbs>li:after{display:inline-block;font-family:"";content:">";vertical-align:middle;margin:0 0.5em}body .breadcrumbs>li:last-child:after{content:""}body .breadcrumbs>li>a{display:inline-block}body .breadcrumbs>li h1,body .breadcrumbs>li h2,body .breadcrumbs>li h3,body .breadcrumbs>li h4,body .breadcrumbs>li h5,body .breadcrumbs>li h6{display:inline-block;vertical-align:bottom}body .breadcrumbs.slashes>li:after{content:"/"}body .label{display:inline-block;vertical-align:middle;font-size:0.85em;padding:.25em .5em;margin:0 0.5em;font-weight:normal;line-height:1;text-align:center;white-space:nowrap;border-radius:3px}body .label .icon,body .label>i.icon{margin-right:0.25em}body .label .icon[class*="right icon"],body .label>i.icon[class*="right icon"]{margin-right:0;margin-left:0.25em}body .label.circular{display:inline-block;border-radius:1em}body .label.circular.icon:after{font-size:.5em}body .label.x-small{font-size:.7em}body .label.small{font-size:.85em}body .label.regular{font-size:13px}body .label.large{font-size:1.25em}body .label.x-large{font-size:1.5em}html:not(.ie9) body .label[class*="with addon"],html:not(.ie9) body .label[class*="with addons"]{display:-ms-inline-flexbox;display:inline-flex}body .label[class*="with addon"]>.addon,body .label[class*="with addons"]>.addon{display:inline-block;vertical-align:top;background:rgba(0,0,0,0.2);padding:.25em .5em;margin:-.25em .5em -.25em -.5em}body .label[class*="with addon"]>.addon[class*="right addon"],body .label[class*="with addons"]>.addon[class*="right addon"]{margin-right:-.5em;margin-left:.5em}body .labels{padding:0;margin:0}body .labels>.label{margin:0}body .labels>.label:not(:last-child){margin-right:0.5em}body .labels.x-small{font-size:.7em}body .labels.small{font-size:.85em}body .labels.regular{font-size:13px}body .labels.large{font-size:1.25em}body .labels.x-large{font-size:1.5em}body .labels.grey .label{background:#666;color:#fff;text-shadow:1px 0 1px #595959}body .labels.light .label{background:#CCC;color:#666}body .labels.primary .label{background:#FFC900;color:#666}body .labels.secondary .label{background:#F60;color:#fff;text-shadow:1px 0 1px #e65c00}body .labels.red .label{background:#F60;color:#fff;text-shadow:1px 0 1px #e65c00}body .labels.orange .label{background:#F90;color:#fff;text-shadow:1px 0 1px #e68a00}body .labels.green .label{background:#5cb85c;color:#fff;text-shadow:1px 0 1px #4cae4c}body .labels.yellow .label{background:#FFC900;color:#666}body .label{background:#CCC;color:#666}body .label.grey{background:#666;color:#fff;text-shadow:1px 0 1px #595959}body .label.light{background:#CCC;color:#666}body .label.primary{background:#FFC900;color:#666}body .label.secondary{background:#F60;color:#fff;text-shadow:1px 0 1px #e65c00}body .label.red{background:#F60;color:#fff;text-shadow:1px 0 1px #e65c00}body .label.orange{background:#F90;color:#fff;text-shadow:1px 0 1px #e68a00}body .label.green{background:#5cb85c;color:#fff;text-shadow:1px 0 1px #4cae4c}body .label.yellow{background:#FFC900;color:#666}body .callout{display:block;box-sizing:border-box;position:relative;margin:1em 0;border:1px solid #CCC;background:#fff;padding:1em 2em}body .callout>.header{padding:1em 2em .5em 2em;margin:-1em -2em 0.5em -2em}body .callout>.footer{text-align:right;margin:1em -2em -1em -2em;padding:1em 2em}body .callout:after{visibility:visible !important;position:absolute;z-index:2;display:block;content:""}body .callout:after{top:0;left:0;width:5px;min-height:100%}body .callout[class*="up callout"]:after{top:0;left:0;width:100%;min-height:5px}body .callout[class*="right callout"]:after{top:0;left:auto;right:0;width:5px;min-height:100%}body .callout[class*="left callout"]:after{top:0;left:0;width:5px;min-height:100%}body .callout[class*="down callout"]:after{top:auto;bottom:0;left:0;width:100%;min-height:5px}body .callout.filled:after{display:none}body .callout:not(.filled):after{background:#CCC}body .callout.filled{background-color:#CCC;border-color:#bfbfbf}body .callout.filled,body .callout.filled:before,body .callout.filled a,body .callout.filled button{color:#222}body .callout.filled>.footer{background-color:#c4c4c4}body .callout.grey:not(.filled):after{background:#666}body .callout.grey.filled{background-color:#666;border-color:#595959;text-shadow:0 1px 1px #404040}body .callout.grey.filled,body .callout.grey.filled:before,body .callout.grey.filled a,body .callout.grey.filled button{color:#fff}body .callout.grey.filled>.footer{background-color:#5e5e5e}body .callout.light:not(.filled):after{background:#CCC}body .callout.light.filled{background-color:#CCC;border-color:#bfbfbf}body .callout.light.filled,body .callout.light.filled:before,body .callout.light.filled a,body .callout.light.filled button{color:#666}body .callout.light.filled>.footer{background-color:#c4c4c4}body .callout.primary:not(.filled):after{background:#FFC900}body .callout.primary.filled{background-color:#FFC900;border-color:#e6b500}body .callout.primary.filled,body .callout.primary.filled:before,body .callout.primary.filled a,body .callout.primary.filled button{color:#666}body .callout.primary.filled>.footer{background-color:#f0bd00}body .callout.secondary:not(.filled):after{background:#F60}body .callout.secondary.filled{background-color:#F60;border-color:#e65c00;text-shadow:0 1px 1px #b34700}body .callout.secondary.filled,body .callout.secondary.filled:before,body .callout.secondary.filled a,body .callout.secondary.filled button{color:#fff}body .callout.secondary.filled>.footer{background-color:#f06000}body .callout.red:not(.filled):after{background:#F60}body .callout.red.filled{background-color:#F60;border-color:#e65c00;text-shadow:0 1px 1px #b34700}body .callout.red.filled,body .callout.red.filled:before,body .callout.red.filled a,body .callout.red.filled button{color:#fff}body .callout.red.filled>.footer{background-color:#f06000}body .callout.orange:not(.filled):after{background:#F90}body .callout.orange.filled{background-color:#F90;border-color:#e68a00;text-shadow:0 1px 1px #b36b00}body .callout.orange.filled,body .callout.orange.filled:before,body .callout.orange.filled a,body .callout.orange.filled button{color:#fff}body .callout.orange.filled>.footer{background-color:#f09000}body .callout.green:not(.filled):after{background:#5cb85c}body .callout.green.filled{background-color:#5cb85c;border-color:#4cae4c;text-shadow:0 1px 1px #3d8b3d}body .callout.green.filled,body .callout.green.filled:before,body .callout.green.filled a,body .callout.green.filled button{color:#fff}body .callout.green.filled>.footer{background-color:#51b351}body .callout.yellow:not(.filled):after{background:#FFC900}body .callout.yellow.filled{background-color:#FFC900;border-color:#e6b500}body .callout.yellow.filled,body .callout.yellow.filled:before,body .callout.yellow.filled a,body .callout.yellow.filled button{color:#666}body .callout.yellow.filled>.footer{background-color:#f0bd00}body .callouts>.callout{margin:0}body .callouts>.callout:not(.filled):not(:first-child){border-top:none}body .callout .progress.attached{margin:0;position:absolute;z-index:3;left:0;right:0;top:0}body .callout .progress.attached>.indicator{min-height:5px;border-radius:0}body .callout .progress.attached>.indicator:after{content:""}body [class*="down callout"] .progress.attached{top:auto;bottom:0}body .block{border:1px solid rgba(50,50,50,0.2);padding:1em 1em}body .block>.header,body .block .header,body .block>.footer,body .block .footer{padding:1em 1em}body .block>.header,body .block .header{margin:-1em -1em 0 -1em;border-bottom:1px solid rgba(50,50,50,0.2)}body .block>.footer,body .block .footer{margin:-3em;border-top:1px solid rgba(50,50,50,0.2)}body .block.inverted{border-color:rgba(255,255,255,0.2)}body .block.inverted>.header,body .block.inverted .header,body .block.inverted>.footer,body .block.inverted .footer{border-color:rgba(255,255,255,0.2)}body .block.round{border-radius:3px}body .block.round>.header,body .block.round .header{border-radius:3px 3px 0 0}body .block.round>.footer,body .block.round .footer{border-radius:0 0 3px 3px}body .overlay{position:fixed;top:0;left:0;height:100%;width:100%;z-index:100;background-color:rgba(0,0,0,0.5)}@keyframes progressing{from{opacity:1;width:0}to{opacity:0;width:100%}}body .progress{background:#EFEFEF;border-radius:3px;margin:1em 0}body .progress>.indicator{position:relative;height:1.5em;border-radius:3px;transition:width 0.3s ease-out}body .progress>.indicator:after{display:block;position:absolute;top:0;bottom:0;right:0.5em;content:attr(data-percentage) "%";line-height:1.5em}body .progress .status{text-align:center;font-weight:600}body .progressing.progress>.indicator:before{display:block;content:"";position:absolute;left:0;top:0;bottom:0;animation-name:progressing;animation-duration:1.5s;animation-iteration-count:infinite;animation-timing-function:ease-out}body .progress.slim{margin-top:2em}body .progress.slim>.indicator{height:5px}body .progress.slim>.indicator:after{right:0;-ms-transform:translateX(50%);transform:translateX(50%);line-height:1;top:-1.1em}body .progress>.indicator{background:#CCC}body .progress:not(.slim)>.indicator{color:#666}body .progress>.indicator:before{background:rgba(50,50,50,0.5)}body .progress.grey>.indicator{background:#666}body .progress.grey:not(.slim)>.indicator{color:#fff}body .progress.grey>.indicator:before{background:rgba(255,255,255,0.75)}body .progress.light>.indicator{background:#CCC}body .progress.light:not(.slim)>.indicator{color:#666}body .progress.light>.indicator:before{background:rgba(50,50,50,0.5)}body .progress.primary>.indicator{background:#FFC900}body .progress.primary:not(.slim)>.indicator{color:#666}body .progress.primary>.indicator:before{background:rgba(50,50,50,0.5)}body .progress.secondary>.indicator{background:#F60}body .progress.secondary:not(.slim)>.indicator{color:#fff}body .progress.secondary>.indicator:before{background:rgba(255,255,255,0.75)}body .progress.red>.indicator{background:#F60}body .progress.red:not(.slim)>.indicator{color:#fff}body .progress.red>.indicator:before{background:rgba(255,255,255,0.75)}body .progress.orange>.indicator{background:#F90}body .progress.orange:not(.slim)>.indicator{color:#fff}body .progress.orange>.indicator:before{background:rgba(255,255,255,0.75)}body .progress.green>.indicator{background:#5cb85c}body .progress.green:not(.slim)>.indicator{color:#fff}body .progress.green>.indicator:before{background:rgba(255,255,255,0.75)}body .progress.yellow>.indicator{background:#FFC900}body .progress.yellow:not(.slim)>.indicator{color:#666}body .progress.yellow>.indicator:before{background:rgba(50,50,50,0.5)}body .progress-bar{position:fixed;top:0px;z-index:1000;width:100%;overflow:hidden;background-color:transparent;margin:0 !important;transition-property:opacity, height;transition-duration:.25s;transition-timing-function:ease-out}body .progress-bar.in{opacity:1;height:2px}body .progress-bar.out{opacity:0;height:0}luid-day-block.grey .day{background-color:#666;border-color:#666;color:#fff}luid-day-block.grey .month,luid-day-block.grey .year{border-color:#666;color:#666}luid-day-block.light .day{background-color:#CCC;border-color:#CCC;color:#666}luid-day-block.light .month,luid-day-block.light .year{border-color:#CCC;color:#CCC;color:#666}luid-day-block.primary .day{background-color:#FFC900;border-color:#FFC900;color:#666}luid-day-block.primary .month,luid-day-block.primary .year{border-color:#FFC900;color:#FFC900;color:#666}luid-day-block.secondary .day{background-color:#F60;border-color:#F60;color:#fff}luid-day-block.secondary .month,luid-day-block.secondary .year{border-color:#F60;color:#F60}luid-day-block.red .day{background-color:#F60;border-color:#F60;color:#fff}luid-day-block.red .month,luid-day-block.red .year{border-color:#F60;color:#F60}luid-day-block.orange .day{background-color:#F90;border-color:#F90;color:#fff}luid-day-block.orange .month,luid-day-block.orange .year{border-color:#F90;color:#F90}luid-day-block.green .day{background-color:#5cb85c;border-color:#5cb85c;color:#fff}luid-day-block.green .month,luid-day-block.green .year{border-color:#5cb85c;color:#5cb85c}luid-day-block.yellow .day{background-color:#FFC900;border-color:#FFC900;color:#666}luid-day-block.yellow .month,luid-day-block.yellow .year{border-color:#FFC900;color:#FFC900;color:#666}body luid-day-block{display:inline-block;width:5em;margin:1em 0;text-align:center;text-transform:uppercase}body luid-day-block .day{padding:.25em 0;border-top-left-radius:3px;border-top-right-radius:3px;border-width:1px;border-style:solid;font-size:3em}body luid-day-block .month{padding:.25em 0;border-left-width:1px;border-right-width:1px;border-left-style:solid;border-right-style:solid;font-size:1.5em}body luid-day-block .year{padding:.25em 0;border-bottom-left-radius:3px;border-bottom-right-radius:3px;border-width:1px;border-style:solid;border-top:none;font-size:1em}body luid-day-block .day{background-color:#CCC;border-color:#CCC;color:#666}body luid-day-block .month,body luid-day-block .year{border-color:#CCC;color:#CCC;color:#666}body luid-day-block.x-small{font-size:.7em}body luid-day-block.small{font-size:.85em}body luid-day-block.regular{font-size:13px}body luid-day-block.large{font-size:1.25em}body luid-day-block.x-large{font-size:1.5em}body .tablegrid{position:relative;overflow:hidden;text-align:left}body .tablegrid table{table-layout:fixed;width:100%;min-height:1px}body .tablegrid .locked.columns{position:absolute;overflow:hidden;z-index:3;top:0;bottom:0;left:0;right:0}body .tablegrid .locked.columns thead{z-index:4}body .tablegrid .holder{overflow:hidden}body .tablegrid .scrollable.columns{z-index:1;overflow:auto}body .tablegrid .scrollable.columns thead{z-index:2}body .tablegrid th,body .tablegrid td{padding:0.5em 1em;box-sizing:border-box;border:1px solid #CCC}body .tablegrid th.sortable,body .tablegrid td.sortable{cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}body .tablegrid th.sortable.asc:before,body .tablegrid td.sortable.asc:before{font-family:"lucca-icons";display:inline-block;vertical-align:middle;font-style:normal;content:"";margin-right:.5em}body .tablegrid th.sortable.desc:before,body .tablegrid td.sortable.desc:before{font-family:"lucca-icons";display:inline-block;vertical-align:middle;font-style:normal;content:"";margin-right:.5em}body .tablegrid th.sortable:before,body .tablegrid td.sortable:before{float:right;font-size:0.6em;padding:0.5em;line-height:1;border-radius:3px;color:#f2f2f2;background-color:#8c8c8c}body .tablegrid thead,body .tablegrid tbody{display:table;width:auto;box-sizing:border-box;table-layout:fixed}body .tablegrid thead{position:absolute;top:0;min-width:100%;color:#8c8c8c;font-weight:normal;text-align:left}body .tablegrid thead a{color:#8c8c8c;text-decoration:none}body .tablegrid thead th{background-color:#f2f2f2;vertical-align:bottom;border-color:#CCC}body .tablegrid thead tr:not(.filters) th:not([colspan]){padding-top:2em}body .tablegrid tbody{min-width:100%;height:auto;background-color:#fff}body .tablegrid.zebra tbody>tr:nth-child(2n){background-color:#f2f2f2}body .tablegrid tr.hovering{background-color:#ffe480 !important}.ie9 body .tablegrid{padding-top:0 !important}.ie9 body .tablegrid thead{position:static}.ie9 body .tablegrid .scrollable.columns,.ie9 body .tablegrid .scrollable.columns .virtualscroll{margin-left:0 !important}.ie9 body .tablegrid .locked.columns{display:none}body luid-date-picker-popup>.lui.input{width:10em}body luid-daterange-picker>.lui.tagged.input{width:20em}body luid-daterange-picker>.lui.tagged.input .tag{cursor:pointer}body luid-daterange-picker .popover-inner{width:40em}body luid-date-picker,body luid-date-picker-popup>.popover>.popover-inner>.popover-content,body luid-daterange-picker>.popover>.popover-inner>.popover-content{display:inline-block}body luid-date-picker>table,body luid-date-picker-popup>.popover>.popover-inner>.popover-content>table,body luid-daterange-picker>.popover>.popover-inner>.popover-content>table{display:inline;margin:.5em;border-collapse:collapse}body luid-date-picker>table>caption,body luid-date-picker-popup>.popover>.popover-inner>.popover-content>table>caption,body luid-daterange-picker>.popover>.popover-inner>.popover-content>table>caption{padding:7px 0;font-size:1.5em;font-weight:normal}body luid-date-picker>table>caption>span,body luid-date-picker-popup>.popover>.popover-inner>.popover-content>table>caption>span,body luid-daterange-picker>.popover>.popover-inner>.popover-content>table>caption>span{display:inline-block;vertical-align:middle}body luid-date-picker>table>caption>button.previous,body luid-date-picker>table>caption>button.next,body luid-date-picker-popup>.popover>.popover-inner>.popover-content>table>caption>button.previous,body luid-date-picker-popup>.popover>.popover-inner>.popover-content>table>caption>button.next,body luid-daterange-picker>.popover>.popover-inner>.popover-content>table>caption>button.previous,body luid-daterange-picker>.popover>.popover-inner>.popover-content>table>caption>button.next{display:inline-block;background:transparent;border:none;outline:0;outline:none;padding:0.5em 1em;border-radius:3px;font-family:'lucca-icons';font-size:10px}body luid-date-picker>table>caption>button.previous:hover,body luid-date-picker>table>caption>button.next:hover,body luid-date-picker-popup>.popover>.popover-inner>.popover-content>table>caption>button.previous:hover,body luid-date-picker-popup>.popover>.popover-inner>.popover-content>table>caption>button.next:hover,body luid-daterange-picker>.popover>.popover-inner>.popover-content>table>caption>button.previous:hover,body luid-daterange-picker>.popover>.popover-inner>.popover-content>table>caption>button.next:hover{background-color:#f2f2f2}body luid-date-picker>table>caption>button.previous,body luid-date-picker-popup>.popover>.popover-inner>.popover-content>table>caption>button.previous,body luid-daterange-picker>.popover>.popover-inner>.popover-content>table>caption>button.previous{float:left}body luid-date-picker>table>caption>button.previous:before,body luid-date-picker-popup>.popover>.popover-inner>.popover-content>table>caption>button.previous:before,body luid-daterange-picker>.popover>.popover-inner>.popover-content>table>caption>button.previous:before{content:"\e053"}body luid-date-picker>table>caption>button.next,body luid-date-picker-popup>.popover>.popover-inner>.popover-content>table>caption>button.next,body luid-daterange-picker>.popover>.popover-inner>.popover-content>table>caption>button.next{float:right}body luid-date-picker>table>caption>button.next:before,body luid-date-picker-popup>.popover>.popover-inner>.popover-content>table>caption>button.next:before,body luid-daterange-picker>.popover>.popover-inner>.popover-content>table>caption>button.next:before{content:"\e054"}body luid-date-picker>table>tbody>tr>td,body luid-date-picker>table>thead>tr>th,body luid-date-picker-popup>.popover>.popover-inner>.popover-content>table>tbody>tr>td,body luid-date-picker-popup>.popover>.popover-inner>.popover-content>table>thead>tr>th,body luid-daterange-picker>.popover>.popover-inner>.popover-content>table>tbody>tr>td,body luid-daterange-picker>.popover>.popover-inner>.popover-content>table>thead>tr>th{width:2.5em;height:2.5em}body luid-date-picker>table>thead>tr>th,body luid-date-picker-popup>.popover>.popover-inner>.popover-content>table>thead>tr>th,body luid-daterange-picker>.popover>.popover-inner>.popover-content>table>thead>tr>th{color:#a6a6a6;font-weight:normal}body luid-date-picker>table>tbody>tr>td,body luid-date-picker-popup>.popover>.popover-inner>.popover-content>table>tbody>tr>td,body luid-daterange-picker>.popover>.popover-inner>.popover-content>table>tbody>tr>td{text-align:center;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;user-select:none}body luid-date-picker>table>tbody>tr>td.disabled,body luid-date-picker-popup>.popover>.popover-inner>.popover-content>table>tbody>tr>td.disabled,body luid-daterange-picker>.popover>.popover-inner>.popover-content>table>tbody>tr>td.disabled{border:1px double #CCC;color:#CCC;background-color:#fff}body luid-date-picker>table>tbody>tr>td.empty,body luid-date-picker-popup>.popover>.popover-inner>.popover-content>table>tbody>tr>td.empty,body luid-daterange-picker>.popover>.popover-inner>.popover-content>table>tbody>tr>td.empty{opacity:0;pointer-events:none;border:1px solid #FAFAFA}body luid-date-picker>table>tbody>tr>td:not(.empty),body luid-date-picker-popup>.popover>.popover-inner>.popover-content>table>tbody>tr>td:not(.empty),body luid-daterange-picker>.popover>.popover-inner>.popover-content>table>tbody>tr>td:not(.empty){cursor:pointer;border:1px double #CCC;color:#666;background-color:#fff}body luid-date-picker>table>tbody>tr>td:not(.empty):hover,body luid-date-picker-popup>.popover>.popover-inner>.popover-content>table>tbody>tr>td:not(.empty):hover,body luid-daterange-picker>.popover>.popover-inner>.popover-content>table>tbody>tr>td:not(.empty):hover{color:#666;background-color:#f2f2f2}body luid-date-picker>table>tbody>tr>td:not(.empty).in-between,body luid-date-picker-popup>.popover>.popover-inner>.popover-content>table>tbody>tr>td:not(.empty).in-between,body luid-daterange-picker>.popover>.popover-inner>.popover-content>table>tbody>tr>td:not(.empty).in-between{color:#666;background-color:#ffd94d;border:1px double #FFC900}body luid-date-picker>table>tbody>tr>td:not(.empty).in-between:hover,body luid-date-picker-popup>.popover>.popover-inner>.popover-content>table>tbody>tr>td:not(.empty).in-between:hover,body luid-daterange-picker>.popover>.popover-inner>.popover-content>table>tbody>tr>td:not(.empty).in-between:hover{color:#666;background-color:#ffce1a}body luid-date-picker>table>tbody>tr>td:not(.empty).selected,body luid-date-picker>table>tbody>tr>td:not(.empty).start,body luid-date-picker>table>tbody>tr>td:not(.empty).end,body luid-date-picker-popup>.popover>.popover-inner>.popover-content>table>tbody>tr>td:not(.empty).selected,body luid-date-picker-popup>.popover>.popover-inner>.popover-content>table>tbody>tr>td:not(.empty).start,body luid-date-picker-popup>.popover>.popover-inner>.popover-content>table>tbody>tr>td:not(.empty).end,body luid-daterange-picker>.popover>.popover-inner>.popover-content>table>tbody>tr>td:not(.empty).selected,body luid-daterange-picker>.popover>.popover-inner>.popover-content>table>tbody>tr>td:not(.empty).start,body luid-daterange-picker>.popover>.popover-inner>.popover-content>table>tbody>tr>td:not(.empty).end{z-index:2;color:#666;background-color:#FFC900;border:1px double #f0bd00}body luid-date-picker>table>tbody>tr>td:not(.empty).selected:hover,body luid-date-picker>table>tbody>tr>td:not(.empty).start:hover,body luid-date-picker>table>tbody>tr>td:not(.empty).end:hover,body luid-date-picker-popup>.popover>.popover-inner>.popover-content>table>tbody>tr>td:not(.empty).selected:hover,body luid-date-picker-popup>.popover>.popover-inner>.popover-content>table>tbody>tr>td:not(.empty).start:hover,body luid-date-picker-popup>.popover>.popover-inner>.popover-content>table>tbody>tr>td:not(.empty).end:hover,body luid-daterange-picker>.popover>.popover-inner>.popover-content>table>tbody>tr>td:not(.empty).selected:hover,body luid-daterange-picker>.popover>.popover-inner>.popover-content>table>tbody>tr>td:not(.empty).start:hover,body luid-daterange-picker>.popover>.popover-inner>.popover-content>table>tbody>tr>td:not(.empty).end:hover{color:#666;background-color:#f0bd00}body luid-date-picker>table>tbody>tr>td:not(.empty).disabled,body luid-date-picker-popup>.popover>.popover-inner>.popover-content>table>tbody>tr>td:not(.empty).disabled,body luid-daterange-picker>.popover>.popover-inner>.popover-content>table>tbody>tr>td:not(.empty).disabled{opacity:.5;pointer-events:none}body .luis-notify{-ms-transition:all .3s ease-out;transition:all .3s ease-out;z-index:9999;position:fixed !important;width:320px;max-width:90%;left:50%}body .luis-notify .close{box-shadow:none;border:0;position:absolute;right:0;top:.5em} diff --git a/dist/lucca-ui.js b/dist/lucca-ui.js index e7237887..def8bc87 100644 --- a/dist/lucca-ui.js +++ b/dist/lucca-ui.js @@ -1208,7 +1208,7 @@ return function(_input, _precision, _placeholder) { function getRightSpan(decimalPart, separator) { - if (decimalPart === undefined) { return ""; } + if (decimalPart === undefined) { return ""; } if (parseInt(decimalPart) === 0) { return "" + separator + decimalPart + ""; } return "" + separator + decimalPart + ""; } @@ -1232,13 +1232,17 @@ return $sce.trustAsHtml(integerPart + rightSpan); }; }]); -})();;(function () { +})(); +;(function () { 'use strict'; /** ** DEPENDENCIES ** - moment **/ var formatMoment = function (_moment, _format) { //expects a moment + if (!_moment) { + return ""; + } var m = moment(_moment); return m.isValid() ? m.format(_format) : _moment; }; @@ -1276,8 +1280,13 @@ }; return function (_block, _excludeEnd, _ampm, _translations) { if(!_block){ return; } - var start = moment(_block.startsAt || _block.startsOn || _block.startDate || _block.start); - var end = moment(_block.endsAt || _block.endsOn || _block.endDate || _block.end); + var start = _block.startsAt || _block.startsOn || _block.startDate || _block.start; + var end = _block.endsAt || _block.endsOn || _block.endDate || _block.end; + if (!start && !end) { + return ""; + } + start = moment(start); + end = moment(end); if(_excludeEnd){ end.add(-1,'minutes'); } @@ -1452,7 +1461,532 @@ }; }); })(); -;angular.module("lui.directives").directive("deferredCloak", ["$timeout", function ($timeout) { +;var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +}; +var Lui; +(function (Lui) { + var Directives; + (function (Directives) { + "use strict"; + var CalendarMonth = (function () { + function CalendarMonth(date) { + this.date = moment(date).startOf("month"); + this.weeks = []; + this.currentYear = this.date.year() === moment().year(); + } + return CalendarMonth; + }()); + Directives.CalendarMonth = CalendarMonth; + var CalendarWeek = (function () { + function CalendarWeek() { + } + return CalendarWeek; + }()); + Directives.CalendarWeek = CalendarWeek; + var CalendarDay = (function () { + function CalendarDay(date) { + this.date = date; + this.dayNum = date.date(); + } + return CalendarDay; + }()); + Directives.CalendarDay = CalendarDay; + var CalendarController = (function () { + function CalendarController($scope) { + this.$scope = $scope; + this.initCalendarScopeMethods($scope); + } + CalendarController.prototype.setMonthsCnt = function (cntStr) { + this.monthsCnt = parseInt(cntStr, 10) || 1; + }; + CalendarController.prototype.constructMonths = function () { + var _this = this; + return _.map(_.range(this.monthsCnt), function (offset) { + return _this.constructMonth(moment(_this.currentMonth).add(offset, "months").startOf("month")); + }); + }; + CalendarController.prototype.constructDayLabels = function () { + return _.map(_.range(7), function (i) { + return moment().startOf("week").add(i, "days").format("dd"); + }); + }; + CalendarController.prototype.assignClasses = function () { + var _this = this; + var days = this.extractDays(); + _.each(days, function (day) { + day.selected = false; + day.start = false; + day.end = false; + day.inBetween = false; + if (!!_this.selected && day.date.format("YYYYMMDD") === moment(_this.selected).format("YYYYMMDD")) { + day.selected = true; + } + if (!!_this.start && day.date.format("YYYYMMDD") === moment(_this.start).format("YYYYMMDD")) { + day.start = true; + } + if (!!_this.end && day.date.format("YYYYMMDD") === moment(_this.end).format("YYYYMMDD")) { + day.end = true; + } + if (!!_this.start && !!_this.end && day.date.isAfter(_this.start) && day.date.isBefore(_this.end)) { + day.inBetween = true; + } + if (!!_this.min && _this.min.diff(day.date) > 0) { + day.disabled = true; + } + if (!!_this.max && _this.max.diff(day.date) < 0) { + day.disabled = true; + } + if (!!_this.$scope.customClass) { + day.customClass = _this.$scope.customClass(day.date); + } + }); + }; + CalendarController.prototype.initCalendarScopeMethods = function ($scope) { + var _this = this; + $scope.dayLabels = this.constructDayLabels(); + $scope.nextMonth = function () { + _this.currentMonth.add(1, "month"); + $scope.months = _this.constructMonths(); + _this.assignClasses(); + }; + $scope.previousMonth = function () { + _this.currentMonth.add(-1, "month"); + $scope.months = _this.constructMonths(); + _this.assignClasses(); + }; + }; + CalendarController.prototype.constructMonth = function (monthStart) { + var month = new CalendarMonth(monthStart); + var weekStart = moment(month.date).startOf("week"); + while (weekStart.month() === month.date.month() || moment(weekStart).endOf("week").month() === month.date.month()) { + month.weeks.push(this.constructWeek(weekStart, month.date)); + weekStart.add(1, "week"); + } + return month; + }; + CalendarController.prototype.constructWeek = function (weekStart, monthStart) { + var week = { days: [] }; + week.days = _.map(_.range(7), function (i) { + var day = new CalendarDay(moment(weekStart).add(i, "days")); + if (day.date.month() !== monthStart.month()) { + day.empty = true; + } + return day; + }); + return week; + }; + CalendarController.prototype.extractDays = function () { + return _.chain(this.$scope.months) + .pluck("weeks") + .flatten() + .pluck("days") + .flatten() + .reject(function (day) { + return day.empty; + }) + .value(); + }; + return CalendarController; + }()); + Directives.CalendarController = CalendarController; + })(Directives = Lui.Directives || (Lui.Directives = {})); +})(Lui || (Lui = {})); +var Lui; +(function (Lui) { + var Directives; + (function (Directives) { + "use strict"; + var LuidDatePicker = (function () { + function LuidDatePicker() { + this.restrict = "E"; + this.templateUrl = "lui/templates/date-picker/datepicker-inline.html"; + this.require = ["ngModel", "luidDatePicker"]; + this.scope = { + format: "@", + displayedMonths: "@", + min: "=", + max: "=", + customClass: "=", + }; + this.controller = LuidDatePickerController.IID; + } + LuidDatePicker.factory = function () { + var directive = function () { + return new LuidDatePicker(); + }; + return directive; + }; + LuidDatePicker.prototype.link = function (scope, element, attrs, ctrls) { + var ngModelCtrl = ctrls[0]; + var datePickerCtrl = ctrls[1]; + datePickerCtrl.setNgModelCtrl(ngModelCtrl); + datePickerCtrl.setFormat(scope.format); + datePickerCtrl.setMonthsCnt(scope.displayedMonths); + }; + LuidDatePicker.IID = "luidDatePicker"; + return LuidDatePicker; + }()); + var LuidDatePickerPopup = (function () { + function LuidDatePickerPopup() { + this.restrict = "E"; + this.templateUrl = "lui/templates/date-picker/datepicker-popup.html"; + this.require = ["ngModel", "luidDatePickerPopup"]; + this.scope = { + format: "@", + displayFormat: "@", + displayedMonths: "@", + min: "=", + max: "=", + customClass: "=", + }; + this.controller = LuidDatePickerController.IID; + } + LuidDatePickerPopup.factory = function () { + var directive = function () { + return new LuidDatePickerPopup(); + }; + return directive; + }; + LuidDatePickerPopup.prototype.link = function (scope, element, attrs, ctrls) { + var ngModelCtrl = ctrls[0]; + var datePickerCtrl = ctrls[1]; + datePickerCtrl.setNgModelCtrl(ngModelCtrl); + datePickerCtrl.setFormat(scope.format, scope.displayFormat); + datePickerCtrl.setMonthsCnt(scope.displayedMonths); + datePickerCtrl.setPopoverTrigger(element, scope); + }; + LuidDatePickerPopup.IID = "luidDatePickerPopup"; + return LuidDatePickerPopup; + }()); + var LuidDatePickerController = (function (_super) { + __extends(LuidDatePickerController, _super); + function LuidDatePickerController($scope) { + var _this = this; + _super.call(this, $scope); + this.$scope = $scope; + $scope.selectDay = function (day) { + _this.setViewValue(day.date); + $scope.displayStr = _this.getDisplayStr(day.date); + _this.selected = day.date; + _this.assignClasses(); + _this.closePopover(); + }; + $scope.togglePopover = function ($event) { + _this.togglePopover($event); + }; + $scope.$watch("min", function () { + _this.min = _this.formatter.parseValue($scope.min); + _this.validate(); + _this.selected = _this.getViewValue(); + _this.assignClasses(); + }); + $scope.$watch("max", function () { + _this.max = _this.formatter.parseValue($scope.max); + _this.validate(); + _this.selected = _this.getViewValue(); + _this.assignClasses(); + }); + } + LuidDatePickerController.prototype.setNgModelCtrl = function (ngModelCtrl) { + var _this = this; + this.ngModelCtrl = ngModelCtrl; + ngModelCtrl.$render = function () { + var date = _this.formatter.parseValue(ngModelCtrl.$viewValue); + _this.currentMonth = moment(date).startOf("month"); + _this.$scope.months = _this.constructMonths(); + _this.selected = date; + _this.min = _this.formatter.parseValue(_this.$scope.min); + _this.max = _this.formatter.parseValue(_this.$scope.max); + _this.assignClasses(); + _this.$scope.displayStr = _this.getDisplayStr(date); + }; + ngModelCtrl.$validators.min = function (modelValue, viewValue) { + var min = _this.min; + var value = _this.getViewValue(); + return !value || !min || min.diff(value) <= 0; + }; + ngModelCtrl.$validators.max = function (modelValue, viewValue) { + var max = _this.max; + var value = _this.getViewValue(); + return !value || !max || max.diff(value) >= 0; + }; + }; + LuidDatePickerController.prototype.setFormat = function (format, displayFormat) { + this.formatter = new Lui.Utils.MomentFormatter(format); + if (format !== "moment" && format !== "date") { + this.displayFormat = displayFormat || format || "L"; + } + else { + this.displayFormat = displayFormat || "L"; + } + }; + LuidDatePickerController.prototype.setPopoverTrigger = function (elt, $scope) { + var _this = this; + this.popoverController = new Lui.Utils.ClickoutsideTrigger(elt, $scope); + $scope.popover = { isOpen: false }; + $scope.togglePopover = function ($event) { + _this.togglePopover($event); + }; + }; + LuidDatePickerController.prototype.setViewValue = function (value) { + this.ngModelCtrl.$setViewValue(this.formatter.formatValue(value)); + }; + LuidDatePickerController.prototype.getViewValue = function () { + return this.formatter.parseValue(this.ngModelCtrl.$viewValue); + }; + LuidDatePickerController.prototype.validate = function () { + this.ngModelCtrl.$validate(); + }; + LuidDatePickerController.prototype.togglePopover = function ($event) { + if (this.$scope.popover.isOpen) { + this.closePopover(); + } + else { + this.openPopover($event); + } + }; + LuidDatePickerController.prototype.closePopover = function () { + if (!!this.popoverController) { + this.popoverController.close(); + } + }; + LuidDatePickerController.prototype.openPopover = function ($event) { + if (!!this.popoverController) { + this.popoverController.open($event); + } + }; + LuidDatePickerController.prototype.getDisplayStr = function (date) { + return !!date ? date.format(this.displayFormat) : undefined; + }; + LuidDatePickerController.IID = "luidDatePickerController"; + LuidDatePickerController.$inject = ["$scope"]; + return LuidDatePickerController; + }(Directives.CalendarController)); + angular.module("lui.directives").controller(LuidDatePickerController.IID, LuidDatePickerController); + angular.module("lui.directives").directive(LuidDatePicker.IID, LuidDatePicker.factory()); + angular.module("lui.directives").directive(LuidDatePickerPopup.IID, LuidDatePickerPopup.factory()); + })(Directives = Lui.Directives || (Lui.Directives = {})); +})(Lui || (Lui = {})); +var Lui; +(function (Lui) { + var Directives; + (function (Directives) { + "use strict"; + var LuidDaterangePicker = (function () { + function LuidDaterangePicker() { + this.restrict = "E"; + this.templateUrl = "lui/templates/date-picker/daterangepicker.html"; + this.require = ["ngModel", "luidDaterangePicker"]; + this.scope = { + format: "@", + displayFormat: "@", + min: "=", + max: "=", + customClass: "=", + excludeEnd: "@", + startProperty: "@", + endProperty: "@", + }; + this.controller = LuidDaterangePickerController.IID; + } + LuidDaterangePicker.factory = function () { + var directive = function () { + return new LuidDaterangePicker(); + }; + return directive; + }; + LuidDaterangePicker.prototype.link = function (scope, element, attrs, ctrls) { + var ngModelCtrl = ctrls[0]; + var drCtrl = ctrls[1]; + drCtrl.setNgModelCtrl(ngModelCtrl); + drCtrl.setFormat(scope.format, scope.displayFormat); + drCtrl.setMonthsCnt("2"); + drCtrl.setPopoverTrigger(element, scope); + drCtrl.setExcludeEnd(scope.excludeEnd); + drCtrl.setProperties(scope.startProperty, scope.endProperty); + }; + LuidDaterangePicker.IID = "luidDaterangePicker"; + return LuidDaterangePicker; + }()); + var LuidDaterangePickerController = (function (_super) { + __extends(LuidDaterangePickerController, _super); + function LuidDaterangePickerController($scope, $filter) { + var _this = this; + _super.call(this, $scope); + this.$scope = $scope; + this.$filter = $filter; + $scope.selectDay = function (day) { + if ($scope.editingStart || !!$scope.period.start && day.date.isBefore($scope.period.start)) { + $scope.period.start = day.date; + _this.start = day.date; + $scope.editEnd(); + if (!!$scope.period.end && $scope.period.start.isAfter($scope.period.end)) { + $scope.period.end = undefined; + _this.end = undefined; + } + _this.assignClasses(); + } + else { + $scope.period.end = day.date; + _this.closePopover(); + } + }; + $scope.editStart = function ($event) { + if (!!$event) { + $event.stopPropagation(); + } + $scope.editingStart = true; + if (!!_this.$scope.period.start && moment(_this.currentMonth).diff(_this.$scope.period.start) > 0) { + _this.currentMonth = moment(_this.$scope.period.start).startOf("month"); + _this.$scope.months = _this.constructMonths(); + _this.assignClasses(); + } + }; + $scope.editEnd = function ($event) { + if (!!$event) { + $event.stopPropagation(); + } + $scope.editingStart = false; + if (!!_this.$scope.period.end && moment(_this.currentMonth).add(_this.monthsCnt, "months").diff(_this.$scope.period.end) <= 0) { + _this.currentMonth = moment(_this.$scope.period.end).add(-_this.monthsCnt + 1, "months").startOf("month"); + _this.$scope.months = _this.constructMonths(); + _this.assignClasses(); + } + }; + $scope.onMouseEnter = function (day, $event) { + if (!$scope.editingStart && !_this.$scope.period.end) { + _this.end = day.date; + _this.assignClasses(); + } + }; + $scope.onMouseLeave = function (day, $event) { + if (!$scope.editingStart && !_this.$scope.period.end) { + _this.end = undefined; + _this.assignClasses(); + } + }; + $scope.popover = { isOpen: false }; + } + LuidDaterangePickerController.prototype.setNgModelCtrl = function (ngModelCtrl) { + var _this = this; + this.ngModelCtrl = ngModelCtrl; + ngModelCtrl.$render = function () { + if (ngModelCtrl.$viewValue) { + _this.$scope.period = _this.getViewValue(); + _this.$scope.displayStr = _this.$filter("luifFriendlyRange")(_this.$scope.period); + } + else { + _this.$scope.period = undefined; + _this.$scope.displayStr = undefined; + } + }; + ngModelCtrl.$validators.min = function (modelValue, viewValue) { + var start = _this.getViewValue().start; + var min = _this.formatter.parseValue(_this.$scope.min); + return !start || !min || min.diff(start) <= 0; + }; + ngModelCtrl.$validators.max = function (modelValue, viewValue) { + var end = _this.getViewValue().end; + var max = _this.formatter.parseValue(_this.$scope.max); + return !end || !max || max.diff(end) >= 0; + }; + }; + LuidDaterangePickerController.prototype.setProperties = function (startProperty, endProperty) { + this.startProperty = startProperty || "start"; + this.endProperty = endProperty || "end"; + }; + LuidDaterangePickerController.prototype.setExcludeEnd = function (excludeEnd) { + this.excludeEnd = excludeEnd === "true"; + }; + LuidDaterangePickerController.prototype.setFormat = function (format, displayFormat) { + this.formatter = new Lui.Utils.MomentFormatter(format); + if (format !== "moment" && format !== "date") { + this.$scope.momentFormat = displayFormat || format || "L"; + } + else { + this.$scope.momentFormat = displayFormat || "L"; + } + }; + LuidDaterangePickerController.prototype.setPopoverTrigger = function (elt, scope) { + var _this = this; + var onClosing = function () { + _this.closePopover(); + }; + this.popoverController = new Lui.Utils.ClickoutsideTrigger(elt, scope, onClosing); + scope.togglePopover = function ($event) { + _this.togglePopover($event); + }; + }; + LuidDaterangePickerController.prototype.setViewValue = function (value) { + var period = this.ngModelCtrl.$viewValue || {}; + if (!value || !value.start || !value.end) { + period[this.startProperty] = undefined; + period[this.endProperty] = undefined; + } + else { + period[this.startProperty] = this.formatter.formatValue(moment(value.start)); + period[this.endProperty] = this.formatter.formatValue(this.excludeEnd ? moment(value.end).add(1, "day") : moment(value.end)); + } + this.ngModelCtrl.$setViewValue(period); + }; + LuidDaterangePickerController.prototype.getViewValue = function () { + if (!!this.ngModelCtrl.$viewValue) { + var iperiod = {}; + iperiod.start = this.ngModelCtrl.$viewValue[this.startProperty]; + iperiod.end = this.ngModelCtrl.$viewValue[this.endProperty]; + var period = new Lui.Period(iperiod, this.formatter); + if (this.excludeEnd) { + period.end.add(-1, "day"); + } + return period; + } + return { start: undefined, end: undefined }; + }; + LuidDaterangePickerController.prototype.togglePopover = function ($event) { + if (this.$scope.popover.isOpen) { + this.closePopover(); + } + else { + this.openPopover($event); + } + }; + LuidDaterangePickerController.prototype.closePopover = function () { + if (!!this.$scope.period.start && !!this.$scope.period.end) { + this.setViewValue(this.$scope.period); + this.$scope.displayStr = this.$filter("luifFriendlyRange")(this.$scope.period); + } + else { + this.$scope.period = this.getViewValue(); + } + this.popoverController.close(); + }; + LuidDaterangePickerController.prototype.openPopover = function ($event) { + var vv = this.getViewValue(); + this.$scope.period = vv || { start: undefined, end: undefined }; + this.currentMonth = (!!vv ? moment(vv.start) : moment()).startOf("month"); + this.$scope.months = this.constructMonths(); + if (!!vv) { + this.start = vv.start; + this.end = vv.end; + } + this.min = this.formatter.parseValue(this.$scope.min); + this.max = this.formatter.parseValue(this.$scope.max); + this.assignClasses(); + this.$scope.editingStart = true; + this.popoverController.open($event); + }; + LuidDaterangePickerController.IID = "luidDaterangePickerController"; + LuidDaterangePickerController.$inject = ["$scope", "$filter"]; + return LuidDaterangePickerController; + }(Directives.CalendarController)); + angular.module("lui.directives").controller(LuidDaterangePickerController.IID, LuidDaterangePickerController); + angular.module("lui.directives").directive(LuidDaterangePicker.IID, LuidDaterangePicker.factory()); + })(Directives = Lui.Directives || (Lui.Directives = {})); +})(Lui || (Lui = {})); +angular.module("lui.directives").directive("deferredCloak", ["$timeout", function ($timeout) { return { restrict: "A", link: function (scope, element, attrs) { @@ -1467,13 +2001,122 @@ var Lui; (function (Lui) { "use strict"; var Period = (function () { - function Period() { + function Period(unformatted, formatter) { + var start = unformatted.start || unformatted.startsOn || unformatted.startsAt; + var end = unformatted.end || unformatted.endsOn || unformatted.endsAt; + this.start = formatter.parseValue(start); + this.end = formatter.parseValue(end); } return Period; }()); Lui.Period = Period; })(Lui || (Lui = {})); var Lui; +(function (Lui) { + var Filters; + (function (Filters) { + "use strict"; + var diacriticsMap = [ + { "base": "A", "letters": /[\u0041\u24B6\uFF21\u00C0\u00C1\u00C2\u1EA6\u1EA4\u1EAA\u1EA8\u00C3\u0100\u0102\u1EB0\u1EAE\u1EB4\u1EB2\u0226\u01E0\u00C4\u01DE\u1EA2\u00C5\u01FA\u01CD\u0200\u0202\u1EA0\u1EAC\u1EB6\u1E00\u0104\u023A\u2C6F]/g }, + { "base": "AA", "letters": /[\uA732]/g }, + { "base": "AE", "letters": /[\u00C6\u01FC\u01E2]/g }, + { "base": "AO", "letters": /[\uA734]/g }, + { "base": "AU", "letters": /[\uA736]/g }, + { "base": "AV", "letters": /[\uA738\uA73A]/g }, + { "base": "AY", "letters": /[\uA73C]/g }, + { "base": "B", "letters": /[\u0042\u24B7\uFF22\u1E02\u1E04\u1E06\u0243\u0182\u0181]/g }, + { "base": "C", "letters": /[\u0043\u24B8\uFF23\u0106\u0108\u010A\u010C\u00C7\u1E08\u0187\u023B\uA73E]/g }, + { "base": "D", "letters": /[\u0044\u24B9\uFF24\u1E0A\u010E\u1E0C\u1E10\u1E12\u1E0E\u0110\u018B\u018A\u0189\uA779]/g }, + { "base": "DZ", "letters": /[\u01F1\u01C4]/g }, + { "base": "Dz", "letters": /[\u01F2\u01C5]/g }, + { "base": "E", "letters": /[\u0045\u24BA\uFF25\u00C8\u00C9\u00CA\u1EC0\u1EBE\u1EC4\u1EC2\u1EBC\u0112\u1E14\u1E16\u0114\u0116\u00CB\u1EBA\u011A\u0204\u0206\u1EB8\u1EC6\u0228\u1E1C\u0118\u1E18\u1E1A\u0190\u018E]/g }, + { "base": "F", "letters": /[\u0046\u24BB\uFF26\u1E1E\u0191\uA77B]/g }, + { "base": "G", "letters": /[\u0047\u24BC\uFF27\u01F4\u011C\u1E20\u011E\u0120\u01E6\u0122\u01E4\u0193\uA7A0\uA77D\uA77E]/g }, + { "base": "H", "letters": /[\u0048\u24BD\uFF28\u0124\u1E22\u1E26\u021E\u1E24\u1E28\u1E2A\u0126\u2C67\u2C75\uA78D]/g }, + { "base": "I", "letters": /[\u0049\u24BE\uFF29\u00CC\u00CD\u00CE\u0128\u012A\u012C\u0130\u00CF\u1E2E\u1EC8\u01CF\u0208\u020A\u1ECA\u012E\u1E2C\u0197]/g }, + { "base": "J", "letters": /[\u004A\u24BF\uFF2A\u0134\u0248]/g }, + { "base": "K", "letters": /[\u004B\u24C0\uFF2B\u1E30\u01E8\u1E32\u0136\u1E34\u0198\u2C69\uA740\uA742\uA744\uA7A2]/g }, + { "base": "L", "letters": /[\u004C\u24C1\uFF2C\u013F\u0139\u013D\u1E36\u1E38\u013B\u1E3C\u1E3A\u0141\u023D\u2C62\u2C60\uA748\uA746\uA780]/g }, + { "base": "LJ", "letters": /[\u01C7]/g }, + { "base": "Lj", "letters": /[\u01C8]/g }, + { "base": "M", "letters": /[\u004D\u24C2\uFF2D\u1E3E\u1E40\u1E42\u2C6E\u019C]/g }, + { "base": "N", "letters": /[\u004E\u24C3\uFF2E\u01F8\u0143\u00D1\u1E44\u0147\u1E46\u0145\u1E4A\u1E48\u0220\u019D\uA790\uA7A4]/g }, + { "base": "NJ", "letters": /[\u01CA]/g }, + { "base": "Nj", "letters": /[\u01CB]/g }, + { "base": "O", "letters": /[\u004F\u24C4\uFF2F\u00D2\u00D3\u00D4\u1ED2\u1ED0\u1ED6\u1ED4\u00D5\u1E4C\u022C\u1E4E\u014C\u1E50\u1E52\u014E\u022E\u0230\u00D6\u022A\u1ECE\u0150\u01D1\u020C\u020E\u01A0\u1EDC\u1EDA\u1EE0\u1EDE\u1EE2\u1ECC\u1ED8\u01EA\u01EC\u00D8\u01FE\u0186\u019F\uA74A\uA74C]/g }, + { "base": "OI", "letters": /[\u01A2]/g }, + { "base": "OO", "letters": /[\uA74E]/g }, + { "base": "OU", "letters": /[\u0222]/g }, + { "base": "P", "letters": /[\u0050\u24C5\uFF30\u1E54\u1E56\u01A4\u2C63\uA750\uA752\uA754]/g }, + { "base": "Q", "letters": /[\u0051\u24C6\uFF31\uA756\uA758\u024A]/g }, + { "base": "R", "letters": /[\u0052\u24C7\uFF32\u0154\u1E58\u0158\u0210\u0212\u1E5A\u1E5C\u0156\u1E5E\u024C\u2C64\uA75A\uA7A6\uA782]/g }, + { "base": "S", "letters": /[\u0053\u24C8\uFF33\u1E9E\u015A\u1E64\u015C\u1E60\u0160\u1E66\u1E62\u1E68\u0218\u015E\u2C7E\uA7A8\uA784]/g }, + { "base": "T", "letters": /[\u0054\u24C9\uFF34\u1E6A\u0164\u1E6C\u021A\u0162\u1E70\u1E6E\u0166\u01AC\u01AE\u023E\uA786]/g }, + { "base": "TZ", "letters": /[\uA728]/g }, + { "base": "U", "letters": /[\u0055\u24CA\uFF35\u00D9\u00DA\u00DB\u0168\u1E78\u016A\u1E7A\u016C\u00DC\u01DB\u01D7\u01D5\u01D9\u1EE6\u016E\u0170\u01D3\u0214\u0216\u01AF\u1EEA\u1EE8\u1EEE\u1EEC\u1EF0\u1EE4\u1E72\u0172\u1E76\u1E74\u0244]/g }, + { "base": "V", "letters": /[\u0056\u24CB\uFF36\u1E7C\u1E7E\u01B2\uA75E\u0245]/g }, + { "base": "VY", "letters": /[\uA760]/g }, + { "base": "W", "letters": /[\u0057\u24CC\uFF37\u1E80\u1E82\u0174\u1E86\u1E84\u1E88\u2C72]/g }, + { "base": "X", "letters": /[\u0058\u24CD\uFF38\u1E8A\u1E8C]/g }, + { "base": "Y", "letters": /[\u0059\u24CE\uFF39\u1EF2\u00DD\u0176\u1EF8\u0232\u1E8E\u0178\u1EF6\u1EF4\u01B3\u024E\u1EFE]/g }, + { "base": "Z", "letters": /[\u005A\u24CF\uFF3A\u0179\u1E90\u017B\u017D\u1E92\u1E94\u01B5\u0224\u2C7F\u2C6B\uA762]/g }, + { "base": "a", "letters": /[\u0061\u24D0\uFF41\u1E9A\u00E0\u00E1\u00E2\u1EA7\u1EA5\u1EAB\u1EA9\u00E3\u0101\u0103\u1EB1\u1EAF\u1EB5\u1EB3\u0227\u01E1\u00E4\u01DF\u1EA3\u00E5\u01FB\u01CE\u0201\u0203\u1EA1\u1EAD\u1EB7\u1E01\u0105\u2C65\u0250]/g }, + { "base": "aa", "letters": /[\uA733]/g }, + { "base": "ae", "letters": /[\u00E6\u01FD\u01E3]/g }, + { "base": "ao", "letters": /[\uA735]/g }, + { "base": "au", "letters": /[\uA737]/g }, + { "base": "av", "letters": /[\uA739\uA73B]/g }, + { "base": "ay", "letters": /[\uA73D]/g }, + { "base": "b", "letters": /[\u0062\u24D1\uFF42\u1E03\u1E05\u1E07\u0180\u0183\u0253]/g }, + { "base": "c", "letters": /[\u0063\u24D2\uFF43\u0107\u0109\u010B\u010D\u00E7\u1E09\u0188\u023C\uA73F\u2184]/g }, + { "base": "d", "letters": /[\u0064\u24D3\uFF44\u1E0B\u010F\u1E0D\u1E11\u1E13\u1E0F\u0111\u018C\u0256\u0257\uA77A]/g }, + { "base": "dz", "letters": /[\u01F3\u01C6]/g }, + { "base": "e", "letters": /[\u0065\u24D4\uFF45\u00E8\u00E9\u00EA\u1EC1\u1EBF\u1EC5\u1EC3\u1EBD\u0113\u1E15\u1E17\u0115\u0117\u00EB\u1EBB\u011B\u0205\u0207\u1EB9\u1EC7\u0229\u1E1D\u0119\u1E19\u1E1B\u0247\u025B\u01DD]/g }, + { "base": "f", "letters": /[\u0066\u24D5\uFF46\u1E1F\u0192\uA77C]/g }, + { "base": "g", "letters": /[\u0067\u24D6\uFF47\u01F5\u011D\u1E21\u011F\u0121\u01E7\u0123\u01E5\u0260\uA7A1\u1D79\uA77F]/g }, + { "base": "h", "letters": /[\u0068\u24D7\uFF48\u0125\u1E23\u1E27\u021F\u1E25\u1E29\u1E2B\u1E96\u0127\u2C68\u2C76\u0265]/g }, + { "base": "hv", "letters": /[\u0195]/g }, + { "base": "i", "letters": /[\u0069\u24D8\uFF49\u00EC\u00ED\u00EE\u0129\u012B\u012D\u00EF\u1E2F\u1EC9\u01D0\u0209\u020B\u1ECB\u012F\u1E2D\u0268\u0131]/g }, + { "base": "j", "letters": /[\u006A\u24D9\uFF4A\u0135\u01F0\u0249]/g }, + { "base": "k", "letters": /[\u006B\u24DA\uFF4B\u1E31\u01E9\u1E33\u0137\u1E35\u0199\u2C6A\uA741\uA743\uA745\uA7A3]/g }, + { "base": "l", "letters": /[\u006C\u24DB\uFF4C\u0140\u013A\u013E\u1E37\u1E39\u013C\u1E3D\u1E3B\u017F\u0142\u019A\u026B\u2C61\uA749\uA781\uA747]/g }, + { "base": "lj", "letters": /[\u01C9]/g }, + { "base": "m", "letters": /[\u006D\u24DC\uFF4D\u1E3F\u1E41\u1E43\u0271\u026F]/g }, + { "base": "n", "letters": /[\u006E\u24DD\uFF4E\u01F9\u0144\u00F1\u1E45\u0148\u1E47\u0146\u1E4B\u1E49\u019E\u0272\u0149\uA791\uA7A5]/g }, + { "base": "nj", "letters": /[\u01CC]/g }, + { "base": "o", "letters": /[\u006F\u24DE\uFF4F\u00F2\u00F3\u00F4\u1ED3\u1ED1\u1ED7\u1ED5\u00F5\u1E4D\u022D\u1E4F\u014D\u1E51\u1E53\u014F\u022F\u0231\u00F6\u022B\u1ECF\u0151\u01D2\u020D\u020F\u01A1\u1EDD\u1EDB\u1EE1\u1EDF\u1EE3\u1ECD\u1ED9\u01EB\u01ED\u00F8\u01FF\u0254\uA74B\uA74D\u0275]/g }, + { "base": "oi", "letters": /[\u01A3]/g }, + { "base": "ou", "letters": /[\u0223]/g }, + { "base": "oo", "letters": /[\uA74F]/g }, + { "base": "p", "letters": /[\u0070\u24DF\uFF50\u1E55\u1E57\u01A5\u1D7D\uA751\uA753\uA755]/g }, + { "base": "q", "letters": /[\u0071\u24E0\uFF51\u024B\uA757\uA759]/g }, + { "base": "r", "letters": /[\u0072\u24E1\uFF52\u0155\u1E59\u0159\u0211\u0213\u1E5B\u1E5D\u0157\u1E5F\u024D\u027D\uA75B\uA7A7\uA783]/g }, + { "base": "s", "letters": /[\u0073\u24E2\uFF53\u00DF\u015B\u1E65\u015D\u1E61\u0161\u1E67\u1E63\u1E69\u0219\u015F\u023F\uA7A9\uA785\u1E9B]/g }, + { "base": "t", "letters": /[\u0074\u24E3\uFF54\u1E6B\u1E97\u0165\u1E6D\u021B\u0163\u1E71\u1E6F\u0167\u01AD\u0288\u2C66\uA787]/g }, + { "base": "tz", "letters": /[\uA729]/g }, + { "base": "u", "letters": /[\u0075\u24E4\uFF55\u00F9\u00FA\u00FB\u0169\u1E79\u016B\u1E7B\u016D\u00FC\u01DC\u01D8\u01D6\u01DA\u1EE7\u016F\u0171\u01D4\u0215\u0217\u01B0\u1EEB\u1EE9\u1EEF\u1EED\u1EF1\u1EE5\u1E73\u0173\u1E77\u1E75\u0289]/g }, + { "base": "v", "letters": /[\u0076\u24E5\uFF56\u1E7D\u1E7F\u028B\uA75F\u028C]/g }, + { "base": "vy", "letters": /[\uA761]/g }, + { "base": "w", "letters": /[\u0077\u24E6\uFF57\u1E81\u1E83\u0175\u1E87\u1E85\u1E98\u1E89\u2C73]/g }, + { "base": "x", "letters": /[\u0078\u24E7\uFF58\u1E8B\u1E8D]/g }, + { "base": "y", "letters": /[\u0079\u24E8\uFF59\u1EF3\u00FD\u0177\u1EF9\u0233\u1E8F\u00FF\u1EF7\u1E99\u1EF5\u01B4\u024F\u1EFF]/g }, + { "base": "z", "letters": /[\u007A\u24E9\uFF5A\u017A\u1E91\u017C\u017E\u1E93\u1E95\u01B6\u0225\u0240\u2C6C\uA763]/g } + ]; + function luifStripAccents() { + return function (input) { + if (input === null || input === undefined) { + return ""; + } + _.each(diacriticsMap, function (row) { + input = input.replace(row.letters, row.base); + }); + return input; + }; + } + angular.module("lui.filters").filter("luifStripAccents", luifStripAccents); + })(Filters = Lui.Filters || (Lui.Filters = {})); +})(Lui || (Lui = {})); +var Lui; (function (Lui) { var Service; (function (Service) { @@ -1708,9 +2351,128 @@ var Lui; angular.module("lui.services").service(ProgressBarService.IID, ProgressBarService); })(Service = Lui.Service || (Lui.Service = {})); })(Lui || (Lui = {})); +var Lui; +(function (Lui) { + var Utils; + (function (Utils) { + "use strict"; + var MomentFormatter = (function () { + function MomentFormatter(format) { + this.format = format || "moment"; + } + MomentFormatter.prototype.parseValue = function (value) { + switch (this.format) { + case "moment": return this.parseMoment(value); + case "date": return this.parseDate(value); + default: return this.parseString(value); + } + }; + MomentFormatter.prototype.formatValue = function (value) { + switch (this.format) { + case "moment": return this.formatMoment(value); + case "date": return this.formatDate(value); + default: return this.formatString(value); + } + }; + MomentFormatter.prototype.parseMoment = function (value) { + return !!value ? moment(value) : undefined; + }; + MomentFormatter.prototype.parseDate = function (value) { + return !!value ? moment(value) : undefined; + }; + MomentFormatter.prototype.parseString = function (value) { + return !!value && moment(value, this.format).isValid() ? moment(value, this.format) : undefined; + }; + MomentFormatter.prototype.formatMoment = function (value) { + return moment(value); + }; + MomentFormatter.prototype.formatDate = function (value) { + return value.toDate(); + }; + MomentFormatter.prototype.formatString = function (value) { + return value.format(this.format); + }; + return MomentFormatter; + }()); + Utils.MomentFormatter = MomentFormatter; + })(Utils = Lui.Utils || (Lui.Utils = {})); +})(Lui || (Lui = {})); +var Lui; +(function (Lui) { + var Utils; + (function (Utils) { + "use strict"; + var ClickoutsideTrigger = (function () { + function ClickoutsideTrigger(elt, $scope, clickedOutside) { + this.elt = elt; + this.body = angular.element(document.getElementsByTagName("body")[0]); + this.$scope = $scope; + this.clickedOutside = clickedOutside; + } + ClickoutsideTrigger.prototype.toggle = function ($event) { + if (this.$scope.popover.isOpen) { + this.close($event); + } + else { + this.open($event); + } + }; + ClickoutsideTrigger.prototype.close = function ($event) { + this.$scope.popover.isOpen = false; + if (!!this.body) { + this.body.off("click"); + this.elt.off("click"); + } + }; + ClickoutsideTrigger.prototype.open = function ($event) { + var _this = this; + this.$scope.popover.isOpen = true; + setTimeout(function () { + _this.body.on("click", function () { + _this.onClickedOutside(); + _this.$scope.$digest(); + }); + _this.elt.on("click", function (otherEvent) { + otherEvent.stopPropagation(); + }); + }, 1); + }; + ClickoutsideTrigger.prototype.onClickedOutside = function ($event) { + if (this.clickedOutside) { + this.clickedOutside(); + } + else { + this.close(); + } + }; + return ClickoutsideTrigger; + }()); + Utils.ClickoutsideTrigger = ClickoutsideTrigger; + })(Utils = Lui.Utils || (Lui.Utils = {})); +})(Lui || (Lui = {})); ;angular.module('lui.directives').run(['$templateCache', function($templateCache) { 'use strict'; + $templateCache.put('lui/templates/date-picker/datepicker-inline.html', + "
{{ month.date | luifMoment : month.currentYear ? \"MMMM\" : \"MMMM - YYYY\" }}
{{ ::dayLabel }}
{{ ::day.dayNum }}
" + ); + + + $templateCache.put('lui/templates/date-picker/datepicker-popup.html', + "" + ); + + + $templateCache.put('lui/templates/date-picker/daterangepicker-popover.html', + "
{{ month.date | luifMoment : month.currentYear ? \"MMMM\" : \"MMMM - YYYY\" }}
{{ ::dayLabel }}
{{ ::day.dayNum }}
" + ); + + + $templateCache.put('lui/templates/date-picker/daterangepicker.html', + " {{ !!period.start ? (period.start | luifMoment : momentFormat) : \".................\" }} {{ !!period.end ? (period.end | luifMoment : momentFormat) : \".................\" }}" + ); + + $templateCache.put('lui/templates/notify-service/alert.html', "
{{message}}
" ); @@ -1727,15 +2489,7 @@ var Lui; $templateCache.put('lui/templates/notify-service/loading.html', - "
Loading {{\"CANCEL\" | translate}}
{{'NOTIFY_SUCCESS' | translate }}
{{'NOTIFY_ERROR' | translate }}
{{'NOTIFY_WARNING' | translate }}
{{ $message }} {{\"CANCEL\" | translate}}
{{ \"SUCCESS_\" + $message | translate }}
{{ \"ERR_\" + $message | translate }}
{{ \"WARN_\" + $message | translate }}
" + "
  Loading
  {{ message }}
" ); @@ -1755,7 +2509,7 @@ var Lui; $templateCache.put('lui/templates/table-grid/table-grid.table.html', - "
{{ header.label }}
{{ $item }}{{ value }}{{ $select.selected }}{{ value }}
" + "
{{ header.label }}
{{ $item }}{{ value }}{{ $select.selected }}{{ value }}
" ); }]); diff --git a/dist/lucca-ui.min.js b/dist/lucca-ui.min.js index 1dc2623a..d883ebf9 100644 --- a/dist/lucca-ui.min.js +++ b/dist/lucca-ui.min.js @@ -1,3 +1,3 @@ -/*! lucca-ui 16-05-2016 */ -!function(){"use strict";angular.module("moment",[]).factory("moment",function(){return window.moment}),angular.module("lui.directives",["moment"]),angular.module("lui.filters",["moment"]),angular.module("lui.services",[]),angular.module("lui.templates.momentpicker",[]),angular.module("lui.templates.daterangepicker",[]),angular.module("lui.templates",["lui.templates.momentpicker","lui.templates.daterangepicker"]),angular.module("lui",["lui.directives","lui.services","lui.filters","lui.templates"])}(),function(){"use strict";angular.module("lui.directives").directive("luidDaterange",["moment","$filter","$document","$timeout",function(a,b,c,d){function e(e,f,g,h){function i(b,c){var d=e.startProperty||"startsOn",f=e.endProperty||"endsOn",g={},h=a(b),i=a(c);switch(e.excludeEnd&&i.add(1,"d"),e.format||"moment"){case"moment":g[d]=h,g[f]=i;break;case"date":g[d]=h.toDate(),g[f]=i.toDate();break;default:g[d]=h.format(e.format),g[f]=i.format(e.format)}return g}function j(b){var c,d,f=e.startProperty||"startsOn",g=e.endProperty||"endsOn";switch(e.format||"moment"){case"moment":case"date":c=a(b[f]),d=a(b[g]);break;default:c=a(b[f],e.format),d=a(b[g],e.format)}return e.excludeEnd&&d.add(-1,"d"),{startsOn:c.toDate(),endsOn:d.toDate()}}function k(){e.popoverOpened=!1,m.unpinPopover(),e.$apply()}var l=h[1],m=h[0];e.internal={},e.hasPeriods=!!g.periods,l.$render=function(){if(!l.$viewValue)return e.internal.startsOn=void 0,e.internal.endsOn=void 0,void(e.internal.strFriendly=void 0);var a=j(l.$viewValue);e.internal.startsOn=a.startsOn,e.internal.endsOn=a.endsOn,e.internal.strFriendly=b("luifFriendlyRange")(e.internal)},e.$watch(function(a){return l.$viewValue[a.startProperty||"startsOn"]},function(){l.$render()}),e.$watch(function(a){return l.$viewValue[a.endProperty||"endsOn"]},function(){l.$render()}),m.updateValue=function(a,b){var c=l.$viewValue,d=i(a,b);c[Object.keys(d)[0]]=d[Object.keys(d)[0]],c[Object.keys(d)[1]]=d[Object.keys(d)[1]],l.$setViewValue(c),e.$parent.$eval(g.ngChange)},m.pinPopover=function(){d(function(){c.on("click",k)},10)},m.unpinPopover=function(){c.off("click",k)}}return{require:["luidDaterange","^ngModel"],controller:"luidDaterangeController",scope:{disabled:"=",format:"@",startProperty:"@",endProperty:"@",popoverPlacement:"@",excludeEnd:"=",periods:"=",closeLabel:"@",closeAction:"&"},templateUrl:"lui/directives/luidDaterange.html",restrict:"EA",link:e}}]).controller("luidDaterangeController",["$scope","moment","$filter",function(a,b,c){var d=this;a.internalUpdated=function(){b(a.internal.startsOn).diff(a.internal.endsOn)>0&&(a.internal.endsOn=b(a.internal.startsOn)),a.hackRefresh=!a.hackRefresh,d.updateValue(a.internal.startsOn,a.internal.endsOn),a.internal.strFriendly=c("luifFriendlyRange")(a.internal)},a.goToPeriod=function(c){a.internal.startsOn=b(c.startsOn).toDate(),a.internal.endsOn=b(c.endsOn).toDate(),a.excludeEnd&&(a.internal.endsOn=b(c.endsOn).add(-1,"day").toDate()),a.internalUpdated()},a.popoverOpened=!1,a.togglePopover=function(){a.popoverOpened=!a.popoverOpened,a.popoverOpened?d.pinPopover():d.unpinPopover()},a.doCloseAction=function(){a.togglePopover(),a.closeAction&&a.closeAction()},a.clickInside=function(a){a.preventDefault(),a.stopPropagation()};var e=function(c){var d=c.date,e=c.mode,f="";return"day"==e&&(0===b(d).diff(a.internal.startsOn)&&(f="start"),0===b(d).diff(a.internal.endsOn)&&(f+="end"),b(d).isAfter(a.internal.startsOn)&&b(d).isBefore(a.internal.endsOn)&&(f+="in-between")),f},f=b.localeData().firstDayOfWeek();a.dpOptions={showWeeks:!1,customClass:e,startingDay:f}}]),angular.module("lui.templates.daterangepicker").run(["$templateCache",function(a){a.put("lui/directives/luidDaterange.html",""),a.put("lui/directives/luidDaterangePopover.html",'")}])}(),function(){"use strict";var a=function(){return{template:'
{{controller.date | luifMoment: \'dddd\'}}
{{controller.date | luifMoment:\'DD\'}}
{{controller.date | luifMoment: \'MMM\'}}
{{controller.date | luifMoment: \'YYYY\'}}
',scope:{date:"=",showDay:"=",primaryColor:"=",secondaryColor:"="},restrict:"E",bindToController:!0,controllerAs:"controller",controller:"luidDayBlockController"}};angular.module("lui.directives").directive("luidDayBlock",a).controller("luidDayBlockController",function(){var a=this;a.weekdayStyleOverride=function(){return{color:a.primaryColor}},a.dayStyleOverride=function(){return{"background-color":a.primaryColor,"border-color":a.primaryColor,color:a.secondaryColor}},a.monthStyleOverride=function(){return{"background-color":a.secondaryColor,"border-color":a.primaryColor,color:a.primaryColor}},a.yearStyleOverride=function(){return{"background-color":a.secondaryColor,"border-color":a.primaryColor,color:a.primaryColor}}})}(),function(){"use strict";angular.module("lui.directives").directive("luidKeydown",function(){return{restrict:"A",scope:{mappings:"="},link:function(a,b,c){b.on("keydown",function(b){a.mappings&&a.mappings[b.which]&&(a.mappings[b.which](),b.preventDefault())})}}}),angular.module("lui.directives").directive("luidSelectOnClick",function(){return{restrict:"A",link:function(a,b,c){b.on("click",function(){this.select()}),b.on("focus",function(){this.select()})}}}),angular.module("lui.directives").directive("luidFocusOn",function(){return function(a,b,c){a.$on(c.luidFocusOn,function(a){b[0].focus()})}})}(),function(){"use strict";angular.module("lui.directives").directive("luidSelect",[function(){return{require:"^ngModel",scope:{options:"=",placeholder:"@",displayProp:"@",ngDisabled:"=",classes:"@",onSelect:"&",onRemove:"&"},restrict:"E",template:' {{$select.selected[displayProp]}}
'}}])}(),function(){"use strict";angular.module("lui.directives").directive("luidMoment",["moment",function(a){function b(b,c,d,e){var f=e[1],g=e[0];if(b.hasButtons=void 0!==d.showButtons,d.format){var h=b.$eval(d.format);f.$render=function(){var c=a(this.$viewValue,h),d=this.$viewValue&&c.isValid();b.hours=d?c.format("HH"):void 0,b.mins=d?c.format("mm"):void 0,f.$validate()},f.setValue=function(a){f.$setViewValue(a?a.format(h):void 0)},f.$validators.min=function(b,c){return!c||g.checkMin(a(b,h))},f.$validators.max=function(b,c){return!c||g.checkMax(a(b,h))}}else f.$render=function(){var a=this.$viewValue&&!!this.$viewValue.isValid&&this.$viewValue.isValid();b.hours=a?this.$viewValue.format("HH"):void 0,b.mins=a?this.$viewValue.format("mm"):void 0,f.$validate()},f.setValue=function(a){f.$setViewValue(a)},f.$validators.min=function(a,b){return!b||g.checkMin(a)},f.$validators.max=function(a,b){return!b||g.checkMax(a)};b.ngModelCtrl=f,f.$validators.hours=function(a,c){return void 0!==b.hours&&""!==b.hours&&!isNaN(parseInt(b.hours))},f.$validators.minutes=function(a,c){return void 0!==b.mins&&""!==b.mins&&parseInt(b.mins)<60};var i=c.find("input");g.setupEvents(angular.element(i[0]),angular.element(i[1])),b.$watch("min",function(){f.$validate()}),b.$watch("max",function(){f.$validate()})}return{require:["luidMoment","^ngModel"],controller:"luidMomentController",scope:{min:"=",max:"=",step:"=",referenceDate:"=",disabled:"=",showButtons:"=",enforceValid:"=",format:"=",minOffset:"=",maxOffset:"="},templateUrl:"lui/directives/luidMoment.html",restrict:"EA",link:b}}]).controller("luidMomentController",["$scope","$timeout","moment",function(a,b,c){function d(b){function d(){function a(a,b){return-1!==a.indexOf(b)}var d=c(p());d&&d.isValid()||(d=l().startOf("day")),a(w,Math.abs(b))&&d.minutes()%b!==0&&(b=0>b?-(d.minutes()%b):-d.minutes()%b+b);var e=d.add(b,"m");return e.seconds(0),e}a.disabled||e(d(),!0)}function e(b,c){f(b,c),a.ngModelCtrl.$render()}function f(b,c){function d(a,b,c){switch(!0){case!a:return a;case b&&b.diff(a)>0:return b;case c&&c.diff(a)<0:return c;default:return a}}var e=n(),f=o();c&&(b=d(b,e,f)),a.maxed=b&&f&&f.diff(b)<=0,a.mined=b&&e&&e.diff(b)>=0,a.ngModelCtrl.setValue(b)}function g(){return void 0===a.hours||""===a.hours||void 0===a.mins||""===a.mins}function h(){if(!g()){var b=parseInt(a.hours),c=parseInt(a.mins);return c>60&&(c=59,a.mins="59"),l().hours(b).minutes(c).seconds(0)}}function i(){function a(a){a&&(b.cancel(a),a=void 0)}a(u),a(v)}function j(){e(p(),a.enforceValid)}function k(){return isNaN(parseInt(a.step))?5:parseInt(a.step)}function l(){function b(a){return a&&c(a).isValid()?c(a):void 0}return b(a.referenceDate)||b(a.min)||b(a.max)||c()}function m(a,b,d){function e(){switch(!0){case!!a.isValid&&!!a.isValid():return c(a);case c(a,"YYYY-MM-DD HH:mm").isValid():return c(a,"YYYY-MM-DD HH:mm");case c(a,"HH:mm").isValid():var b=l(),e=c(a,"HH:mm").year(b.year()).month(b.month()).date(b.date());return d&&e.hours()+e.minutes()===0&&e.add(1,"d"),e}}if(a){var f=e();return f.add(c.duration(b)),f}}function n(){return m(a.min,a.minOffset,!1)}function o(){return m(a.max,a.maxOffset,!0)}function p(){return a.format?c(a.ngModelCtrl.$viewValue,a.format):a.ngModelCtrl.$viewValue}function q(b,c){i(),d(c),a.$broadcast(b)}function r(b){i(),a.minsFocused=!!b,a.hoursFocused=!b}function s(a,c){a=b(function(){a=!1,j()},200)}function t(a){return void 0===a||""===a}var u,v,w=[5,10,15,20,30];a.pattern=/^([0-9]{0,2})?$/,a.incrHours=function(){q("focusHours",60)},a.decrHours=function(){q("focusHours",-60)},a.incrMins=function(){q("focusMinutes",k())},a.decrMins=function(){q("focusMinutes",-k())},a.changeHours=function(){return t(a.hours)?f(void 0):(t(a.mins)&&(a.mins="00"),2==a.hours.length?(parseInt(a.hours)>23&&(a.hours="23"),a.$broadcast("focusMinutes")):1==a.hours.length&&parseInt(a.hours)>2&&(a.hours=0+a.hours,a.$broadcast("focusMinutes")),void f(h()))},a.changeMins=function(){f(h())},a.formatInputValue=function(){a.ngModelCtrl.$render()},a.getDayGap=function(){var a=l().startOf("day");return c.duration(c(p()).startOf("d").diff(a)).asDays()},a.blurHours=function(){s(u,a.hoursFocused)},a.blurMins=function(){a.mins||(""===a.hours||void 0===a.hours?a.mins=void 0:a.mins="00"),s(v,a.minsFocused)},a.focusHours=function(){r(!1)},a.focusMins=function(){r(!0)},this.checkMin=function(a){var b=n();return!b||b.diff(a)<=0},this.checkMax=function(a){var b=o();return!b||b.diff(a)>=0},this.setupEvents=function(b,c){function e(b,c){function e(b,c){switch(b.which){case 38:b.preventDefault(),d(c),a.$apply();break;case 40:b.preventDefault(),d(-c),a.$apply();break;case 13:b.preventDefault(),a.formatInputValue(),a.$apply()}}var f=k();b.bind("keydown",function(a){e(a,60)}),c.bind("keydown",function(a){e(a,f)})}function f(b,c){function e(a){a=a.originalEvent?a.originalEvent:a;var b=a.wheelDelta?a.wheelDelta:-a.deltaY;return a.detail||b>0}function f(b,c){a.disabled||(a.$apply(d(e(b)?c:-c)),b.preventDefault())}var g=k();b.bind("mousewheel wheel",function(a){f(a,60)}),c.bind("mousewheel wheel",function(a){f(a,g)})}e(b,c),f(b,c)}}]),angular.module("lui.templates.momentpicker").run(["$templateCache",function(a){a.put("lui/directives/luidMoment.html","
:
")}])}(),function(){"use strict";angular.module("lui.directives").directive("luidPercentage",function(){function a(a,b,c,d){var e=d[1],f=d[0];if(a.pattern=/^([0-9]+)(\.([0-9]*)?)?$/i,c.format){if("0.XX"!==c.format&&"1.XX"!==c.format&&"XX"!==c.format)return void(e.$render=function(){a.intPct="unsupported format"})}else a.format="0.XX";a.ngModelCtrl=e,e.$render=function(){return void 0===this.$viewValue?void(a.intPct=void 0):void(a.intPct=a.parse(parseFloat(this.$viewValue)))},e.$viewChangeListeners.push(function(){a.$eval(c.ngChange)}),f.setupEvents(b.find("input"))}return{require:["luidPercentage","^ngModel"],controller:"luidPercentageController",scope:{step:"=",format:"@",ngDisabled:"=",placeholder:"@"},restrict:"EA",link:a,template:"
%
"}}).controller("luidPercentageController",["$scope",function(a){function b(b){c(parseFloat(a.intPct)+b)}function c(b){d(b),a.ngModelCtrl.$render()}function d(b){function c(b){switch(a.format||"0.XX"){case"XX":return b;case"0.XX":return b/100;case"1.XX":return b/100+1;default:return 0}}var d=void 0===b?void 0:c(b);a.ngModelCtrl.$setViewValue(d)}this.setupEvents=function(c){function d(){return isNaN(parseInt(a.step))?5:parseInt(a.step)}function e(c){var e=d();c.bind("keydown",function(c){switch(c.which){case 38:c.preventDefault(),b(e),a.$apply();break;case 40:c.preventDefault(),b(-e),a.$apply();break;case 13:c.preventDefault(),a.formatInputValue(),a.$apply()}})}function f(c){function e(a){a=a.originalEvent?a.originalEvent:a;var b=a.wheelDelta?a.wheelDelta:-a.deltaY;return a.detail||b>0}var f=d();c.bind("mousewheel wheel",function(c){this===document.activeElement&&(a.$apply(b(e(c)?f:-f)),c.preventDefault())})}e(c),f(c)},a.updateValue=function(){d(a.intPct)},a.parse=function(b){switch(a.format||"0.XX"){case"XX":return b;case"0.XX":return Math.round(1e4*b)/100;case"1.XX":return Math.round(1e4*(b-1))/100;default:return 0}},a.formatInputValue=function(){a.ngModelCtrl.$render()}}])}(),function(){"use strict";angular.module("lui.directives").directive("luidTimespan",["moment",function(a){function b(b,c,d,e){var f=e[1],g=e[0];if(b.pattern=/^\-?([0-9]+)((h([0-9]{2})?)?(m(in)?)?)?$/i,d.unit){var h=b.$eval(d.unit);"h"!=h&&"hour"!=h&&"hours"!=h||(b.useHours=!0)}b.ngModelCtrl=f,f.$render=function(){if(b.strDuration="",this.$viewValue){var c=a.duration(this.$viewValue);0>c&&(b.strDuration+="-",c=a.duration(-c));var d=Math.floor(c.asHours()),e=c.minutes();0===d?b.strDuration+=e+"m":b.strDuration+=(10>d?"0":"")+d+"h"+(10>e?"0":"")+e}},g.setupEvents(c.find("input")),g.mode=d.mode?d.mode:"timespan"}return{require:["luidTimespan","^ngModel"],controller:"luidTimespanController",scope:{step:"=",unit:"=",ngDisabled:"=",placeholder:"@",mode:"=",min:"=",max:"="},restrict:"EA",link:b,template:""}}]).controller("luidTimespanController",["$scope","moment",function(a,b){function c(c){function d(a){var c=b.duration(),d=a.split(/h/i),e=parseInt(d[0])>=0;c.add(parseInt(d[0]),"hours");var f=d[1];return f&&f.length>=2&&(e?c.add(parseInt(f.substring(0,2)),"minutes"):c.subtract(parseInt(f.substring(0,2)),"minutes")),c}function e(a){var c=b.duration(),d=a.split(/m/i);return c.add(parseInt(d[0]),"minutes"),c}function f(a){var c=b.duration(),d=a.split(/h/i);return c.add(parseInt(d[0]),"hours"),c}switch(!0){case/h/i.test(c):return d(c);case/m/i.test(c):return e(c);case a.useHours:return f(c);default:return e(c)}}function d(a){var c=b.duration(g()).add(a,"minutes");c.asMilliseconds()<0&&(c=b.duration()),e(c)}function e(b){f(b),a.ngModelCtrl.$render()}function f(c){function d(c){function d(c){var d=a.min?b.duration(a.min):void 0;return!d||c>=d?c:d}function e(c){var d=a.max?b.duration(a.max):void 0;return!d||d>=c?c:d}return e(d(c))}function e(a){if("timespan"===h.mode){var c="";return a.asMilliseconds()<0&&(c+="-",a=b.duration(-a)),c+=(a.days()>0?Math.floor(a.asDays())+".":"")+(a.hours()<10?"0":"")+a.hours()+":"+(a.minutes()<10?"0":"")+a.minutes()+":00"}return a}if(void 0===c)return a.ngModelCtrl.$setViewValue(void 0);c=d(c);var f=e(c);a.ngModelCtrl.$setViewValue(f)}function g(){return a.ngModelCtrl.$viewValue}var h=this;this.setupEvents=function(b){function c(){return isNaN(parseInt(a.step))?5:parseInt(a.step)}function e(b){var e=c();b.bind("keydown",function(b){switch(b.which){case 38:b.preventDefault(),d(e),a.$apply();break;case 40:b.preventDefault(),d(-e),a.$apply();break;case 13:b.preventDefault(),a.formatInputValue(),a.$apply()}})}function f(b){function e(a){a=a.originalEvent?a.originalEvent:a;var b=a.wheelDelta?a.wheelDelta:-a.deltaY;return a.detail||b>0}var f=c();b.bind("mousewheel wheel",function(b){this===document.activeElement&&(a.$apply(d(e(b)?f:-f)),b.preventDefault())})}e(b),f(b)},a.updateValue=function(){if(!a.strDuration)return f(void 0);var b=c(a.strDuration);f(b)},a.formatInputValue=function(){a.ngModelCtrl.$render()}}])}(),function(){"use strict";angular.module("lui.directives").directive("luidUserSelect",[function(){return{require:"^ngModel",scope:{users:"=",placeholder:"@",onSelect:"&",onRemove:"&"},restrict:"E",template:' {{$select.selected.displayName}}
'}}])}(),function(){"use strict";function a(a,b,c){function d(a){return a.replace(/([.*+?^=!:${}()|\[\]\/\\])/g,"\\$1")}return a?a.replace(new RegExp(d(b),"g"),c):""}angular.module("lui.filters").filter("luifPlaceholder",function(){return function(a,b){return a?a:b}}).filter("luifDefaultCode",function(){return function(b){return a(b," ","_").toUpperCase()}}).filter("luifStartFrom",function(){return function(a,b){return b=+b,a.slice(b)}}).filter("luifNumber",["$sce","$filter",function(a,b){return function(c,d,e){function f(a,b){return void 0===a?'':0===parseInt(a)?''+b+a+"":""+b+a+""}var g=void 0===e?"":e,h=void 0===c||null===c||""===c||c!=c?g:c,i=b("number")(1.1,1)[1],j=void 0===d||null===d||d!=d?2:d,k=b("number")(h,j),l=(k||b("number")(0,j)).split(i)[1],m=f(l,i);if(""===h||!k)return a.trustAsHtml(h+m);var n=k.split(i)[0];return a.trustAsHtml(n+m)}}])}(),function(){"use strict";var a=function(a,b){var c=moment(a);return c.isValid()?c.format(b):a};angular.module("lui.filters").filter("luifFriendlyRange",function(){var a={en:{sameDay:"start(dddd, LL)",sameDayThisYear:"start(dddd, MMMM Do)",sameMonth:"start(MMMM Do) - end(Do, YYYY)",sameMonthThisYear:"start(MMMM Do) - end(Do)",sameYear:"start(MMMM Do) - end(LL)",sameYearThisYear:"start(MMMM Do) - end(MMMM Do)",other:"start(LL) - end(LL)"},fr:{sameDay:"le start(dddd LL)",sameDayThisYear:"le start(dddd Do MMMM)",sameMonth:"du start(Do) au end(LL)",sameMonthThisYear:"du start(Do) au end(Do MMMM)",sameYear:"du start(Do MMMM) au end(LL)",sameYearThisYear:"du start(Do MMMM) au end(Do MMMM)",other:"du start(LL) au end(LL)"},de:{sameDay:"der start(dddd LL)",sameDayThisYear:"der start(dddd Do MMMM)",sameMonth:"von start(Do) bis end(LL)",sameMonthThisYear:"von start(Do) bis end(Do MMMM)",sameYear:"von start(Do MMMM) bis end(LL)",sameYearThisYear:"von start(Do MMMM) bis end(Do MMMM)",other:"von start(LL) bis end(LL)"}};return function(b,c,d,e){if(b){var f=moment(b.startsAt||b.startsOn||b.startDate||b.start),g=moment(b.endsAt||b.endsOn||b.endDate||b.end);c&&g.add(-1,"minutes");var h=a[moment.locale()]||a.en,i=f.year()===g.year()?f.month()===g.month()?f.date()===g.date()?"sameDay":"sameMonth":"sameYear":"other";moment().year()===f.year()&&moment().year()===g.year()&&(i+="ThisYear");var j=/(start\((.*?)\))(.*(end\((.*?)\))){0,1}/gi.exec(h[i]);return h[i].replace(j[1],f.format(j[2])).replace(j[4],g.format(j[5]))}}}).filter("luifMoment",function(){return function(b,c){return c||(c="LLL"),a(b,c)}}).filter("luifCalendar",function(){return function(a,b){var c=moment(a);b&&moment(b).isValid()?moment(b):moment();return c.isValid()?c.calendar(b):a}}).filter("luifDuration",["$filter",function(a){return function(b,c,d,e){function f(a){switch(a){case"d":case"day":case"days":return 0;case void 0:case"":case"h":case"hour":case"hours":return 1;case"m":case"min":case"mins":case"minute":case"minutes":return 2;case"s":case"sec":case"second":case"seconds":return 3;case"ms":case"millisec":case"millisecond":case"milliseconds":return 4}}function g(a,b){return 4===b?4:0!==a[b]?b:g(a,b+1)}function h(a,b){return 0===b?0:0!==a[b]?b:h(a,b-1)}function i(a){switch(!0){case 0===Math.floor(10*a%10)&&0===Math.floor(100*a%10):return 0;case 0===Math.floor(100*a%10):return 1;default:return 2}}function j(a,b,c){switch(b){case c:return a;case 2:case 3:return 10>a?"0"+a:a;case 4:return 10>a?"00"+a:100>a?"0"+a:a;default:return a}}function k(a,b){if(a){if(b.asMilliseconds()>0)return"+";if(b.asMilliseconds()<0)return"-"}return""}function l(a,b){var c=["d ","h","m","s","ms"];switch(moment.locale()){case"fr":c[0]="j "}return 3>=a&&4===b&&(c[3]=".",c[4]="s"),1>=a&&2===b&&(c[2]=""),2===a&&3===b&&(c[3]=""),c}var m=[{index:0,unit:"d",dateConversion:"asDays",expectedPrecision:"h"},{index:1,unit:"h",dateConversion:"asHours",expectedPrecision:"m"},{index:2,unit:"m",dateConversion:"asMinutes",expectedPrecision:"s"},{index:3,unit:"s",dateConversion:"asSeconds",expectedPrecision:"s"},{index:4,unit:"ms",dateConversion:"asMilliseconds",expectedPrecision:"ms"}],n=moment.duration(b);if(0===n.asMilliseconds())return"";var o=[Math.abs(n.days()),Math.abs(n.hours()),Math.abs(n.minutes()),Math.abs(n.seconds()),Math.abs(n.milliseconds())],p=m[f(d)],q=Math.max(p.index,g(o,0));if(o[p.index]=Math.abs(n[p.dateConversion]()>=0?Math.floor(n[p.dateConversion]()):Math.ceil(n[p.dateConversion]())),0===p.index&&0===f(e)&&n.asDays()>0){var r=n.asDays(),s=i(r);q=0,o[0]=a("number")(r,s)}for(var t=h(o,f(e||p.expectedPrecision)),u=l(q,t),v="",w=q;t>=w;w++)v+=j(o[w],w,q)+u[w];var x=v?k(c,n):"";return x+v}}]).filter("luifHumanize",function(){return function(a,b){b=!!b;var c=moment.duration(a);return c.humanize(b)}})}(),angular.module("lui.directives").directive("deferredCloak",["$timeout",function(a){return{restrict:"A",link:function(b,c,d){a(function(){d.$set("deferredCloak",void 0),c.removeClass("deferred-cloak")},0)}}}]);var Lui;!function(a){"use strict";var b=function(){function a(){}return a}();a.Period=b}(Lui||(Lui={}));var Lui;!function(a){var b;!function(a){"use strict";var b=function(){function a(a,b,c,d){var e=this;this.totalRequests=0,this.completedRequests=0,this.request=function(a){return e.isCached(a)||e.startRequest(a.method),a},this.requestError=function(a){return e.startRequest("GET"),e.$q.reject(a)},this.response=function(a){return a&&!e.isCached(a.config)&&e.endRequest(e.extractMethod(a)),a},this.responseError=function(a){return e.endRequest("GET"),e.$q.reject(a)},this.isCached=function(a){var b,c=e.$cacheFactory.get("$http");!a.cache||a.cache===!1||"GET"!==a.method&&"JSONP"!==a.method||(b=angular.isObject(a.cache)?a.cache:c);var d=void 0!==b?void 0!==b.get(a.url):!1;return void 0!==a.cached&&d!==a.cached?a.cached:(a.cached=d,d)},this.extractMethod=function(a){try{return a.config.method}catch(b){return"GET"}},this.startRequest=function(a){e.progressBarService.isHttpResquestListening()?e.progressBarService.getHttpRequestMethods().indexOf(a)>-1&&(0===e.totalRequests&&e.progressBarService.start(),e.totalRequests++):(e.totalRequests=0,e.completedRequests=0)},this.setComplete=function(){e.completeTimeout&&e.$timeout.cancel(e.completeTimeout),e.completeTimeout=e.$timeout(function(){e.progressBarService.complete(),e.totalRequests=0,e.completedRequests=0},200)},this.endRequest=function(a){e.progressBarService.isHttpResquestListening()&&e.progressBarService.getHttpRequestMethods().indexOf(a)>-1&&(e.completedRequests++,e.completedRequests>=e.totalRequests&&e.setComplete())},this.$q=a,this.$cacheFactory=b,this.$timeout=c,this.progressBarService=d}return a.IID="luiHttpInterceptor",a.$inject=["$q","$cacheFactory","$timeout","luisProgressBar"],a}();a.LuiHttpInterceptor=b,angular.module("lui.services").service(b.IID,b)}(b=a.Service||(a.Service={}))}(Lui||(Lui={}));var Lui;!function(a){var b;!function(a){"use strict";var b=function(){function a(a,b,c,d,e){var f=this;this.latencyThreshold=200,this.httpResquestListening=!1,this.status=0,this.progressBarTemplate='
',this.addProgressBar=function(a,b){void 0===a&&(a="body"),void 0===b&&(b="primary");var c,d=document.getElementsByTagName(a),e=document.getElementById(a),g=document.getElementsByClassName(a);if(d&&d.length)c=angular.element(d[0]);else if(e)c=angular.element(e);else{if(!g||!g.length)return void f.$log.warn("luisProgressBar - could not find a suitable element for tag/id/class: "+a);c=angular.element(g[0])}f.progressbarEl&&f.progressbarEl.remove(),f.progressbarEl=angular.element(f.progressBarTemplate),f.progressbarEl.addClass(b),c.append(f.progressbarEl)},this.startListening=function(a){f.httpResquestListening=!0,a?f.httpRequestMethods=a:f.httpRequestMethods=["GET"],f.setStatus(0)},this.stopListening=function(){f.httpResquestListening=!1,f.setStatus(0)},this.isHttpResquestListening=function(){return f.httpResquestListening},this.getHttpRequestMethods=function(){return f.httpRequestMethods},this.start=function(){f.isStarted||(f.isStarted=!0,f.$timeout.cancel(f.completeTimeout),f.$interval.cancel(f.currentPromiseInterval),f.show(),f.currentPromiseInterval=f.$interval(function(){if(isNaN(f.status))f.$interval.cancel(f.currentPromiseInterval),f.setStatus(0),f.hide();else{var a=100-f.status;a>30?f.setStatus(f.status+.5*Math.sqrt(a)):f.setStatus(f.status+.15*Math.pow(1-Math.sqrt(a),2))}},f.latencyThreshold))},this.hide=function(){f.$timeout(function(){f.progressbarEl&&(f.progressbarEl.removeClass("in"),f.progressbarEl.addClass("out"),f.setStatus(0))},300)},this.show=function(){f.progressbarEl&&(f.progressbarEl.removeClass("out"),f.progressbarEl.addClass("in"),f.setStatus(0))},this.setStatus=function(a){f.status=a,f.progressbarEl&&(f.progressbarEl.children().css("width",f.status+"%"),f.progressbarEl.children().attr("data-percentage",f.status))},this.complete=function(){f.$interval.cancel(f.currentPromiseInterval),f.isStarted=!1,f.httpResquestListening=!1,f.setStatus(100),f.hide()},this.getDomElement=function(){return f.progressbarEl},this.$document=a,this.$window=b,this.$timeout=c,this.$interval=d,this.$log=e}return a.IID="luisProgressBar",a.$inject=["$document","$window","$timeout","$interval","$log"],a}();a.ProgressBarService=b,angular.module("lui.services").service(b.IID,b)}(b=a.Service||(a.Service={}))}(Lui||(Lui={})),angular.module("lui.directives").run(["$templateCache",function(a){"use strict";a.put("lui/templates/notify-service/alert.html",'
{{message}}
'),a.put("lui/templates/notify-service/confirm.html",'
{{message}}
'),a.put("lui/templates/notify-service/error.html",'
Error
{{ $message }}
'),a.put("lui/templates/notify-service/loading.html","
Loading {{"CANCEL" | translate}}
{{\'NOTIFY_SUCCESS\' | translate }}
{{\'NOTIFY_ERROR\' | translate }}
{{\'NOTIFY_WARNING\' | translate }}
{{ $message }} {{"CANCEL" | translate}}
{{ "SUCCESS_" + $message | translate }}
{{ "ERR_" + $message | translate }}
{{ "WARN_" + $message | translate }}
'),a.put("lui/templates/notify-service/success.html",'
Success
{{ $message }}
'), -a.put("lui/templates/notify-service/warning.html",'
Warning
{{ $message }}
'),a.put("lui/templates/table-grid/table-grid.html",'
'),a.put("lui/templates/table-grid/table-grid.table.html",'
{{ header.label }}
{{ $item }}{{ value }}{{ $select.selected }}{{ value }}
')}]); \ No newline at end of file +/*! lucca-ui 10-06-2016 */ +!function(){"use strict";angular.module("moment",[]).factory("moment",function(){return window.moment}),angular.module("lui.directives",["moment"]),angular.module("lui.filters",["moment"]),angular.module("lui.services",[]),angular.module("lui.templates.momentpicker",[]),angular.module("lui.templates.daterangepicker",[]),angular.module("lui.templates",["lui.templates.momentpicker","lui.templates.daterangepicker"]),angular.module("lui",["lui.directives","lui.services","lui.filters","lui.templates"])}(),function(){"use strict";angular.module("lui.directives").directive("luidDaterange",["moment","$filter","$document","$timeout",function(a,b,c,d){function e(e,f,g,h){function i(b,c){var d=e.startProperty||"startsOn",f=e.endProperty||"endsOn",g={},h=a(b),i=a(c);switch(e.excludeEnd&&i.add(1,"d"),e.format||"moment"){case"moment":g[d]=h,g[f]=i;break;case"date":g[d]=h.toDate(),g[f]=i.toDate();break;default:g[d]=h.format(e.format),g[f]=i.format(e.format)}return g}function j(b){var c,d,f=e.startProperty||"startsOn",g=e.endProperty||"endsOn";switch(e.format||"moment"){case"moment":case"date":c=a(b[f]),d=a(b[g]);break;default:c=a(b[f],e.format),d=a(b[g],e.format)}return e.excludeEnd&&d.add(-1,"d"),{startsOn:c.toDate(),endsOn:d.toDate()}}function k(){e.popoverOpened=!1,m.unpinPopover(),e.$apply()}var l=h[1],m=h[0];e.internal={},e.hasPeriods=!!g.periods,l.$render=function(){if(!l.$viewValue)return e.internal.startsOn=void 0,e.internal.endsOn=void 0,void(e.internal.strFriendly=void 0);var a=j(l.$viewValue);e.internal.startsOn=a.startsOn,e.internal.endsOn=a.endsOn,e.internal.strFriendly=b("luifFriendlyRange")(e.internal)},e.$watch(function(a){return l.$viewValue[a.startProperty||"startsOn"]},function(){l.$render()}),e.$watch(function(a){return l.$viewValue[a.endProperty||"endsOn"]},function(){l.$render()}),m.updateValue=function(a,b){var c=l.$viewValue,d=i(a,b);c[Object.keys(d)[0]]=d[Object.keys(d)[0]],c[Object.keys(d)[1]]=d[Object.keys(d)[1]],l.$setViewValue(c),e.$parent.$eval(g.ngChange)},m.pinPopover=function(){d(function(){c.on("click",k)},10)},m.unpinPopover=function(){c.off("click",k)}}return{require:["luidDaterange","^ngModel"],controller:"luidDaterangeController",scope:{disabled:"=",format:"@",startProperty:"@",endProperty:"@",popoverPlacement:"@",excludeEnd:"=",periods:"=",closeLabel:"@",closeAction:"&"},templateUrl:"lui/directives/luidDaterange.html",restrict:"EA",link:e}}]).controller("luidDaterangeController",["$scope","moment","$filter",function(a,b,c){var d=this;a.internalUpdated=function(){b(a.internal.startsOn).diff(a.internal.endsOn)>0&&(a.internal.endsOn=b(a.internal.startsOn)),a.hackRefresh=!a.hackRefresh,d.updateValue(a.internal.startsOn,a.internal.endsOn),a.internal.strFriendly=c("luifFriendlyRange")(a.internal)},a.goToPeriod=function(c){a.internal.startsOn=b(c.startsOn).toDate(),a.internal.endsOn=b(c.endsOn).toDate(),a.excludeEnd&&(a.internal.endsOn=b(c.endsOn).add(-1,"day").toDate()),a.internalUpdated()},a.popoverOpened=!1,a.togglePopover=function(){a.popoverOpened=!a.popoverOpened,a.popoverOpened?d.pinPopover():d.unpinPopover()},a.doCloseAction=function(){a.togglePopover(),a.closeAction&&a.closeAction()},a.clickInside=function(a){a.preventDefault(),a.stopPropagation()};var e=function(c){var d=c.date,e=c.mode,f="";return"day"==e&&(0===b(d).diff(a.internal.startsOn)&&(f="start"),0===b(d).diff(a.internal.endsOn)&&(f+="end"),b(d).isAfter(a.internal.startsOn)&&b(d).isBefore(a.internal.endsOn)&&(f+="in-between")),f},f=b.localeData().firstDayOfWeek();a.dpOptions={showWeeks:!1,customClass:e,startingDay:f}}]),angular.module("lui.templates.daterangepicker").run(["$templateCache",function(a){a.put("lui/directives/luidDaterange.html",""),a.put("lui/directives/luidDaterangePopover.html",'")}])}(),function(){"use strict";var a=function(){return{template:'
{{controller.date | luifMoment: \'dddd\'}}
{{controller.date | luifMoment:\'DD\'}}
{{controller.date | luifMoment: \'MMM\'}}
{{controller.date | luifMoment: \'YYYY\'}}
',scope:{date:"=",showDay:"=",primaryColor:"=",secondaryColor:"="},restrict:"E",bindToController:!0,controllerAs:"controller",controller:"luidDayBlockController"}};angular.module("lui.directives").directive("luidDayBlock",a).controller("luidDayBlockController",function(){var a=this;a.weekdayStyleOverride=function(){return{color:a.primaryColor}},a.dayStyleOverride=function(){return{"background-color":a.primaryColor,"border-color":a.primaryColor,color:a.secondaryColor}},a.monthStyleOverride=function(){return{"background-color":a.secondaryColor,"border-color":a.primaryColor,color:a.primaryColor}},a.yearStyleOverride=function(){return{"background-color":a.secondaryColor,"border-color":a.primaryColor,color:a.primaryColor}}})}(),function(){"use strict";angular.module("lui.directives").directive("luidKeydown",function(){return{restrict:"A",scope:{mappings:"="},link:function(a,b,c){b.on("keydown",function(b){a.mappings&&a.mappings[b.which]&&(a.mappings[b.which](),b.preventDefault())})}}}),angular.module("lui.directives").directive("luidSelectOnClick",function(){return{restrict:"A",link:function(a,b,c){b.on("click",function(){this.select()}),b.on("focus",function(){this.select()})}}}),angular.module("lui.directives").directive("luidFocusOn",function(){return function(a,b,c){a.$on(c.luidFocusOn,function(a){b[0].focus()})}})}(),function(){"use strict";angular.module("lui.directives").directive("luidSelect",[function(){return{require:"^ngModel",scope:{options:"=",placeholder:"@",displayProp:"@",ngDisabled:"=",classes:"@",onSelect:"&",onRemove:"&"},restrict:"E",template:' {{$select.selected[displayProp]}}
'}}])}(),function(){"use strict";angular.module("lui.directives").directive("luidMoment",["moment",function(a){function b(b,c,d,e){var f=e[1],g=e[0];if(b.hasButtons=void 0!==d.showButtons,d.format){var h=b.$eval(d.format);f.$render=function(){var c=a(this.$viewValue,h),d=this.$viewValue&&c.isValid();b.hours=d?c.format("HH"):void 0,b.mins=d?c.format("mm"):void 0,f.$validate()},f.setValue=function(a){f.$setViewValue(a?a.format(h):void 0)},f.$validators.min=function(b,c){return!c||g.checkMin(a(b,h))},f.$validators.max=function(b,c){return!c||g.checkMax(a(b,h))}}else f.$render=function(){var a=this.$viewValue&&!!this.$viewValue.isValid&&this.$viewValue.isValid();b.hours=a?this.$viewValue.format("HH"):void 0,b.mins=a?this.$viewValue.format("mm"):void 0,f.$validate()},f.setValue=function(a){f.$setViewValue(a)},f.$validators.min=function(a,b){return!b||g.checkMin(a)},f.$validators.max=function(a,b){return!b||g.checkMax(a)};b.ngModelCtrl=f,f.$validators.hours=function(a,c){return void 0!==b.hours&&""!==b.hours&&!isNaN(parseInt(b.hours))},f.$validators.minutes=function(a,c){return void 0!==b.mins&&""!==b.mins&&parseInt(b.mins)<60};var i=c.find("input");g.setupEvents(angular.element(i[0]),angular.element(i[1])),b.$watch("min",function(){f.$validate()}),b.$watch("max",function(){f.$validate()})}return{require:["luidMoment","^ngModel"],controller:"luidMomentController",scope:{min:"=",max:"=",step:"=",referenceDate:"=",disabled:"=",showButtons:"=",enforceValid:"=",format:"=",minOffset:"=",maxOffset:"="},templateUrl:"lui/directives/luidMoment.html",restrict:"EA",link:b}}]).controller("luidMomentController",["$scope","$timeout","moment",function(a,b,c){function d(b){function d(){function a(a,b){return-1!==a.indexOf(b)}var d=c(p());d&&d.isValid()||(d=l().startOf("day")),a(w,Math.abs(b))&&d.minutes()%b!==0&&(b=0>b?-(d.minutes()%b):-d.minutes()%b+b);var e=d.add(b,"m");return e.seconds(0),e}a.disabled||e(d(),!0)}function e(b,c){f(b,c),a.ngModelCtrl.$render()}function f(b,c){function d(a,b,c){switch(!0){case!a:return a;case b&&b.diff(a)>0:return b;case c&&c.diff(a)<0:return c;default:return a}}var e=n(),f=o();c&&(b=d(b,e,f)),a.maxed=b&&f&&f.diff(b)<=0,a.mined=b&&e&&e.diff(b)>=0,a.ngModelCtrl.setValue(b)}function g(){return void 0===a.hours||""===a.hours||void 0===a.mins||""===a.mins}function h(){if(!g()){var b=parseInt(a.hours),c=parseInt(a.mins);return c>60&&(c=59,a.mins="59"),l().hours(b).minutes(c).seconds(0)}}function i(){function a(a){a&&(b.cancel(a),a=void 0)}a(u),a(v)}function j(){e(p(),a.enforceValid)}function k(){return isNaN(parseInt(a.step))?5:parseInt(a.step)}function l(){function b(a){return a&&c(a).isValid()?c(a):void 0}return b(a.referenceDate)||b(a.min)||b(a.max)||c()}function m(a,b,d){function e(){switch(!0){case!!a.isValid&&!!a.isValid():return c(a);case c(a,"YYYY-MM-DD HH:mm").isValid():return c(a,"YYYY-MM-DD HH:mm");case c(a,"HH:mm").isValid():var b=l(),e=c(a,"HH:mm").year(b.year()).month(b.month()).date(b.date());return d&&e.hours()+e.minutes()===0&&e.add(1,"d"),e}}if(a){var f=e();return f.add(c.duration(b)),f}}function n(){return m(a.min,a.minOffset,!1)}function o(){return m(a.max,a.maxOffset,!0)}function p(){return a.format?c(a.ngModelCtrl.$viewValue,a.format):a.ngModelCtrl.$viewValue}function q(b,c){i(),d(c),a.$broadcast(b)}function r(b){i(),a.minsFocused=!!b,a.hoursFocused=!b}function s(a,c){a=b(function(){a=!1,j()},200)}function t(a){return void 0===a||""===a}var u,v,w=[5,10,15,20,30];a.pattern=/^([0-9]{0,2})?$/,a.incrHours=function(){q("focusHours",60)},a.decrHours=function(){q("focusHours",-60)},a.incrMins=function(){q("focusMinutes",k())},a.decrMins=function(){q("focusMinutes",-k())},a.changeHours=function(){return t(a.hours)?f(void 0):(t(a.mins)&&(a.mins="00"),2==a.hours.length?(parseInt(a.hours)>23&&(a.hours="23"),a.$broadcast("focusMinutes")):1==a.hours.length&&parseInt(a.hours)>2&&(a.hours=0+a.hours,a.$broadcast("focusMinutes")),void f(h()))},a.changeMins=function(){f(h())},a.formatInputValue=function(){a.ngModelCtrl.$render()},a.getDayGap=function(){var a=l().startOf("day");return c.duration(c(p()).startOf("d").diff(a)).asDays()},a.blurHours=function(){s(u,a.hoursFocused)},a.blurMins=function(){a.mins||(""===a.hours||void 0===a.hours?a.mins=void 0:a.mins="00"),s(v,a.minsFocused)},a.focusHours=function(){r(!1)},a.focusMins=function(){r(!0)},this.checkMin=function(a){var b=n();return!b||b.diff(a)<=0},this.checkMax=function(a){var b=o();return!b||b.diff(a)>=0},this.setupEvents=function(b,c){function e(b,c){function e(b,c){switch(b.which){case 38:b.preventDefault(),d(c),a.$apply();break;case 40:b.preventDefault(),d(-c),a.$apply();break;case 13:b.preventDefault(),a.formatInputValue(),a.$apply()}}var f=k();b.bind("keydown",function(a){e(a,60)}),c.bind("keydown",function(a){e(a,f)})}function f(b,c){function e(a){a=a.originalEvent?a.originalEvent:a;var b=a.wheelDelta?a.wheelDelta:-a.deltaY;return a.detail||b>0}function f(b,c){a.disabled||(a.$apply(d(e(b)?c:-c)),b.preventDefault())}var g=k();b.bind("mousewheel wheel",function(a){f(a,60)}),c.bind("mousewheel wheel",function(a){f(a,g)})}e(b,c),f(b,c)}}]),angular.module("lui.templates.momentpicker").run(["$templateCache",function(a){a.put("lui/directives/luidMoment.html","
:
")}])}(),function(){"use strict";angular.module("lui.directives").directive("luidPercentage",function(){function a(a,b,c,d){var e=d[1],f=d[0];if(a.pattern=/^([0-9]+)(\.([0-9]*)?)?$/i,c.format){if("0.XX"!==c.format&&"1.XX"!==c.format&&"XX"!==c.format)return void(e.$render=function(){a.intPct="unsupported format"})}else a.format="0.XX";a.ngModelCtrl=e,e.$render=function(){return void 0===this.$viewValue?void(a.intPct=void 0):void(a.intPct=a.parse(parseFloat(this.$viewValue)))},e.$viewChangeListeners.push(function(){a.$eval(c.ngChange)}),f.setupEvents(b.find("input"))}return{require:["luidPercentage","^ngModel"],controller:"luidPercentageController",scope:{step:"=",format:"@",ngDisabled:"=",placeholder:"@"},restrict:"EA",link:a,template:"
%
"}}).controller("luidPercentageController",["$scope",function(a){function b(b){c(parseFloat(a.intPct)+b)}function c(b){d(b),a.ngModelCtrl.$render()}function d(b){function c(b){switch(a.format||"0.XX"){case"XX":return b;case"0.XX":return b/100;case"1.XX":return b/100+1;default:return 0}}var d=void 0===b?void 0:c(b);a.ngModelCtrl.$setViewValue(d)}this.setupEvents=function(c){function d(){return isNaN(parseInt(a.step))?5:parseInt(a.step)}function e(c){var e=d();c.bind("keydown",function(c){switch(c.which){case 38:c.preventDefault(),b(e),a.$apply();break;case 40:c.preventDefault(),b(-e),a.$apply();break;case 13:c.preventDefault(),a.formatInputValue(),a.$apply()}})}function f(c){function e(a){a=a.originalEvent?a.originalEvent:a;var b=a.wheelDelta?a.wheelDelta:-a.deltaY;return a.detail||b>0}var f=d();c.bind("mousewheel wheel",function(c){this===document.activeElement&&(a.$apply(b(e(c)?f:-f)),c.preventDefault())})}e(c),f(c)},a.updateValue=function(){d(a.intPct)},a.parse=function(b){switch(a.format||"0.XX"){case"XX":return b;case"0.XX":return Math.round(1e4*b)/100;case"1.XX":return Math.round(1e4*(b-1))/100;default:return 0}},a.formatInputValue=function(){a.ngModelCtrl.$render()}}])}(),function(){"use strict";angular.module("lui.directives").directive("luidTimespan",["moment",function(a){function b(b,c,d,e){var f=e[1],g=e[0];if(b.pattern=/^\-?([0-9]+)((h([0-9]{2})?)?(m(in)?)?)?$/i,d.unit){var h=b.$eval(d.unit);"h"!=h&&"hour"!=h&&"hours"!=h||(b.useHours=!0)}b.ngModelCtrl=f,f.$render=function(){if(b.strDuration="",this.$viewValue){var c=a.duration(this.$viewValue);0>c&&(b.strDuration+="-",c=a.duration(-c));var d=Math.floor(c.asHours()),e=c.minutes();0===d?b.strDuration+=e+"m":b.strDuration+=(10>d?"0":"")+d+"h"+(10>e?"0":"")+e}},g.setupEvents(c.find("input")),g.mode=d.mode?d.mode:"timespan"}return{require:["luidTimespan","^ngModel"],controller:"luidTimespanController",scope:{step:"=",unit:"=",ngDisabled:"=",placeholder:"@",mode:"=",min:"=",max:"="},restrict:"EA",link:b,template:""}}]).controller("luidTimespanController",["$scope","moment",function(a,b){function c(c){function d(a){var c=b.duration(),d=a.split(/h/i),e=parseInt(d[0])>=0;c.add(parseInt(d[0]),"hours");var f=d[1];return f&&f.length>=2&&(e?c.add(parseInt(f.substring(0,2)),"minutes"):c.subtract(parseInt(f.substring(0,2)),"minutes")),c}function e(a){var c=b.duration(),d=a.split(/m/i);return c.add(parseInt(d[0]),"minutes"),c}function f(a){var c=b.duration(),d=a.split(/h/i);return c.add(parseInt(d[0]),"hours"),c}switch(!0){case/h/i.test(c):return d(c);case/m/i.test(c):return e(c);case a.useHours:return f(c);default:return e(c)}}function d(a){var c=b.duration(g()).add(a,"minutes");c.asMilliseconds()<0&&(c=b.duration()),e(c)}function e(b){f(b),a.ngModelCtrl.$render()}function f(c){function d(c){function d(c){var d=a.min?b.duration(a.min):void 0;return!d||c>=d?c:d}function e(c){var d=a.max?b.duration(a.max):void 0;return!d||d>=c?c:d}return e(d(c))}function e(a){if("timespan"===h.mode){var c="";return a.asMilliseconds()<0&&(c+="-",a=b.duration(-a)),c+=(a.days()>0?Math.floor(a.asDays())+".":"")+(a.hours()<10?"0":"")+a.hours()+":"+(a.minutes()<10?"0":"")+a.minutes()+":00"}return a}if(void 0===c)return a.ngModelCtrl.$setViewValue(void 0);c=d(c);var f=e(c);a.ngModelCtrl.$setViewValue(f)}function g(){return a.ngModelCtrl.$viewValue}var h=this;this.setupEvents=function(b){function c(){return isNaN(parseInt(a.step))?5:parseInt(a.step)}function e(b){var e=c();b.bind("keydown",function(b){switch(b.which){case 38:b.preventDefault(),d(e),a.$apply();break;case 40:b.preventDefault(),d(-e),a.$apply();break;case 13:b.preventDefault(),a.formatInputValue(),a.$apply()}})}function f(b){function e(a){a=a.originalEvent?a.originalEvent:a;var b=a.wheelDelta?a.wheelDelta:-a.deltaY;return a.detail||b>0}var f=c();b.bind("mousewheel wheel",function(b){this===document.activeElement&&(a.$apply(d(e(b)?f:-f)),b.preventDefault())})}e(b),f(b)},a.updateValue=function(){if(!a.strDuration)return f(void 0);var b=c(a.strDuration);f(b)},a.formatInputValue=function(){a.ngModelCtrl.$render()}}])}(),function(){"use strict";angular.module("lui.directives").directive("luidUserSelect",[function(){return{require:"^ngModel",scope:{users:"=",placeholder:"@",onSelect:"&",onRemove:"&"},restrict:"E",template:' {{$select.selected.displayName}}
'}}])}(),function(){"use strict";function a(a,b,c){function d(a){return a.replace(/([.*+?^=!:${}()|\[\]\/\\])/g,"\\$1")}return a?a.replace(new RegExp(d(b),"g"),c):""}angular.module("lui.filters").filter("luifPlaceholder",function(){return function(a,b){return a?a:b}}).filter("luifDefaultCode",function(){return function(b){return a(b," ","_").toUpperCase()}}).filter("luifStartFrom",function(){return function(a,b){return b=+b,a.slice(b)}}).filter("luifNumber",["$sce","$filter",function(a,b){return function(c,d,e){function f(a,b){return void 0===a?'':0===parseInt(a)?''+b+a+"":""+b+a+""}var g=void 0===e?"":e,h=void 0===c||null===c||""===c||c!=c?g:c,i=b("number")(1.1,1)[1],j=void 0===d||null===d||d!=d?2:d,k=b("number")(h,j),l=(k||b("number")(0,j)).split(i)[1],m=f(l,i);if(""===h||!k)return a.trustAsHtml(h+m);var n=k.split(i)[0];return a.trustAsHtml(n+m)}}])}(),function(){"use strict";var a=function(a,b){if(!a)return"";var c=moment(a);return c.isValid()?c.format(b):a};angular.module("lui.filters").filter("luifFriendlyRange",function(){var a={en:{sameDay:"start(dddd, LL)",sameDayThisYear:"start(dddd, MMMM Do)",sameMonth:"start(MMMM Do) - end(Do, YYYY)",sameMonthThisYear:"start(MMMM Do) - end(Do)",sameYear:"start(MMMM Do) - end(LL)",sameYearThisYear:"start(MMMM Do) - end(MMMM Do)",other:"start(LL) - end(LL)"},fr:{sameDay:"le start(dddd LL)",sameDayThisYear:"le start(dddd Do MMMM)",sameMonth:"du start(Do) au end(LL)",sameMonthThisYear:"du start(Do) au end(Do MMMM)",sameYear:"du start(Do MMMM) au end(LL)",sameYearThisYear:"du start(Do MMMM) au end(Do MMMM)",other:"du start(LL) au end(LL)"},de:{sameDay:"der start(dddd LL)",sameDayThisYear:"der start(dddd Do MMMM)",sameMonth:"von start(Do) bis end(LL)",sameMonthThisYear:"von start(Do) bis end(Do MMMM)",sameYear:"von start(Do MMMM) bis end(LL)",sameYearThisYear:"von start(Do MMMM) bis end(Do MMMM)",other:"von start(LL) bis end(LL)"}};return function(b,c,d,e){if(b){var f=b.startsAt||b.startsOn||b.startDate||b.start,g=b.endsAt||b.endsOn||b.endDate||b.end;if(!f&&!g)return"";f=moment(f),g=moment(g),c&&g.add(-1,"minutes");var h=a[moment.locale()]||a.en,i=f.year()===g.year()?f.month()===g.month()?f.date()===g.date()?"sameDay":"sameMonth":"sameYear":"other";moment().year()===f.year()&&moment().year()===g.year()&&(i+="ThisYear");var j=/(start\((.*?)\))(.*(end\((.*?)\))){0,1}/gi.exec(h[i]);return h[i].replace(j[1],f.format(j[2])).replace(j[4],g.format(j[5]))}}}).filter("luifMoment",function(){return function(b,c){return c||(c="LLL"),a(b,c)}}).filter("luifCalendar",function(){return function(a,b){var c=moment(a);b&&moment(b).isValid()?moment(b):moment();return c.isValid()?c.calendar(b):a}}).filter("luifDuration",["$filter",function(a){return function(b,c,d,e){function f(a){switch(a){case"d":case"day":case"days":return 0;case void 0:case"":case"h":case"hour":case"hours":return 1;case"m":case"min":case"mins":case"minute":case"minutes":return 2;case"s":case"sec":case"second":case"seconds":return 3;case"ms":case"millisec":case"millisecond":case"milliseconds":return 4}}function g(a,b){return 4===b?4:0!==a[b]?b:g(a,b+1)}function h(a,b){return 0===b?0:0!==a[b]?b:h(a,b-1)}function i(a){switch(!0){case 0===Math.floor(10*a%10)&&0===Math.floor(100*a%10):return 0;case 0===Math.floor(100*a%10):return 1;default:return 2}}function j(a,b,c){switch(b){case c:return a;case 2:case 3:return 10>a?"0"+a:a;case 4:return 10>a?"00"+a:100>a?"0"+a:a;default:return a}}function k(a,b){if(a){if(b.asMilliseconds()>0)return"+";if(b.asMilliseconds()<0)return"-"}return""}function l(a,b){var c=["d ","h","m","s","ms"];switch(moment.locale()){case"fr":c[0]="j "}return 3>=a&&4===b&&(c[3]=".",c[4]="s"),1>=a&&2===b&&(c[2]=""),2===a&&3===b&&(c[3]=""),c}var m=[{index:0,unit:"d",dateConversion:"asDays",expectedPrecision:"h"},{index:1,unit:"h",dateConversion:"asHours",expectedPrecision:"m"},{index:2,unit:"m",dateConversion:"asMinutes",expectedPrecision:"s"},{index:3,unit:"s",dateConversion:"asSeconds",expectedPrecision:"s"},{index:4,unit:"ms",dateConversion:"asMilliseconds",expectedPrecision:"ms"}],n=moment.duration(b);if(0===n.asMilliseconds())return"";var o=[Math.abs(n.days()),Math.abs(n.hours()),Math.abs(n.minutes()),Math.abs(n.seconds()),Math.abs(n.milliseconds())],p=m[f(d)],q=Math.max(p.index,g(o,0));if(o[p.index]=Math.abs(n[p.dateConversion]()>=0?Math.floor(n[p.dateConversion]()):Math.ceil(n[p.dateConversion]())),0===p.index&&0===f(e)&&n.asDays()>0){var r=n.asDays(),s=i(r);q=0,o[0]=a("number")(r,s)}for(var t=h(o,f(e||p.expectedPrecision)),u=l(q,t),v="",w=q;t>=w;w++)v+=j(o[w],w,q)+u[w];var x=v?k(c,n):"";return x+v}}]).filter("luifHumanize",function(){return function(a,b){b=!!b;var c=moment.duration(a);return c.humanize(b)}})}();var __extends=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},Lui;!function(a){var b;!function(a){"use strict";var b=function(){function a(a){this.date=moment(a).startOf("month"),this.weeks=[],this.currentYear=this.date.year()===moment().year()}return a}();a.CalendarMonth=b;var c=function(){function a(){}return a}();a.CalendarWeek=c;var d=function(){function a(a){this.date=a,this.dayNum=a.date()}return a}();a.CalendarDay=d;var e=function(){function a(a){this.$scope=a,this.initCalendarScopeMethods(a)}return a.prototype.setMonthsCnt=function(a){this.monthsCnt=parseInt(a,10)||1},a.prototype.constructMonths=function(){var a=this;return _.map(_.range(this.monthsCnt),function(b){return a.constructMonth(moment(a.currentMonth).add(b,"months").startOf("month"))})},a.prototype.constructDayLabels=function(){return _.map(_.range(7),function(a){return moment().startOf("week").add(a,"days").format("dd")})},a.prototype.assignClasses=function(){var a=this,b=this.extractDays();_.each(b,function(b){b.selected=!1,b.start=!1,b.end=!1,b.inBetween=!1,a.selected&&b.date.format("YYYYMMDD")===moment(a.selected).format("YYYYMMDD")&&(b.selected=!0),a.start&&b.date.format("YYYYMMDD")===moment(a.start).format("YYYYMMDD")&&(b.start=!0),a.end&&b.date.format("YYYYMMDD")===moment(a.end).format("YYYYMMDD")&&(b.end=!0),a.start&&a.end&&b.date.isAfter(a.start)&&b.date.isBefore(a.end)&&(b.inBetween=!0),a.min&&a.min.diff(b.date)>0&&(b.disabled=!0),a.max&&a.max.diff(b.date)<0&&(b.disabled=!0),a.$scope.customClass&&(b.customClass=a.$scope.customClass(b.date))})},a.prototype.initCalendarScopeMethods=function(a){var b=this;a.dayLabels=this.constructDayLabels(),a.nextMonth=function(){b.currentMonth.add(1,"month"),a.months=b.constructMonths(),b.assignClasses()},a.previousMonth=function(){b.currentMonth.add(-1,"month"),a.months=b.constructMonths(),b.assignClasses()}},a.prototype.constructMonth=function(a){for(var c=new b(a),d=moment(c.date).startOf("week");d.month()===c.date.month()||moment(d).endOf("week").month()===c.date.month();)c.weeks.push(this.constructWeek(d,c.date)),d.add(1,"week");return c},a.prototype.constructWeek=function(a,b){var c={days:[]};return c.days=_.map(_.range(7),function(c){var e=new d(moment(a).add(c,"days"));return e.date.month()!==b.month()&&(e.empty=!0),e}),c},a.prototype.extractDays=function(){return _.chain(this.$scope.months).pluck("weeks").flatten().pluck("days").flatten().reject(function(a){return a.empty}).value()},a}();a.CalendarController=e}(b=a.Directives||(a.Directives={}))}(Lui||(Lui={}));var Lui;!function(a){var b;!function(b){"use strict";var c=function(){function a(){this.restrict="E",this.templateUrl="lui/templates/date-picker/datepicker-inline.html",this.require=["ngModel","luidDatePicker"],this.scope={format:"@",displayedMonths:"@",min:"=",max:"=",customClass:"="},this.controller=e.IID}return a.factory=function(){var b=function(){return new a};return b},a.prototype.link=function(a,b,c,d){var e=d[0],f=d[1];f.setNgModelCtrl(e),f.setFormat(a.format),f.setMonthsCnt(a.displayedMonths)},a.IID="luidDatePicker",a}(),d=function(){function a(){this.restrict="E",this.templateUrl="lui/templates/date-picker/datepicker-popup.html",this.require=["ngModel","luidDatePickerPopup"],this.scope={format:"@",displayFormat:"@",displayedMonths:"@",min:"=",max:"=",customClass:"="},this.controller=e.IID}return a.factory=function(){var b=function(){return new a};return b},a.prototype.link=function(a,b,c,d){var e=d[0],f=d[1];f.setNgModelCtrl(e),f.setFormat(a.format,a.displayFormat),f.setMonthsCnt(a.displayedMonths),f.setPopoverTrigger(b,a)},a.IID="luidDatePickerPopup",a}(),e=function(b){function c(a){var c=this;b.call(this,a),this.$scope=a,a.selectDay=function(b){c.setViewValue(b.date),a.displayStr=c.getDisplayStr(b.date),c.selected=b.date,c.assignClasses(),c.closePopover()},a.togglePopover=function(a){c.togglePopover(a)},a.$watch("min",function(){c.min=c.formatter.parseValue(a.min),c.validate(),c.selected=c.getViewValue(),c.assignClasses()}),a.$watch("max",function(){c.max=c.formatter.parseValue(a.max),c.validate(),c.selected=c.getViewValue(),c.assignClasses()})}return __extends(c,b),c.prototype.setNgModelCtrl=function(a){var b=this;this.ngModelCtrl=a,a.$render=function(){var c=b.formatter.parseValue(a.$viewValue);b.currentMonth=moment(c).startOf("month"),b.$scope.months=b.constructMonths(),b.selected=c,b.min=b.formatter.parseValue(b.$scope.min),b.max=b.formatter.parseValue(b.$scope.max),b.assignClasses(),b.$scope.displayStr=b.getDisplayStr(c)},a.$validators.min=function(a,c){var d=b.min,e=b.getViewValue();return!e||!d||d.diff(e)<=0},a.$validators.max=function(a,c){var d=b.max,e=b.getViewValue();return!e||!d||d.diff(e)>=0}},c.prototype.setFormat=function(b,c){this.formatter=new a.Utils.MomentFormatter(b),"moment"!==b&&"date"!==b?this.displayFormat=c||b||"L":this.displayFormat=c||"L"},c.prototype.setPopoverTrigger=function(b,c){var d=this;this.popoverController=new a.Utils.ClickoutsideTrigger(b,c),c.popover={isOpen:!1},c.togglePopover=function(a){d.togglePopover(a)}},c.prototype.setViewValue=function(a){this.ngModelCtrl.$setViewValue(this.formatter.formatValue(a))},c.prototype.getViewValue=function(){return this.formatter.parseValue(this.ngModelCtrl.$viewValue)},c.prototype.validate=function(){this.ngModelCtrl.$validate()},c.prototype.togglePopover=function(a){this.$scope.popover.isOpen?this.closePopover():this.openPopover(a)},c.prototype.closePopover=function(){this.popoverController&&this.popoverController.close()},c.prototype.openPopover=function(a){this.popoverController&&this.popoverController.open(a)},c.prototype.getDisplayStr=function(a){return a?a.format(this.displayFormat):void 0},c.IID="luidDatePickerController",c.$inject=["$scope"],c}(b.CalendarController);angular.module("lui.directives").controller(e.IID,e),angular.module("lui.directives").directive(c.IID,c.factory()),angular.module("lui.directives").directive(d.IID,d.factory())}(b=a.Directives||(a.Directives={}))}(Lui||(Lui={}));var Lui;!function(a){var b;!function(b){"use strict";var c=function(){function a(){this.restrict="E",this.templateUrl="lui/templates/date-picker/daterangepicker.html",this.require=["ngModel","luidDaterangePicker"],this.scope={format:"@",displayFormat:"@",min:"=",max:"=",customClass:"=",excludeEnd:"@",startProperty:"@",endProperty:"@"},this.controller=d.IID}return a.factory=function(){var b=function(){return new a};return b},a.prototype.link=function(a,b,c,d){var e=d[0],f=d[1];f.setNgModelCtrl(e),f.setFormat(a.format,a.displayFormat),f.setMonthsCnt("2"),f.setPopoverTrigger(b,a),f.setExcludeEnd(a.excludeEnd),f.setProperties(a.startProperty,a.endProperty)},a.IID="luidDaterangePicker",a}(),d=function(b){function c(a,c){var d=this;b.call(this,a),this.$scope=a,this.$filter=c,a.selectDay=function(b){a.editingStart||a.period.start&&b.date.isBefore(a.period.start)?(a.period.start=b.date,d.start=b.date,a.editEnd(),a.period.end&&a.period.start.isAfter(a.period.end)&&(a.period.end=void 0,d.end=void 0),d.assignClasses()):(a.period.end=b.date,d.closePopover())},a.editStart=function(b){b&&b.stopPropagation(),a.editingStart=!0,d.$scope.period.start&&moment(d.currentMonth).diff(d.$scope.period.start)>0&&(d.currentMonth=moment(d.$scope.period.start).startOf("month"), +d.$scope.months=d.constructMonths(),d.assignClasses())},a.editEnd=function(b){b&&b.stopPropagation(),a.editingStart=!1,d.$scope.period.end&&moment(d.currentMonth).add(d.monthsCnt,"months").diff(d.$scope.period.end)<=0&&(d.currentMonth=moment(d.$scope.period.end).add(-d.monthsCnt+1,"months").startOf("month"),d.$scope.months=d.constructMonths(),d.assignClasses())},a.onMouseEnter=function(b,c){a.editingStart||d.$scope.period.end||(d.end=b.date,d.assignClasses())},a.onMouseLeave=function(b,c){a.editingStart||d.$scope.period.end||(d.end=void 0,d.assignClasses())},a.popover={isOpen:!1}}return __extends(c,b),c.prototype.setNgModelCtrl=function(a){var b=this;this.ngModelCtrl=a,a.$render=function(){a.$viewValue?(b.$scope.period=b.getViewValue(),b.$scope.displayStr=b.$filter("luifFriendlyRange")(b.$scope.period)):(b.$scope.period=void 0,b.$scope.displayStr=void 0)},a.$validators.min=function(a,c){var d=b.getViewValue().start,e=b.formatter.parseValue(b.$scope.min);return!d||!e||e.diff(d)<=0},a.$validators.max=function(a,c){var d=b.getViewValue().end,e=b.formatter.parseValue(b.$scope.max);return!d||!e||e.diff(d)>=0}},c.prototype.setProperties=function(a,b){this.startProperty=a||"start",this.endProperty=b||"end"},c.prototype.setExcludeEnd=function(a){this.excludeEnd="true"===a},c.prototype.setFormat=function(b,c){this.formatter=new a.Utils.MomentFormatter(b),"moment"!==b&&"date"!==b?this.$scope.momentFormat=c||b||"L":this.$scope.momentFormat=c||"L"},c.prototype.setPopoverTrigger=function(b,c){var d=this,e=function(){d.closePopover()};this.popoverController=new a.Utils.ClickoutsideTrigger(b,c,e),c.togglePopover=function(a){d.togglePopover(a)}},c.prototype.setViewValue=function(a){var b=this.ngModelCtrl.$viewValue||{};a&&a.start&&a.end?(b[this.startProperty]=this.formatter.formatValue(moment(a.start)),b[this.endProperty]=this.formatter.formatValue(this.excludeEnd?moment(a.end).add(1,"day"):moment(a.end))):(b[this.startProperty]=void 0,b[this.endProperty]=void 0),this.ngModelCtrl.$setViewValue(b)},c.prototype.getViewValue=function(){if(this.ngModelCtrl.$viewValue){var b={};b.start=this.ngModelCtrl.$viewValue[this.startProperty],b.end=this.ngModelCtrl.$viewValue[this.endProperty];var c=new a.Period(b,this.formatter);return this.excludeEnd&&c.end.add(-1,"day"),c}return{start:void 0,end:void 0}},c.prototype.togglePopover=function(a){this.$scope.popover.isOpen?this.closePopover():this.openPopover(a)},c.prototype.closePopover=function(){this.$scope.period.start&&this.$scope.period.end?(this.setViewValue(this.$scope.period),this.$scope.displayStr=this.$filter("luifFriendlyRange")(this.$scope.period)):this.$scope.period=this.getViewValue(),this.popoverController.close()},c.prototype.openPopover=function(a){var b=this.getViewValue();this.$scope.period=b||{start:void 0,end:void 0},this.currentMonth=(b?moment(b.start):moment()).startOf("month"),this.$scope.months=this.constructMonths(),b&&(this.start=b.start,this.end=b.end),this.min=this.formatter.parseValue(this.$scope.min),this.max=this.formatter.parseValue(this.$scope.max),this.assignClasses(),this.$scope.editingStart=!0,this.popoverController.open(a)},c.IID="luidDaterangePickerController",c.$inject=["$scope","$filter"],c}(b.CalendarController);angular.module("lui.directives").controller(d.IID,d),angular.module("lui.directives").directive(c.IID,c.factory())}(b=a.Directives||(a.Directives={}))}(Lui||(Lui={})),angular.module("lui.directives").directive("deferredCloak",["$timeout",function(a){return{restrict:"A",link:function(b,c,d){a(function(){d.$set("deferredCloak",void 0),c.removeClass("deferred-cloak")},0)}}}]);var Lui;!function(a){"use strict";var b=function(){function a(a,b){var c=a.start||a.startsOn||a.startsAt,d=a.end||a.endsOn||a.endsAt;this.start=b.parseValue(c),this.end=b.parseValue(d)}return a}();a.Period=b}(Lui||(Lui={}));var Lui;!function(a){var b;!function(a){"use strict";function b(){return function(a){return null===a||void 0===a?"":(_.each(c,function(b){a=a.replace(b.letters,b.base)}),a)}}var c=[{base:"A",letters:/[\u0041\u24B6\uFF21\u00C0\u00C1\u00C2\u1EA6\u1EA4\u1EAA\u1EA8\u00C3\u0100\u0102\u1EB0\u1EAE\u1EB4\u1EB2\u0226\u01E0\u00C4\u01DE\u1EA2\u00C5\u01FA\u01CD\u0200\u0202\u1EA0\u1EAC\u1EB6\u1E00\u0104\u023A\u2C6F]/g},{base:"AA",letters:/[\uA732]/g},{base:"AE",letters:/[\u00C6\u01FC\u01E2]/g},{base:"AO",letters:/[\uA734]/g},{base:"AU",letters:/[\uA736]/g},{base:"AV",letters:/[\uA738\uA73A]/g},{base:"AY",letters:/[\uA73C]/g},{base:"B",letters:/[\u0042\u24B7\uFF22\u1E02\u1E04\u1E06\u0243\u0182\u0181]/g},{base:"C",letters:/[\u0043\u24B8\uFF23\u0106\u0108\u010A\u010C\u00C7\u1E08\u0187\u023B\uA73E]/g},{base:"D",letters:/[\u0044\u24B9\uFF24\u1E0A\u010E\u1E0C\u1E10\u1E12\u1E0E\u0110\u018B\u018A\u0189\uA779]/g},{base:"DZ",letters:/[\u01F1\u01C4]/g},{base:"Dz",letters:/[\u01F2\u01C5]/g},{base:"E",letters:/[\u0045\u24BA\uFF25\u00C8\u00C9\u00CA\u1EC0\u1EBE\u1EC4\u1EC2\u1EBC\u0112\u1E14\u1E16\u0114\u0116\u00CB\u1EBA\u011A\u0204\u0206\u1EB8\u1EC6\u0228\u1E1C\u0118\u1E18\u1E1A\u0190\u018E]/g},{base:"F",letters:/[\u0046\u24BB\uFF26\u1E1E\u0191\uA77B]/g},{base:"G",letters:/[\u0047\u24BC\uFF27\u01F4\u011C\u1E20\u011E\u0120\u01E6\u0122\u01E4\u0193\uA7A0\uA77D\uA77E]/g},{base:"H",letters:/[\u0048\u24BD\uFF28\u0124\u1E22\u1E26\u021E\u1E24\u1E28\u1E2A\u0126\u2C67\u2C75\uA78D]/g},{base:"I",letters:/[\u0049\u24BE\uFF29\u00CC\u00CD\u00CE\u0128\u012A\u012C\u0130\u00CF\u1E2E\u1EC8\u01CF\u0208\u020A\u1ECA\u012E\u1E2C\u0197]/g},{base:"J",letters:/[\u004A\u24BF\uFF2A\u0134\u0248]/g},{base:"K",letters:/[\u004B\u24C0\uFF2B\u1E30\u01E8\u1E32\u0136\u1E34\u0198\u2C69\uA740\uA742\uA744\uA7A2]/g},{base:"L",letters:/[\u004C\u24C1\uFF2C\u013F\u0139\u013D\u1E36\u1E38\u013B\u1E3C\u1E3A\u0141\u023D\u2C62\u2C60\uA748\uA746\uA780]/g},{base:"LJ",letters:/[\u01C7]/g},{base:"Lj",letters:/[\u01C8]/g},{base:"M",letters:/[\u004D\u24C2\uFF2D\u1E3E\u1E40\u1E42\u2C6E\u019C]/g},{base:"N",letters:/[\u004E\u24C3\uFF2E\u01F8\u0143\u00D1\u1E44\u0147\u1E46\u0145\u1E4A\u1E48\u0220\u019D\uA790\uA7A4]/g},{base:"NJ",letters:/[\u01CA]/g},{base:"Nj",letters:/[\u01CB]/g},{base:"O",letters:/[\u004F\u24C4\uFF2F\u00D2\u00D3\u00D4\u1ED2\u1ED0\u1ED6\u1ED4\u00D5\u1E4C\u022C\u1E4E\u014C\u1E50\u1E52\u014E\u022E\u0230\u00D6\u022A\u1ECE\u0150\u01D1\u020C\u020E\u01A0\u1EDC\u1EDA\u1EE0\u1EDE\u1EE2\u1ECC\u1ED8\u01EA\u01EC\u00D8\u01FE\u0186\u019F\uA74A\uA74C]/g},{base:"OI",letters:/[\u01A2]/g},{base:"OO",letters:/[\uA74E]/g},{base:"OU",letters:/[\u0222]/g},{base:"P",letters:/[\u0050\u24C5\uFF30\u1E54\u1E56\u01A4\u2C63\uA750\uA752\uA754]/g},{base:"Q",letters:/[\u0051\u24C6\uFF31\uA756\uA758\u024A]/g},{base:"R",letters:/[\u0052\u24C7\uFF32\u0154\u1E58\u0158\u0210\u0212\u1E5A\u1E5C\u0156\u1E5E\u024C\u2C64\uA75A\uA7A6\uA782]/g},{base:"S",letters:/[\u0053\u24C8\uFF33\u1E9E\u015A\u1E64\u015C\u1E60\u0160\u1E66\u1E62\u1E68\u0218\u015E\u2C7E\uA7A8\uA784]/g},{base:"T",letters:/[\u0054\u24C9\uFF34\u1E6A\u0164\u1E6C\u021A\u0162\u1E70\u1E6E\u0166\u01AC\u01AE\u023E\uA786]/g},{base:"TZ",letters:/[\uA728]/g},{base:"U",letters:/[\u0055\u24CA\uFF35\u00D9\u00DA\u00DB\u0168\u1E78\u016A\u1E7A\u016C\u00DC\u01DB\u01D7\u01D5\u01D9\u1EE6\u016E\u0170\u01D3\u0214\u0216\u01AF\u1EEA\u1EE8\u1EEE\u1EEC\u1EF0\u1EE4\u1E72\u0172\u1E76\u1E74\u0244]/g},{base:"V",letters:/[\u0056\u24CB\uFF36\u1E7C\u1E7E\u01B2\uA75E\u0245]/g},{base:"VY",letters:/[\uA760]/g},{base:"W",letters:/[\u0057\u24CC\uFF37\u1E80\u1E82\u0174\u1E86\u1E84\u1E88\u2C72]/g},{base:"X",letters:/[\u0058\u24CD\uFF38\u1E8A\u1E8C]/g},{base:"Y",letters:/[\u0059\u24CE\uFF39\u1EF2\u00DD\u0176\u1EF8\u0232\u1E8E\u0178\u1EF6\u1EF4\u01B3\u024E\u1EFE]/g},{base:"Z",letters:/[\u005A\u24CF\uFF3A\u0179\u1E90\u017B\u017D\u1E92\u1E94\u01B5\u0224\u2C7F\u2C6B\uA762]/g},{base:"a",letters:/[\u0061\u24D0\uFF41\u1E9A\u00E0\u00E1\u00E2\u1EA7\u1EA5\u1EAB\u1EA9\u00E3\u0101\u0103\u1EB1\u1EAF\u1EB5\u1EB3\u0227\u01E1\u00E4\u01DF\u1EA3\u00E5\u01FB\u01CE\u0201\u0203\u1EA1\u1EAD\u1EB7\u1E01\u0105\u2C65\u0250]/g},{base:"aa",letters:/[\uA733]/g},{base:"ae",letters:/[\u00E6\u01FD\u01E3]/g},{base:"ao",letters:/[\uA735]/g},{base:"au",letters:/[\uA737]/g},{base:"av",letters:/[\uA739\uA73B]/g},{base:"ay",letters:/[\uA73D]/g},{base:"b",letters:/[\u0062\u24D1\uFF42\u1E03\u1E05\u1E07\u0180\u0183\u0253]/g},{base:"c",letters:/[\u0063\u24D2\uFF43\u0107\u0109\u010B\u010D\u00E7\u1E09\u0188\u023C\uA73F\u2184]/g},{base:"d",letters:/[\u0064\u24D3\uFF44\u1E0B\u010F\u1E0D\u1E11\u1E13\u1E0F\u0111\u018C\u0256\u0257\uA77A]/g},{base:"dz",letters:/[\u01F3\u01C6]/g},{base:"e",letters:/[\u0065\u24D4\uFF45\u00E8\u00E9\u00EA\u1EC1\u1EBF\u1EC5\u1EC3\u1EBD\u0113\u1E15\u1E17\u0115\u0117\u00EB\u1EBB\u011B\u0205\u0207\u1EB9\u1EC7\u0229\u1E1D\u0119\u1E19\u1E1B\u0247\u025B\u01DD]/g},{base:"f",letters:/[\u0066\u24D5\uFF46\u1E1F\u0192\uA77C]/g},{base:"g",letters:/[\u0067\u24D6\uFF47\u01F5\u011D\u1E21\u011F\u0121\u01E7\u0123\u01E5\u0260\uA7A1\u1D79\uA77F]/g},{base:"h",letters:/[\u0068\u24D7\uFF48\u0125\u1E23\u1E27\u021F\u1E25\u1E29\u1E2B\u1E96\u0127\u2C68\u2C76\u0265]/g},{base:"hv",letters:/[\u0195]/g},{base:"i",letters:/[\u0069\u24D8\uFF49\u00EC\u00ED\u00EE\u0129\u012B\u012D\u00EF\u1E2F\u1EC9\u01D0\u0209\u020B\u1ECB\u012F\u1E2D\u0268\u0131]/g},{base:"j",letters:/[\u006A\u24D9\uFF4A\u0135\u01F0\u0249]/g},{base:"k",letters:/[\u006B\u24DA\uFF4B\u1E31\u01E9\u1E33\u0137\u1E35\u0199\u2C6A\uA741\uA743\uA745\uA7A3]/g},{base:"l",letters:/[\u006C\u24DB\uFF4C\u0140\u013A\u013E\u1E37\u1E39\u013C\u1E3D\u1E3B\u017F\u0142\u019A\u026B\u2C61\uA749\uA781\uA747]/g},{base:"lj",letters:/[\u01C9]/g},{base:"m",letters:/[\u006D\u24DC\uFF4D\u1E3F\u1E41\u1E43\u0271\u026F]/g},{base:"n",letters:/[\u006E\u24DD\uFF4E\u01F9\u0144\u00F1\u1E45\u0148\u1E47\u0146\u1E4B\u1E49\u019E\u0272\u0149\uA791\uA7A5]/g},{base:"nj",letters:/[\u01CC]/g},{base:"o",letters:/[\u006F\u24DE\uFF4F\u00F2\u00F3\u00F4\u1ED3\u1ED1\u1ED7\u1ED5\u00F5\u1E4D\u022D\u1E4F\u014D\u1E51\u1E53\u014F\u022F\u0231\u00F6\u022B\u1ECF\u0151\u01D2\u020D\u020F\u01A1\u1EDD\u1EDB\u1EE1\u1EDF\u1EE3\u1ECD\u1ED9\u01EB\u01ED\u00F8\u01FF\u0254\uA74B\uA74D\u0275]/g},{base:"oi",letters:/[\u01A3]/g},{base:"ou",letters:/[\u0223]/g},{base:"oo",letters:/[\uA74F]/g},{base:"p",letters:/[\u0070\u24DF\uFF50\u1E55\u1E57\u01A5\u1D7D\uA751\uA753\uA755]/g},{base:"q",letters:/[\u0071\u24E0\uFF51\u024B\uA757\uA759]/g},{base:"r",letters:/[\u0072\u24E1\uFF52\u0155\u1E59\u0159\u0211\u0213\u1E5B\u1E5D\u0157\u1E5F\u024D\u027D\uA75B\uA7A7\uA783]/g},{base:"s",letters:/[\u0073\u24E2\uFF53\u00DF\u015B\u1E65\u015D\u1E61\u0161\u1E67\u1E63\u1E69\u0219\u015F\u023F\uA7A9\uA785\u1E9B]/g},{base:"t",letters:/[\u0074\u24E3\uFF54\u1E6B\u1E97\u0165\u1E6D\u021B\u0163\u1E71\u1E6F\u0167\u01AD\u0288\u2C66\uA787]/g},{base:"tz",letters:/[\uA729]/g},{base:"u",letters:/[\u0075\u24E4\uFF55\u00F9\u00FA\u00FB\u0169\u1E79\u016B\u1E7B\u016D\u00FC\u01DC\u01D8\u01D6\u01DA\u1EE7\u016F\u0171\u01D4\u0215\u0217\u01B0\u1EEB\u1EE9\u1EEF\u1EED\u1EF1\u1EE5\u1E73\u0173\u1E77\u1E75\u0289]/g},{base:"v",letters:/[\u0076\u24E5\uFF56\u1E7D\u1E7F\u028B\uA75F\u028C]/g},{base:"vy",letters:/[\uA761]/g},{base:"w",letters:/[\u0077\u24E6\uFF57\u1E81\u1E83\u0175\u1E87\u1E85\u1E98\u1E89\u2C73]/g},{base:"x",letters:/[\u0078\u24E7\uFF58\u1E8B\u1E8D]/g},{base:"y",letters:/[\u0079\u24E8\uFF59\u1EF3\u00FD\u0177\u1EF9\u0233\u1E8F\u00FF\u1EF7\u1E99\u1EF5\u01B4\u024F\u1EFF]/g},{base:"z",letters:/[\u007A\u24E9\uFF5A\u017A\u1E91\u017C\u017E\u1E93\u1E95\u01B6\u0225\u0240\u2C6C\uA763]/g}];angular.module("lui.filters").filter("luifStripAccents",b)}(b=a.Filters||(a.Filters={}))}(Lui||(Lui={}));var Lui;!function(a){var b;!function(a){"use strict";var b=function(){function a(a,b,c,d){var e=this;this.totalRequests=0,this.completedRequests=0,this.request=function(a){return e.isCached(a)||e.startRequest(a.method),a},this.requestError=function(a){return e.startRequest("GET"),e.$q.reject(a)},this.response=function(a){return a&&!e.isCached(a.config)&&e.endRequest(e.extractMethod(a)),a},this.responseError=function(a){return e.endRequest("GET"),e.$q.reject(a)},this.isCached=function(a){var b,c=e.$cacheFactory.get("$http");!a.cache||a.cache===!1||"GET"!==a.method&&"JSONP"!==a.method||(b=angular.isObject(a.cache)?a.cache:c);var d=void 0!==b?void 0!==b.get(a.url):!1;return void 0!==a.cached&&d!==a.cached?a.cached:(a.cached=d,d)},this.extractMethod=function(a){try{return a.config.method}catch(b){return"GET"}},this.startRequest=function(a){e.progressBarService.isHttpResquestListening()?e.progressBarService.getHttpRequestMethods().indexOf(a)>-1&&(0===e.totalRequests&&e.progressBarService.start(),e.totalRequests++):(e.totalRequests=0,e.completedRequests=0)},this.setComplete=function(){e.completeTimeout&&e.$timeout.cancel(e.completeTimeout),e.completeTimeout=e.$timeout(function(){e.progressBarService.complete(),e.totalRequests=0,e.completedRequests=0},200)},this.endRequest=function(a){e.progressBarService.isHttpResquestListening()&&e.progressBarService.getHttpRequestMethods().indexOf(a)>-1&&(e.completedRequests++,e.completedRequests>=e.totalRequests&&e.setComplete())},this.$q=a,this.$cacheFactory=b,this.$timeout=c,this.progressBarService=d}return a.IID="luiHttpInterceptor",a.$inject=["$q","$cacheFactory","$timeout","luisProgressBar"],a}();a.LuiHttpInterceptor=b,angular.module("lui.services").service(b.IID,b)}(b=a.Service||(a.Service={}))}(Lui||(Lui={}));var Lui;!function(a){var b;!function(a){"use strict";var b=function(){function a(a,b,c,d,e){var f=this;this.latencyThreshold=200,this.httpResquestListening=!1,this.status=0,this.progressBarTemplate='
',this.addProgressBar=function(a,b){void 0===a&&(a="body"),void 0===b&&(b="primary");var c,d=document.getElementsByTagName(a),e=document.getElementById(a),g=document.getElementsByClassName(a);if(d&&d.length)c=angular.element(d[0]);else if(e)c=angular.element(e);else{if(!g||!g.length)return void f.$log.warn("luisProgressBar - could not find a suitable element for tag/id/class: "+a);c=angular.element(g[0])}f.progressbarEl&&f.progressbarEl.remove(),f.progressbarEl=angular.element(f.progressBarTemplate),f.progressbarEl.addClass(b),c.append(f.progressbarEl)},this.startListening=function(a){f.httpResquestListening=!0,a?f.httpRequestMethods=a:f.httpRequestMethods=["GET"],f.setStatus(0)},this.stopListening=function(){f.httpResquestListening=!1,f.setStatus(0)},this.isHttpResquestListening=function(){return f.httpResquestListening},this.getHttpRequestMethods=function(){return f.httpRequestMethods},this.start=function(){f.isStarted||(f.isStarted=!0,f.$timeout.cancel(f.completeTimeout),f.$interval.cancel(f.currentPromiseInterval),f.show(),f.currentPromiseInterval=f.$interval(function(){if(isNaN(f.status))f.$interval.cancel(f.currentPromiseInterval),f.setStatus(0),f.hide();else{var a=100-f.status;a>30?f.setStatus(f.status+.5*Math.sqrt(a)):f.setStatus(f.status+.15*Math.pow(1-Math.sqrt(a),2))}},f.latencyThreshold))},this.hide=function(){f.$timeout(function(){f.progressbarEl&&(f.progressbarEl.removeClass("in"),f.progressbarEl.addClass("out"),f.setStatus(0))},300)},this.show=function(){f.progressbarEl&&(f.progressbarEl.removeClass("out"),f.progressbarEl.addClass("in"),f.setStatus(0))},this.setStatus=function(a){f.status=a,f.progressbarEl&&(f.progressbarEl.children().css("width",f.status+"%"),f.progressbarEl.children().attr("data-percentage",f.status))},this.complete=function(){f.$interval.cancel(f.currentPromiseInterval),f.isStarted=!1,f.httpResquestListening=!1,f.setStatus(100),f.hide()},this.getDomElement=function(){return f.progressbarEl},this.$document=a,this.$window=b,this.$timeout=c,this.$interval=d,this.$log=e}return a.IID="luisProgressBar",a.$inject=["$document","$window","$timeout","$interval","$log"],a}();a.ProgressBarService=b,angular.module("lui.services").service(b.IID,b)}(b=a.Service||(a.Service={}))}(Lui||(Lui={}));var Lui;!function(a){var b;!function(a){"use strict";var b=function(){function a(a){this.format=a||"moment"}return a.prototype.parseValue=function(a){switch(this.format){case"moment":return this.parseMoment(a);case"date":return this.parseDate(a);default:return this.parseString(a)}},a.prototype.formatValue=function(a){switch(this.format){case"moment":return this.formatMoment(a);case"date":return this.formatDate(a);default:return this.formatString(a)}},a.prototype.parseMoment=function(a){return a?moment(a):void 0},a.prototype.parseDate=function(a){return a?moment(a):void 0},a.prototype.parseString=function(a){return a&&moment(a,this.format).isValid()?moment(a,this.format):void 0},a.prototype.formatMoment=function(a){return moment(a)},a.prototype.formatDate=function(a){return a.toDate()},a.prototype.formatString=function(a){return a.format(this.format)},a}();a.MomentFormatter=b}(b=a.Utils||(a.Utils={}))}(Lui||(Lui={}));var Lui;!function(a){var b;!function(a){"use strict";var b=function(){function a(a,b,c){this.elt=a,this.body=angular.element(document.getElementsByTagName("body")[0]),this.$scope=b,this.clickedOutside=c}return a.prototype.toggle=function(a){this.$scope.popover.isOpen?this.close(a):this.open(a)},a.prototype.close=function(a){this.$scope.popover.isOpen=!1,this.body&&(this.body.off("click"),this.elt.off("click"))},a.prototype.open=function(a){var b=this;this.$scope.popover.isOpen=!0,setTimeout(function(){b.body.on("click",function(){b.onClickedOutside(),b.$scope.$digest()}),b.elt.on("click",function(a){a.stopPropagation()})},1)},a.prototype.onClickedOutside=function(a){this.clickedOutside?this.clickedOutside():this.close()},a}();a.ClickoutsideTrigger=b}(b=a.Utils||(a.Utils={}))}(Lui||(Lui={})),angular.module("lui.directives").run(["$templateCache",function(a){"use strict";a.put("lui/templates/date-picker/datepicker-inline.html",'
{{ month.date | luifMoment : month.currentYear ? "MMMM" : "MMMM - YYYY" }}
{{ ::dayLabel }}
{{ ::day.dayNum }}
'),a.put("lui/templates/date-picker/datepicker-popup.html",''),a.put("lui/templates/date-picker/daterangepicker-popover.html",'
{{ month.date | luifMoment : month.currentYear ? "MMMM" : "MMMM - YYYY" }}
{{ ::dayLabel }}
{{ ::day.dayNum }}
'),a.put("lui/templates/date-picker/daterangepicker.html",' {{ !!period.start ? (period.start | luifMoment : momentFormat) : "................." }} {{ !!period.end ? (period.end | luifMoment : momentFormat) : "................." }}'),a.put("lui/templates/notify-service/alert.html",'
{{message}}
'),a.put("lui/templates/notify-service/confirm.html",'
{{message}}
'),a.put("lui/templates/notify-service/error.html",'
Error
{{ $message }}
'),a.put("lui/templates/notify-service/loading.html",'
  Loading
  {{ message }}
'),a.put("lui/templates/notify-service/success.html",'
Success
{{ $message }}
'),a.put("lui/templates/notify-service/warning.html",'
Warning
{{ $message }}
'),a.put("lui/templates/table-grid/table-grid.html",'
'),a.put("lui/templates/table-grid/table-grid.table.html",'
{{ header.label }}
{{ $item }}{{ value }}{{ $select.selected }}{{ value }}
')}]); \ No newline at end of file