ngx-ode-ui 3.11.1-dev.0 → 3.12.0-dev.10

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 (50) hide show
  1. package/bundles/ngx-ode-ui.umd.js +310 -120
  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/dropdown/dropdown.component.js +76 -0
  6. package/esm2015/lib/components/item-tree/item-tree.component.js +7 -4
  7. package/esm2015/lib/components/list/list.component.js +13 -2
  8. package/esm2015/lib/components/list-checkable/list-checkable.component.js +137 -0
  9. package/esm2015/lib/components/message-box/message-box.component.js +25 -2
  10. package/esm2015/lib/components/message-sticker/message-sticker.component.js +6 -1
  11. package/esm2015/lib/components/mono-select/mono-select.component.js +8 -7
  12. package/esm2015/lib/components/multi-combo/multi-combo.component.js +2 -2
  13. package/esm2015/lib/components/search-input/search-input.component.js +15 -3
  14. package/esm2015/lib/ngx-ode-ui.module.js +8 -2
  15. package/esm2015/lib/utils/string.js +7 -2
  16. package/esm2015/ngx-ode-ui.js +3 -2
  17. package/esm2015/public-api.js +4 -3
  18. package/esm5/lib/components/dropdown/dropdown.component.js +81 -0
  19. package/esm5/lib/components/item-tree/item-tree.component.js +7 -4
  20. package/esm5/lib/components/list/list.component.js +13 -2
  21. package/esm5/lib/components/list-checkable/list-checkable.component.js +148 -0
  22. package/esm5/lib/components/message-box/message-box.component.js +33 -2
  23. package/esm5/lib/components/message-sticker/message-sticker.component.js +6 -1
  24. package/esm5/lib/components/mono-select/mono-select.component.js +8 -7
  25. package/esm5/lib/components/multi-combo/multi-combo.component.js +2 -2
  26. package/esm5/lib/components/search-input/search-input.component.js +16 -5
  27. package/esm5/lib/ngx-ode-ui.module.js +8 -2
  28. package/esm5/lib/utils/string.js +7 -2
  29. package/esm5/ngx-ode-ui.js +3 -2
  30. package/esm5/public-api.js +4 -3
  31. package/fesm2015/ngx-ode-ui.js +289 -120
  32. package/fesm2015/ngx-ode-ui.js.map +1 -1
  33. package/fesm5/ngx-ode-ui.js +310 -122
  34. package/fesm5/ngx-ode-ui.js.map +1 -1
  35. package/lib/components/dropdown/dropdown.component.d.ts +36 -0
  36. package/lib/components/item-tree/item-tree.component.d.ts +3 -2
  37. package/lib/components/list/list.component.d.ts +3 -0
  38. package/lib/components/list-checkable/list-checkable.component.d.ts +55 -0
  39. package/lib/components/message-box/message-box.component.d.ts +7 -0
  40. package/lib/components/message-sticker/message-sticker.component.d.ts +1 -0
  41. package/lib/components/mono-select/mono-select.component.d.ts +1 -1
  42. package/lib/components/search-input/search-input.component.d.ts +3 -0
  43. package/lib/utils/string.d.ts +1 -0
  44. package/ngx-ode-ui.d.ts +1 -0
  45. package/ngx-ode-ui.metadata.json +1 -1
  46. package/package.json +1 -1
  47. package/public-api.d.ts +1 -1
  48. package/esm2015/lib/helpers/accents.helper.js +0 -104
  49. package/esm5/lib/helpers/accents.helper.js +0 -104
  50. 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 { __spread, __extends, __values } from 'tslib';
4
4
  import { OdeComponent } from 'ngx-ode-core';
@@ -1002,7 +1002,7 @@ var ItemTreeComponent = /** @class */ (function (_super) {
1002
1002
  * @return {?}
1003
1003
  */
1004
1004
  function (item) {
1005
- return item[this.displayProperty];
1005
+ return this.displayProperty && item[this.displayProperty];
1006
1006
  };
1007
1007
  /**
1008
1008
  * @param {?} item
@@ -1084,7 +1084,7 @@ var ItemTreeComponent = /** @class */ (function (_super) {
1084
1084
  ItemTreeComponent.decorators = [
1085
1085
  { type: Component, args: [{
1086
1086
  selector: 'ode-item-tree',
1087
- 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"
1087
+ 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"
1088
1088
  }] }
1089
1089
  ];
1090
1090
  /** @nocollapse */
@@ -1095,6 +1095,7 @@ var ItemTreeComponent = /** @class */ (function (_super) {
1095
1095
  items: [{ type: Input }],
1096
1096
  childrenProperty: [{ type: Input, args: ['children',] }],
1097
1097
  displayProperty: [{ type: Input, args: ['display',] }],
1098
+ displayTemplate: [{ type: Input }],
1098
1099
  filter: [{ type: Input }],
1099
1100
  order: [{ type: Input }],
1100
1101
  reverse: [{ type: Input }],
@@ -1120,6 +1121,8 @@ if (false) {
1120
1121
  /** @type {?} */
1121
1122
  ItemTreeComponent.prototype.displayProperty;
1122
1123
  /** @type {?} */
1124
+ ItemTreeComponent.prototype.displayTemplate;
1125
+ /** @type {?} */
1123
1126
  ItemTreeComponent.prototype.filter;
1124
1127
  /** @type {?} */
1125
1128
  ItemTreeComponent.prototype.order;
@@ -1380,6 +1383,8 @@ var ListComponent = /** @class */ (function (_super) {
1380
1383
  _this.model = [];
1381
1384
  _this.searchPlaceholder = 'search';
1382
1385
  _this.noResultsLabel = 'list.results.no.items';
1386
+ _this.isSearchActive = true;
1387
+ _this.searchInput = false;
1383
1388
  _this.inputChange = new EventEmitter();
1384
1389
  _this.onSelect = new EventEmitter();
1385
1390
  _this.listChange = new EventEmitter();
@@ -1422,7 +1427,7 @@ var ListComponent = /** @class */ (function (_super) {
1422
1427
  ListComponent.decorators = [
1423
1428
  { type: Component, args: [{
1424
1429
  selector: 'ode-list',
1425
- 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",
1430
+ template: "<ode-search-input\n *ngIf=\"isSearchActive\"\n [searchInput]=\"searchInput\"\n [searchSubmit]=\"searchSubmit\"\n [attr.placeholder]=\"searchPlaceholder | translate\"\n (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",
1426
1431
  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}"]
1427
1432
  }] }
1428
1433
  ];
@@ -1438,6 +1443,9 @@ var ListComponent = /** @class */ (function (_super) {
1438
1443
  limit: [{ type: Input }],
1439
1444
  searchPlaceholder: [{ type: Input }],
1440
1445
  noResultsLabel: [{ type: Input }],
1446
+ isSearchActive: [{ type: Input }],
1447
+ searchInput: [{ type: Input }],
1448
+ searchSubmit: [{ type: Input }],
1441
1449
  inputChange: [{ type: Output }],
1442
1450
  onSelect: [{ type: Output }],
1443
1451
  listChange: [{ type: Output }],
@@ -1469,6 +1477,12 @@ if (false) {
1469
1477
  /** @type {?} */
1470
1478
  ListComponent.prototype.noResultsLabel;
1471
1479
  /** @type {?} */
1480
+ ListComponent.prototype.isSearchActive;
1481
+ /** @type {?} */
1482
+ ListComponent.prototype.searchInput;
1483
+ /** @type {?} */
1484
+ ListComponent.prototype.searchSubmit;
1485
+ /** @type {?} */
1472
1486
  ListComponent.prototype.inputChange;
1473
1487
  /** @type {?} */
1474
1488
  ListComponent.prototype.onSelect;
@@ -1486,6 +1500,150 @@ if (false) {
1486
1500
  ListComponent.prototype.ngClass;
1487
1501
  }
1488
1502
 
1503
+ /**
1504
+ * @fileoverview added by tsickle
1505
+ * Generated from: lib/components/list-checkable/list-checkable.component.ts
1506
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1507
+ */
1508
+ var ListCheckableComponent = /** @class */ (function (_super) {
1509
+ __extends(ListCheckableComponent, _super);
1510
+ function ListCheckableComponent(injector) {
1511
+ var _this = _super.call(this, injector) || this;
1512
+ _this.model = [];
1513
+ _this.noResultsLabel = 'list.results.no.items';
1514
+ _this.readOnly = false;
1515
+ _this.onCheck = new EventEmitter();
1516
+ _this.listChange = new EventEmitter();
1517
+ _this.scrolledDown = new EventEmitter();
1518
+ _this.areAllChecked = (/**
1519
+ * @return {?}
1520
+ */
1521
+ function () { return false; });
1522
+ _this.isChecked = (/**
1523
+ * @param {?=} arg
1524
+ * @return {?}
1525
+ */
1526
+ function (arg) { return false; });
1527
+ _this.isDisabled = (/**
1528
+ * @param {?=} arg
1529
+ * @return {?}
1530
+ */
1531
+ function (arg) { return false; });
1532
+ _this.ngClass = (/**
1533
+ * @param {?=} arg
1534
+ * @return {?}
1535
+ */
1536
+ function (arg) { return ({}); });
1537
+ /* Store pipe */
1538
+ _this.self = _this;
1539
+ _this._storedElements = [];
1540
+ return _this;
1541
+ }
1542
+ Object.defineProperty(ListCheckableComponent.prototype, "storedElements", {
1543
+ get: /**
1544
+ * @return {?}
1545
+ */
1546
+ function () {
1547
+ return this._storedElements;
1548
+ },
1549
+ set: /**
1550
+ * @param {?} list
1551
+ * @return {?}
1552
+ */
1553
+ function (list) {
1554
+ this._storedElements = list;
1555
+ this.listChange.emit(list);
1556
+ },
1557
+ enumerable: true,
1558
+ configurable: true
1559
+ });
1560
+ /**
1561
+ * @param {?} checkAll
1562
+ * @return {?}
1563
+ */
1564
+ ListCheckableComponent.prototype.toggleAll = /**
1565
+ * @param {?} checkAll
1566
+ * @return {?}
1567
+ */
1568
+ function (checkAll) {
1569
+ var _this = this;
1570
+ this.model.forEach((/**
1571
+ * @param {?} item
1572
+ * @return {?}
1573
+ */
1574
+ function (item) {
1575
+ /** @type {?} */
1576
+ var isChecked = _this.isChecked(item);
1577
+ if (!_this.isDisabled(item)
1578
+ && ((isChecked && !checkAll) || (!isChecked && checkAll))) {
1579
+ _this.onCheck.emit({ item: item, checked: checkAll });
1580
+ }
1581
+ }));
1582
+ };
1583
+ ListCheckableComponent.decorators = [
1584
+ { type: Component, args: [{
1585
+ selector: 'ode-list-checkable',
1586
+ template: "<div class=\"list-checkable-wrapper\"\n infiniteScroll\n [scrollWindow]=\"false\"\n (scrolled)=\"scrolledDown.emit()\"\n [infiniteScrollThrottle]=\"50\">\n\n <ul *ngIf=\"storedElements && storedElements.length === 0\">\n <li class=\"no-results\"><span>{{ noResultsLabel | translate }}</span></li>\n </ul>\n \n <ul>\n <li class=\"select-all\" \n [class.checked]=\"areAllChecked()\"\n *ngIf=\"!readOnly\">\n <label>\n <span>{{(areAllChecked() ? 'ux.multiselect.deselect-all' : 'ux.multiselect.select-all') | translate}}</span>\n <input type=\"checkbox\" [checked]=\"areAllChecked()\" (change)=\"toggleAll($event.target.checked)\" />\n </label>\n </li>\n\n <li class=\"lct-list-checkable-item\" \n [class.checked]=\"isChecked(item)\"\n [class.disabled]=\"isDisabled(item)\"\n [ngClass]=\"ngClass(item)\"\n *ngFor=\"let item of model | filter: filters | store:self:'storedElements' | orderBy: sort | slice: 0:limit\">\n <label>\n <span>\n <ng-template [ngTemplateOutlet]=\"templateRef\" [ngTemplateOutletContext]=\"{$implicit: item}\"></ng-template> \n </span>\n <input *ngIf=\"!readOnly\" type=\"checkbox\" \n [disabled]=\"isDisabled(item)\"\n [checked]=\"isChecked(item)\"\n (change)=\"onCheck.emit({item:item, checked:$event.target.checked})\"/>\n </label>\n </li>\n </ul>\n\n</div>\n",
1587
+ styles: ["ul{margin:0;padding:0;font-size:.9em}ul li{border-top:1px solid #ddd;width:-webkit-fill-available;width:-moz-available;display:flex}ul li:not(.checked){color:#939393}ul li.disabled{pointer-events:none}ul li.select-all{background-color:#ff83520a;color:#5b6472}ul li.select-all span{text-align:right}ul li label{cursor:pointer;width:100%;display:flex}ul li label:hover{background-color:#eaedf2}ul li label span{padding:7px 15px;width:100%}ul li label input[type=checkbox]{margin-right:15px;-ms-grid-row-align:center;align-self:center}"]
1588
+ }] }
1589
+ ];
1590
+ /** @nocollapse */
1591
+ ListCheckableComponent.ctorParameters = function () { return [
1592
+ { type: Injector }
1593
+ ]; };
1594
+ ListCheckableComponent.propDecorators = {
1595
+ model: [{ type: Input }],
1596
+ filters: [{ type: Input }],
1597
+ sort: [{ type: Input }],
1598
+ limit: [{ type: Input }],
1599
+ noResultsLabel: [{ type: Input }],
1600
+ readOnly: [{ type: Input }],
1601
+ onCheck: [{ type: Output }],
1602
+ listChange: [{ type: Output }],
1603
+ scrolledDown: [{ type: Output }],
1604
+ templateRef: [{ type: ContentChild, args: [TemplateRef, { static: false },] }],
1605
+ areAllChecked: [{ type: Input }],
1606
+ isChecked: [{ type: Input }],
1607
+ isDisabled: [{ type: Input }],
1608
+ ngClass: [{ type: Input }]
1609
+ };
1610
+ return ListCheckableComponent;
1611
+ }(OdeComponent));
1612
+ if (false) {
1613
+ /** @type {?} */
1614
+ ListCheckableComponent.prototype.model;
1615
+ /** @type {?} */
1616
+ ListCheckableComponent.prototype.filters;
1617
+ /** @type {?} */
1618
+ ListCheckableComponent.prototype.sort;
1619
+ /** @type {?} */
1620
+ ListCheckableComponent.prototype.limit;
1621
+ /** @type {?} */
1622
+ ListCheckableComponent.prototype.noResultsLabel;
1623
+ /** @type {?} */
1624
+ ListCheckableComponent.prototype.readOnly;
1625
+ /** @type {?} */
1626
+ ListCheckableComponent.prototype.onCheck;
1627
+ /** @type {?} */
1628
+ ListCheckableComponent.prototype.listChange;
1629
+ /** @type {?} */
1630
+ ListCheckableComponent.prototype.scrolledDown;
1631
+ /** @type {?} */
1632
+ ListCheckableComponent.prototype.templateRef;
1633
+ /** @type {?} */
1634
+ ListCheckableComponent.prototype.areAllChecked;
1635
+ /** @type {?} */
1636
+ ListCheckableComponent.prototype.isChecked;
1637
+ /** @type {?} */
1638
+ ListCheckableComponent.prototype.isDisabled;
1639
+ /** @type {?} */
1640
+ ListCheckableComponent.prototype.ngClass;
1641
+ /** @type {?} */
1642
+ ListCheckableComponent.prototype.self;
1643
+ /** @type {?} */
1644
+ ListCheckableComponent.prototype._storedElements;
1645
+ }
1646
+
1489
1647
  /**
1490
1648
  * @fileoverview added by tsickle
1491
1649
  * Generated from: lib/components/message-box/message-box.component.ts
@@ -1504,6 +1662,11 @@ var MessageBoxComponent = /** @class */ (function (_super) {
1504
1662
  var _this = _super.call(this, injector) || this;
1505
1663
  _this.eltRef = eltRef;
1506
1664
  _this._position = 'inherit';
1665
+ /**
1666
+ * `gravity` set the relative position of the message box if its position is 'absolute'.
1667
+ * No effect when position is 'inherit'.
1668
+ */
1669
+ _this.gravity = 'left';
1507
1670
  _this.hidden = false;
1508
1671
  return _this;
1509
1672
  }
@@ -1554,6 +1717,22 @@ var MessageBoxComponent = /** @class */ (function (_super) {
1554
1717
  enumerable: true,
1555
1718
  configurable: true
1556
1719
  });
1720
+ Object.defineProperty(MessageBoxComponent.prototype, "isGravityLeft", {
1721
+ get: /**
1722
+ * @return {?}
1723
+ */
1724
+ function () { return this.gravity === 'left'; },
1725
+ enumerable: true,
1726
+ configurable: true
1727
+ });
1728
+ Object.defineProperty(MessageBoxComponent.prototype, "isGravityRight", {
1729
+ get: /**
1730
+ * @return {?}
1731
+ */
1732
+ function () { return this.gravity === 'right'; },
1733
+ enumerable: true,
1734
+ configurable: true
1735
+ });
1557
1736
  /**
1558
1737
  * @return {?}
1559
1738
  */
@@ -1598,7 +1777,7 @@ var MessageBoxComponent = /** @class */ (function (_super) {
1598
1777
  { type: Component, args: [{
1599
1778
  selector: 'message-box',
1600
1779
  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",
1601
- 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}"]
1780
+ 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}"]
1602
1781
  }] }
1603
1782
  ];
1604
1783
  /** @nocollapse */
@@ -1611,6 +1790,9 @@ var MessageBoxComponent = /** @class */ (function (_super) {
1611
1790
  header: [{ type: Input }],
1612
1791
  messages: [{ type: Input }],
1613
1792
  position: [{ type: Input }],
1793
+ gravity: [{ type: Input }],
1794
+ isGravityLeft: [{ type: HostBinding, args: ['class.gravity-left',] }],
1795
+ isGravityRight: [{ type: HostBinding, args: ['class.gravity-right',] }],
1614
1796
  hideEvent: [{ type: Output, args: ['onHide',] }]
1615
1797
  };
1616
1798
  return MessageBoxComponent;
@@ -1630,6 +1812,12 @@ if (false) {
1630
1812
  * @private
1631
1813
  */
1632
1814
  MessageBoxComponent.prototype._position;
1815
+ /**
1816
+ * `gravity` set the relative position of the message box if its position is 'absolute'.
1817
+ * No effect when position is 'inherit'.
1818
+ * @type {?}
1819
+ */
1820
+ MessageBoxComponent.prototype.gravity;
1633
1821
  /** @type {?} */
1634
1822
  MessageBoxComponent.prototype.hidden;
1635
1823
  /** @type {?} */
@@ -1795,6 +1983,7 @@ var MessageStickerComponent = /** @class */ (function (_super) {
1795
1983
  __extends(MessageStickerComponent, _super);
1796
1984
  function MessageStickerComponent(injector) {
1797
1985
  var _this = _super.call(this, injector) || this;
1986
+ _this.gravity = 'left';
1798
1987
  _this.icons = icons;
1799
1988
  return _this;
1800
1989
  }
@@ -1822,6 +2011,7 @@ var MessageStickerComponent = /** @class */ (function (_super) {
1822
2011
  header: this.header,
1823
2012
  messages: this.messages,
1824
2013
  position: 'absolute',
2014
+ gravity: this.gravity,
1825
2015
  hideEvent: new EventEmitter()
1826
2016
  });
1827
2017
  };
@@ -1849,6 +2039,7 @@ var MessageStickerComponent = /** @class */ (function (_super) {
1849
2039
  type: [{ type: Input }],
1850
2040
  header: [{ type: Input }],
1851
2041
  messages: [{ type: Input }],
2042
+ gravity: [{ type: Input }],
1852
2043
  dComponent: [{ type: ViewChild, args: [DynamicComponentDirective, { static: false },] }]
1853
2044
  };
1854
2045
  return MessageStickerComponent;
@@ -1861,6 +2052,8 @@ if (false) {
1861
2052
  /** @type {?} */
1862
2053
  MessageStickerComponent.prototype.messages;
1863
2054
  /** @type {?} */
2055
+ MessageStickerComponent.prototype.gravity;
2056
+ /** @type {?} */
1864
2057
  MessageStickerComponent.prototype.dComponent;
1865
2058
  /** @type {?} */
1866
2059
  MessageStickerComponent.prototype.icons;
@@ -1884,7 +2077,7 @@ var MonoSelectComponent = /** @class */ (function (_super) {
1884
2077
  _this.translateOptions = true;
1885
2078
  _this.opened = false;
1886
2079
  _this.selectedOption = null;
1887
- _this.isDisabled = false;
2080
+ _this.disabled = false;
1888
2081
  _this.onChange = (/**
1889
2082
  * @param {?} _
1890
2083
  * @return {?}
@@ -1933,7 +2126,7 @@ var MonoSelectComponent = /** @class */ (function (_super) {
1933
2126
  * @return {?}
1934
2127
  */
1935
2128
  function () {
1936
- if (!this.opened && !this.isDisabled) {
2129
+ if (!this.opened && !this.disabled) {
1937
2130
  this.opened = true;
1938
2131
  }
1939
2132
  else {
@@ -1971,7 +2164,7 @@ var MonoSelectComponent = /** @class */ (function (_super) {
1971
2164
  * @return {?}
1972
2165
  */
1973
2166
  function (isDisabled) {
1974
- this.isDisabled = isDisabled;
2167
+ this.disabled = isDisabled;
1975
2168
  };
1976
2169
  /**
1977
2170
  * @param {?} obj
@@ -1992,7 +2185,7 @@ var MonoSelectComponent = /** @class */ (function (_super) {
1992
2185
  MonoSelectComponent.decorators = [
1993
2186
  { type: Component, args: [{
1994
2187
  selector: 'ode-mono-select',
1995
- 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",
2188
+ 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",
1996
2189
  providers: [{
1997
2190
  provide: NG_VALUE_ACCESSOR,
1998
2191
  useExisting: forwardRef((/**
@@ -2016,7 +2209,8 @@ var MonoSelectComponent = /** @class */ (function (_super) {
2016
2209
  placeholder: [{ type: Input }],
2017
2210
  options: [{ type: Input }],
2018
2211
  trackByFn: [{ type: Input }],
2019
- translateOptions: [{ type: Input }]
2212
+ translateOptions: [{ type: Input }],
2213
+ disabled: [{ type: Input }]
2020
2214
  };
2021
2215
  return MonoSelectComponent;
2022
2216
  }(OdeComponent));
@@ -2034,7 +2228,7 @@ if (false) {
2034
2228
  /** @type {?} */
2035
2229
  MonoSelectComponent.prototype.selectedOption;
2036
2230
  /** @type {?} */
2037
- MonoSelectComponent.prototype.isDisabled;
2231
+ MonoSelectComponent.prototype.disabled;
2038
2232
  /**
2039
2233
  * @type {?}
2040
2234
  * @private
@@ -2261,7 +2455,7 @@ var MultiComboComponent = /** @class */ (function (_super) {
2261
2455
  MultiComboComponent.decorators = [
2262
2456
  { type: Component, args: [{
2263
2457
  selector: 'ode-multi-combo',
2264
- template: "<button (click)=\"toggleVisibility()\"\n [ngClass]=\"{ opened: show }\"\n [disabled]=\"disabled\">\n {{ title }}\n</button>\n<div [ngClass]=\"{ hidden: !show }\">\n <div class=\"options\">\n <button class=\"select-all\" (click)=\"selectAll()\" *ngIf=\"!maxSelected\"\n [title]=\"labels('select.all')\">{{ labels('select.all') }}</button>\n <button class=\"deselect-all\" (click)=\"deselectAll()\"\n [title]=\"labels('deselect.all')\">{{ labels('deselect.all') }}</button>\n </div>\n <div *ngIf=\"filter\" class=\"filter\">\n <ode-search-input (onChange)=\"search.input = $event\" [attr.placeholder]=\"labels('search')\"></ode-search-input>\n </div>\n <ul>\n <li *ngFor=\"let item of _comboModel | filter: getFilter() | orderBy: orderBy | store: self:'filteredComboModel'\"\n (click)=\"toggleItem(item)\"\n [ngClass]=\"{ selected: isSelected(item) }\"\n [attr.disabled]=\"isDisabled()\">\n {{ displayItem(item) | translate }}\n </li>\n </ul>\n</div>\n",
2458
+ template: "<button (click)=\"toggleVisibility()\"\n [ngClass]=\"{ opened: show }\"\n [disabled]=\"disabled\"\n type=\"button\">\n {{ title }}\n</button>\n<div [ngClass]=\"{ hidden: !show }\">\n <div class=\"options\">\n <button class=\"select-all\" (click)=\"selectAll()\" *ngIf=\"!maxSelected\"\n [title]=\"labels('select.all')\" type=\"button\">{{ labels('select.all') }}</button>\n <button class=\"deselect-all\" (click)=\"deselectAll()\"\n [title]=\"labels('deselect.all')\" type=\"button\">{{ labels('deselect.all') }}</button>\n </div>\n <div *ngIf=\"filter\" class=\"filter\">\n <ode-search-input (onChange)=\"search.input = $event\" [attr.placeholder]=\"labels('search')\"></ode-search-input>\n </div>\n <ul>\n <li *ngFor=\"let item of _comboModel | filter: getFilter() | orderBy: orderBy | store: self:'filteredComboModel'\"\n (click)=\"toggleItem(item)\"\n [ngClass]=\"{ selected: isSelected(item) }\"\n [attr.disabled]=\"isDisabled()\">\n {{ displayItem(item) | translate }}\n </li>\n </ul>\n</div>\n",
2265
2459
  host: {
2266
2460
  '(document:click)': 'onClick($event)',
2267
2461
  },
@@ -2752,6 +2946,9 @@ var SearchInputComponent = /** @class */ (function (_super) {
2752
2946
  var _this = _super.call(this, injector) || this;
2753
2947
  _this._elRef = _elRef;
2754
2948
  _this._renderer = _renderer;
2949
+ /* Inputs / Outputs / View */
2950
+ _this.isSearchActive = false;
2951
+ _this.searchInput = false;
2755
2952
  _this._delay = 200;
2756
2953
  _this.onChange = new EventEmitter();
2757
2954
  /* Internal logic */
@@ -2765,9 +2962,7 @@ var SearchInputComponent = /** @class */ (function (_super) {
2765
2962
  function () {
2766
2963
  return this._delay;
2767
2964
  },
2768
- /* Inputs / Outputs / View */
2769
- set: /* Inputs / Outputs / View */
2770
- /**
2965
+ set: /**
2771
2966
  * @param {?} d
2772
2967
  * @return {?}
2773
2968
  */
@@ -2857,7 +3052,8 @@ var SearchInputComponent = /** @class */ (function (_super) {
2857
3052
  SearchInputComponent.decorators = [
2858
3053
  { type: Component, args: [{
2859
3054
  selector: 'ode-search-input',
2860
- template: "<input type=\"search\" #searchBox (input)=\"search(searchBox.value)\"/>\n"
3055
+ template: "<form\n class=\"search-container\"\n (ngSubmit)=\"searchInput && searchSubmit()\">\n <input\n #searchBox\n class=\"search-input\"\n name=\"searchTerm\"\n type=\"search\"\n (input)=\"search(searchBox.value)\" />\n <button class=\"search-button\" *ngIf=\"searchInput\">\n <i class=\"fa fa-search is-size-4 search-icon\"></i>\n </button>\n</form>\n\n<!-- <input *ngIf=\"!searchInput\" type=\"search\" #searchBox (input)=\"search(searchBox.value)\"/> -->",
3056
+ styles: [":host .search-container{margin:0;display:flex}:host .search-icon{padding-left:0}:host .search-button{margin:0;background:#ff8352;color:#fff}"]
2861
3057
  }] }
2862
3058
  ];
2863
3059
  /** @nocollapse */
@@ -2867,6 +3063,9 @@ var SearchInputComponent = /** @class */ (function (_super) {
2867
3063
  { type: Renderer2 }
2868
3064
  ]; };
2869
3065
  SearchInputComponent.propDecorators = {
3066
+ isSearchActive: [{ type: Input }],
3067
+ searchInput: [{ type: Input }],
3068
+ searchSubmit: [{ type: Input }],
2870
3069
  delay: [{ type: Input }],
2871
3070
  onChange: [{ type: Output }],
2872
3071
  searchBox: [{ type: ViewChild, args: ['searchBox', { static: false },] }]
@@ -2874,6 +3073,12 @@ var SearchInputComponent = /** @class */ (function (_super) {
2874
3073
  return SearchInputComponent;
2875
3074
  }(OdeComponent));
2876
3075
  if (false) {
3076
+ /** @type {?} */
3077
+ SearchInputComponent.prototype.isSearchActive;
3078
+ /** @type {?} */
3079
+ SearchInputComponent.prototype.searchInput;
3080
+ /** @type {?} */
3081
+ SearchInputComponent.prototype.searchSubmit;
2877
3082
  /**
2878
3083
  * @type {?}
2879
3084
  * @private
@@ -4909,110 +5114,6 @@ var LengthPipe = /** @class */ (function () {
4909
5114
  return LengthPipe;
4910
5115
  }());
4911
5116
 
4912
- /**
4913
- * @fileoverview added by tsickle
4914
- * Generated from: lib/helpers/accents.helper.ts
4915
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4916
- */
4917
- /** @type {?} */
4918
- var defaultDiacriticsRemovalMap = [
4919
- { 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 },
4920
- { base: 'AA', letters: /[\uA732]/g },
4921
- { base: 'AE', letters: /[\u00C6\u01FC\u01E2]/g },
4922
- { base: 'AO', letters: /[\uA734]/g },
4923
- { base: 'AU', letters: /[\uA736]/g },
4924
- { base: 'AV', letters: /[\uA738\uA73A]/g },
4925
- { base: 'AY', letters: /[\uA73C]/g },
4926
- { base: 'B', letters: /[\u0042\u24B7\uFF22\u1E02\u1E04\u1E06\u0243\u0182\u0181]/g },
4927
- { base: 'C', letters: /[\u0043\u24B8\uFF23\u0106\u0108\u010A\u010C\u00C7\u1E08\u0187\u023B\uA73E]/g },
4928
- { base: 'D', letters: /[\u0044\u24B9\uFF24\u1E0A\u010E\u1E0C\u1E10\u1E12\u1E0E\u0110\u018B\u018A\u0189\uA779]/g },
4929
- { base: 'DZ', letters: /[\u01F1\u01C4]/g },
4930
- { base: 'Dz', letters: /[\u01F2\u01C5]/g },
4931
- { 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 },
4932
- { base: 'F', letters: /[\u0046\u24BB\uFF26\u1E1E\u0191\uA77B]/g },
4933
- { base: 'G', letters: /[\u0047\u24BC\uFF27\u01F4\u011C\u1E20\u011E\u0120\u01E6\u0122\u01E4\u0193\uA7A0\uA77D\uA77E]/g },
4934
- { base: 'H', letters: /[\u0048\u24BD\uFF28\u0124\u1E22\u1E26\u021E\u1E24\u1E28\u1E2A\u0126\u2C67\u2C75\uA78D]/g },
4935
- { base: 'I', letters: /[\u0049\u24BE\uFF29\u00CC\u00CD\u00CE\u0128\u012A\u012C\u0130\u00CF\u1E2E\u1EC8\u01CF\u0208\u020A\u1ECA\u012E\u1E2C\u0197]/g },
4936
- { base: 'J', letters: /[\u004A\u24BF\uFF2A\u0134\u0248]/g },
4937
- { base: 'K', letters: /[\u004B\u24C0\uFF2B\u1E30\u01E8\u1E32\u0136\u1E34\u0198\u2C69\uA740\uA742\uA744\uA7A2]/g },
4938
- { base: 'L', letters: /[\u004C\u24C1\uFF2C\u013F\u0139\u013D\u1E36\u1E38\u013B\u1E3C\u1E3A\u0141\u023D\u2C62\u2C60\uA748\uA746\uA780]/g },
4939
- { base: 'LJ', letters: /[\u01C7]/g },
4940
- { base: 'Lj', letters: /[\u01C8]/g },
4941
- { base: 'M', letters: /[\u004D\u24C2\uFF2D\u1E3E\u1E40\u1E42\u2C6E\u019C]/g },
4942
- { base: 'N', letters: /[\u004E\u24C3\uFF2E\u01F8\u0143\u00D1\u1E44\u0147\u1E46\u0145\u1E4A\u1E48\u0220\u019D\uA790\uA7A4]/g },
4943
- { base: 'NJ', letters: /[\u01CA]/g },
4944
- { base: 'Nj', letters: /[\u01CB]/g },
4945
- { 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 },
4946
- { base: 'OI', letters: /[\u01A2]/g },
4947
- { base: 'OO', letters: /[\uA74E]/g },
4948
- { base: 'OU', letters: /[\u0222]/g },
4949
- { base: 'P', letters: /[\u0050\u24C5\uFF30\u1E54\u1E56\u01A4\u2C63\uA750\uA752\uA754]/g },
4950
- { base: 'Q', letters: /[\u0051\u24C6\uFF31\uA756\uA758\u024A]/g },
4951
- { base: 'R', letters: /[\u0052\u24C7\uFF32\u0154\u1E58\u0158\u0210\u0212\u1E5A\u1E5C\u0156\u1E5E\u024C\u2C64\uA75A\uA7A6\uA782]/g },
4952
- { base: 'S', letters: /[\u0053\u24C8\uFF33\u1E9E\u015A\u1E64\u015C\u1E60\u0160\u1E66\u1E62\u1E68\u0218\u015E\u2C7E\uA7A8\uA784]/g },
4953
- { base: 'T', letters: /[\u0054\u24C9\uFF34\u1E6A\u0164\u1E6C\u021A\u0162\u1E70\u1E6E\u0166\u01AC\u01AE\u023E\uA786]/g },
4954
- { base: 'TZ', letters: /[\uA728]/g },
4955
- { 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 },
4956
- { base: 'V', letters: /[\u0056\u24CB\uFF36\u1E7C\u1E7E\u01B2\uA75E\u0245]/g },
4957
- { base: 'VY', letters: /[\uA760]/g },
4958
- { base: 'W', letters: /[\u0057\u24CC\uFF37\u1E80\u1E82\u0174\u1E86\u1E84\u1E88\u2C72]/g },
4959
- { base: 'X', letters: /[\u0058\u24CD\uFF38\u1E8A\u1E8C]/g },
4960
- { base: 'Y', letters: /[\u0059\u24CE\uFF39\u1EF2\u00DD\u0176\u1EF8\u0232\u1E8E\u0178\u1EF6\u1EF4\u01B3\u024E\u1EFE]/g },
4961
- { base: 'Z', letters: /[\u005A\u24CF\uFF3A\u0179\u1E90\u017B\u017D\u1E92\u1E94\u01B5\u0224\u2C7F\u2C6B\uA762]/g },
4962
- { 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 },
4963
- { base: 'aa', letters: /[\uA733]/g },
4964
- { base: 'ae', letters: /[\u00E6\u01FD\u01E3]/g },
4965
- { base: 'ao', letters: /[\uA735]/g },
4966
- { base: 'au', letters: /[\uA737]/g },
4967
- { base: 'av', letters: /[\uA739\uA73B]/g },
4968
- { base: 'ay', letters: /[\uA73D]/g },
4969
- { base: 'b', letters: /[\u0062\u24D1\uFF42\u1E03\u1E05\u1E07\u0180\u0183\u0253]/g },
4970
- { base: 'c', letters: /[\u0063\u24D2\uFF43\u0107\u0109\u010B\u010D\u00E7\u1E09\u0188\u023C\uA73F\u2184]/g },
4971
- { base: 'd', letters: /[\u0064\u24D3\uFF44\u1E0B\u010F\u1E0D\u1E11\u1E13\u1E0F\u0111\u018C\u0256\u0257\uA77A]/g },
4972
- { base: 'dz', letters: /[\u01F3\u01C6]/g },
4973
- { 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 },
4974
- { base: 'f', letters: /[\u0066\u24D5\uFF46\u1E1F\u0192\uA77C]/g },
4975
- { base: 'g', letters: /[\u0067\u24D6\uFF47\u01F5\u011D\u1E21\u011F\u0121\u01E7\u0123\u01E5\u0260\uA7A1\u1D79\uA77F]/g },
4976
- { base: 'h', letters: /[\u0068\u24D7\uFF48\u0125\u1E23\u1E27\u021F\u1E25\u1E29\u1E2B\u1E96\u0127\u2C68\u2C76\u0265]/g },
4977
- { base: 'hv', letters: /[\u0195]/g },
4978
- { base: 'i', letters: /[\u0069\u24D8\uFF49\u00EC\u00ED\u00EE\u0129\u012B\u012D\u00EF\u1E2F\u1EC9\u01D0\u0209\u020B\u1ECB\u012F\u1E2D\u0268\u0131]/g },
4979
- { base: 'j', letters: /[\u006A\u24D9\uFF4A\u0135\u01F0\u0249]/g },
4980
- { base: 'k', letters: /[\u006B\u24DA\uFF4B\u1E31\u01E9\u1E33\u0137\u1E35\u0199\u2C6A\uA741\uA743\uA745\uA7A3]/g },
4981
- { base: 'l', letters: /[\u006C\u24DB\uFF4C\u0140\u013A\u013E\u1E37\u1E39\u013C\u1E3D\u1E3B\u017F\u0142\u019A\u026B\u2C61\uA749\uA781\uA747]/g },
4982
- { base: 'lj', letters: /[\u01C9]/g },
4983
- { base: 'm', letters: /[\u006D\u24DC\uFF4D\u1E3F\u1E41\u1E43\u0271\u026F]/g },
4984
- { base: 'n', letters: /[\u006E\u24DD\uFF4E\u01F9\u0144\u00F1\u1E45\u0148\u1E47\u0146\u1E4B\u1E49\u019E\u0272\u0149\uA791\uA7A5]/g },
4985
- { base: 'nj', letters: /[\u01CC]/g },
4986
- { 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 },
4987
- { base: 'oi', letters: /[\u01A3]/g },
4988
- { base: 'ou', letters: /[\u0223]/g },
4989
- { base: 'oo', letters: /[\uA74F]/g },
4990
- { base: 'p', letters: /[\u0070\u24DF\uFF50\u1E55\u1E57\u01A5\u1D7D\uA751\uA753\uA755]/g },
4991
- { base: 'q', letters: /[\u0071\u24E0\uFF51\u024B\uA757\uA759]/g },
4992
- { base: 'r', letters: /[\u0072\u24E1\uFF52\u0155\u1E59\u0159\u0211\u0213\u1E5B\u1E5D\u0157\u1E5F\u024D\u027D\uA75B\uA7A7\uA783]/g },
4993
- { base: 's', letters: /[\u0073\u24E2\uFF53\u00DF\u015B\u1E65\u015D\u1E61\u0161\u1E67\u1E63\u1E69\u0219\u015F\u023F\uA7A9\uA785\u1E9B]/g },
4994
- { base: 't', letters: /[\u0074\u24E3\uFF54\u1E6B\u1E97\u0165\u1E6D\u021B\u0163\u1E71\u1E6F\u0167\u01AD\u0288\u2C66\uA787]/g },
4995
- { base: 'tz', letters: /[\uA729]/g },
4996
- { 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 },
4997
- { base: 'v', letters: /[\u0076\u24E5\uFF56\u1E7D\u1E7F\u028B\uA75F\u028C]/g },
4998
- { base: 'vy', letters: /[\uA761]/g },
4999
- { base: 'w', letters: /[\u0077\u24E6\uFF57\u1E81\u1E83\u0175\u1E87\u1E85\u1E98\u1E89\u2C73]/g },
5000
- { base: 'x', letters: /[\u0078\u24E7\uFF58\u1E8B\u1E8D]/g },
5001
- { base: 'y', letters: /[\u0079\u24E8\uFF59\u1EF3\u00FD\u0177\u1EF9\u0233\u1E8F\u00FF\u1EF7\u1E99\u1EF5\u01B4\u024F\u1EFF]/g },
5002
- { base: 'z', letters: /[\u007A\u24E9\uFF5A\u017A\u1E91\u017C\u017E\u1E93\u1E95\u01B6\u0225\u0240\u2C6C\uA763]/g }
5003
- ];
5004
- /** @type {?} */
5005
- var removeAccents = (/**
5006
- * @param {?} str
5007
- * @return {?}
5008
- */
5009
- function (str) {
5010
- for (var i = 0; i < defaultDiacriticsRemovalMap.length; i++) {
5011
- str = str.replace(defaultDiacriticsRemovalMap[i].letters, defaultDiacriticsRemovalMap[i].base);
5012
- }
5013
- return str;
5014
- });
5015
-
5016
5117
  /**
5017
5118
  * @fileoverview added by tsickle
5018
5119
  * Generated from: lib/utils/string.ts
@@ -5035,6 +5136,12 @@ function trim(text) {
5035
5136
  function standardise(str) {
5036
5137
  return removeAccents(str != null ? str : '').toLowerCase().replace('\\s+', ' ');
5037
5138
  }
5139
+ /** @type {?} */
5140
+ var removeAccents = (/**
5141
+ * @param {?} str
5142
+ * @return {?}
5143
+ */
5144
+ function (str) { return str.normalize("NFD").replace(/\p{Diacritic}/gu, ''); });
5038
5145
 
5039
5146
  /**
5040
5147
  * @fileoverview added by tsickle
@@ -5056,6 +5163,83 @@ function clickOn(el) {
5056
5163
  return el.triggerEventHandler('click', null);
5057
5164
  }
5058
5165
 
5166
+ /**
5167
+ * @fileoverview added by tsickle
5168
+ * Generated from: lib/components/dropdown/dropdown.component.ts
5169
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5170
+ */
5171
+ /**
5172
+ * DropdownComponent is an alternative to the MonoSelectComponent.
5173
+ * Accept everything inside <ng-content> but should work with <ode-list> component
5174
+ *
5175
+ * Simple Dropdown Component without search:
5176
+ * [isSearchActive] can be set to false to disable search input in <ode-list>
5177
+ * ```
5178
+ * <ode-dropdown
5179
+ * [name]="option_name"
5180
+ * [isDropdownOpened]="a_boolean"
5181
+ * (onDropdown)="toggle_func"
5182
+ * >
5183
+ * <ode-list
5184
+ * [model]="model"
5185
+ * [filters]="filters"
5186
+ * (onSelect)="func_to_select_elem($event)"
5187
+ * (inputChange)="a_string_for_input_value = $event"
5188
+ * noResultsLabel="text_to_display"
5189
+ * searchPlaceholder="default_placeholder_text"
5190
+ * >
5191
+ * <ng-template let-item>
5192
+ * <div>{{ item.name }}</div>
5193
+ * </ng-template>
5194
+ * </ode-list>
5195
+ * </ode-dropdown>
5196
+ * `̀``
5197
+ */
5198
+ var DropdownComponent = /** @class */ (function (_super) {
5199
+ __extends(DropdownComponent, _super);
5200
+ function DropdownComponent(injector) {
5201
+ var _this = _super.call(this, injector) || this;
5202
+ _this.name = '';
5203
+ _this.isDropdownOpened = false;
5204
+ _this.onDropdown = new EventEmitter();
5205
+ return _this;
5206
+ }
5207
+ /**
5208
+ * @return {?}
5209
+ */
5210
+ DropdownComponent.prototype.ngOnInit = /**
5211
+ * @return {?}
5212
+ */
5213
+ function () {
5214
+ _super.prototype.ngOnInit.call(this);
5215
+ };
5216
+ DropdownComponent.decorators = [
5217
+ { type: Component, args: [{
5218
+ selector: 'ode-dropdown',
5219
+ template: "<div class=\"dropdown\" [ngClass]=\"isDropdownOpened ? 'open' : ''\">\n <button (click)=\"onDropdown.emit()\" class=\"dropdown-trigger\">\n <span class=\"cell-ellipsis\">{{ name }}</span> <i class=\"fonticon arrow-select\"></i>\n </button>\n <div class=\"dropdown-list\">\n <ng-content></ng-content>\n </div>\n</div>\n",
5220
+ styles: [".dropdown{position:relative;width:230px;box-sizing:border-box}.dropdown *{box-sizing:border-box}.dropdown-trigger{cursor:pointer;display:inline-flex;align-items:center;justify-content:space-between;padding:12px 16px;font-size:14px;color:#4a4a4a;text-transform:uppercase;text-align:left;width:100%;border-radius:8px;border:1px solid #7a7a7a;background-color:#fff}.dropdown-trigger>span{display:inline-block;max-width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dropdown-trigger i.arrow-select{display:inline-block;float:none!important;padding-left:0;transform:rotate(180deg);transform-origin:center center}.dropdown-trigger:hover{color:#4a4a4a;border-color:#7a7a7a;background-color:#fff}.dropdown-trigger:hover i.arrow-select{color:#4a4a4a!important}.dropdown-list{display:none;position:absolute;overflow:hidden;z-index:2;top:100%;left:0;right:0;width:316px;box-shadow:0 4px 12px 0 rgba(0,0,0,.15);border-radius:8px;background-color:#fff}.dropdown::ng-deep ode-list li{justify-content:flex-start}.dropdown::ng-deep ode-list input[type=search]{padding:12px 16px}.dropdown.open .dropdown-list{display:block}.dropdown.open i.arrow-select{transform:rotate(0)}"]
5221
+ }] }
5222
+ ];
5223
+ /** @nocollapse */
5224
+ DropdownComponent.ctorParameters = function () { return [
5225
+ { type: Injector }
5226
+ ]; };
5227
+ DropdownComponent.propDecorators = {
5228
+ name: [{ type: Input }],
5229
+ isDropdownOpened: [{ type: Input }],
5230
+ onDropdown: [{ type: Output }]
5231
+ };
5232
+ return DropdownComponent;
5233
+ }(OdeComponent));
5234
+ if (false) {
5235
+ /** @type {?} */
5236
+ DropdownComponent.prototype.name;
5237
+ /** @type {?} */
5238
+ DropdownComponent.prototype.isDropdownOpened;
5239
+ /** @type {?} */
5240
+ DropdownComponent.prototype.onDropdown;
5241
+ }
5242
+
5059
5243
  /**
5060
5244
  * @fileoverview added by tsickle
5061
5245
  * Generated from: lib/ngx-ode-ui.module.ts
@@ -5104,6 +5288,7 @@ var NgxOdeUiModule = /** @class */ (function () {
5104
5288
  LightBoxComponent,
5105
5289
  LightboxConfirmComponent,
5106
5290
  ListComponent,
5291
+ ListCheckableComponent,
5107
5292
  MonoSelectComponent,
5108
5293
  MultiSelectComponent,
5109
5294
  MultiComboComponent,
@@ -5138,7 +5323,8 @@ var NgxOdeUiModule = /** @class */ (function () {
5138
5323
  LocalizedDatePipe,
5139
5324
  BytesPipe,
5140
5325
  KeysPipe,
5141
- LengthPipe
5326
+ LengthPipe,
5327
+ DropdownComponent
5142
5328
  ],
5143
5329
  imports: [
5144
5330
  CommonModule,
@@ -5155,6 +5341,7 @@ var NgxOdeUiModule = /** @class */ (function () {
5155
5341
  LightBoxComponent,
5156
5342
  LightboxConfirmComponent,
5157
5343
  ListComponent,
5344
+ ListCheckableComponent,
5158
5345
  MonoSelectComponent,
5159
5346
  MultiSelectComponent,
5160
5347
  MultiComboComponent,
@@ -5174,6 +5361,7 @@ var NgxOdeUiModule = /** @class */ (function () {
5174
5361
  SpinnerCubeComponent,
5175
5362
  PagerComponent,
5176
5363
  EllipsisComponent,
5364
+ DropdownComponent,
5177
5365
  // directives
5178
5366
  AnchorDirective,
5179
5367
  DynamicTemplateDirective,
@@ -5210,5 +5398,5 @@ var NgxOdeUiModule = /** @class */ (function () {
5210
5398
  * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5211
5399
  */
5212
5400
 
5213
- export { AnchorDirective, BytesPipe, CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR, ComponentDescriptor, DatepickerComponent, DragAndDropFilesDirective, DynamicComponentDirective, DynamicModuleImportsService, DynamicTemplateDirective, EllipsisComponent, FilterPipe, FlattenObjectArrayPipe, FormErrorsComponent, FormFieldComponent, InputFileService, ItemTreeComponent, KeysPipe, LabelsService, LengthPipe, LightBoxComponent, LightboxConfirmComponent, LimitPipe, ListComponent, LocalizedDatePipe, MessageBoxComponent, MessageStickerComponent, MonoSelectComponent, MultiComboComponent, MultiSelectComponent, NgxOdeUiModule, ObjectURLDirective, OrderPipe, PagerComponent, PanelSectionComponent, PortalComponent, PushPanelComponent, SearchInputComponent, SideLayoutComponent, SidePanelComponent, SimpleSelectComponent, SpinnerCubeComponent, SpinnerService, StepComponent, StorePipe, TooltipComponent, UNITS, UploadFilesComponent, WizardComponent, clickOn, getText, getUnit, icons, removeAccents, standardise, toDecimal, trim };
5401
+ export { AnchorDirective, BytesPipe, CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR, ComponentDescriptor, DatepickerComponent, DragAndDropFilesDirective, DynamicComponentDirective, DynamicModuleImportsService, DynamicTemplateDirective, EllipsisComponent, FilterPipe, FlattenObjectArrayPipe, FormErrorsComponent, FormFieldComponent, InputFileService, ItemTreeComponent, KeysPipe, LabelsService, LengthPipe, LightBoxComponent, LightboxConfirmComponent, LimitPipe, ListCheckableComponent, ListComponent, LocalizedDatePipe, MessageBoxComponent, MessageStickerComponent, MonoSelectComponent, MultiComboComponent, MultiSelectComponent, NgxOdeUiModule, ObjectURLDirective, OrderPipe, PagerComponent, PanelSectionComponent, PortalComponent, PushPanelComponent, SearchInputComponent, SideLayoutComponent, SidePanelComponent, SimpleSelectComponent, SpinnerCubeComponent, SpinnerService, StepComponent, StorePipe, TooltipComponent, UNITS, UploadFilesComponent, WizardComponent, clickOn, getText, getUnit, icons, removeAccents, standardise, toDecimal, trim, DropdownComponent as ɵa };
5214
5402
  //# sourceMappingURL=ngx-ode-ui.js.map