ngx-ode-ui 3.12.0-dev.0 → 3.12.0-dev.12

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 +315 -122
  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 +18 -4
  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 +18 -4
  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 +294 -122
  32. package/fesm2015/ngx-ode-ui.js.map +1 -1
  33. package/fesm5/ngx-ode-ui.js +315 -124
  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 +5 -1
  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;
@@ -1377,9 +1380,11 @@ var ListComponent = /** @class */ (function (_super) {
1377
1380
  /* Store pipe */
1378
1381
  _this.self = _this;
1379
1382
  _this._storedElements = [];
1380
- _this.model = [];
1381
1383
  _this.searchPlaceholder = 'search';
1382
1384
  _this.noResultsLabel = 'list.results.no.items';
1385
+ _this.placeholder = 'list.placeholder';
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,8 +1427,8 @@ 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",
1426
- 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}"]
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 <ul *ngIf=\"!model\">\n <li class=\"placeholder\">{{ placeholder | translate }}</li>\n </ul>\n</div>\n",
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}.placeholder{color:#aaa}"]
1427
1432
  }] }
1428
1433
  ];
1429
1434
  /** @nocollapse */
@@ -1438,6 +1443,10 @@ var ListComponent = /** @class */ (function (_super) {
1438
1443
  limit: [{ type: Input }],
1439
1444
  searchPlaceholder: [{ type: Input }],
1440
1445
  noResultsLabel: [{ type: Input }],
1446
+ placeholder: [{ type: Input }],
1447
+ isSearchActive: [{ type: Input }],
1448
+ searchInput: [{ type: Input }],
1449
+ searchSubmit: [{ type: Input }],
1441
1450
  inputChange: [{ type: Output }],
1442
1451
  onSelect: [{ type: Output }],
1443
1452
  listChange: [{ type: Output }],
@@ -1469,6 +1478,14 @@ if (false) {
1469
1478
  /** @type {?} */
1470
1479
  ListComponent.prototype.noResultsLabel;
1471
1480
  /** @type {?} */
1481
+ ListComponent.prototype.placeholder;
1482
+ /** @type {?} */
1483
+ ListComponent.prototype.isSearchActive;
1484
+ /** @type {?} */
1485
+ ListComponent.prototype.searchInput;
1486
+ /** @type {?} */
1487
+ ListComponent.prototype.searchSubmit;
1488
+ /** @type {?} */
1472
1489
  ListComponent.prototype.inputChange;
1473
1490
  /** @type {?} */
1474
1491
  ListComponent.prototype.onSelect;
@@ -1486,6 +1503,150 @@ if (false) {
1486
1503
  ListComponent.prototype.ngClass;
1487
1504
  }
1488
1505
 
1506
+ /**
1507
+ * @fileoverview added by tsickle
1508
+ * Generated from: lib/components/list-checkable/list-checkable.component.ts
1509
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1510
+ */
1511
+ var ListCheckableComponent = /** @class */ (function (_super) {
1512
+ __extends(ListCheckableComponent, _super);
1513
+ function ListCheckableComponent(injector) {
1514
+ var _this = _super.call(this, injector) || this;
1515
+ _this.model = [];
1516
+ _this.noResultsLabel = 'list.results.no.items';
1517
+ _this.readOnly = false;
1518
+ _this.onCheck = new EventEmitter();
1519
+ _this.listChange = new EventEmitter();
1520
+ _this.scrolledDown = new EventEmitter();
1521
+ _this.areAllChecked = (/**
1522
+ * @return {?}
1523
+ */
1524
+ function () { return false; });
1525
+ _this.isChecked = (/**
1526
+ * @param {?=} arg
1527
+ * @return {?}
1528
+ */
1529
+ function (arg) { return false; });
1530
+ _this.isDisabled = (/**
1531
+ * @param {?=} arg
1532
+ * @return {?}
1533
+ */
1534
+ function (arg) { return false; });
1535
+ _this.ngClass = (/**
1536
+ * @param {?=} arg
1537
+ * @return {?}
1538
+ */
1539
+ function (arg) { return ({}); });
1540
+ /* Store pipe */
1541
+ _this.self = _this;
1542
+ _this._storedElements = [];
1543
+ return _this;
1544
+ }
1545
+ Object.defineProperty(ListCheckableComponent.prototype, "storedElements", {
1546
+ get: /**
1547
+ * @return {?}
1548
+ */
1549
+ function () {
1550
+ return this._storedElements;
1551
+ },
1552
+ set: /**
1553
+ * @param {?} list
1554
+ * @return {?}
1555
+ */
1556
+ function (list) {
1557
+ this._storedElements = list;
1558
+ this.listChange.emit(list);
1559
+ },
1560
+ enumerable: true,
1561
+ configurable: true
1562
+ });
1563
+ /**
1564
+ * @param {?} checkAll
1565
+ * @return {?}
1566
+ */
1567
+ ListCheckableComponent.prototype.toggleAll = /**
1568
+ * @param {?} checkAll
1569
+ * @return {?}
1570
+ */
1571
+ function (checkAll) {
1572
+ var _this = this;
1573
+ this.model.forEach((/**
1574
+ * @param {?} item
1575
+ * @return {?}
1576
+ */
1577
+ function (item) {
1578
+ /** @type {?} */
1579
+ var isChecked = _this.isChecked(item);
1580
+ if (!_this.isDisabled(item)
1581
+ && ((isChecked && !checkAll) || (!isChecked && checkAll))) {
1582
+ _this.onCheck.emit({ item: item, checked: checkAll });
1583
+ }
1584
+ }));
1585
+ };
1586
+ ListCheckableComponent.decorators = [
1587
+ { type: Component, args: [{
1588
+ selector: 'ode-list-checkable',
1589
+ 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",
1590
+ 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}"]
1591
+ }] }
1592
+ ];
1593
+ /** @nocollapse */
1594
+ ListCheckableComponent.ctorParameters = function () { return [
1595
+ { type: Injector }
1596
+ ]; };
1597
+ ListCheckableComponent.propDecorators = {
1598
+ model: [{ type: Input }],
1599
+ filters: [{ type: Input }],
1600
+ sort: [{ type: Input }],
1601
+ limit: [{ type: Input }],
1602
+ noResultsLabel: [{ type: Input }],
1603
+ readOnly: [{ type: Input }],
1604
+ onCheck: [{ type: Output }],
1605
+ listChange: [{ type: Output }],
1606
+ scrolledDown: [{ type: Output }],
1607
+ templateRef: [{ type: ContentChild, args: [TemplateRef, { static: false },] }],
1608
+ areAllChecked: [{ type: Input }],
1609
+ isChecked: [{ type: Input }],
1610
+ isDisabled: [{ type: Input }],
1611
+ ngClass: [{ type: Input }]
1612
+ };
1613
+ return ListCheckableComponent;
1614
+ }(OdeComponent));
1615
+ if (false) {
1616
+ /** @type {?} */
1617
+ ListCheckableComponent.prototype.model;
1618
+ /** @type {?} */
1619
+ ListCheckableComponent.prototype.filters;
1620
+ /** @type {?} */
1621
+ ListCheckableComponent.prototype.sort;
1622
+ /** @type {?} */
1623
+ ListCheckableComponent.prototype.limit;
1624
+ /** @type {?} */
1625
+ ListCheckableComponent.prototype.noResultsLabel;
1626
+ /** @type {?} */
1627
+ ListCheckableComponent.prototype.readOnly;
1628
+ /** @type {?} */
1629
+ ListCheckableComponent.prototype.onCheck;
1630
+ /** @type {?} */
1631
+ ListCheckableComponent.prototype.listChange;
1632
+ /** @type {?} */
1633
+ ListCheckableComponent.prototype.scrolledDown;
1634
+ /** @type {?} */
1635
+ ListCheckableComponent.prototype.templateRef;
1636
+ /** @type {?} */
1637
+ ListCheckableComponent.prototype.areAllChecked;
1638
+ /** @type {?} */
1639
+ ListCheckableComponent.prototype.isChecked;
1640
+ /** @type {?} */
1641
+ ListCheckableComponent.prototype.isDisabled;
1642
+ /** @type {?} */
1643
+ ListCheckableComponent.prototype.ngClass;
1644
+ /** @type {?} */
1645
+ ListCheckableComponent.prototype.self;
1646
+ /** @type {?} */
1647
+ ListCheckableComponent.prototype._storedElements;
1648
+ }
1649
+
1489
1650
  /**
1490
1651
  * @fileoverview added by tsickle
1491
1652
  * Generated from: lib/components/message-box/message-box.component.ts
@@ -1504,6 +1665,11 @@ var MessageBoxComponent = /** @class */ (function (_super) {
1504
1665
  var _this = _super.call(this, injector) || this;
1505
1666
  _this.eltRef = eltRef;
1506
1667
  _this._position = 'inherit';
1668
+ /**
1669
+ * `gravity` set the relative position of the message box if its position is 'absolute'.
1670
+ * No effect when position is 'inherit'.
1671
+ */
1672
+ _this.gravity = 'left';
1507
1673
  _this.hidden = false;
1508
1674
  return _this;
1509
1675
  }
@@ -1554,6 +1720,22 @@ var MessageBoxComponent = /** @class */ (function (_super) {
1554
1720
  enumerable: true,
1555
1721
  configurable: true
1556
1722
  });
1723
+ Object.defineProperty(MessageBoxComponent.prototype, "isGravityLeft", {
1724
+ get: /**
1725
+ * @return {?}
1726
+ */
1727
+ function () { return this.gravity === 'left'; },
1728
+ enumerable: true,
1729
+ configurable: true
1730
+ });
1731
+ Object.defineProperty(MessageBoxComponent.prototype, "isGravityRight", {
1732
+ get: /**
1733
+ * @return {?}
1734
+ */
1735
+ function () { return this.gravity === 'right'; },
1736
+ enumerable: true,
1737
+ configurable: true
1738
+ });
1557
1739
  /**
1558
1740
  * @return {?}
1559
1741
  */
@@ -1598,7 +1780,7 @@ var MessageBoxComponent = /** @class */ (function (_super) {
1598
1780
  { type: Component, args: [{
1599
1781
  selector: 'message-box',
1600
1782
  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}"]
1783
+ 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
1784
  }] }
1603
1785
  ];
1604
1786
  /** @nocollapse */
@@ -1611,6 +1793,9 @@ var MessageBoxComponent = /** @class */ (function (_super) {
1611
1793
  header: [{ type: Input }],
1612
1794
  messages: [{ type: Input }],
1613
1795
  position: [{ type: Input }],
1796
+ gravity: [{ type: Input }],
1797
+ isGravityLeft: [{ type: HostBinding, args: ['class.gravity-left',] }],
1798
+ isGravityRight: [{ type: HostBinding, args: ['class.gravity-right',] }],
1614
1799
  hideEvent: [{ type: Output, args: ['onHide',] }]
1615
1800
  };
1616
1801
  return MessageBoxComponent;
@@ -1630,6 +1815,12 @@ if (false) {
1630
1815
  * @private
1631
1816
  */
1632
1817
  MessageBoxComponent.prototype._position;
1818
+ /**
1819
+ * `gravity` set the relative position of the message box if its position is 'absolute'.
1820
+ * No effect when position is 'inherit'.
1821
+ * @type {?}
1822
+ */
1823
+ MessageBoxComponent.prototype.gravity;
1633
1824
  /** @type {?} */
1634
1825
  MessageBoxComponent.prototype.hidden;
1635
1826
  /** @type {?} */
@@ -1795,6 +1986,7 @@ var MessageStickerComponent = /** @class */ (function (_super) {
1795
1986
  __extends(MessageStickerComponent, _super);
1796
1987
  function MessageStickerComponent(injector) {
1797
1988
  var _this = _super.call(this, injector) || this;
1989
+ _this.gravity = 'left';
1798
1990
  _this.icons = icons;
1799
1991
  return _this;
1800
1992
  }
@@ -1822,6 +2014,7 @@ var MessageStickerComponent = /** @class */ (function (_super) {
1822
2014
  header: this.header,
1823
2015
  messages: this.messages,
1824
2016
  position: 'absolute',
2017
+ gravity: this.gravity,
1825
2018
  hideEvent: new EventEmitter()
1826
2019
  });
1827
2020
  };
@@ -1849,6 +2042,7 @@ var MessageStickerComponent = /** @class */ (function (_super) {
1849
2042
  type: [{ type: Input }],
1850
2043
  header: [{ type: Input }],
1851
2044
  messages: [{ type: Input }],
2045
+ gravity: [{ type: Input }],
1852
2046
  dComponent: [{ type: ViewChild, args: [DynamicComponentDirective, { static: false },] }]
1853
2047
  };
1854
2048
  return MessageStickerComponent;
@@ -1861,6 +2055,8 @@ if (false) {
1861
2055
  /** @type {?} */
1862
2056
  MessageStickerComponent.prototype.messages;
1863
2057
  /** @type {?} */
2058
+ MessageStickerComponent.prototype.gravity;
2059
+ /** @type {?} */
1864
2060
  MessageStickerComponent.prototype.dComponent;
1865
2061
  /** @type {?} */
1866
2062
  MessageStickerComponent.prototype.icons;
@@ -1884,7 +2080,7 @@ var MonoSelectComponent = /** @class */ (function (_super) {
1884
2080
  _this.translateOptions = true;
1885
2081
  _this.opened = false;
1886
2082
  _this.selectedOption = null;
1887
- _this.isDisabled = false;
2083
+ _this.disabled = false;
1888
2084
  _this.onChange = (/**
1889
2085
  * @param {?} _
1890
2086
  * @return {?}
@@ -1933,7 +2129,7 @@ var MonoSelectComponent = /** @class */ (function (_super) {
1933
2129
  * @return {?}
1934
2130
  */
1935
2131
  function () {
1936
- if (!this.opened && !this.isDisabled) {
2132
+ if (!this.opened && !this.disabled) {
1937
2133
  this.opened = true;
1938
2134
  }
1939
2135
  else {
@@ -1971,7 +2167,7 @@ var MonoSelectComponent = /** @class */ (function (_super) {
1971
2167
  * @return {?}
1972
2168
  */
1973
2169
  function (isDisabled) {
1974
- this.isDisabled = isDisabled;
2170
+ this.disabled = isDisabled;
1975
2171
  };
1976
2172
  /**
1977
2173
  * @param {?} obj
@@ -1992,7 +2188,7 @@ var MonoSelectComponent = /** @class */ (function (_super) {
1992
2188
  MonoSelectComponent.decorators = [
1993
2189
  { type: Component, args: [{
1994
2190
  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",
2191
+ 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
2192
  providers: [{
1997
2193
  provide: NG_VALUE_ACCESSOR,
1998
2194
  useExisting: forwardRef((/**
@@ -2016,7 +2212,8 @@ var MonoSelectComponent = /** @class */ (function (_super) {
2016
2212
  placeholder: [{ type: Input }],
2017
2213
  options: [{ type: Input }],
2018
2214
  trackByFn: [{ type: Input }],
2019
- translateOptions: [{ type: Input }]
2215
+ translateOptions: [{ type: Input }],
2216
+ disabled: [{ type: Input }]
2020
2217
  };
2021
2218
  return MonoSelectComponent;
2022
2219
  }(OdeComponent));
@@ -2034,7 +2231,7 @@ if (false) {
2034
2231
  /** @type {?} */
2035
2232
  MonoSelectComponent.prototype.selectedOption;
2036
2233
  /** @type {?} */
2037
- MonoSelectComponent.prototype.isDisabled;
2234
+ MonoSelectComponent.prototype.disabled;
2038
2235
  /**
2039
2236
  * @type {?}
2040
2237
  * @private
@@ -2261,7 +2458,7 @@ var MultiComboComponent = /** @class */ (function (_super) {
2261
2458
  MultiComboComponent.decorators = [
2262
2459
  { type: Component, args: [{
2263
2460
  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",
2461
+ 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
2462
  host: {
2266
2463
  '(document:click)': 'onClick($event)',
2267
2464
  },
@@ -2752,6 +2949,9 @@ var SearchInputComponent = /** @class */ (function (_super) {
2752
2949
  var _this = _super.call(this, injector) || this;
2753
2950
  _this._elRef = _elRef;
2754
2951
  _this._renderer = _renderer;
2952
+ /* Inputs / Outputs / View */
2953
+ _this.isSearchActive = false;
2954
+ _this.searchInput = false;
2755
2955
  _this._delay = 200;
2756
2956
  _this.onChange = new EventEmitter();
2757
2957
  /* Internal logic */
@@ -2765,9 +2965,7 @@ var SearchInputComponent = /** @class */ (function (_super) {
2765
2965
  function () {
2766
2966
  return this._delay;
2767
2967
  },
2768
- /* Inputs / Outputs / View */
2769
- set: /* Inputs / Outputs / View */
2770
- /**
2968
+ set: /**
2771
2969
  * @param {?} d
2772
2970
  * @return {?}
2773
2971
  */
@@ -2857,7 +3055,8 @@ var SearchInputComponent = /** @class */ (function (_super) {
2857
3055
  SearchInputComponent.decorators = [
2858
3056
  { type: Component, args: [{
2859
3057
  selector: 'ode-search-input',
2860
- template: "<input type=\"search\" #searchBox (input)=\"search(searchBox.value)\"/>\n"
3058
+ 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)\"/> -->",
3059
+ styles: [":host .search-container{margin:0;display:flex}:host .search-icon{padding-left:0}:host .search-button{margin:0;background:#ff8352;color:#fff}"]
2861
3060
  }] }
2862
3061
  ];
2863
3062
  /** @nocollapse */
@@ -2867,6 +3066,9 @@ var SearchInputComponent = /** @class */ (function (_super) {
2867
3066
  { type: Renderer2 }
2868
3067
  ]; };
2869
3068
  SearchInputComponent.propDecorators = {
3069
+ isSearchActive: [{ type: Input }],
3070
+ searchInput: [{ type: Input }],
3071
+ searchSubmit: [{ type: Input }],
2870
3072
  delay: [{ type: Input }],
2871
3073
  onChange: [{ type: Output }],
2872
3074
  searchBox: [{ type: ViewChild, args: ['searchBox', { static: false },] }]
@@ -2874,6 +3076,12 @@ var SearchInputComponent = /** @class */ (function (_super) {
2874
3076
  return SearchInputComponent;
2875
3077
  }(OdeComponent));
2876
3078
  if (false) {
3079
+ /** @type {?} */
3080
+ SearchInputComponent.prototype.isSearchActive;
3081
+ /** @type {?} */
3082
+ SearchInputComponent.prototype.searchInput;
3083
+ /** @type {?} */
3084
+ SearchInputComponent.prototype.searchSubmit;
2877
3085
  /**
2878
3086
  * @type {?}
2879
3087
  * @private
@@ -4909,110 +5117,6 @@ var LengthPipe = /** @class */ (function () {
4909
5117
  return LengthPipe;
4910
5118
  }());
4911
5119
 
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
5120
  /**
5017
5121
  * @fileoverview added by tsickle
5018
5122
  * Generated from: lib/utils/string.ts
@@ -5035,6 +5139,12 @@ function trim(text) {
5035
5139
  function standardise(str) {
5036
5140
  return removeAccents(str != null ? str : '').toLowerCase().replace('\\s+', ' ');
5037
5141
  }
5142
+ /** @type {?} */
5143
+ var removeAccents = (/**
5144
+ * @param {?} str
5145
+ * @return {?}
5146
+ */
5147
+ function (str) { return str.normalize("NFD").replace(/\p{Diacritic}/gu, ''); });
5038
5148
 
5039
5149
  /**
5040
5150
  * @fileoverview added by tsickle
@@ -5056,6 +5166,83 @@ function clickOn(el) {
5056
5166
  return el.triggerEventHandler('click', null);
5057
5167
  }
5058
5168
 
5169
+ /**
5170
+ * @fileoverview added by tsickle
5171
+ * Generated from: lib/components/dropdown/dropdown.component.ts
5172
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5173
+ */
5174
+ /**
5175
+ * DropdownComponent is an alternative to the MonoSelectComponent.
5176
+ * Accept everything inside <ng-content> but should work with <ode-list> component
5177
+ *
5178
+ * Simple Dropdown Component without search:
5179
+ * [isSearchActive] can be set to false to disable search input in <ode-list>
5180
+ * ```
5181
+ * <ode-dropdown
5182
+ * [name]="option_name"
5183
+ * [isDropdownOpened]="a_boolean"
5184
+ * (onDropdown)="toggle_func"
5185
+ * >
5186
+ * <ode-list
5187
+ * [model]="model"
5188
+ * [filters]="filters"
5189
+ * (onSelect)="func_to_select_elem($event)"
5190
+ * (inputChange)="a_string_for_input_value = $event"
5191
+ * noResultsLabel="text_to_display"
5192
+ * searchPlaceholder="default_placeholder_text"
5193
+ * >
5194
+ * <ng-template let-item>
5195
+ * <div>{{ item.name }}</div>
5196
+ * </ng-template>
5197
+ * </ode-list>
5198
+ * </ode-dropdown>
5199
+ * `̀``
5200
+ */
5201
+ var DropdownComponent = /** @class */ (function (_super) {
5202
+ __extends(DropdownComponent, _super);
5203
+ function DropdownComponent(injector) {
5204
+ var _this = _super.call(this, injector) || this;
5205
+ _this.name = '';
5206
+ _this.isDropdownOpened = false;
5207
+ _this.onDropdown = new EventEmitter();
5208
+ return _this;
5209
+ }
5210
+ /**
5211
+ * @return {?}
5212
+ */
5213
+ DropdownComponent.prototype.ngOnInit = /**
5214
+ * @return {?}
5215
+ */
5216
+ function () {
5217
+ _super.prototype.ngOnInit.call(this);
5218
+ };
5219
+ DropdownComponent.decorators = [
5220
+ { type: Component, args: [{
5221
+ selector: 'ode-dropdown',
5222
+ 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",
5223
+ 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)}"]
5224
+ }] }
5225
+ ];
5226
+ /** @nocollapse */
5227
+ DropdownComponent.ctorParameters = function () { return [
5228
+ { type: Injector }
5229
+ ]; };
5230
+ DropdownComponent.propDecorators = {
5231
+ name: [{ type: Input }],
5232
+ isDropdownOpened: [{ type: Input }],
5233
+ onDropdown: [{ type: Output }]
5234
+ };
5235
+ return DropdownComponent;
5236
+ }(OdeComponent));
5237
+ if (false) {
5238
+ /** @type {?} */
5239
+ DropdownComponent.prototype.name;
5240
+ /** @type {?} */
5241
+ DropdownComponent.prototype.isDropdownOpened;
5242
+ /** @type {?} */
5243
+ DropdownComponent.prototype.onDropdown;
5244
+ }
5245
+
5059
5246
  /**
5060
5247
  * @fileoverview added by tsickle
5061
5248
  * Generated from: lib/ngx-ode-ui.module.ts
@@ -5104,6 +5291,7 @@ var NgxOdeUiModule = /** @class */ (function () {
5104
5291
  LightBoxComponent,
5105
5292
  LightboxConfirmComponent,
5106
5293
  ListComponent,
5294
+ ListCheckableComponent,
5107
5295
  MonoSelectComponent,
5108
5296
  MultiSelectComponent,
5109
5297
  MultiComboComponent,
@@ -5138,7 +5326,8 @@ var NgxOdeUiModule = /** @class */ (function () {
5138
5326
  LocalizedDatePipe,
5139
5327
  BytesPipe,
5140
5328
  KeysPipe,
5141
- LengthPipe
5329
+ LengthPipe,
5330
+ DropdownComponent
5142
5331
  ],
5143
5332
  imports: [
5144
5333
  CommonModule,
@@ -5155,6 +5344,7 @@ var NgxOdeUiModule = /** @class */ (function () {
5155
5344
  LightBoxComponent,
5156
5345
  LightboxConfirmComponent,
5157
5346
  ListComponent,
5347
+ ListCheckableComponent,
5158
5348
  MonoSelectComponent,
5159
5349
  MultiSelectComponent,
5160
5350
  MultiComboComponent,
@@ -5174,6 +5364,7 @@ var NgxOdeUiModule = /** @class */ (function () {
5174
5364
  SpinnerCubeComponent,
5175
5365
  PagerComponent,
5176
5366
  EllipsisComponent,
5367
+ DropdownComponent,
5177
5368
  // directives
5178
5369
  AnchorDirective,
5179
5370
  DynamicTemplateDirective,
@@ -5210,5 +5401,5 @@ var NgxOdeUiModule = /** @class */ (function () {
5210
5401
  * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5211
5402
  */
5212
5403
 
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 };
5404
+ 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
5405
  //# sourceMappingURL=ngx-ode-ui.js.map