ngx-ode-ui 3.11.1-fix.0 → 3.12.0-dev.3

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.
Files changed (36) hide show
  1. package/bundles/ngx-ode-ui.umd.js +59 -114
  2. package/bundles/ngx-ode-ui.umd.js.map +1 -1
  3. package/bundles/ngx-ode-ui.umd.min.js +2 -2
  4. package/bundles/ngx-ode-ui.umd.min.js.map +1 -1
  5. package/esm2015/lib/components/item-tree/item-tree.component.js +7 -4
  6. package/esm2015/lib/components/list/list.component.js +6 -2
  7. package/esm2015/lib/components/message-box/message-box.component.js +25 -2
  8. package/esm2015/lib/components/message-sticker/message-sticker.component.js +6 -1
  9. package/esm2015/lib/components/mono-select/mono-select.component.js +8 -7
  10. package/esm2015/lib/utils/string.js +7 -2
  11. package/esm2015/ngx-ode-ui.js +1 -1
  12. package/esm2015/public-api.js +3 -3
  13. package/esm5/lib/components/item-tree/item-tree.component.js +7 -4
  14. package/esm5/lib/components/list/list.component.js +6 -2
  15. package/esm5/lib/components/message-box/message-box.component.js +33 -2
  16. package/esm5/lib/components/message-sticker/message-sticker.component.js +6 -1
  17. package/esm5/lib/components/mono-select/mono-select.component.js +8 -7
  18. package/esm5/lib/utils/string.js +7 -2
  19. package/esm5/ngx-ode-ui.js +1 -1
  20. package/esm5/public-api.js +3 -3
  21. package/fesm2015/ngx-ode-ui.js +52 -115
  22. package/fesm2015/ngx-ode-ui.js.map +1 -1
  23. package/fesm5/ngx-ode-ui.js +60 -115
  24. package/fesm5/ngx-ode-ui.js.map +1 -1
  25. package/lib/components/item-tree/item-tree.component.d.ts +3 -2
  26. package/lib/components/list/list.component.d.ts +1 -0
  27. package/lib/components/message-box/message-box.component.d.ts +7 -0
  28. package/lib/components/message-sticker/message-sticker.component.d.ts +1 -0
  29. package/lib/components/mono-select/mono-select.component.d.ts +1 -1
  30. package/lib/utils/string.d.ts +1 -0
  31. package/ngx-ode-ui.metadata.json +1 -1
  32. package/package.json +1 -1
  33. package/public-api.d.ts +0 -1
  34. package/esm2015/lib/helpers/accents.helper.js +0 -104
  35. package/esm5/lib/helpers/accents.helper.js +0 -104
  36. package/lib/helpers/accents.helper.d.ts +0 -1
@@ -1,4 +1,4 @@
1
- import { Injectable, ApplicationRef, forwardRef, EventEmitter, Component, Renderer2, Injector, ViewChild, Input, Output, ElementRef, ContentChild, TemplateRef, Directive, ViewContainerRef, ComponentFactoryResolver, ChangeDetectionStrategy, ContentChildren, HostListener, HostBinding, NgModule, Compiler, Pipe } from '@angular/core';
1
+ import { Injectable, ApplicationRef, forwardRef, EventEmitter, Component, Renderer2, Injector, ViewChild, Input, Output, ElementRef, ContentChild, TemplateRef, HostBinding, Directive, ViewContainerRef, ComponentFactoryResolver, ChangeDetectionStrategy, ContentChildren, HostListener, NgModule, Compiler, Pipe } from '@angular/core';
2
2
  import { throwError, Observable, Subject } from 'rxjs';
3
3
  import { OdeComponent } from 'ngx-ode-core';
4
4
  import { NG_VALUE_ACCESSOR, NgModel, FormsModule } from '@angular/forms';
@@ -868,7 +868,7 @@ class ItemTreeComponent extends OdeComponent {
868
868
  * @return {?}
869
869
  */
870
870
  display(item) {
871
- return item[this.displayProperty];
871
+ return this.displayProperty && item[this.displayProperty];
872
872
  }
873
873
  /**
874
874
  * @param {?} item
@@ -935,7 +935,7 @@ class ItemTreeComponent extends OdeComponent {
935
935
  ItemTreeComponent.decorators = [
936
936
  { type: Component, args: [{
937
937
  selector: 'ode-item-tree',
938
- template: "<ul [ngClass]=\"{ flattened: isFlattened() }\">\n <li *ngFor=\"let item of (items | flattenObjArray: flatten | filter: filter | orderBy: order:reverse)\"\n [ngClass]=\"{ selected: isSelected(item), unfolded: !isFolded(item), parent: hasChildren(item), root: _depth === 0 }\">\n <a href=\"javascript:void(0)\" (click)=\"selectItem(item)\" *ngIf=\"!checkboxMode\">\n <i class=\"opener\" (click)=\"toggleFold($event, item)\"\n *ngIf=\"!isFlattened() && hasChildren(item) && !disableOpener\"></i>\n {{ display(item) }}\n </a>\n <div class=\"checkbox__item\" *ngIf=\"checkboxMode\">\n <input id=\"all\" type=\"checkbox\" [(ngModel)]=\"item.check\" ngDefaultControl>\n <label for=\"all\" (click)=\"checkItem(item)\">{{display(item)}}</label>\n </div>\n <ode-item-tree\n [items]=\"getChildren(item)\"\n [children]=\"childrenProperty\"\n [display]=\"displayProperty\"\n [filter]=\"filter\"\n [order]=\"order\"\n [reverse]=\"reverse\"\n [lastSelected]=\"_lastSelectedItem\"\n [depth]=\"_depth + 1\"\n [disableOpener]=\"disableOpener\"\n [checkboxMode]=\"checkboxMode\"\n (onSelect)=\"bubbleSelect($event)\"\n (onCheck)=\"checkItem($event)\"\n *ngIf=\"(checkboxMode && hasChildren(item)) || (!isFlattened() && hasChildren(item) && !isFolded(item))\">\n </ode-item-tree>\n </li>\n</ul>\n"
938
+ template: "<ul [ngClass]=\"{ flattened: isFlattened() }\">\n <li *ngFor=\"let item of (items | flattenObjArray: flatten | filter: filter | orderBy: order:reverse)\"\n [ngClass]=\"{ selected: isSelected(item), unfolded: !isFolded(item), parent: hasChildren(item), root: _depth === 0 }\">\n <a href=\"javascript:void(0)\" (click)=\"selectItem(item)\" *ngIf=\"!checkboxMode\">\n <i class=\"opener\" (click)=\"toggleFold($event, item)\"\n *ngIf=\"!isFlattened() && hasChildren(item) && !disableOpener\"></i>\n <span *ngIf=\"displayProperty\">{{ display(item) }}</span>\n <span *ngIf=\"displayTemplate\">\n <ng-template [ngTemplateOutlet]=\"displayTemplate\" [ngTemplateOutletContext]=\"{$implicit: item}\"></ng-template>\n </span>\n </a>\n <div class=\"checkbox__item\" *ngIf=\"checkboxMode\">\n <input id=\"all\" type=\"checkbox\" [(ngModel)]=\"item.check\" ngDefaultControl>\n <label *ngIf=\"displayProperty\" for=\"all\" (click)=\"checkItem(item)\">{{display(item)}}</label>\n <span *ngIf=\"displayTemplate\">\n <ng-template [ngTemplateOutlet]=\"displayTemplate\" [ngTemplateOutletContext]=\"{$implicit: item}\"></ng-template>\n </span>\n </div>\n <ode-item-tree\n [items]=\"getChildren(item)\"\n [children]=\"childrenProperty\"\n [display]=\"displayProperty\"\n [displayTemplate]=\"displayTemplate\"\n [filter]=\"filter\"\n [order]=\"order\"\n [reverse]=\"reverse\"\n [lastSelected]=\"_lastSelectedItem\"\n [depth]=\"_depth + 1\"\n [disableOpener]=\"disableOpener\"\n [checkboxMode]=\"checkboxMode\"\n (onSelect)=\"bubbleSelect($event)\"\n (onCheck)=\"checkItem($event)\"\n *ngIf=\"(checkboxMode && hasChildren(item)) || (!isFlattened() && hasChildren(item) && !isFolded(item))\">\n </ode-item-tree>\n </li>\n</ul>\n"
939
939
  }] }
940
940
  ];
941
941
  /** @nocollapse */
@@ -946,6 +946,7 @@ ItemTreeComponent.propDecorators = {
946
946
  items: [{ type: Input }],
947
947
  childrenProperty: [{ type: Input, args: ['children',] }],
948
948
  displayProperty: [{ type: Input, args: ['display',] }],
949
+ displayTemplate: [{ type: Input }],
949
950
  filter: [{ type: Input }],
950
951
  order: [{ type: Input }],
951
952
  reverse: [{ type: Input }],
@@ -969,6 +970,8 @@ if (false) {
969
970
  /** @type {?} */
970
971
  ItemTreeComponent.prototype.displayProperty;
971
972
  /** @type {?} */
973
+ ItemTreeComponent.prototype.displayTemplate;
974
+ /** @type {?} */
972
975
  ItemTreeComponent.prototype.filter;
973
976
  /** @type {?} */
974
977
  ItemTreeComponent.prototype.order;
@@ -1221,6 +1224,7 @@ class ListComponent extends OdeComponent {
1221
1224
  this.model = [];
1222
1225
  this.searchPlaceholder = 'search';
1223
1226
  this.noResultsLabel = 'list.results.no.items';
1227
+ this.searchInput = true;
1224
1228
  this.inputChange = new EventEmitter();
1225
1229
  this.onSelect = new EventEmitter();
1226
1230
  this.listChange = new EventEmitter();
@@ -1259,7 +1263,7 @@ class ListComponent extends OdeComponent {
1259
1263
  ListComponent.decorators = [
1260
1264
  { type: Component, args: [{
1261
1265
  selector: 'ode-list',
1262
- template: "<ode-search-input [attr.placeholder]=\"searchPlaceholder | translate\" (onChange)=\"inputChange.emit($event)\"></ode-search-input>\n<div class=\"toolbar\">\n <ng-content select=\"[toolbar]\"></ng-content>\n</div>\n<div class=\"list-wrapper\"\n infiniteScroll\n [scrollWindow]=\"false\"\n (scrolled)=\"scrolledDown.emit()\"\n [infiniteScrollThrottle]=\"50\">\n <ul>\n <li *ngFor=\"let item of model | filter: filters | filter: inputFilter | store:self:'storedElements' | orderBy: sort | slice: 0:limit\"\n (click)=\"onSelect.emit(item)\"\n [class.selected]=\"isSelected(item)\"\n [class.disabled]=\"isDisabled(item)\"\n [ngClass]=\"ngClass(item)\"\n class=\"lct-list-item\">\n <ng-template [ngTemplateOutlet]=\"templateRef\" [ngTemplateOutletContext]=\"{$implicit: item}\">\n </ng-template>\n </li>\n </ul>\n <ul *ngIf=\"storedElements && storedElements.length === 0\">\n <li class=\"no-results\">{{ noResultsLabel | translate }}</li>\n </ul>\n</div>\n",
1266
+ template: "<ode-search-input *ngIf=\"searchInput\" [attr.placeholder]=\"searchPlaceholder | translate\" (onChange)=\"inputChange.emit($event)\"></ode-search-input>\n<div class=\"toolbar\">\n <ng-content select=\"[toolbar]\"></ng-content>\n</div>\n<div class=\"list-wrapper\"\n infiniteScroll\n [scrollWindow]=\"false\"\n (scrolled)=\"scrolledDown.emit()\"\n [infiniteScrollThrottle]=\"50\">\n <ul>\n <li *ngFor=\"let item of model | filter: filters | filter: inputFilter | store:self:'storedElements' | orderBy: sort | slice: 0:limit\"\n (click)=\"onSelect.emit(item)\"\n [class.selected]=\"isSelected(item)\"\n [class.disabled]=\"isDisabled(item)\"\n [ngClass]=\"ngClass(item)\"\n class=\"lct-list-item\">\n <ng-template [ngTemplateOutlet]=\"templateRef\" [ngTemplateOutletContext]=\"{$implicit: item}\">\n </ng-template>\n </li>\n </ul>\n <ul *ngIf=\"storedElements && storedElements.length === 0\">\n <li class=\"no-results\">{{ noResultsLabel | translate }}</li>\n </ul>\n</div>\n",
1263
1267
  styles: ["ul{margin:0;padding:0;font-size:.9em}ul li{cursor:pointer;border-top:1px solid #ddd;padding:10px}ul li.disabled{pointer-events:none}"]
1264
1268
  }] }
1265
1269
  ];
@@ -1275,6 +1279,7 @@ ListComponent.propDecorators = {
1275
1279
  limit: [{ type: Input }],
1276
1280
  searchPlaceholder: [{ type: Input }],
1277
1281
  noResultsLabel: [{ type: Input }],
1282
+ searchInput: [{ type: Input }],
1278
1283
  inputChange: [{ type: Output }],
1279
1284
  onSelect: [{ type: Output }],
1280
1285
  listChange: [{ type: Output }],
@@ -1304,6 +1309,8 @@ if (false) {
1304
1309
  /** @type {?} */
1305
1310
  ListComponent.prototype.noResultsLabel;
1306
1311
  /** @type {?} */
1312
+ ListComponent.prototype.searchInput;
1313
+ /** @type {?} */
1307
1314
  ListComponent.prototype.inputChange;
1308
1315
  /** @type {?} */
1309
1316
  ListComponent.prototype.onSelect;
@@ -1342,6 +1349,11 @@ class MessageBoxComponent extends OdeComponent {
1342
1349
  super(injector);
1343
1350
  this.eltRef = eltRef;
1344
1351
  this._position = 'inherit';
1352
+ /**
1353
+ * `gravity` set the relative position of the message box if its position is 'absolute'.
1354
+ * No effect when position is 'inherit'.
1355
+ */
1356
+ this.gravity = 'left';
1345
1357
  this.hidden = false;
1346
1358
  }
1347
1359
  /**
@@ -1372,6 +1384,14 @@ class MessageBoxComponent extends OdeComponent {
1372
1384
  set position(value) {
1373
1385
  this._position = value;
1374
1386
  }
1387
+ /**
1388
+ * @return {?}
1389
+ */
1390
+ get isGravityLeft() { return this.gravity === 'left'; }
1391
+ /**
1392
+ * @return {?}
1393
+ */
1394
+ get isGravityRight() { return this.gravity === 'right'; }
1375
1395
  /**
1376
1396
  * @return {?}
1377
1397
  */
@@ -1408,7 +1428,7 @@ MessageBoxComponent.decorators = [
1408
1428
  { type: Component, args: [{
1409
1429
  selector: 'message-box',
1410
1430
  template: "<article class=\"message is-{{type}}\" [hidden]=\"hidden\">\n <div *ngIf=\"header\" class=\"message-header\">\n <p>\n <i *ngIf=\"canHide()\" (click)=\"hide()\" class=\"fa fa-times-circle\"></i>\n {{header | translate}}\n </p>\n </div>\n <div class=\"message-body\">\n <i *ngIf=\"canHide() && !header\" (click)=\"hide()\" class=\"fa fa-times-circle\"></i>\n <p *ngFor=\"let message of messages\">\n <s5l [s5l-params]=\"message[1]\">{{message[0]}}</s5l>\n </p>\n </div>\n</article>\n",
1411
- styles: [":host{font-size:initial;position:inherit;top:-5px;right:-5px}:host .message{border:1px solid}i.fa-times-circle{display:inline-flex;float:right;cursor:pointer;font-weight:700}"]
1431
+ styles: [":host{font-size:initial;position:inherit;top:-5px}:host.gravity-left{right:-5px}:host.gravity-right{left:-5px}:host .message{border:1px solid}i.fa-times-circle{display:inline-flex;float:right;cursor:pointer;font-weight:700}"]
1412
1432
  }] }
1413
1433
  ];
1414
1434
  /** @nocollapse */
@@ -1421,6 +1441,9 @@ MessageBoxComponent.propDecorators = {
1421
1441
  header: [{ type: Input }],
1422
1442
  messages: [{ type: Input }],
1423
1443
  position: [{ type: Input }],
1444
+ gravity: [{ type: Input }],
1445
+ isGravityLeft: [{ type: HostBinding, args: ['class.gravity-left',] }],
1446
+ isGravityRight: [{ type: HostBinding, args: ['class.gravity-right',] }],
1424
1447
  hideEvent: [{ type: Output, args: ['onHide',] }]
1425
1448
  };
1426
1449
  if (false) {
@@ -1438,6 +1461,12 @@ if (false) {
1438
1461
  * @private
1439
1462
  */
1440
1463
  MessageBoxComponent.prototype._position;
1464
+ /**
1465
+ * `gravity` set the relative position of the message box if its position is 'absolute'.
1466
+ * No effect when position is 'inherit'.
1467
+ * @type {?}
1468
+ */
1469
+ MessageBoxComponent.prototype.gravity;
1441
1470
  /** @type {?} */
1442
1471
  MessageBoxComponent.prototype.hidden;
1443
1472
  /** @type {?} */
@@ -1592,6 +1621,7 @@ class MessageStickerComponent extends OdeComponent {
1592
1621
  */
1593
1622
  constructor(injector) {
1594
1623
  super(injector);
1624
+ this.gravity = 'left';
1595
1625
  this.icons = icons;
1596
1626
  }
1597
1627
  /**
@@ -1612,6 +1642,7 @@ class MessageStickerComponent extends OdeComponent {
1612
1642
  header: this.header,
1613
1643
  messages: this.messages,
1614
1644
  position: 'absolute',
1645
+ gravity: this.gravity,
1615
1646
  hideEvent: new EventEmitter()
1616
1647
  });
1617
1648
  }
@@ -1637,6 +1668,7 @@ MessageStickerComponent.propDecorators = {
1637
1668
  type: [{ type: Input }],
1638
1669
  header: [{ type: Input }],
1639
1670
  messages: [{ type: Input }],
1671
+ gravity: [{ type: Input }],
1640
1672
  dComponent: [{ type: ViewChild, args: [DynamicComponentDirective, { static: false },] }]
1641
1673
  };
1642
1674
  if (false) {
@@ -1647,6 +1679,8 @@ if (false) {
1647
1679
  /** @type {?} */
1648
1680
  MessageStickerComponent.prototype.messages;
1649
1681
  /** @type {?} */
1682
+ MessageStickerComponent.prototype.gravity;
1683
+ /** @type {?} */
1650
1684
  MessageStickerComponent.prototype.dComponent;
1651
1685
  /** @type {?} */
1652
1686
  MessageStickerComponent.prototype.icons;
@@ -1673,7 +1707,7 @@ class MonoSelectComponent extends OdeComponent {
1673
1707
  this.translateOptions = true;
1674
1708
  this.opened = false;
1675
1709
  this.selectedOption = null;
1676
- this.isDisabled = false;
1710
+ this.disabled = false;
1677
1711
  this.onChange = (/**
1678
1712
  * @param {?} _
1679
1713
  * @return {?}
@@ -1710,7 +1744,7 @@ class MonoSelectComponent extends OdeComponent {
1710
1744
  * @return {?}
1711
1745
  */
1712
1746
  onClickOnHost() {
1713
- if (!this.opened && !this.isDisabled) {
1747
+ if (!this.opened && !this.disabled) {
1714
1748
  this.opened = true;
1715
1749
  }
1716
1750
  else {
@@ -1736,7 +1770,7 @@ class MonoSelectComponent extends OdeComponent {
1736
1770
  * @return {?}
1737
1771
  */
1738
1772
  setDisabledState(isDisabled) {
1739
- this.isDisabled = isDisabled;
1773
+ this.disabled = isDisabled;
1740
1774
  }
1741
1775
  /**
1742
1776
  * @param {?} obj
@@ -1754,7 +1788,7 @@ class MonoSelectComponent extends OdeComponent {
1754
1788
  MonoSelectComponent.decorators = [
1755
1789
  { type: Component, args: [{
1756
1790
  selector: 'ode-mono-select',
1757
- template: "<div class=\"form-select lct-form-select\" [ngClass]=\"{'form-select--opened': opened, 'form-select--disabled': isDisabled}\">\n <ul>\n <li class=\"form-select__options--selected lct-form-select__options--selected\">\n <strong>{{selectedOption ? ((translateOptions == true) ? (selectedOption.label | translate) : selectedOption.label) : (placeholder | translate)}}</strong>\n <ul class=\"form-select__list lct-form-select__list\" *ngIf=\"opened\">\n <li class=\"form-select__options lct-form-select__options\"\n (click)=\"$event.stopPropagation(); optionClicked()\">{{placeholder | translate}}</li>\n <li class=\"form-select__options lct-form-select__options\"\n *ngFor=\"let option of options\"\n (click)=\"$event.stopPropagation(); optionClicked(option)\">{{(translateOptions == true) ? (option.label | translate) : option.label}}</li>\n </ul>\n </li>\n </ul>\n</div>\n",
1791
+ template: "<div class=\"form-select lct-form-select\" [ngClass]=\"{'form-select--opened': opened, 'form-select--disabled': disabled}\">\n <ul>\n <li class=\"form-select__options--selected lct-form-select__options--selected\">\n <strong>{{selectedOption ? ((translateOptions == true) ? (selectedOption.label | translate) : selectedOption.label) : (placeholder | translate)}}</strong>\n <ul class=\"form-select__list lct-form-select__list\" *ngIf=\"opened\">\n <li class=\"form-select__options lct-form-select__options\"\n (click)=\"$event.stopPropagation(); optionClicked()\">{{placeholder | translate}}</li>\n <li class=\"form-select__options lct-form-select__options\"\n *ngFor=\"let option of options\"\n (click)=\"$event.stopPropagation(); optionClicked(option)\">{{(translateOptions == true) ? (option.label | translate) : option.label}}</li>\n </ul>\n </li>\n </ul>\n</div>\n",
1758
1792
  providers: [{
1759
1793
  provide: NG_VALUE_ACCESSOR,
1760
1794
  useExisting: forwardRef((/**
@@ -1778,7 +1812,8 @@ MonoSelectComponent.propDecorators = {
1778
1812
  placeholder: [{ type: Input }],
1779
1813
  options: [{ type: Input }],
1780
1814
  trackByFn: [{ type: Input }],
1781
- translateOptions: [{ type: Input }]
1815
+ translateOptions: [{ type: Input }],
1816
+ disabled: [{ type: Input }]
1782
1817
  };
1783
1818
  if (false) {
1784
1819
  /** @type {?} */
@@ -1794,7 +1829,7 @@ if (false) {
1794
1829
  /** @type {?} */
1795
1830
  MonoSelectComponent.prototype.selectedOption;
1796
1831
  /** @type {?} */
1797
- MonoSelectComponent.prototype.isDisabled;
1832
+ MonoSelectComponent.prototype.disabled;
1798
1833
  /**
1799
1834
  * @type {?}
1800
1835
  * @private
@@ -4420,110 +4455,6 @@ LengthPipe.decorators = [
4420
4455
  },] }
4421
4456
  ];
4422
4457
 
4423
- /**
4424
- * @fileoverview added by tsickle
4425
- * Generated from: lib/helpers/accents.helper.ts
4426
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4427
- */
4428
- /** @type {?} */
4429
- const defaultDiacriticsRemovalMap = [
4430
- { base: 'A', letters: /[\u0041\u24B6\uFF21\u00C0\u00C1\u00C2\u1EA6\u1EA4\u1EAA\u1EA8\u00C3\u0100\u0102\u1EB0\u1EAE\u1EB4\u1EB2\u0226\u01E0\u00C4\u01DE\u1EA2\u00C5\u01FA\u01CD\u0200\u0202\u1EA0\u1EAC\u1EB6\u1E00\u0104\u023A\u2C6F]/g },
4431
- { base: 'AA', letters: /[\uA732]/g },
4432
- { base: 'AE', letters: /[\u00C6\u01FC\u01E2]/g },
4433
- { base: 'AO', letters: /[\uA734]/g },
4434
- { base: 'AU', letters: /[\uA736]/g },
4435
- { base: 'AV', letters: /[\uA738\uA73A]/g },
4436
- { base: 'AY', letters: /[\uA73C]/g },
4437
- { base: 'B', letters: /[\u0042\u24B7\uFF22\u1E02\u1E04\u1E06\u0243\u0182\u0181]/g },
4438
- { base: 'C', letters: /[\u0043\u24B8\uFF23\u0106\u0108\u010A\u010C\u00C7\u1E08\u0187\u023B\uA73E]/g },
4439
- { base: 'D', letters: /[\u0044\u24B9\uFF24\u1E0A\u010E\u1E0C\u1E10\u1E12\u1E0E\u0110\u018B\u018A\u0189\uA779]/g },
4440
- { base: 'DZ', letters: /[\u01F1\u01C4]/g },
4441
- { base: 'Dz', letters: /[\u01F2\u01C5]/g },
4442
- { base: 'E', letters: /[\u0045\u24BA\uFF25\u00C8\u00C9\u00CA\u1EC0\u1EBE\u1EC4\u1EC2\u1EBC\u0112\u1E14\u1E16\u0114\u0116\u00CB\u1EBA\u011A\u0204\u0206\u1EB8\u1EC6\u0228\u1E1C\u0118\u1E18\u1E1A\u0190\u018E]/g },
4443
- { base: 'F', letters: /[\u0046\u24BB\uFF26\u1E1E\u0191\uA77B]/g },
4444
- { base: 'G', letters: /[\u0047\u24BC\uFF27\u01F4\u011C\u1E20\u011E\u0120\u01E6\u0122\u01E4\u0193\uA7A0\uA77D\uA77E]/g },
4445
- { base: 'H', letters: /[\u0048\u24BD\uFF28\u0124\u1E22\u1E26\u021E\u1E24\u1E28\u1E2A\u0126\u2C67\u2C75\uA78D]/g },
4446
- { base: 'I', letters: /[\u0049\u24BE\uFF29\u00CC\u00CD\u00CE\u0128\u012A\u012C\u0130\u00CF\u1E2E\u1EC8\u01CF\u0208\u020A\u1ECA\u012E\u1E2C\u0197]/g },
4447
- { base: 'J', letters: /[\u004A\u24BF\uFF2A\u0134\u0248]/g },
4448
- { base: 'K', letters: /[\u004B\u24C0\uFF2B\u1E30\u01E8\u1E32\u0136\u1E34\u0198\u2C69\uA740\uA742\uA744\uA7A2]/g },
4449
- { base: 'L', letters: /[\u004C\u24C1\uFF2C\u013F\u0139\u013D\u1E36\u1E38\u013B\u1E3C\u1E3A\u0141\u023D\u2C62\u2C60\uA748\uA746\uA780]/g },
4450
- { base: 'LJ', letters: /[\u01C7]/g },
4451
- { base: 'Lj', letters: /[\u01C8]/g },
4452
- { base: 'M', letters: /[\u004D\u24C2\uFF2D\u1E3E\u1E40\u1E42\u2C6E\u019C]/g },
4453
- { base: 'N', letters: /[\u004E\u24C3\uFF2E\u01F8\u0143\u00D1\u1E44\u0147\u1E46\u0145\u1E4A\u1E48\u0220\u019D\uA790\uA7A4]/g },
4454
- { base: 'NJ', letters: /[\u01CA]/g },
4455
- { base: 'Nj', letters: /[\u01CB]/g },
4456
- { base: 'O', letters: /[\u004F\u24C4\uFF2F\u00D2\u00D3\u00D4\u1ED2\u1ED0\u1ED6\u1ED4\u00D5\u1E4C\u022C\u1E4E\u014C\u1E50\u1E52\u014E\u022E\u0230\u00D6\u022A\u1ECE\u0150\u01D1\u020C\u020E\u01A0\u1EDC\u1EDA\u1EE0\u1EDE\u1EE2\u1ECC\u1ED8\u01EA\u01EC\u00D8\u01FE\u0186\u019F\uA74A\uA74C]/g },
4457
- { base: 'OI', letters: /[\u01A2]/g },
4458
- { base: 'OO', letters: /[\uA74E]/g },
4459
- { base: 'OU', letters: /[\u0222]/g },
4460
- { base: 'P', letters: /[\u0050\u24C5\uFF30\u1E54\u1E56\u01A4\u2C63\uA750\uA752\uA754]/g },
4461
- { base: 'Q', letters: /[\u0051\u24C6\uFF31\uA756\uA758\u024A]/g },
4462
- { base: 'R', letters: /[\u0052\u24C7\uFF32\u0154\u1E58\u0158\u0210\u0212\u1E5A\u1E5C\u0156\u1E5E\u024C\u2C64\uA75A\uA7A6\uA782]/g },
4463
- { base: 'S', letters: /[\u0053\u24C8\uFF33\u1E9E\u015A\u1E64\u015C\u1E60\u0160\u1E66\u1E62\u1E68\u0218\u015E\u2C7E\uA7A8\uA784]/g },
4464
- { base: 'T', letters: /[\u0054\u24C9\uFF34\u1E6A\u0164\u1E6C\u021A\u0162\u1E70\u1E6E\u0166\u01AC\u01AE\u023E\uA786]/g },
4465
- { base: 'TZ', letters: /[\uA728]/g },
4466
- { base: 'U', letters: /[\u0055\u24CA\uFF35\u00D9\u00DA\u00DB\u0168\u1E78\u016A\u1E7A\u016C\u00DC\u01DB\u01D7\u01D5\u01D9\u1EE6\u016E\u0170\u01D3\u0214\u0216\u01AF\u1EEA\u1EE8\u1EEE\u1EEC\u1EF0\u1EE4\u1E72\u0172\u1E76\u1E74\u0244]/g },
4467
- { base: 'V', letters: /[\u0056\u24CB\uFF36\u1E7C\u1E7E\u01B2\uA75E\u0245]/g },
4468
- { base: 'VY', letters: /[\uA760]/g },
4469
- { base: 'W', letters: /[\u0057\u24CC\uFF37\u1E80\u1E82\u0174\u1E86\u1E84\u1E88\u2C72]/g },
4470
- { base: 'X', letters: /[\u0058\u24CD\uFF38\u1E8A\u1E8C]/g },
4471
- { base: 'Y', letters: /[\u0059\u24CE\uFF39\u1EF2\u00DD\u0176\u1EF8\u0232\u1E8E\u0178\u1EF6\u1EF4\u01B3\u024E\u1EFE]/g },
4472
- { base: 'Z', letters: /[\u005A\u24CF\uFF3A\u0179\u1E90\u017B\u017D\u1E92\u1E94\u01B5\u0224\u2C7F\u2C6B\uA762]/g },
4473
- { base: 'a', letters: /[\u0061\u24D0\uFF41\u1E9A\u00E0\u00E1\u00E2\u1EA7\u1EA5\u1EAB\u1EA9\u00E3\u0101\u0103\u1EB1\u1EAF\u1EB5\u1EB3\u0227\u01E1\u00E4\u01DF\u1EA3\u00E5\u01FB\u01CE\u0201\u0203\u1EA1\u1EAD\u1EB7\u1E01\u0105\u2C65\u0250]/g },
4474
- { base: 'aa', letters: /[\uA733]/g },
4475
- { base: 'ae', letters: /[\u00E6\u01FD\u01E3]/g },
4476
- { base: 'ao', letters: /[\uA735]/g },
4477
- { base: 'au', letters: /[\uA737]/g },
4478
- { base: 'av', letters: /[\uA739\uA73B]/g },
4479
- { base: 'ay', letters: /[\uA73D]/g },
4480
- { base: 'b', letters: /[\u0062\u24D1\uFF42\u1E03\u1E05\u1E07\u0180\u0183\u0253]/g },
4481
- { base: 'c', letters: /[\u0063\u24D2\uFF43\u0107\u0109\u010B\u010D\u00E7\u1E09\u0188\u023C\uA73F\u2184]/g },
4482
- { base: 'd', letters: /[\u0064\u24D3\uFF44\u1E0B\u010F\u1E0D\u1E11\u1E13\u1E0F\u0111\u018C\u0256\u0257\uA77A]/g },
4483
- { base: 'dz', letters: /[\u01F3\u01C6]/g },
4484
- { base: 'e', letters: /[\u0065\u24D4\uFF45\u00E8\u00E9\u00EA\u1EC1\u1EBF\u1EC5\u1EC3\u1EBD\u0113\u1E15\u1E17\u0115\u0117\u00EB\u1EBB\u011B\u0205\u0207\u1EB9\u1EC7\u0229\u1E1D\u0119\u1E19\u1E1B\u0247\u025B\u01DD]/g },
4485
- { base: 'f', letters: /[\u0066\u24D5\uFF46\u1E1F\u0192\uA77C]/g },
4486
- { base: 'g', letters: /[\u0067\u24D6\uFF47\u01F5\u011D\u1E21\u011F\u0121\u01E7\u0123\u01E5\u0260\uA7A1\u1D79\uA77F]/g },
4487
- { base: 'h', letters: /[\u0068\u24D7\uFF48\u0125\u1E23\u1E27\u021F\u1E25\u1E29\u1E2B\u1E96\u0127\u2C68\u2C76\u0265]/g },
4488
- { base: 'hv', letters: /[\u0195]/g },
4489
- { base: 'i', letters: /[\u0069\u24D8\uFF49\u00EC\u00ED\u00EE\u0129\u012B\u012D\u00EF\u1E2F\u1EC9\u01D0\u0209\u020B\u1ECB\u012F\u1E2D\u0268\u0131]/g },
4490
- { base: 'j', letters: /[\u006A\u24D9\uFF4A\u0135\u01F0\u0249]/g },
4491
- { base: 'k', letters: /[\u006B\u24DA\uFF4B\u1E31\u01E9\u1E33\u0137\u1E35\u0199\u2C6A\uA741\uA743\uA745\uA7A3]/g },
4492
- { base: 'l', letters: /[\u006C\u24DB\uFF4C\u0140\u013A\u013E\u1E37\u1E39\u013C\u1E3D\u1E3B\u017F\u0142\u019A\u026B\u2C61\uA749\uA781\uA747]/g },
4493
- { base: 'lj', letters: /[\u01C9]/g },
4494
- { base: 'm', letters: /[\u006D\u24DC\uFF4D\u1E3F\u1E41\u1E43\u0271\u026F]/g },
4495
- { base: 'n', letters: /[\u006E\u24DD\uFF4E\u01F9\u0144\u00F1\u1E45\u0148\u1E47\u0146\u1E4B\u1E49\u019E\u0272\u0149\uA791\uA7A5]/g },
4496
- { base: 'nj', letters: /[\u01CC]/g },
4497
- { base: 'o', letters: /[\u006F\u24DE\uFF4F\u00F2\u00F3\u00F4\u1ED3\u1ED1\u1ED7\u1ED5\u00F5\u1E4D\u022D\u1E4F\u014D\u1E51\u1E53\u014F\u022F\u0231\u00F6\u022B\u1ECF\u0151\u01D2\u020D\u020F\u01A1\u1EDD\u1EDB\u1EE1\u1EDF\u1EE3\u1ECD\u1ED9\u01EB\u01ED\u00F8\u01FF\u0254\uA74B\uA74D\u0275]/g },
4498
- { base: 'oi', letters: /[\u01A3]/g },
4499
- { base: 'ou', letters: /[\u0223]/g },
4500
- { base: 'oo', letters: /[\uA74F]/g },
4501
- { base: 'p', letters: /[\u0070\u24DF\uFF50\u1E55\u1E57\u01A5\u1D7D\uA751\uA753\uA755]/g },
4502
- { base: 'q', letters: /[\u0071\u24E0\uFF51\u024B\uA757\uA759]/g },
4503
- { base: 'r', letters: /[\u0072\u24E1\uFF52\u0155\u1E59\u0159\u0211\u0213\u1E5B\u1E5D\u0157\u1E5F\u024D\u027D\uA75B\uA7A7\uA783]/g },
4504
- { base: 's', letters: /[\u0073\u24E2\uFF53\u00DF\u015B\u1E65\u015D\u1E61\u0161\u1E67\u1E63\u1E69\u0219\u015F\u023F\uA7A9\uA785\u1E9B]/g },
4505
- { base: 't', letters: /[\u0074\u24E3\uFF54\u1E6B\u1E97\u0165\u1E6D\u021B\u0163\u1E71\u1E6F\u0167\u01AD\u0288\u2C66\uA787]/g },
4506
- { base: 'tz', letters: /[\uA729]/g },
4507
- { base: 'u', letters: /[\u0075\u24E4\uFF55\u00F9\u00FA\u00FB\u0169\u1E79\u016B\u1E7B\u016D\u00FC\u01DC\u01D8\u01D6\u01DA\u1EE7\u016F\u0171\u01D4\u0215\u0217\u01B0\u1EEB\u1EE9\u1EEF\u1EED\u1EF1\u1EE5\u1E73\u0173\u1E77\u1E75\u0289]/g },
4508
- { base: 'v', letters: /[\u0076\u24E5\uFF56\u1E7D\u1E7F\u028B\uA75F\u028C]/g },
4509
- { base: 'vy', letters: /[\uA761]/g },
4510
- { base: 'w', letters: /[\u0077\u24E6\uFF57\u1E81\u1E83\u0175\u1E87\u1E85\u1E98\u1E89\u2C73]/g },
4511
- { base: 'x', letters: /[\u0078\u24E7\uFF58\u1E8B\u1E8D]/g },
4512
- { base: 'y', letters: /[\u0079\u24E8\uFF59\u1EF3\u00FD\u0177\u1EF9\u0233\u1E8F\u00FF\u1EF7\u1E99\u1EF5\u01B4\u024F\u1EFF]/g },
4513
- { base: 'z', letters: /[\u007A\u24E9\uFF5A\u017A\u1E91\u017C\u017E\u1E93\u1E95\u01B6\u0225\u0240\u2C6C\uA763]/g }
4514
- ];
4515
- /** @type {?} */
4516
- const removeAccents = (/**
4517
- * @param {?} str
4518
- * @return {?}
4519
- */
4520
- (str) => {
4521
- for (let i = 0; i < defaultDiacriticsRemovalMap.length; i++) {
4522
- str = str.replace(defaultDiacriticsRemovalMap[i].letters, defaultDiacriticsRemovalMap[i].base);
4523
- }
4524
- return str;
4525
- });
4526
-
4527
4458
  /**
4528
4459
  * @fileoverview added by tsickle
4529
4460
  * Generated from: lib/utils/string.ts
@@ -4546,6 +4477,12 @@ function trim(text) {
4546
4477
  function standardise(str) {
4547
4478
  return removeAccents(str != null ? str : '').toLowerCase().replace('\\s+', ' ');
4548
4479
  }
4480
+ /** @type {?} */
4481
+ const removeAccents = (/**
4482
+ * @param {?} str
4483
+ * @return {?}
4484
+ */
4485
+ (str) => str.normalize("NFD").replace(/\p{Diacritic}/gu, ''));
4549
4486
 
4550
4487
  /**
4551
4488
  * @fileoverview added by tsickle