@seniorsistemas/angular-components 17.7.2 → 17.7.4

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 (61) hide show
  1. package/bundles/seniorsistemas-angular-components.umd.js +350 -235
  2. package/bundles/seniorsistemas-angular-components.umd.js.map +1 -1
  3. package/bundles/seniorsistemas-angular-components.umd.min.js +1 -1
  4. package/bundles/seniorsistemas-angular-components.umd.min.js.map +1 -1
  5. package/components/tiered-menu/components/tiered-menu/tiered-menu.component.d.ts +8 -4
  6. package/components/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.d.ts +2 -1
  7. package/components/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.d.ts +7 -4
  8. package/components/tiered-menu/models/tiered-menu-item-data.d.ts +2 -0
  9. package/components/tiered-menu/models/tiered-menu-item-internal-data.d.ts +2 -6
  10. package/components/tiered-menu/{tiered-menu.event.service.d.ts → services/tiered-menu.event.service.d.ts} +1 -8
  11. package/components/tiered-menu/services/tiered-menu.global.service.d.ts +4 -0
  12. package/components/tiered-menu/{tiered-menu.service.d.ts → services/tiered-menu.service.d.ts} +5 -3
  13. package/components/tiered-menu/tiered-menu.directive.d.ts +16 -14
  14. package/components/timeline/components/horizontal-timeline/horizontal-timeline.component.d.ts +1 -0
  15. package/components/timeline/components/timeline-icon-item/timeline-icon-item.component.d.ts +1 -0
  16. package/components/timeline/components/vertical-timeline/components/vertical-items/vertical-items.component.d.ts +1 -0
  17. package/components/timeline/components/vertical-timeline/vertical-timeline.component.d.ts +1 -0
  18. package/components/timeline/timeline.component.d.ts +1 -0
  19. package/esm2015/components/tiered-menu/components/tiered-menu/tiered-menu.component.js +110 -51
  20. package/esm2015/components/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.js +16 -8
  21. package/esm2015/components/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.js +53 -9
  22. package/esm2015/components/tiered-menu/models/tiered-menu-item-data.js +1 -1
  23. package/esm2015/components/tiered-menu/models/tiered-menu-item-internal-data.js +1 -1
  24. package/esm2015/components/tiered-menu/services/tiered-menu.event.service.js +18 -0
  25. package/esm2015/components/tiered-menu/services/tiered-menu.global.service.js +9 -0
  26. package/esm2015/components/tiered-menu/services/tiered-menu.service.js +51 -0
  27. package/esm2015/components/tiered-menu/tiered-menu.directive.js +103 -109
  28. package/esm2015/components/tiered-menu/tiered-menu.module.js +8 -12
  29. package/esm2015/components/timeline/components/horizontal-timeline/horizontal-timeline.component.js +6 -3
  30. package/esm2015/components/timeline/components/timeline-icon-item/timeline-icon-item.component.js +6 -3
  31. package/esm2015/components/timeline/components/vertical-timeline/components/vertical-items/vertical-items.component.js +5 -2
  32. package/esm2015/components/timeline/components/vertical-timeline/vertical-timeline.component.js +5 -2
  33. package/esm2015/components/timeline/timeline.component.js +6 -2
  34. package/esm2015/seniorsistemas-angular-components.js +18 -17
  35. package/esm5/components/tiered-menu/components/tiered-menu/tiered-menu.component.js +110 -51
  36. package/esm5/components/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.js +16 -8
  37. package/esm5/components/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.js +53 -9
  38. package/esm5/components/tiered-menu/models/tiered-menu-item-data.js +1 -1
  39. package/esm5/components/tiered-menu/models/tiered-menu-item-internal-data.js +1 -1
  40. package/esm5/components/tiered-menu/services/tiered-menu.event.service.js +19 -0
  41. package/esm5/components/tiered-menu/services/tiered-menu.global.service.js +12 -0
  42. package/esm5/components/tiered-menu/services/tiered-menu.service.js +54 -0
  43. package/esm5/components/tiered-menu/tiered-menu.directive.js +103 -110
  44. package/esm5/components/tiered-menu/tiered-menu.module.js +8 -12
  45. package/esm5/components/timeline/components/horizontal-timeline/horizontal-timeline.component.js +6 -3
  46. package/esm5/components/timeline/components/timeline-icon-item/timeline-icon-item.component.js +6 -3
  47. package/esm5/components/timeline/components/vertical-timeline/components/vertical-items/vertical-items.component.js +5 -2
  48. package/esm5/components/timeline/components/vertical-timeline/vertical-timeline.component.js +5 -2
  49. package/esm5/components/timeline/timeline.component.js +6 -2
  50. package/esm5/seniorsistemas-angular-components.js +18 -17
  51. package/fesm2015/seniorsistemas-angular-components.js +332 -218
  52. package/fesm2015/seniorsistemas-angular-components.js.map +1 -1
  53. package/fesm5/seniorsistemas-angular-components.js +336 -222
  54. package/fesm5/seniorsistemas-angular-components.js.map +1 -1
  55. package/package.json +1 -1
  56. package/seniorsistemas-angular-components.d.ts +17 -16
  57. package/seniorsistemas-angular-components.metadata.json +1 -1
  58. package/esm2015/components/tiered-menu/tiered-menu.event.service.js +0 -39
  59. package/esm2015/components/tiered-menu/tiered-menu.service.js +0 -39
  60. package/esm5/components/tiered-menu/tiered-menu.event.service.js +0 -40
  61. package/esm5/components/tiered-menu/tiered-menu.service.js +0 -44
@@ -14952,46 +14952,31 @@ let TieredMenuEventService = class TieredMenuEventService {
14952
14952
  this.closeItemMenuEvent = new EventEmitter();
14953
14953
  this.createMenuEvent = new EventEmitter();
14954
14954
  }
14955
- emitIncrementCurrentItemEvent() {
14956
- this.incrementCurrentItemEvent.emit();
14957
- }
14958
- emitDecrementCurrentItemEvent() {
14959
- this.decrementCurrentItemEvent.emit();
14960
- }
14961
- emitCloseAllMenusEvent() {
14962
- this.closeAllMenusEvent.emit();
14963
- }
14964
- emitSelectItemEvent(item) {
14965
- this.selectItemEvent.emit(item);
14966
- }
14967
- emitOpenItemMenuEvent(item) {
14968
- this.openItemMenuEvent.emit(item);
14969
- }
14970
- emitCloseItemMenuEvent(item) {
14971
- this.closeItemMenuEvent.emit(item);
14972
- }
14973
- emitCreateMenuEvent(item) {
14974
- this.createMenuEvent.emit(item);
14975
- }
14976
14955
  };
14977
14956
  TieredMenuEventService = __decorate([
14978
14957
  Injectable()
14979
14958
  ], TieredMenuEventService);
14980
14959
 
14981
14960
  let TieredMenuService = class TieredMenuService {
14961
+ constructor() {
14962
+ this.currentItems = [];
14963
+ this.items = [];
14964
+ }
14982
14965
  normalizeData(items, parent) {
14983
14966
  return items.map((i) => {
14984
- if (i.submenu) {
14985
- i.submenu = this.normalizeData(i.submenu, i);
14967
+ const item = Object.assign({}, i);
14968
+ if (item.submenu) {
14969
+ item.submenu = this.normalizeData(item.submenu, item);
14986
14970
  }
14987
- i.id = `id-${Math.random().toString(36).substring(2, 9)}-${Date.now().toString(36)}`;
14988
- i.parent = parent;
14989
- i.isOpen = false;
14990
- return i;
14971
+ item.id = this._generateId();
14972
+ item.parent = parent;
14973
+ item.isOpen = false;
14974
+ return item;
14991
14975
  });
14992
14976
  }
14993
14977
  markAllItemsAsClosed(items) {
14994
- return items.map((item) => {
14978
+ return items.map((i) => {
14979
+ const item = Object.assign({}, i);
14995
14980
  if (item.submenu) {
14996
14981
  item.submenu = this.markAllItemsAsClosed(item.submenu);
14997
14982
  }
@@ -14999,16 +14984,22 @@ let TieredMenuService = class TieredMenuService {
14999
14984
  return item;
15000
14985
  });
15001
14986
  }
15002
- searchTheHierarchy(item1, item2) {
15003
- let itemAux = item2;
15004
- while (itemAux) {
15005
- if (itemAux === item1) {
14987
+ searchTheHierarchy(itemA, itemB) {
14988
+ let item = itemB;
14989
+ while (item) {
14990
+ if (item === itemA) {
15006
14991
  return true;
15007
14992
  }
15008
- itemAux = itemAux.parent;
14993
+ item = item.parent;
15009
14994
  }
15010
14995
  return false;
15011
14996
  }
14997
+ cloneItems(items) {
14998
+ return JSON.parse(JSON.stringify(items));
14999
+ }
15000
+ _generateId() {
15001
+ return `id-${Math.random().toString(36).substring(2, 9)}-${Math.random().toString(36).substring(2, 9)}-${Math.random().toString(36).substring(2, 9)}`;
15002
+ }
15012
15003
  };
15013
15004
  TieredMenuService = __decorate([
15014
15005
  Injectable()
@@ -15019,9 +15010,44 @@ let TieredMenuNestedComponent = class TieredMenuNestedComponent {
15019
15010
  this.tieredMenuService = tieredMenuService;
15020
15011
  this._tieredMenuEventService = _tieredMenuEventService;
15021
15012
  this.top = 0;
15022
- this.maxHeight = 0;
15013
+ this.left = 0;
15023
15014
  this._unsubscribe$ = new Subject();
15024
15015
  }
15016
+ onResize() {
15017
+ this._tieredMenuEventService.closeAllMenusEvent.emit();
15018
+ }
15019
+ onDocumentClick(event) {
15020
+ // Closing menu when clicked outside.
15021
+ const target = event.target;
15022
+ const clickedInside = target.closest("s-tiered-menu-item") || target.closest("s-tiered-menu-divider");
15023
+ if (!clickedInside) {
15024
+ this._tieredMenuEventService.closeAllMenusEvent.emit();
15025
+ }
15026
+ }
15027
+ onKeydownHandler(event) {
15028
+ switch (event.key) {
15029
+ case "Escape":
15030
+ this._tieredMenuEventService.closeAllMenusEvent.emit();
15031
+ break;
15032
+ case " ":
15033
+ case "Enter":
15034
+ this._tieredMenuEventService.selectItemEvent.emit(this.tieredMenuService.currentItem);
15035
+ break;
15036
+ case "ArrowLeft":
15037
+ // When nested I need a reference to the current item's parent item, otherwise just the current item.
15038
+ this._tieredMenuEventService.closeItemMenuEvent.emit(this.tieredMenuService.currentItem.parent);
15039
+ break;
15040
+ case "ArrowRight":
15041
+ this._tieredMenuEventService.openItemMenuEvent.emit(this.tieredMenuService.currentItem);
15042
+ break;
15043
+ case "ArrowUp":
15044
+ this._tieredMenuEventService.decrementCurrentItemEvent.emit();
15045
+ break;
15046
+ case "ArrowDown":
15047
+ this._tieredMenuEventService.incrementCurrentItemEvent.emit();
15048
+ break;
15049
+ }
15050
+ }
15025
15051
  ngOnInit() {
15026
15052
  this.tieredMenuService.currentItems = this.items;
15027
15053
  this._subscribeEvents();
@@ -15101,7 +15127,7 @@ let TieredMenuNestedComponent = class TieredMenuNestedComponent {
15101
15127
  if (item.command) {
15102
15128
  item.command();
15103
15129
  // Close all menus after the item was selected.
15104
- this._tieredMenuEventService.emitCloseAllMenusEvent();
15130
+ this._tieredMenuEventService.closeAllMenusEvent.emit();
15105
15131
  }
15106
15132
  });
15107
15133
  this._tieredMenuEventService.openItemMenuEvent
@@ -15113,7 +15139,7 @@ let TieredMenuNestedComponent = class TieredMenuNestedComponent {
15113
15139
  while ((_a = itemAux === null || itemAux === void 0 ? void 0 : itemAux.parent) === null || _a === void 0 ? void 0 : _a.parent) {
15114
15140
  itemAux = itemAux.parent;
15115
15141
  }
15116
- this._tieredMenuEventService.emitCloseItemMenuEvent((_b = itemAux.parent) !== null && _b !== void 0 ? _b : itemAux);
15142
+ this._tieredMenuEventService.closeItemMenuEvent.emit((_b = itemAux.parent) !== null && _b !== void 0 ? _b : itemAux);
15117
15143
  }
15118
15144
  this._lastOpenItem = item;
15119
15145
  this._openItem(item);
@@ -15131,19 +15157,29 @@ TieredMenuNestedComponent.ctorParameters = () => [
15131
15157
  { type: TieredMenuService },
15132
15158
  { type: TieredMenuEventService }
15133
15159
  ];
15160
+ __decorate([
15161
+ HostListener("window:resize")
15162
+ ], TieredMenuNestedComponent.prototype, "onResize", null);
15163
+ __decorate([
15164
+ HostListener("document:click", ["$event"])
15165
+ ], TieredMenuNestedComponent.prototype, "onDocumentClick", null);
15166
+ __decorate([
15167
+ HostListener("document:keydown", ["$event"])
15168
+ ], TieredMenuNestedComponent.prototype, "onKeydownHandler", null);
15134
15169
  TieredMenuNestedComponent = __decorate([
15135
15170
  Component({
15136
- template: "<div\n class=\"menu menu--nested\"\n [ngStyle]=\"{\n 'top': top + 'px',\n 'max-height': maxHeight + 'px'\n }\">\n <ng-container *ngTemplateOutlet=\"itemsTemplate; context: { $implicit: items }\"></ng-container>\n</div>\n\n<ng-template #itemsTemplate let-items>\n <div *ngFor=\"let item of items\">\n <s-tiered-menu-item\n *ngIf=\"!item.divider\"\n [item]=\"item\"\n [focused]=\"item === tieredMenuService.currentItem\"\n [closeOnClick]=\"true\">\n </s-tiered-menu-item>\n\n <s-tiered-menu-divider *ngIf=\"item.divider\"></s-tiered-menu-divider>\n\n <div *ngIf=\"item.submenu && item.isOpen\">\n <div class=\"submenu\">\n <ng-container *ngTemplateOutlet=\"itemsTemplate; context: { $implicit: item.submenu }\"></ng-container>\n </div>\n </div>\n </div>\n</ng-template>\n",
15137
- styles: [".menu{background-color:#fff;border:1px solid #ccc;border-radius:6px;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);display:-ms-inline-flexbox;display:inline-flex;-ms-flex-direction:column;flex-direction:column;min-width:176px;padding:4px 0;position:fixed;z-index:9999;overflow:auto}.menu--nested{width:90vw;margin:0 5vw}.menu .submenu{margin-left:24px}"]
15171
+ template: "<div\n class=\"menu menu--nested\"\n [ngStyle]=\"{\n 'top': top + 'px',\n 'left': left + 'px'\n }\">\n <ng-container *ngTemplateOutlet=\"itemsTemplate; context: { $implicit: items }\"></ng-container>\n</div>\n\n<ng-template #itemsTemplate let-items>\n <div *ngFor=\"let item of items\">\n <s-tiered-menu-item\n *ngIf=\"!item.divider\"\n [item]=\"item\"\n [focused]=\"item === tieredMenuService.currentItem\"\n [closeOnClick]=\"true\">\n </s-tiered-menu-item>\n\n <s-tiered-menu-divider *ngIf=\"item.divider\"></s-tiered-menu-divider>\n\n <div *ngIf=\"item.submenu && item.isOpen\">\n <div class=\"submenu\">\n <ng-container *ngTemplateOutlet=\"itemsTemplate; context: { $implicit: item.submenu }\"></ng-container>\n </div>\n </div>\n </div>\n</ng-template>\n",
15172
+ styles: [".menu{background-color:#fff;border:1px solid #ccc;border-radius:6px;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);display:-ms-inline-flexbox;display:inline-flex;-ms-flex-direction:column;flex-direction:column;min-width:176px;padding:4px 0;position:absolute;z-index:9999;overflow:auto;width:calc(100vw - 8px)}.menu .submenu{margin-left:24px}"]
15138
15173
  })
15139
15174
  ], TieredMenuNestedComponent);
15140
15175
 
15141
15176
  var TieredMenuComponent_1;
15142
15177
  let TieredMenuComponent = TieredMenuComponent_1 = class TieredMenuComponent {
15143
- constructor(_appRef, _componentFactoryResolver, _injector, tieredMenuService, _tieredMenuEventService) {
15178
+ constructor(_appRef, _componentFactoryResolver, _injector, _changeDetectorRef, tieredMenuService, _tieredMenuEventService) {
15144
15179
  this._appRef = _appRef;
15145
15180
  this._componentFactoryResolver = _componentFactoryResolver;
15146
15181
  this._injector = _injector;
15182
+ this._changeDetectorRef = _changeDetectorRef;
15147
15183
  this.tieredMenuService = tieredMenuService;
15148
15184
  this._tieredMenuEventService = _tieredMenuEventService;
15149
15185
  this.top = 0;
@@ -15153,6 +15189,54 @@ let TieredMenuComponent = TieredMenuComponent_1 = class TieredMenuComponent {
15153
15189
  this._unsubscribe$ = new Subject();
15154
15190
  this.destroyRequest = new EventEmitter();
15155
15191
  }
15192
+ onResize() {
15193
+ this._tieredMenuEventService.closeAllMenusEvent.emit();
15194
+ }
15195
+ onDocumentClick(event) {
15196
+ // Closing menu when clicked outside.
15197
+ const target = event.target;
15198
+ const clickedInside = target.closest("s-tiered-menu-item") || target.closest("s-tiered-menu-divider");
15199
+ if (!clickedInside) {
15200
+ this._tieredMenuEventService.closeAllMenusEvent.emit();
15201
+ }
15202
+ }
15203
+ onKeydownHandler(event) {
15204
+ switch (event.key) {
15205
+ case "Escape":
15206
+ this._tieredMenuEventService.closeAllMenusEvent.emit();
15207
+ break;
15208
+ case " ":
15209
+ case "Enter":
15210
+ if (!this.tieredMenuService.currentItem.disabled) {
15211
+ this._tieredMenuEventService.selectItemEvent.emit(this.tieredMenuService.currentItem);
15212
+ }
15213
+ break;
15214
+ case "ArrowLeft":
15215
+ if (this.items.includes(this.tieredMenuService.currentItem)) {
15216
+ this._tieredMenuEventService.closeItemMenuEvent.emit(this.tieredMenuService.currentItem);
15217
+ this._changeDetectorRef.detectChanges();
15218
+ }
15219
+ break;
15220
+ case "ArrowRight":
15221
+ if (!this.tieredMenuService.currentItem.disabled && this.items.includes(this.tieredMenuService.currentItem)) {
15222
+ this._tieredMenuEventService.openItemMenuEvent.emit(this.tieredMenuService.currentItem);
15223
+ event.stopImmediatePropagation();
15224
+ }
15225
+ break;
15226
+ case "ArrowUp":
15227
+ if (!this.tieredMenuService.currentItem || this.items.includes(this.tieredMenuService.currentItem)) {
15228
+ this._tieredMenuEventService.decrementCurrentItemEvent.emit();
15229
+ event.stopImmediatePropagation();
15230
+ }
15231
+ break;
15232
+ case "ArrowDown":
15233
+ if (!this.tieredMenuService.currentItem || this.items.includes(this.tieredMenuService.currentItem)) {
15234
+ this._tieredMenuEventService.incrementCurrentItemEvent.emit();
15235
+ event.stopImmediatePropagation();
15236
+ }
15237
+ break;
15238
+ }
15239
+ }
15156
15240
  ngOnInit() {
15157
15241
  this.tieredMenuService.currentItems = this.items;
15158
15242
  this._subscribeEvents();
@@ -15211,8 +15295,7 @@ let TieredMenuComponent = TieredMenuComponent_1 = class TieredMenuComponent {
15211
15295
  // Setting the menu items.
15212
15296
  this._componentRef.instance.items = items;
15213
15297
  // Subscribe menu events.
15214
- this._componentRef.instance.destroyRequest
15215
- .subscribe((propagate) => {
15298
+ this._componentRef.instance.destroyRequest.subscribe((propagate) => {
15216
15299
  this._destroy(propagate);
15217
15300
  });
15218
15301
  this._menuDivElement = domElem.querySelector(".menu");
@@ -15231,14 +15314,23 @@ let TieredMenuComponent = TieredMenuComponent_1 = class TieredMenuComponent {
15231
15314
  }
15232
15315
  }
15233
15316
  _setMenuPosition(position) {
15234
- var _a;
15317
+ var _a, _b;
15318
+ const ITEM_HEIGHT = 37;
15319
+ const DIVIDER_HEIGHT = 5;
15320
+ const PADDING = 8;
15235
15321
  if (this._componentRef !== null) {
15236
15322
  const { top, right, bottom, left } = position;
15323
+ const itemsCount = (_a = this._componentRef.instance.items) === null || _a === void 0 ? void 0 : _a.reduce((count, item) => {
15324
+ return !item.divider ? count + 1 : count;
15325
+ }, 0);
15326
+ const dividersCount = (_b = this._componentRef.instance.items) === null || _b === void 0 ? void 0 : _b.reduce((count, item) => {
15327
+ return item.divider ? count + 1 : count;
15328
+ }, 0);
15237
15329
  // I need to calculate the height of the component because the internal elements have not been created yet.
15238
- const menuHeight = ((_a = this.items) === null || _a === void 0 ? void 0 : _a.length) * 40;
15330
+ const menuHeight = itemsCount * ITEM_HEIGHT + dividersCount * DIVIDER_HEIGHT + PADDING + 8;
15239
15331
  const menuWidth = this._menuDivElement.getBoundingClientRect().width;
15240
- const rightFreeSpace = document.body.clientWidth - right;
15241
- const bottomFreeSpace = document.body.clientHeight - bottom;
15332
+ const rightFreeSpace = window.innerWidth - right;
15333
+ const bottomFreeSpace = window.innerHeight - bottom;
15242
15334
  if (rightFreeSpace > menuWidth) {
15243
15335
  this._componentRef.instance.left = right;
15244
15336
  }
@@ -15246,84 +15338,76 @@ let TieredMenuComponent = TieredMenuComponent_1 = class TieredMenuComponent {
15246
15338
  this._componentRef.instance.left = left - menuWidth;
15247
15339
  }
15248
15340
  if (bottomFreeSpace <= menuHeight) {
15249
- this._componentRef.instance.top = top - menuHeight;
15341
+ this._componentRef.instance.top = Math.max(window.innerHeight - menuHeight, window.scrollY);
15250
15342
  }
15251
15343
  else {
15252
- this._componentRef.instance.top = top;
15344
+ this._componentRef.instance.top = window.scrollY + top;
15253
15345
  }
15254
15346
  }
15255
15347
  }
15256
15348
  _subscribeEvents() {
15257
15349
  // Increment current item event.
15258
- this._tieredMenuEventService.incrementCurrentItemEvent
15259
- .pipe(takeUntil(this._unsubscribe$))
15260
- .subscribe(() => {
15350
+ this._tieredMenuEventService.incrementCurrentItemEvent.pipe(takeUntil(this._unsubscribe$)).subscribe(() => {
15261
15351
  this._incrementCurItem();
15262
15352
  });
15263
15353
  // Decrement current item event.
15264
- this._tieredMenuEventService.decrementCurrentItemEvent
15265
- .pipe(takeUntil(this._unsubscribe$))
15266
- .subscribe(() => {
15354
+ this._tieredMenuEventService.decrementCurrentItemEvent.pipe(takeUntil(this._unsubscribe$)).subscribe(() => {
15267
15355
  this._decrementCurItem();
15268
15356
  });
15269
15357
  // Select item event.
15270
- this._tieredMenuEventService.selectItemEvent
15271
- .pipe(takeUntil(this._unsubscribe$))
15272
- .subscribe((item) => {
15358
+ this._tieredMenuEventService.selectItemEvent.pipe(takeUntil(this._unsubscribe$)).subscribe((item) => {
15273
15359
  if (item.submenu) {
15274
- this._tieredMenuEventService.emitOpenItemMenuEvent(item);
15360
+ this._tieredMenuEventService.openItemMenuEvent.emit(item);
15275
15361
  }
15276
15362
  else if (item.command) {
15277
- this._tieredMenuEventService.emitCloseAllMenusEvent();
15363
+ this._tieredMenuEventService.closeAllMenusEvent.emit();
15278
15364
  item.command();
15279
15365
  }
15280
15366
  });
15281
15367
  // Close all menus event.
15282
- this._tieredMenuEventService.closeAllMenusEvent
15283
- .pipe(takeUntil(this._unsubscribe$))
15284
- .subscribe(() => {
15368
+ this._tieredMenuEventService.closeAllMenusEvent.pipe(takeUntil(this._unsubscribe$)).subscribe(() => {
15285
15369
  this._destroy();
15286
15370
  this.tieredMenuService.currentItem = null;
15287
15371
  this.tieredMenuService.currentItems = this.tieredMenuService.items;
15372
+ this.tieredMenuService.markAllItemsAsClosed(this.tieredMenuService.items);
15288
15373
  });
15289
15374
  // Open item menu event.
15290
- this._tieredMenuEventService.openItemMenuEvent
15291
- .pipe(takeUntil(this._unsubscribe$))
15292
- .subscribe((item) => {
15293
- item.isOpen = false;
15375
+ this._tieredMenuEventService.openItemMenuEvent.pipe(takeUntil(this._unsubscribe$)).subscribe((item) => {
15294
15376
  if (this.tieredMenuService.currentItem) {
15295
15377
  if (this.tieredMenuService.currentItem.parent === item) {
15296
15378
  return;
15297
15379
  }
15298
15380
  if (!this.tieredMenuService.searchTheHierarchy(this.tieredMenuService.currentItem.parent, item)) {
15299
- let itemAux = this.tieredMenuService.currentItem;
15300
- while (itemAux.parent !== item.parent) {
15301
- this._tieredMenuEventService.emitCloseItemMenuEvent(itemAux);
15302
- itemAux = itemAux.parent;
15381
+ let current = this.tieredMenuService.currentItem;
15382
+ current.isOpen = false;
15383
+ while ((current === null || current === void 0 ? void 0 : current.parent) !== item.parent) {
15384
+ this._tieredMenuEventService.closeItemMenuEvent.emit(current);
15385
+ this._changeDetectorRef.detectChanges();
15386
+ current = current.parent;
15303
15387
  }
15304
- }
15305
- }
15306
- if (item.submenu) {
15307
- if (!item.isOpen) {
15308
- const { top, right, left, bottom } = document
15309
- .querySelector(`#${item.id}`)
15310
- .getBoundingClientRect();
15311
- const position = { top, right, left, bottom };
15312
- if (this.items.includes(item)) {
15313
- this._createMenu(item.submenu, position);
15314
- this.tieredMenuService.currentItems = item.submenu;
15315
- this.tieredMenuService.currentItem = item.submenu[0];
15388
+ if (current) {
15389
+ current.isOpen = false;
15316
15390
  }
15317
15391
  }
15318
15392
  }
15393
+ if (item.submenu && !item.isOpen && this.items.includes(item)) {
15394
+ const { top, right, left, bottom } = document.querySelector(`#${item.id}`).getBoundingClientRect();
15395
+ const position = { top, right, left, bottom };
15396
+ this._createMenu(item.submenu, position);
15397
+ this.tieredMenuService.currentItems = item.submenu;
15398
+ this.tieredMenuService.currentItem = item.submenu[0];
15399
+ item.isOpen = true;
15400
+ }
15319
15401
  });
15320
15402
  // Close item menu event.
15321
15403
  this._tieredMenuEventService.closeItemMenuEvent
15322
15404
  .pipe(takeUntil(this._unsubscribe$))
15323
15405
  .subscribe((item) => {
15324
15406
  var _a, _b;
15325
- if (this.items.includes(item)) {
15326
- item.isOpen = false;
15407
+ if (this.items.some((i) => i.id === item.id)) {
15408
+ if (item.parent) {
15409
+ item.parent.isOpen = false;
15410
+ }
15327
15411
  this.tieredMenuService.currentItems = ((_b = (_a = item === null || item === void 0 ? void 0 : item.parent) === null || _a === void 0 ? void 0 : _a.parent) === null || _b === void 0 ? void 0 : _b.submenu) || this.tieredMenuService.items;
15328
15412
  this.tieredMenuService.currentItem = item.parent;
15329
15413
  this.destroyRequest.emit(false);
@@ -15335,187 +15419,205 @@ TieredMenuComponent.ctorParameters = () => [
15335
15419
  { type: ApplicationRef },
15336
15420
  { type: ComponentFactoryResolver },
15337
15421
  { type: Injector },
15422
+ { type: ChangeDetectorRef },
15338
15423
  { type: TieredMenuService },
15339
15424
  { type: TieredMenuEventService }
15340
15425
  ];
15341
15426
  __decorate([
15342
15427
  Output()
15343
15428
  ], TieredMenuComponent.prototype, "destroyRequest", void 0);
15429
+ __decorate([
15430
+ HostListener("window:resize")
15431
+ ], TieredMenuComponent.prototype, "onResize", null);
15432
+ __decorate([
15433
+ HostListener("document:click", ["$event"])
15434
+ ], TieredMenuComponent.prototype, "onDocumentClick", null);
15435
+ __decorate([
15436
+ HostListener("document:keydown", ["$event"])
15437
+ ], TieredMenuComponent.prototype, "onKeydownHandler", null);
15344
15438
  TieredMenuComponent = TieredMenuComponent_1 = __decorate([
15345
15439
  Component({
15346
15440
  selector: "s-tiered-menu",
15347
- template: "<div class=\"menu\" [ngStyle]=\"{\n 'left': left + 'px',\n 'top': top + 'px'\n }\">\n\n <div *ngFor=\"let item of items\">\n <s-tiered-menu-item\n *ngIf=\"!item.divider\"\n [item]=\"item\"\n [focused]=\"item === tieredMenuService.currentItem\"\n triggerEvent=\"hover\"\n [closeOnClick]=\"false\">\n </s-tiered-menu-item>\n <s-tiered-menu-divider *ngIf=\"item.divider\"></s-tiered-menu-divider>\n </div>\n</div>",
15348
- styles: [".menu{background-color:#fff;border:1px solid #ccc;border-radius:6px;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);display:-ms-inline-flexbox;display:inline-flex;-ms-flex-direction:column;flex-direction:column;min-width:176px;padding:4px 0;position:fixed;z-index:9999}"]
15441
+ template: "<div\n class=\"menu\"\n [ngStyle]=\"{\n 'left': left + 'px',\n 'top': top + 'px'\n }\">\n\n <div *ngFor=\"let item of items\">\n <s-tiered-menu-item\n *ngIf=\"!item.divider\"\n [item]=\"item\"\n [focused]=\"item === tieredMenuService.currentItem\"\n [highlight]=\"item.isOpen\"\n triggerEvent=\"hover\"\n [closeOnClick]=\"false\">\n </s-tiered-menu-item>\n <s-tiered-menu-divider *ngIf=\"item.divider\"></s-tiered-menu-divider>\n </div>\n</div>",
15442
+ styles: [".menu{background-color:#fff;border:1px solid #ccc;border-radius:6px;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);display:-ms-inline-flexbox;display:inline-flex;-ms-flex-direction:column;flex-direction:column;max-height:100vh;min-width:176px;padding:4px 0;overflow-y:auto;position:absolute;z-index:9999}"]
15349
15443
  })
15350
15444
  ], TieredMenuComponent);
15351
15445
 
15446
+ let TieredMenuGlobalService = class TieredMenuGlobalService {
15447
+ };
15448
+ TieredMenuGlobalService = __decorate([
15449
+ Injectable()
15450
+ ], TieredMenuGlobalService);
15451
+
15352
15452
  let TieredMenuDirective = class TieredMenuDirective {
15353
- constructor(_elementRef, _appRef, _componentFactoryResolver, _injector, _tieredMenuEventService, _tieredMenuService) {
15453
+ constructor(_elementRef, _appRef, _componentFactoryResolver, _injector, _tieredMenuEventService, _tieredMenuService, _tieredMenuGlobalService, _changeDetectorRef) {
15354
15454
  this._elementRef = _elementRef;
15355
15455
  this._appRef = _appRef;
15356
15456
  this._componentFactoryResolver = _componentFactoryResolver;
15357
15457
  this._injector = _injector;
15358
15458
  this._tieredMenuEventService = _tieredMenuEventService;
15359
15459
  this._tieredMenuService = _tieredMenuService;
15460
+ this._tieredMenuGlobalService = _tieredMenuGlobalService;
15461
+ this._changeDetectorRef = _changeDetectorRef;
15462
+ this.items = [];
15463
+ this.triggerEvent = "click";
15360
15464
  this._componentRef = null;
15361
15465
  this._isNested = false;
15362
15466
  this._isOpen = false;
15363
15467
  this._unsubscribe$ = new Subject();
15364
- this.alwaysOpen = false;
15365
- this.triggerEvent = "click";
15468
+ }
15469
+ onClick(event) {
15470
+ var _a;
15471
+ if (this.triggerEvent === "click" && ((_a = this._tieredMenuService.items) === null || _a === void 0 ? void 0 : _a.length) > 0 && !this._isOpen) {
15472
+ this._lastActiveElement = document.activeElement;
15473
+ this._createMenu();
15474
+ event.preventDefault();
15475
+ event.stopPropagation();
15476
+ }
15366
15477
  }
15367
15478
  ngOnInit() {
15368
- this._tieredMenuService.items = this._tieredMenuService.normalizeData(this.items);
15369
- this._tieredMenuService.currentItems = this._tieredMenuService.items;
15370
- this._tieredMenuService.currentItem = this._tieredMenuService.items[0];
15479
+ this._updateServiceItems();
15371
15480
  this._subscribeEvents();
15372
15481
  }
15373
- ngAfterViewInit() {
15374
- // setTimeout to create the menu after creating the elements.
15375
- if (this.alwaysOpen) {
15376
- setTimeout(() => {
15377
- this._createMenu();
15378
- }, 0);
15482
+ ngDoCheck() {
15483
+ if (!this.previousItems) {
15484
+ this.previousItems = this._tieredMenuService.cloneItems(this.items);
15485
+ }
15486
+ ;
15487
+ let hasChanges = false;
15488
+ if (this.items.length !== this.previousItems.length) {
15489
+ hasChanges = true;
15379
15490
  }
15491
+ else {
15492
+ for (let i = 0; i < this.items.length; i++) {
15493
+ if (!this._compareItems(this.items[i], this.previousItems[i])) {
15494
+ hasChanges = true;
15495
+ break;
15496
+ }
15497
+ }
15498
+ }
15499
+ if (hasChanges) {
15500
+ this._updateServiceItems();
15501
+ this._changeDetectorRef.detectChanges();
15502
+ this._rebuildMenu();
15503
+ }
15504
+ this.previousItems = this._tieredMenuService.cloneItems(this.items);
15380
15505
  }
15381
15506
  ngOnDestroy() {
15382
15507
  this._unsubscribe$.next();
15383
15508
  this._unsubscribe$.complete();
15384
15509
  this._destroy();
15385
15510
  }
15386
- onResize() {
15387
- if (!this.alwaysOpen) {
15388
- this._tieredMenuEventService.emitCloseAllMenusEvent();
15389
- }
15390
- }
15391
- onKeydownHandler(event) {
15392
- if (!this._isOpen)
15393
- return;
15394
- switch (event.key) {
15395
- case "Escape":
15396
- this._tieredMenuEventService.emitCloseAllMenusEvent();
15397
- break;
15398
- case " ":
15399
- case "Enter":
15400
- this._tieredMenuEventService.emitSelectItemEvent(this._tieredMenuService.currentItem);
15401
- break;
15402
- case "ArrowLeft":
15403
- // When nested I need a reference to the current item's parent item, otherwise just the current item.
15404
- this._tieredMenuEventService.emitCloseItemMenuEvent(this._isNested ? this._tieredMenuService.currentItem.parent : this._tieredMenuService.currentItem);
15405
- break;
15406
- case "ArrowRight":
15407
- this._tieredMenuEventService.emitOpenItemMenuEvent(this._tieredMenuService.currentItem);
15408
- break;
15409
- case "ArrowUp":
15410
- this._tieredMenuEventService.emitDecrementCurrentItemEvent();
15411
- break;
15412
- case "ArrowDown":
15413
- this._tieredMenuEventService.emitIncrementCurrentItemEvent();
15414
- break;
15415
- }
15416
- }
15417
- onClick(event) {
15418
- if (this.triggerEvent === "click" && this.items && this.items && !this._isOpen) {
15419
- this._lastActiveElement = document.activeElement;
15420
- this._createMenu();
15421
- event.preventDefault();
15422
- event.stopPropagation();
15423
- }
15424
- }
15425
- onDocumentClick(event) {
15426
- // Closing menu when clicked outside.
15427
- const target = event.target;
15428
- const clickedInside = target.closest("s-tiered-menu-item") || target.closest("s-tiered-menu-divider");
15429
- if (!clickedInside) {
15430
- this._tieredMenuEventService.emitCloseAllMenusEvent();
15431
- }
15432
- }
15433
15511
  _createMenu() {
15434
- var _a;
15435
- if (!this._componentRef && this.items) {
15436
- (_a = this._lastActiveElement) === null || _a === void 0 ? void 0 : _a.blur();
15512
+ var _a, _b, _c;
15513
+ if (!this._componentRef && ((_a = this._tieredMenuService.items) === null || _a === void 0 ? void 0 : _a.length) > 0) {
15514
+ (_b = this._tieredMenuGlobalService.lastInstance) === null || _b === void 0 ? void 0 : _b._destroy();
15515
+ this._tieredMenuGlobalService.lastInstance = this;
15516
+ (_c = this._lastActiveElement) === null || _c === void 0 ? void 0 : _c.blur();
15437
15517
  this._isOpen = true;
15438
15518
  this._isNested = document.body.clientWidth < 600;
15439
15519
  this._isNested ? this._createNestedMenu() : this._createTieredMenu();
15440
15520
  }
15441
15521
  }
15442
15522
  _createTieredMenu() {
15443
- if (!this._componentRef && this.items) {
15523
+ var _a;
15524
+ if (!this._componentRef && ((_a = this._tieredMenuService.items) === null || _a === void 0 ? void 0 : _a.length) > 0) {
15444
15525
  const componentFactory = this._componentFactoryResolver.resolveComponentFactory(TieredMenuComponent);
15445
15526
  this._componentRef = componentFactory.create(this._injector);
15446
15527
  this._appRef.attachView(this._componentRef.hostView);
15447
15528
  const domElem = this._componentRef.hostView.rootNodes[0];
15448
15529
  document.body.appendChild(domElem);
15449
15530
  this._setMenuComponentProperties();
15450
- this._componentRef.instance.destroyRequest
15451
- .pipe(takeUntil(this._unsubscribe$))
15452
- .subscribe(() => {
15531
+ this._componentRef.instance.destroyRequest.pipe(takeUntil(this._unsubscribe$)).subscribe(() => {
15453
15532
  this._destroy();
15454
15533
  });
15455
- this._menuDivElement = domElem.querySelector(".menu");
15456
15534
  this._setMenuPosition();
15457
15535
  }
15458
15536
  }
15459
15537
  _createNestedMenu() {
15460
- if (!this._componentRef && this.items) {
15538
+ var _a;
15539
+ if (!this._componentRef && ((_a = this._tieredMenuService.items) === null || _a === void 0 ? void 0 : _a.length) > 0) {
15461
15540
  const componentFactory = this._componentFactoryResolver.resolveComponentFactory(TieredMenuNestedComponent);
15462
15541
  this._componentRef = componentFactory.create(this._injector);
15463
15542
  this._appRef.attachView(this._componentRef.hostView);
15464
15543
  const domElem = this._componentRef.hostView.rootNodes[0];
15465
15544
  document.body.appendChild(domElem);
15466
15545
  this._setMenuComponentProperties();
15467
- this._menuDivElement = domElem.querySelector(".menu");
15468
15546
  this._setMenuPosition();
15469
15547
  }
15470
15548
  }
15471
15549
  _destroy() {
15472
- var _a;
15473
- if (this._componentRef !== null && !this.alwaysOpen) {
15550
+ if (this._componentRef) {
15474
15551
  this._isOpen = false;
15475
15552
  window.clearTimeout(this._showTimeout);
15476
15553
  this._appRef.detachView(this._componentRef.hostView);
15477
15554
  this._componentRef.destroy();
15478
15555
  this._componentRef = null;
15479
- this._menuDivElement = null;
15480
- (_a = this._lastActiveElement) === null || _a === void 0 ? void 0 : _a.focus();
15481
15556
  this._tieredMenuService.currentItems = this._tieredMenuService.items;
15482
15557
  this._tieredMenuService.currentItem = this._tieredMenuService.items[0];
15558
+ this._tieredMenuEventService.closeAllMenusEvent.emit();
15483
15559
  }
15484
15560
  }
15485
15561
  _setMenuPosition() {
15562
+ var _a, _b;
15563
+ const ITEM_HEIGHT = 37;
15564
+ const ITEM_WIDTH = 176;
15565
+ const DIVIDER_HEIGHT = 5;
15566
+ const PADDING = 8;
15567
+ const MARGIN = 4;
15486
15568
  if (this._componentRef !== null) {
15487
- const { right, bottom, left } = this._elementRef.nativeElement.getBoundingClientRect();
15488
- const menuWidth = this._menuDivElement.getBoundingClientRect().width;
15489
- const rightFreeSpace = document.body.clientWidth - right;
15490
- const topPosition = bottom + 2;
15491
- this._componentRef.instance.top = topPosition;
15492
- if (!this._isNested) {
15493
- if (rightFreeSpace > menuWidth) {
15494
- this._componentRef.instance.left = left;
15495
- }
15496
- else {
15497
- this._componentRef.instance.left = left - menuWidth;
15498
- }
15569
+ this._componentRef.instance.top = 8;
15570
+ const { bottom, left, right } = this._elementRef.nativeElement.getBoundingClientRect();
15571
+ const itemsCount = (_a = this._componentRef.instance.items) === null || _a === void 0 ? void 0 : _a.reduce((count, item) => {
15572
+ return !item.divider ? count + 1 : count;
15573
+ }, 0);
15574
+ const dividersCount = (_b = this._componentRef.instance.items) === null || _b === void 0 ? void 0 : _b.reduce((count, item) => {
15575
+ return item.divider ? count + 1 : count;
15576
+ }, 0);
15577
+ const menuHeight = itemsCount * ITEM_HEIGHT + dividersCount * DIVIDER_HEIGHT + PADDING + MARGIN;
15578
+ const rightFreeSpace = window.innerWidth - right;
15579
+ const bottomFreeSpace = window.innerHeight - bottom;
15580
+ this._componentRef.instance.top = bottom;
15581
+ this._componentRef.instance.left = left;
15582
+ if (bottomFreeSpace <= menuHeight) {
15583
+ this._componentRef.instance.top = Math.max(bottom - menuHeight, 0);
15499
15584
  }
15500
15585
  else {
15501
- // setting the maximum menu size to ensure its content is always visible. 10px margin.
15502
- this._componentRef.instance.maxHeight = window.innerHeight - topPosition - 10;
15586
+ this._componentRef.instance.top = bottom + MARGIN;
15587
+ }
15588
+ if (rightFreeSpace > 176) {
15589
+ this._componentRef.instance.left = left;
15590
+ }
15591
+ else {
15592
+ this._componentRef.instance.left = right - ITEM_WIDTH;
15593
+ }
15594
+ if (this._isNested) {
15595
+ this._componentRef.instance.left = MARGIN;
15503
15596
  }
15504
15597
  }
15505
15598
  }
15506
15599
  _setMenuComponentProperties() {
15507
15600
  if (this._componentRef != null) {
15508
- this._componentRef.instance.items = this.items;
15601
+ this._componentRef.instance.items = this._tieredMenuService.items;
15509
15602
  }
15510
15603
  }
15511
15604
  _subscribeEvents() {
15512
- this._tieredMenuEventService.closeAllMenusEvent
15513
- .pipe(takeUntil(this._unsubscribe$))
15514
- .subscribe(() => {
15515
- this.items = this._tieredMenuService.markAllItemsAsClosed(this.items);
15605
+ this._tieredMenuEventService.closeAllMenusEvent.pipe(takeUntil(this._unsubscribe$)).subscribe(() => {
15606
+ this._tieredMenuService.items = this._tieredMenuService.markAllItemsAsClosed(this._tieredMenuService.items);
15516
15607
  this._destroy();
15517
15608
  });
15518
15609
  }
15610
+ _compareItems(item1, item2) {
15611
+ return JSON.stringify(item1) === JSON.stringify(item2);
15612
+ }
15613
+ _rebuildMenu() {
15614
+ this._destroy();
15615
+ }
15616
+ _updateServiceItems() {
15617
+ this._tieredMenuService.items = this._tieredMenuService.normalizeData(this.items);
15618
+ this._tieredMenuService.currentItems = this._tieredMenuService.items;
15619
+ this._tieredMenuService.currentItem = this._tieredMenuService.items[0];
15620
+ }
15519
15621
  };
15520
15622
  TieredMenuDirective.ctorParameters = () => [
15521
15623
  { type: ElementRef },
@@ -15523,59 +15625,65 @@ TieredMenuDirective.ctorParameters = () => [
15523
15625
  { type: ComponentFactoryResolver },
15524
15626
  { type: Injector },
15525
15627
  { type: TieredMenuEventService },
15526
- { type: TieredMenuService }
15628
+ { type: TieredMenuService },
15629
+ { type: TieredMenuGlobalService },
15630
+ { type: ChangeDetectorRef }
15527
15631
  ];
15528
15632
  __decorate([
15529
15633
  Input()
15530
15634
  ], TieredMenuDirective.prototype, "items", void 0);
15531
- __decorate([
15532
- Input()
15533
- ], TieredMenuDirective.prototype, "alwaysOpen", void 0);
15534
15635
  __decorate([
15535
15636
  Input()
15536
15637
  ], TieredMenuDirective.prototype, "triggerEvent", void 0);
15537
- __decorate([
15538
- HostListener("window:resize")
15539
- ], TieredMenuDirective.prototype, "onResize", null);
15540
- __decorate([
15541
- HostListener("document:keydown", ["$event"])
15542
- ], TieredMenuDirective.prototype, "onKeydownHandler", null);
15543
15638
  __decorate([
15544
15639
  HostListener("click", ["$event"])
15545
15640
  ], TieredMenuDirective.prototype, "onClick", null);
15546
- __decorate([
15547
- HostListener("document:click", ["$event"])
15548
- ], TieredMenuDirective.prototype, "onDocumentClick", null);
15549
15641
  TieredMenuDirective = __decorate([
15550
15642
  Directive({
15551
15643
  selector: "[sTieredMenu]",
15644
+ providers: [TieredMenuEventService, TieredMenuService],
15552
15645
  })
15553
15646
  ], TieredMenuDirective);
15554
15647
 
15648
+ let TieredMenuDividerComponent = class TieredMenuDividerComponent {
15649
+ };
15650
+ TieredMenuDividerComponent = __decorate([
15651
+ Component({
15652
+ selector: "s-tiered-menu-divider",
15653
+ template: "<div class=\"divider\"></div>",
15654
+ styles: [".divider{margin:2px 0;height:1px;background-color:#ccc}"]
15655
+ })
15656
+ ], TieredMenuDividerComponent);
15657
+
15555
15658
  let TieredMenuItemComponent = class TieredMenuItemComponent {
15556
15659
  constructor(_tieredMenuEventService) {
15557
15660
  this._tieredMenuEventService = _tieredMenuEventService;
15558
15661
  this.focused = false;
15662
+ this.highlight = false;
15559
15663
  this.triggerEvent = "click";
15560
15664
  this.closeOnClick = false;
15561
15665
  }
15562
15666
  onClick() {
15667
+ if (this.item.disabled)
15668
+ return;
15563
15669
  if (this.item.submenu) {
15564
15670
  if (!this.item.isOpen) {
15565
- this._tieredMenuEventService.emitOpenItemMenuEvent(this.item);
15671
+ this._tieredMenuEventService.openItemMenuEvent.emit(this.item);
15566
15672
  }
15567
15673
  else if (this.closeOnClick) {
15568
- this._tieredMenuEventService.emitCloseItemMenuEvent(this.item);
15674
+ this._tieredMenuEventService.closeItemMenuEvent.emit(this.item);
15569
15675
  }
15570
15676
  }
15571
15677
  else {
15572
- this._tieredMenuEventService.emitSelectItemEvent(this.item);
15678
+ this._tieredMenuEventService.selectItemEvent.emit(this.item);
15573
15679
  }
15574
15680
  }
15575
15681
  onMouseEnter() {
15682
+ if (this.item.disabled)
15683
+ return;
15576
15684
  if (this.triggerEvent === "hover" && !this.item.isOpen) {
15577
15685
  this._showTimeout = window.setTimeout(() => {
15578
- this._tieredMenuEventService.emitOpenItemMenuEvent(this.item);
15686
+ this._tieredMenuEventService.openItemMenuEvent.emit(this.item);
15579
15687
  }, 300);
15580
15688
  }
15581
15689
  }
@@ -15592,6 +15700,9 @@ __decorate([
15592
15700
  __decorate([
15593
15701
  Input()
15594
15702
  ], TieredMenuItemComponent.prototype, "focused", void 0);
15703
+ __decorate([
15704
+ Input()
15705
+ ], TieredMenuItemComponent.prototype, "highlight", void 0);
15595
15706
  __decorate([
15596
15707
  Input()
15597
15708
  ], TieredMenuItemComponent.prototype, "triggerEvent", void 0);
@@ -15611,21 +15722,11 @@ __decorate([
15611
15722
  TieredMenuItemComponent = __decorate([
15612
15723
  Component({
15613
15724
  selector: "s-tiered-menu-item",
15614
- template: "<div\n [id]=\"item.id\"\n class=\"tiered-menu-item\"\n [ngClass]=\"{\n 'tiered-menu-item--open': item.isOpen,\n 'tiered-menu-item--focused': focused\n }\">\n <div class=\"tiered-menu-item-content\">\n <span class=\"icon\" [ngClass]=\"item.iconClass\"></span>\n <span class=\"label\">{{ item.label }}</span>\n </div>\n <span\n *ngIf=\"item.submenu\"\n class=\"submenu-icon\"\n [ngClass]=\"{\n 'fas': true,\n 'fa-chevron-left': item.isOpen,\n 'fa-chevron-right': !item.isOpen\n }\">\n </span>\n</div>",
15615
- styles: [".tiered-menu-item{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;padding:8px 16px;-webkit-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.tiered-menu-item .tiered-menu-item-content .label{margin:0 12px}.tiered-menu-item:hover{background-color:#e9e6e6}.tiered-menu-item--focused{background-color:#ccc!important}.tiered-menu-item--open{background-color:#e4e2e2}"]
15725
+ template: "<div\n [id]=\"item.id\"\n class=\"tiered-menu-item\"\n [ngClass]=\"{\n 'tiered-menu-item--open': item.isOpen,\n 'tiered-menu-item--focused': focused,\n 'tiered-menu-item--disabled': item.disabled\n }\">\n <div class=\"tiered-menu-item-content\">\n <span class=\"icon\" [ngClass]=\"item.iconClass\"></span>\n <span class=\"label\">{{ item.label }}</span>\n </div>\n <span\n *ngIf=\"item.submenu\"\n class=\"submenu-icon\"\n [ngClass]=\"{\n 'fas': true,\n 'fa-chevron-left': item.isOpen,\n 'fa-chevron-right': !item.isOpen\n }\">\n </span>\n</div>",
15726
+ styles: [".tiered-menu-item{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;padding:8px 16px;-webkit-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.tiered-menu-item .tiered-menu-item-content .label{margin:0 12px}.tiered-menu-item:hover{background-color:#e9e6e6}.tiered-menu-item--focused{background-color:#ccc!important}.tiered-menu-item--open{background-color:#e4e2e2}.tiered-menu-item--disabled{opacity:50%;cursor:default}"]
15616
15727
  })
15617
15728
  ], TieredMenuItemComponent);
15618
15729
 
15619
- let TieredMenuDividerComponent = class TieredMenuDividerComponent {
15620
- };
15621
- TieredMenuDividerComponent = __decorate([
15622
- Component({
15623
- selector: "s-tiered-menu-divider",
15624
- template: "<div class=\"divider\"></div>",
15625
- styles: [".divider{margin:2px 0;height:1px;background-color:#ccc}"]
15626
- })
15627
- ], TieredMenuDividerComponent);
15628
-
15629
15730
  let TieredMenuModule = class TieredMenuModule {
15630
15731
  };
15631
15732
  TieredMenuModule = __decorate([
@@ -15641,10 +15742,7 @@ TieredMenuModule = __decorate([
15641
15742
  TieredMenuDividerComponent,
15642
15743
  ],
15643
15744
  exports: [TieredMenuDirective],
15644
- providers: [
15645
- TieredMenuEventService,
15646
- TieredMenuService,
15647
- ],
15745
+ providers: [TieredMenuGlobalService],
15648
15746
  })
15649
15747
  ], TieredMenuModule);
15650
15748
 
@@ -15734,6 +15832,7 @@ const VERTICAL = "vertical";
15734
15832
  const MIN_ITEM_SIZE = 200;
15735
15833
  let TimelineComponent = class TimelineComponent {
15736
15834
  constructor() {
15835
+ this.highlightActiveItem = true;
15737
15836
  this.direction = HORIZONTAL;
15738
15837
  this.collapsable = true;
15739
15838
  this.counterLabel = "items";
@@ -15769,6 +15868,9 @@ __decorate([
15769
15868
  __decorate([
15770
15869
  Input()
15771
15870
  ], TimelineComponent.prototype, "activeIndex", void 0);
15871
+ __decorate([
15872
+ Input()
15873
+ ], TimelineComponent.prototype, "highlightActiveItem", void 0);
15772
15874
  __decorate([
15773
15875
  Input()
15774
15876
  ], TimelineComponent.prototype, "direction", void 0);
@@ -15784,7 +15886,7 @@ __decorate([
15784
15886
  TimelineComponent = __decorate([
15785
15887
  Component({
15786
15888
  selector: "s-timeline",
15787
- template: "<div *ngIf=\"changeToVertical(); then vertical else horizontal\"></div>\n\n<ng-template #horizontal>\n <s-horizontal-timeline *ngIf=\"items?.length\"\n [items]=\"items\"\n [activeIndex]=\"activeIndex\">\n </s-horizontal-timeline>\n</ng-template>\n\n<ng-template #vertical>\n <s-vertical-timeline *ngIf=\"items?.length\"\n [items]=\"items\"\n [activeIndex]=\"activeIndex\"\n [counterLabel]=\"counterLabel\"\n [collapsable]=\"collapsable\">\n </s-vertical-timeline>\n</ng-template>"
15889
+ template: "<div *ngIf=\"changeToVertical(); then vertical else horizontal\"></div>\n\n<ng-template #horizontal>\n <s-horizontal-timeline *ngIf=\"items?.length\"\n [items]=\"items\"\n [activeIndex]=\"activeIndex\"\n [highlightActiveItem]=\"highlightActiveItem\">\n </s-horizontal-timeline>\n</ng-template>\n\n<ng-template #vertical>\n <s-vertical-timeline *ngIf=\"items?.length\"\n [items]=\"items\"\n [activeIndex]=\"activeIndex\"\n highlightActiveItem=\"hi\"\n [counterLabel]=\"counterLabel\"\n [collapsable]=\"collapsable\"\n [highlightActiveItem]=\"highlightActiveItem\">\n </s-vertical-timeline>\n</ng-template>"
15788
15890
  })
15789
15891
  ], TimelineComponent);
15790
15892
 
@@ -15796,14 +15898,17 @@ __decorate([
15796
15898
  __decorate([
15797
15899
  Input()
15798
15900
  ], TimelineIconItemComponent.prototype, "isActive", void 0);
15901
+ __decorate([
15902
+ Input()
15903
+ ], TimelineIconItemComponent.prototype, "highlightActive", void 0);
15799
15904
  __decorate([
15800
15905
  Input()
15801
15906
  ], TimelineIconItemComponent.prototype, "isComplete", void 0);
15802
15907
  TimelineIconItemComponent = __decorate([
15803
15908
  Component({
15804
15909
  selector: "s-timeline-icon-item",
15805
- template: "<ng-container *ngIf=\"item\">\n <div\n class=\"timeline__icon-item\"\n [ngClass]=\"{\n 'timeline__icon-item--small': item.testSize('small'),\n 'timeline__icon-item--normal': item.testSize('normal'),\n 'timeline__icon-item--warning': item.testSeverity('warning'),\n 'timeline__icon-item--error': item.testSeverity('error'),\n 'timeline__icon-item--completed': isComplete,\n 'timeline__icon-item--active': isActive\n }\">\n <div\n class=\"timeline__icon-item__icon\"\n [pTooltip]=\"item.tooltip\"\n tooltipPosition=\"top\"\n [ngStyle]=\"{ backgroundColor: item.color }\">\n <ng-content *ngIf=\"item.icon; then icon_content; else label_text_content\"></ng-content>\n <ng-template #icon_content>\n <span [ngClass]=\"item.icon\"></span>\n </ng-template>\n <ng-template #label_text_content>\n <span class=\"timeline__icon-item__icon__label\">\n {{ item.label }}\n </span>\n </ng-template>\n </div>\n </div>\n</ng-container>\n",
15806
- styles: [".timeline__icon-item .timeline__icon-item__icon{-ms-flex-align:center;align-items:center;background-color:#697882;border-radius:50%;color:#fff;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;margin:4px;-webkit-user-select:none;-ms-user-select:none;user-select:none}.timeline__icon-item .timeline__icon-item__icon .timeline__icon-item__icon__label{font-family:\"Open Sans\",sans-serif}.timeline__icon-item.timeline__icon-item--small .timeline__icon-item__icon{font-size:0;height:16px;width:16px}.timeline__icon-item.timeline__icon-item--normal .timeline__icon-item__icon{font-size:10px;height:24px;padding:8px;width:24px}.timeline__icon-item.timeline__icon-item--normal .timeline__icon-item__icon .timeline__icon-item__icon__label{font-size:14px}.timeline__icon-item.timeline__icon-item--active .timeline__icon-item__icon{font-size:20px;height:40px;padding:10px;width:40px}.timeline__icon-item.timeline__icon-item--active .timeline__icon-item__icon .timeline__icon-item__icon__label{font-size:22px}.timeline__icon-item.timeline__icon-item--active .timeline__icon-item__icon,.timeline__icon-item.timeline__icon-item--completed .timeline__icon-item__icon{background-color:#0c9348}.timeline__icon-item.timeline__icon-item--warning.timeline__icon-item--active .timeline__icon-item__icon{background-color:#fcbf10;color:#333}.timeline__icon-item.timeline__icon-item--danger.timeline__icon-item--active .timeline__icon-item__icon{background-color:#f8931f;color:#333}.timeline__icon-item.timeline__icon-item--error.timeline__icon-item--active .timeline__icon-item__icon{background-color:#c13018}"]
15910
+ template: "<ng-container *ngIf=\"item\">\n <div\n class=\"timeline__icon-item\"\n [ngClass]=\"{\n 'timeline__icon-item--small': item.testSize('small'),\n 'timeline__icon-item--normal': item.testSize('normal'),\n 'timeline__icon-item--warning': item.testSeverity('warning'),\n 'timeline__icon-item--error': item.testSeverity('error'),\n 'timeline__icon-item--completed': isComplete,\n 'timeline__icon-item--active': isActive,\n 'timeline__icon-item--active--highlight': isActive && highlightActive\n }\">\n <div\n class=\"timeline__icon-item__icon\"\n [pTooltip]=\"item.tooltip\"\n tooltipPosition=\"top\"\n [ngStyle]=\"{ backgroundColor: item.color }\">\n <ng-content *ngIf=\"item.icon; then icon_content; else label_text_content\"></ng-content>\n <ng-template #icon_content>\n <span [ngClass]=\"item.icon\"></span>\n </ng-template>\n <ng-template #label_text_content>\n <span class=\"timeline__icon-item__icon__label\">\n {{ item.label }}\n </span>\n </ng-template>\n </div>\n </div>\n</ng-container>\n",
15911
+ styles: [".timeline__icon-item .timeline__icon-item__icon{-ms-flex-align:center;align-items:center;background-color:#697882;border-radius:50%;color:#fff;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;margin:4px;-webkit-user-select:none;-ms-user-select:none;user-select:none}.timeline__icon-item .timeline__icon-item__icon .timeline__icon-item__icon__label{font-family:\"Open Sans\",sans-serif}.timeline__icon-item.timeline__icon-item--small .timeline__icon-item__icon{font-size:0;height:16px;width:16px}.timeline__icon-item.timeline__icon-item--normal .timeline__icon-item__icon{font-size:10px;height:24px;padding:8px;width:24px}.timeline__icon-item.timeline__icon-item--normal .timeline__icon-item__icon .timeline__icon-item__icon__label{font-size:14px}.timeline__icon-item.timeline__icon-item--active--highlight .timeline__icon-item__icon{font-size:20px;height:40px;padding:10px;width:40px}.timeline__icon-item.timeline__icon-item--active--highlight .timeline__icon-item__icon .timeline__icon-item__icon__label{font-size:22px}.timeline__icon-item.timeline__icon-item--active .timeline__icon-item__icon,.timeline__icon-item.timeline__icon-item--completed .timeline__icon-item__icon{background-color:#0c9348}.timeline__icon-item.timeline__icon-item--warning.timeline__icon-item--active .timeline__icon-item__icon{background-color:#fcbf10;color:#333}.timeline__icon-item.timeline__icon-item--danger.timeline__icon-item--active .timeline__icon-item__icon{background-color:#f8931f;color:#333}.timeline__icon-item.timeline__icon-item--error.timeline__icon-item--active .timeline__icon-item__icon{background-color:#c13018}"]
15807
15912
  })
15808
15913
  ], TimelineIconItemComponent);
15809
15914
 
@@ -15831,11 +15936,14 @@ __decorate([
15831
15936
  __decorate([
15832
15937
  Input()
15833
15938
  ], HorizontalTimelineComponent.prototype, "activeIndex", void 0);
15939
+ __decorate([
15940
+ Input()
15941
+ ], HorizontalTimelineComponent.prototype, "highlightActiveItem", void 0);
15834
15942
  HorizontalTimelineComponent = __decorate([
15835
15943
  Component({
15836
15944
  selector: "s-horizontal-timeline",
15837
- template: "<div class=\"horizontal-timeline\">\n <ng-container\n *ngFor=\"let item of items;\n let i = index;\n let isFirst = first;\n let isLast = last\">\n <div\n class=\"horizontal-timeline__item\"\n [ngClass]=\"{\n 'horizontal-timeline__item--small': item.testSize('small'),\n 'horizontal-timeline__item--normal': item.testSize('normal'),\n 'horizontal-timeline__item--warning': item.testSeverity('warning'),\n 'horizontal-timeline__item--error': item.testSeverity('error'),\n 'horizontal-timeline__item--completed': i < activeIndex,\n 'horizontal-timeline__item--active': i === activeIndex\n }\">\n <div class=\"horizontal-timeline__item__icon-wrapper\">\n <div\n class=\"horizontal-timeline__item__icon-wrapper__line horizontal-timeline__item__icon-wrapper__line--before\"\n [ngStyle]=\"{ 'visibility': isFirst ? 'hidden' : 'visible' }\">\n </div>\n <s-timeline-icon-item\n [item]=\"item\"\n [isActive]=\"i === activeIndex\"\n [isComplete]=\"i < activeIndex\">\n </s-timeline-icon-item>\n <div\n class=\"horizontal-timeline__item__icon-wrapper__line horizontal-timeline__item__icon-wrapper__line--after\"\n [ngStyle]=\"{ 'visibility': isLast ? 'hidden' : 'visible' }\">\n </div>\n </div>\n <div class=\"horizontal-timeline__item__info\">\n <div\n class=\"horizontal-timeline__item__info__title\"\n [pTooltip]=\"item.title\"\n tooltipPosition=\"top\"\n [showDelay]=\"1000\">\n {{ item.title }}\n </div>\n <div\n class=\"horizontal-timeline__item__info__description\"\n [pTooltip]=\"item.description\"\n tooltipPosition=\"top\"\n [showDelay]=\"1000\">\n {{ item.description }}\n </div>\n </div>\n </div>\n </ng-container>\n</div>",
15838
- styles: ["@keyframes scale-up-center{0%{transform:scale(.5)}100%{transform:scale(1)}}.horizontal-timeline{-ms-flex-align:start;align-items:flex-start;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}.horizontal-timeline .horizontal-timeline__item{-ms-flex-align:center;align-items:center;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;width:100%}.horizontal-timeline .horizontal-timeline__item .horizontal-timeline__item__icon-wrapper{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;height:56px;-ms-flex-pack:start;justify-content:flex-start;width:100%}.horizontal-timeline .horizontal-timeline__item .horizontal-timeline__item__icon-wrapper .horizontal-timeline__item__icon-wrapper__line{background-color:#697882;height:3px}.horizontal-timeline .horizontal-timeline__item .horizontal-timeline__item__icon-wrapper .horizontal-timeline__item__icon-wrapper__line--before{border-radius:0 2px 2px 0}.horizontal-timeline .horizontal-timeline__item .horizontal-timeline__item__icon-wrapper .horizontal-timeline__item__icon-wrapper__line--after{border-radius:2px 0 0 2px}.horizontal-timeline .horizontal-timeline__item .horizontal-timeline__item__info{width:20ch}.horizontal-timeline .horizontal-timeline__item .horizontal-timeline__item__info .horizontal-timeline__item__info__title{color:#333;font-family:\"Open Sans\",sans-serif;font-size:14px;font-weight:700;line-height:150%;max-width:100%;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.horizontal-timeline .horizontal-timeline__item .horizontal-timeline__item__info .horizontal-timeline__item__info__description{color:#999;display:-webkit-box;font-family:\"Open Sans\",sans-serif;font-size:12px;font-weight:400;line-height:150%;max-height:calc(12px * 1.5 * 4);overflow:hidden;text-align:center;text-overflow:ellipsis;-webkit-line-clamp:4;-webkit-box-orient:vertical}.horizontal-timeline .horizontal-timeline__item.horizontal-timeline__item--small .horizontal-timeline__item__icon-wrapper .horizontal-timeline__item__icon-wrapper__line{width:calc(50% - 4px - 8px)}.horizontal-timeline .horizontal-timeline__item.horizontal-timeline__item--normal .horizontal-timeline__item__icon-wrapper__line{width:calc(50% - 4px - 12px)}.horizontal-timeline .horizontal-timeline__item.horizontal-timeline__item--active .horizontal-timeline__item__icon-wrapper .horizontal-timeline__item__icon-wrapper__line{width:calc(50% - 4px - 20px)}.horizontal-timeline .horizontal-timeline__item.horizontal-timeline__item--active .horizontal-timeline__item__icon-wrapper .horizontal-timeline__item__icon-wrapper__line--before,.horizontal-timeline .horizontal-timeline__item.horizontal-timeline__item--completed .horizontal-timeline__item__icon-wrapper .horizontal-timeline__item__icon-wrapper__line--after,.horizontal-timeline .horizontal-timeline__item.horizontal-timeline__item--completed .horizontal-timeline__item__icon-wrapper .horizontal-timeline__item__icon-wrapper__line--before{background-color:#0c9348}"]
15945
+ template: "<div class=\"horizontal-timeline\">\n <ng-container\n *ngFor=\"let item of items;\n let i = index;\n let isFirst = first;\n let isLast = last\">\n <div\n class=\"horizontal-timeline__item\"\n [ngClass]=\"{\n 'horizontal-timeline__item--small': item.testSize('small'),\n 'horizontal-timeline__item--normal': item.testSize('normal'),\n 'horizontal-timeline__item--warning': item.testSeverity('warning'),\n 'horizontal-timeline__item--error': item.testSeverity('error'),\n 'horizontal-timeline__item--completed': i < activeIndex,\n 'horizontal-timeline__item--active': i === activeIndex\n }\">\n <div class=\"horizontal-timeline__item__icon-wrapper\">\n <div\n class=\"horizontal-timeline__item__icon-wrapper__line horizontal-timeline__item__icon-wrapper__line--before\"\n [ngStyle]=\"{ 'visibility': isFirst ? 'hidden' : 'visible' }\">\n </div>\n <s-timeline-icon-item\n [item]=\"item\"\n [isActive]=\"i === activeIndex\"\n [isComplete]=\"i < activeIndex\"\n [highlightActive]=\"highlightActiveItem\">\n </s-timeline-icon-item>\n <div\n class=\"horizontal-timeline__item__icon-wrapper__line horizontal-timeline__item__icon-wrapper__line--after\"\n [ngStyle]=\"{ 'visibility': isLast ? 'hidden' : 'visible' }\">\n </div>\n </div>\n <div class=\"horizontal-timeline__item__info\">\n <div\n class=\"horizontal-timeline__item__info__title\"\n [pTooltip]=\"item.title\"\n tooltipPosition=\"top\"\n [showDelay]=\"1000\">\n {{ item.title }}\n </div>\n <div\n class=\"horizontal-timeline__item__info__description\"\n [pTooltip]=\"item.description\"\n tooltipPosition=\"top\"\n [showDelay]=\"1000\">\n {{ item.description }}\n </div>\n </div>\n </div>\n </ng-container>\n</div>",
15946
+ styles: ["@keyframes scale-up-center{0%{transform:scale(.5)}100%{transform:scale(1)}}.horizontal-timeline{-ms-flex-align:start;align-items:flex-start;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}.horizontal-timeline .horizontal-timeline__item{-ms-flex-align:center;align-items:center;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;width:100%}.horizontal-timeline .horizontal-timeline__item .horizontal-timeline__item__icon-wrapper{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;height:56px;-ms-flex-pack:start;justify-content:flex-start;width:100%}.horizontal-timeline .horizontal-timeline__item .horizontal-timeline__item__icon-wrapper .horizontal-timeline__item__icon-wrapper__line{background-color:#697882;height:3px}.horizontal-timeline .horizontal-timeline__item .horizontal-timeline__item__icon-wrapper .horizontal-timeline__item__icon-wrapper__line--before{border-radius:0 2px 2px 0}.horizontal-timeline .horizontal-timeline__item .horizontal-timeline__item__icon-wrapper .horizontal-timeline__item__icon-wrapper__line--after{border-radius:2px 0 0 2px}.horizontal-timeline .horizontal-timeline__item .horizontal-timeline__item__info{width:20ch}.horizontal-timeline .horizontal-timeline__item .horizontal-timeline__item__info .horizontal-timeline__item__info__title{color:#333;font-family:\"Open Sans\",sans-serif;font-size:14px;font-weight:700;line-height:150%;max-width:100%;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.horizontal-timeline .horizontal-timeline__item .horizontal-timeline__item__info .horizontal-timeline__item__info__description{color:#999;display:-webkit-box;font-family:\"Open Sans\",sans-serif;font-size:12px;font-weight:400;line-height:150%;max-height:calc(12px * 1.5 * 4);overflow:hidden;text-align:center;text-overflow:ellipsis;line-clamp:4;-webkit-line-clamp:4;-webkit-box-orient:vertical}.horizontal-timeline .horizontal-timeline__item.horizontal-timeline__item--small .horizontal-timeline__item__icon-wrapper .horizontal-timeline__item__icon-wrapper__line{width:calc(50% - 4px - 8px)}.horizontal-timeline .horizontal-timeline__item.horizontal-timeline__item--normal .horizontal-timeline__item__icon-wrapper__line{width:calc(50% - 4px - 12px)}.horizontal-timeline .horizontal-timeline__item.horizontal-timeline__item--active--highlight .horizontal-timeline__item__icon-wrapper .horizontal-timeline__item__icon-wrapper__line{width:calc(50% - 4px - 20px)}.horizontal-timeline .horizontal-timeline__item.horizontal-timeline__item--active .horizontal-timeline__item__icon-wrapper .horizontal-timeline__item__icon-wrapper__line--before,.horizontal-timeline .horizontal-timeline__item.horizontal-timeline__item--completed .horizontal-timeline__item__icon-wrapper .horizontal-timeline__item__icon-wrapper__line--after,.horizontal-timeline .horizontal-timeline__item.horizontal-timeline__item--completed .horizontal-timeline__item__icon-wrapper .horizontal-timeline__item__icon-wrapper__line--before{background-color:#0c9348}"]
15839
15947
  })
15840
15948
  ], HorizontalTimelineComponent);
15841
15949
 
@@ -15883,6 +15991,9 @@ VerticalTimelineComponent.nextId = 0;
15883
15991
  __decorate([
15884
15992
  Input()
15885
15993
  ], VerticalTimelineComponent.prototype, "activeIndex", null);
15994
+ __decorate([
15995
+ Input()
15996
+ ], VerticalTimelineComponent.prototype, "highlightActiveItem", void 0);
15886
15997
  __decorate([
15887
15998
  Input()
15888
15999
  ], VerticalTimelineComponent.prototype, "items", void 0);
@@ -15895,7 +16006,7 @@ __decorate([
15895
16006
  VerticalTimelineComponent = __decorate([
15896
16007
  Component({
15897
16008
  selector: "s-vertical-timeline",
15898
- template: "<div class=\"vertical-timeline\">\n <div\n *ngIf=\"firstItem.length\"\n class=\"vertical-timeline__block\">\n <div class=\"vertical-timeline__block__prefix\"></div>\n <s-vertical-items\n [items]=\"firstItem\"\n [isLast]=\"false\"\n [isActive]=\"false\"\n [isCompleted]=\"true\">\n </s-vertical-items>\n </div>\n\n <div\n *ngIf=\"g1Items.length\"\n class=\"vertical-timeline__block\">\n <div class=\"vertical-timeline__block__prefix\">\n <ng-container *ngIf=\"g1Items.length > 1 && !isG1Collapsed\">\n <s-collapse-option\n *ngIf=\"collapsable\"\n [isCollapsed]=\"isG1Collapsed\"\n (change)=\"onChangeG1($event)\">\n </s-collapse-option>\n <s-range-line class=\"vertical-timeline__block__prefix__line\"></s-range-line>\n </ng-container>\n </div>\n\n <div *ngIf=\"isG1Collapsed && g1Items.length > 1 && collapsable; then g1_collapsed; else g1_items\"></div>\n\n <ng-template #g1_collapsed>\n <s-collapsed-items\n [items]=\"g1Items\"\n [(isCollapsed)]=\"isG1Collapsed\"\n [isCompleted]=\"true\"\n [counterLabel]=\"counterLabel\">\n </s-collapsed-items>\n </ng-template>\n\n <ng-template #g1_items>\n <s-vertical-items\n [items]=\"g1Items\"\n [isLast]=\"false\"\n [isActive]=\"false\"\n [isCompleted]=\"true\">\n </s-vertical-items>\n </ng-template>\n </div>\n\n <div\n *ngIf=\"activeItem.length\"\n class=\"vertical-timeline__block\">\n <div class=\"vertical-timeline__block__prefix\"></div>\n <s-vertical-items\n [items]=\"activeItem\"\n [isLast]=\"!lastItem.length\"\n [isActive]=\"true\"\n [isCompleted]=\"false\">\n </s-vertical-items>\n </div>\n\n <div\n *ngIf=\"g2Items.length\"\n class=\"vertical-timeline__block\">\n <div class=\"vertical-timeline__block__prefix\">\n <ng-container *ngIf=\"g2Items.length > 1 && !isG2Collapsed\">\n <s-collapse-option\n *ngIf=\"collapsable\"\n [isCollapsed]=\"isG2Collapsed\"\n (change)=\"onChangeG2($event)\">\n </s-collapse-option>\n <s-range-line class=\"vertical-timeline__block__prefix__line\"></s-range-line>\n </ng-container>\n </div>\n\n <div *ngIf=\"isG2Collapsed && g2Items.length > 1 && collapsable; then g2_collapsed; else g2_items\"></div>\n\n <ng-template #g2_collapsed>\n <s-collapsed-items\n [items]=\"g2Items\"\n [(isCollapsed)]=\"isG2Collapsed\"\n [isCompleted]=\"false\"\n [counterLabel]=\"counterLabel\">\n </s-collapsed-items>\n </ng-template>\n\n <ng-template #g2_items>\n <s-vertical-items\n [items]=\"g2Items\"\n [isLast]=\"false\"\n [isActive]=\"false\"\n [isCompleted]=\"false\">\n </s-vertical-items>\n </ng-template>\n </div>\n\n <div\n *ngIf=\"lastItem.length\"\n class=\"vertical-timeline__block\">\n <div class=\"vertical-timeline__block__prefix\"></div>\n <s-vertical-items\n [items]=\"lastItem\"\n [isLast]=\"true\"\n [isActive]=\"false\"\n [isCompleted]=\"false\">\n </s-vertical-items>\n </div>\n</div>",
16009
+ template: "<div class=\"vertical-timeline\">\n <div\n *ngIf=\"firstItem.length\"\n class=\"vertical-timeline__block\">\n <div class=\"vertical-timeline__block__prefix\"></div>\n <s-vertical-items\n [items]=\"firstItem\"\n [isLast]=\"false\"\n [isActive]=\"false\"\n [isCompleted]=\"true\">\n </s-vertical-items>\n </div>\n\n <div\n *ngIf=\"g1Items.length\"\n class=\"vertical-timeline__block\">\n <div class=\"vertical-timeline__block__prefix\">\n <ng-container *ngIf=\"g1Items.length > 1 && !isG1Collapsed\">\n <s-collapse-option\n *ngIf=\"collapsable\"\n [isCollapsed]=\"isG1Collapsed\"\n (change)=\"onChangeG1($event)\">\n </s-collapse-option>\n <s-range-line class=\"vertical-timeline__block__prefix__line\"></s-range-line>\n </ng-container>\n </div>\n\n <div *ngIf=\"isG1Collapsed && g1Items.length > 1 && collapsable; then g1_collapsed; else g1_items\"></div>\n\n <ng-template #g1_collapsed>\n <s-collapsed-items\n [items]=\"g1Items\"\n [(isCollapsed)]=\"isG1Collapsed\"\n [isCompleted]=\"true\"\n [counterLabel]=\"counterLabel\">\n </s-collapsed-items>\n </ng-template>\n\n <ng-template #g1_items>\n <s-vertical-items\n [items]=\"g1Items\"\n [isLast]=\"false\"\n [isActive]=\"false\"\n [isCompleted]=\"true\">\n </s-vertical-items>\n </ng-template>\n </div>\n\n <div\n *ngIf=\"activeItem.length\"\n class=\"vertical-timeline__block\">\n <div class=\"vertical-timeline__block__prefix\"></div>\n <s-vertical-items\n [items]=\"activeItem\"\n [isLast]=\"!lastItem.length\"\n [isActive]=\"true\"\n [highlightActive]=\"highlightActiveItem\"\n [isCompleted]=\"false\">\n </s-vertical-items>\n </div>\n\n <div\n *ngIf=\"g2Items.length\"\n class=\"vertical-timeline__block\">\n <div class=\"vertical-timeline__block__prefix\">\n <ng-container *ngIf=\"g2Items.length > 1 && !isG2Collapsed\">\n <s-collapse-option\n *ngIf=\"collapsable\"\n [isCollapsed]=\"isG2Collapsed\"\n (change)=\"onChangeG2($event)\">\n </s-collapse-option>\n <s-range-line class=\"vertical-timeline__block__prefix__line\"></s-range-line>\n </ng-container>\n </div>\n\n <div *ngIf=\"isG2Collapsed && g2Items.length > 1 && collapsable; then g2_collapsed; else g2_items\"></div>\n\n <ng-template #g2_collapsed>\n <s-collapsed-items\n [items]=\"g2Items\"\n [(isCollapsed)]=\"isG2Collapsed\"\n [isCompleted]=\"false\"\n [counterLabel]=\"counterLabel\">\n </s-collapsed-items>\n </ng-template>\n\n <ng-template #g2_items>\n <s-vertical-items\n [items]=\"g2Items\"\n [isLast]=\"false\"\n [isActive]=\"false\"\n [isCompleted]=\"false\">\n </s-vertical-items>\n </ng-template>\n </div>\n\n <div\n *ngIf=\"lastItem.length\"\n class=\"vertical-timeline__block\">\n <div class=\"vertical-timeline__block__prefix\"></div>\n <s-vertical-items\n [items]=\"lastItem\"\n [isLast]=\"true\"\n [isActive]=\"false\"\n [isCompleted]=\"false\">\n </s-vertical-items>\n </div>\n</div>",
15899
16010
  styles: [".vertical-timeline{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.vertical-timeline .vertical-timeline__block{display:-ms-flexbox;display:flex;-ms-flex-align:stretch;align-items:stretch}.vertical-timeline .vertical-timeline__block .vertical-timeline__block__prefix{width:60px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-negative:0;flex-shrink:0}.vertical-timeline .vertical-timeline__block .vertical-timeline__block__prefix .vertical-timeline__block__prefix__line{height:100%}"]
15900
16011
  })
15901
16012
  ], VerticalTimelineComponent);
@@ -15976,13 +16087,16 @@ __decorate([
15976
16087
  __decorate([
15977
16088
  Input()
15978
16089
  ], VerticalItemsComponent.prototype, "isActive", void 0);
16090
+ __decorate([
16091
+ Input()
16092
+ ], VerticalItemsComponent.prototype, "highlightActive", void 0);
15979
16093
  __decorate([
15980
16094
  Input()
15981
16095
  ], VerticalItemsComponent.prototype, "isCompleted", void 0);
15982
16096
  VerticalItemsComponent = __decorate([
15983
16097
  Component({
15984
16098
  selector: "s-vertical-items",
15985
- template: "<div class=\"vertical-items\">\n <ng-container *ngFor=\"let item of items; let index = index;\">\n <div\n class=\"vertical-items__item\"\n [ngClass]=\"{\n 'vertical-items__item--small': item.testSize('small'),\n 'vertical-items__item--normal': item.testSize('normal'),\n 'vertical-items__item--completed': isCompleted,\n 'vertical-items__item--active': isActive\n }\">\n <div class=\"vertical-items__item__icon-wrapper\">\n <s-timeline-icon-item\n [item]=\"item\"\n [isComplete]=\"isCompleted\"\n [isActive]=\"isActive\">\n </s-timeline-icon-item>\n <div\n class=\"vertical-items__item__icon-wrapper__line\"\n [ngStyle]=\"{ 'visibility': isLast ? 'hidden' : 'visible' }\">\n </div>\n </div>\n <div class=\"vertical-items__item__info\">\n <div class=\"vertical-timeline__item__info__title\">\n {{ item.title }}\n </div>\n <div class=\"vertical-items__item__info__description\">\n {{ item.description }}\n </div>\n </div>\n </div>\n </ng-container>\n</div>",
16099
+ template: "<div class=\"vertical-items\">\n <ng-container *ngFor=\"let item of items; let index = index;\">\n <div\n class=\"vertical-items__item\"\n [ngClass]=\"{\n 'vertical-items__item--small': item.testSize('small'),\n 'vertical-items__item--normal': item.testSize('normal'),\n 'vertical-items__item--completed': isCompleted,\n 'vertical-items__item--active': isActive\n }\">\n <div class=\"vertical-items__item__icon-wrapper\">\n <s-timeline-icon-item\n [item]=\"item\"\n [isComplete]=\"isCompleted\"\n [isActive]=\"isActive\"\n [highlightActive]=\"highlightActive\">\n </s-timeline-icon-item>\n <div\n class=\"vertical-items__item__icon-wrapper__line\"\n [ngStyle]=\"{ 'visibility': isLast ? 'hidden' : 'visible' }\">\n </div>\n </div>\n <div class=\"vertical-items__item__info\">\n <div class=\"vertical-timeline__item__info__title\">\n {{ item.title }}\n </div>\n <div class=\"vertical-items__item__info__description\">\n {{ item.description }}\n </div>\n </div>\n </div>\n </ng-container>\n</div>",
15986
16100
  styles: [".vertical-items .vertical-items__item{-ms-flex-align:stretch;align-items:stretch;display:-ms-flexbox;display:flex;margin-right:50px}.vertical-items .vertical-items__item .vertical-items__item__collapsed-option{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row}.vertical-items .vertical-items__item .vertical-items__item__collapsed-option .vertical-items__item__collapsed-option__line{width:3px;height:50px;background-color:#ccc}.vertical-items .vertical-items__item .vertical-items__item__icon-wrapper{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-negative:0;flex-shrink:0;-ms-flex-pack:center;justify-content:center;width:56px}.vertical-items .vertical-items__item .vertical-items__item__icon-wrapper .vertical-items__item__icon-wrapper__line{background-color:#697882;border-radius:2px;-ms-flex-positive:1;flex-grow:1;min-height:20px;width:3px}.vertical-items .vertical-items__item .vertical-items__item__info{-ms-flex-align:start;align-items:flex-start;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;margin-bottom:12px}.vertical-items .vertical-items__item .vertical-items__item__info .vertical-items__item__info__title{color:#333;font-family:\"Open Sans\",sans-serif;font-size:14px;font-weight:700;line-height:150%}.vertical-items .vertical-items__item .vertical-items__item__info .vertical-items__item__info__description{color:#999;font-family:\"Open Sans\",sans-serif;font-size:12px;font-weight:400;line-height:150%}.vertical-items .vertical-items__item .vertical-items__item__info .vertical-items__item__info__description.vertical-items__item__info__description--link{color:#428bca}.vertical-items .vertical-items__item.vertical-items__item--small .vertical-items__item__icon-wrapper__line{height:calc(100% - 4px - 8px)}.vertical-items .vertical-items__item.vertical-items__item--medium .vertical-items__item__icon-wrapper__line{height:calc(100% - 4px - 12px)}.vertical-items .vertical-items__item.vertical-items__item--big .vertical-items__item__icon-wrapper__line{height:calc(50% - 4px - 20px)}.vertical-items .vertical-items__item.vertical-items__item--completed .vertical-items__item__icon-wrapper .vertical-items__item__icon-wrapper__line{background-color:#0c9348}"]
15987
16101
  })
15988
16102
  ], VerticalItemsComponent);
@@ -16534,5 +16648,5 @@ const fallback = {
16534
16648
  * Generated bundle index. Do not edit.
16535
16649
  */
16536
16650
 
16537
- export { AccordionComponent, AccordionModule, AccordionPanelComponent, AngularComponentsModule, AutocompleteField, BadgeColors, BadgeComponent, BadgeModule, BaseFieldComponent, BignumberField, BignumberInputDirective, BignumberInputModule, BooleanField, BooleanOptionsLabel, BreadcrumbComponent, BreadcrumbModule, Breakpoints, ButtonComponent, ButtonModule, ButtonPriority, ButtonSize, CalendarField, CalendarLocaleOptions, CalendarMaskDirective, CalendarMaskModule, CardComponent, CardModule, CardTemplateTypes, ChipsField, CodeEditorModule, CollapseLinkComponent, CollapseLinkModule, ControlErrorsComponent, ControlErrorsModule, CountryPhonePickerComponent, CountryPhonePickerModule, CurrencyField, CustomFieldsComponent, CustomFieldsModule, CustomFieldsService, DEFAULT_CALENDAR_LOCALE_OPTIONS, DEFAULT_LOCALE_OPTIONS, DEFAULT_NUMBER_LOCALE_OPTIONS, DebounceUtils, DoubleClickDirective, DynamicConfig, DynamicFormComponent, DynamicFormModule, DynamicType, EditableOverlayDirective, EditableOverlayModule, EmptyStateComponent, EmptyStateModule, EnumBadgeColors, EnumColumnFieldType, EnumSeverity, ExportUtils, Field, FieldType, Fieldset, FileUploadComponent, FileUploadModule, FileValidation, FormField, GanttComponent, GanttModule, GlobalSearchComponent, GlobalSearchDropdownItemComponent, GlobalSearchModule, GlobalSearchSizeEnum, HostProjectConfigsInjectionToken, IAInsightComponent, IAInsightModule, IAInsightTemplateTypes, ImageCropperComponent, ImageCropperModule, ImageCropperService, InfoSignDirective, InfoSignModule, KanbanComponent, KanbanModule, KanbanTemplateTypes, Languages, LoadingStateComponent, LoadingStateDirective, LoadingStateModule, LocaleModule, LocaleOptions, LocaleService, LocalizedCurrencyPipe, LocalizedCurrencyPipeOptions, LocalizedDateImpurePipe, LocalizedDatePipe, LocalizedNumberInputDirective, LocalizedNumberInputModule, LocalizedNumberPipe, LocalizedTimeImpurePipe, LocalizedTimePipe, LongPressDirective, LookupComponent, LookupField, MaskFormatterModule, MaskFormatterPipe, MouseEventsModule, NavigationDirective, NumberAlignmentOption, NumberField, NumberInputDirective, NumberInputModule, NumberLocaleOptions, ObjectCardComponent, ObjectCardFieldComponent, ObjectCardMainComponent, ObjectCardModule, Option, Ordination, PanelComponent, PanelModule, PasswordField, PasswordStrengthComponent, PasswordStrengthDirective, PasswordStrengthModule, PasswordStrengthPositions, PasswordStrengths, ProductHeaderComponent, ProductHeaderModule, ProfilePicturePickerComponent, ProfilePicturePickerModule, ProgressBarColors, ProgressBarComponent, ProgressBarModule, RadioButtonField, RatingScaleComponent, RatingScaleModule, RationButtonOption, RowTogllerDirective, SVGFactoryDirective, SVGFactoryModule, Section, SelectButtonComponent, SelectButtonModule, SelectField, SelectOption, SidebarComponent, SidebarModule, SlidePanelComponent, SlidePanelModule, SplitButtonComponent, SplitButtonModule, SplitButtonType, StatsCardComponent, StatsCardModule, StepState, StepsComponent, StepsModule, Structure, SwitchComponent, SwitchModule, TableFrozenPositionDirective, TableHeaderCheckboxComponent, TableHeaderCheckboxModule, TableModule, TaxCalculationLanguageConfigs, TextAreaField, TextField, Themes, ThumbnailComponent, ThumbnailModule, ThumbnailSize, TieredMenuDirective, TieredMenuModule, TileComponent, TileModule, TimelineComponent, TimelineItem, TimelineItemSeverity, TimelineItemSize, TimelineModule, TokenListComponent, TokenListModule, TooltipModule, TooltipPosition, ValidateErrors, ViewMode, WorkspaceSwitchComponent, WorkspaceSwitchModule, countries, fallback, TooltipComponent as ɵa, TooltipDirective as ɵb, LocalizedNumberInputModule as ɵba, NumberInputModule as ɵbb, NumberFieldComponent as ɵbc, CurrencyFieldModule as ɵbd, CurrencyFieldComponent as ɵbe, NumberFieldModule$1 as ɵbf, BignumberInputModule as ɵbg, BignumberFieldComponent as ɵbh, AutocompleteFieldComponent as ɵbi, BooleanFieldComponent as ɵbj, BooleanSwitchFieldComponent as ɵbk, CalendarFieldComponent as ɵbl, ChipsFieldComponent as ɵbm, CountryPhonePickerFieldComponent as ɵbn, DynamicFieldComponent as ɵbo, DynamicFormDirective as ɵbp, FieldsetComponent as ɵbq, FileUploadComponent$1 as ɵbr, LookupFieldComponent as ɵbs, PasswordFieldComponent as ɵbt, RadioButtonComponent as ɵbu, RowComponent as ɵbv, SectionComponent as ɵbw, SelectFieldComponent as ɵbx, SliderFieldComponent as ɵby, TextAreaFieldComponent as ɵbz, TemplateDirective as ɵc, TextAreaIAFieldComponent as ɵca, IAssistService as ɵcb, DecimalField as ɵcd, SideTableComponent as ɵce, ThumbnailService as ɵcf, InfiniteScrollModule as ɵcg, InfiniteScrollDirective as ɵch, IAInsightSidebarComponent as ɵci, IAInsightCardComponent as ɵcj, IAInsightCardLoaderComponent as ɵck, StructureModule as ɵcl, HeaderComponent as ɵcm, FooterComponent as ɵcn, KanbanEventService as ɵco, KanbanItemComponent as ɵcp, KanbanColumnComponent as ɵcq, KanbanItemDraggingComponent as ɵcr, NumberLocaleOptions as ɵcs, BorderButtonModule as ɵct, BorderButtonComponent as ɵcu, ProgressBarDeterminateComponent as ɵcv, ProgressBarIndeterminateComponent as ɵcw, SelectButtonItemComponent as ɵcx, SlidePanelService as ɵcy, TieredMenuEventService as ɵcz, TemplateModule as ɵd, TieredMenuService as ɵda, TieredMenuComponent as ɵdb, TieredMenuNestedComponent as ɵdc, TieredMenuItemComponent as ɵdd, TieredMenuDividerComponent as ɵde, TimelineItemModule as ɵdf, TimelineIconItemComponent as ɵdg, HorizontalTimelineModule as ɵdh, HorizontalTimelineComponent as ɵdi, VerticalTimelineModule as ɵdj, VerticalTimelineComponent as ɵdk, RangeLineComponent as ɵdl, CollapseOptionComponent as ɵdm, CollapsedItemsComponent as ɵdn, VerticalItemsComponent as ɵdo, CustomTranslationsModule as ɵe, CodeEditorComponent as ɵf, CoreFacade as ɵg, CodeMirror6Core as ɵh, CountryPhonePickerService as ɵi, LocalizedCurrencyImpurePipe as ɵj, LocalizedBignumberPipe as ɵk, LocalizedBignumberImpurePipe as ɵl, NumericPipe as ɵm, NumericService as ɵn, EmptyStateGoBackComponent as ɵo, IAssistIconComponent as ɵp, SeniorIconComponent as ɵq, DotsIndicatorComponent as ɵr, LoadingIndicatorComponent as ɵs, FileUploadService as ɵt, InfoSignComponent as ɵu, TableColumnsComponent as ɵv, TablePagingComponent as ɵw, TextFieldModule as ɵx, TextFieldComponent as ɵy, NumberFieldModule as ɵz };
16651
+ export { AccordionComponent, AccordionModule, AccordionPanelComponent, AngularComponentsModule, AutocompleteField, BadgeColors, BadgeComponent, BadgeModule, BaseFieldComponent, BignumberField, BignumberInputDirective, BignumberInputModule, BooleanField, BooleanOptionsLabel, BreadcrumbComponent, BreadcrumbModule, Breakpoints, ButtonComponent, ButtonModule, ButtonPriority, ButtonSize, CalendarField, CalendarLocaleOptions, CalendarMaskDirective, CalendarMaskModule, CardComponent, CardModule, CardTemplateTypes, ChipsField, CodeEditorModule, CollapseLinkComponent, CollapseLinkModule, ControlErrorsComponent, ControlErrorsModule, CountryPhonePickerComponent, CountryPhonePickerModule, CurrencyField, CustomFieldsComponent, CustomFieldsModule, CustomFieldsService, DEFAULT_CALENDAR_LOCALE_OPTIONS, DEFAULT_LOCALE_OPTIONS, DEFAULT_NUMBER_LOCALE_OPTIONS, DebounceUtils, DoubleClickDirective, DynamicConfig, DynamicFormComponent, DynamicFormModule, DynamicType, EditableOverlayDirective, EditableOverlayModule, EmptyStateComponent, EmptyStateModule, EnumBadgeColors, EnumColumnFieldType, EnumSeverity, ExportUtils, Field, FieldType, Fieldset, FileUploadComponent, FileUploadModule, FileValidation, FormField, GanttComponent, GanttModule, GlobalSearchComponent, GlobalSearchDropdownItemComponent, GlobalSearchModule, GlobalSearchSizeEnum, HostProjectConfigsInjectionToken, IAInsightComponent, IAInsightModule, IAInsightTemplateTypes, ImageCropperComponent, ImageCropperModule, ImageCropperService, InfoSignDirective, InfoSignModule, KanbanComponent, KanbanModule, KanbanTemplateTypes, Languages, LoadingStateComponent, LoadingStateDirective, LoadingStateModule, LocaleModule, LocaleOptions, LocaleService, LocalizedCurrencyPipe, LocalizedCurrencyPipeOptions, LocalizedDateImpurePipe, LocalizedDatePipe, LocalizedNumberInputDirective, LocalizedNumberInputModule, LocalizedNumberPipe, LocalizedTimeImpurePipe, LocalizedTimePipe, LongPressDirective, LookupComponent, LookupField, MaskFormatterModule, MaskFormatterPipe, MouseEventsModule, NavigationDirective, NumberAlignmentOption, NumberField, NumberInputDirective, NumberInputModule, NumberLocaleOptions, ObjectCardComponent, ObjectCardFieldComponent, ObjectCardMainComponent, ObjectCardModule, Option, Ordination, PanelComponent, PanelModule, PasswordField, PasswordStrengthComponent, PasswordStrengthDirective, PasswordStrengthModule, PasswordStrengthPositions, PasswordStrengths, ProductHeaderComponent, ProductHeaderModule, ProfilePicturePickerComponent, ProfilePicturePickerModule, ProgressBarColors, ProgressBarComponent, ProgressBarModule, RadioButtonField, RatingScaleComponent, RatingScaleModule, RationButtonOption, RowTogllerDirective, SVGFactoryDirective, SVGFactoryModule, Section, SelectButtonComponent, SelectButtonModule, SelectField, SelectOption, SidebarComponent, SidebarModule, SlidePanelComponent, SlidePanelModule, SplitButtonComponent, SplitButtonModule, SplitButtonType, StatsCardComponent, StatsCardModule, StepState, StepsComponent, StepsModule, Structure, SwitchComponent, SwitchModule, TableFrozenPositionDirective, TableHeaderCheckboxComponent, TableHeaderCheckboxModule, TableModule, TaxCalculationLanguageConfigs, TextAreaField, TextField, Themes, ThumbnailComponent, ThumbnailModule, ThumbnailSize, TieredMenuDirective, TieredMenuModule, TileComponent, TileModule, TimelineComponent, TimelineItem, TimelineItemSeverity, TimelineItemSize, TimelineModule, TokenListComponent, TokenListModule, TooltipModule, TooltipPosition, ValidateErrors, ViewMode, WorkspaceSwitchComponent, WorkspaceSwitchModule, countries, fallback, TooltipComponent as ɵa, TooltipDirective as ɵb, LocalizedNumberInputModule as ɵba, NumberInputModule as ɵbb, NumberFieldComponent as ɵbc, CurrencyFieldModule as ɵbd, CurrencyFieldComponent as ɵbe, NumberFieldModule$1 as ɵbf, BignumberInputModule as ɵbg, BignumberFieldComponent as ɵbh, AutocompleteFieldComponent as ɵbi, BooleanFieldComponent as ɵbj, BooleanSwitchFieldComponent as ɵbk, CalendarFieldComponent as ɵbl, ChipsFieldComponent as ɵbm, CountryPhonePickerFieldComponent as ɵbn, DynamicFieldComponent as ɵbo, DynamicFormDirective as ɵbp, FieldsetComponent as ɵbq, FileUploadComponent$1 as ɵbr, LookupFieldComponent as ɵbs, PasswordFieldComponent as ɵbt, RadioButtonComponent as ɵbu, RowComponent as ɵbv, SectionComponent as ɵbw, SelectFieldComponent as ɵbx, SliderFieldComponent as ɵby, TextAreaFieldComponent as ɵbz, TemplateDirective as ɵc, TextAreaIAFieldComponent as ɵca, IAssistService as ɵcb, DecimalField as ɵcd, SideTableComponent as ɵce, ThumbnailService as ɵcf, InfiniteScrollModule as ɵcg, InfiniteScrollDirective as ɵch, IAInsightSidebarComponent as ɵci, IAInsightCardComponent as ɵcj, IAInsightCardLoaderComponent as ɵck, StructureModule as ɵcl, HeaderComponent as ɵcm, FooterComponent as ɵcn, KanbanEventService as ɵco, KanbanItemComponent as ɵcp, KanbanColumnComponent as ɵcq, KanbanItemDraggingComponent as ɵcr, NumberLocaleOptions as ɵcs, BorderButtonModule as ɵct, BorderButtonComponent as ɵcu, ProgressBarDeterminateComponent as ɵcv, ProgressBarIndeterminateComponent as ɵcw, SelectButtonItemComponent as ɵcx, SlidePanelService as ɵcy, TieredMenuEventService as ɵcz, TemplateModule as ɵd, TieredMenuService as ɵda, TieredMenuGlobalService as ɵdb, TieredMenuComponent as ɵdc, TieredMenuNestedComponent as ɵdd, TieredMenuItemComponent as ɵde, TieredMenuDividerComponent as ɵdf, TimelineItemModule as ɵdg, TimelineIconItemComponent as ɵdh, HorizontalTimelineModule as ɵdi, HorizontalTimelineComponent as ɵdj, VerticalTimelineModule as ɵdk, VerticalTimelineComponent as ɵdl, RangeLineComponent as ɵdm, CollapseOptionComponent as ɵdn, CollapsedItemsComponent as ɵdo, VerticalItemsComponent as ɵdp, CustomTranslationsModule as ɵe, CodeEditorComponent as ɵf, CoreFacade as ɵg, CodeMirror6Core as ɵh, CountryPhonePickerService as ɵi, LocalizedCurrencyImpurePipe as ɵj, LocalizedBignumberPipe as ɵk, LocalizedBignumberImpurePipe as ɵl, NumericPipe as ɵm, NumericService as ɵn, EmptyStateGoBackComponent as ɵo, IAssistIconComponent as ɵp, SeniorIconComponent as ɵq, DotsIndicatorComponent as ɵr, LoadingIndicatorComponent as ɵs, FileUploadService as ɵt, InfoSignComponent as ɵu, TableColumnsComponent as ɵv, TablePagingComponent as ɵw, TextFieldModule as ɵx, TextFieldComponent as ɵy, NumberFieldModule as ɵz };
16538
16652
  //# sourceMappingURL=seniorsistemas-angular-components.js.map