@progress/kendo-angular-filter 0.1.6-dev.202202251358 → 0.1.6-dev.202203020808

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,7 +2,7 @@
2
2
  * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@angular/core"),require("@progress/kendo-angular-l10n"),require("@progress/kendo-licensing"),require("@angular/common"),require("@progress/kendo-angular-dropdowns"),require("@progress/kendo-angular-inputs"),require("@progress/kendo-angular-label"),require("@progress/kendo-angular-buttons"),require("@progress/kendo-angular-dateinputs")):"function"==typeof define&&define.amd?define([,,,,,,,,],t):"object"==typeof exports?exports.KendoAngularFilter=t(require("@angular/core"),require("@progress/kendo-angular-l10n"),require("@progress/kendo-licensing"),require("@angular/common"),require("@progress/kendo-angular-dropdowns"),require("@progress/kendo-angular-inputs"),require("@progress/kendo-angular-label"),require("@progress/kendo-angular-buttons"),require("@progress/kendo-angular-dateinputs")):e.KendoAngularFilter=t(e.ng.core,e.KendoAngularL10N,e.KendoLicensing,e.ng.common,e.KendoAngularDropdowns,e.KendoAngularInputs,e.KendoAngularLabel,e.KendoAngularButtons,e.KendoAngularDateinputs)}(window,(function(e,t,r,n,o,i,a,l,s){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=7)}([function(t,r){t.exports=e},function(e,t,r){"use strict";r.r(t),r.d(t,"__extends",(function(){return o})),r.d(t,"__assign",(function(){return i})),r.d(t,"__rest",(function(){return a})),r.d(t,"__decorate",(function(){return l})),r.d(t,"__param",(function(){return s})),r.d(t,"__metadata",(function(){return u})),r.d(t,"__awaiter",(function(){return d})),r.d(t,"__generator",(function(){return p})),r.d(t,"__createBinding",(function(){return f})),r.d(t,"__exportStar",(function(){return c})),r.d(t,"__values",(function(){return g})),r.d(t,"__read",(function(){return m})),r.d(t,"__spread",(function(){return v})),r.d(t,"__spreadArrays",(function(){return h})),r.d(t,"__await",(function(){return _})),r.d(t,"__asyncGenerator",(function(){return y})),r.d(t,"__asyncDelegator",(function(){return b})),r.d(t,"__asyncValues",(function(){return O})),r.d(t,"__makeTemplateObject",(function(){return I})),r.d(t,"__importStar",(function(){return x})),r.d(t,"__importDefault",(function(){return k})),r.d(t,"__classPrivateFieldGet",(function(){return E})),r.d(t,"__classPrivateFieldSet",(function(){return S}));
5
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@angular/core"),require("@progress/kendo-angular-l10n"),require("@progress/kendo-licensing"),require("@angular/common"),require("@progress/kendo-angular-dropdowns"),require("@progress/kendo-angular-inputs"),require("@progress/kendo-angular-label"),require("@progress/kendo-angular-buttons"),require("@progress/kendo-angular-dateinputs")):"function"==typeof define&&define.amd?define([,,,,,,,,],t):"object"==typeof exports?exports.KendoAngularFilter=t(require("@angular/core"),require("@progress/kendo-angular-l10n"),require("@progress/kendo-licensing"),require("@angular/common"),require("@progress/kendo-angular-dropdowns"),require("@progress/kendo-angular-inputs"),require("@progress/kendo-angular-label"),require("@progress/kendo-angular-buttons"),require("@progress/kendo-angular-dateinputs")):e.KendoAngularFilter=t(e.ng.core,e.KendoAngularL10N,e.KendoLicensing,e.ng.common,e.KendoAngularDropdowns,e.KendoAngularInputs,e.KendoAngularLabel,e.KendoAngularButtons,e.KendoAngularDateinputs)}(window,(function(e,t,r,n,o,i,a,l,s){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=7)}([function(t,r){t.exports=e},function(e,t,r){"use strict";r.r(t),r.d(t,"__extends",(function(){return o})),r.d(t,"__assign",(function(){return i})),r.d(t,"__rest",(function(){return a})),r.d(t,"__decorate",(function(){return l})),r.d(t,"__param",(function(){return s})),r.d(t,"__metadata",(function(){return u})),r.d(t,"__awaiter",(function(){return d})),r.d(t,"__generator",(function(){return p})),r.d(t,"__createBinding",(function(){return f})),r.d(t,"__exportStar",(function(){return c})),r.d(t,"__values",(function(){return g})),r.d(t,"__read",(function(){return m})),r.d(t,"__spread",(function(){return h})),r.d(t,"__spreadArrays",(function(){return v})),r.d(t,"__await",(function(){return _})),r.d(t,"__asyncGenerator",(function(){return y})),r.d(t,"__asyncDelegator",(function(){return b})),r.d(t,"__asyncValues",(function(){return O})),r.d(t,"__makeTemplateObject",(function(){return I})),r.d(t,"__importStar",(function(){return x})),r.d(t,"__importDefault",(function(){return k})),r.d(t,"__classPrivateFieldGet",(function(){return E})),r.d(t,"__classPrivateFieldSet",(function(){return S}));
6
6
  /*! *****************************************************************************
7
7
  Copyright (c) Microsoft Corporation.
8
8
 
@@ -17,4 +17,4 @@ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
17
17
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
18
18
  PERFORMANCE OF THIS SOFTWARE.
19
19
  ***************************************************************************** */
20
- var n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)};function o(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}var i=function(){return(i=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};function a(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(n=Object.getOwnPropertySymbols(e);o<n.length;o++)t.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]])}return r}function l(e,t,r,n){var o,i=arguments.length,a=i<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,n);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(a=(i<3?o(a):i>3?o(t,r,a):o(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a}function s(e,t){return function(r,n){t(r,n,e)}}function u(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function d(e,t,r,n){return new(r||(r=Promise))((function(o,i){function a(e){try{s(n.next(e))}catch(e){i(e)}}function l(e){try{s(n.throw(e))}catch(e){i(e)}}function s(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,l)}s((n=n.apply(e,t||[])).next())}))}function p(e,t){var r,n,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function l(i){return function(l){return function(i){if(r)throw new TypeError("Generator is already executing.");for(;a;)try{if(r=1,n&&(o=2&i[0]?n.return:i[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,i[1])).done)return o;switch(n=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,n=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(6===i[0]&&a.label<o[1]){a.label=o[1],o=i;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(i);break}o[2]&&a.ops.pop(),a.trys.pop();continue}i=t.call(e,a)}catch(e){i=[6,e],n=0}finally{r=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,l])}}}function f(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}function c(e,t){for(var r in e)"default"===r||t.hasOwnProperty(r)||(t[r]=e[r])}function g(e){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function m(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,o,i=r.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a}function v(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(m(arguments[t]));return e}function h(){for(var e=0,t=0,r=arguments.length;t<r;t++)e+=arguments[t].length;var n=Array(e),o=0;for(t=0;t<r;t++)for(var i=arguments[t],a=0,l=i.length;a<l;a++,o++)n[o]=i[a];return n}function _(e){return this instanceof _?(this.v=e,this):new _(e)}function y(e,t,r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n,o=r.apply(e,t||[]),i=[];return n={},a("next"),a("throw"),a("return"),n[Symbol.asyncIterator]=function(){return this},n;function a(e){o[e]&&(n[e]=function(t){return new Promise((function(r,n){i.push([e,t,r,n])>1||l(e,t)}))})}function l(e,t){try{(r=o[e](t)).value instanceof _?Promise.resolve(r.value.v).then(s,u):d(i[0][2],r)}catch(e){d(i[0][3],e)}var r}function s(e){l("next",e)}function u(e){l("throw",e)}function d(e,t){e(t),i.shift(),i.length&&l(i[0][0],i[0][1])}}function b(e){var t,r;return t={},n("next"),n("throw",(function(e){throw e})),n("return"),t[Symbol.iterator]=function(){return this},t;function n(n,o){t[n]=e[n]?function(t){return(r=!r)?{value:_(e[n](t)),done:"return"===n}:o?o(t):t}:o}}function O(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,r=e[Symbol.asyncIterator];return r?r.call(e):(e=g(e),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(r){t[r]=e[r]&&function(t){return new Promise((function(n,o){(function(e,t,r,n){Promise.resolve(n).then((function(t){e({value:t,done:r})}),t)})(n,o,(t=e[r](t)).done,t.value)}))}}}function I(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}function x(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}function k(e){return e&&e.__esModule?e:{default:e}}function E(e,t){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return t.get(e)}function S(e,t,r){if(!t.has(e))throw new TypeError("attempted to set private field on non-instance");return t.set(e,r),r}},function(e,r){e.exports=t},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(1),o=r(0),i=function(){function e(){this.value={filters:[],logic:"or"},this.filters=[],this.isEditorDisabled=!1}return e.prototype.addFilterGroup=function(e){e.filters.push({logic:"or",filters:[]})},e.prototype.addFilterExpression=function(e){e.filters.push({operator:"eq",value:null,field:null})},e.prototype.remove=function(e,t,r){var n=this;if(r||(r=this.value),e!==r){var o=r.filters.indexOf(e);o>=0&&o===t?r.filters=r.filters.filter((function(t){return t!==e})):r.filters.forEach((function(r){return r.filters&&n.remove(e,t,r)}))}else r.filters=[]},e=n.__decorate([o.Injectable()],e)}();t.FilterService=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.nullOperators=["isnull","isnotnull","isempty","isnotempty"],t.numericOperators=[{text:"Is equal to",value:"eq"},{text:"Not equal to",value:"neq"},{text:"Greater than or equal to",value:"gte"},{text:"Greater than",value:"gt"},{text:"Less than or equal to",value:"lte"},{text:"Less than",value:"lt"},{text:"Is null",value:"isnull"},{text:"Is not null",value:"isnotnull"}],t.stringOperators=[{text:"Is equal to",value:"eq"},{text:"Not equal to",value:"neq"},{text:"Contains",value:"contains"},{text:"Does not contain",value:"doesnotcontain"},{text:"Starts with",value:"startswith"},{text:"Ends with",value:"endswith"},{text:"Is null",value:"isnull"},{text:"Is not null",value:"isnotnull"},{text:"Is empty",value:"isempty"},{text:"Is not empty",value:"isnotempty"}],t.booleanOperators=[{text:"Is equal to",value:"eq"},{text:"Is not equal to",value:"neq"}],t.dateOperators=[{text:"Is equal to",value:"eq"},{text:"Not equal to",value:"neq"},{text:"Greater than or equal to",value:"gte"},{text:"Greater than",value:"gt"},{text:"Less than or equal to",value:"lte"},{text:"Less than",value:"lt"},{text:"Is null",value:"isnull"},{text:"Is not null",value:"isnotnull"}],t.isArray=function(e){return Array.isArray(e)},t.getKeyByValue=function(e,t){return Object.keys(e).find((function(r){return e[r]===t}))},t.defaultStringOperators={filterEqOperator:"eq",filterNotEqOperator:"neq",filterContainsOperator:"contains",filterNotContainsOperator:"doesnotcontain",filterStartsWithOperator:"startswith",filterEndsWithOperator:"endswith",filterIsNullOperator:"isnull",filterIsNotNullOperator:"isnotnull",filterIsEmptyOperator:"isempty",filterIsNotEmptyOperator:"isnotempty"},t.defaultNumericOperators={filterEqOperator:"eq",filterNotEqOperator:"neq",filterGteOperator:"gte",filterGtOperator:"gt",filterLteOperator:"lte",filterLtOperator:"lt",filterIsNullOperator:"isnull",filterIsNotNullOperator:"isnotnull"},t.defaultDateOperators={filterEqOperator:"eq",filterNotEqOperator:"neq",filterAfterOrEqualOperator:"gte",filterAfterOperator:"gt",filterBeforeOrEqualOperator:"lte",filterBeforeOperator:"lt",filterIsNullOperator:"isnull",filterIsNotNullOperator:"isnotnull"},t.defaultOperators={string:t.defaultStringOperators,number:t.defaultNumericOperators,date:t.defaultDateOperators},t.logicOperators={filterAndLogic:"and",filterOrLogic:"or"},t.isFilterEditor=function(e){return["string","number","boolean","date"].indexOf(e)>=0},t.localizeOperators=function(e){return function(t){return Object.keys(e).map((function(r){return{text:t.get(r),value:e[r]}}))}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(1),o=r(0),i=r(2),a=r(3),l=r(4),s=r(0),u=r(8),d=r(9),p=function(){function e(e,t,r){this.filterService=e,this.localization=t,this.cdr=r,this.valueChange=new o.EventEmitter,u.validatePackage(d.packageMetadata),this.direction=t.rtl?"rtl":"ltr"}return Object.defineProperty(e.prototype,"filters",{get:function(){return this.filterService.filters},set:function(e){if(o.isDevMode()&&(!l.isArray(e)||0===e.length))throw new Error("Pass at least one user-defined filter through the [filters] input property. See http://www.telerik.com/kendo-angular-ui/components/filter/#data-binding");this.filterService.filters=e.map((function(e){var t=Object.assign({},e);return t.title||(t.title=t.field),t}))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"value",{get:function(){return this.filterService.value},set:function(e){var t=JSON.parse(JSON.stringify(e));this.normalizeValue(t),this.filterService.value=t},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){var e=this;if(0===this.filters.length)throw new Error("Pass at least one user-defined filter through the [filters] input property. See http://www.telerik.com/kendo-angular-ui/components/filter/#data-binding");this.localizationSubscription=this.localization.changes.subscribe((function(t){var r=t.rtl;e.direction=r?"rtl":"ltr",e.cdr.detectChanges()}))},e.prototype.ngOnDestroy=function(){this.localizationSubscription&&this.localizationSubscription.unsubscribe()},e.prototype.getCurrentFilter=function(){return this.value},e.prototype.getCurrentFilterChildren=function(){return this.value.filters},e.prototype.onValueChange=function(){this.valueChange.emit(this.filterService.value)},e.prototype.normalizeFilter=function(e){var t=this.filterService.filters.find((function(t){return t.field===e.field}));if(o.isDevMode()&&!t)throw new Error("There is no user-defined filter with '"+e.field+"' field provided through the [filters] input property.");o.isDevMode()&&"boolean"===t.editor&&!e.value&&!1!==e.value&&console.warn("Provide a value for the boolean '"+e.field+"' user-defined filter as the operator is always set to 'eq'."),"boolean"===t.editor&&(e.operator="eq"),"date"===t.editor&&e.value&&(e.value=new Date(e.value)),e.value||!1===e.value||(e.value=null)},e.prototype.normalizeValue=function(e){var t=this;e.filters.forEach((function(e){e.filters?t.normalizeValue(e):t.normalizeFilter(e)}))},n.__decorate([o.HostBinding("attr.dir"),n.__metadata("design:type",String)],e.prototype,"direction",void 0),n.__decorate([o.Input(),n.__metadata("design:type",Array),n.__metadata("design:paramtypes",[Array])],e.prototype,"filters",null),n.__decorate([o.Input(),n.__metadata("design:type",Object),n.__metadata("design:paramtypes",[Object])],e.prototype,"value",null),n.__decorate([o.Output(),n.__metadata("design:type",o.EventEmitter)],e.prototype,"valueChange",void 0),e=n.__decorate([o.Component({selector:"kendo-filter",template:'\n <ng-container kendoFilterLocalizedMessages\n i18n-editorDateTodayText="kendo.filter.editorDateTodayText|The text of the Today button of the Date editor"\n editorDateTodayText="Today"\n\n i18n-editorDateToggleText="kendo.filter.editorDateToggleText|The title of the Toggle button of the Date editor."\n editorDateToggleText="Toggle calendar"\n\n i18n-editorNumericDecrement="kendo.filter.editorNumericDecrement|The title of the Decrement button of the Numeric editor"\n editorNumericDecrement="Decrement"\n\n i18n-editorNumericIncrement="kendo.filter.editorNumericIncrement|The title of the Increment button of the Numeric editor"\n editorNumericIncrement="Increment"\n\n i18n-filterExpressionOperators="kendo.filter.filterExpressionOperators|The text of the Filter Expression Operators drop down"\n filterExpressionOperators="Operators"\n\n i18n-filterExpressionFilters="kendo.filter.filterExpressionFilters|The text of the Filter Expression filters drop down"\n filterExpressionFilters="Fields"\n\n i18n-remove="kendo.filter.remove|The text of the Remove button"\n remove="Remove"\n\n i18n-addFilter="kendo.filter.addFilter|The text of the Add Filter button"\n addFilter="Add Filter"\n\n i18n-addGroup="kendo.filter.addGroup|The text of the Add Group button"\n addGroup="Add Group"\n\n i18n-filterAndLogic="kendo.filter.filterAndLogic|The text of the And filter logic"\n filterAndLogic="And"\n\n i18n-filterOrLogic="kendo.filter.filterOrLogic|The text of the Or filter logic"\n filterOrLogic="Or"\n\n i18n-filterEqOperator="kendo.filter.filterEqOperator|The text of the equal filter operator"\n filterEqOperator="Is equal to"\n\n i18n-filterNotEqOperator="kendo.filter.filterNotEqOperator|The text of the not equal filter operator"\n filterNotEqOperator="Is not equal to"\n\n i18n-filterIsNullOperator="kendo.filter.filterIsNullOperator|The text of the is null filter operator"\n filterIsNullOperator="Is null"\n\n i18n-filterIsNotNullOperator="kendo.filter.filterIsNotNullOperator|The text of the is not null filter operator"\n filterIsNotNullOperator="Is not null"\n\n i18n-filterIsEmptyOperator="kendo.filter.filterIsEmptyOperator|The text of the is empty filter operator"\n filterIsEmptyOperator="Is empty"\n\n i18n-filterIsNotEmptyOperator="kendo.filter.filterIsNotEmptyOperator|The text of the is not empty filter operator"\n filterIsNotEmptyOperator="Is not empty"\n\n i18n-filterStartsWithOperator="kendo.filter.filterStartsWithOperator|The text of the starts with filter operator"\n filterStartsWithOperator="Starts with"\n\n i18n-filterContainsOperator="kendo.filter.filterContainsOperator|The text of the contains filter operator"\n filterContainsOperator="Contains"\n\n i18n-filterNotContainsOperator="kendo.filter.filterNotContainsOperator|The text of the does not contain filter operator"\n filterNotContainsOperator="Does not contain"\n\n i18n-filterEndsWithOperator="kendo.filter.filterEndsWithOperator|The text of the ends with filter operator"\n filterEndsWithOperator="Ends with"\n\n i18n-filterGteOperator="kendo.filter.filterGteOperator|The text of the greater than or equal filter operator"\n filterGteOperator="Is greater than or equal to"\n\n i18n-filterGtOperator="kendo.filter.filterGtOperator|The text of the greater than filter operator"\n filterGtOperator="Is greater than"\n\n i18n-filterLteOperator="kendo.filter.filterLteOperator|The text of the less than or equal filter operator"\n filterLteOperator="Is less than or equal to"\n\n i18n-filterLtOperator="kendo.filter.filterLtOperator|The text of the less than filter operator"\n filterLtOperator="Is less than"\n\n i18n-filterIsTrue="kendo.filter.filterIsTrue|The text of the IsTrue boolean filter option"\n filterIsTrue="Is True"\n\n i18n-filterIsFalse="kendo.filter.filterIsFalse|The text of the IsFalse boolean filter option"\n filterIsFalse="Is False"\n\n i18n-filterBooleanAll="kendo.filter.filterBooleanAll|The text of the (All) boolean filter option"\n filterBooleanAll="(All)"\n\n i18n-filterAfterOrEqualOperator="kendo.filter.filterAfterOrEqualOperator|The text of the after or equal date filter operator"\n filterAfterOrEqualOperator="Is after or equal to"\n\n i18n-filterAfterOperator="kendo.filter.filterAfterOperator|The text of the after date filter operator"\n filterAfterOperator="Is after"\n\n i18n-filterBeforeOperator="kendo.filter.filterBeforeOperator|The text of the before date filter operator"\n filterBeforeOperator="Is before"\n\n i18n-filterBeforeOrEqualOperator="kendo.filter.filterBeforeOrEqualOperator|The text of the before or equal date filter operator"\n filterBeforeOrEqualOperator="Is before or equal to"\n\n i18n-filterFieldAriaLabel="kendo.filter.filterFieldAriaLabel|The text of the filter field aria label"\n filterFieldAriaLabel="field"\n\n i18n-filterOperatorAriaLabel="kendo.filter.filterOperatorAriaLabel|The text of the filter operator aria label"\n filterOperatorAriaLabel="operator"\n\n i18n-filterValueAriaLabel="kendo.filter.filterValueAriaLabel|The text of the filter value aria label"\n filterValueAriaLabel="value"\n\n i18n-filterAriaLabel="kendo.filter.filterAriaLabel|The text of the filter row aria label"\n filterAriaLabel="filter"\n\n i18n-filterToolbarAriaLabel="kendo.filter.filterToolbarAriaLabel|The text of the filter toolbar aria label"\n filterToolbarAriaLabel="filter settings"\n >\n </ng-container>\n <div class="k-widget k-filter" [attr.dir]="direction">\n <ul class=\'k-filter-container\'>\n <li class=\'k-filter-group-main\'>\n <kendo-filter-group\n [currentItem]="getCurrentFilter()"\n (valueChange)="onValueChange()"\n >\n </kendo-filter-group>\n </li>\n </ul>\n </div>\n'}),n.__metadata("design:paramtypes",[a.FilterService,i.LocalizationService,s.ChangeDetectorRef])],e)}();t.FilterComponent=p},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(1),o=r(0),i=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return n.__extends(t,e),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"filterExpressionOperators",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"filterExpressionFilters",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"remove",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"addGroup",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"addFilter",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"filterAndLogic",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"filterOrLogic",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"filterEqOperator",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"filterNotEqOperator",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"filterIsNullOperator",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"filterIsNotNullOperator",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"filterIsEmptyOperator",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"filterIsNotEmptyOperator",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"filterStartsWithOperator",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"filterContainsOperator",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"filterNotContainsOperator",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"filterEndsWithOperator",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"filterGteOperator",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"filterGtOperator",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"filterLteOperator",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"filterLtOperator",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"filterIsTrue",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"filterIsFalse",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"filterBooleanAll",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"filterAfterOrEqualOperator",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"filterAfterOperator",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"filterBeforeOperator",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"filterBeforeOrEqualOperator",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"editorNumericDecrement",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"editorNumericIncrement",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"editorDateTodayText",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"editorDateToggleText",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"filterFieldAriaLabel",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"filterOperatorAriaLabel",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"filterValueAriaLabel",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"filterAriaLabel",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"filterToolbarAriaLabel",void 0),t}(r(2).ComponentMessages);t.Messages=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(5);t.FilterComponent=n.FilterComponent;var o=r(10);t.FilterModule=o.FilterModule},function(e,t){e.exports=r},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.packageMetadata={name:"@progress/kendo-angular-filter",productName:"Kendo UI for Angular",productCodes:["KENDOUIANGULAR","KENDOUICOMPLETE"],publishDate:1645797407,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning"}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(1),o=r(0),i=r(2),a=r(11),l=r(12),s=r(13),u=r(14),d=r(15),p=r(16),f=r(17),c=r(18),g=r(5),m=r(19),v=r(20),h=r(21),_=function(){function e(){}return e=n.__decorate([o.NgModule({imports:[h.SharedModule],declarations:[g.FilterComponent,u.FilterNumericEditorComponent,d.FilterTextEditorComponent,f.FilterExpressionComponent,c.FilterGroupComponent,p.FilterExpressionOperatorsComponent,l.FilterBooleanEditorComponent,s.FilterDateEditorComponent,v.LocalizedMessagesDirective,m.CustomMessagesComponent,a.AriaLabelValueDirective],exports:[g.FilterComponent,u.FilterNumericEditorComponent,d.FilterTextEditorComponent,f.FilterExpressionComponent,c.FilterGroupComponent,p.FilterExpressionOperatorsComponent,l.FilterBooleanEditorComponent,s.FilterDateEditorComponent,v.LocalizedMessagesDirective,m.CustomMessagesComponent,a.AriaLabelValueDirective],providers:[i.LocalizationService,{provide:i.L10N_PREFIX,useValue:"kendo.filter"}]})],e)}();t.FilterModule=_},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(1),o=r(0),i=function(){function e(e,t){this.hostElement=e,this.renderer=t}return e.prototype.ngOnChanges=function(){var e=this.hostElement.nativeElement.querySelector("input")||this.hostElement.nativeElement;this.renderer.setAttribute(e,"aria-label",this.ariaLabel)},n.__decorate([o.Input("kendoAriaLabelValue"),n.__metadata("design:type",String)],e.prototype,"ariaLabel",void 0),e=n.__decorate([o.Directive({selector:"[kendoAriaLabelValue]"}),n.__metadata("design:paramtypes",[o.ElementRef,o.Renderer2])],e)}();t.AriaLabelValueDirective=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(1),o=r(0),i=r(2),a=function(){function e(e,t){this.localization=e,this.cdr=t,this.valueChange=new o.EventEmitter,this.items=this.getValueItems(),this.defaultItem=this.getDefaultItem()}return e.prototype.ngOnInit=function(){var e=this;this.localizationSubscription=this.localization.changes.subscribe((function(){e.defaultItem=e.getDefaultItem(),e.items=e.getValueItems(),e.cdr.detectChanges()}))},e.prototype.getDefaultItem=function(){return{text:this.localization.get("filterBooleanAll"),value:null}},e.prototype.getValueItems=function(){return[{text:this.localization.get("filterIsTrue"),value:!0},{text:this.localization.get("filterIsFalse"),value:!1}]},e.prototype.ngOnDestroy=function(){this.localizationSubscription&&this.localizationSubscription.unsubscribe()},e.prototype.messageFor=function(e){return this.localization.get(e)},n.__decorate([o.Input(),n.__metadata("design:type",Object)],e.prototype,"currentItem",void 0),n.__decorate([o.Output(),n.__metadata("design:type",o.EventEmitter)],e.prototype,"valueChange",void 0),e=n.__decorate([o.Component({selector:"kendo-filter-boolean-editor",template:'\n <kendo-dropdownlist\n [kendoAriaLabelValue]="messageFor(\'filterValueAriaLabel\')"\n class="k-filter-toolbar-item k-filter-value"\n [(value)]="currentItem.value"\n (valueChange)="valueChange.emit()"\n [data]="items"\n [defaultItem]="defaultItem"\n [valuePrimitive]="true"\n textField="text"\n valueField="value"\n >\n </kendo-dropdownlist>\n '}),n.__metadata("design:paramtypes",[i.LocalizationService,o.ChangeDetectorRef])],e)}();t.FilterBooleanEditorComponent=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(1),o=r(0),i=r(2),a=r(3),l=function(){function e(e,t){this.localization=e,this.filterService=t,this.valueChange=new o.EventEmitter}return e.prototype.messageFor=function(e){return this.localization.get(e)},e.prototype.isDisabled=function(){var e=this.filterService.isEditorDisabled;return e&&(this.currentItem.value=null),e},n.__decorate([o.Input(),n.__metadata("design:type",Object)],e.prototype,"currentItem",void 0),n.__decorate([o.Output(),n.__metadata("design:type",o.EventEmitter)],e.prototype,"valueChange",void 0),e=n.__decorate([o.Component({selector:"kendo-filter-date-editor",template:'\n <kendo-datepicker\n [kendoAriaLabelValue]="messageFor(\'filterValueAriaLabel\')"\n class="k-filter-toolbar-item k-filter-value"\n [(value)]="currentItem.value"\n (valueChange)="valueChange.emit()"\n [disabled]="isDisabled()">\n <kendo-datepicker-messages\n [toggle]="messageFor(\'editorDateToggleText\')"\n [today]="messageFor(\'editorDateTodayText\')">\n </kendo-datepicker-messages>\n </kendo-datepicker>\n '}),n.__metadata("design:paramtypes",[i.LocalizationService,a.FilterService])],e)}();t.FilterDateEditorComponent=l},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(1),o=r(0),i=r(2),a=r(3),l=function(){function e(e,t){this.localization=e,this.filterService=t,this.valueChange=new o.EventEmitter}return e.prototype.messageFor=function(e){return this.localization.get(e)},e.prototype.isDisabled=function(){var e=this.filterService.isEditorDisabled;return e&&(this.currentItem.value=null),e},n.__decorate([o.Input(),n.__metadata("design:type",Object)],e.prototype,"currentItem",void 0),n.__decorate([o.Output(),n.__metadata("design:type",o.EventEmitter)],e.prototype,"valueChange",void 0),e=n.__decorate([o.Component({selector:"kendo-filter-numeric-editor",template:'\n <kendo-numerictextbox\n [kendoAriaLabelValue]="messageFor(\'filterValueAriaLabel\')"\n class="k-filter-toolbar-item k-filter-value"\n [(value)]="currentItem.value"\n (valueChange)="valueChange.emit()"\n [disabled]="isDisabled()">\n <kendo-numerictextbox-messages\n [increment]="messageFor(\'editorNumericIncrement\')"\n [decrement]="messageFor(\'editorNumericDecrement\')">\n </kendo-numerictextbox-messages>\n </kendo-numerictextbox>\n '}),n.__metadata("design:paramtypes",[i.LocalizationService,a.FilterService])],e)}();t.FilterNumericEditorComponent=l},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(1),o=r(0),i=r(2),a=r(3),l=function(){function e(e,t){this.localization=e,this.filterService=t,this.valueChange=new o.EventEmitter}return e.prototype.isDisabled=function(){var e=this.filterService.isEditorDisabled;return e&&(this.currentItem.value=null),e},e.prototype.messageFor=function(e){return this.localization.get(e)},n.__decorate([o.Input(),n.__metadata("design:type",Object)],e.prototype,"currentItem",void 0),n.__decorate([o.Output(),n.__metadata("design:type",o.EventEmitter)],e.prototype,"valueChange",void 0),e=n.__decorate([o.Component({selector:"kendo-filter-text-editor",template:'\n <kendo-textbox\n [kendoAriaLabelValue]="messageFor(\'filterValueAriaLabel\')"\n class="k-filter-toolbar-item k-filter-value"\n [(value)]="currentItem.value"\n (valueChange)="valueChange.emit()"\n [disabled]="isDisabled()">\n </kendo-textbox>\n '}),n.__metadata("design:paramtypes",[i.LocalizationService,a.FilterService])],e)}();t.FilterTextEditorComponent=l},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(1),o=r(0),i=r(2),a=r(3),l=r(4),s=function(){function e(e,t){this.filterService=e,this.localization=t,this.valueChange=new o.EventEmitter,this.operators=[]}return e.prototype.messageFor=function(e){return this.localization.get(e)},e.prototype.operatorValueChange=function(e){this.valueChange.emit(),this.filterService.isEditorDisabled=l.nullOperators.indexOf(e)>=0},n.__decorate([o.Input(),n.__metadata("design:type",Object)],e.prototype,"currentItem",void 0),n.__decorate([o.Output(),n.__metadata("design:type",o.EventEmitter)],e.prototype,"valueChange",void 0),n.__decorate([o.Input(),n.__metadata("design:type",Array)],e.prototype,"operators",void 0),e=n.__decorate([o.Component({selector:"kendo-filter-expression-operators",template:'\n <kendo-dropdownlist\n [kendoAriaLabelValue]="messageFor(\'filterOperatorAriaLabel\')"\n [data]="operators"\n [title]="messageFor(\'filterExpressionOperators\')"\n [(value)]="currentItem.operator"\n (valueChange)="operatorValueChange($event)"\n [valuePrimitive]="true"\n textField="text"\n valueField="value"\n >\n </kendo-dropdownlist>\n '}),n.__metadata("design:paramtypes",[a.FilterService,i.LocalizationService])],e)}();t.FilterExpressionOperatorsComponent=s},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(1),o=r(0),i=r(2),a=r(3),l=r(4),s=function(){function e(e,t,r){this.filterService=e,this.localization=t,this.cdr=r,this.valueChange=new o.EventEmitter,this.operators=[],this.filters=[],this.isBoolean=!1,this.isEditorDisabled=!1}return e.prototype.ngOnInit=function(){var e=this;this.filters=this.filterService.filters;var t=this.getFilterExpressionByField(this.currentItem.field);this.currentItem.field&&this.setOperators(t);var r=this.getFilterExpressionByField(this.filterService.filters[0].field);this.currentItem.field||(this.currentItem.field=this.filterService.filters[0].field,this.setOperators(r)),this.localizationSubscription=this.localization.changes.subscribe((function(){e.setOperators(t||r),e.cdr.detectChanges()}))},e.prototype.ngOnDestroy=function(){this.localizationSubscription&&this.localizationSubscription.unsubscribe()},e.prototype.normalizeOperators=function(e,t){for(var r=[],n=0;n<t.length;n++)l.isFilterEditor(e)&&r.push({value:t[n],text:this.localization.get(l.getKeyByValue(l.defaultOperators[e],t[n]))});return r},e.prototype.messageFor=function(e){return this.localization.get(e)},e.prototype.getFilterExpressionByField=function(e){var t=this.filterService.filters.find((function(t){return t.field===e}));return t||null},e.prototype.filterValueChange=function(e){this.currentItem.value=null,this.currentItem.field=e;var t=this.getFilterExpressionByField(this.currentItem.field);this.setOperators(t),this.valueChange.emit()},e.prototype.getDefaultOperators=function(e){switch(e){case"string":return l.localizeOperators(l.defaultStringOperators)(this.localization);case"number":return l.localizeOperators(l.defaultNumericOperators)(this.localization);case"date":return l.localizeOperators(l.defaultDateOperators)(this.localization)}},e.prototype.getEditorType=function(){var e=this;return this.filterService.filters.find((function(t){return t.field===e.currentItem.field})).editor},e.prototype.removeFilterExpression=function(){this.filterService.remove(this.currentItem,this.index),this.valueChange.emit()},e.prototype.setOperators=function(e){if(this.isBoolean="boolean"===e.editor,!this.isBoolean)if(e.operators){var t=this.normalizeOperators(e.editor,e.operators);this.operators=t,this.currentItem.operator=t[0].value}else this.operators=this.getDefaultOperators(e.editor),this.currentItem.operator=this.operators[0].value},n.__decorate([o.Input(),n.__metadata("design:type",Number)],e.prototype,"index",void 0),n.__decorate([o.Input(),n.__metadata("design:type",Object)],e.prototype,"currentItem",void 0),n.__decorate([o.Output(),n.__metadata("design:type",o.EventEmitter)],e.prototype,"valueChange",void 0),e=n.__decorate([o.Component({selector:"kendo-filter-expression",template:'\n <div class="k-filter-toolbar" role="group" [attr.aria-label]="messageFor(\'filterAriaLabel\')">\n <div class="k-toolbar">\n <div class="k-filter-toolbar-item k-filter-field">\n <kendo-dropdownlist\n [kendoAriaLabelValue]="messageFor(\'filterFieldAriaLabel\')"\n [title]="messageFor(\'filterExpressionFilters\')"\n [data]="filters"\n textField="title"\n valueField="field"\n [value]="currentItem.field"\n [valuePrimitive]="true"\n (valueChange)="filterValueChange($event)">\n </kendo-dropdownlist>\n </div>\n <div *ngIf="!isBoolean" class="k-filter-toolbar-item k-filter-operator">\n <kendo-filter-expression-operators\n [currentItem]="currentItem"\n [operators]="operators"\n (valueChange)="valueChange.emit();">\n </kendo-filter-expression-operators>\n </div>\n\n <ng-container [ngSwitch]="getEditorType()">\n <kendo-filter-text-editor *ngSwitchCase="\'string\'" [currentItem]="currentItem" (valueChange)="valueChange.emit()"></kendo-filter-text-editor>\n <kendo-filter-numeric-editor *ngSwitchCase="\'number\'" [currentItem]="currentItem" (valueChange)="valueChange.emit()"></kendo-filter-numeric-editor>\n <kendo-filter-boolean-editor *ngSwitchCase="\'boolean\'" [currentItem]="currentItem" (valueChange)="valueChange.emit()"></kendo-filter-boolean-editor>\n <kendo-filter-date-editor *ngSwitchCase="\'date\'" [currentItem]="currentItem" (valueChange)="valueChange.emit()"></kendo-filter-date-editor>\n </ng-container>\n\n <div class="k-filter-toolbar-item">\n <button\n kendoButton\n icon="close"\n fillMode="flat"\n [title]="messageFor(\'remove\')"\n (click)="removeFilterExpression()">\n </button>\n </div>\n </div>\n </div>\n '}),n.__metadata("design:paramtypes",[a.FilterService,i.LocalizationService,o.ChangeDetectorRef])],e)}();t.FilterExpressionComponent=s},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(1),o=r(0),i=r(2),a=r(3),l=r(4),s=function(){function e(e,t,r){this.filterService=e,this.localization=t,this.cdr=r,this.index=0,this.currentItem={logic:"or",filters:[]},this.valueChange=new o.EventEmitter,this.operators=[]}return e.prototype.ngOnInit=function(){var e=this;this.operators=this.getLogicOperators(),this.localizationSubscription=this.localization.changes.subscribe((function(){e.operators=e.getLogicOperators(),e.cdr.detectChanges()}))},e.prototype.ngOnDestroy=function(){this.localizationSubscription&&this.localizationSubscription.unsubscribe()},e.prototype.getLogicOperators=function(){return l.localizeOperators(l.logicOperators)(this.localization)},e.prototype.messageFor=function(e){return this.localization.get(e)},e.prototype.selectedChange=function(e){this.currentItem.logic!==e&&(this.currentItem.logic=e,this.valueChange.emit())},e.prototype.addFilterExpression=function(){this.filterService.addFilterExpression(this.currentItem),this.valueChange.emit()},e.prototype.addFilterGroup=function(){this.filterService.addFilterGroup(this.currentItem),this.valueChange.emit()},e.prototype.removeFilterGroup=function(){this.filterService.remove(this.currentItem,this.index),this.valueChange.emit()},n.__decorate([o.Input(),n.__metadata("design:type",Number)],e.prototype,"index",void 0),n.__decorate([o.Input(),n.__metadata("design:type",Object)],e.prototype,"currentItem",void 0),n.__decorate([o.Output(),n.__metadata("design:type",o.EventEmitter)],e.prototype,"valueChange",void 0),e=n.__decorate([o.Component({selector:"kendo-filter-group",template:'\n <div class="k-filter-toolbar" role="toolbar" [attr.aria-label]="messageFor(\'filterToolbarAriaLabel\')">\n <div class="k-toolbar">\n <div class="k-filter-toolbar-item">\n <div class="k-widget k-button-group" role="group">\n <button\n *ngFor="let operator of operators"\n kendoButton\n [ngClass]="{\'k-group-start\': operator.value === \'and\', \'k-group-end\': operator.value === \'or\'}"\n [selected]="currentItem.logic === operator.value"\n [title]="operator.text"\n (click)="selectedChange(operator.value)"\n >\n {{operator.text}}\n </button>\n </div>\n </div>\n <div class="k-filter-toolbar-item">\n <button\n kendoButton\n [title]="messageFor(\'addFilter\')"\n icon="filter-add-expression"\n (click)="addFilterExpression()">\n {{messageFor(\'addFilter\')}}\n </button>\n </div>\n <div class="k-filter-toolbar-item">\n <button\n kendoButton\n [title]="messageFor(\'addGroup\')"\n icon="filter-add-group"\n (click)="addFilterGroup()">\n {{messageFor(\'addGroup\')}}\n </button>\n </div>\n <div class="k-filter-toolbar-item">\n <button\n kendoButton\n icon="close"\n fillMode="flat"\n [title]="messageFor(\'remove\')"\n (click)="removeFilterGroup()">\n </button>\n </div>\n </div>\n </div>\n\n <ul class="k-filter-lines" *ngIf="currentItem.filters">\n <ng-container *ngFor="let item of currentItem.filters; let i = index;">\n <li class="k-filter-item" *ngIf="!item.filters">\n <kendo-filter-expression (valueChange)="valueChange.emit()" [currentItem]="item" [index]="i">\n </kendo-filter-expression>\n </li>\n <li class="k-filter-item" *ngIf="item.filters" >\n <kendo-filter-group\n (valueChange)="valueChange.emit()"\n [currentItem]="item"\n [index]="i"\n >\n </kendo-filter-group>\n </li>\n </ng-container>\n </ul>\n '}),n.__metadata("design:paramtypes",[a.FilterService,i.LocalizationService,o.ChangeDetectorRef])],e)}();t.FilterGroupComponent=s},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(1),o=r(0),i=r(2),a=r(6),l=function(e){function t(t){var r=e.call(this)||this;return r.service=t,r}var r;return n.__extends(t,e),r=t,Object.defineProperty(t.prototype,"override",{get:function(){return!0},enumerable:!0,configurable:!0}),t=r=n.__decorate([o.Component({providers:[{provide:a.Messages,useExisting:o.forwardRef((function(){return r}))}],selector:"kendo-filter-messages",template:""}),n.__metadata("design:paramtypes",[i.LocalizationService])],t)}(a.Messages);t.CustomMessagesComponent=l},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(1),o=r(0),i=r(2),a=r(6),l=function(e){function t(t){var r=e.call(this)||this;return r.service=t,r}var r;return n.__extends(t,e),r=t,t=r=n.__decorate([o.Directive({providers:[{provide:a.Messages,useExisting:o.forwardRef((function(){return r}))}],selector:"[kendoFilterLocalizedMessages]"}),n.__metadata("design:paramtypes",[i.LocalizationService])],t)}(a.Messages);t.LocalizedMessagesDirective=l},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(1),o=r(22),i=r(23),a=r(24),l=r(25),s=r(0),u=r(26),d=r(3),p=r(27),f=[o.CommonModule,a.InputsModule,l.LabelModule,i.DropDownsModule,u.ButtonsModule,p.DateInputsModule],c=function(){function e(){}return e=n.__decorate([s.NgModule({imports:f.slice(),exports:f.slice(),providers:[d.FilterService]})],e)}();t.SharedModule=c},function(e,t){e.exports=n},function(e,t){e.exports=o},function(e,t){e.exports=i},function(e,t){e.exports=a},function(e,t){e.exports=l},function(e,t){e.exports=s}])}));
20
+ var n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)};function o(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}var i=function(){return(i=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};function a(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(n=Object.getOwnPropertySymbols(e);o<n.length;o++)t.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]])}return r}function l(e,t,r,n){var o,i=arguments.length,a=i<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,n);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(a=(i<3?o(a):i>3?o(t,r,a):o(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a}function s(e,t){return function(r,n){t(r,n,e)}}function u(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function d(e,t,r,n){return new(r||(r=Promise))((function(o,i){function a(e){try{s(n.next(e))}catch(e){i(e)}}function l(e){try{s(n.throw(e))}catch(e){i(e)}}function s(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,l)}s((n=n.apply(e,t||[])).next())}))}function p(e,t){var r,n,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function l(i){return function(l){return function(i){if(r)throw new TypeError("Generator is already executing.");for(;a;)try{if(r=1,n&&(o=2&i[0]?n.return:i[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,i[1])).done)return o;switch(n=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,n=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(6===i[0]&&a.label<o[1]){a.label=o[1],o=i;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(i);break}o[2]&&a.ops.pop(),a.trys.pop();continue}i=t.call(e,a)}catch(e){i=[6,e],n=0}finally{r=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,l])}}}function f(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}function c(e,t){for(var r in e)"default"===r||t.hasOwnProperty(r)||(t[r]=e[r])}function g(e){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function m(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,o,i=r.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a}function h(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(m(arguments[t]));return e}function v(){for(var e=0,t=0,r=arguments.length;t<r;t++)e+=arguments[t].length;var n=Array(e),o=0;for(t=0;t<r;t++)for(var i=arguments[t],a=0,l=i.length;a<l;a++,o++)n[o]=i[a];return n}function _(e){return this instanceof _?(this.v=e,this):new _(e)}function y(e,t,r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n,o=r.apply(e,t||[]),i=[];return n={},a("next"),a("throw"),a("return"),n[Symbol.asyncIterator]=function(){return this},n;function a(e){o[e]&&(n[e]=function(t){return new Promise((function(r,n){i.push([e,t,r,n])>1||l(e,t)}))})}function l(e,t){try{(r=o[e](t)).value instanceof _?Promise.resolve(r.value.v).then(s,u):d(i[0][2],r)}catch(e){d(i[0][3],e)}var r}function s(e){l("next",e)}function u(e){l("throw",e)}function d(e,t){e(t),i.shift(),i.length&&l(i[0][0],i[0][1])}}function b(e){var t,r;return t={},n("next"),n("throw",(function(e){throw e})),n("return"),t[Symbol.iterator]=function(){return this},t;function n(n,o){t[n]=e[n]?function(t){return(r=!r)?{value:_(e[n](t)),done:"return"===n}:o?o(t):t}:o}}function O(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,r=e[Symbol.asyncIterator];return r?r.call(e):(e=g(e),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(r){t[r]=e[r]&&function(t){return new Promise((function(n,o){(function(e,t,r,n){Promise.resolve(n).then((function(t){e({value:t,done:r})}),t)})(n,o,(t=e[r](t)).done,t.value)}))}}}function I(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}function x(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}function k(e){return e&&e.__esModule?e:{default:e}}function E(e,t){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return t.get(e)}function S(e,t,r){if(!t.has(e))throw new TypeError("attempted to set private field on non-instance");return t.set(e,r),r}},function(e,r){e.exports=t},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(1),o=r(0),i=function(){function e(){this.value={filters:[],logic:"or"},this.filters=[],this.isEditorDisabled=!1}return e.prototype.addFilterGroup=function(e){e.filters.push({logic:"or",filters:[]})},e.prototype.addFilterExpression=function(e){e.filters.push({operator:"eq",value:null,field:null})},e.prototype.remove=function(e,t,r){var n=this;if(r||(r=this.value),e!==r){var o=r.filters.indexOf(e);o>=0&&o===t?r.filters=r.filters.filter((function(t){return t!==e})):r.filters.forEach((function(r){return r.filters&&n.remove(e,t,r)}))}else r.filters=[]},e=n.__decorate([o.Injectable()],e)}();t.FilterService=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.nullOperators=["isnull","isnotnull","isempty","isnotempty"],t.numericOperators=[{text:"Is equal to",value:"eq"},{text:"Not equal to",value:"neq"},{text:"Greater than or equal to",value:"gte"},{text:"Greater than",value:"gt"},{text:"Less than or equal to",value:"lte"},{text:"Less than",value:"lt"},{text:"Is null",value:"isnull"},{text:"Is not null",value:"isnotnull"}],t.stringOperators=[{text:"Is equal to",value:"eq"},{text:"Not equal to",value:"neq"},{text:"Contains",value:"contains"},{text:"Does not contain",value:"doesnotcontain"},{text:"Starts with",value:"startswith"},{text:"Ends with",value:"endswith"},{text:"Is null",value:"isnull"},{text:"Is not null",value:"isnotnull"},{text:"Is empty",value:"isempty"},{text:"Is not empty",value:"isnotempty"}],t.booleanOperators=[{text:"Is equal to",value:"eq"},{text:"Is not equal to",value:"neq"}],t.dateOperators=[{text:"Is equal to",value:"eq"},{text:"Not equal to",value:"neq"},{text:"Greater than or equal to",value:"gte"},{text:"Greater than",value:"gt"},{text:"Less than or equal to",value:"lte"},{text:"Less than",value:"lt"},{text:"Is null",value:"isnull"},{text:"Is not null",value:"isnotnull"}],t.isArray=function(e){return Array.isArray(e)},t.getKeyByValue=function(e,t){return Object.keys(e).find((function(r){return e[r]===t}))},t.defaultStringOperators={filterEqOperator:"eq",filterNotEqOperator:"neq",filterContainsOperator:"contains",filterNotContainsOperator:"doesnotcontain",filterStartsWithOperator:"startswith",filterEndsWithOperator:"endswith",filterIsNullOperator:"isnull",filterIsNotNullOperator:"isnotnull",filterIsEmptyOperator:"isempty",filterIsNotEmptyOperator:"isnotempty"},t.defaultNumericOperators={filterEqOperator:"eq",filterNotEqOperator:"neq",filterGteOperator:"gte",filterGtOperator:"gt",filterLteOperator:"lte",filterLtOperator:"lt",filterIsNullOperator:"isnull",filterIsNotNullOperator:"isnotnull"},t.defaultDateOperators={filterEqOperator:"eq",filterNotEqOperator:"neq",filterAfterOrEqualOperator:"gte",filterAfterOperator:"gt",filterBeforeOrEqualOperator:"lte",filterBeforeOperator:"lt",filterIsNullOperator:"isnull",filterIsNotNullOperator:"isnotnull"},t.defaultOperators={string:t.defaultStringOperators,number:t.defaultNumericOperators,date:t.defaultDateOperators},t.logicOperators={filterAndLogic:"and",filterOrLogic:"or"},t.isFilterEditor=function(e){return["string","number","boolean","date"].indexOf(e)>=0},t.localizeOperators=function(e){return function(t){return Object.keys(e).map((function(r){return{text:t.get(r),value:e[r]}}))}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(1),o=r(0),i=r(2),a=r(3),l=r(4),s=r(0),u=r(8),d=r(9),p=function(){function e(e,t,r){this.filterService=e,this.localization=t,this.cdr=r,this.valueChange=new o.EventEmitter,u.validatePackage(d.packageMetadata),this.direction=t.rtl?"rtl":"ltr"}return Object.defineProperty(e.prototype,"filters",{get:function(){return this.filterService.filters},set:function(e){if(o.isDevMode()&&(!l.isArray(e)||0===e.length))throw new Error("Pass at least one user-defined filter through the [filters] input property. See http://www.telerik.com/kendo-angular-ui/components/filter/#data-binding");this.filterService.filters=e.map((function(e){var t=Object.assign({},e);return t.title||(t.title=t.field),t}))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"value",{get:function(){return this.filterService.value},set:function(e){var t=JSON.parse(JSON.stringify(e));this.normalizeValue(t),this.filterService.value=t},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){var e=this;if(0===this.filters.length)throw new Error("Pass at least one user-defined filter through the [filters] input property. See http://www.telerik.com/kendo-angular-ui/components/filter/#data-binding");this.localizationSubscription=this.localization.changes.subscribe((function(t){var r=t.rtl;e.direction=r?"rtl":"ltr",e.cdr.detectChanges()}))},e.prototype.ngOnDestroy=function(){this.localizationSubscription&&this.localizationSubscription.unsubscribe()},e.prototype.getCurrentFilter=function(){return this.value},e.prototype.onValueChange=function(){this.valueChange.emit(this.filterService.value)},e.prototype.normalizeFilter=function(e){var t=this.filterService.filters.find((function(t){return t.field===e.field}));if(o.isDevMode()&&!t)throw new Error("There is no user-defined filter with '"+e.field+"' field provided through the [filters] input property.");if(o.isDevMode()&&"boolean"===t.editor&&!e.value&&!1!==e.value&&console.warn("Provide a value for the boolean '"+e.field+"' user-defined filter as the operator is always set to 'eq'."),e.operator&&t.operators&&!t.operators.some((function(t){return t===e.operator})))throw new Error("The user-defined filter with field '"+e.field+"' is missing the '"+e.operator+"' operator.");"boolean"===t.editor&&(e.operator="eq"),"date"===t.editor&&e.value&&(e.value=new Date(e.value)),e.value||!1===e.value||(e.value=null)},e.prototype.normalizeValue=function(e){var t=this;e.filters.forEach((function(e){e.filters?t.normalizeValue(e):t.normalizeFilter(e)}))},n.__decorate([o.HostBinding("attr.dir"),n.__metadata("design:type",String)],e.prototype,"direction",void 0),n.__decorate([o.Input(),n.__metadata("design:type",Array),n.__metadata("design:paramtypes",[Array])],e.prototype,"filters",null),n.__decorate([o.Input(),n.__metadata("design:type",Object),n.__metadata("design:paramtypes",[Object])],e.prototype,"value",null),n.__decorate([o.Output(),n.__metadata("design:type",o.EventEmitter)],e.prototype,"valueChange",void 0),e=n.__decorate([o.Component({selector:"kendo-filter",template:'\n <ng-container kendoFilterLocalizedMessages\n i18n-editorDateTodayText="kendo.filter.editorDateTodayText|The text of the Today button of the Date editor"\n editorDateTodayText="Today"\n\n i18n-editorDateToggleText="kendo.filter.editorDateToggleText|The title of the Toggle button of the Date editor."\n editorDateToggleText="Toggle calendar"\n\n i18n-editorNumericDecrement="kendo.filter.editorNumericDecrement|The title of the Decrement button of the Numeric editor"\n editorNumericDecrement="Decrement"\n\n i18n-editorNumericIncrement="kendo.filter.editorNumericIncrement|The title of the Increment button of the Numeric editor"\n editorNumericIncrement="Increment"\n\n i18n-filterExpressionOperators="kendo.filter.filterExpressionOperators|The text of the Filter Expression Operators drop down"\n filterExpressionOperators="Operators"\n\n i18n-filterExpressionFilters="kendo.filter.filterExpressionFilters|The text of the Filter Expression filters drop down"\n filterExpressionFilters="Fields"\n\n i18n-remove="kendo.filter.remove|The text of the Remove button"\n remove="Remove"\n\n i18n-addFilter="kendo.filter.addFilter|The text of the Add Filter button"\n addFilter="Add Filter"\n\n i18n-addGroup="kendo.filter.addGroup|The text of the Add Group button"\n addGroup="Add Group"\n\n i18n-filterAndLogic="kendo.filter.filterAndLogic|The text of the And filter logic"\n filterAndLogic="And"\n\n i18n-filterOrLogic="kendo.filter.filterOrLogic|The text of the Or filter logic"\n filterOrLogic="Or"\n\n i18n-filterEqOperator="kendo.filter.filterEqOperator|The text of the equal filter operator"\n filterEqOperator="Is equal to"\n\n i18n-filterNotEqOperator="kendo.filter.filterNotEqOperator|The text of the not equal filter operator"\n filterNotEqOperator="Is not equal to"\n\n i18n-filterIsNullOperator="kendo.filter.filterIsNullOperator|The text of the is null filter operator"\n filterIsNullOperator="Is null"\n\n i18n-filterIsNotNullOperator="kendo.filter.filterIsNotNullOperator|The text of the is not null filter operator"\n filterIsNotNullOperator="Is not null"\n\n i18n-filterIsEmptyOperator="kendo.filter.filterIsEmptyOperator|The text of the is empty filter operator"\n filterIsEmptyOperator="Is empty"\n\n i18n-filterIsNotEmptyOperator="kendo.filter.filterIsNotEmptyOperator|The text of the is not empty filter operator"\n filterIsNotEmptyOperator="Is not empty"\n\n i18n-filterStartsWithOperator="kendo.filter.filterStartsWithOperator|The text of the starts with filter operator"\n filterStartsWithOperator="Starts with"\n\n i18n-filterContainsOperator="kendo.filter.filterContainsOperator|The text of the contains filter operator"\n filterContainsOperator="Contains"\n\n i18n-filterNotContainsOperator="kendo.filter.filterNotContainsOperator|The text of the does not contain filter operator"\n filterNotContainsOperator="Does not contain"\n\n i18n-filterEndsWithOperator="kendo.filter.filterEndsWithOperator|The text of the ends with filter operator"\n filterEndsWithOperator="Ends with"\n\n i18n-filterGteOperator="kendo.filter.filterGteOperator|The text of the greater than or equal filter operator"\n filterGteOperator="Is greater than or equal to"\n\n i18n-filterGtOperator="kendo.filter.filterGtOperator|The text of the greater than filter operator"\n filterGtOperator="Is greater than"\n\n i18n-filterLteOperator="kendo.filter.filterLteOperator|The text of the less than or equal filter operator"\n filterLteOperator="Is less than or equal to"\n\n i18n-filterLtOperator="kendo.filter.filterLtOperator|The text of the less than filter operator"\n filterLtOperator="Is less than"\n\n i18n-filterIsTrue="kendo.filter.filterIsTrue|The text of the IsTrue boolean filter option"\n filterIsTrue="Is True"\n\n i18n-filterIsFalse="kendo.filter.filterIsFalse|The text of the IsFalse boolean filter option"\n filterIsFalse="Is False"\n\n i18n-filterBooleanAll="kendo.filter.filterBooleanAll|The text of the (All) boolean filter option"\n filterBooleanAll="(All)"\n\n i18n-filterAfterOrEqualOperator="kendo.filter.filterAfterOrEqualOperator|The text of the after or equal date filter operator"\n filterAfterOrEqualOperator="Is after or equal to"\n\n i18n-filterAfterOperator="kendo.filter.filterAfterOperator|The text of the after date filter operator"\n filterAfterOperator="Is after"\n\n i18n-filterBeforeOperator="kendo.filter.filterBeforeOperator|The text of the before date filter operator"\n filterBeforeOperator="Is before"\n\n i18n-filterBeforeOrEqualOperator="kendo.filter.filterBeforeOrEqualOperator|The text of the before or equal date filter operator"\n filterBeforeOrEqualOperator="Is before or equal to"\n\n i18n-filterFieldAriaLabel="kendo.filter.filterFieldAriaLabel|The text of the filter field aria label"\n filterFieldAriaLabel="field"\n\n i18n-filterOperatorAriaLabel="kendo.filter.filterOperatorAriaLabel|The text of the filter operator aria label"\n filterOperatorAriaLabel="operator"\n\n i18n-filterValueAriaLabel="kendo.filter.filterValueAriaLabel|The text of the filter value aria label"\n filterValueAriaLabel="value"\n\n i18n-filterAriaLabel="kendo.filter.filterAriaLabel|The text of the filter row aria label"\n filterAriaLabel="filter"\n\n i18n-filterToolbarAriaLabel="kendo.filter.filterToolbarAriaLabel|The text of the filter toolbar aria label"\n filterToolbarAriaLabel="filter settings"\n >\n </ng-container>\n <div class="k-widget k-filter" [attr.dir]="direction">\n <ul class=\'k-filter-container\'>\n <li class=\'k-filter-group-main\'>\n <kendo-filter-group\n [currentItem]="getCurrentFilter()"\n (valueChange)="onValueChange()"\n >\n </kendo-filter-group>\n </li>\n </ul>\n </div>\n'}),n.__metadata("design:paramtypes",[a.FilterService,i.LocalizationService,s.ChangeDetectorRef])],e)}();t.FilterComponent=p},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(1),o=r(0),i=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return n.__extends(t,e),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"filterExpressionOperators",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"filterExpressionFilters",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"remove",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"addGroup",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"addFilter",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"filterAndLogic",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"filterOrLogic",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"filterEqOperator",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"filterNotEqOperator",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"filterIsNullOperator",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"filterIsNotNullOperator",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"filterIsEmptyOperator",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"filterIsNotEmptyOperator",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"filterStartsWithOperator",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"filterContainsOperator",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"filterNotContainsOperator",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"filterEndsWithOperator",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"filterGteOperator",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"filterGtOperator",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"filterLteOperator",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"filterLtOperator",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"filterIsTrue",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"filterIsFalse",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"filterBooleanAll",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"filterAfterOrEqualOperator",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"filterAfterOperator",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"filterBeforeOperator",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"filterBeforeOrEqualOperator",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"editorNumericDecrement",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"editorNumericIncrement",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"editorDateTodayText",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"editorDateToggleText",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"filterFieldAriaLabel",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"filterOperatorAriaLabel",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"filterValueAriaLabel",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"filterAriaLabel",void 0),n.__decorate([o.Input(),n.__metadata("design:type",String)],t.prototype,"filterToolbarAriaLabel",void 0),t}(r(2).ComponentMessages);t.Messages=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(5);t.FilterComponent=n.FilterComponent;var o=r(10);t.FilterModule=o.FilterModule},function(e,t){e.exports=r},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.packageMetadata={name:"@progress/kendo-angular-filter",productName:"Kendo UI for Angular",productCodes:["KENDOUIANGULAR","KENDOUICOMPLETE"],publishDate:1646208424,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning"}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(1),o=r(0),i=r(2),a=r(11),l=r(12),s=r(13),u=r(14),d=r(15),p=r(16),f=r(17),c=r(18),g=r(5),m=r(19),h=r(20),v=r(21),_=function(){function e(){}return e=n.__decorate([o.NgModule({imports:[v.SharedModule],declarations:[g.FilterComponent,u.FilterNumericEditorComponent,d.FilterTextEditorComponent,f.FilterExpressionComponent,c.FilterGroupComponent,p.FilterExpressionOperatorsComponent,l.FilterBooleanEditorComponent,s.FilterDateEditorComponent,h.LocalizedMessagesDirective,m.CustomMessagesComponent,a.AriaLabelValueDirective],exports:[g.FilterComponent,u.FilterNumericEditorComponent,d.FilterTextEditorComponent,f.FilterExpressionComponent,c.FilterGroupComponent,p.FilterExpressionOperatorsComponent,l.FilterBooleanEditorComponent,s.FilterDateEditorComponent,h.LocalizedMessagesDirective,m.CustomMessagesComponent,a.AriaLabelValueDirective],providers:[i.LocalizationService,{provide:i.L10N_PREFIX,useValue:"kendo.filter"}]})],e)}();t.FilterModule=_},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(1),o=r(0),i=function(){function e(e,t){this.hostElement=e,this.renderer=t}return e.prototype.ngOnChanges=function(){var e=this.hostElement.nativeElement.querySelector("input")||this.hostElement.nativeElement;this.renderer.setAttribute(e,"aria-label",this.ariaLabel)},n.__decorate([o.Input("kendoAriaLabelValue"),n.__metadata("design:type",String)],e.prototype,"ariaLabel",void 0),e=n.__decorate([o.Directive({selector:"[kendoAriaLabelValue]"}),n.__metadata("design:paramtypes",[o.ElementRef,o.Renderer2])],e)}();t.AriaLabelValueDirective=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(1),o=r(0),i=r(2),a=function(){function e(e,t){this.localization=e,this.cdr=t,this.valueChange=new o.EventEmitter,this.items=this.getValueItems(),this.defaultItem=this.getDefaultItem()}return e.prototype.ngOnInit=function(){var e=this;this.localizationSubscription=this.localization.changes.subscribe((function(){e.defaultItem=e.getDefaultItem(),e.items=e.getValueItems(),e.cdr.detectChanges()}))},e.prototype.getDefaultItem=function(){return{text:this.localization.get("filterBooleanAll"),value:null}},e.prototype.getValueItems=function(){return[{text:this.localization.get("filterIsTrue"),value:!0},{text:this.localization.get("filterIsFalse"),value:!1}]},e.prototype.ngOnDestroy=function(){this.localizationSubscription&&this.localizationSubscription.unsubscribe()},e.prototype.messageFor=function(e){return this.localization.get(e)},n.__decorate([o.Input(),n.__metadata("design:type",Object)],e.prototype,"currentItem",void 0),n.__decorate([o.Output(),n.__metadata("design:type",o.EventEmitter)],e.prototype,"valueChange",void 0),e=n.__decorate([o.Component({selector:"kendo-filter-boolean-editor",template:'\n <kendo-dropdownlist\n [kendoAriaLabelValue]="messageFor(\'filterValueAriaLabel\')"\n class="k-filter-toolbar-item k-filter-value"\n [(value)]="currentItem.value"\n (valueChange)="valueChange.emit()"\n [data]="items"\n [defaultItem]="defaultItem"\n [valuePrimitive]="true"\n textField="text"\n valueField="value"\n >\n </kendo-dropdownlist>\n '}),n.__metadata("design:paramtypes",[i.LocalizationService,o.ChangeDetectorRef])],e)}();t.FilterBooleanEditorComponent=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(1),o=r(0),i=r(2),a=r(3),l=function(){function e(e,t){this.localization=e,this.filterService=t,this.valueChange=new o.EventEmitter}return e.prototype.messageFor=function(e){return this.localization.get(e)},e.prototype.isDisabled=function(){var e=this.filterService.isEditorDisabled;return e&&(this.currentItem.value=null),e},n.__decorate([o.Input(),n.__metadata("design:type",Object)],e.prototype,"currentItem",void 0),n.__decorate([o.Output(),n.__metadata("design:type",o.EventEmitter)],e.prototype,"valueChange",void 0),e=n.__decorate([o.Component({selector:"kendo-filter-date-editor",template:'\n <kendo-datepicker\n [kendoAriaLabelValue]="messageFor(\'filterValueAriaLabel\')"\n class="k-filter-toolbar-item k-filter-value"\n [(value)]="currentItem.value"\n (valueChange)="valueChange.emit()"\n [disabled]="isDisabled()">\n <kendo-datepicker-messages\n [toggle]="messageFor(\'editorDateToggleText\')"\n [today]="messageFor(\'editorDateTodayText\')">\n </kendo-datepicker-messages>\n </kendo-datepicker>\n '}),n.__metadata("design:paramtypes",[i.LocalizationService,a.FilterService])],e)}();t.FilterDateEditorComponent=l},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(1),o=r(0),i=r(2),a=r(3),l=function(){function e(e,t){this.localization=e,this.filterService=t,this.valueChange=new o.EventEmitter}return e.prototype.messageFor=function(e){return this.localization.get(e)},e.prototype.isDisabled=function(){var e=this.filterService.isEditorDisabled;return e&&(this.currentItem.value=null),e},n.__decorate([o.Input(),n.__metadata("design:type",Object)],e.prototype,"currentItem",void 0),n.__decorate([o.Output(),n.__metadata("design:type",o.EventEmitter)],e.prototype,"valueChange",void 0),e=n.__decorate([o.Component({selector:"kendo-filter-numeric-editor",template:'\n <kendo-numerictextbox\n [kendoAriaLabelValue]="messageFor(\'filterValueAriaLabel\')"\n class="k-filter-toolbar-item k-filter-value"\n [(value)]="currentItem.value"\n (valueChange)="valueChange.emit()"\n [disabled]="isDisabled()">\n <kendo-numerictextbox-messages\n [increment]="messageFor(\'editorNumericIncrement\')"\n [decrement]="messageFor(\'editorNumericDecrement\')">\n </kendo-numerictextbox-messages>\n </kendo-numerictextbox>\n '}),n.__metadata("design:paramtypes",[i.LocalizationService,a.FilterService])],e)}();t.FilterNumericEditorComponent=l},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(1),o=r(0),i=r(2),a=r(3),l=function(){function e(e,t){this.localization=e,this.filterService=t,this.valueChange=new o.EventEmitter}return e.prototype.isDisabled=function(){var e=this.filterService.isEditorDisabled;return e&&(this.currentItem.value=null),e},e.prototype.messageFor=function(e){return this.localization.get(e)},n.__decorate([o.Input(),n.__metadata("design:type",Object)],e.prototype,"currentItem",void 0),n.__decorate([o.Output(),n.__metadata("design:type",o.EventEmitter)],e.prototype,"valueChange",void 0),e=n.__decorate([o.Component({selector:"kendo-filter-text-editor",template:'\n <kendo-textbox\n [kendoAriaLabelValue]="messageFor(\'filterValueAriaLabel\')"\n class="k-filter-toolbar-item k-filter-value"\n [(value)]="currentItem.value"\n (valueChange)="valueChange.emit()"\n [disabled]="isDisabled()">\n </kendo-textbox>\n '}),n.__metadata("design:paramtypes",[i.LocalizationService,a.FilterService])],e)}();t.FilterTextEditorComponent=l},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(1),o=r(0),i=r(2),a=r(3),l=r(4),s=function(){function e(e,t){this.filterService=e,this.localization=t,this.valueChange=new o.EventEmitter,this.operators=[]}return e.prototype.messageFor=function(e){return this.localization.get(e)},e.prototype.operatorValueChange=function(e){this.valueChange.emit(),this.filterService.isEditorDisabled=l.nullOperators.indexOf(e)>=0},n.__decorate([o.Input(),n.__metadata("design:type",Object)],e.prototype,"currentItem",void 0),n.__decorate([o.Output(),n.__metadata("design:type",o.EventEmitter)],e.prototype,"valueChange",void 0),n.__decorate([o.Input(),n.__metadata("design:type",Array)],e.prototype,"operators",void 0),e=n.__decorate([o.Component({selector:"kendo-filter-expression-operators",template:'\n <kendo-dropdownlist\n [kendoAriaLabelValue]="messageFor(\'filterOperatorAriaLabel\')"\n [data]="operators"\n [title]="messageFor(\'filterExpressionOperators\')"\n [(value)]="currentItem.operator"\n (valueChange)="operatorValueChange($event)"\n [valuePrimitive]="true"\n textField="text"\n valueField="value"\n >\n </kendo-dropdownlist>\n '}),n.__metadata("design:paramtypes",[a.FilterService,i.LocalizationService])],e)}();t.FilterExpressionOperatorsComponent=s},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(1),o=r(0),i=r(2),a=r(3),l=r(4),s=function(){function e(e,t,r){this.filterService=e,this.localization=t,this.cdr=r,this.valueChange=new o.EventEmitter,this.operators=[],this.filters=[],this.isBoolean=!1,this.isEditorDisabled=!1}return e.prototype.ngOnInit=function(){var e=this;this.filters=this.filterService.filters;var t=this.getFilterExpressionByField(this.currentItem.field);this.currentItem.field&&this.setOperators(t);var r=this.getFilterExpressionByField(this.filterService.filters[0].field);this.currentItem.field||(this.currentItem.field=this.filterService.filters[0].field,this.setOperators(r)),this.localizationSubscription=this.localization.changes.subscribe((function(){e.setOperators(t||r),e.cdr.detectChanges()}))},e.prototype.ngOnDestroy=function(){this.localizationSubscription&&this.localizationSubscription.unsubscribe()},e.prototype.normalizeOperators=function(e,t){for(var r=[],n=0;n<t.length;n++)l.isFilterEditor(e)&&r.push({value:t[n],text:this.localization.get(l.getKeyByValue(l.defaultOperators[e],t[n]))});return r},e.prototype.messageFor=function(e){return this.localization.get(e)},e.prototype.getFilterExpressionByField=function(e){var t=this.filterService.filters.find((function(t){return t.field===e}));return t||null},e.prototype.filterValueChange=function(e){this.currentItem.value=null,this.currentItem.field=e;var t=this.getFilterExpressionByField(this.currentItem.field);this.setOperators(t),this.valueChange.emit()},e.prototype.getDefaultOperators=function(e){switch(e){case"string":return l.localizeOperators(l.defaultStringOperators)(this.localization);case"number":return l.localizeOperators(l.defaultNumericOperators)(this.localization);case"date":return l.localizeOperators(l.defaultDateOperators)(this.localization)}},e.prototype.getEditorType=function(){var e=this;return this.filterService.filters.find((function(t){return t.field===e.currentItem.field})).editor},e.prototype.removeFilterExpression=function(){this.filterService.remove(this.currentItem,this.index),this.valueChange.emit()},e.prototype.setOperators=function(e){if(this.isBoolean="boolean"===e.editor,!this.isBoolean)if(e.operators){var t=this.normalizeOperators(e.editor,e.operators);this.operators=t,this.currentItem.operator||(this.currentItem.operator=t[0].value)}else this.operators=this.getDefaultOperators(e.editor),this.currentItem.operator||(this.currentItem.operator=this.operators[0].value)},n.__decorate([o.Input(),n.__metadata("design:type",Number)],e.prototype,"index",void 0),n.__decorate([o.Input(),n.__metadata("design:type",Object)],e.prototype,"currentItem",void 0),n.__decorate([o.Output(),n.__metadata("design:type",o.EventEmitter)],e.prototype,"valueChange",void 0),e=n.__decorate([o.Component({selector:"kendo-filter-expression",template:'\n <div class="k-filter-toolbar" role="group" [attr.aria-label]="messageFor(\'filterAriaLabel\')">\n <div class="k-toolbar">\n <div class="k-filter-toolbar-item k-filter-field">\n <kendo-dropdownlist\n [kendoAriaLabelValue]="messageFor(\'filterFieldAriaLabel\')"\n [title]="messageFor(\'filterExpressionFilters\')"\n [data]="filters"\n textField="title"\n valueField="field"\n [value]="currentItem.field"\n [valuePrimitive]="true"\n (valueChange)="filterValueChange($event)">\n </kendo-dropdownlist>\n </div>\n <div *ngIf="!isBoolean" class="k-filter-toolbar-item k-filter-operator">\n <kendo-filter-expression-operators\n [currentItem]="currentItem"\n [operators]="operators"\n (valueChange)="valueChange.emit();">\n </kendo-filter-expression-operators>\n </div>\n\n <ng-container [ngSwitch]="getEditorType()">\n <kendo-filter-text-editor *ngSwitchCase="\'string\'" [currentItem]="currentItem" (valueChange)="valueChange.emit()"></kendo-filter-text-editor>\n <kendo-filter-numeric-editor *ngSwitchCase="\'number\'" [currentItem]="currentItem" (valueChange)="valueChange.emit()"></kendo-filter-numeric-editor>\n <kendo-filter-boolean-editor *ngSwitchCase="\'boolean\'" [currentItem]="currentItem" (valueChange)="valueChange.emit()"></kendo-filter-boolean-editor>\n <kendo-filter-date-editor *ngSwitchCase="\'date\'" [currentItem]="currentItem" (valueChange)="valueChange.emit()"></kendo-filter-date-editor>\n </ng-container>\n\n <div class="k-filter-toolbar-item">\n <button\n kendoButton\n icon="close"\n fillMode="flat"\n [title]="messageFor(\'remove\')"\n (click)="removeFilterExpression()">\n </button>\n </div>\n </div>\n </div>\n '}),n.__metadata("design:paramtypes",[a.FilterService,i.LocalizationService,o.ChangeDetectorRef])],e)}();t.FilterExpressionComponent=s},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(1),o=r(0),i=r(2),a=r(3),l=r(4),s=function(){function e(e,t,r){this.filterService=e,this.localization=t,this.cdr=r,this.index=0,this.currentItem={logic:"or",filters:[]},this.valueChange=new o.EventEmitter,this.operators=[]}return e.prototype.ngOnInit=function(){var e=this;this.operators=this.getLogicOperators(),this.localizationSubscription=this.localization.changes.subscribe((function(){e.operators=e.getLogicOperators(),e.cdr.detectChanges()}))},e.prototype.ngOnDestroy=function(){this.localizationSubscription&&this.localizationSubscription.unsubscribe()},e.prototype.getLogicOperators=function(){return l.localizeOperators(l.logicOperators)(this.localization)},e.prototype.messageFor=function(e){return this.localization.get(e)},e.prototype.selectedChange=function(e){this.currentItem.logic!==e&&(this.currentItem.logic=e,this.valueChange.emit())},e.prototype.addFilterExpression=function(){this.filterService.addFilterExpression(this.currentItem),this.valueChange.emit()},e.prototype.addFilterGroup=function(){this.filterService.addFilterGroup(this.currentItem),this.valueChange.emit()},e.prototype.removeFilterGroup=function(){this.filterService.remove(this.currentItem,this.index),this.valueChange.emit()},n.__decorate([o.Input(),n.__metadata("design:type",Number)],e.prototype,"index",void 0),n.__decorate([o.Input(),n.__metadata("design:type",Object)],e.prototype,"currentItem",void 0),n.__decorate([o.Output(),n.__metadata("design:type",o.EventEmitter)],e.prototype,"valueChange",void 0),e=n.__decorate([o.Component({selector:"kendo-filter-group",template:'\n <div class="k-filter-toolbar" role="toolbar" [attr.aria-label]="messageFor(\'filterToolbarAriaLabel\')">\n <div class="k-toolbar">\n <div class="k-filter-toolbar-item">\n <div class="k-widget k-button-group" role="group">\n <button\n *ngFor="let operator of operators"\n kendoButton\n [ngClass]="{\'k-group-start\': operator.value === \'and\', \'k-group-end\': operator.value === \'or\'}"\n [selected]="currentItem.logic === operator.value"\n [title]="operator.text"\n (click)="selectedChange(operator.value)"\n >\n {{operator.text}}\n </button>\n </div>\n </div>\n <div class="k-filter-toolbar-item">\n <button\n kendoButton\n [title]="messageFor(\'addFilter\')"\n icon="filter-add-expression"\n (click)="addFilterExpression()">\n {{messageFor(\'addFilter\')}}\n </button>\n </div>\n <div class="k-filter-toolbar-item">\n <button\n kendoButton\n [title]="messageFor(\'addGroup\')"\n icon="filter-add-group"\n (click)="addFilterGroup()">\n {{messageFor(\'addGroup\')}}\n </button>\n </div>\n <div class="k-filter-toolbar-item">\n <button\n kendoButton\n icon="close"\n fillMode="flat"\n [title]="messageFor(\'remove\')"\n (click)="removeFilterGroup()">\n </button>\n </div>\n </div>\n </div>\n\n <ul class="k-filter-lines" *ngIf="currentItem.filters">\n <ng-container *ngFor="let item of currentItem.filters; let i = index;">\n <li class="k-filter-item" *ngIf="!item.filters">\n <kendo-filter-expression (valueChange)="valueChange.emit()" [currentItem]="item" [index]="i">\n </kendo-filter-expression>\n </li>\n <li class="k-filter-item" *ngIf="item.filters" >\n <kendo-filter-group\n (valueChange)="valueChange.emit()"\n [currentItem]="item"\n [index]="i"\n >\n </kendo-filter-group>\n </li>\n </ng-container>\n </ul>\n '}),n.__metadata("design:paramtypes",[a.FilterService,i.LocalizationService,o.ChangeDetectorRef])],e)}();t.FilterGroupComponent=s},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(1),o=r(0),i=r(2),a=r(6),l=function(e){function t(t){var r=e.call(this)||this;return r.service=t,r}var r;return n.__extends(t,e),r=t,Object.defineProperty(t.prototype,"override",{get:function(){return!0},enumerable:!0,configurable:!0}),t=r=n.__decorate([o.Component({providers:[{provide:a.Messages,useExisting:o.forwardRef((function(){return r}))}],selector:"kendo-filter-messages",template:""}),n.__metadata("design:paramtypes",[i.LocalizationService])],t)}(a.Messages);t.CustomMessagesComponent=l},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(1),o=r(0),i=r(2),a=r(6),l=function(e){function t(t){var r=e.call(this)||this;return r.service=t,r}var r;return n.__extends(t,e),r=t,t=r=n.__decorate([o.Directive({providers:[{provide:a.Messages,useExisting:o.forwardRef((function(){return r}))}],selector:"[kendoFilterLocalizedMessages]"}),n.__metadata("design:paramtypes",[i.LocalizationService])],t)}(a.Messages);t.LocalizedMessagesDirective=l},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(1),o=r(22),i=r(23),a=r(24),l=r(25),s=r(0),u=r(26),d=r(3),p=r(27),f=[o.CommonModule,a.InputsModule,l.LabelModule,i.DropDownsModule,u.ButtonsModule,p.DateInputsModule],c=function(){function e(){}return e=n.__decorate([s.NgModule({imports:f.slice(),exports:f.slice(),providers:[d.FilterService]})],e)}();t.SharedModule=c},function(e,t){e.exports=n},function(e,t){e.exports=o},function(e,t){e.exports=i},function(e,t){e.exports=a},function(e,t){e.exports=l},function(e,t){e.exports=s}])}));
package/dist/cdn/main.js CHANGED
@@ -2,4 +2,4 @@
2
2
  * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@angular/core"),require("tslib"),require("@progress/kendo-angular-l10n"),require("@progress/kendo-licensing"),require("@angular/common"),require("@progress/kendo-angular-dropdowns"),require("@progress/kendo-angular-inputs"),require("@progress/kendo-angular-label"),require("@progress/kendo-angular-buttons"),require("@progress/kendo-angular-dateinputs")):"function"==typeof define&&define.amd?define([,,,,,,,,,],t):"object"==typeof exports?exports.KendoAngularFilter=t(require("@angular/core"),require("tslib"),require("@progress/kendo-angular-l10n"),require("@progress/kendo-licensing"),require("@angular/common"),require("@progress/kendo-angular-dropdowns"),require("@progress/kendo-angular-inputs"),require("@progress/kendo-angular-label"),require("@progress/kendo-angular-buttons"),require("@progress/kendo-angular-dateinputs")):e.KendoAngularFilter=t(e.ng.core,e.self,e.KendoAngularL10N,e.KendoLicensing,e.ng.common,e.KendoAngularDropdowns,e.KendoAngularInputs,e.KendoAngularLabel,e.KendoAngularButtons,e.KendoAngularDateinputs)}(window,(function(e,t,r,o,i,n,a,l,s,u){return function(e){var t={};function r(o){if(t[o])return t[o].exports;var i=t[o]={i:o,l:!1,exports:{}};return e[o].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=e,r.c=t,r.d=function(e,t,o){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(r.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)r.d(o,i,function(t){return e[t]}.bind(null,i));return o},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=7)}([function(t,r){t.exports=e},function(e,r){e.exports=t},function(e,t){e.exports=r},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=r(1),i=r(0),n=function(){function e(){this.value={filters:[],logic:"or"},this.filters=[],this.isEditorDisabled=!1}return e.prototype.addFilterGroup=function(e){e.filters.push({logic:"or",filters:[]})},e.prototype.addFilterExpression=function(e){e.filters.push({operator:"eq",value:null,field:null})},e.prototype.remove=function(e,t,r){var o=this;if(r||(r=this.value),e!==r){var i=r.filters.indexOf(e);i>=0&&i===t?r.filters=r.filters.filter((function(t){return t!==e})):r.filters.forEach((function(r){return r.filters&&o.remove(e,t,r)}))}else r.filters=[]},e=o.__decorate([i.Injectable()],e)}();t.FilterService=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.nullOperators=["isnull","isnotnull","isempty","isnotempty"],t.numericOperators=[{text:"Is equal to",value:"eq"},{text:"Not equal to",value:"neq"},{text:"Greater than or equal to",value:"gte"},{text:"Greater than",value:"gt"},{text:"Less than or equal to",value:"lte"},{text:"Less than",value:"lt"},{text:"Is null",value:"isnull"},{text:"Is not null",value:"isnotnull"}],t.stringOperators=[{text:"Is equal to",value:"eq"},{text:"Not equal to",value:"neq"},{text:"Contains",value:"contains"},{text:"Does not contain",value:"doesnotcontain"},{text:"Starts with",value:"startswith"},{text:"Ends with",value:"endswith"},{text:"Is null",value:"isnull"},{text:"Is not null",value:"isnotnull"},{text:"Is empty",value:"isempty"},{text:"Is not empty",value:"isnotempty"}],t.booleanOperators=[{text:"Is equal to",value:"eq"},{text:"Is not equal to",value:"neq"}],t.dateOperators=[{text:"Is equal to",value:"eq"},{text:"Not equal to",value:"neq"},{text:"Greater than or equal to",value:"gte"},{text:"Greater than",value:"gt"},{text:"Less than or equal to",value:"lte"},{text:"Less than",value:"lt"},{text:"Is null",value:"isnull"},{text:"Is not null",value:"isnotnull"}],t.isArray=function(e){return Array.isArray(e)},t.getKeyByValue=function(e,t){return Object.keys(e).find((function(r){return e[r]===t}))},t.defaultStringOperators={filterEqOperator:"eq",filterNotEqOperator:"neq",filterContainsOperator:"contains",filterNotContainsOperator:"doesnotcontain",filterStartsWithOperator:"startswith",filterEndsWithOperator:"endswith",filterIsNullOperator:"isnull",filterIsNotNullOperator:"isnotnull",filterIsEmptyOperator:"isempty",filterIsNotEmptyOperator:"isnotempty"},t.defaultNumericOperators={filterEqOperator:"eq",filterNotEqOperator:"neq",filterGteOperator:"gte",filterGtOperator:"gt",filterLteOperator:"lte",filterLtOperator:"lt",filterIsNullOperator:"isnull",filterIsNotNullOperator:"isnotnull"},t.defaultDateOperators={filterEqOperator:"eq",filterNotEqOperator:"neq",filterAfterOrEqualOperator:"gte",filterAfterOperator:"gt",filterBeforeOrEqualOperator:"lte",filterBeforeOperator:"lt",filterIsNullOperator:"isnull",filterIsNotNullOperator:"isnotnull"},t.defaultOperators={string:t.defaultStringOperators,number:t.defaultNumericOperators,date:t.defaultDateOperators},t.logicOperators={filterAndLogic:"and",filterOrLogic:"or"},t.isFilterEditor=function(e){return["string","number","boolean","date"].indexOf(e)>=0},t.localizeOperators=function(e){return function(t){return Object.keys(e).map((function(r){return{text:t.get(r),value:e[r]}}))}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=r(1),i=r(0),n=r(2),a=r(3),l=r(4),s=r(0),u=r(8),d=r(9),p=function(){function e(e,t,r){this.filterService=e,this.localization=t,this.cdr=r,this.valueChange=new i.EventEmitter,u.validatePackage(d.packageMetadata),this.direction=t.rtl?"rtl":"ltr"}return Object.defineProperty(e.prototype,"filters",{get:function(){return this.filterService.filters},set:function(e){if(i.isDevMode()&&(!l.isArray(e)||0===e.length))throw new Error("Pass at least one user-defined filter through the [filters] input property. See http://www.telerik.com/kendo-angular-ui/components/filter/#data-binding");this.filterService.filters=e.map((function(e){var t=Object.assign({},e);return t.title||(t.title=t.field),t}))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"value",{get:function(){return this.filterService.value},set:function(e){var t=JSON.parse(JSON.stringify(e));this.normalizeValue(t),this.filterService.value=t},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){var e=this;if(0===this.filters.length)throw new Error("Pass at least one user-defined filter through the [filters] input property. See http://www.telerik.com/kendo-angular-ui/components/filter/#data-binding");this.localizationSubscription=this.localization.changes.subscribe((function(t){var r=t.rtl;e.direction=r?"rtl":"ltr",e.cdr.detectChanges()}))},e.prototype.ngOnDestroy=function(){this.localizationSubscription&&this.localizationSubscription.unsubscribe()},e.prototype.getCurrentFilter=function(){return this.value},e.prototype.getCurrentFilterChildren=function(){return this.value.filters},e.prototype.onValueChange=function(){this.valueChange.emit(this.filterService.value)},e.prototype.normalizeFilter=function(e){var t=this.filterService.filters.find((function(t){return t.field===e.field}));if(i.isDevMode()&&!t)throw new Error("There is no user-defined filter with '"+e.field+"' field provided through the [filters] input property.");i.isDevMode()&&"boolean"===t.editor&&!e.value&&!1!==e.value&&console.warn("Provide a value for the boolean '"+e.field+"' user-defined filter as the operator is always set to 'eq'."),"boolean"===t.editor&&(e.operator="eq"),"date"===t.editor&&e.value&&(e.value=new Date(e.value)),e.value||!1===e.value||(e.value=null)},e.prototype.normalizeValue=function(e){var t=this;e.filters.forEach((function(e){e.filters?t.normalizeValue(e):t.normalizeFilter(e)}))},o.__decorate([i.HostBinding("attr.dir"),o.__metadata("design:type",String)],e.prototype,"direction",void 0),o.__decorate([i.Input(),o.__metadata("design:type",Array),o.__metadata("design:paramtypes",[Array])],e.prototype,"filters",null),o.__decorate([i.Input(),o.__metadata("design:type",Object),o.__metadata("design:paramtypes",[Object])],e.prototype,"value",null),o.__decorate([i.Output(),o.__metadata("design:type",i.EventEmitter)],e.prototype,"valueChange",void 0),e=o.__decorate([i.Component({selector:"kendo-filter",template:'\n <ng-container kendoFilterLocalizedMessages\n i18n-editorDateTodayText="kendo.filter.editorDateTodayText|The text of the Today button of the Date editor"\n editorDateTodayText="Today"\n\n i18n-editorDateToggleText="kendo.filter.editorDateToggleText|The title of the Toggle button of the Date editor."\n editorDateToggleText="Toggle calendar"\n\n i18n-editorNumericDecrement="kendo.filter.editorNumericDecrement|The title of the Decrement button of the Numeric editor"\n editorNumericDecrement="Decrement"\n\n i18n-editorNumericIncrement="kendo.filter.editorNumericIncrement|The title of the Increment button of the Numeric editor"\n editorNumericIncrement="Increment"\n\n i18n-filterExpressionOperators="kendo.filter.filterExpressionOperators|The text of the Filter Expression Operators drop down"\n filterExpressionOperators="Operators"\n\n i18n-filterExpressionFilters="kendo.filter.filterExpressionFilters|The text of the Filter Expression filters drop down"\n filterExpressionFilters="Fields"\n\n i18n-remove="kendo.filter.remove|The text of the Remove button"\n remove="Remove"\n\n i18n-addFilter="kendo.filter.addFilter|The text of the Add Filter button"\n addFilter="Add Filter"\n\n i18n-addGroup="kendo.filter.addGroup|The text of the Add Group button"\n addGroup="Add Group"\n\n i18n-filterAndLogic="kendo.filter.filterAndLogic|The text of the And filter logic"\n filterAndLogic="And"\n\n i18n-filterOrLogic="kendo.filter.filterOrLogic|The text of the Or filter logic"\n filterOrLogic="Or"\n\n i18n-filterEqOperator="kendo.filter.filterEqOperator|The text of the equal filter operator"\n filterEqOperator="Is equal to"\n\n i18n-filterNotEqOperator="kendo.filter.filterNotEqOperator|The text of the not equal filter operator"\n filterNotEqOperator="Is not equal to"\n\n i18n-filterIsNullOperator="kendo.filter.filterIsNullOperator|The text of the is null filter operator"\n filterIsNullOperator="Is null"\n\n i18n-filterIsNotNullOperator="kendo.filter.filterIsNotNullOperator|The text of the is not null filter operator"\n filterIsNotNullOperator="Is not null"\n\n i18n-filterIsEmptyOperator="kendo.filter.filterIsEmptyOperator|The text of the is empty filter operator"\n filterIsEmptyOperator="Is empty"\n\n i18n-filterIsNotEmptyOperator="kendo.filter.filterIsNotEmptyOperator|The text of the is not empty filter operator"\n filterIsNotEmptyOperator="Is not empty"\n\n i18n-filterStartsWithOperator="kendo.filter.filterStartsWithOperator|The text of the starts with filter operator"\n filterStartsWithOperator="Starts with"\n\n i18n-filterContainsOperator="kendo.filter.filterContainsOperator|The text of the contains filter operator"\n filterContainsOperator="Contains"\n\n i18n-filterNotContainsOperator="kendo.filter.filterNotContainsOperator|The text of the does not contain filter operator"\n filterNotContainsOperator="Does not contain"\n\n i18n-filterEndsWithOperator="kendo.filter.filterEndsWithOperator|The text of the ends with filter operator"\n filterEndsWithOperator="Ends with"\n\n i18n-filterGteOperator="kendo.filter.filterGteOperator|The text of the greater than or equal filter operator"\n filterGteOperator="Is greater than or equal to"\n\n i18n-filterGtOperator="kendo.filter.filterGtOperator|The text of the greater than filter operator"\n filterGtOperator="Is greater than"\n\n i18n-filterLteOperator="kendo.filter.filterLteOperator|The text of the less than or equal filter operator"\n filterLteOperator="Is less than or equal to"\n\n i18n-filterLtOperator="kendo.filter.filterLtOperator|The text of the less than filter operator"\n filterLtOperator="Is less than"\n\n i18n-filterIsTrue="kendo.filter.filterIsTrue|The text of the IsTrue boolean filter option"\n filterIsTrue="Is True"\n\n i18n-filterIsFalse="kendo.filter.filterIsFalse|The text of the IsFalse boolean filter option"\n filterIsFalse="Is False"\n\n i18n-filterBooleanAll="kendo.filter.filterBooleanAll|The text of the (All) boolean filter option"\n filterBooleanAll="(All)"\n\n i18n-filterAfterOrEqualOperator="kendo.filter.filterAfterOrEqualOperator|The text of the after or equal date filter operator"\n filterAfterOrEqualOperator="Is after or equal to"\n\n i18n-filterAfterOperator="kendo.filter.filterAfterOperator|The text of the after date filter operator"\n filterAfterOperator="Is after"\n\n i18n-filterBeforeOperator="kendo.filter.filterBeforeOperator|The text of the before date filter operator"\n filterBeforeOperator="Is before"\n\n i18n-filterBeforeOrEqualOperator="kendo.filter.filterBeforeOrEqualOperator|The text of the before or equal date filter operator"\n filterBeforeOrEqualOperator="Is before or equal to"\n\n i18n-filterFieldAriaLabel="kendo.filter.filterFieldAriaLabel|The text of the filter field aria label"\n filterFieldAriaLabel="field"\n\n i18n-filterOperatorAriaLabel="kendo.filter.filterOperatorAriaLabel|The text of the filter operator aria label"\n filterOperatorAriaLabel="operator"\n\n i18n-filterValueAriaLabel="kendo.filter.filterValueAriaLabel|The text of the filter value aria label"\n filterValueAriaLabel="value"\n\n i18n-filterAriaLabel="kendo.filter.filterAriaLabel|The text of the filter row aria label"\n filterAriaLabel="filter"\n\n i18n-filterToolbarAriaLabel="kendo.filter.filterToolbarAriaLabel|The text of the filter toolbar aria label"\n filterToolbarAriaLabel="filter settings"\n >\n </ng-container>\n <div class="k-widget k-filter" [attr.dir]="direction">\n <ul class=\'k-filter-container\'>\n <li class=\'k-filter-group-main\'>\n <kendo-filter-group\n [currentItem]="getCurrentFilter()"\n (valueChange)="onValueChange()"\n >\n </kendo-filter-group>\n </li>\n </ul>\n </div>\n'}),o.__metadata("design:paramtypes",[a.FilterService,n.LocalizationService,s.ChangeDetectorRef])],e)}();t.FilterComponent=p},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=r(1),i=r(0),n=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"filterExpressionOperators",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"filterExpressionFilters",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"remove",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"addGroup",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"addFilter",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"filterAndLogic",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"filterOrLogic",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"filterEqOperator",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"filterNotEqOperator",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"filterIsNullOperator",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"filterIsNotNullOperator",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"filterIsEmptyOperator",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"filterIsNotEmptyOperator",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"filterStartsWithOperator",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"filterContainsOperator",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"filterNotContainsOperator",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"filterEndsWithOperator",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"filterGteOperator",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"filterGtOperator",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"filterLteOperator",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"filterLtOperator",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"filterIsTrue",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"filterIsFalse",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"filterBooleanAll",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"filterAfterOrEqualOperator",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"filterAfterOperator",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"filterBeforeOperator",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"filterBeforeOrEqualOperator",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"editorNumericDecrement",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"editorNumericIncrement",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"editorDateTodayText",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"editorDateToggleText",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"filterFieldAriaLabel",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"filterOperatorAriaLabel",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"filterValueAriaLabel",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"filterAriaLabel",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"filterToolbarAriaLabel",void 0),t}(r(2).ComponentMessages);t.Messages=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=r(5);t.FilterComponent=o.FilterComponent;var i=r(10);t.FilterModule=i.FilterModule},function(e,t){e.exports=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.packageMetadata={name:"@progress/kendo-angular-filter",productName:"Kendo UI for Angular",productCodes:["KENDOUIANGULAR","KENDOUICOMPLETE"],publishDate:1645797407,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning"}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=r(1),i=r(0),n=r(2),a=r(11),l=r(12),s=r(13),u=r(14),d=r(15),p=r(16),f=r(17),c=r(18),g=r(5),m=r(19),v=r(20),h=r(21),_=function(){function e(){}return e=o.__decorate([i.NgModule({imports:[h.SharedModule],declarations:[g.FilterComponent,u.FilterNumericEditorComponent,d.FilterTextEditorComponent,f.FilterExpressionComponent,c.FilterGroupComponent,p.FilterExpressionOperatorsComponent,l.FilterBooleanEditorComponent,s.FilterDateEditorComponent,v.LocalizedMessagesDirective,m.CustomMessagesComponent,a.AriaLabelValueDirective],exports:[g.FilterComponent,u.FilterNumericEditorComponent,d.FilterTextEditorComponent,f.FilterExpressionComponent,c.FilterGroupComponent,p.FilterExpressionOperatorsComponent,l.FilterBooleanEditorComponent,s.FilterDateEditorComponent,v.LocalizedMessagesDirective,m.CustomMessagesComponent,a.AriaLabelValueDirective],providers:[n.LocalizationService,{provide:n.L10N_PREFIX,useValue:"kendo.filter"}]})],e)}();t.FilterModule=_},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=r(1),i=r(0),n=function(){function e(e,t){this.hostElement=e,this.renderer=t}return e.prototype.ngOnChanges=function(){var e=this.hostElement.nativeElement.querySelector("input")||this.hostElement.nativeElement;this.renderer.setAttribute(e,"aria-label",this.ariaLabel)},o.__decorate([i.Input("kendoAriaLabelValue"),o.__metadata("design:type",String)],e.prototype,"ariaLabel",void 0),e=o.__decorate([i.Directive({selector:"[kendoAriaLabelValue]"}),o.__metadata("design:paramtypes",[i.ElementRef,i.Renderer2])],e)}();t.AriaLabelValueDirective=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=r(1),i=r(0),n=r(2),a=function(){function e(e,t){this.localization=e,this.cdr=t,this.valueChange=new i.EventEmitter,this.items=this.getValueItems(),this.defaultItem=this.getDefaultItem()}return e.prototype.ngOnInit=function(){var e=this;this.localizationSubscription=this.localization.changes.subscribe((function(){e.defaultItem=e.getDefaultItem(),e.items=e.getValueItems(),e.cdr.detectChanges()}))},e.prototype.getDefaultItem=function(){return{text:this.localization.get("filterBooleanAll"),value:null}},e.prototype.getValueItems=function(){return[{text:this.localization.get("filterIsTrue"),value:!0},{text:this.localization.get("filterIsFalse"),value:!1}]},e.prototype.ngOnDestroy=function(){this.localizationSubscription&&this.localizationSubscription.unsubscribe()},e.prototype.messageFor=function(e){return this.localization.get(e)},o.__decorate([i.Input(),o.__metadata("design:type",Object)],e.prototype,"currentItem",void 0),o.__decorate([i.Output(),o.__metadata("design:type",i.EventEmitter)],e.prototype,"valueChange",void 0),e=o.__decorate([i.Component({selector:"kendo-filter-boolean-editor",template:'\n <kendo-dropdownlist\n [kendoAriaLabelValue]="messageFor(\'filterValueAriaLabel\')"\n class="k-filter-toolbar-item k-filter-value"\n [(value)]="currentItem.value"\n (valueChange)="valueChange.emit()"\n [data]="items"\n [defaultItem]="defaultItem"\n [valuePrimitive]="true"\n textField="text"\n valueField="value"\n >\n </kendo-dropdownlist>\n '}),o.__metadata("design:paramtypes",[n.LocalizationService,i.ChangeDetectorRef])],e)}();t.FilterBooleanEditorComponent=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=r(1),i=r(0),n=r(2),a=r(3),l=function(){function e(e,t){this.localization=e,this.filterService=t,this.valueChange=new i.EventEmitter}return e.prototype.messageFor=function(e){return this.localization.get(e)},e.prototype.isDisabled=function(){var e=this.filterService.isEditorDisabled;return e&&(this.currentItem.value=null),e},o.__decorate([i.Input(),o.__metadata("design:type",Object)],e.prototype,"currentItem",void 0),o.__decorate([i.Output(),o.__metadata("design:type",i.EventEmitter)],e.prototype,"valueChange",void 0),e=o.__decorate([i.Component({selector:"kendo-filter-date-editor",template:'\n <kendo-datepicker\n [kendoAriaLabelValue]="messageFor(\'filterValueAriaLabel\')"\n class="k-filter-toolbar-item k-filter-value"\n [(value)]="currentItem.value"\n (valueChange)="valueChange.emit()"\n [disabled]="isDisabled()">\n <kendo-datepicker-messages\n [toggle]="messageFor(\'editorDateToggleText\')"\n [today]="messageFor(\'editorDateTodayText\')">\n </kendo-datepicker-messages>\n </kendo-datepicker>\n '}),o.__metadata("design:paramtypes",[n.LocalizationService,a.FilterService])],e)}();t.FilterDateEditorComponent=l},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=r(1),i=r(0),n=r(2),a=r(3),l=function(){function e(e,t){this.localization=e,this.filterService=t,this.valueChange=new i.EventEmitter}return e.prototype.messageFor=function(e){return this.localization.get(e)},e.prototype.isDisabled=function(){var e=this.filterService.isEditorDisabled;return e&&(this.currentItem.value=null),e},o.__decorate([i.Input(),o.__metadata("design:type",Object)],e.prototype,"currentItem",void 0),o.__decorate([i.Output(),o.__metadata("design:type",i.EventEmitter)],e.prototype,"valueChange",void 0),e=o.__decorate([i.Component({selector:"kendo-filter-numeric-editor",template:'\n <kendo-numerictextbox\n [kendoAriaLabelValue]="messageFor(\'filterValueAriaLabel\')"\n class="k-filter-toolbar-item k-filter-value"\n [(value)]="currentItem.value"\n (valueChange)="valueChange.emit()"\n [disabled]="isDisabled()">\n <kendo-numerictextbox-messages\n [increment]="messageFor(\'editorNumericIncrement\')"\n [decrement]="messageFor(\'editorNumericDecrement\')">\n </kendo-numerictextbox-messages>\n </kendo-numerictextbox>\n '}),o.__metadata("design:paramtypes",[n.LocalizationService,a.FilterService])],e)}();t.FilterNumericEditorComponent=l},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=r(1),i=r(0),n=r(2),a=r(3),l=function(){function e(e,t){this.localization=e,this.filterService=t,this.valueChange=new i.EventEmitter}return e.prototype.isDisabled=function(){var e=this.filterService.isEditorDisabled;return e&&(this.currentItem.value=null),e},e.prototype.messageFor=function(e){return this.localization.get(e)},o.__decorate([i.Input(),o.__metadata("design:type",Object)],e.prototype,"currentItem",void 0),o.__decorate([i.Output(),o.__metadata("design:type",i.EventEmitter)],e.prototype,"valueChange",void 0),e=o.__decorate([i.Component({selector:"kendo-filter-text-editor",template:'\n <kendo-textbox\n [kendoAriaLabelValue]="messageFor(\'filterValueAriaLabel\')"\n class="k-filter-toolbar-item k-filter-value"\n [(value)]="currentItem.value"\n (valueChange)="valueChange.emit()"\n [disabled]="isDisabled()">\n </kendo-textbox>\n '}),o.__metadata("design:paramtypes",[n.LocalizationService,a.FilterService])],e)}();t.FilterTextEditorComponent=l},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=r(1),i=r(0),n=r(2),a=r(3),l=r(4),s=function(){function e(e,t){this.filterService=e,this.localization=t,this.valueChange=new i.EventEmitter,this.operators=[]}return e.prototype.messageFor=function(e){return this.localization.get(e)},e.prototype.operatorValueChange=function(e){this.valueChange.emit(),this.filterService.isEditorDisabled=l.nullOperators.indexOf(e)>=0},o.__decorate([i.Input(),o.__metadata("design:type",Object)],e.prototype,"currentItem",void 0),o.__decorate([i.Output(),o.__metadata("design:type",i.EventEmitter)],e.prototype,"valueChange",void 0),o.__decorate([i.Input(),o.__metadata("design:type",Array)],e.prototype,"operators",void 0),e=o.__decorate([i.Component({selector:"kendo-filter-expression-operators",template:'\n <kendo-dropdownlist\n [kendoAriaLabelValue]="messageFor(\'filterOperatorAriaLabel\')"\n [data]="operators"\n [title]="messageFor(\'filterExpressionOperators\')"\n [(value)]="currentItem.operator"\n (valueChange)="operatorValueChange($event)"\n [valuePrimitive]="true"\n textField="text"\n valueField="value"\n >\n </kendo-dropdownlist>\n '}),o.__metadata("design:paramtypes",[a.FilterService,n.LocalizationService])],e)}();t.FilterExpressionOperatorsComponent=s},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=r(1),i=r(0),n=r(2),a=r(3),l=r(4),s=function(){function e(e,t,r){this.filterService=e,this.localization=t,this.cdr=r,this.valueChange=new i.EventEmitter,this.operators=[],this.filters=[],this.isBoolean=!1,this.isEditorDisabled=!1}return e.prototype.ngOnInit=function(){var e=this;this.filters=this.filterService.filters;var t=this.getFilterExpressionByField(this.currentItem.field);this.currentItem.field&&this.setOperators(t);var r=this.getFilterExpressionByField(this.filterService.filters[0].field);this.currentItem.field||(this.currentItem.field=this.filterService.filters[0].field,this.setOperators(r)),this.localizationSubscription=this.localization.changes.subscribe((function(){e.setOperators(t||r),e.cdr.detectChanges()}))},e.prototype.ngOnDestroy=function(){this.localizationSubscription&&this.localizationSubscription.unsubscribe()},e.prototype.normalizeOperators=function(e,t){for(var r=[],o=0;o<t.length;o++)l.isFilterEditor(e)&&r.push({value:t[o],text:this.localization.get(l.getKeyByValue(l.defaultOperators[e],t[o]))});return r},e.prototype.messageFor=function(e){return this.localization.get(e)},e.prototype.getFilterExpressionByField=function(e){var t=this.filterService.filters.find((function(t){return t.field===e}));return t||null},e.prototype.filterValueChange=function(e){this.currentItem.value=null,this.currentItem.field=e;var t=this.getFilterExpressionByField(this.currentItem.field);this.setOperators(t),this.valueChange.emit()},e.prototype.getDefaultOperators=function(e){switch(e){case"string":return l.localizeOperators(l.defaultStringOperators)(this.localization);case"number":return l.localizeOperators(l.defaultNumericOperators)(this.localization);case"date":return l.localizeOperators(l.defaultDateOperators)(this.localization)}},e.prototype.getEditorType=function(){var e=this;return this.filterService.filters.find((function(t){return t.field===e.currentItem.field})).editor},e.prototype.removeFilterExpression=function(){this.filterService.remove(this.currentItem,this.index),this.valueChange.emit()},e.prototype.setOperators=function(e){if(this.isBoolean="boolean"===e.editor,!this.isBoolean)if(e.operators){var t=this.normalizeOperators(e.editor,e.operators);this.operators=t,this.currentItem.operator=t[0].value}else this.operators=this.getDefaultOperators(e.editor),this.currentItem.operator=this.operators[0].value},o.__decorate([i.Input(),o.__metadata("design:type",Number)],e.prototype,"index",void 0),o.__decorate([i.Input(),o.__metadata("design:type",Object)],e.prototype,"currentItem",void 0),o.__decorate([i.Output(),o.__metadata("design:type",i.EventEmitter)],e.prototype,"valueChange",void 0),e=o.__decorate([i.Component({selector:"kendo-filter-expression",template:'\n <div class="k-filter-toolbar" role="group" [attr.aria-label]="messageFor(\'filterAriaLabel\')">\n <div class="k-toolbar">\n <div class="k-filter-toolbar-item k-filter-field">\n <kendo-dropdownlist\n [kendoAriaLabelValue]="messageFor(\'filterFieldAriaLabel\')"\n [title]="messageFor(\'filterExpressionFilters\')"\n [data]="filters"\n textField="title"\n valueField="field"\n [value]="currentItem.field"\n [valuePrimitive]="true"\n (valueChange)="filterValueChange($event)">\n </kendo-dropdownlist>\n </div>\n <div *ngIf="!isBoolean" class="k-filter-toolbar-item k-filter-operator">\n <kendo-filter-expression-operators\n [currentItem]="currentItem"\n [operators]="operators"\n (valueChange)="valueChange.emit();">\n </kendo-filter-expression-operators>\n </div>\n\n <ng-container [ngSwitch]="getEditorType()">\n <kendo-filter-text-editor *ngSwitchCase="\'string\'" [currentItem]="currentItem" (valueChange)="valueChange.emit()"></kendo-filter-text-editor>\n <kendo-filter-numeric-editor *ngSwitchCase="\'number\'" [currentItem]="currentItem" (valueChange)="valueChange.emit()"></kendo-filter-numeric-editor>\n <kendo-filter-boolean-editor *ngSwitchCase="\'boolean\'" [currentItem]="currentItem" (valueChange)="valueChange.emit()"></kendo-filter-boolean-editor>\n <kendo-filter-date-editor *ngSwitchCase="\'date\'" [currentItem]="currentItem" (valueChange)="valueChange.emit()"></kendo-filter-date-editor>\n </ng-container>\n\n <div class="k-filter-toolbar-item">\n <button\n kendoButton\n icon="close"\n fillMode="flat"\n [title]="messageFor(\'remove\')"\n (click)="removeFilterExpression()">\n </button>\n </div>\n </div>\n </div>\n '}),o.__metadata("design:paramtypes",[a.FilterService,n.LocalizationService,i.ChangeDetectorRef])],e)}();t.FilterExpressionComponent=s},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=r(1),i=r(0),n=r(2),a=r(3),l=r(4),s=function(){function e(e,t,r){this.filterService=e,this.localization=t,this.cdr=r,this.index=0,this.currentItem={logic:"or",filters:[]},this.valueChange=new i.EventEmitter,this.operators=[]}return e.prototype.ngOnInit=function(){var e=this;this.operators=this.getLogicOperators(),this.localizationSubscription=this.localization.changes.subscribe((function(){e.operators=e.getLogicOperators(),e.cdr.detectChanges()}))},e.prototype.ngOnDestroy=function(){this.localizationSubscription&&this.localizationSubscription.unsubscribe()},e.prototype.getLogicOperators=function(){return l.localizeOperators(l.logicOperators)(this.localization)},e.prototype.messageFor=function(e){return this.localization.get(e)},e.prototype.selectedChange=function(e){this.currentItem.logic!==e&&(this.currentItem.logic=e,this.valueChange.emit())},e.prototype.addFilterExpression=function(){this.filterService.addFilterExpression(this.currentItem),this.valueChange.emit()},e.prototype.addFilterGroup=function(){this.filterService.addFilterGroup(this.currentItem),this.valueChange.emit()},e.prototype.removeFilterGroup=function(){this.filterService.remove(this.currentItem,this.index),this.valueChange.emit()},o.__decorate([i.Input(),o.__metadata("design:type",Number)],e.prototype,"index",void 0),o.__decorate([i.Input(),o.__metadata("design:type",Object)],e.prototype,"currentItem",void 0),o.__decorate([i.Output(),o.__metadata("design:type",i.EventEmitter)],e.prototype,"valueChange",void 0),e=o.__decorate([i.Component({selector:"kendo-filter-group",template:'\n <div class="k-filter-toolbar" role="toolbar" [attr.aria-label]="messageFor(\'filterToolbarAriaLabel\')">\n <div class="k-toolbar">\n <div class="k-filter-toolbar-item">\n <div class="k-widget k-button-group" role="group">\n <button\n *ngFor="let operator of operators"\n kendoButton\n [ngClass]="{\'k-group-start\': operator.value === \'and\', \'k-group-end\': operator.value === \'or\'}"\n [selected]="currentItem.logic === operator.value"\n [title]="operator.text"\n (click)="selectedChange(operator.value)"\n >\n {{operator.text}}\n </button>\n </div>\n </div>\n <div class="k-filter-toolbar-item">\n <button\n kendoButton\n [title]="messageFor(\'addFilter\')"\n icon="filter-add-expression"\n (click)="addFilterExpression()">\n {{messageFor(\'addFilter\')}}\n </button>\n </div>\n <div class="k-filter-toolbar-item">\n <button\n kendoButton\n [title]="messageFor(\'addGroup\')"\n icon="filter-add-group"\n (click)="addFilterGroup()">\n {{messageFor(\'addGroup\')}}\n </button>\n </div>\n <div class="k-filter-toolbar-item">\n <button\n kendoButton\n icon="close"\n fillMode="flat"\n [title]="messageFor(\'remove\')"\n (click)="removeFilterGroup()">\n </button>\n </div>\n </div>\n </div>\n\n <ul class="k-filter-lines" *ngIf="currentItem.filters">\n <ng-container *ngFor="let item of currentItem.filters; let i = index;">\n <li class="k-filter-item" *ngIf="!item.filters">\n <kendo-filter-expression (valueChange)="valueChange.emit()" [currentItem]="item" [index]="i">\n </kendo-filter-expression>\n </li>\n <li class="k-filter-item" *ngIf="item.filters" >\n <kendo-filter-group\n (valueChange)="valueChange.emit()"\n [currentItem]="item"\n [index]="i"\n >\n </kendo-filter-group>\n </li>\n </ng-container>\n </ul>\n '}),o.__metadata("design:paramtypes",[a.FilterService,n.LocalizationService,i.ChangeDetectorRef])],e)}();t.FilterGroupComponent=s},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=r(1),i=r(0),n=r(2),a=r(6),l=function(e){function t(t){var r=e.call(this)||this;return r.service=t,r}var r;return o.__extends(t,e),r=t,Object.defineProperty(t.prototype,"override",{get:function(){return!0},enumerable:!0,configurable:!0}),t=r=o.__decorate([i.Component({providers:[{provide:a.Messages,useExisting:i.forwardRef((function(){return r}))}],selector:"kendo-filter-messages",template:""}),o.__metadata("design:paramtypes",[n.LocalizationService])],t)}(a.Messages);t.CustomMessagesComponent=l},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=r(1),i=r(0),n=r(2),a=r(6),l=function(e){function t(t){var r=e.call(this)||this;return r.service=t,r}var r;return o.__extends(t,e),r=t,t=r=o.__decorate([i.Directive({providers:[{provide:a.Messages,useExisting:i.forwardRef((function(){return r}))}],selector:"[kendoFilterLocalizedMessages]"}),o.__metadata("design:paramtypes",[n.LocalizationService])],t)}(a.Messages);t.LocalizedMessagesDirective=l},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=r(1),i=r(22),n=r(23),a=r(24),l=r(25),s=r(0),u=r(26),d=r(3),p=r(27),f=[i.CommonModule,a.InputsModule,l.LabelModule,n.DropDownsModule,u.ButtonsModule,p.DateInputsModule],c=function(){function e(){}return e=o.__decorate([s.NgModule({imports:f.slice(),exports:f.slice(),providers:[d.FilterService]})],e)}();t.SharedModule=c},function(e,t){e.exports=i},function(e,t){e.exports=n},function(e,t){e.exports=a},function(e,t){e.exports=l},function(e,t){e.exports=s},function(e,t){e.exports=u}])}));
5
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@angular/core"),require("tslib"),require("@progress/kendo-angular-l10n"),require("@progress/kendo-licensing"),require("@angular/common"),require("@progress/kendo-angular-dropdowns"),require("@progress/kendo-angular-inputs"),require("@progress/kendo-angular-label"),require("@progress/kendo-angular-buttons"),require("@progress/kendo-angular-dateinputs")):"function"==typeof define&&define.amd?define([,,,,,,,,,],t):"object"==typeof exports?exports.KendoAngularFilter=t(require("@angular/core"),require("tslib"),require("@progress/kendo-angular-l10n"),require("@progress/kendo-licensing"),require("@angular/common"),require("@progress/kendo-angular-dropdowns"),require("@progress/kendo-angular-inputs"),require("@progress/kendo-angular-label"),require("@progress/kendo-angular-buttons"),require("@progress/kendo-angular-dateinputs")):e.KendoAngularFilter=t(e.ng.core,e.self,e.KendoAngularL10N,e.KendoLicensing,e.ng.common,e.KendoAngularDropdowns,e.KendoAngularInputs,e.KendoAngularLabel,e.KendoAngularButtons,e.KendoAngularDateinputs)}(window,(function(e,t,r,o,i,n,a,l,s,u){return function(e){var t={};function r(o){if(t[o])return t[o].exports;var i=t[o]={i:o,l:!1,exports:{}};return e[o].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=e,r.c=t,r.d=function(e,t,o){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(r.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)r.d(o,i,function(t){return e[t]}.bind(null,i));return o},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=7)}([function(t,r){t.exports=e},function(e,r){e.exports=t},function(e,t){e.exports=r},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=r(1),i=r(0),n=function(){function e(){this.value={filters:[],logic:"or"},this.filters=[],this.isEditorDisabled=!1}return e.prototype.addFilterGroup=function(e){e.filters.push({logic:"or",filters:[]})},e.prototype.addFilterExpression=function(e){e.filters.push({operator:"eq",value:null,field:null})},e.prototype.remove=function(e,t,r){var o=this;if(r||(r=this.value),e!==r){var i=r.filters.indexOf(e);i>=0&&i===t?r.filters=r.filters.filter((function(t){return t!==e})):r.filters.forEach((function(r){return r.filters&&o.remove(e,t,r)}))}else r.filters=[]},e=o.__decorate([i.Injectable()],e)}();t.FilterService=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.nullOperators=["isnull","isnotnull","isempty","isnotempty"],t.numericOperators=[{text:"Is equal to",value:"eq"},{text:"Not equal to",value:"neq"},{text:"Greater than or equal to",value:"gte"},{text:"Greater than",value:"gt"},{text:"Less than or equal to",value:"lte"},{text:"Less than",value:"lt"},{text:"Is null",value:"isnull"},{text:"Is not null",value:"isnotnull"}],t.stringOperators=[{text:"Is equal to",value:"eq"},{text:"Not equal to",value:"neq"},{text:"Contains",value:"contains"},{text:"Does not contain",value:"doesnotcontain"},{text:"Starts with",value:"startswith"},{text:"Ends with",value:"endswith"},{text:"Is null",value:"isnull"},{text:"Is not null",value:"isnotnull"},{text:"Is empty",value:"isempty"},{text:"Is not empty",value:"isnotempty"}],t.booleanOperators=[{text:"Is equal to",value:"eq"},{text:"Is not equal to",value:"neq"}],t.dateOperators=[{text:"Is equal to",value:"eq"},{text:"Not equal to",value:"neq"},{text:"Greater than or equal to",value:"gte"},{text:"Greater than",value:"gt"},{text:"Less than or equal to",value:"lte"},{text:"Less than",value:"lt"},{text:"Is null",value:"isnull"},{text:"Is not null",value:"isnotnull"}],t.isArray=function(e){return Array.isArray(e)},t.getKeyByValue=function(e,t){return Object.keys(e).find((function(r){return e[r]===t}))},t.defaultStringOperators={filterEqOperator:"eq",filterNotEqOperator:"neq",filterContainsOperator:"contains",filterNotContainsOperator:"doesnotcontain",filterStartsWithOperator:"startswith",filterEndsWithOperator:"endswith",filterIsNullOperator:"isnull",filterIsNotNullOperator:"isnotnull",filterIsEmptyOperator:"isempty",filterIsNotEmptyOperator:"isnotempty"},t.defaultNumericOperators={filterEqOperator:"eq",filterNotEqOperator:"neq",filterGteOperator:"gte",filterGtOperator:"gt",filterLteOperator:"lte",filterLtOperator:"lt",filterIsNullOperator:"isnull",filterIsNotNullOperator:"isnotnull"},t.defaultDateOperators={filterEqOperator:"eq",filterNotEqOperator:"neq",filterAfterOrEqualOperator:"gte",filterAfterOperator:"gt",filterBeforeOrEqualOperator:"lte",filterBeforeOperator:"lt",filterIsNullOperator:"isnull",filterIsNotNullOperator:"isnotnull"},t.defaultOperators={string:t.defaultStringOperators,number:t.defaultNumericOperators,date:t.defaultDateOperators},t.logicOperators={filterAndLogic:"and",filterOrLogic:"or"},t.isFilterEditor=function(e){return["string","number","boolean","date"].indexOf(e)>=0},t.localizeOperators=function(e){return function(t){return Object.keys(e).map((function(r){return{text:t.get(r),value:e[r]}}))}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=r(1),i=r(0),n=r(2),a=r(3),l=r(4),s=r(0),u=r(8),d=r(9),p=function(){function e(e,t,r){this.filterService=e,this.localization=t,this.cdr=r,this.valueChange=new i.EventEmitter,u.validatePackage(d.packageMetadata),this.direction=t.rtl?"rtl":"ltr"}return Object.defineProperty(e.prototype,"filters",{get:function(){return this.filterService.filters},set:function(e){if(i.isDevMode()&&(!l.isArray(e)||0===e.length))throw new Error("Pass at least one user-defined filter through the [filters] input property. See http://www.telerik.com/kendo-angular-ui/components/filter/#data-binding");this.filterService.filters=e.map((function(e){var t=Object.assign({},e);return t.title||(t.title=t.field),t}))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"value",{get:function(){return this.filterService.value},set:function(e){var t=JSON.parse(JSON.stringify(e));this.normalizeValue(t),this.filterService.value=t},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){var e=this;if(0===this.filters.length)throw new Error("Pass at least one user-defined filter through the [filters] input property. See http://www.telerik.com/kendo-angular-ui/components/filter/#data-binding");this.localizationSubscription=this.localization.changes.subscribe((function(t){var r=t.rtl;e.direction=r?"rtl":"ltr",e.cdr.detectChanges()}))},e.prototype.ngOnDestroy=function(){this.localizationSubscription&&this.localizationSubscription.unsubscribe()},e.prototype.getCurrentFilter=function(){return this.value},e.prototype.onValueChange=function(){this.valueChange.emit(this.filterService.value)},e.prototype.normalizeFilter=function(e){var t=this.filterService.filters.find((function(t){return t.field===e.field}));if(i.isDevMode()&&!t)throw new Error("There is no user-defined filter with '"+e.field+"' field provided through the [filters] input property.");if(i.isDevMode()&&"boolean"===t.editor&&!e.value&&!1!==e.value&&console.warn("Provide a value for the boolean '"+e.field+"' user-defined filter as the operator is always set to 'eq'."),e.operator&&t.operators&&!t.operators.some((function(t){return t===e.operator})))throw new Error("The user-defined filter with field '"+e.field+"' is missing the '"+e.operator+"' operator.");"boolean"===t.editor&&(e.operator="eq"),"date"===t.editor&&e.value&&(e.value=new Date(e.value)),e.value||!1===e.value||(e.value=null)},e.prototype.normalizeValue=function(e){var t=this;e.filters.forEach((function(e){e.filters?t.normalizeValue(e):t.normalizeFilter(e)}))},o.__decorate([i.HostBinding("attr.dir"),o.__metadata("design:type",String)],e.prototype,"direction",void 0),o.__decorate([i.Input(),o.__metadata("design:type",Array),o.__metadata("design:paramtypes",[Array])],e.prototype,"filters",null),o.__decorate([i.Input(),o.__metadata("design:type",Object),o.__metadata("design:paramtypes",[Object])],e.prototype,"value",null),o.__decorate([i.Output(),o.__metadata("design:type",i.EventEmitter)],e.prototype,"valueChange",void 0),e=o.__decorate([i.Component({selector:"kendo-filter",template:'\n <ng-container kendoFilterLocalizedMessages\n i18n-editorDateTodayText="kendo.filter.editorDateTodayText|The text of the Today button of the Date editor"\n editorDateTodayText="Today"\n\n i18n-editorDateToggleText="kendo.filter.editorDateToggleText|The title of the Toggle button of the Date editor."\n editorDateToggleText="Toggle calendar"\n\n i18n-editorNumericDecrement="kendo.filter.editorNumericDecrement|The title of the Decrement button of the Numeric editor"\n editorNumericDecrement="Decrement"\n\n i18n-editorNumericIncrement="kendo.filter.editorNumericIncrement|The title of the Increment button of the Numeric editor"\n editorNumericIncrement="Increment"\n\n i18n-filterExpressionOperators="kendo.filter.filterExpressionOperators|The text of the Filter Expression Operators drop down"\n filterExpressionOperators="Operators"\n\n i18n-filterExpressionFilters="kendo.filter.filterExpressionFilters|The text of the Filter Expression filters drop down"\n filterExpressionFilters="Fields"\n\n i18n-remove="kendo.filter.remove|The text of the Remove button"\n remove="Remove"\n\n i18n-addFilter="kendo.filter.addFilter|The text of the Add Filter button"\n addFilter="Add Filter"\n\n i18n-addGroup="kendo.filter.addGroup|The text of the Add Group button"\n addGroup="Add Group"\n\n i18n-filterAndLogic="kendo.filter.filterAndLogic|The text of the And filter logic"\n filterAndLogic="And"\n\n i18n-filterOrLogic="kendo.filter.filterOrLogic|The text of the Or filter logic"\n filterOrLogic="Or"\n\n i18n-filterEqOperator="kendo.filter.filterEqOperator|The text of the equal filter operator"\n filterEqOperator="Is equal to"\n\n i18n-filterNotEqOperator="kendo.filter.filterNotEqOperator|The text of the not equal filter operator"\n filterNotEqOperator="Is not equal to"\n\n i18n-filterIsNullOperator="kendo.filter.filterIsNullOperator|The text of the is null filter operator"\n filterIsNullOperator="Is null"\n\n i18n-filterIsNotNullOperator="kendo.filter.filterIsNotNullOperator|The text of the is not null filter operator"\n filterIsNotNullOperator="Is not null"\n\n i18n-filterIsEmptyOperator="kendo.filter.filterIsEmptyOperator|The text of the is empty filter operator"\n filterIsEmptyOperator="Is empty"\n\n i18n-filterIsNotEmptyOperator="kendo.filter.filterIsNotEmptyOperator|The text of the is not empty filter operator"\n filterIsNotEmptyOperator="Is not empty"\n\n i18n-filterStartsWithOperator="kendo.filter.filterStartsWithOperator|The text of the starts with filter operator"\n filterStartsWithOperator="Starts with"\n\n i18n-filterContainsOperator="kendo.filter.filterContainsOperator|The text of the contains filter operator"\n filterContainsOperator="Contains"\n\n i18n-filterNotContainsOperator="kendo.filter.filterNotContainsOperator|The text of the does not contain filter operator"\n filterNotContainsOperator="Does not contain"\n\n i18n-filterEndsWithOperator="kendo.filter.filterEndsWithOperator|The text of the ends with filter operator"\n filterEndsWithOperator="Ends with"\n\n i18n-filterGteOperator="kendo.filter.filterGteOperator|The text of the greater than or equal filter operator"\n filterGteOperator="Is greater than or equal to"\n\n i18n-filterGtOperator="kendo.filter.filterGtOperator|The text of the greater than filter operator"\n filterGtOperator="Is greater than"\n\n i18n-filterLteOperator="kendo.filter.filterLteOperator|The text of the less than or equal filter operator"\n filterLteOperator="Is less than or equal to"\n\n i18n-filterLtOperator="kendo.filter.filterLtOperator|The text of the less than filter operator"\n filterLtOperator="Is less than"\n\n i18n-filterIsTrue="kendo.filter.filterIsTrue|The text of the IsTrue boolean filter option"\n filterIsTrue="Is True"\n\n i18n-filterIsFalse="kendo.filter.filterIsFalse|The text of the IsFalse boolean filter option"\n filterIsFalse="Is False"\n\n i18n-filterBooleanAll="kendo.filter.filterBooleanAll|The text of the (All) boolean filter option"\n filterBooleanAll="(All)"\n\n i18n-filterAfterOrEqualOperator="kendo.filter.filterAfterOrEqualOperator|The text of the after or equal date filter operator"\n filterAfterOrEqualOperator="Is after or equal to"\n\n i18n-filterAfterOperator="kendo.filter.filterAfterOperator|The text of the after date filter operator"\n filterAfterOperator="Is after"\n\n i18n-filterBeforeOperator="kendo.filter.filterBeforeOperator|The text of the before date filter operator"\n filterBeforeOperator="Is before"\n\n i18n-filterBeforeOrEqualOperator="kendo.filter.filterBeforeOrEqualOperator|The text of the before or equal date filter operator"\n filterBeforeOrEqualOperator="Is before or equal to"\n\n i18n-filterFieldAriaLabel="kendo.filter.filterFieldAriaLabel|The text of the filter field aria label"\n filterFieldAriaLabel="field"\n\n i18n-filterOperatorAriaLabel="kendo.filter.filterOperatorAriaLabel|The text of the filter operator aria label"\n filterOperatorAriaLabel="operator"\n\n i18n-filterValueAriaLabel="kendo.filter.filterValueAriaLabel|The text of the filter value aria label"\n filterValueAriaLabel="value"\n\n i18n-filterAriaLabel="kendo.filter.filterAriaLabel|The text of the filter row aria label"\n filterAriaLabel="filter"\n\n i18n-filterToolbarAriaLabel="kendo.filter.filterToolbarAriaLabel|The text of the filter toolbar aria label"\n filterToolbarAriaLabel="filter settings"\n >\n </ng-container>\n <div class="k-widget k-filter" [attr.dir]="direction">\n <ul class=\'k-filter-container\'>\n <li class=\'k-filter-group-main\'>\n <kendo-filter-group\n [currentItem]="getCurrentFilter()"\n (valueChange)="onValueChange()"\n >\n </kendo-filter-group>\n </li>\n </ul>\n </div>\n'}),o.__metadata("design:paramtypes",[a.FilterService,n.LocalizationService,s.ChangeDetectorRef])],e)}();t.FilterComponent=p},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=r(1),i=r(0),n=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"filterExpressionOperators",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"filterExpressionFilters",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"remove",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"addGroup",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"addFilter",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"filterAndLogic",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"filterOrLogic",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"filterEqOperator",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"filterNotEqOperator",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"filterIsNullOperator",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"filterIsNotNullOperator",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"filterIsEmptyOperator",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"filterIsNotEmptyOperator",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"filterStartsWithOperator",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"filterContainsOperator",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"filterNotContainsOperator",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"filterEndsWithOperator",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"filterGteOperator",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"filterGtOperator",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"filterLteOperator",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"filterLtOperator",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"filterIsTrue",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"filterIsFalse",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"filterBooleanAll",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"filterAfterOrEqualOperator",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"filterAfterOperator",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"filterBeforeOperator",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"filterBeforeOrEqualOperator",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"editorNumericDecrement",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"editorNumericIncrement",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"editorDateTodayText",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"editorDateToggleText",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"filterFieldAriaLabel",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"filterOperatorAriaLabel",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"filterValueAriaLabel",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"filterAriaLabel",void 0),o.__decorate([i.Input(),o.__metadata("design:type",String)],t.prototype,"filterToolbarAriaLabel",void 0),t}(r(2).ComponentMessages);t.Messages=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=r(5);t.FilterComponent=o.FilterComponent;var i=r(10);t.FilterModule=i.FilterModule},function(e,t){e.exports=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.packageMetadata={name:"@progress/kendo-angular-filter",productName:"Kendo UI for Angular",productCodes:["KENDOUIANGULAR","KENDOUICOMPLETE"],publishDate:1646208424,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning"}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=r(1),i=r(0),n=r(2),a=r(11),l=r(12),s=r(13),u=r(14),d=r(15),p=r(16),f=r(17),c=r(18),g=r(5),m=r(19),v=r(20),h=r(21),_=function(){function e(){}return e=o.__decorate([i.NgModule({imports:[h.SharedModule],declarations:[g.FilterComponent,u.FilterNumericEditorComponent,d.FilterTextEditorComponent,f.FilterExpressionComponent,c.FilterGroupComponent,p.FilterExpressionOperatorsComponent,l.FilterBooleanEditorComponent,s.FilterDateEditorComponent,v.LocalizedMessagesDirective,m.CustomMessagesComponent,a.AriaLabelValueDirective],exports:[g.FilterComponent,u.FilterNumericEditorComponent,d.FilterTextEditorComponent,f.FilterExpressionComponent,c.FilterGroupComponent,p.FilterExpressionOperatorsComponent,l.FilterBooleanEditorComponent,s.FilterDateEditorComponent,v.LocalizedMessagesDirective,m.CustomMessagesComponent,a.AriaLabelValueDirective],providers:[n.LocalizationService,{provide:n.L10N_PREFIX,useValue:"kendo.filter"}]})],e)}();t.FilterModule=_},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=r(1),i=r(0),n=function(){function e(e,t){this.hostElement=e,this.renderer=t}return e.prototype.ngOnChanges=function(){var e=this.hostElement.nativeElement.querySelector("input")||this.hostElement.nativeElement;this.renderer.setAttribute(e,"aria-label",this.ariaLabel)},o.__decorate([i.Input("kendoAriaLabelValue"),o.__metadata("design:type",String)],e.prototype,"ariaLabel",void 0),e=o.__decorate([i.Directive({selector:"[kendoAriaLabelValue]"}),o.__metadata("design:paramtypes",[i.ElementRef,i.Renderer2])],e)}();t.AriaLabelValueDirective=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=r(1),i=r(0),n=r(2),a=function(){function e(e,t){this.localization=e,this.cdr=t,this.valueChange=new i.EventEmitter,this.items=this.getValueItems(),this.defaultItem=this.getDefaultItem()}return e.prototype.ngOnInit=function(){var e=this;this.localizationSubscription=this.localization.changes.subscribe((function(){e.defaultItem=e.getDefaultItem(),e.items=e.getValueItems(),e.cdr.detectChanges()}))},e.prototype.getDefaultItem=function(){return{text:this.localization.get("filterBooleanAll"),value:null}},e.prototype.getValueItems=function(){return[{text:this.localization.get("filterIsTrue"),value:!0},{text:this.localization.get("filterIsFalse"),value:!1}]},e.prototype.ngOnDestroy=function(){this.localizationSubscription&&this.localizationSubscription.unsubscribe()},e.prototype.messageFor=function(e){return this.localization.get(e)},o.__decorate([i.Input(),o.__metadata("design:type",Object)],e.prototype,"currentItem",void 0),o.__decorate([i.Output(),o.__metadata("design:type",i.EventEmitter)],e.prototype,"valueChange",void 0),e=o.__decorate([i.Component({selector:"kendo-filter-boolean-editor",template:'\n <kendo-dropdownlist\n [kendoAriaLabelValue]="messageFor(\'filterValueAriaLabel\')"\n class="k-filter-toolbar-item k-filter-value"\n [(value)]="currentItem.value"\n (valueChange)="valueChange.emit()"\n [data]="items"\n [defaultItem]="defaultItem"\n [valuePrimitive]="true"\n textField="text"\n valueField="value"\n >\n </kendo-dropdownlist>\n '}),o.__metadata("design:paramtypes",[n.LocalizationService,i.ChangeDetectorRef])],e)}();t.FilterBooleanEditorComponent=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=r(1),i=r(0),n=r(2),a=r(3),l=function(){function e(e,t){this.localization=e,this.filterService=t,this.valueChange=new i.EventEmitter}return e.prototype.messageFor=function(e){return this.localization.get(e)},e.prototype.isDisabled=function(){var e=this.filterService.isEditorDisabled;return e&&(this.currentItem.value=null),e},o.__decorate([i.Input(),o.__metadata("design:type",Object)],e.prototype,"currentItem",void 0),o.__decorate([i.Output(),o.__metadata("design:type",i.EventEmitter)],e.prototype,"valueChange",void 0),e=o.__decorate([i.Component({selector:"kendo-filter-date-editor",template:'\n <kendo-datepicker\n [kendoAriaLabelValue]="messageFor(\'filterValueAriaLabel\')"\n class="k-filter-toolbar-item k-filter-value"\n [(value)]="currentItem.value"\n (valueChange)="valueChange.emit()"\n [disabled]="isDisabled()">\n <kendo-datepicker-messages\n [toggle]="messageFor(\'editorDateToggleText\')"\n [today]="messageFor(\'editorDateTodayText\')">\n </kendo-datepicker-messages>\n </kendo-datepicker>\n '}),o.__metadata("design:paramtypes",[n.LocalizationService,a.FilterService])],e)}();t.FilterDateEditorComponent=l},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=r(1),i=r(0),n=r(2),a=r(3),l=function(){function e(e,t){this.localization=e,this.filterService=t,this.valueChange=new i.EventEmitter}return e.prototype.messageFor=function(e){return this.localization.get(e)},e.prototype.isDisabled=function(){var e=this.filterService.isEditorDisabled;return e&&(this.currentItem.value=null),e},o.__decorate([i.Input(),o.__metadata("design:type",Object)],e.prototype,"currentItem",void 0),o.__decorate([i.Output(),o.__metadata("design:type",i.EventEmitter)],e.prototype,"valueChange",void 0),e=o.__decorate([i.Component({selector:"kendo-filter-numeric-editor",template:'\n <kendo-numerictextbox\n [kendoAriaLabelValue]="messageFor(\'filterValueAriaLabel\')"\n class="k-filter-toolbar-item k-filter-value"\n [(value)]="currentItem.value"\n (valueChange)="valueChange.emit()"\n [disabled]="isDisabled()">\n <kendo-numerictextbox-messages\n [increment]="messageFor(\'editorNumericIncrement\')"\n [decrement]="messageFor(\'editorNumericDecrement\')">\n </kendo-numerictextbox-messages>\n </kendo-numerictextbox>\n '}),o.__metadata("design:paramtypes",[n.LocalizationService,a.FilterService])],e)}();t.FilterNumericEditorComponent=l},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=r(1),i=r(0),n=r(2),a=r(3),l=function(){function e(e,t){this.localization=e,this.filterService=t,this.valueChange=new i.EventEmitter}return e.prototype.isDisabled=function(){var e=this.filterService.isEditorDisabled;return e&&(this.currentItem.value=null),e},e.prototype.messageFor=function(e){return this.localization.get(e)},o.__decorate([i.Input(),o.__metadata("design:type",Object)],e.prototype,"currentItem",void 0),o.__decorate([i.Output(),o.__metadata("design:type",i.EventEmitter)],e.prototype,"valueChange",void 0),e=o.__decorate([i.Component({selector:"kendo-filter-text-editor",template:'\n <kendo-textbox\n [kendoAriaLabelValue]="messageFor(\'filterValueAriaLabel\')"\n class="k-filter-toolbar-item k-filter-value"\n [(value)]="currentItem.value"\n (valueChange)="valueChange.emit()"\n [disabled]="isDisabled()">\n </kendo-textbox>\n '}),o.__metadata("design:paramtypes",[n.LocalizationService,a.FilterService])],e)}();t.FilterTextEditorComponent=l},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=r(1),i=r(0),n=r(2),a=r(3),l=r(4),s=function(){function e(e,t){this.filterService=e,this.localization=t,this.valueChange=new i.EventEmitter,this.operators=[]}return e.prototype.messageFor=function(e){return this.localization.get(e)},e.prototype.operatorValueChange=function(e){this.valueChange.emit(),this.filterService.isEditorDisabled=l.nullOperators.indexOf(e)>=0},o.__decorate([i.Input(),o.__metadata("design:type",Object)],e.prototype,"currentItem",void 0),o.__decorate([i.Output(),o.__metadata("design:type",i.EventEmitter)],e.prototype,"valueChange",void 0),o.__decorate([i.Input(),o.__metadata("design:type",Array)],e.prototype,"operators",void 0),e=o.__decorate([i.Component({selector:"kendo-filter-expression-operators",template:'\n <kendo-dropdownlist\n [kendoAriaLabelValue]="messageFor(\'filterOperatorAriaLabel\')"\n [data]="operators"\n [title]="messageFor(\'filterExpressionOperators\')"\n [(value)]="currentItem.operator"\n (valueChange)="operatorValueChange($event)"\n [valuePrimitive]="true"\n textField="text"\n valueField="value"\n >\n </kendo-dropdownlist>\n '}),o.__metadata("design:paramtypes",[a.FilterService,n.LocalizationService])],e)}();t.FilterExpressionOperatorsComponent=s},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=r(1),i=r(0),n=r(2),a=r(3),l=r(4),s=function(){function e(e,t,r){this.filterService=e,this.localization=t,this.cdr=r,this.valueChange=new i.EventEmitter,this.operators=[],this.filters=[],this.isBoolean=!1,this.isEditorDisabled=!1}return e.prototype.ngOnInit=function(){var e=this;this.filters=this.filterService.filters;var t=this.getFilterExpressionByField(this.currentItem.field);this.currentItem.field&&this.setOperators(t);var r=this.getFilterExpressionByField(this.filterService.filters[0].field);this.currentItem.field||(this.currentItem.field=this.filterService.filters[0].field,this.setOperators(r)),this.localizationSubscription=this.localization.changes.subscribe((function(){e.setOperators(t||r),e.cdr.detectChanges()}))},e.prototype.ngOnDestroy=function(){this.localizationSubscription&&this.localizationSubscription.unsubscribe()},e.prototype.normalizeOperators=function(e,t){for(var r=[],o=0;o<t.length;o++)l.isFilterEditor(e)&&r.push({value:t[o],text:this.localization.get(l.getKeyByValue(l.defaultOperators[e],t[o]))});return r},e.prototype.messageFor=function(e){return this.localization.get(e)},e.prototype.getFilterExpressionByField=function(e){var t=this.filterService.filters.find((function(t){return t.field===e}));return t||null},e.prototype.filterValueChange=function(e){this.currentItem.value=null,this.currentItem.field=e;var t=this.getFilterExpressionByField(this.currentItem.field);this.setOperators(t),this.valueChange.emit()},e.prototype.getDefaultOperators=function(e){switch(e){case"string":return l.localizeOperators(l.defaultStringOperators)(this.localization);case"number":return l.localizeOperators(l.defaultNumericOperators)(this.localization);case"date":return l.localizeOperators(l.defaultDateOperators)(this.localization)}},e.prototype.getEditorType=function(){var e=this;return this.filterService.filters.find((function(t){return t.field===e.currentItem.field})).editor},e.prototype.removeFilterExpression=function(){this.filterService.remove(this.currentItem,this.index),this.valueChange.emit()},e.prototype.setOperators=function(e){if(this.isBoolean="boolean"===e.editor,!this.isBoolean)if(e.operators){var t=this.normalizeOperators(e.editor,e.operators);this.operators=t,this.currentItem.operator||(this.currentItem.operator=t[0].value)}else this.operators=this.getDefaultOperators(e.editor),this.currentItem.operator||(this.currentItem.operator=this.operators[0].value)},o.__decorate([i.Input(),o.__metadata("design:type",Number)],e.prototype,"index",void 0),o.__decorate([i.Input(),o.__metadata("design:type",Object)],e.prototype,"currentItem",void 0),o.__decorate([i.Output(),o.__metadata("design:type",i.EventEmitter)],e.prototype,"valueChange",void 0),e=o.__decorate([i.Component({selector:"kendo-filter-expression",template:'\n <div class="k-filter-toolbar" role="group" [attr.aria-label]="messageFor(\'filterAriaLabel\')">\n <div class="k-toolbar">\n <div class="k-filter-toolbar-item k-filter-field">\n <kendo-dropdownlist\n [kendoAriaLabelValue]="messageFor(\'filterFieldAriaLabel\')"\n [title]="messageFor(\'filterExpressionFilters\')"\n [data]="filters"\n textField="title"\n valueField="field"\n [value]="currentItem.field"\n [valuePrimitive]="true"\n (valueChange)="filterValueChange($event)">\n </kendo-dropdownlist>\n </div>\n <div *ngIf="!isBoolean" class="k-filter-toolbar-item k-filter-operator">\n <kendo-filter-expression-operators\n [currentItem]="currentItem"\n [operators]="operators"\n (valueChange)="valueChange.emit();">\n </kendo-filter-expression-operators>\n </div>\n\n <ng-container [ngSwitch]="getEditorType()">\n <kendo-filter-text-editor *ngSwitchCase="\'string\'" [currentItem]="currentItem" (valueChange)="valueChange.emit()"></kendo-filter-text-editor>\n <kendo-filter-numeric-editor *ngSwitchCase="\'number\'" [currentItem]="currentItem" (valueChange)="valueChange.emit()"></kendo-filter-numeric-editor>\n <kendo-filter-boolean-editor *ngSwitchCase="\'boolean\'" [currentItem]="currentItem" (valueChange)="valueChange.emit()"></kendo-filter-boolean-editor>\n <kendo-filter-date-editor *ngSwitchCase="\'date\'" [currentItem]="currentItem" (valueChange)="valueChange.emit()"></kendo-filter-date-editor>\n </ng-container>\n\n <div class="k-filter-toolbar-item">\n <button\n kendoButton\n icon="close"\n fillMode="flat"\n [title]="messageFor(\'remove\')"\n (click)="removeFilterExpression()">\n </button>\n </div>\n </div>\n </div>\n '}),o.__metadata("design:paramtypes",[a.FilterService,n.LocalizationService,i.ChangeDetectorRef])],e)}();t.FilterExpressionComponent=s},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=r(1),i=r(0),n=r(2),a=r(3),l=r(4),s=function(){function e(e,t,r){this.filterService=e,this.localization=t,this.cdr=r,this.index=0,this.currentItem={logic:"or",filters:[]},this.valueChange=new i.EventEmitter,this.operators=[]}return e.prototype.ngOnInit=function(){var e=this;this.operators=this.getLogicOperators(),this.localizationSubscription=this.localization.changes.subscribe((function(){e.operators=e.getLogicOperators(),e.cdr.detectChanges()}))},e.prototype.ngOnDestroy=function(){this.localizationSubscription&&this.localizationSubscription.unsubscribe()},e.prototype.getLogicOperators=function(){return l.localizeOperators(l.logicOperators)(this.localization)},e.prototype.messageFor=function(e){return this.localization.get(e)},e.prototype.selectedChange=function(e){this.currentItem.logic!==e&&(this.currentItem.logic=e,this.valueChange.emit())},e.prototype.addFilterExpression=function(){this.filterService.addFilterExpression(this.currentItem),this.valueChange.emit()},e.prototype.addFilterGroup=function(){this.filterService.addFilterGroup(this.currentItem),this.valueChange.emit()},e.prototype.removeFilterGroup=function(){this.filterService.remove(this.currentItem,this.index),this.valueChange.emit()},o.__decorate([i.Input(),o.__metadata("design:type",Number)],e.prototype,"index",void 0),o.__decorate([i.Input(),o.__metadata("design:type",Object)],e.prototype,"currentItem",void 0),o.__decorate([i.Output(),o.__metadata("design:type",i.EventEmitter)],e.prototype,"valueChange",void 0),e=o.__decorate([i.Component({selector:"kendo-filter-group",template:'\n <div class="k-filter-toolbar" role="toolbar" [attr.aria-label]="messageFor(\'filterToolbarAriaLabel\')">\n <div class="k-toolbar">\n <div class="k-filter-toolbar-item">\n <div class="k-widget k-button-group" role="group">\n <button\n *ngFor="let operator of operators"\n kendoButton\n [ngClass]="{\'k-group-start\': operator.value === \'and\', \'k-group-end\': operator.value === \'or\'}"\n [selected]="currentItem.logic === operator.value"\n [title]="operator.text"\n (click)="selectedChange(operator.value)"\n >\n {{operator.text}}\n </button>\n </div>\n </div>\n <div class="k-filter-toolbar-item">\n <button\n kendoButton\n [title]="messageFor(\'addFilter\')"\n icon="filter-add-expression"\n (click)="addFilterExpression()">\n {{messageFor(\'addFilter\')}}\n </button>\n </div>\n <div class="k-filter-toolbar-item">\n <button\n kendoButton\n [title]="messageFor(\'addGroup\')"\n icon="filter-add-group"\n (click)="addFilterGroup()">\n {{messageFor(\'addGroup\')}}\n </button>\n </div>\n <div class="k-filter-toolbar-item">\n <button\n kendoButton\n icon="close"\n fillMode="flat"\n [title]="messageFor(\'remove\')"\n (click)="removeFilterGroup()">\n </button>\n </div>\n </div>\n </div>\n\n <ul class="k-filter-lines" *ngIf="currentItem.filters">\n <ng-container *ngFor="let item of currentItem.filters; let i = index;">\n <li class="k-filter-item" *ngIf="!item.filters">\n <kendo-filter-expression (valueChange)="valueChange.emit()" [currentItem]="item" [index]="i">\n </kendo-filter-expression>\n </li>\n <li class="k-filter-item" *ngIf="item.filters" >\n <kendo-filter-group\n (valueChange)="valueChange.emit()"\n [currentItem]="item"\n [index]="i"\n >\n </kendo-filter-group>\n </li>\n </ng-container>\n </ul>\n '}),o.__metadata("design:paramtypes",[a.FilterService,n.LocalizationService,i.ChangeDetectorRef])],e)}();t.FilterGroupComponent=s},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=r(1),i=r(0),n=r(2),a=r(6),l=function(e){function t(t){var r=e.call(this)||this;return r.service=t,r}var r;return o.__extends(t,e),r=t,Object.defineProperty(t.prototype,"override",{get:function(){return!0},enumerable:!0,configurable:!0}),t=r=o.__decorate([i.Component({providers:[{provide:a.Messages,useExisting:i.forwardRef((function(){return r}))}],selector:"kendo-filter-messages",template:""}),o.__metadata("design:paramtypes",[n.LocalizationService])],t)}(a.Messages);t.CustomMessagesComponent=l},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=r(1),i=r(0),n=r(2),a=r(6),l=function(e){function t(t){var r=e.call(this)||this;return r.service=t,r}var r;return o.__extends(t,e),r=t,t=r=o.__decorate([i.Directive({providers:[{provide:a.Messages,useExisting:i.forwardRef((function(){return r}))}],selector:"[kendoFilterLocalizedMessages]"}),o.__metadata("design:paramtypes",[n.LocalizationService])],t)}(a.Messages);t.LocalizedMessagesDirective=l},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=r(1),i=r(22),n=r(23),a=r(24),l=r(25),s=r(0),u=r(26),d=r(3),p=r(27),f=[i.CommonModule,a.InputsModule,l.LabelModule,n.DropDownsModule,u.ButtonsModule,p.DateInputsModule],c=function(){function e(){}return e=o.__decorate([s.NgModule({imports:f.slice(),exports:f.slice(),providers:[d.FilterService]})],e)}();t.SharedModule=c},function(e,t){e.exports=i},function(e,t){e.exports=n},function(e,t){e.exports=a},function(e,t){e.exports=l},function(e,t){e.exports=s},function(e,t){e.exports=u}])}));
@@ -101,11 +101,15 @@ var FilterExpressionComponent = /** @class */ (function () {
101
101
  if (filter.operators) {
102
102
  var localizedOperators = this.normalizeOperators(filter.editor, filter.operators);
103
103
  this.operators = localizedOperators;
104
- this.currentItem.operator = localizedOperators[0].value;
104
+ if (!this.currentItem.operator) {
105
+ this.currentItem.operator = localizedOperators[0].value;
106
+ }
105
107
  }
106
108
  else {
107
109
  this.operators = this.getDefaultOperators(filter.editor);
108
- this.currentItem.operator = this.operators[0].value;
110
+ if (!this.currentItem.operator) {
111
+ this.currentItem.operator = this.operators[0].value;
112
+ }
109
113
  }
110
114
  };
111
115
  tslib_1.__decorate([
@@ -114,12 +114,6 @@ var FilterComponent = /** @class */ (function () {
114
114
  FilterComponent.prototype.getCurrentFilter = function () {
115
115
  return this.value;
116
116
  };
117
- /**
118
- * @hidden
119
- */
120
- FilterComponent.prototype.getCurrentFilterChildren = function () {
121
- return this.value.filters;
122
- };
123
117
  /**
124
118
  * @hidden
125
119
  */
@@ -134,6 +128,9 @@ var FilterComponent = /** @class */ (function () {
134
128
  if (isDevMode() && foundFilter.editor === 'boolean' && (!filterDescriptor.value && filterDescriptor.value !== false)) {
135
129
  console.warn("Provide a value for the boolean '" + filterDescriptor.field + "' user-defined filter as the operator is always set to 'eq'.");
136
130
  }
131
+ if (filterDescriptor.operator && foundFilter.operators && !foundFilter.operators.some(function (operator) { return operator === filterDescriptor.operator; })) {
132
+ throw new Error("The user-defined filter with field '" + filterDescriptor.field + "' is missing the '" + filterDescriptor.operator + "' operator.");
133
+ }
137
134
  if (foundFilter.editor === 'boolean') {
138
135
  filterDescriptor.operator = 'eq';
139
136
  }
@@ -9,7 +9,7 @@ export var packageMetadata = {
9
9
  name: '@progress/kendo-angular-filter',
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
12
- publishDate: 1645797407,
12
+ publishDate: 1646208424,
13
13
  version: '',
14
14
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
15
15
  };
@@ -99,11 +99,15 @@ let FilterExpressionComponent = class FilterExpressionComponent {
99
99
  if (filter.operators) {
100
100
  const localizedOperators = this.normalizeOperators(filter.editor, filter.operators);
101
101
  this.operators = localizedOperators;
102
- this.currentItem.operator = localizedOperators[0].value;
102
+ if (!this.currentItem.operator) {
103
+ this.currentItem.operator = localizedOperators[0].value;
104
+ }
103
105
  }
104
106
  else {
105
107
  this.operators = this.getDefaultOperators(filter.editor);
106
- this.currentItem.operator = this.operators[0].value;
108
+ if (!this.currentItem.operator) {
109
+ this.currentItem.operator = this.operators[0].value;
110
+ }
107
111
  }
108
112
  }
109
113
  };
@@ -5,7 +5,7 @@
5
5
  import { OnInit, EventEmitter } from '@angular/core';
6
6
  import { LocalizationService } from '@progress/kendo-angular-l10n';
7
7
  import { FilterService } from './filter.service';
8
- import { CompositeFilterDescriptor, FilterDescriptor } from '@progress/kendo-data-query';
8
+ import { CompositeFilterDescriptor } from '@progress/kendo-data-query';
9
9
  import { FilterExpression } from './model/filter-expression';
10
10
  import { Direction } from './util';
11
11
  import { ChangeDetectorRef } from '@angular/core';
@@ -68,10 +68,6 @@ export declare class FilterComponent implements OnInit, OnDestroy {
68
68
  * @hidden
69
69
  */
70
70
  getCurrentFilter(): CompositeFilterDescriptor;
71
- /**
72
- * @hidden
73
- */
74
- getCurrentFilterChildren(): (CompositeFilterDescriptor | FilterDescriptor)[];
75
71
  /**
76
72
  * @hidden
77
73
  */
@@ -104,12 +104,6 @@ let FilterComponent = class FilterComponent {
104
104
  getCurrentFilter() {
105
105
  return this.value;
106
106
  }
107
- /**
108
- * @hidden
109
- */
110
- getCurrentFilterChildren() {
111
- return this.value.filters;
112
- }
113
107
  /**
114
108
  * @hidden
115
109
  */
@@ -124,6 +118,9 @@ let FilterComponent = class FilterComponent {
124
118
  if (isDevMode() && foundFilter.editor === 'boolean' && (!filterDescriptor.value && filterDescriptor.value !== false)) {
125
119
  console.warn(`Provide a value for the boolean '${filterDescriptor.field}' user-defined filter as the operator is always set to 'eq'.`);
126
120
  }
121
+ if (filterDescriptor.operator && foundFilter.operators && !foundFilter.operators.some(operator => operator === filterDescriptor.operator)) {
122
+ throw new Error(`The user-defined filter with field '${filterDescriptor.field}' is missing the '${filterDescriptor.operator}' operator.`);
123
+ }
127
124
  if (foundFilter.editor === 'boolean') {
128
125
  filterDescriptor.operator = 'eq';
129
126
  }