@seniorsistemas/angular-components 17.8.10 → 17.8.11

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 (28) hide show
  1. package/bundles/seniorsistemas-angular-components.umd.js +2076 -1965
  2. package/bundles/seniorsistemas-angular-components.umd.js.map +1 -1
  3. package/bundles/seniorsistemas-angular-components.umd.min.js +2 -2
  4. package/bundles/seniorsistemas-angular-components.umd.min.js.map +1 -1
  5. package/components/index.d.ts +1 -0
  6. package/components/navigation-button/index.d.ts +3 -0
  7. package/components/navigation-button/models/navigation-button-item.d.ts +5 -0
  8. package/components/navigation-button/navigation-button.component.d.ts +27 -0
  9. package/components/navigation-button/navigation-button.module.d.ts +2 -0
  10. package/esm2015/components/index.js +2 -1
  11. package/esm2015/components/navigation-button/index.js +3 -0
  12. package/esm2015/components/navigation-button/models/navigation-button-item.js +1 -0
  13. package/esm2015/components/navigation-button/navigation-button.component.js +95 -0
  14. package/esm2015/components/navigation-button/navigation-button.module.js +17 -0
  15. package/esm2015/seniorsistemas-angular-components.js +14 -14
  16. package/esm5/components/index.js +2 -1
  17. package/esm5/components/navigation-button/index.js +3 -0
  18. package/esm5/components/navigation-button/models/navigation-button-item.js +1 -0
  19. package/esm5/components/navigation-button/navigation-button.component.js +100 -0
  20. package/esm5/components/navigation-button/navigation-button.module.js +20 -0
  21. package/esm5/seniorsistemas-angular-components.js +14 -14
  22. package/fesm2015/seniorsistemas-angular-components.js +1912 -1811
  23. package/fesm2015/seniorsistemas-angular-components.js.map +1 -1
  24. package/fesm5/seniorsistemas-angular-components.js +2064 -1955
  25. package/fesm5/seniorsistemas-angular-components.js.map +1 -1
  26. package/package.json +1 -1
  27. package/seniorsistemas-angular-components.d.ts +13 -13
  28. package/seniorsistemas-angular-components.metadata.json +1 -1
@@ -14867,2327 +14867,2436 @@
14867
14867
  return KanbanModule;
14868
14868
  }());
14869
14869
 
14870
- var ObjectCardFieldComponent = /** @class */ (function () {
14871
- function ObjectCardFieldComponent() {
14872
- this.id = "s-object-card-field-" + ObjectCardFieldComponent_1.nextId++;
14873
- this.buttonClick = new core.EventEmitter();
14874
- }
14875
- ObjectCardFieldComponent_1 = ObjectCardFieldComponent;
14876
- var ObjectCardFieldComponent_1;
14877
- ObjectCardFieldComponent.nextId = 0;
14878
- __decorate([
14879
- core.Input()
14880
- ], ObjectCardFieldComponent.prototype, "id", void 0);
14881
- __decorate([
14882
- core.Input()
14883
- ], ObjectCardFieldComponent.prototype, "imageSource", void 0);
14884
- __decorate([
14885
- core.Input()
14886
- ], ObjectCardFieldComponent.prototype, "imageAlt", void 0);
14887
- __decorate([
14888
- core.Input()
14889
- ], ObjectCardFieldComponent.prototype, "iconClass", void 0);
14890
- __decorate([
14891
- core.Input()
14892
- ], ObjectCardFieldComponent.prototype, "label", void 0);
14870
+ var NavigationButtonComponent = /** @class */ (function () {
14871
+ function NavigationButtonComponent() {
14872
+ this.stepChanged = new core.EventEmitter();
14873
+ this.currentIndex = 0;
14874
+ this.isDisabled = false;
14875
+ this.tieredMenuItems = [];
14876
+ }
14877
+ NavigationButtonComponent_1 = NavigationButtonComponent;
14878
+ NavigationButtonComponent.prototype.ngOnInit = function () {
14879
+ var _this = this;
14880
+ var index = this.steps.findIndex(function (step) { return step.value === _this._value; });
14881
+ this.currentIndex = index !== -1 ? index : 0;
14882
+ this.stepChanged.emit({
14883
+ previous: undefined,
14884
+ current: this.steps[this.currentIndex],
14885
+ });
14886
+ this._createTieredMenuItems();
14887
+ };
14888
+ NavigationButtonComponent.prototype.writeValue = function (value) {
14889
+ var _this = this;
14890
+ this._value = value;
14891
+ var index = this.steps.findIndex(function (step) { return step.value === _this._value; });
14892
+ this.currentIndex = index !== -1 ? index : 0;
14893
+ };
14894
+ NavigationButtonComponent.prototype.registerOnChange = function (onChange) {
14895
+ this._onChange = onChange;
14896
+ };
14897
+ NavigationButtonComponent.prototype.registerOnTouched = function (onTouched) {
14898
+ this._onTouched = onTouched;
14899
+ };
14900
+ NavigationButtonComponent.prototype.setDisabledState = function (isDisabled) {
14901
+ this.isDisabled = isDisabled;
14902
+ };
14903
+ NavigationButtonComponent.prototype.onNext = function () {
14904
+ if (this.isDisabled)
14905
+ return;
14906
+ var previous = this.steps[this.currentIndex];
14907
+ if (this.currentIndex < this.steps.length - 1) {
14908
+ this.currentIndex++;
14909
+ }
14910
+ var current = this.steps[this.currentIndex];
14911
+ this._onTouched && this._onTouched();
14912
+ this._onChange && this._onChange(current.value);
14913
+ this.stepChanged.emit({ previous: previous, current: current });
14914
+ };
14915
+ NavigationButtonComponent.prototype.onPrevious = function () {
14916
+ if (this.isDisabled)
14917
+ return;
14918
+ var previous = this.steps[this.currentIndex];
14919
+ if (this.currentIndex > 0) {
14920
+ this.currentIndex--;
14921
+ }
14922
+ var current = this.steps[this.currentIndex];
14923
+ this._onTouched && this._onTouched();
14924
+ this._onChange && this._onChange(current.value);
14925
+ this.stepChanged.emit({ previous: previous, current: current });
14926
+ };
14927
+ NavigationButtonComponent.prototype._createTieredMenuItems = function () {
14928
+ var _this = this;
14929
+ this.steps.forEach(function (step) {
14930
+ _this.tieredMenuItems.push({
14931
+ label: step.label,
14932
+ command: function () { return _this.currentIndex = _this.steps.findIndex(function (s) { return s === step; }); },
14933
+ });
14934
+ });
14935
+ };
14936
+ var NavigationButtonComponent_1;
14893
14937
  __decorate([
14894
14938
  core.Input()
14895
- ], ObjectCardFieldComponent.prototype, "description", void 0);
14939
+ ], NavigationButtonComponent.prototype, "steps", void 0);
14896
14940
  __decorate([
14897
14941
  core.Input()
14898
- ], ObjectCardFieldComponent.prototype, "buttonLabel", void 0);
14942
+ ], NavigationButtonComponent.prototype, "defaultValue", void 0);
14899
14943
  __decorate([
14900
14944
  core.Input()
14901
- ], ObjectCardFieldComponent.prototype, "buttonModel", void 0);
14945
+ ], NavigationButtonComponent.prototype, "tooltip", void 0);
14902
14946
  __decorate([
14903
14947
  core.Output()
14904
- ], ObjectCardFieldComponent.prototype, "buttonClick", void 0);
14905
- __decorate([
14906
- core.ContentChild(ThumbnailComponent, { static: true })
14907
- ], ObjectCardFieldComponent.prototype, "thumbnailComponent", void 0);
14908
- __decorate([
14909
- core.ViewChild(core.TemplateRef, { static: true })
14910
- ], ObjectCardFieldComponent.prototype, "content", void 0);
14911
- ObjectCardFieldComponent = ObjectCardFieldComponent_1 = __decorate([
14948
+ ], NavigationButtonComponent.prototype, "stepChanged", void 0);
14949
+ NavigationButtonComponent = NavigationButtonComponent_1 = __decorate([
14912
14950
  core.Component({
14913
- selector: "s-object-card-field",
14914
- template: "<ng-template>\n <div class=\"container\">\n <ng-content select=\"s-thumbnail\"></ng-content>\n <s-thumbnail\n [id]=\"id + '-thumbnail'\"\n *ngIf=\"!thumbnailComponent && (imageSource || iconClass)\"\n [imageSource]=\"imageSource\"\n [imageAlt]=\"imageAlt || label\"\n [iconClass]=\"iconClass\"\n size=\"small\"\n ></s-thumbnail>\n\n <div class=\"info-container\">\n <div #labelTemplate><ng-content select=\"[labelTemplate]\"></ng-content></div>\n <span\n [id]=\"id + '-label'\"\n *ngIf=\"!labelTemplate.children.length\"\n class=\"label\"\n [pTooltip]=\"label\"\n tooltipPosition=\"top\"\n showDelay=\"500\"\n >{{ label }}</span\n >\n\n <div #descriptionTemplate><ng-content select=\"[descriptionTemplate]\"></ng-content></div>\n <span\n [id]=\"id + '-description'\"\n *ngIf=\"!descriptionTemplate.children.length\"\n class=\"description\"\n [pTooltip]=\"description\"\n tooltipPosition=\"top\"\n showDelay=\"500\"\n >{{ description }}</span\n >\n\n <s-button\n [id]=\"id + '-button'\"\n *ngIf=\"buttonLabel\"\n styleClass=\"object-card-button\"\n priority=\"link\"\n [label]=\"buttonLabel\"\n [model]=\"buttonModel\"\n size=\"small\"\n (onClick)=\"buttonClick.emit($event)\"\n ></s-button>\n </div>\n </div>\n</ng-template>\n",
14915
- styles: [".container{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;height:100%}.info-container{margin-left:10px}.info-container,.info-container span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.info-container .label{color:#999;display:block}.info-container .description{display:block}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.info-container{-ms-flex:1;flex:1}}@media (max-width:767px){.info-container,.info-container span{white-space:normal}}.info-container:only-child{margin-left:0}"]
14951
+ selector: "s-navigation-button",
14952
+ template: "<div class=\"navigation-button\" [ngClass]=\"{ 'navigation-button--disabled': isDisabled}\">\n <button\n class=\"option option--previous\"\n [ngClass]=\"{ 'option--disabled': currentIndex === 0 }\"\n (click)=\"onPrevious()\">\n <i class=\"fas fa-chevron-left\"></i>\n </button>\n\n <ng-container *ngIf=\"steps[currentIndex].tooltip || tooltip; then tooltipBlock; else noTooltipBlock\"></ng-container>\n\n <ng-template #tooltipBlock>\n <button\n [sTooltip]=\"steps[currentIndex].tooltip || tooltip\"\n class=\"step\"\n sTieredMenu [items]=\"tieredMenuItems\">\n {{ steps[currentIndex].label }}\n </button>\n </ng-template>\n\n <ng-template #noTooltipBlock>\n <button class=\"step\">\n {{ steps[currentIndex].label }}\n </button>\n </ng-template>\n\n <button\n class=\"option option--next\"\n [ngClass]=\"{ 'option--disabled': currentIndex === steps.length - 1 }\"\n (click)=\"onNext()\">\n <i class=\"fas fa-chevron-right\"></i>\n </button>\n</div>\n",
14953
+ providers: [
14954
+ {
14955
+ provide: forms.NG_VALUE_ACCESSOR,
14956
+ useExisting: core.forwardRef(function () { return NavigationButtonComponent_1; }),
14957
+ multi: true,
14958
+ },
14959
+ ],
14960
+ styles: [".navigation-button{display:-ms-inline-flexbox;display:inline-flex}.navigation-button .option,.navigation-button .step{background-color:#428bca;border:none;color:#fff}.navigation-button:not(.navigation-button--disabled) .step{cursor:pointer}.navigation-button:not(.navigation-button--disabled) .step:hover{background-color:#063951}.navigation-button .option{padding:8px 12px}.navigation-button .option--previous{border-radius:16px 0 0 16px}.navigation-button .option--next{border-radius:0 16px 16px 0}.navigation-button .option--disabled{opacity:.5}.navigation-button .option:not(.option--disabled):hover{cursor:pointer;background-color:#063951}.navigation-button .step{font-family:\"Open Sans\",sans-serif;font-size:14px;padding:8px 16px;text-align:center}.navigation-button--disabled{opacity:.5}"]
14916
14961
  })
14917
- ], ObjectCardFieldComponent);
14918
- return ObjectCardFieldComponent;
14962
+ ], NavigationButtonComponent);
14963
+ return NavigationButtonComponent;
14919
14964
  }());
14920
14965
 
14921
- var ObjectCardMainComponent = /** @class */ (function () {
14922
- function ObjectCardMainComponent() {
14923
- this.id = "s-object-card-main-" + ObjectCardMainComponent_1.nextId++;
14924
- this.iconClass = "fa fa-picture-o";
14925
- this.hasThumbnail = true;
14926
- this.hasDescription = true;
14927
- this.isBrand = false;
14928
- this.buttonClick = new core.EventEmitter();
14929
- this._thumbnailSize = exports.ThumbnailSize.Medium;
14966
+ var TieredMenuDividerComponent = /** @class */ (function () {
14967
+ function TieredMenuDividerComponent() {
14930
14968
  }
14931
- ObjectCardMainComponent_1 = ObjectCardMainComponent;
14932
- Object.defineProperty(ObjectCardMainComponent.prototype, "thumbnailSize", {
14933
- get: function () {
14934
- return this._thumbnailSize;
14935
- },
14936
- set: function (value) {
14937
- this._thumbnailSize = value;
14938
- if (this.thumbnailComponent)
14939
- this.thumbnailComponent.size = value;
14940
- },
14941
- enumerable: true,
14942
- configurable: true
14943
- });
14944
- ObjectCardMainComponent.prototype.onResize = function () {
14945
- this.update();
14969
+ TieredMenuDividerComponent = __decorate([
14970
+ core.Component({
14971
+ selector: "s-tiered-menu-divider",
14972
+ template: "<div class=\"divider\"></div>",
14973
+ styles: [".divider{margin:2px 0;height:1px;background-color:#ccc}"]
14974
+ })
14975
+ ], TieredMenuDividerComponent);
14976
+ return TieredMenuDividerComponent;
14977
+ }());
14978
+
14979
+ var TieredMenuEventService = /** @class */ (function () {
14980
+ function TieredMenuEventService() {
14981
+ this.incrementCurrentItemEvent = new core.EventEmitter();
14982
+ this.decrementCurrentItemEvent = new core.EventEmitter();
14983
+ this.closeAllMenusEvent = new core.EventEmitter();
14984
+ this.selectItemEvent = new core.EventEmitter();
14985
+ this.openItemMenuEvent = new core.EventEmitter();
14986
+ this.closeItemMenuEvent = new core.EventEmitter();
14987
+ this.createMenuEvent = new core.EventEmitter();
14988
+ }
14989
+ TieredMenuEventService = __decorate([
14990
+ core.Injectable()
14991
+ ], TieredMenuEventService);
14992
+ return TieredMenuEventService;
14993
+ }());
14994
+
14995
+ var TieredMenuItemComponent = /** @class */ (function () {
14996
+ function TieredMenuItemComponent(_tieredMenuEventService) {
14997
+ this._tieredMenuEventService = _tieredMenuEventService;
14998
+ this.focused = false;
14999
+ this.highlight = false;
15000
+ this.triggerEvent = "click";
15001
+ this.closeOnClick = false;
15002
+ }
15003
+ TieredMenuItemComponent.prototype.onClick = function () {
15004
+ if (this.item.disabled)
15005
+ return;
15006
+ if (this.item.submenu) {
15007
+ if (!this.item.isOpen) {
15008
+ this._tieredMenuEventService.openItemMenuEvent.emit(this.item);
15009
+ }
15010
+ else if (this.closeOnClick) {
15011
+ this._tieredMenuEventService.closeItemMenuEvent.emit(this.item);
15012
+ }
15013
+ }
15014
+ else {
15015
+ this._tieredMenuEventService.selectItemEvent.emit(this.item);
15016
+ }
14946
15017
  };
14947
- ObjectCardMainComponent.prototype.ngAfterContentInit = function () {
14948
- this.update();
15018
+ TieredMenuItemComponent.prototype.onMouseEnter = function () {
15019
+ var _this = this;
15020
+ if (this.item.disabled)
15021
+ return;
15022
+ if (this.triggerEvent === "hover" && !this.item.isOpen) {
15023
+ this._showTimeout = window.setTimeout(function () {
15024
+ _this._tieredMenuEventService.openItemMenuEvent.emit(_this.item);
15025
+ }, 300);
15026
+ }
14949
15027
  };
14950
- ObjectCardMainComponent.prototype.update = function () {
14951
- var windowWidth = window.innerWidth;
14952
- if (windowWidth <= Breakpoints.SM_MAX)
14953
- this.thumbnailSize = exports.ThumbnailSize.Small;
14954
- else
14955
- this.thumbnailSize = exports.ThumbnailSize.Medium;
15028
+ TieredMenuItemComponent.prototype.onMouseLeave = function () {
15029
+ window.clearTimeout(this._showTimeout);
14956
15030
  };
14957
- var ObjectCardMainComponent_1;
14958
- ObjectCardMainComponent.nextId = 0;
14959
- __decorate([
14960
- core.Input()
14961
- ], ObjectCardMainComponent.prototype, "id", void 0);
14962
- __decorate([
14963
- core.Input()
14964
- ], ObjectCardMainComponent.prototype, "imageSource", void 0);
14965
- __decorate([
14966
- core.Input()
14967
- ], ObjectCardMainComponent.prototype, "imageFallback", void 0);
14968
- __decorate([
14969
- core.Input()
14970
- ], ObjectCardMainComponent.prototype, "imageAlt", void 0);
14971
- __decorate([
14972
- core.Input()
14973
- ], ObjectCardMainComponent.prototype, "iconClass", void 0);
14974
- __decorate([
14975
- core.Input()
14976
- ], ObjectCardMainComponent.prototype, "hasThumbnail", void 0);
14977
- __decorate([
14978
- core.Input()
14979
- ], ObjectCardMainComponent.prototype, "hasDescription", void 0);
15031
+ TieredMenuItemComponent.ctorParameters = function () { return [
15032
+ { type: TieredMenuEventService }
15033
+ ]; };
14980
15034
  __decorate([
14981
15035
  core.Input()
14982
- ], ObjectCardMainComponent.prototype, "isBrand", void 0);
15036
+ ], TieredMenuItemComponent.prototype, "item", void 0);
14983
15037
  __decorate([
14984
15038
  core.Input()
14985
- ], ObjectCardMainComponent.prototype, "label", void 0);
15039
+ ], TieredMenuItemComponent.prototype, "focused", void 0);
14986
15040
  __decorate([
14987
15041
  core.Input()
14988
- ], ObjectCardMainComponent.prototype, "description", void 0);
15042
+ ], TieredMenuItemComponent.prototype, "highlight", void 0);
14989
15043
  __decorate([
14990
15044
  core.Input()
14991
- ], ObjectCardMainComponent.prototype, "buttonLabel", void 0);
15045
+ ], TieredMenuItemComponent.prototype, "triggerEvent", void 0);
14992
15046
  __decorate([
14993
15047
  core.Input()
14994
- ], ObjectCardMainComponent.prototype, "buttonModel", void 0);
15048
+ ], TieredMenuItemComponent.prototype, "closeOnClick", void 0);
14995
15049
  __decorate([
14996
- core.Output()
14997
- ], ObjectCardMainComponent.prototype, "buttonClick", void 0);
15050
+ core.HostListener("click"),
15051
+ core.HostListener("touchend")
15052
+ ], TieredMenuItemComponent.prototype, "onClick", null);
14998
15053
  __decorate([
14999
- core.ContentChild(ThumbnailComponent, { static: true })
15000
- ], ObjectCardMainComponent.prototype, "thumbnailComponent", void 0);
15054
+ core.HostListener("mouseenter")
15055
+ ], TieredMenuItemComponent.prototype, "onMouseEnter", null);
15001
15056
  __decorate([
15002
- core.HostListener("window:resize")
15003
- ], ObjectCardMainComponent.prototype, "onResize", null);
15004
- ObjectCardMainComponent = ObjectCardMainComponent_1 = __decorate([
15057
+ core.HostListener("mouseleave")
15058
+ ], TieredMenuItemComponent.prototype, "onMouseLeave", null);
15059
+ TieredMenuItemComponent = __decorate([
15005
15060
  core.Component({
15006
- selector: "s-object-card-main",
15007
- template: "<ng-container *ngIf=\"hasThumbnail\">\n <ng-content select=\"s-thumbnail\"></ng-content>\n <s-thumbnail\n [id]=\"id + '-thumbnail'\"\n [imageSource]=\"imageSource\"\n [imageFallback]=\"imageFallback\"\n [imageAlt]=\"imageAlt || label\"\n [iconClass]=\"iconClass\"\n [size]=\"thumbnailSize\"\n *ngIf=\"!thumbnailComponent\"\n [isBrand]=\"isBrand\"\n ></s-thumbnail>\n</ng-container>\n\n<ng-container *ngIf=\"hasDescription\">\n <div class=\"info-container\">\n <div #labelTemplate><ng-content select=\"[labelTemplate]\"></ng-content></div>\n <span\n [id]=\"id + '-label'\"\n *ngIf=\"!labelTemplate.children.length\"\n class=\"label\"\n [pTooltip]=\"label\"\n tooltipPosition=\"top\"\n showDelay=\"500\"\n >{{ label }}</span\n >\n\n <div #descriptionTemplate><ng-content select=\"[descriptionTemplate]\"></ng-content></div>\n <span\n [id]=\"id + '-description'\"\n *ngIf=\"!descriptionTemplate.children.length\"\n class=\"description\"\n [pTooltip]=\"description\"\n tooltipPosition=\"top\"\n showDelay=\"500\"\n >{{ description }}</span\n >\n <s-button\n [id]=\"id + '-button'\"\n *ngIf=\"buttonLabel\"\n styleClass=\"object-card-button\"\n priority=\"link\"\n [label]=\"buttonLabel\"\n [model]=\"buttonModel\"\n size=\"small\"\n (onClick)=\"buttonClick.emit($event)\"\n ></s-button>\n </div>\n</ng-container>\n",
15008
- styles: [":host{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;min-height:70px}.info-container{margin-left:10px;-ms-flex:1;flex:1}.info-container,.info-container span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.info-container .label{display:block;font-weight:700}.info-container .description{color:#999;display:block}@media (max-width:767px){.info-container,.info-container span{white-space:normal}}"]
15061
+ selector: "s-tiered-menu-item",
15062
+ 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>",
15063
+ 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}"]
15009
15064
  })
15010
- ], ObjectCardMainComponent);
15011
- return ObjectCardMainComponent;
15065
+ ], TieredMenuItemComponent);
15066
+ return TieredMenuItemComponent;
15012
15067
  }());
15013
15068
 
15014
-
15015
- (function (EnumSeverity) {
15016
- EnumSeverity["Default"] = "Default";
15017
- EnumSeverity["Info"] = "Info";
15018
- EnumSeverity["Warn"] = "Warn";
15019
- EnumSeverity["Error"] = "Error";
15020
- EnumSeverity["Success"] = "Success";
15021
- })(exports.EnumSeverity || (exports.EnumSeverity = {}));
15022
-
15023
- var elementResizeDetectorMaker = elementResizeDetectorMaker_; // @HACK Necessary because of https://github.com/rollup/rollup/issues/670
15024
- var ObjectCardComponent = /** @class */ (function () {
15025
- function ObjectCardComponent(cdr, elementRef) {
15026
- this.cdr = cdr;
15027
- this.elementRef = elementRef;
15028
- this.id = "s-object-card-" + ObjectCardComponent_1.nextId++;
15029
- this.expanded = false;
15030
- this.expandTooltip = "Abrir painel";
15031
- this.collapseTooltip = "Fechar painel";
15032
- this.fieldsMinWidth = 200;
15033
- this.expandedChange = new core.EventEmitter();
15034
- this.maxVisibleFields = 0;
15035
- this.severity = exports.EnumSeverity.Default;
15036
- this.EnumSeverity = exports.EnumSeverity;
15069
+ var TieredMenuService = /** @class */ (function () {
15070
+ function TieredMenuService() {
15071
+ this.currentItems = [];
15072
+ this.items = [];
15037
15073
  }
15038
- ObjectCardComponent_1 = ObjectCardComponent;
15039
- ObjectCardComponent.prototype.ngAfterViewInit = function () {
15074
+ TieredMenuService.prototype.normalizeData = function (items, parent) {
15040
15075
  var _this = this;
15041
- this.update();
15042
- this.cdr.detectChanges();
15043
- this.fields.changes.subscribe(function () {
15044
- _this.update();
15045
- });
15046
- var erd = elementResizeDetectorMaker({
15047
- strategy: "scroll",
15076
+ return items.map(function (i) {
15077
+ var item = __assign({ visible: true }, i);
15078
+ if (item.submenu) {
15079
+ item.submenu = _this.normalizeData(item.submenu, item);
15080
+ }
15081
+ item.id = _this._generateId();
15082
+ item.parent = parent;
15083
+ item.isOpen = false;
15084
+ return item;
15048
15085
  });
15049
- erd.listenTo(this.elementRef.nativeElement, function () { return _this.update(); });
15050
15086
  };
15051
- ObjectCardComponent.prototype.update = function () {
15052
- var e_1, _a;
15053
- var windowWidth = window.innerWidth;
15054
- var containerWidth = this.elementRef.nativeElement.offsetWidth;
15055
- var mainFieldWidth = containerWidth * 0.3 > 260 ? containerWidth * 0.3 : 260;
15056
- var fieldsMinWidth = this.fieldsMinWidth;
15057
- var expandIconWidth = 50;
15058
- var fieldElementList = this.elementRef.nativeElement.getElementsByClassName("s-object-card-field");
15059
- try {
15060
- for (var fieldElementList_1 = __values(fieldElementList), fieldElementList_1_1 = fieldElementList_1.next(); !fieldElementList_1_1.done; fieldElementList_1_1 = fieldElementList_1.next()) {
15061
- var element = fieldElementList_1_1.value;
15062
- element.style.minWidth = this.fieldsMinWidth + "px";
15087
+ TieredMenuService.prototype.markAllItemsAsClosed = function (items) {
15088
+ var _this = this;
15089
+ return items.map(function (i) {
15090
+ var item = __assign({}, i);
15091
+ if (item.submenu) {
15092
+ item.submenu = _this.markAllItemsAsClosed(item.submenu);
15063
15093
  }
15064
- }
15065
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
15066
- finally {
15067
- try {
15068
- if (fieldElementList_1_1 && !fieldElementList_1_1.done && (_a = fieldElementList_1.return)) _a.call(fieldElementList_1);
15094
+ item.isOpen = false;
15095
+ return item;
15096
+ });
15097
+ };
15098
+ TieredMenuService.prototype.searchTheHierarchy = function (itemA, itemB) {
15099
+ var item = itemB;
15100
+ while (item) {
15101
+ if (item === itemA) {
15102
+ return true;
15069
15103
  }
15070
- finally { if (e_1) throw e_1.error; }
15104
+ item = item.parent;
15071
15105
  }
15072
- var maxFieldQtd;
15073
- if (windowWidth <= Breakpoints.SM_MAX)
15074
- maxFieldQtd = 0;
15075
- else
15076
- maxFieldQtd = Math.floor((containerWidth - mainFieldWidth) / fieldsMinWidth);
15077
- if (maxFieldQtd && maxFieldQtd < this.fields.length) {
15078
- maxFieldQtd = Math.floor((containerWidth - mainFieldWidth - expandIconWidth) / fieldsMinWidth);
15106
+ return false;
15107
+ };
15108
+ TieredMenuService.prototype.cloneItems = function (items) {
15109
+ return JSON.parse(JSON.stringify(items));
15110
+ };
15111
+ TieredMenuService.prototype._generateId = function () {
15112
+ return "id-" + Math.random().toString(36).substring(2, 9) + "-" + Math.random().toString(36).substring(2, 9) + "-" + Math.random().toString(36).substring(2, 9);
15113
+ };
15114
+ TieredMenuService = __decorate([
15115
+ core.Injectable()
15116
+ ], TieredMenuService);
15117
+ return TieredMenuService;
15118
+ }());
15119
+
15120
+ var TieredMenuNestedComponent = /** @class */ (function () {
15121
+ function TieredMenuNestedComponent(tieredMenuService, _tieredMenuEventService) {
15122
+ this.tieredMenuService = tieredMenuService;
15123
+ this._tieredMenuEventService = _tieredMenuEventService;
15124
+ this.top = 0;
15125
+ this.left = 0;
15126
+ this._unsubscribe$ = new rxjs.Subject();
15127
+ }
15128
+ TieredMenuNestedComponent.prototype.onResize = function () {
15129
+ this._tieredMenuEventService.closeAllMenusEvent.emit();
15130
+ };
15131
+ TieredMenuNestedComponent.prototype.onDocumentClick = function (event) {
15132
+ // Closing menu when clicked outside.
15133
+ var target = event.target;
15134
+ var clickedInside = target.closest("s-tiered-menu-item") || target.closest("s-tiered-menu-divider");
15135
+ if (!clickedInside) {
15136
+ this._tieredMenuEventService.closeAllMenusEvent.emit();
15079
15137
  }
15080
- this.maxVisibleFields = maxFieldQtd;
15081
- if (maxFieldQtd >= this.fields.length && this.expanded)
15082
- this.collapse();
15083
15138
  };
15084
- ObjectCardComponent.prototype.toggle = function () {
15085
- this.expanded ? this.collapse() : this.expand();
15139
+ TieredMenuNestedComponent.prototype.onKeydownHandler = function (event) {
15140
+ switch (event.key) {
15141
+ case "Escape":
15142
+ this._tieredMenuEventService.closeAllMenusEvent.emit();
15143
+ break;
15144
+ case " ":
15145
+ case "Enter":
15146
+ this._tieredMenuEventService.selectItemEvent.emit(this.tieredMenuService.currentItem);
15147
+ break;
15148
+ case "ArrowLeft":
15149
+ // When nested I need a reference to the current item's parent item, otherwise just the current item.
15150
+ this._tieredMenuEventService.closeItemMenuEvent.emit(this.tieredMenuService.currentItem.parent);
15151
+ break;
15152
+ case "ArrowRight":
15153
+ this._tieredMenuEventService.openItemMenuEvent.emit(this.tieredMenuService.currentItem);
15154
+ break;
15155
+ case "ArrowUp":
15156
+ this._tieredMenuEventService.decrementCurrentItemEvent.emit();
15157
+ break;
15158
+ case "ArrowDown":
15159
+ this._tieredMenuEventService.incrementCurrentItemEvent.emit();
15160
+ break;
15161
+ }
15086
15162
  };
15087
- ObjectCardComponent.prototype.expand = function () {
15088
- this.expanded = true;
15089
- this.expandedChange.emit(this.expanded);
15163
+ TieredMenuNestedComponent.prototype.ngOnInit = function () {
15164
+ this.tieredMenuService.currentItems = this.items;
15165
+ this._subscribeEvents();
15090
15166
  };
15091
- ObjectCardComponent.prototype.collapse = function () {
15092
- this.expanded = false;
15093
- this.expandedChange.emit(this.expanded);
15167
+ TieredMenuNestedComponent.prototype.ngOnDestroy = function () {
15168
+ this._unsubscribe$.next();
15169
+ this._unsubscribe$.complete();
15094
15170
  };
15095
- ObjectCardComponent.prototype.getExpandedFieldWidth = function () {
15096
- var containerWidth = this.elementRef.nativeElement.offsetWidth;
15097
- var fieldsPerRow;
15098
- if (containerWidth <= Breakpoints.SM_MAX)
15099
- fieldsPerRow = 1;
15100
- else if (containerWidth <= Breakpoints.MD_MAX)
15101
- fieldsPerRow = 2;
15102
- else if (containerWidth <= Breakpoints.LG_MAX)
15103
- fieldsPerRow = 4;
15104
- else
15105
- fieldsPerRow = 6;
15106
- return 12 / fieldsPerRow;
15171
+ TieredMenuNestedComponent.prototype._incrementCurItem = function () {
15172
+ if (!this.tieredMenuService.currentItem) {
15173
+ this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[0];
15174
+ return;
15175
+ }
15176
+ var curIndex = this.tieredMenuService.currentItems.indexOf(this.tieredMenuService.currentItem) + 1;
15177
+ if (curIndex < this.tieredMenuService.currentItems.length) {
15178
+ this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[curIndex];
15179
+ }
15180
+ else {
15181
+ this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[0];
15182
+ }
15183
+ if (this.tieredMenuService.currentItem.divider) {
15184
+ this._incrementCurItem();
15185
+ }
15107
15186
  };
15108
- var ObjectCardComponent_1;
15109
- ObjectCardComponent.nextId = 0;
15110
- ObjectCardComponent.ctorParameters = function () { return [
15111
- { type: core.ChangeDetectorRef },
15112
- { type: core.ElementRef }
15187
+ TieredMenuNestedComponent.prototype._decrementCurItem = function () {
15188
+ if (!this.tieredMenuService.currentItem) {
15189
+ this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[0];
15190
+ return;
15191
+ }
15192
+ var curIndex = this.tieredMenuService.currentItems.indexOf(this.tieredMenuService.currentItem) - 1;
15193
+ if (curIndex >= 0) {
15194
+ this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[curIndex];
15195
+ }
15196
+ else {
15197
+ this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[this.tieredMenuService.currentItems.length - 1];
15198
+ }
15199
+ if (this.tieredMenuService.currentItem.divider) {
15200
+ this._decrementCurItem();
15201
+ }
15202
+ };
15203
+ TieredMenuNestedComponent.prototype._closeItem = function (item) {
15204
+ var _a;
15205
+ var itemAux = this._lastOpenItem;
15206
+ while (itemAux && itemAux != item) {
15207
+ itemAux.isOpen = false;
15208
+ itemAux = itemAux.parent;
15209
+ }
15210
+ item.isOpen = false;
15211
+ this.tieredMenuService.currentItem = itemAux !== null && itemAux !== void 0 ? itemAux : this.tieredMenuService.items[0];
15212
+ this.tieredMenuService.currentItems = ((_a = itemAux === null || itemAux === void 0 ? void 0 : itemAux.parent) === null || _a === void 0 ? void 0 : _a.submenu) || this.tieredMenuService.items;
15213
+ };
15214
+ TieredMenuNestedComponent.prototype._openItem = function (item) {
15215
+ if (item === null || item === void 0 ? void 0 : item.submenu) {
15216
+ item.isOpen = true;
15217
+ this.tieredMenuService.currentItems = item.submenu;
15218
+ // Only has focus if there has already been interaction.
15219
+ if (this.tieredMenuService.currentItem) {
15220
+ this.tieredMenuService.currentItem = item.submenu[0];
15221
+ }
15222
+ this._lastOpenItem = item;
15223
+ }
15224
+ };
15225
+ TieredMenuNestedComponent.prototype._subscribeEvents = function () {
15226
+ var _this = this;
15227
+ this._tieredMenuEventService.incrementCurrentItemEvent
15228
+ .pipe(operators.takeUntil(this._unsubscribe$))
15229
+ .subscribe(function () {
15230
+ _this._incrementCurItem();
15231
+ });
15232
+ this._tieredMenuEventService.decrementCurrentItemEvent
15233
+ .pipe(operators.takeUntil(this._unsubscribe$))
15234
+ .subscribe(function () {
15235
+ _this._decrementCurItem();
15236
+ });
15237
+ this._tieredMenuEventService.selectItemEvent
15238
+ .pipe(operators.takeUntil(this._unsubscribe$))
15239
+ .subscribe(function (item) {
15240
+ if (item.command) {
15241
+ item.command();
15242
+ // Close all menus after the item was selected.
15243
+ _this._tieredMenuEventService.closeAllMenusEvent.emit();
15244
+ }
15245
+ });
15246
+ this._tieredMenuEventService.openItemMenuEvent
15247
+ .pipe(operators.takeUntil(this._unsubscribe$))
15248
+ .subscribe(function (item) {
15249
+ var _a, _b;
15250
+ if (!_this.tieredMenuService.currentItems.includes(item)) {
15251
+ var itemAux = _this._lastOpenItem;
15252
+ while ((_a = itemAux === null || itemAux === void 0 ? void 0 : itemAux.parent) === null || _a === void 0 ? void 0 : _a.parent) {
15253
+ itemAux = itemAux.parent;
15254
+ }
15255
+ _this._tieredMenuEventService.closeItemMenuEvent.emit((_b = itemAux.parent) !== null && _b !== void 0 ? _b : itemAux);
15256
+ }
15257
+ _this._lastOpenItem = item;
15258
+ _this._openItem(item);
15259
+ });
15260
+ this._tieredMenuEventService.closeItemMenuEvent
15261
+ .pipe(operators.takeUntil(this._unsubscribe$))
15262
+ .subscribe(function (item) {
15263
+ if (item) {
15264
+ _this._closeItem(item);
15265
+ }
15266
+ });
15267
+ };
15268
+ TieredMenuNestedComponent.ctorParameters = function () { return [
15269
+ { type: TieredMenuService },
15270
+ { type: TieredMenuEventService }
15113
15271
  ]; };
15114
15272
  __decorate([
15115
- core.Input()
15116
- ], ObjectCardComponent.prototype, "id", void 0);
15117
- __decorate([
15118
- core.Input()
15119
- ], ObjectCardComponent.prototype, "expanded", void 0);
15120
- __decorate([
15121
- core.Input()
15122
- ], ObjectCardComponent.prototype, "expandTooltip", void 0);
15123
- __decorate([
15124
- core.Input()
15125
- ], ObjectCardComponent.prototype, "collapseTooltip", void 0);
15273
+ core.HostListener("window:resize")
15274
+ ], TieredMenuNestedComponent.prototype, "onResize", null);
15126
15275
  __decorate([
15127
- core.Input()
15128
- ], ObjectCardComponent.prototype, "fieldsMinWidth", void 0);
15276
+ core.HostListener("document:click", ["$event"])
15277
+ ], TieredMenuNestedComponent.prototype, "onDocumentClick", null);
15129
15278
  __decorate([
15130
- core.Output()
15131
- ], ObjectCardComponent.prototype, "expandedChange", void 0);
15132
- __decorate([
15133
- core.ContentChild(ObjectCardMainComponent, { static: true })
15134
- ], ObjectCardComponent.prototype, "main", void 0);
15135
- __decorate([
15136
- core.ContentChildren(ObjectCardFieldComponent, { descendants: true })
15137
- ], ObjectCardComponent.prototype, "fields", void 0);
15138
- __decorate([
15139
- core.Input()
15140
- ], ObjectCardComponent.prototype, "severity", void 0);
15141
- __decorate([
15142
- core.Input()
15143
- ], ObjectCardComponent.prototype, "borderButtonOptions", void 0);
15144
- ObjectCardComponent = ObjectCardComponent_1 = __decorate([
15145
- core.Component({
15146
- selector: "s-object-card",
15147
- template: "<div [id]=\"id\" class=\"container\">\n <s-border-button\n *ngIf=\"\n borderButtonOptions?.visible\n ? borderButtonOptions?.visible(severity)\n : false\n \"\n [severity]=\"severity\"\n [options]=\"borderButtonOptions\"\n class=\"object-card__border-button\"\n [@BorderButtonAnimation]\n ></s-border-button>\n\n <div\n [id]=\"id + '-main-container'\"\n class=\"main-container\"\n [ngClass]=\"{\n 'with-hidden-fields': fields.length > maxVisibleFields,\n 'with-visible-fields': fields.length && maxVisibleFields,\n 'main-container--severity-default': severity === EnumSeverity.Default,\n 'main-container--severity-info': severity === EnumSeverity.Info,\n 'main-container--severity-warn': severity === EnumSeverity.Warn,\n 'main-container--severity-error': severity === EnumSeverity.Error,\n 'main-container--severity-success': severity == EnumSeverity.Success\n }\"\n >\n <div class=\"object-content\">\n <div class=\"s-object-card-main\"><ng-content select=\"s-object-card-main\"></ng-content></div>\n\n <div class=\"divider\" *ngIf=\"maxVisibleFields && fields.length\"></div>\n\n <div *ngFor=\"let field of (fields.toArray() | slice: 0:maxVisibleFields)\" class=\"s-object-card-field\">\n <ng-container *ngTemplateOutlet=\"field.content\"></ng-container>\n </div>\n </div>\n\n <div\n [id]=\"id + '-expand-icon-container'\"\n class=\"expand-icon-container\"\n (click)=\"toggle()\"\n [pTooltip]=\"expanded ? collapseTooltip : expandTooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n >\n <span [id]=\"id + '-expand-icon'\" class=\"expand-icon fa\" [ngClass]=\"{ 'fa-minus': expanded, 'fa-plus': !expanded }\"></span>\n </div>\n </div>\n\n <div\n [id]=\"id + '-expandable-container'\"\n [@expandableContent]=\"expanded\"\n class=\"expandable-container\"\n [ngClass]=\"{\n 'expandable-container--severity-default':\n severity === EnumSeverity.Default,\n 'expandable-container--severity-info': severity === EnumSeverity.Info,\n 'expandable-container--severity-warn': severity === EnumSeverity.Warn,\n 'expandable-container--severity-error': severity === EnumSeverity.Error,\n 'expandable-container--severity-success':\n severity == EnumSeverity.Success\n }\"\n >\n <div class=\"ui-g ui-g-12\">\n <ng-container\n *ngFor=\"\n let field of fields.toArray()\n | slice : maxVisibleFields : fields.length\n \"\n >\n <div class=\"ui-g-{{ getExpandedFieldWidth() }}\">\n <div class=\"s-object-card-field\">\n <ng-container\n *ngTemplateOutlet=\"field.content\"\n ></ng-container>\n </div>\n </div>\n </ng-container>\n </div>\n </div>\n</div>\n",
15148
- animations: [
15149
- animations.trigger("expandableContent", [
15150
- animations.state("*", animations.style({
15151
- height: "0",
15152
- })),
15153
- animations.state("false", animations.style({
15154
- height: "0",
15155
- })),
15156
- animations.state("true", animations.style({
15157
- height: "*",
15158
- })),
15159
- animations.transition("* => true", animations.animate("200ms ease-out")),
15160
- animations.transition("false <=> true", animations.animate("200ms ease-out")),
15161
- ]),
15162
- animations.trigger("BorderButtonAnimation", [
15163
- animations.transition(":enter", [
15164
- animations.style({ transform: "scaleY(0)", opacity: 0 }),
15165
- animations.animate("300ms ease", animations.style({ transform: "scaleY(1)", opacity: 1 })),
15166
- ]),
15167
- animations.transition(":leave", [
15168
- animations.style({ transform: "scaleY(1)", opacity: 1 }),
15169
- animations.animate("300ms ease", animations.style({ transform: "scaleY(0)", opacity: 0 })),
15170
- ]),
15171
- ]),
15172
- ],
15173
- styles: [":host{display:block}.container{margin-bottom:20px;position:relative}.main-container{display:-ms-flexbox;display:flex}.expandable-container,.main-container{background-color:#fff;border:1px solid #ccc;position:relative;overflow:hidden;width:100%}.expandable-container--severity-default{border-color:#ccc;border-top:initial}.expandable-container--severity-info{transition:border-color .5s;border-color:#428bca;border-top:initial}.expandable-container--severity-warn{transition:border-color .5s;border-color:#f8931f;border-top:initial}.expandable-container--severity-error{transition:border-color .5s;border-color:#c13018;border-top:initial}.expandable-container--severity-success{transition:border-color .5s;border-color:#0c9348;border-top:initial}.main-container--severity-default{border-color:#ccc}.main-container--severity-info{transition:border-color .5s;border-color:#428bca}.main-container--severity-warn{transition:border-color .5s;border-color:#f8931f}.main-container--severity-error{transition:border-color .5s;border-color:#c13018}.main-container--severity-success{transition:border-color .5s;border-color:#0c9348}.object-card__border-button{position:absolute;top:-13px;right:15px;z-index:1}.expandable-container{border-top:none;box-shadow:inset 0 6px 4px -4px #ddd;margin-top:-1px}.expand-icon-container{display:none;text-align:center;-ms-flex-align:center;align-items:center;cursor:pointer;width:25px;position:absolute;right:15px;height:25px;top:calc(50% - 12px)}.expand-icon{-ms-flex:1;flex:1}.object-content{display:-ms-flexbox;display:flex;width:100%}.s-object-card-main{-ms-flex-negative:0;flex-shrink:0;-ms-flex-positive:1;flex-grow:1;overflow:hidden;padding:15px}.main-container.with-visible-fields .s-object-card-main{max-width:30%}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.main-container.with-visible-fields .s-object-card-main{width:20%}}.s-object-card-field{overflow:hidden;height:100%}.main-container .s-object-card-field{padding:15px}.main-container .divider{width:1px;-ms-flex-negative:0;flex-shrink:0;background-color:#ccc;margin:15px -1px 15px 0}.main-container.with-hidden-fields .object-content{width:calc(100% - 35px)}.main-container.with-hidden-fields .expand-icon-container{display:-ms-flexbox;display:flex}::ng-deep .object-card-button{padding-left:0!important;padding-right:10px!important;border:none!important;height:auto!important;min-width:auto!important;text-align:left!important}@media (max-width:767px){.s-object-card-main{max-width:calc(100% - 50px)}}"]
15174
- })
15175
- ], ObjectCardComponent);
15176
- return ObjectCardComponent;
15177
- }());
15178
-
15179
- var BorderButtonComponent = /** @class */ (function () {
15180
- function BorderButtonComponent() {
15181
- this.severity = exports.EnumSeverity.Default;
15182
- this.EnumSeverity = exports.EnumSeverity;
15183
- this.TooltipPosition = exports.TooltipPosition;
15184
- }
15185
- __decorate([
15186
- core.Input()
15187
- ], BorderButtonComponent.prototype, "severity", void 0);
15188
- __decorate([
15189
- core.Input()
15190
- ], BorderButtonComponent.prototype, "options", void 0);
15191
- BorderButtonComponent = __decorate([
15279
+ core.HostListener("document:keydown", ["$event"])
15280
+ ], TieredMenuNestedComponent.prototype, "onKeydownHandler", null);
15281
+ TieredMenuNestedComponent = __decorate([
15192
15282
  core.Component({
15193
- selector: "s-border-button",
15194
- template: "<button\n class=\"border-button\"\n [ngClass]=\"{\n 'border-button--severity-default': severity === EnumSeverity.Default,\n 'border-button--severity-info': severity === EnumSeverity.Info,\n 'border-button--severity-warn': severity === EnumSeverity.Warn,\n 'border-button--severity-error': severity === EnumSeverity.Error,\n 'border-button--severity-success': severity == EnumSeverity.Success,\n 'border-button--disabled': options?.disabled\n ? options?.disabled(severity)\n : false\n }\"\n (click)=\"options?.onClick ? options?.onClick(severity) : null\"\n [sTooltip]=\"options?.tooltip ? options?.tooltip(severity) : null\"\n [tooltipPosition]=\"TooltipPosition.Left\"\n [disabled]=\"options?.disabled ? options?.disabled(severity) : false\"\n>\n <span class=\"border-button__label\">\n {{ options?.label ? options?.label(severity) : null }}\n </span>\n <span\n *ngIf=\"options?.icon ? options?.icon(severity) : false\"\n class=\"border-button__icon {{ options?.icon(severity) }}\"\n ></span>\n</button>",
15195
- styles: [".border-button{padding:0 8px;border:1px solid;border-radius:12px;height:23px;max-width:320px;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.border-button__label{font-family:Open Sans,sans-serif;font-size:12px;line-height:150%;width:100%;display:block;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.border-button__icon{font-size:12px;color:#333;margin-left:8px}.border-button--severity-default{border-color:#ccc;background-color:#fff}.border-button--severity-info{border-color:#428bca;background-color:#d5e8ec;transition:background-color .5s,border-color .5s}.border-button--severity-info:enabled:hover{background-color:#9ecad4;cursor:pointer}.border-button--severity-info:enabled:active{transition:none;background-color:#67acbc;border-color:#67acbc}.border-button--severity-warn{border-color:#f8931f;background-color:#fce3ba;transition:background-color .5s,border-color .5s}.border-button--severity-warn:enabled:hover{background-color:#f8bf5e;cursor:pointer}.border-button--severity-warn:enabled:active{transition:none;background-color:#f5a319;border-color:#f5a319}.border-button--severity-error{border-color:#c13018;background-color:#fcd2d2;transition:background-color .5s,border-color .5s}.border-button--severity-error:enabled:hover{background-color:#f89696;cursor:pointer}.border-button--severity-error:enabled:active{transition:none;background-color:#f45b5b;border-color:#f45b5b}.border-button--severity-success{border-color:#0c9348;background-color:#e6ffb3;transition:background-color .5s,border-color .5s}.border-button--severity-success:enabled:hover{background-color:#c8ff5c;cursor:pointer}.border-button--severity-success:enabled:active{transition:none;background-color:#ade500;border-color:#ade500}.border-button--disabled:disabled:hover{cursor:default}"]
15196
- })
15197
- ], BorderButtonComponent);
15198
- return BorderButtonComponent;
15199
- }());
15200
-
15201
- var BorderButtonModule = /** @class */ (function () {
15202
- function BorderButtonModule() {
15203
- }
15204
- BorderButtonModule = __decorate([
15205
- core.NgModule({
15206
- imports: [common.CommonModule, TooltipModule],
15207
- declarations: [BorderButtonComponent],
15208
- exports: [BorderButtonComponent]
15209
- })
15210
- ], BorderButtonModule);
15211
- return BorderButtonModule;
15212
- }());
15213
-
15214
- var ObjectCardModule = /** @class */ (function () {
15215
- function ObjectCardModule() {
15216
- }
15217
- ObjectCardModule = __decorate([
15218
- core.NgModule({
15219
- imports: [common.CommonModule, tooltip.TooltipModule, ThumbnailModule, ButtonModule, BorderButtonModule],
15220
- declarations: [ObjectCardComponent, ObjectCardMainComponent, ObjectCardFieldComponent],
15221
- exports: [ThumbnailModule, ObjectCardComponent, ObjectCardMainComponent, ObjectCardFieldComponent],
15283
+ 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.visible && !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",
15284
+ 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}"]
15222
15285
  })
15223
- ], ObjectCardModule);
15224
- return ObjectCardModule;
15286
+ ], TieredMenuNestedComponent);
15287
+ return TieredMenuNestedComponent;
15225
15288
  }());
15226
15289
 
15227
- var ProductHeaderComponent = /** @class */ (function () {
15228
- function ProductHeaderComponent() {
15229
- this.id = "s-product-header-" + ProductHeaderComponent_1.nextId++;
15230
- this.baseZIndex = 0;
15231
- this.isHeaderFrame = true;
15290
+ var TieredMenuComponent = /** @class */ (function () {
15291
+ function TieredMenuComponent(_appRef, _componentFactoryResolver, _injector, _changeDetectorRef, tieredMenuService, _tieredMenuEventService) {
15292
+ this._appRef = _appRef;
15293
+ this._componentFactoryResolver = _componentFactoryResolver;
15294
+ this._injector = _injector;
15295
+ this._changeDetectorRef = _changeDetectorRef;
15296
+ this.tieredMenuService = tieredMenuService;
15297
+ this._tieredMenuEventService = _tieredMenuEventService;
15298
+ this.top = 0;
15299
+ this.left = 0;
15300
+ this.menuTriggerEvent = "hover";
15301
+ this._componentRef = null;
15302
+ this._unsubscribe$ = new rxjs.Subject();
15303
+ this.destroyRequest = new core.EventEmitter();
15232
15304
  }
15233
- ProductHeaderComponent_1 = ProductHeaderComponent;
15234
- ProductHeaderComponent.prototype.ngAfterViewInit = function () {
15235
- this.container.nativeElement.style.zIndex = String(this.baseZIndex + ++dom.DomHandler.zindex);
15236
- if (this.isHeaderFrame) {
15237
- this.container.nativeElement.style.borderBottom = "1px solid $default-secondary-color";
15305
+ TieredMenuComponent_1 = TieredMenuComponent;
15306
+ TieredMenuComponent.prototype.onResize = function () {
15307
+ this._tieredMenuEventService.closeAllMenusEvent.emit();
15308
+ };
15309
+ TieredMenuComponent.prototype.onDocumentClick = function (event) {
15310
+ // Closing menu when clicked outside.
15311
+ var target = event.target;
15312
+ var clickedInside = target.closest("s-tiered-menu-item") || target.closest("s-tiered-menu-divider");
15313
+ if (!clickedInside) {
15314
+ this._tieredMenuEventService.closeAllMenusEvent.emit();
15238
15315
  }
15239
- else {
15240
- this.container.nativeElement.style.borderTop = "1px solid $default-secondary-color";
15316
+ };
15317
+ TieredMenuComponent.prototype.onKeydownHandler = function (event) {
15318
+ switch (event.key) {
15319
+ case "Escape":
15320
+ this._tieredMenuEventService.closeAllMenusEvent.emit();
15321
+ break;
15322
+ case " ":
15323
+ case "Enter":
15324
+ if (!this.tieredMenuService.currentItem.disabled) {
15325
+ this._tieredMenuEventService.selectItemEvent.emit(this.tieredMenuService.currentItem);
15326
+ }
15327
+ break;
15328
+ case "ArrowLeft":
15329
+ if (this.items.includes(this.tieredMenuService.currentItem)) {
15330
+ this._tieredMenuEventService.closeItemMenuEvent.emit(this.tieredMenuService.currentItem);
15331
+ this._changeDetectorRef.detectChanges();
15332
+ }
15333
+ break;
15334
+ case "ArrowRight":
15335
+ if (!this.tieredMenuService.currentItem.disabled && this.items.includes(this.tieredMenuService.currentItem)) {
15336
+ this._tieredMenuEventService.openItemMenuEvent.emit(this.tieredMenuService.currentItem);
15337
+ event.stopImmediatePropagation();
15338
+ }
15339
+ break;
15340
+ case "ArrowUp":
15341
+ if (!this.tieredMenuService.currentItem || this.items.includes(this.tieredMenuService.currentItem)) {
15342
+ this._tieredMenuEventService.decrementCurrentItemEvent.emit();
15343
+ event.stopImmediatePropagation();
15344
+ }
15345
+ break;
15346
+ case "ArrowDown":
15347
+ if (!this.tieredMenuService.currentItem || this.items.includes(this.tieredMenuService.currentItem)) {
15348
+ this._tieredMenuEventService.incrementCurrentItemEvent.emit();
15349
+ event.stopImmediatePropagation();
15350
+ }
15351
+ break;
15241
15352
  }
15242
15353
  };
15243
- var ProductHeaderComponent_1;
15244
- ProductHeaderComponent.nextId = 0;
15245
- __decorate([
15246
- core.Input()
15247
- ], ProductHeaderComponent.prototype, "id", void 0);
15248
- __decorate([
15249
- core.Input()
15250
- ], ProductHeaderComponent.prototype, "header", void 0);
15251
- __decorate([
15252
- core.Input()
15253
- ], ProductHeaderComponent.prototype, "baseZIndex", void 0);
15254
- __decorate([
15255
- core.Input()
15256
- ], ProductHeaderComponent.prototype, "isHeaderFrame", void 0);
15257
- __decorate([
15258
- core.ViewChild("headerContainer", { static: false })
15259
- ], ProductHeaderComponent.prototype, "container", void 0);
15260
- ProductHeaderComponent = ProductHeaderComponent_1 = __decorate([
15261
- core.Component({
15262
- selector: "s-product-header",
15263
- template: "<div [id]=\"id\" class=\"box\">\n <div\n #headerContainer\n class=\"sds-container\"\n [class]=\"isHeaderFrame ? 'header-frame' : 'primary-header'\"\n >\n <h1 [class]=\"isHeaderFrame ? 'title' : 'primary-title'\">{{ header }}</h1>\n <div class=\"content\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n",
15264
- styles: [".box{position:relative;width:100%;height:70px}.header-frame{padding-top:15px;padding-bottom:15px;width:100%;top:0;left:0;height:70px;background-color:#fff;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center;position:fixed}.title{color:#999;font-weight:400;font-size:16pt;margin-right:15px;min-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.content{display:-ms-flexbox;display:flex;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.primary-header{display:-ms-flexbox;display:flex;width:100%;height:70px;padding:15px 20px;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center;border-bottom:1px solid #ddd;background-color:#fff;gap:24px}@media (max-width:768px){.primary-header{width:100%}}.primary-header .primary-title{color:#999;font-weight:400;font-size:16pt;margin-right:15px;min-width:140px;overflow:hidden;text-overflow:ellipsis}"]
15265
- })
15266
- ], ProductHeaderComponent);
15267
- return ProductHeaderComponent;
15268
- }());
15269
-
15270
- var ProductHeaderModule = /** @class */ (function () {
15271
- function ProductHeaderModule() {
15272
- }
15273
- ProductHeaderModule = __decorate([
15274
- core.NgModule({
15275
- imports: [common.CommonModule, tooltip.TooltipModule, ThumbnailModule],
15276
- declarations: [ProductHeaderComponent],
15277
- exports: [ProductHeaderComponent, ThumbnailModule],
15278
- })
15279
- ], ProductHeaderModule);
15280
- return ProductHeaderModule;
15281
- }());
15282
-
15283
-
15284
- (function (ProgressBarColors) {
15285
- ProgressBarColors["Blue"] = "blue";
15286
- ProgressBarColors["Green"] = "green";
15287
- ProgressBarColors["Red"] = "red";
15288
- ProgressBarColors["Yellow"] = "yellow";
15289
- })(exports.ProgressBarColors || (exports.ProgressBarColors = {}));
15290
-
15291
- var ProgressBarMode;
15292
- (function (ProgressBarMode) {
15293
- ProgressBarMode["Determinate"] = "determinate";
15294
- ProgressBarMode["Indeterminate"] = "indeterminate";
15295
- })(ProgressBarMode || (ProgressBarMode = {}));
15296
-
15297
- var ProgressBarComponent = /** @class */ (function () {
15298
- function ProgressBarComponent() {
15299
- this.numberFormatOptions = {
15300
- style: "decimal",
15301
- minimumFractionDigits: 0,
15302
- maximumFractionDigits: 2,
15303
- };
15304
- this.showValue = true;
15305
- this.mode = ProgressBarMode.Determinate;
15306
- }
15307
- ProgressBarComponent.prototype.ngOnInit = function () {
15308
- this.validateInputs();
15354
+ TieredMenuComponent.prototype.ngOnInit = function () {
15355
+ this.tieredMenuService.currentItems = this.items;
15356
+ this._subscribeEvents();
15309
15357
  };
15310
- ProgressBarComponent.prototype.validateInputs = function () {
15311
- if (this.value < 0 || this.value > 100) {
15312
- throw new Error("Invalid value for value");
15358
+ TieredMenuComponent.prototype.ngOnDestroy = function () {
15359
+ this._unsubscribe$.next();
15360
+ this._unsubscribe$.complete();
15361
+ };
15362
+ TieredMenuComponent.prototype._incrementCurItem = function () {
15363
+ if (!this.tieredMenuService.currentItem) {
15364
+ this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[0];
15365
+ return;
15313
15366
  }
15314
- if (this.targetValue < 0 || this.targetValue > 100) {
15315
- throw new Error("Invalid value for targetValue");
15367
+ else if (!this.items.includes(this.tieredMenuService.currentItem)) {
15368
+ // Checking if it is the current menu.
15369
+ return;
15316
15370
  }
15317
- if (this.mode === ProgressBarMode.Indeterminate && (this.value || this.targetValue || this.targetLabel)) {
15318
- throw new Error("When the mode is indeterminate, the value, targetValue and targetLabel parameters are not expected.");
15371
+ var currentIndex = this.tieredMenuService.currentItems.indexOf(this.tieredMenuService.currentItem) + 1;
15372
+ if (currentIndex < this.tieredMenuService.currentItems.length) {
15373
+ this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[currentIndex];
15374
+ }
15375
+ else {
15376
+ this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[0];
15377
+ }
15378
+ if (this.tieredMenuService.currentItem.divider) {
15379
+ this._incrementCurItem();
15319
15380
  }
15320
15381
  };
15321
- __decorate([
15322
- core.Input()
15323
- ], ProgressBarComponent.prototype, "value", void 0);
15324
- __decorate([
15325
- core.Input()
15326
- ], ProgressBarComponent.prototype, "numberFormatOptions", void 0);
15327
- __decorate([
15328
- core.Input()
15329
- ], ProgressBarComponent.prototype, "targetValue", void 0);
15330
- __decorate([
15331
- core.Input()
15332
- ], ProgressBarComponent.prototype, "label", void 0);
15333
- __decorate([
15334
- core.Input()
15335
- ], ProgressBarComponent.prototype, "targetLabel", void 0);
15336
- __decorate([
15337
- core.Input()
15338
- ], ProgressBarComponent.prototype, "activeColor", void 0);
15339
- __decorate([
15340
- core.Input()
15341
- ], ProgressBarComponent.prototype, "showValue", void 0);
15342
- __decorate([
15343
- core.Input()
15344
- ], ProgressBarComponent.prototype, "mode", void 0);
15345
- ProgressBarComponent = __decorate([
15346
- core.Component({
15347
- selector: "s-progressbar",
15348
- template: "<ng-container *ngIf=\"mode === 'determinate'; then pbDeterminateTemplate else pbIndeterminateTemplate\"></ng-container>\n\n<ng-template #pbDeterminateTemplate>\n <s-progressbar-determinate\n [value]=\"value\"\n [numberFormatOptions]=\"numberFormatOptions\"\n [targetValue]=\"targetValue\"\n [targetLabel]=\"targetLabel\"\n [activeColor]=\"activeColor\"\n [showValue]=\"showValue\">\n </s-progressbar-determinate>\n</ng-template>\n\n<ng-template #pbIndeterminateTemplate>\n <s-progressbar-indeterminate\n [activeColor]=\"activeColor\"\n [label]=\"label\">\n </s-progressbar-indeterminate>\n</ng-template>",
15349
- styles: [".progress-bar{position:relative}.progress-bar .progress-bar-all{background-color:#d8d8d8;border-radius:4px;height:24px;overflow:hidden;width:100%}.progress-bar .progress-bar-all .progress-bar-active{-ms-flex-align:center;align-items:center;color:#fff;display:-ms-flexbox;display:flex;font-family:\"Open Sans\",sans-serif;font-size:14px;height:100%;-ms-flex-pack:center;justify-content:center;line-height:150%;-webkit-user-select:none;-ms-user-select:none;user-select:none;width:80%}.progress-bar .progress-bar-all .progress-bar-active--blue{background-color:#428bca}.progress-bar .progress-bar-all .progress-bar-active--green{background-color:#0c9348}.progress-bar .progress-bar-all .progress-bar-active--red{background-color:#c13018}.progress-bar .progress-bar-all .progress-bar-active--yellow{background-color:#fcbf10}.progress-bar .target{-ms-flex-align:start;align-items:flex-start;bottom:-38px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;position:absolute}.progress-bar .target .target-line{background-color:#333;height:40px;margin:8px 0;width:1px}.progress-bar .target .target-label{background-color:#426e78;border-radius:10px;color:#e5eaea;font-family:\"Open Sans\",sans-serif;font-size:12px;line-height:150%;padding:2px 12px}"]
15350
- })
15351
- ], ProgressBarComponent);
15352
- return ProgressBarComponent;
15353
- }());
15354
-
15355
- var ProgressBarDeterminateComponent = /** @class */ (function () {
15356
- function ProgressBarDeterminateComponent(localeService) {
15357
- this.localeService = localeService;
15358
- this.showValue = true;
15359
- }
15360
- ProgressBarDeterminateComponent.prototype.ngOnInit = function () {
15361
- this.validateValues();
15362
- this.onGetLocale();
15382
+ TieredMenuComponent.prototype._decrementCurItem = function () {
15383
+ if (!this.tieredMenuService.currentItem) {
15384
+ this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[0];
15385
+ return;
15386
+ // Checking if it is the current menu.
15387
+ }
15388
+ else if (!this.items.includes(this.tieredMenuService.currentItem)) {
15389
+ return;
15390
+ }
15391
+ var curIndex = this.tieredMenuService.currentItems.indexOf(this.tieredMenuService.currentItem) - 1;
15392
+ if (curIndex >= 0) {
15393
+ this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[curIndex];
15394
+ }
15395
+ else {
15396
+ this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[this.tieredMenuService.currentItems.length - 1];
15397
+ }
15398
+ if (this.tieredMenuService.currentItem.divider) {
15399
+ this._decrementCurItem();
15400
+ }
15363
15401
  };
15364
- ProgressBarDeterminateComponent.prototype.onGetLocale = function () {
15402
+ TieredMenuComponent.prototype._createMenu = function (items, position) {
15365
15403
  var _this = this;
15366
- this.localeService.getLocale().subscribe({
15367
- next: function (locale) {
15368
- _this.numberFormat = new Intl.NumberFormat(locale !== null && locale !== void 0 ? locale : "pt-BR", _this.numberFormatOptions);
15369
- },
15370
- error: function () {
15371
- _this.numberFormat = new Intl.NumberFormat("pt-BR", _this.numberFormatOptions);
15372
- },
15373
- });
15404
+ if (!this._componentRef && items) {
15405
+ var componentFactory = this._componentFactoryResolver.resolveComponentFactory(TieredMenuComponent_1);
15406
+ this._componentRef = componentFactory.create(this._injector);
15407
+ this._appRef.attachView(this._componentRef.hostView);
15408
+ var domElem = this._componentRef.hostView.rootNodes[0];
15409
+ document.body.appendChild(domElem);
15410
+ // Setting the menu items.
15411
+ this._componentRef.instance.items = items;
15412
+ // Subscribe menu events.
15413
+ this._componentRef.instance.destroyRequest.subscribe(function (propagate) {
15414
+ _this._destroy(propagate);
15415
+ });
15416
+ this._menuDivElement = domElem.querySelector(".menu");
15417
+ this._setMenuPosition(position);
15418
+ }
15374
15419
  };
15375
- ProgressBarDeterminateComponent.prototype.validateValues = function () {
15376
- if (this.value < 0 || this.value > 100) {
15377
- throw new Error("Invalid value for value");
15420
+ TieredMenuComponent.prototype._destroy = function (propagate) {
15421
+ if (propagate === void 0) { propagate = true; }
15422
+ if (this._componentRef !== null) {
15423
+ this._appRef.detachView(this._componentRef.hostView);
15424
+ this._componentRef.destroy();
15425
+ this._componentRef = null;
15426
+ this._menuDivElement = null;
15378
15427
  }
15379
- if (this.targetValue < 0 || this.targetValue > 100) {
15380
- throw new Error("Invalid value for targetValue");
15428
+ if (propagate) {
15429
+ this.destroyRequest.emit();
15381
15430
  }
15382
15431
  };
15383
- ProgressBarDeterminateComponent.ctorParameters = function () { return [
15384
- { type: LocaleService }
15385
- ]; };
15386
- __decorate([
15387
- core.Input()
15388
- ], ProgressBarDeterminateComponent.prototype, "value", void 0);
15389
- __decorate([
15390
- core.Input()
15391
- ], ProgressBarDeterminateComponent.prototype, "numberFormatOptions", void 0);
15392
- __decorate([
15393
- core.Input()
15394
- ], ProgressBarDeterminateComponent.prototype, "targetValue", void 0);
15395
- __decorate([
15396
- core.Input()
15397
- ], ProgressBarDeterminateComponent.prototype, "targetLabel", void 0);
15398
- __decorate([
15399
- core.Input()
15400
- ], ProgressBarDeterminateComponent.prototype, "activeColor", void 0);
15401
- __decorate([
15402
- core.Input()
15403
- ], ProgressBarDeterminateComponent.prototype, "showValue", void 0);
15404
- ProgressBarDeterminateComponent = __decorate([
15405
- core.Component({
15406
- selector: "s-progressbar-determinate",
15407
- template: "<div class=\"progressbar-determinate\">\n <div class=\"progressbar-container\">\n <div\n class=\"progressbar-active\"\n [ngClass]=\"{\n 'progressbar-active--blue' : activeColor === 'blue',\n 'progressbar-active--green': activeColor === 'green',\n 'progressbar-active--red': activeColor === 'red',\n 'progressbar-active--yellow': activeColor === 'yellow'\n }\"\n [ngStyle]=\"{ 'width': value + '%' }\">\n\n {{ showValue && value ? numberFormat.format(value) + '%' : '' }}\n </div>\n </div>\n <div\n *ngIf=\"targetValue\"\n class=\"target\"\n [ngStyle]=\"{\n 'left': targetValue <= 50 ? targetValue + '%' : 'unset',\n 'right': targetValue > 50 ? 100 - targetValue + '%' : 'unset',\n 'align-items': targetValue > 50 ? 'flex-end' : 'flex-start'\n }\">\n <span class=\"target-line\"></span>\n <span class=\"target-label\">\n {{ targetLabel || numberFormat.format(value) + '%' }}\n </span>\n </div>\n </div>\n",
15408
- styles: [".progressbar-determinate{position:relative}.progressbar-determinate .progressbar-container{background-color:#d8d8d8;border-radius:4px;height:24px;overflow:hidden;width:100%}.progressbar-determinate .progressbar-container .progressbar-active{-ms-flex-align:center;align-items:center;color:#fff;display:-ms-flexbox;display:flex;font-family:\"Open Sans\",sans-serif;font-size:14px;height:100%;-ms-flex-pack:center;justify-content:center;line-height:150%;-webkit-user-select:none;-ms-user-select:none;user-select:none;width:80%}.progressbar-determinate .progressbar-container .progressbar-active--blue{background-color:#428bca}.progressbar-determinate .progressbar-container .progressbar-active--green{background-color:#0c9348}.progressbar-determinate .progressbar-container .progressbar-active--red{background-color:#c13018}.progressbar-determinate .progressbar-container .progressbar-active--yellow{background-color:#fcbf10;color:#212533}.progressbar-determinate .target{-ms-flex-align:start;align-items:flex-start;bottom:-38px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;position:absolute}.progressbar-determinate .target .target-line{background-color:#333;height:40px;margin:8px 0;width:1px}.progressbar-determinate .target .target-label{background-color:#426e78;border-radius:10px;color:#e5eaea;font-family:\"Open Sans\",sans-serif;font-size:12px;line-height:150%;padding:2px 12px}"]
15409
- })
15410
- ], ProgressBarDeterminateComponent);
15411
- return ProgressBarDeterminateComponent;
15412
- }());
15413
-
15414
- var ProgressBarIndeterminateComponent = /** @class */ (function () {
15415
- function ProgressBarIndeterminateComponent() {
15416
- }
15417
- __decorate([
15418
- core.Input()
15419
- ], ProgressBarIndeterminateComponent.prototype, "activeColor", void 0);
15420
- __decorate([
15421
- core.Input()
15422
- ], ProgressBarIndeterminateComponent.prototype, "label", void 0);
15423
- ProgressBarIndeterminateComponent = __decorate([
15424
- core.Component({
15425
- selector: "s-progressbar-indeterminate",
15426
- template: "<div class=\"progressbar-indeterminate\">\n <div class=\"progressbar-container\">\n <div class=\"indeterminate-bar\" [ngClass]=\"{\n 'indeterminate-bar--blue': activeColor === 'blue',\n 'indeterminate-bar--green': activeColor === 'green',\n 'indeterminate-bar--red': activeColor === 'red',\n 'indeterminate-bar--yellow': activeColor === 'yellow'\n }\"></div>\n </div>\n\n <span *ngIf=\"label\" class=\"progressbar-label\">{{ label }}</span>\n</div>\n",
15427
- styles: [".progressbar-indeterminate{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center}.progressbar-indeterminate .progressbar-container{background-color:#d8d8d8;border-radius:4px;height:24px;margin:8px 0;overflow:hidden;width:100%}.progressbar-indeterminate .indeterminate-bar{animation:5s infinite indeterminate-progress;background-color:#428bca;height:100%;width:40%}.progressbar-indeterminate .indeterminate-bar--blue{background-color:#428bca}.progressbar-indeterminate .indeterminate-bar--green{background-color:#0c9348}.progressbar-indeterminate .indeterminate-bar--red{background-color:#c13018}.progressbar-indeterminate .indeterminate-bar--yellow{background-color:#fcbf10}.progressbar-indeterminate .progressbar-label{font-family:\"Open Sans\" sans-serif;font-size:12px;line-height:150%;color:#212533}@keyframes indeterminate-progress{0%{transform:translateX(-250%)}100%{transform:translateX(250%)}}"]
15428
- })
15429
- ], ProgressBarIndeterminateComponent);
15430
- return ProgressBarIndeterminateComponent;
15431
- }());
15432
-
15433
- var ProgressBarModule = /** @class */ (function () {
15434
- function ProgressBarModule() {
15435
- }
15436
- ProgressBarModule = __decorate([
15437
- core.NgModule({
15438
- imports: [common.CommonModule],
15439
- declarations: [
15440
- ProgressBarComponent,
15441
- ProgressBarDeterminateComponent,
15442
- ProgressBarIndeterminateComponent,
15443
- ],
15444
- exports: [ProgressBarComponent],
15445
- })
15446
- ], ProgressBarModule);
15447
- return ProgressBarModule;
15448
- }());
15449
-
15450
- var PanelComponent = /** @class */ (function () {
15451
- function PanelComponent() {
15452
- this.toggleable = true;
15453
- this.collapsed = false;
15454
- this.severity = exports.EnumSeverity.Default;
15455
- this.collapsedChange = new core.EventEmitter();
15456
- this.EnumSeverity = exports.EnumSeverity;
15457
- }
15458
- PanelComponent.prototype.onCollapsedChange = function (collapsed) {
15459
- this.collapsed = collapsed;
15460
- this.collapsedChange.emit(this.collapsed);
15461
- };
15462
- __decorate([
15463
- core.Input()
15464
- ], PanelComponent.prototype, "header", void 0);
15465
- __decorate([
15466
- core.Input()
15467
- ], PanelComponent.prototype, "toggleable", void 0);
15468
- __decorate([
15469
- core.Input()
15470
- ], PanelComponent.prototype, "collapsed", void 0);
15471
- __decorate([
15472
- core.Input()
15473
- ], PanelComponent.prototype, "severity", void 0);
15474
- __decorate([
15475
- core.Input()
15476
- ], PanelComponent.prototype, "borderButtonOptions", void 0);
15477
- __decorate([
15478
- core.Output()
15479
- ], PanelComponent.prototype, "collapsedChange", void 0);
15480
- PanelComponent = __decorate([
15481
- core.Component({
15482
- selector: "s-panel",
15483
- template: "<p-panel\n [toggleable]=\"toggleable\"\n [collapsed]=\"collapsed\"\n [ngClass]=\"{\n 'panel--severity-default': severity === EnumSeverity.Default,\n 'panel--severity-info': severity === EnumSeverity.Info,\n 'panel--severity-warn': severity === EnumSeverity.Warn,\n 'panel--severity-error': severity === EnumSeverity.Error,\n 'panel--severity-success': severity == EnumSeverity.Success\n }\"\n (collapsedChange)=\"onCollapsedChange($event)\"\n>\n <p-header>\n <s-border-button\n *ngIf=\"\n borderButtonOptions?.visible\n ? borderButtonOptions?.visible(severity)\n : false\n \"\n [severity]=\"severity\"\n [options]=\"borderButtonOptions\"\n class=\"panel__border-button\"\n [@BorderButtonAnimation]\n ></s-border-button>\n <span>\n {{ header }}\n </span>\n </p-header>\n\n <ng-content></ng-content>\n</p-panel>",
15484
- animations: [
15485
- animations.trigger("BorderButtonAnimation", [
15486
- animations.transition(":enter", [
15487
- animations.style({ transform: "scaleY(0)", opacity: 0 }),
15488
- animations.animate("300ms ease", animations.style({ transform: "scaleY(1)", opacity: 1 })),
15489
- ]),
15490
- animations.transition(":leave", [
15491
- animations.style({ transform: "scaleY(1)", opacity: 1 }),
15492
- animations.animate("300ms ease", animations.style({ transform: "scaleY(0)", opacity: 0 })),
15493
- ]),
15494
- ]),
15495
- ],
15496
- styles: [":host{display:block}:host ::ng-deep .ui-panel{position:relative}:host ::ng-deep .panel--severity-default .ui-panel{border-color:#ccc}:host ::ng-deep .panel--severity-info .ui-panel{border-color:#428bca;transition:border-color .5s}:host ::ng-deep .panel--severity-warn .ui-panel{border-color:#f8931f;transition:border-color .5s}:host ::ng-deep .panel--severity-error .ui-panel{border-color:#c13018;transition:border-color .5s}:host ::ng-deep .panel--severity-success .ui-panel{border-color:#0c9348;transition:border-color .5s}.panel__border-button{position:absolute;top:-13px;right:15px;z-index:1}"]
15497
- })
15498
- ], PanelComponent);
15499
- return PanelComponent;
15500
- }());
15501
-
15502
- var PanelModule = /** @class */ (function () {
15503
- function PanelModule() {
15504
- }
15505
- PanelModule = __decorate([
15506
- core.NgModule({
15507
- imports: [common.CommonModule, panel.PanelModule, BorderButtonModule],
15508
- declarations: [PanelComponent],
15509
- exports: [PanelComponent],
15510
- })
15511
- ], PanelModule);
15512
- return PanelModule;
15513
- }());
15514
-
15515
- var RatingScaleComponent = /** @class */ (function () {
15516
- function RatingScaleComponent() {
15517
- this.disabled = false;
15518
- }
15519
- RatingScaleComponent_1 = RatingScaleComponent;
15520
- RatingScaleComponent.prototype.writeValue = function (value) {
15521
- if (!this.disabled) {
15522
- this.value = value;
15432
+ TieredMenuComponent.prototype._setMenuPosition = function (position) {
15433
+ var _a, _b;
15434
+ var ITEM_HEIGHT = 37;
15435
+ var DIVIDER_HEIGHT = 5;
15436
+ var PADDING = 8;
15437
+ if (this._componentRef !== null) {
15438
+ var top_1 = position.top, right = position.right, bottom = position.bottom, left = position.left;
15439
+ var itemsCount = (_a = this._componentRef.instance.items) === null || _a === void 0 ? void 0 : _a.reduce(function (count, item) {
15440
+ return !item.divider ? count + 1 : count;
15441
+ }, 0);
15442
+ var dividersCount = (_b = this._componentRef.instance.items) === null || _b === void 0 ? void 0 : _b.reduce(function (count, item) {
15443
+ return item.divider ? count + 1 : count;
15444
+ }, 0);
15445
+ // I need to calculate the height of the component because the internal elements have not been created yet.
15446
+ var menuHeight = itemsCount * ITEM_HEIGHT + dividersCount * DIVIDER_HEIGHT + PADDING + 8;
15447
+ var menuWidth = this._menuDivElement.getBoundingClientRect().width;
15448
+ var rightFreeSpace = window.innerWidth - right;
15449
+ var bottomFreeSpace = window.innerHeight - bottom;
15450
+ if (rightFreeSpace > menuWidth) {
15451
+ this._componentRef.instance.left = right;
15452
+ }
15453
+ else {
15454
+ this._componentRef.instance.left = left - menuWidth;
15455
+ }
15456
+ if (bottomFreeSpace <= menuHeight) {
15457
+ this._componentRef.instance.top = Math.max(window.innerHeight - menuHeight, window.scrollY);
15458
+ }
15459
+ else {
15460
+ this._componentRef.instance.top = window.scrollY + top_1;
15461
+ }
15523
15462
  }
15524
15463
  };
15525
- RatingScaleComponent.prototype.registerOnChange = function (onChange) {
15526
- this._onChange = onChange;
15527
- };
15528
- RatingScaleComponent.prototype.registerOnTouched = function (onTouched) {
15529
- this._onTouched = onTouched;
15530
- };
15531
- RatingScaleComponent.prototype.onSelect = function (rating) {
15532
- this.value = rating;
15533
- if (this._onChange) {
15534
- this._onChange(this.value);
15535
- }
15464
+ TieredMenuComponent.prototype._subscribeEvents = function () {
15465
+ var _this = this;
15466
+ // Increment current item event.
15467
+ this._tieredMenuEventService.incrementCurrentItemEvent.pipe(operators.takeUntil(this._unsubscribe$)).subscribe(function () {
15468
+ _this._incrementCurItem();
15469
+ });
15470
+ // Decrement current item event.
15471
+ this._tieredMenuEventService.decrementCurrentItemEvent.pipe(operators.takeUntil(this._unsubscribe$)).subscribe(function () {
15472
+ _this._decrementCurItem();
15473
+ });
15474
+ // Select item event.
15475
+ this._tieredMenuEventService.selectItemEvent.pipe(operators.takeUntil(this._unsubscribe$)).subscribe(function (item) {
15476
+ if (item.submenu) {
15477
+ _this._tieredMenuEventService.openItemMenuEvent.emit(item);
15478
+ }
15479
+ else if (item.command) {
15480
+ _this._tieredMenuEventService.closeAllMenusEvent.emit();
15481
+ item.command();
15482
+ }
15483
+ });
15484
+ // Close all menus event.
15485
+ this._tieredMenuEventService.closeAllMenusEvent.pipe(operators.takeUntil(this._unsubscribe$)).subscribe(function () {
15486
+ _this._destroy();
15487
+ _this.tieredMenuService.currentItem = null;
15488
+ _this.tieredMenuService.currentItems = _this.tieredMenuService.items;
15489
+ _this.tieredMenuService.markAllItemsAsClosed(_this.tieredMenuService.items);
15490
+ });
15491
+ // Open item menu event.
15492
+ this._tieredMenuEventService.openItemMenuEvent.pipe(operators.takeUntil(this._unsubscribe$)).subscribe(function (item) {
15493
+ if (_this.tieredMenuService.currentItem) {
15494
+ if (_this.tieredMenuService.currentItem.parent === item) {
15495
+ return;
15496
+ }
15497
+ if (!_this.tieredMenuService.searchTheHierarchy(_this.tieredMenuService.currentItem.parent, item)) {
15498
+ var current = _this.tieredMenuService.currentItem;
15499
+ current.isOpen = false;
15500
+ while ((current === null || current === void 0 ? void 0 : current.parent) !== item.parent) {
15501
+ _this._tieredMenuEventService.closeItemMenuEvent.emit(current);
15502
+ _this._changeDetectorRef.detectChanges();
15503
+ current = current.parent;
15504
+ }
15505
+ if (current) {
15506
+ current.isOpen = false;
15507
+ }
15508
+ }
15509
+ }
15510
+ if (item.submenu && !item.isOpen && _this.items.includes(item)) {
15511
+ var _a = document.querySelector("#" + item.id).getBoundingClientRect(), top_2 = _a.top, right = _a.right, left = _a.left, bottom = _a.bottom;
15512
+ var position = { top: top_2, right: right, left: left, bottom: bottom };
15513
+ _this._createMenu(item.submenu, position);
15514
+ _this.tieredMenuService.currentItems = item.submenu;
15515
+ _this.tieredMenuService.currentItem = item.submenu[0];
15516
+ item.isOpen = true;
15517
+ }
15518
+ });
15519
+ // Close item menu event.
15520
+ this._tieredMenuEventService.closeItemMenuEvent
15521
+ .pipe(operators.takeUntil(this._unsubscribe$))
15522
+ .subscribe(function (item) {
15523
+ var _a, _b;
15524
+ if (_this.items.some(function (i) { return i.id === item.id; })) {
15525
+ if (item.parent) {
15526
+ item.parent.isOpen = false;
15527
+ }
15528
+ _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;
15529
+ _this.tieredMenuService.currentItem = item.parent;
15530
+ _this.destroyRequest.emit(false);
15531
+ }
15532
+ });
15536
15533
  };
15537
- var RatingScaleComponent_1;
15534
+ var TieredMenuComponent_1;
15535
+ TieredMenuComponent.ctorParameters = function () { return [
15536
+ { type: core.ApplicationRef },
15537
+ { type: core.ComponentFactoryResolver },
15538
+ { type: core.Injector },
15539
+ { type: core.ChangeDetectorRef },
15540
+ { type: TieredMenuService },
15541
+ { type: TieredMenuEventService }
15542
+ ]; };
15538
15543
  __decorate([
15539
- core.Input()
15540
- ], RatingScaleComponent.prototype, "nodes", void 0);
15544
+ core.Output()
15545
+ ], TieredMenuComponent.prototype, "destroyRequest", void 0);
15541
15546
  __decorate([
15542
- core.Input()
15543
- ], RatingScaleComponent.prototype, "startLabel", void 0);
15547
+ core.HostListener("window:resize")
15548
+ ], TieredMenuComponent.prototype, "onResize", null);
15544
15549
  __decorate([
15545
- core.Input()
15546
- ], RatingScaleComponent.prototype, "endLabel", void 0);
15550
+ core.HostListener("document:click", ["$event"])
15551
+ ], TieredMenuComponent.prototype, "onDocumentClick", null);
15547
15552
  __decorate([
15548
- core.Input()
15549
- ], RatingScaleComponent.prototype, "disabled", void 0);
15550
- RatingScaleComponent = RatingScaleComponent_1 = __decorate([
15553
+ core.HostListener("document:keydown", ["$event"])
15554
+ ], TieredMenuComponent.prototype, "onKeydownHandler", null);
15555
+ TieredMenuComponent = TieredMenuComponent_1 = __decorate([
15551
15556
  core.Component({
15552
- selector: "s-rating-scale",
15553
- template: "<div\n class=\"rating-scale\"\n [ngClass]=\"{ 'rating-scale--disabled': disabled }\">\n <div class=\"nodes\">\n <button\n *ngFor=\"let node of nodes; index as i\"\n class=\"node\"\n [ngClass]=\"{ 'node--selected': value?.id === node.id && !disabled }\"\n tabindex=\"0\"\n (click)=\"onSelect(node)\"> \n <span\n *ngIf=\"node.icon\"\n class=\"icon fas\"\n [ngClass]=\"node.icon\">\n </span>\n <span\n *ngIf=\"node.title\"\n class=\"label\">\n {{ node.title }}\n </span>\n </button>\n </div>\n <div class=\"labels\">\n <span>{{ startLabel }}</span>\n <span>{{ endLabel }}</span>\n </div>\n</div>",
15554
- providers: [{
15555
- provide: forms.NG_VALUE_ACCESSOR,
15556
- useExisting: core.forwardRef(function () { return RatingScaleComponent_1; }),
15557
- multi: true,
15558
- }],
15559
- styles: [".rating-scale{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.rating-scale .nodes{display:-ms-flexbox;display:flex}.rating-scale .nodes .node{-ms-flex-align:center;align-items:center;background-color:#fff;border-radius:6px;display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-ms-flex-pack:center;justify-content:center;margin:0 2px;padding:8px;border:1px solid #7892a1}.rating-scale .nodes .node .icon{color:#6e7280;font-size:1rem}.rating-scale .nodes .node .label{color:#212533;font-size:.875rem;font-weight:400;line-height:150%}.rating-scale .nodes .node .icon,.rating-scale .nodes .node .label{margin:6px}.rating-scale .nodes .node--selected{background-color:#d5e8ec;border-color:#428bca;color:#428bca}.rating-scale .nodes .node:first-child{margin-left:0}.rating-scale .nodes .node:last-child{margin-right:0}.rating-scale .labels{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;padding:12px 0}.rating-scale .labels span{color:#080808;font-family:\"Open Sans\" sans-serif;font-size:.875rem;font-weight:400;line-height:150%}.rating-scale--disabled{opacity:.5}.rating-scale:not(.rating-scale--disabled) .node{cursor:pointer}.rating-scale:not(.rating-scale--disabled) .node:hover{background-color:#dedce5}.rating-scale:not(.rating-scale--disabled) .node:focus{border-width:2px;outline:0}"]
15557
+ selector: "s-tiered-menu",
15558
+ 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.visible && !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>",
15559
+ 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}"]
15560
15560
  })
15561
- ], RatingScaleComponent);
15562
- return RatingScaleComponent;
15561
+ ], TieredMenuComponent);
15562
+ return TieredMenuComponent;
15563
15563
  }());
15564
15564
 
15565
- var RatingScaleModule = /** @class */ (function () {
15566
- function RatingScaleModule() {
15565
+ var TieredMenuGlobalService = /** @class */ (function () {
15566
+ function TieredMenuGlobalService() {
15567
15567
  }
15568
- RatingScaleModule = __decorate([
15569
- core.NgModule({
15570
- imports: [
15571
- common.CommonModule,
15572
- forms.ReactiveFormsModule,
15573
- ],
15574
- declarations: [RatingScaleComponent],
15575
- exports: [RatingScaleComponent],
15576
- })
15577
- ], RatingScaleModule);
15578
- return RatingScaleModule;
15568
+ TieredMenuGlobalService = __decorate([
15569
+ core.Injectable()
15570
+ ], TieredMenuGlobalService);
15571
+ return TieredMenuGlobalService;
15579
15572
  }());
15580
15573
 
15581
- var SelectButtonComponent = /** @class */ (function () {
15582
- function SelectButtonComponent() {
15583
- this.multiple = false;
15584
- this.itemSelected = new core.EventEmitter();
15585
- this.itemClicked = new core.EventEmitter();
15586
- this.disabled = false;
15587
- this.activeItems = new Set();
15574
+ var TieredMenuDirective = /** @class */ (function () {
15575
+ function TieredMenuDirective(_elementRef, _appRef, _componentFactoryResolver, _injector, _tieredMenuEventService, _tieredMenuService, _tieredMenuGlobalService, _changeDetectorRef) {
15576
+ this._elementRef = _elementRef;
15577
+ this._appRef = _appRef;
15578
+ this._componentFactoryResolver = _componentFactoryResolver;
15579
+ this._injector = _injector;
15580
+ this._tieredMenuEventService = _tieredMenuEventService;
15581
+ this._tieredMenuService = _tieredMenuService;
15582
+ this._tieredMenuGlobalService = _tieredMenuGlobalService;
15583
+ this._changeDetectorRef = _changeDetectorRef;
15584
+ this.items = [];
15585
+ this.triggerEvent = "click";
15586
+ this._componentRef = null;
15587
+ this._isNested = false;
15588
+ this._isOpen = false;
15589
+ this._unsubscribe$ = new rxjs.Subject();
15588
15590
  }
15589
- SelectButtonComponent_1 = SelectButtonComponent;
15590
- SelectButtonComponent.prototype.writeValue = function (value) {
15591
- var _this = this;
15592
- if (!value)
15593
- return;
15594
- this.activeItems.clear();
15595
- if (Array.isArray(value)) {
15596
- value.forEach(function (item) {
15597
- _this.items.forEach(function (iItem) {
15598
- if (_this._compareItems(item, iItem)) {
15599
- _this.activeItems.add(iItem);
15600
- }
15601
- });
15602
- });
15591
+ TieredMenuDirective.prototype.onClick = function (event) {
15592
+ if (this.triggerEvent === "click" && !this._isOpen) {
15593
+ this._lastActiveElement = document.activeElement;
15594
+ this._createMenu();
15595
+ event.preventDefault();
15596
+ event.stopPropagation();
15597
+ }
15598
+ };
15599
+ TieredMenuDirective.prototype.ngOnInit = function () {
15600
+ this._subscribeEvents();
15601
+ };
15602
+ TieredMenuDirective.prototype.ngDoCheck = function () {
15603
+ if (!this.previousItems) {
15604
+ this.previousItems = this._tieredMenuService.cloneItems(this.items);
15605
+ }
15606
+ var hasChanges = false;
15607
+ if (this.items.length !== this.previousItems.length) {
15608
+ hasChanges = true;
15603
15609
  }
15604
15610
  else {
15605
- this.items.forEach(function (iItem) {
15606
- if (_this._compareItems(value, iItem)) {
15607
- _this.activeItems.add(iItem);
15611
+ for (var i = 0; i < this.items.length; i++) {
15612
+ if (!this._compareItems(this.items[i], this.previousItems[i])) {
15613
+ hasChanges = true;
15614
+ break;
15608
15615
  }
15609
- });
15616
+ }
15617
+ }
15618
+ if (hasChanges) {
15619
+ this._updateServiceItems();
15620
+ this._changeDetectorRef.detectChanges();
15621
+ this._rebuildMenu();
15610
15622
  }
15623
+ this.previousItems = this._tieredMenuService.cloneItems(this.items);
15611
15624
  };
15612
- SelectButtonComponent.prototype.registerOnChange = function (onChange) {
15613
- this.onChange = onChange;
15625
+ TieredMenuDirective.prototype.ngOnDestroy = function () {
15626
+ this._unsubscribe$.next();
15627
+ this._unsubscribe$.complete();
15628
+ this._destroy();
15614
15629
  };
15615
- SelectButtonComponent.prototype.registerOnTouched = function (onTouched) {
15616
- this.onTouched = onTouched;
15630
+ TieredMenuDirective.prototype._createMenu = function () {
15631
+ var _a, _b, _c;
15632
+ this._updateServiceItems();
15633
+ if (!this._componentRef && ((_a = this._tieredMenuService.items) === null || _a === void 0 ? void 0 : _a.length) > 0) {
15634
+ (_b = this._tieredMenuGlobalService.lastInstance) === null || _b === void 0 ? void 0 : _b._destroy();
15635
+ this._tieredMenuGlobalService.lastInstance = this;
15636
+ (_c = this._lastActiveElement) === null || _c === void 0 ? void 0 : _c.blur();
15637
+ this._isOpen = true;
15638
+ this._isNested = document.body.clientWidth < 600;
15639
+ this._isNested ? this._createNestedMenu() : this._createTieredMenu();
15640
+ }
15617
15641
  };
15618
- SelectButtonComponent.prototype.setDisabledState = function (disabled) {
15619
- this.disabled = disabled;
15642
+ TieredMenuDirective.prototype._createTieredMenu = function () {
15643
+ var _this = this;
15644
+ var _a;
15645
+ if (!this._componentRef && ((_a = this._tieredMenuService.items) === null || _a === void 0 ? void 0 : _a.length) > 0) {
15646
+ var componentFactory = this._componentFactoryResolver.resolveComponentFactory(TieredMenuComponent);
15647
+ this._componentRef = componentFactory.create(this._injector);
15648
+ this._appRef.attachView(this._componentRef.hostView);
15649
+ var domElem = this._componentRef.hostView.rootNodes[0];
15650
+ document.body.appendChild(domElem);
15651
+ this._setMenuComponentProperties();
15652
+ this._componentRef.instance.destroyRequest.pipe(operators.takeUntil(this._unsubscribe$)).subscribe(function () {
15653
+ _this._destroy();
15654
+ });
15655
+ this._setMenuPosition();
15656
+ }
15620
15657
  };
15621
- SelectButtonComponent.prototype.onItemSelect = function (item) {
15622
- var _a, _b;
15623
- if (this.disabled || item.disabled)
15624
- return;
15625
- this.itemClicked.emit(item);
15626
- if (!this.multiple) {
15627
- this.activeItems.clear();
15658
+ TieredMenuDirective.prototype._createNestedMenu = function () {
15659
+ var _a;
15660
+ if (!this._componentRef && ((_a = this._tieredMenuService.items) === null || _a === void 0 ? void 0 : _a.length) > 0) {
15661
+ var componentFactory = this._componentFactoryResolver.resolveComponentFactory(TieredMenuNestedComponent);
15662
+ this._componentRef = componentFactory.create(this._injector);
15663
+ this._appRef.attachView(this._componentRef.hostView);
15664
+ var domElem = this._componentRef.hostView.rootNodes[0];
15665
+ document.body.appendChild(domElem);
15666
+ this._setMenuComponentProperties();
15667
+ this._setMenuPosition();
15628
15668
  }
15629
- this.activeItems.add(item);
15630
- this.itemSelected.emit(__spread(this.activeItems));
15631
- (_a = this.onChange) === null || _a === void 0 ? void 0 : _a.call(this, __spread(this.activeItems));
15632
- (_b = this.onTouched) === null || _b === void 0 ? void 0 : _b.call(this, __spread(this.activeItems));
15633
15669
  };
15634
- SelectButtonComponent.prototype._compareItems = function (item1, item2) {
15635
- var _compare = function (a, b) {
15636
- var e_1, _a;
15637
- if (a === b) {
15638
- return true;
15639
- }
15640
- if (a === undefined || b === undefined || typeof a !== "object" || a === null || typeof b !== "object" || b === null) {
15641
- return false;
15642
- }
15643
- if (Array.isArray(a) !== Array.isArray(b)) {
15644
- return false;
15670
+ TieredMenuDirective.prototype._destroy = function () {
15671
+ if (this._componentRef) {
15672
+ this._isOpen = false;
15673
+ window.clearTimeout(this._showTimeout);
15674
+ this._appRef.detachView(this._componentRef.hostView);
15675
+ this._componentRef.destroy();
15676
+ this._componentRef = null;
15677
+ this._tieredMenuService.currentItems = this._tieredMenuService.items;
15678
+ this._tieredMenuService.currentItem = this._tieredMenuService.items[0];
15679
+ this._tieredMenuEventService.closeAllMenusEvent.emit();
15680
+ }
15681
+ };
15682
+ TieredMenuDirective.prototype._setMenuPosition = function () {
15683
+ var _a, _b;
15684
+ var ITEM_HEIGHT = 37;
15685
+ var ITEM_WIDTH = 176;
15686
+ var DIVIDER_HEIGHT = 5;
15687
+ var PADDING = 8;
15688
+ var MARGIN = 4;
15689
+ if (this._componentRef !== null) {
15690
+ this._componentRef.instance.top = 8;
15691
+ var _c = this._elementRef.nativeElement.getBoundingClientRect(), bottom = _c.bottom, left = _c.left, right = _c.right;
15692
+ var itemsCount = (_a = this._componentRef.instance.items) === null || _a === void 0 ? void 0 : _a.reduce(function (count, item) {
15693
+ return !item.divider ? count + 1 : count;
15694
+ }, 0);
15695
+ var dividersCount = (_b = this._componentRef.instance.items) === null || _b === void 0 ? void 0 : _b.reduce(function (count, item) {
15696
+ return item.divider ? count + 1 : count;
15697
+ }, 0);
15698
+ var menuHeight = itemsCount * ITEM_HEIGHT + dividersCount * DIVIDER_HEIGHT + PADDING + MARGIN;
15699
+ var rightFreeSpace = window.innerWidth - right;
15700
+ var bottomFreeSpace = window.innerHeight - bottom;
15701
+ this._componentRef.instance.top = bottom;
15702
+ this._componentRef.instance.left = left;
15703
+ if (bottomFreeSpace <= menuHeight) {
15704
+ this._componentRef.instance.top = Math.max(scrollY + bottom - menuHeight, 0);
15645
15705
  }
15646
- var keysA = Object.keys(a);
15647
- var keysB = Object.keys(b);
15648
- if (keysA.length !== keysB.length) {
15649
- return false;
15706
+ else {
15707
+ this._componentRef.instance.top = window.scrollY + bottom + MARGIN;
15650
15708
  }
15651
- try {
15652
- for (var keysA_1 = __values(keysA), keysA_1_1 = keysA_1.next(); !keysA_1_1.done; keysA_1_1 = keysA_1.next()) {
15653
- var key = keysA_1_1.value;
15654
- if (!keysB.includes(key) || !_compare(a[key], b[key])) {
15655
- return false;
15656
- }
15657
- }
15709
+ if (rightFreeSpace > 176) {
15710
+ this._componentRef.instance.left = window.scrollX + left;
15658
15711
  }
15659
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
15660
- finally {
15661
- try {
15662
- if (keysA_1_1 && !keysA_1_1.done && (_a = keysA_1.return)) _a.call(keysA_1);
15663
- }
15664
- finally { if (e_1) throw e_1.error; }
15712
+ else {
15713
+ this._componentRef.instance.left = window.scrollX + right - ITEM_WIDTH;
15665
15714
  }
15666
- for (var key in a) {
15667
- if (a.hasOwnProperty(key) !== b.hasOwnProperty(key)) {
15668
- return false;
15669
- }
15715
+ if (this._isNested) {
15716
+ this._componentRef.instance.left = MARGIN;
15670
15717
  }
15671
- return true;
15672
- };
15673
- return _compare(item1, item2);
15718
+ }
15674
15719
  };
15675
- var SelectButtonComponent_1;
15720
+ TieredMenuDirective.prototype._setMenuComponentProperties = function () {
15721
+ if (this._componentRef != null) {
15722
+ this._componentRef.instance.items = this._tieredMenuService.items;
15723
+ }
15724
+ };
15725
+ TieredMenuDirective.prototype._subscribeEvents = function () {
15726
+ var _this = this;
15727
+ this._tieredMenuEventService.closeAllMenusEvent.pipe(operators.takeUntil(this._unsubscribe$)).subscribe(function () {
15728
+ _this._tieredMenuService.items = _this._tieredMenuService.markAllItemsAsClosed(_this._tieredMenuService.items);
15729
+ _this._destroy();
15730
+ });
15731
+ };
15732
+ TieredMenuDirective.prototype._compareItems = function (item1, item2) {
15733
+ return JSON.stringify(item1) === JSON.stringify(item2);
15734
+ };
15735
+ TieredMenuDirective.prototype._rebuildMenu = function () {
15736
+ this._destroy();
15737
+ };
15738
+ TieredMenuDirective.prototype._updateServiceItems = function () {
15739
+ this._tieredMenuService.items = this._tieredMenuService.normalizeData(this.items);
15740
+ this._tieredMenuService.currentItems = this._tieredMenuService.items;
15741
+ this._tieredMenuService.currentItem = this._tieredMenuService.items[0];
15742
+ };
15743
+ TieredMenuDirective.ctorParameters = function () { return [
15744
+ { type: core.ElementRef },
15745
+ { type: core.ApplicationRef },
15746
+ { type: core.ComponentFactoryResolver },
15747
+ { type: core.Injector },
15748
+ { type: TieredMenuEventService },
15749
+ { type: TieredMenuService },
15750
+ { type: TieredMenuGlobalService },
15751
+ { type: core.ChangeDetectorRef }
15752
+ ]; };
15676
15753
  __decorate([
15677
15754
  core.Input()
15678
- ], SelectButtonComponent.prototype, "items", void 0);
15755
+ ], TieredMenuDirective.prototype, "items", void 0);
15679
15756
  __decorate([
15680
15757
  core.Input()
15681
- ], SelectButtonComponent.prototype, "multiple", void 0);
15682
- __decorate([
15683
- core.Output()
15684
- ], SelectButtonComponent.prototype, "itemSelected", void 0);
15758
+ ], TieredMenuDirective.prototype, "triggerEvent", void 0);
15685
15759
  __decorate([
15686
- core.Output()
15687
- ], SelectButtonComponent.prototype, "itemClicked", void 0);
15688
- SelectButtonComponent = SelectButtonComponent_1 = __decorate([
15689
- core.Component({
15690
- selector: "s-select-button",
15691
- template: "<div\n class=\"select-button\"\n [ngClass]=\"{ 'select-button--disabled': disabled }\">\n <s-select-button-item\n *ngFor=\"let item of items; index as i\"\n [label]=\"item.label\"\n [active]=\"activeItems?.has(item)\"\n [disabled]=\"disabled || item.disabled\"\n [first]=\"i === 0\"\n [last]=\"i === items.length - 1\"\n (click)=\"onItemSelect(item)\">\n </s-select-button-item>\n</div>",
15692
- providers: [
15693
- {
15694
- provide: forms.NG_VALUE_ACCESSOR,
15695
- useExisting: core.forwardRef(function () { return SelectButtonComponent_1; }),
15696
- multi: true,
15697
- },
15760
+ core.HostListener("click", ["$event"])
15761
+ ], TieredMenuDirective.prototype, "onClick", null);
15762
+ TieredMenuDirective = __decorate([
15763
+ core.Directive({
15764
+ selector: "[sTieredMenu]",
15765
+ providers: [TieredMenuEventService, TieredMenuService],
15766
+ })
15767
+ ], TieredMenuDirective);
15768
+ return TieredMenuDirective;
15769
+ }());
15770
+
15771
+ var TieredMenuModule = /** @class */ (function () {
15772
+ function TieredMenuModule() {
15773
+ }
15774
+ TieredMenuModule = __decorate([
15775
+ core.NgModule({
15776
+ imports: [
15777
+ common.CommonModule,
15698
15778
  ],
15699
- styles: [".select-button{overflow:hidden}"]
15779
+ declarations: [
15780
+ TieredMenuDirective,
15781
+ TieredMenuComponent,
15782
+ TieredMenuNestedComponent,
15783
+ TieredMenuItemComponent,
15784
+ TieredMenuDividerComponent,
15785
+ ],
15786
+ exports: [TieredMenuDirective],
15787
+ providers: [TieredMenuGlobalService],
15700
15788
  })
15701
- ], SelectButtonComponent);
15702
- return SelectButtonComponent;
15789
+ ], TieredMenuModule);
15790
+ return TieredMenuModule;
15703
15791
  }());
15704
15792
 
15705
- var SelectButtonItemComponent = /** @class */ (function () {
15706
- function SelectButtonItemComponent() {
15707
- this.active = false;
15708
- this.first = false;
15709
- this.last = false;
15710
- this.disabled = false;
15793
+ var NavigationButtonModule = /** @class */ (function () {
15794
+ function NavigationButtonModule() {
15795
+ }
15796
+ NavigationButtonModule = __decorate([
15797
+ core.NgModule({
15798
+ imports: [common.CommonModule, TieredMenuModule, TooltipModule],
15799
+ declarations: [NavigationButtonComponent],
15800
+ exports: [NavigationButtonComponent],
15801
+ })
15802
+ ], NavigationButtonModule);
15803
+ return NavigationButtonModule;
15804
+ }());
15805
+
15806
+ var ObjectCardFieldComponent = /** @class */ (function () {
15807
+ function ObjectCardFieldComponent() {
15808
+ this.id = "s-object-card-field-" + ObjectCardFieldComponent_1.nextId++;
15809
+ this.buttonClick = new core.EventEmitter();
15711
15810
  }
15811
+ ObjectCardFieldComponent_1 = ObjectCardFieldComponent;
15812
+ var ObjectCardFieldComponent_1;
15813
+ ObjectCardFieldComponent.nextId = 0;
15712
15814
  __decorate([
15713
15815
  core.Input()
15714
- ], SelectButtonItemComponent.prototype, "label", void 0);
15816
+ ], ObjectCardFieldComponent.prototype, "id", void 0);
15715
15817
  __decorate([
15716
15818
  core.Input()
15717
- ], SelectButtonItemComponent.prototype, "active", void 0);
15819
+ ], ObjectCardFieldComponent.prototype, "imageSource", void 0);
15718
15820
  __decorate([
15719
15821
  core.Input()
15720
- ], SelectButtonItemComponent.prototype, "first", void 0);
15822
+ ], ObjectCardFieldComponent.prototype, "imageAlt", void 0);
15721
15823
  __decorate([
15722
15824
  core.Input()
15723
- ], SelectButtonItemComponent.prototype, "last", void 0);
15825
+ ], ObjectCardFieldComponent.prototype, "iconClass", void 0);
15724
15826
  __decorate([
15725
15827
  core.Input()
15726
- ], SelectButtonItemComponent.prototype, "disabled", void 0);
15727
- SelectButtonItemComponent = __decorate([
15828
+ ], ObjectCardFieldComponent.prototype, "label", void 0);
15829
+ __decorate([
15830
+ core.Input()
15831
+ ], ObjectCardFieldComponent.prototype, "description", void 0);
15832
+ __decorate([
15833
+ core.Input()
15834
+ ], ObjectCardFieldComponent.prototype, "buttonLabel", void 0);
15835
+ __decorate([
15836
+ core.Input()
15837
+ ], ObjectCardFieldComponent.prototype, "buttonModel", void 0);
15838
+ __decorate([
15839
+ core.Output()
15840
+ ], ObjectCardFieldComponent.prototype, "buttonClick", void 0);
15841
+ __decorate([
15842
+ core.ContentChild(ThumbnailComponent, { static: true })
15843
+ ], ObjectCardFieldComponent.prototype, "thumbnailComponent", void 0);
15844
+ __decorate([
15845
+ core.ViewChild(core.TemplateRef, { static: true })
15846
+ ], ObjectCardFieldComponent.prototype, "content", void 0);
15847
+ ObjectCardFieldComponent = ObjectCardFieldComponent_1 = __decorate([
15728
15848
  core.Component({
15729
- selector: "s-select-button-item",
15730
- template: "<button\n class=\"select-button-item\"\n [ngClass]=\"{\n 'select-button-item--active': active,\n 'select-button-item--disabled': disabled,\n 'select-button-item--first': first,\n 'select-button-item--last': last\n }\">\n <span class=\"select-button-item__label\">{{ label }}</span>\n</button>",
15731
- styles: [".select-button-item{padding:8px 12px;cursor:pointer;background-color:#fff;border:none;border-left:1px solid #c1c1cc;border-top:1px solid #c1c1cc;border-bottom:1px solid #c1c1cc}.select-button-item__label{font-family:\"Open Sans\" sans-serif;font-size:14px}.select-button-item:not(.select-button-item--disabled):not(.select-button-item--active):hover{background-color:#eeebf2}.select-button-item--active,.select-button-item--active:hover{background-color:#c1c1cc;font-weight:700}.select-button-item--disabled{opacity:.5;cursor:default}.select-button-item--first{border-top-left-radius:2px;border-bottom-left-radius:2px}.select-button-item--last{border-right:1px solid #c1c1cc;border-top-right-radius:2px;border-bottom-right-radius:2px}"]
15732
- })
15733
- ], SelectButtonItemComponent);
15734
- return SelectButtonItemComponent;
15735
- }());
15736
-
15737
- var SelectButtonModule = /** @class */ (function () {
15738
- function SelectButtonModule() {
15739
- }
15740
- SelectButtonModule = __decorate([
15741
- core.NgModule({
15742
- imports: [common.CommonModule],
15743
- declarations: [
15744
- SelectButtonComponent,
15745
- SelectButtonItemComponent,
15746
- ],
15747
- exports: [SelectButtonComponent],
15849
+ selector: "s-object-card-field",
15850
+ template: "<ng-template>\n <div class=\"container\">\n <ng-content select=\"s-thumbnail\"></ng-content>\n <s-thumbnail\n [id]=\"id + '-thumbnail'\"\n *ngIf=\"!thumbnailComponent && (imageSource || iconClass)\"\n [imageSource]=\"imageSource\"\n [imageAlt]=\"imageAlt || label\"\n [iconClass]=\"iconClass\"\n size=\"small\"\n ></s-thumbnail>\n\n <div class=\"info-container\">\n <div #labelTemplate><ng-content select=\"[labelTemplate]\"></ng-content></div>\n <span\n [id]=\"id + '-label'\"\n *ngIf=\"!labelTemplate.children.length\"\n class=\"label\"\n [pTooltip]=\"label\"\n tooltipPosition=\"top\"\n showDelay=\"500\"\n >{{ label }}</span\n >\n\n <div #descriptionTemplate><ng-content select=\"[descriptionTemplate]\"></ng-content></div>\n <span\n [id]=\"id + '-description'\"\n *ngIf=\"!descriptionTemplate.children.length\"\n class=\"description\"\n [pTooltip]=\"description\"\n tooltipPosition=\"top\"\n showDelay=\"500\"\n >{{ description }}</span\n >\n\n <s-button\n [id]=\"id + '-button'\"\n *ngIf=\"buttonLabel\"\n styleClass=\"object-card-button\"\n priority=\"link\"\n [label]=\"buttonLabel\"\n [model]=\"buttonModel\"\n size=\"small\"\n (onClick)=\"buttonClick.emit($event)\"\n ></s-button>\n </div>\n </div>\n</ng-template>\n",
15851
+ styles: [".container{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;height:100%}.info-container{margin-left:10px}.info-container,.info-container span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.info-container .label{color:#999;display:block}.info-container .description{display:block}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.info-container{-ms-flex:1;flex:1}}@media (max-width:767px){.info-container,.info-container span{white-space:normal}}.info-container:only-child{margin-left:0}"]
15748
15852
  })
15749
- ], SelectButtonModule);
15750
- return SelectButtonModule;
15853
+ ], ObjectCardFieldComponent);
15854
+ return ObjectCardFieldComponent;
15751
15855
  }());
15752
15856
 
15753
- var SidebarComponent = /** @class */ (function () {
15754
- function SidebarComponent(focusTrapFactory) {
15755
- this.focusTrapFactory = focusTrapFactory;
15756
- this.id = "s-sidebar-" + SidebarComponent_1.nextId++;
15757
- this.visible = false;
15758
- this.baseZIndex = 0;
15759
- this.largeSized = false;
15760
- this.visibleChange = new core.EventEmitter();
15857
+ var ObjectCardMainComponent = /** @class */ (function () {
15858
+ function ObjectCardMainComponent() {
15859
+ this.id = "s-object-card-main-" + ObjectCardMainComponent_1.nextId++;
15860
+ this.iconClass = "fa fa-picture-o";
15861
+ this.hasThumbnail = true;
15862
+ this.hasDescription = true;
15863
+ this.isBrand = false;
15864
+ this.buttonClick = new core.EventEmitter();
15865
+ this._thumbnailSize = exports.ThumbnailSize.Medium;
15761
15866
  }
15762
- SidebarComponent_1 = SidebarComponent;
15763
- SidebarComponent.prototype.onShow = function () {
15764
- dom.DomHandler.addClass(document.body, "ui-overflow-hidden-sidebar");
15765
- var focusTrap = this.focusTrapFactory.create(this.innerSidebar.containerViewChild.nativeElement, false);
15766
- focusTrap.focusInitialElementWhenReady();
15867
+ ObjectCardMainComponent_1 = ObjectCardMainComponent;
15868
+ Object.defineProperty(ObjectCardMainComponent.prototype, "thumbnailSize", {
15869
+ get: function () {
15870
+ return this._thumbnailSize;
15871
+ },
15872
+ set: function (value) {
15873
+ this._thumbnailSize = value;
15874
+ if (this.thumbnailComponent)
15875
+ this.thumbnailComponent.size = value;
15876
+ },
15877
+ enumerable: true,
15878
+ configurable: true
15879
+ });
15880
+ ObjectCardMainComponent.prototype.onResize = function () {
15881
+ this.update();
15767
15882
  };
15768
- SidebarComponent.prototype.onHide = function () {
15769
- dom.DomHandler.removeClass(document.body, "ui-overflow-hidden-sidebar");
15883
+ ObjectCardMainComponent.prototype.ngAfterContentInit = function () {
15884
+ this.update();
15770
15885
  };
15771
- SidebarComponent.prototype.close = function (event) {
15772
- dom.DomHandler.removeClass(document.body, "ui-overflow-hidden-sidebar");
15773
- this.visibleChange.emit(false);
15774
- event.preventDefault();
15886
+ ObjectCardMainComponent.prototype.update = function () {
15887
+ var windowWidth = window.innerWidth;
15888
+ if (windowWidth <= Breakpoints.SM_MAX)
15889
+ this.thumbnailSize = exports.ThumbnailSize.Small;
15890
+ else
15891
+ this.thumbnailSize = exports.ThumbnailSize.Medium;
15775
15892
  };
15776
- var SidebarComponent_1;
15777
- SidebarComponent.nextId = 0;
15778
- SidebarComponent.ctorParameters = function () { return [
15779
- { type: a11y.FocusTrapFactory }
15780
- ]; };
15893
+ var ObjectCardMainComponent_1;
15894
+ ObjectCardMainComponent.nextId = 0;
15781
15895
  __decorate([
15782
15896
  core.Input()
15783
- ], SidebarComponent.prototype, "id", void 0);
15897
+ ], ObjectCardMainComponent.prototype, "id", void 0);
15784
15898
  __decorate([
15785
15899
  core.Input()
15786
- ], SidebarComponent.prototype, "visible", void 0);
15900
+ ], ObjectCardMainComponent.prototype, "imageSource", void 0);
15787
15901
  __decorate([
15788
15902
  core.Input()
15789
- ], SidebarComponent.prototype, "header", void 0);
15903
+ ], ObjectCardMainComponent.prototype, "imageFallback", void 0);
15790
15904
  __decorate([
15791
15905
  core.Input()
15792
- ], SidebarComponent.prototype, "baseZIndex", void 0);
15906
+ ], ObjectCardMainComponent.prototype, "imageAlt", void 0);
15907
+ __decorate([
15908
+ core.Input()
15909
+ ], ObjectCardMainComponent.prototype, "iconClass", void 0);
15910
+ __decorate([
15911
+ core.Input()
15912
+ ], ObjectCardMainComponent.prototype, "hasThumbnail", void 0);
15913
+ __decorate([
15914
+ core.Input()
15915
+ ], ObjectCardMainComponent.prototype, "hasDescription", void 0);
15916
+ __decorate([
15917
+ core.Input()
15918
+ ], ObjectCardMainComponent.prototype, "isBrand", void 0);
15919
+ __decorate([
15920
+ core.Input()
15921
+ ], ObjectCardMainComponent.prototype, "label", void 0);
15922
+ __decorate([
15923
+ core.Input()
15924
+ ], ObjectCardMainComponent.prototype, "description", void 0);
15925
+ __decorate([
15926
+ core.Input()
15927
+ ], ObjectCardMainComponent.prototype, "buttonLabel", void 0);
15793
15928
  __decorate([
15794
15929
  core.Input()
15795
- ], SidebarComponent.prototype, "largeSized", void 0);
15930
+ ], ObjectCardMainComponent.prototype, "buttonModel", void 0);
15796
15931
  __decorate([
15797
15932
  core.Output()
15798
- ], SidebarComponent.prototype, "visibleChange", void 0);
15799
- __decorate([
15800
- core.ViewChild(sidebar.Sidebar, { static: true })
15801
- ], SidebarComponent.prototype, "innerSidebar", void 0);
15933
+ ], ObjectCardMainComponent.prototype, "buttonClick", void 0);
15802
15934
  __decorate([
15803
- core.ContentChild(HeaderComponent, { static: true })
15804
- ], SidebarComponent.prototype, "headerSection", void 0);
15935
+ core.ContentChild(ThumbnailComponent, { static: true })
15936
+ ], ObjectCardMainComponent.prototype, "thumbnailComponent", void 0);
15805
15937
  __decorate([
15806
- core.ContentChild(FooterComponent, { static: true })
15807
- ], SidebarComponent.prototype, "footerSection", void 0);
15808
- SidebarComponent = SidebarComponent_1 = __decorate([
15938
+ core.HostListener("window:resize")
15939
+ ], ObjectCardMainComponent.prototype, "onResize", null);
15940
+ ObjectCardMainComponent = ObjectCardMainComponent_1 = __decorate([
15809
15941
  core.Component({
15810
- selector: "s-sidebar",
15811
- template: "<p-sidebar\n [id]=\"id\"\n [visible]=\"visible\"\n (visibleChange)=\"visibleChange.emit($event)\"\n [blockScroll]=\"true\"\n [baseZIndex]=\"baseZIndex\"\n [modal]=\"true\"\n [dismissible]=\"false\"\n [showCloseIcon]=\"false\"\n position=\"right\"\n appendTo=\"body\"\n [styleClass]=\"largeSized ? 's-sidebar-panel s-sidebar-panel-lg' : 's-sidebar-panel'\"\n (onShow)=\"onShow()\"\n (onHide)=\"onHide()\">\n <div\n [id]=\"id + '-container'\"\n class=\"s-sidebar-container\">\n <a\n href=\"#\"\n role=\"button\"\n class=\"s-sidebar-close\"\n (click)=\"close($event)\">\n <span\n class=\"fa fa-times\"\n aria-hidden=\"true\">\n </span></a>\n <div\n *ngIf=\"header && !headerSection\" \n [id]=\"id + '-header'\"\n class=\"s-sidebar-header\">\n <h2 class=\"sds-panel-title s-sidebar-header__title\">{{header}}</h2>\n </div>\n <div\n *ngIf=\"headerSection\" \n [id]=\"id + '-header'\"\n class=\"s-sidebar-header\">\n <ng-content select=\"s-header\"></ng-content>\n </div>\n <p-scrollPanel\n [id]=\"id + '-content-container'\"\n class=\"s-sidebar-content-container\"\n styleClass=\"s-sidebar-content\">\n <ng-content></ng-content>\n </p-scrollPanel>\n <div\n *ngIf=\"footerSection\"\n [id]=\"id + '-footer'\"\n class=\"s-sidebar-footer\">\n <ng-content select=\"s-footer\"></ng-content>\n </div>\n </div>\n</p-sidebar>\n",
15812
- encapsulation: core.ViewEncapsulation.None,
15813
- styles: [".ui-overflow-hidden-sidebar{overflow:hidden}body .ui-sidebar.s-sidebar-panel{width:50%;padding:0}@media (max-width:767px){body .ui-sidebar.s-sidebar-panel{width:100%}}@media (min-width:768px){body .ui-sidebar.s-sidebar-panel{width:75%}}@media (min-width:992px){body .ui-sidebar.s-sidebar-panel{width:50%}body .ui-sidebar.s-sidebar-panel.s-sidebar-panel-lg{width:75%}}body .ui-sidebar.s-sidebar-panel .s-sidebar-container{height:100%;width:100%;padding:20px;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-direction:column;flex-direction:column}body .ui-sidebar.s-sidebar-panel .s-sidebar-close{position:absolute;right:20px;top:20px;color:#333}body .ui-sidebar.s-sidebar-panel .s-sidebar-header{border-bottom:1px solid #ccc;padding-bottom:15px;padding-right:20px;margin-bottom:15px;-ms-flex-negative:0;flex-shrink:0}body .ui-sidebar.s-sidebar-panel .s-sidebar-content-container{-ms-flex:1;flex:1;overflow:hidden}body .ui-sidebar.s-sidebar-panel .s-sidebar-content{height:100%}body .ui-sidebar.s-sidebar-panel .s-sidebar-footer{border-top:1px solid #ccc;padding-top:15px;margin-top:15px;-ms-flex-negative:0;flex-shrink:0}body .ui-sidebar.s-sidebar-panel p-scrollpanel{padding-top:30px}body .ui-sidebar.s-sidebar-panel .s-sidebar-header+p-scrollpanel{padding-top:0}p-scrollPanel{display:block}.s-sidebar-header__title{font-weight:400}"]
15942
+ selector: "s-object-card-main",
15943
+ template: "<ng-container *ngIf=\"hasThumbnail\">\n <ng-content select=\"s-thumbnail\"></ng-content>\n <s-thumbnail\n [id]=\"id + '-thumbnail'\"\n [imageSource]=\"imageSource\"\n [imageFallback]=\"imageFallback\"\n [imageAlt]=\"imageAlt || label\"\n [iconClass]=\"iconClass\"\n [size]=\"thumbnailSize\"\n *ngIf=\"!thumbnailComponent\"\n [isBrand]=\"isBrand\"\n ></s-thumbnail>\n</ng-container>\n\n<ng-container *ngIf=\"hasDescription\">\n <div class=\"info-container\">\n <div #labelTemplate><ng-content select=\"[labelTemplate]\"></ng-content></div>\n <span\n [id]=\"id + '-label'\"\n *ngIf=\"!labelTemplate.children.length\"\n class=\"label\"\n [pTooltip]=\"label\"\n tooltipPosition=\"top\"\n showDelay=\"500\"\n >{{ label }}</span\n >\n\n <div #descriptionTemplate><ng-content select=\"[descriptionTemplate]\"></ng-content></div>\n <span\n [id]=\"id + '-description'\"\n *ngIf=\"!descriptionTemplate.children.length\"\n class=\"description\"\n [pTooltip]=\"description\"\n tooltipPosition=\"top\"\n showDelay=\"500\"\n >{{ description }}</span\n >\n <s-button\n [id]=\"id + '-button'\"\n *ngIf=\"buttonLabel\"\n styleClass=\"object-card-button\"\n priority=\"link\"\n [label]=\"buttonLabel\"\n [model]=\"buttonModel\"\n size=\"small\"\n (onClick)=\"buttonClick.emit($event)\"\n ></s-button>\n </div>\n</ng-container>\n",
15944
+ styles: [":host{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;min-height:70px}.info-container{margin-left:10px;-ms-flex:1;flex:1}.info-container,.info-container span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.info-container .label{display:block;font-weight:700}.info-container .description{color:#999;display:block}@media (max-width:767px){.info-container,.info-container span{white-space:normal}}"]
15814
15945
  })
15815
- ], SidebarComponent);
15816
- return SidebarComponent;
15946
+ ], ObjectCardMainComponent);
15947
+ return ObjectCardMainComponent;
15817
15948
  }());
15818
15949
 
15819
- var SidebarModule = /** @class */ (function () {
15820
- function SidebarModule() {
15821
- }
15822
- SidebarModule = __decorate([
15823
- core.NgModule({
15824
- imports: [common.CommonModule, a11y.A11yModule, sidebar.SidebarModule, scrollpanel.ScrollPanelModule, StructureModule],
15825
- declarations: [SidebarComponent],
15826
- exports: [StructureModule, SidebarComponent],
15827
- })
15828
- ], SidebarModule);
15829
- return SidebarModule;
15830
- }());
15831
15950
 
15832
- var SlidePanelService = /** @class */ (function () {
15833
- function SlidePanelService() {
15834
- this.modalCloseMap = new Map();
15835
- }
15836
- SlidePanelService.prototype.createSlidePanel = function (id) {
15837
- var panelSubject = new rxjs.Subject();
15838
- this.modalCloseMap.set(id, panelSubject);
15839
- return panelSubject.asObservable();
15840
- };
15841
- SlidePanelService.prototype.getModalCloseObservable = function (id) {
15842
- return this.modalCloseMap.get(id).asObservable();
15843
- };
15844
- SlidePanelService.prototype.closeModal = function (id) {
15845
- var subject = this.modalCloseMap.get(id);
15846
- if (subject) {
15847
- subject.next();
15848
- }
15849
- };
15850
- SlidePanelService = __decorate([
15851
- core.Injectable()
15852
- ], SlidePanelService);
15853
- return SlidePanelService;
15854
- }());
15951
+ (function (EnumSeverity) {
15952
+ EnumSeverity["Default"] = "Default";
15953
+ EnumSeverity["Info"] = "Info";
15954
+ EnumSeverity["Warn"] = "Warn";
15955
+ EnumSeverity["Error"] = "Error";
15956
+ EnumSeverity["Success"] = "Success";
15957
+ })(exports.EnumSeverity || (exports.EnumSeverity = {}));
15855
15958
 
15856
- var SMALL_DEVICE_BREAKPOINT = 420;
15857
- var SlidePanelComponent = /** @class */ (function () {
15858
- function SlidePanelComponent(slidePanelService) {
15859
- this.slidePanelService = slidePanelService;
15860
- this.id = "slide-panel-" + ++SlidePanelComponent_1.nextId;
15861
- this.openIcon = "fas fa-chevron-right";
15862
- this.closeIcon = "fas fa-chevron-left";
15863
- this.cache = false;
15864
- this.createOpen = false;
15865
- this.panelOpened = new core.EventEmitter();
15866
- this.panelClosed = new core.EventEmitter();
15867
- this.isOpen = false;
15868
- this.isSlideOver = false;
15869
- this.isAnimating = false;
15870
- this.isContentAnimationDisabled = true;
15871
- this.slideHeight = 0;
15872
- this.sideContentWidth = 0;
15873
- this._unsubscribe$ = new rxjs.Subject();
15959
+ var elementResizeDetectorMaker = elementResizeDetectorMaker_; // @HACK Necessary because of https://github.com/rollup/rollup/issues/670
15960
+ var ObjectCardComponent = /** @class */ (function () {
15961
+ function ObjectCardComponent(cdr, elementRef) {
15962
+ this.cdr = cdr;
15963
+ this.elementRef = elementRef;
15964
+ this.id = "s-object-card-" + ObjectCardComponent_1.nextId++;
15965
+ this.expanded = false;
15966
+ this.expandTooltip = "Abrir painel";
15967
+ this.collapseTooltip = "Fechar painel";
15968
+ this.fieldsMinWidth = 200;
15969
+ this.expandedChange = new core.EventEmitter();
15970
+ this.maxVisibleFields = 0;
15971
+ this.severity = exports.EnumSeverity.Default;
15972
+ this.EnumSeverity = exports.EnumSeverity;
15874
15973
  }
15875
- SlidePanelComponent_1 = SlidePanelComponent;
15876
- SlidePanelComponent.prototype.onResize = function () {
15877
- this._checkOverBehavior();
15878
- };
15879
- SlidePanelComponent.prototype.ngOnInit = function () {
15880
- var _this = this;
15881
- this._checkOverBehavior();
15882
- this.slidePanelService.createSlidePanel(this.id)
15883
- .pipe(operators.takeUntil(this._unsubscribe$))
15884
- .subscribe(function () {
15885
- _this.isOpen = false;
15886
- });
15887
- };
15888
- SlidePanelComponent.prototype.ngAfterViewInit = function () {
15974
+ ObjectCardComponent_1 = ObjectCardComponent;
15975
+ ObjectCardComponent.prototype.ngAfterViewInit = function () {
15889
15976
  var _this = this;
15890
- queueMicrotask(function () {
15891
- if (_this.createOpen) {
15892
- _this.isOpen = true;
15893
- }
15977
+ this.update();
15978
+ this.cdr.detectChanges();
15979
+ this.fields.changes.subscribe(function () {
15980
+ _this.update();
15894
15981
  });
15895
- };
15896
- SlidePanelComponent.prototype.ngAfterViewChecked = function () {
15897
- var _this = this;
15898
- // to executed at a safe time prior to control returning to the browser's event loop
15899
- queueMicrotask(function () {
15900
- _this._calculateSlideHeight();
15901
- _this._calculateSideContentWidth();
15902
- _this.isContentAnimationDisabled = false;
15982
+ var erd = elementResizeDetectorMaker({
15983
+ strategy: "scroll",
15903
15984
  });
15985
+ erd.listenTo(this.elementRef.nativeElement, function () { return _this.update(); });
15904
15986
  };
15905
- SlidePanelComponent.prototype.ngOnDestroy = function () {
15906
- this._unsubscribe$.next();
15907
- this._unsubscribe$.complete();
15908
- };
15909
- SlidePanelComponent.prototype.onClickButton = function () {
15910
- if (this.isAnimating) {
15911
- return;
15987
+ ObjectCardComponent.prototype.update = function () {
15988
+ var e_1, _a;
15989
+ var windowWidth = window.innerWidth;
15990
+ var containerWidth = this.elementRef.nativeElement.offsetWidth;
15991
+ var mainFieldWidth = containerWidth * 0.3 > 260 ? containerWidth * 0.3 : 260;
15992
+ var fieldsMinWidth = this.fieldsMinWidth;
15993
+ var expandIconWidth = 50;
15994
+ var fieldElementList = this.elementRef.nativeElement.getElementsByClassName("s-object-card-field");
15995
+ try {
15996
+ for (var fieldElementList_1 = __values(fieldElementList), fieldElementList_1_1 = fieldElementList_1.next(); !fieldElementList_1_1.done; fieldElementList_1_1 = fieldElementList_1.next()) {
15997
+ var element = fieldElementList_1_1.value;
15998
+ element.style.minWidth = this.fieldsMinWidth + "px";
15999
+ }
15912
16000
  }
15913
- this.isOpen = !this.isOpen;
15914
- if (this.isOpen) {
15915
- this.panelOpened.emit();
16001
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
16002
+ finally {
16003
+ try {
16004
+ if (fieldElementList_1_1 && !fieldElementList_1_1.done && (_a = fieldElementList_1.return)) _a.call(fieldElementList_1);
16005
+ }
16006
+ finally { if (e_1) throw e_1.error; }
15916
16007
  }
15917
- else {
15918
- this.panelClosed.emit();
16008
+ var maxFieldQtd;
16009
+ if (windowWidth <= Breakpoints.SM_MAX)
16010
+ maxFieldQtd = 0;
16011
+ else
16012
+ maxFieldQtd = Math.floor((containerWidth - mainFieldWidth) / fieldsMinWidth);
16013
+ if (maxFieldQtd && maxFieldQtd < this.fields.length) {
16014
+ maxFieldQtd = Math.floor((containerWidth - mainFieldWidth - expandIconWidth) / fieldsMinWidth);
15919
16015
  }
16016
+ this.maxVisibleFields = maxFieldQtd;
16017
+ if (maxFieldQtd >= this.fields.length && this.expanded)
16018
+ this.collapse();
15920
16019
  };
15921
- SlidePanelComponent.prototype.onContentAnimationStart = function () {
15922
- this.isAnimating = true;
15923
- };
15924
- SlidePanelComponent.prototype.onContentAnimationDone = function () {
15925
- this.isAnimating = false;
15926
- this._calculateSideContentWidth();
16020
+ ObjectCardComponent.prototype.toggle = function () {
16021
+ this.expanded ? this.collapse() : this.expand();
15927
16022
  };
15928
- SlidePanelComponent.prototype._checkOverBehavior = function () {
15929
- this.isSlideOver = window.innerWidth <= SMALL_DEVICE_BREAKPOINT;
16023
+ ObjectCardComponent.prototype.expand = function () {
16024
+ this.expanded = true;
16025
+ this.expandedChange.emit(this.expanded);
15930
16026
  };
15931
- SlidePanelComponent.prototype._calculateSlideHeight = function () {
15932
- this.slideHeight = this._sideContentRef.nativeElement.clientHeight;
16027
+ ObjectCardComponent.prototype.collapse = function () {
16028
+ this.expanded = false;
16029
+ this.expandedChange.emit(this.expanded);
15933
16030
  };
15934
- SlidePanelComponent.prototype._calculateSideContentWidth = function () {
15935
- var slidePanelWidth = this._slidePanelRef.nativeElement.getBoundingClientRect().width;
15936
- var slideContentWidth = this._slideContentRef.nativeElement.getBoundingClientRect().width;
15937
- this.sideContentWidth = slidePanelWidth - slideContentWidth;
16031
+ ObjectCardComponent.prototype.getExpandedFieldWidth = function () {
16032
+ var containerWidth = this.elementRef.nativeElement.offsetWidth;
16033
+ var fieldsPerRow;
16034
+ if (containerWidth <= Breakpoints.SM_MAX)
16035
+ fieldsPerRow = 1;
16036
+ else if (containerWidth <= Breakpoints.MD_MAX)
16037
+ fieldsPerRow = 2;
16038
+ else if (containerWidth <= Breakpoints.LG_MAX)
16039
+ fieldsPerRow = 4;
16040
+ else
16041
+ fieldsPerRow = 6;
16042
+ return 12 / fieldsPerRow;
15938
16043
  };
15939
- var SlidePanelComponent_1;
15940
- SlidePanelComponent.nextId = 0;
15941
- SlidePanelComponent.ctorParameters = function () { return [
15942
- { type: SlidePanelService }
16044
+ var ObjectCardComponent_1;
16045
+ ObjectCardComponent.nextId = 0;
16046
+ ObjectCardComponent.ctorParameters = function () { return [
16047
+ { type: core.ChangeDetectorRef },
16048
+ { type: core.ElementRef }
15943
16049
  ]; };
15944
16050
  __decorate([
15945
16051
  core.Input()
15946
- ], SlidePanelComponent.prototype, "id", void 0);
16052
+ ], ObjectCardComponent.prototype, "id", void 0);
15947
16053
  __decorate([
15948
16054
  core.Input()
15949
- ], SlidePanelComponent.prototype, "openIcon", void 0);
16055
+ ], ObjectCardComponent.prototype, "expanded", void 0);
15950
16056
  __decorate([
15951
16057
  core.Input()
15952
- ], SlidePanelComponent.prototype, "closeIcon", void 0);
16058
+ ], ObjectCardComponent.prototype, "expandTooltip", void 0);
15953
16059
  __decorate([
15954
16060
  core.Input()
15955
- ], SlidePanelComponent.prototype, "cache", void 0);
16061
+ ], ObjectCardComponent.prototype, "collapseTooltip", void 0);
15956
16062
  __decorate([
15957
16063
  core.Input()
15958
- ], SlidePanelComponent.prototype, "createOpen", void 0);
15959
- __decorate([
15960
- core.Output()
15961
- ], SlidePanelComponent.prototype, "panelOpened", void 0);
16064
+ ], ObjectCardComponent.prototype, "fieldsMinWidth", void 0);
15962
16065
  __decorate([
15963
16066
  core.Output()
15964
- ], SlidePanelComponent.prototype, "panelClosed", void 0);
16067
+ ], ObjectCardComponent.prototype, "expandedChange", void 0);
15965
16068
  __decorate([
15966
- core.ViewChild("slidePanel")
15967
- ], SlidePanelComponent.prototype, "_slidePanelRef", void 0);
16069
+ core.ContentChild(ObjectCardMainComponent, { static: true })
16070
+ ], ObjectCardComponent.prototype, "main", void 0);
15968
16071
  __decorate([
15969
- core.ViewChild("slideContent")
15970
- ], SlidePanelComponent.prototype, "_slideContentRef", void 0);
16072
+ core.ContentChildren(ObjectCardFieldComponent, { descendants: true })
16073
+ ], ObjectCardComponent.prototype, "fields", void 0);
15971
16074
  __decorate([
15972
- core.ViewChild("sideContent")
15973
- ], SlidePanelComponent.prototype, "_sideContentRef", void 0);
16075
+ core.Input()
16076
+ ], ObjectCardComponent.prototype, "severity", void 0);
15974
16077
  __decorate([
15975
- core.HostListener("window:resize")
15976
- ], SlidePanelComponent.prototype, "onResize", null);
15977
- SlidePanelComponent = SlidePanelComponent_1 = __decorate([
16078
+ core.Input()
16079
+ ], ObjectCardComponent.prototype, "borderButtonOptions", void 0);
16080
+ ObjectCardComponent = ObjectCardComponent_1 = __decorate([
15978
16081
  core.Component({
15979
- selector: "s-slide-panel",
15980
- template: "<div #slidePanel class=\"slide-panel\">\n <div\n #slideContent\n class=\"slide-content\"\n [ngClass]=\"{\n 'slide-content--closed': !isOpen,\n 'slide-content--over': isSlideOver\n }\">\n <div\n #mainContainer\n class=\"main-container\"\n [style.maxHeight]=\"slideHeight + 'px'\">\n <ng-container *ngIf=\"cache; then cacheTemplate else cachelessTemplate\"></ng-container>\n </div>\n <button\n class=\"button\"\n [ngClass]=\"isOpen ? closeIcon : openIcon\"\n (click)=\"onClickButton()\">\n </button>\n </div>\n <div \n #sideContent\n class=\"side-content\"\n [ngStyle]=\"{ 'width.px': sideContentWidth }\">\n <ng-content select=\"[side-content]\"></ng-content>\n </div>\n</div>\n\n<ng-template #cacheTemplate>\n <div\n class=\"content-container\"\n [@cacheAnimation]=\"isOpen\"\n [@.disabled]=\"isContentAnimationDisabled\"\n (@cacheAnimation.start)=\"onContentAnimationStart()\"\n (@cacheAnimation.done)=\"onContentAnimationDone()\">\n <ng-container [ngTemplateOutlet]=\"slideContentTemplate\"></ng-container>\n </div>\n</ng-template>\n\n<ng-template #cachelessTemplate>\n <div\n *ngIf=\"isOpen\"\n class=\"content-container\"\n @cachelessAnimation\n [@.disabled]=\"isContentAnimationDisabled\"\n (@cachelessAnimation.start)=\"onContentAnimationStart()\"\n (@cachelessAnimation.done)=\"onContentAnimationDone()\">\n <ng-container [ngTemplateOutlet]=\"slideContentTemplate\"></ng-container>\n </div>\n</ng-template>\n\n<ng-template #slideContentTemplate>\n <ng-content select=\"[slide-content]\"></ng-content>\n</ng-template>",
16082
+ selector: "s-object-card",
16083
+ template: "<div [id]=\"id\" class=\"container\">\n <s-border-button\n *ngIf=\"\n borderButtonOptions?.visible\n ? borderButtonOptions?.visible(severity)\n : false\n \"\n [severity]=\"severity\"\n [options]=\"borderButtonOptions\"\n class=\"object-card__border-button\"\n [@BorderButtonAnimation]\n ></s-border-button>\n\n <div\n [id]=\"id + '-main-container'\"\n class=\"main-container\"\n [ngClass]=\"{\n 'with-hidden-fields': fields.length > maxVisibleFields,\n 'with-visible-fields': fields.length && maxVisibleFields,\n 'main-container--severity-default': severity === EnumSeverity.Default,\n 'main-container--severity-info': severity === EnumSeverity.Info,\n 'main-container--severity-warn': severity === EnumSeverity.Warn,\n 'main-container--severity-error': severity === EnumSeverity.Error,\n 'main-container--severity-success': severity == EnumSeverity.Success\n }\"\n >\n <div class=\"object-content\">\n <div class=\"s-object-card-main\"><ng-content select=\"s-object-card-main\"></ng-content></div>\n\n <div class=\"divider\" *ngIf=\"maxVisibleFields && fields.length\"></div>\n\n <div *ngFor=\"let field of (fields.toArray() | slice: 0:maxVisibleFields)\" class=\"s-object-card-field\">\n <ng-container *ngTemplateOutlet=\"field.content\"></ng-container>\n </div>\n </div>\n\n <div\n [id]=\"id + '-expand-icon-container'\"\n class=\"expand-icon-container\"\n (click)=\"toggle()\"\n [pTooltip]=\"expanded ? collapseTooltip : expandTooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n >\n <span [id]=\"id + '-expand-icon'\" class=\"expand-icon fa\" [ngClass]=\"{ 'fa-minus': expanded, 'fa-plus': !expanded }\"></span>\n </div>\n </div>\n\n <div\n [id]=\"id + '-expandable-container'\"\n [@expandableContent]=\"expanded\"\n class=\"expandable-container\"\n [ngClass]=\"{\n 'expandable-container--severity-default':\n severity === EnumSeverity.Default,\n 'expandable-container--severity-info': severity === EnumSeverity.Info,\n 'expandable-container--severity-warn': severity === EnumSeverity.Warn,\n 'expandable-container--severity-error': severity === EnumSeverity.Error,\n 'expandable-container--severity-success':\n severity == EnumSeverity.Success\n }\"\n >\n <div class=\"ui-g ui-g-12\">\n <ng-container\n *ngFor=\"\n let field of fields.toArray()\n | slice : maxVisibleFields : fields.length\n \"\n >\n <div class=\"ui-g-{{ getExpandedFieldWidth() }}\">\n <div class=\"s-object-card-field\">\n <ng-container\n *ngTemplateOutlet=\"field.content\"\n ></ng-container>\n </div>\n </div>\n </ng-container>\n </div>\n </div>\n</div>\n",
15981
16084
  animations: [
15982
- animations.trigger("cachelessAnimation", [
16085
+ animations.trigger("expandableContent", [
16086
+ animations.state("*", animations.style({
16087
+ height: "0",
16088
+ })),
16089
+ animations.state("false", animations.style({
16090
+ height: "0",
16091
+ })),
16092
+ animations.state("true", animations.style({
16093
+ height: "*",
16094
+ })),
16095
+ animations.transition("* => true", animations.animate("200ms ease-out")),
16096
+ animations.transition("false <=> true", animations.animate("200ms ease-out")),
16097
+ ]),
16098
+ animations.trigger("BorderButtonAnimation", [
15983
16099
  animations.transition(":enter", [
15984
- animations.style({ width: "0" }),
15985
- animations.animate("200ms linear", animations.style({ width: "*" })),
16100
+ animations.style({ transform: "scaleY(0)", opacity: 0 }),
16101
+ animations.animate("300ms ease", animations.style({ transform: "scaleY(1)", opacity: 1 })),
15986
16102
  ]),
15987
16103
  animations.transition(":leave", [
15988
- animations.style({ width: "*" }),
15989
- animations.animate("200ms linear", animations.style({ width: "0" })),
16104
+ animations.style({ transform: "scaleY(1)", opacity: 1 }),
16105
+ animations.animate("300ms ease", animations.style({ transform: "scaleY(0)", opacity: 0 })),
15990
16106
  ]),
15991
16107
  ]),
15992
- animations.trigger("cacheAnimation", [
15993
- animations.state("true", animations.style({ width: "*", padding: '0 16px' })),
15994
- animations.state("false", animations.style({ width: '0px', padding: '0' })),
15995
- animations.transition("* => *", animations.animate("200ms")),
15996
- ]),
15997
16108
  ],
15998
- styles: [".slide-panel{display:-ms-flexbox;display:flex;width:100%}.slide-panel .slide-content{display:-ms-flexbox;display:flex;position:relative}.slide-panel .slide-content .main-container{background-color:#eeebf2;display:-ms-flexbox;display:flex;border:1px solid #ccc;overflow:hidden;position:relative}.slide-panel .slide-content .main-container .content-container{overflow-y:auto;overflow-x:hidden;padding:16px}.slide-panel .slide-content .button{-ms-flex-align:center;align-items:center;background-color:#eeebf2;border:1px solid #ccc;border-left:none;border-radius:0 4px 4px 0;cursor:pointer;display:-ms-flexbox;display:flex;font-family:\"Font Awesome 5 Pro\";font-size:16px;height:32px;-ms-flex-pack:center;justify-content:center;position:absolute;right:-32px;top:16px;width:32px;z-index:99}.slide-panel .slide-content--closed .main-container{border:none}.slide-panel .slide-content--over{position:absolute}.slide-panel .side-content{display:-ms-flexbox;display:flex;height:-webkit-max-content;height:max-content;overflow:auto;transition:width .1s linear}"]
16109
+ styles: [":host{display:block}.container{margin-bottom:20px;position:relative}.main-container{display:-ms-flexbox;display:flex}.expandable-container,.main-container{background-color:#fff;border:1px solid #ccc;position:relative;overflow:hidden;width:100%}.expandable-container--severity-default{border-color:#ccc;border-top:initial}.expandable-container--severity-info{transition:border-color .5s;border-color:#428bca;border-top:initial}.expandable-container--severity-warn{transition:border-color .5s;border-color:#f8931f;border-top:initial}.expandable-container--severity-error{transition:border-color .5s;border-color:#c13018;border-top:initial}.expandable-container--severity-success{transition:border-color .5s;border-color:#0c9348;border-top:initial}.main-container--severity-default{border-color:#ccc}.main-container--severity-info{transition:border-color .5s;border-color:#428bca}.main-container--severity-warn{transition:border-color .5s;border-color:#f8931f}.main-container--severity-error{transition:border-color .5s;border-color:#c13018}.main-container--severity-success{transition:border-color .5s;border-color:#0c9348}.object-card__border-button{position:absolute;top:-13px;right:15px;z-index:1}.expandable-container{border-top:none;box-shadow:inset 0 6px 4px -4px #ddd;margin-top:-1px}.expand-icon-container{display:none;text-align:center;-ms-flex-align:center;align-items:center;cursor:pointer;width:25px;position:absolute;right:15px;height:25px;top:calc(50% - 12px)}.expand-icon{-ms-flex:1;flex:1}.object-content{display:-ms-flexbox;display:flex;width:100%}.s-object-card-main{-ms-flex-negative:0;flex-shrink:0;-ms-flex-positive:1;flex-grow:1;overflow:hidden;padding:15px}.main-container.with-visible-fields .s-object-card-main{max-width:30%}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.main-container.with-visible-fields .s-object-card-main{width:20%}}.s-object-card-field{overflow:hidden;height:100%}.main-container .s-object-card-field{padding:15px}.main-container .divider{width:1px;-ms-flex-negative:0;flex-shrink:0;background-color:#ccc;margin:15px -1px 15px 0}.main-container.with-hidden-fields .object-content{width:calc(100% - 35px)}.main-container.with-hidden-fields .expand-icon-container{display:-ms-flexbox;display:flex}::ng-deep .object-card-button{padding-left:0!important;padding-right:10px!important;border:none!important;height:auto!important;min-width:auto!important;text-align:left!important}@media (max-width:767px){.s-object-card-main{max-width:calc(100% - 50px)}}"]
15999
16110
  })
16000
- ], SlidePanelComponent);
16001
- return SlidePanelComponent;
16111
+ ], ObjectCardComponent);
16112
+ return ObjectCardComponent;
16002
16113
  }());
16003
16114
 
16004
- var SlidePanelModule = /** @class */ (function () {
16005
- function SlidePanelModule() {
16115
+ var BorderButtonComponent = /** @class */ (function () {
16116
+ function BorderButtonComponent() {
16117
+ this.severity = exports.EnumSeverity.Default;
16118
+ this.EnumSeverity = exports.EnumSeverity;
16119
+ this.TooltipPosition = exports.TooltipPosition;
16006
16120
  }
16007
- SlidePanelModule = __decorate([
16008
- core.NgModule({
16009
- imports: [common.CommonModule],
16010
- declarations: [SlidePanelComponent],
16011
- exports: [SlidePanelComponent],
16012
- providers: [SlidePanelService],
16121
+ __decorate([
16122
+ core.Input()
16123
+ ], BorderButtonComponent.prototype, "severity", void 0);
16124
+ __decorate([
16125
+ core.Input()
16126
+ ], BorderButtonComponent.prototype, "options", void 0);
16127
+ BorderButtonComponent = __decorate([
16128
+ core.Component({
16129
+ selector: "s-border-button",
16130
+ template: "<button\n class=\"border-button\"\n [ngClass]=\"{\n 'border-button--severity-default': severity === EnumSeverity.Default,\n 'border-button--severity-info': severity === EnumSeverity.Info,\n 'border-button--severity-warn': severity === EnumSeverity.Warn,\n 'border-button--severity-error': severity === EnumSeverity.Error,\n 'border-button--severity-success': severity == EnumSeverity.Success,\n 'border-button--disabled': options?.disabled\n ? options?.disabled(severity)\n : false\n }\"\n (click)=\"options?.onClick ? options?.onClick(severity) : null\"\n [sTooltip]=\"options?.tooltip ? options?.tooltip(severity) : null\"\n [tooltipPosition]=\"TooltipPosition.Left\"\n [disabled]=\"options?.disabled ? options?.disabled(severity) : false\"\n>\n <span class=\"border-button__label\">\n {{ options?.label ? options?.label(severity) : null }}\n </span>\n <span\n *ngIf=\"options?.icon ? options?.icon(severity) : false\"\n class=\"border-button__icon {{ options?.icon(severity) }}\"\n ></span>\n</button>",
16131
+ styles: [".border-button{padding:0 8px;border:1px solid;border-radius:12px;height:23px;max-width:320px;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.border-button__label{font-family:Open Sans,sans-serif;font-size:12px;line-height:150%;width:100%;display:block;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.border-button__icon{font-size:12px;color:#333;margin-left:8px}.border-button--severity-default{border-color:#ccc;background-color:#fff}.border-button--severity-info{border-color:#428bca;background-color:#d5e8ec;transition:background-color .5s,border-color .5s}.border-button--severity-info:enabled:hover{background-color:#9ecad4;cursor:pointer}.border-button--severity-info:enabled:active{transition:none;background-color:#67acbc;border-color:#67acbc}.border-button--severity-warn{border-color:#f8931f;background-color:#fce3ba;transition:background-color .5s,border-color .5s}.border-button--severity-warn:enabled:hover{background-color:#f8bf5e;cursor:pointer}.border-button--severity-warn:enabled:active{transition:none;background-color:#f5a319;border-color:#f5a319}.border-button--severity-error{border-color:#c13018;background-color:#fcd2d2;transition:background-color .5s,border-color .5s}.border-button--severity-error:enabled:hover{background-color:#f89696;cursor:pointer}.border-button--severity-error:enabled:active{transition:none;background-color:#f45b5b;border-color:#f45b5b}.border-button--severity-success{border-color:#0c9348;background-color:#e6ffb3;transition:background-color .5s,border-color .5s}.border-button--severity-success:enabled:hover{background-color:#c8ff5c;cursor:pointer}.border-button--severity-success:enabled:active{transition:none;background-color:#ade500;border-color:#ade500}.border-button--disabled:disabled:hover{cursor:default}"]
16013
16132
  })
16014
- ], SlidePanelModule);
16015
- return SlidePanelModule;
16133
+ ], BorderButtonComponent);
16134
+ return BorderButtonComponent;
16016
16135
  }());
16017
16136
 
16137
+ var BorderButtonModule = /** @class */ (function () {
16138
+ function BorderButtonModule() {
16139
+ }
16140
+ BorderButtonModule = __decorate([
16141
+ core.NgModule({
16142
+ imports: [common.CommonModule, TooltipModule],
16143
+ declarations: [BorderButtonComponent],
16144
+ exports: [BorderButtonComponent]
16145
+ })
16146
+ ], BorderButtonModule);
16147
+ return BorderButtonModule;
16148
+ }());
16018
16149
 
16019
- (function (SplitButtonType) {
16020
- SplitButtonType["Primary"] = "primary";
16021
- SplitButtonType["Secondary"] = "secondary";
16022
- SplitButtonType["Default"] = "default";
16023
- })(exports.SplitButtonType || (exports.SplitButtonType = {}));
16150
+ var ObjectCardModule = /** @class */ (function () {
16151
+ function ObjectCardModule() {
16152
+ }
16153
+ ObjectCardModule = __decorate([
16154
+ core.NgModule({
16155
+ imports: [common.CommonModule, tooltip.TooltipModule, ThumbnailModule, ButtonModule, BorderButtonModule],
16156
+ declarations: [ObjectCardComponent, ObjectCardMainComponent, ObjectCardFieldComponent],
16157
+ exports: [ThumbnailModule, ObjectCardComponent, ObjectCardMainComponent, ObjectCardFieldComponent],
16158
+ })
16159
+ ], ObjectCardModule);
16160
+ return ObjectCardModule;
16161
+ }());
16024
16162
 
16025
- var SplitButtonComponent = /** @class */ (function () {
16026
- function SplitButtonComponent(eRef) {
16027
- this.eRef = eRef;
16028
- this.disabled = false;
16029
- this.type = exports.SplitButtonType.Primary;
16030
- this.buttonClicked = new core.EventEmitter();
16031
- this.open = false;
16163
+ var ProductHeaderComponent = /** @class */ (function () {
16164
+ function ProductHeaderComponent() {
16165
+ this.id = "s-product-header-" + ProductHeaderComponent_1.nextId++;
16166
+ this.baseZIndex = 0;
16167
+ this.isHeaderFrame = true;
16032
16168
  }
16033
- SplitButtonComponent.prototype.onClickout = function (event) {
16034
- if (!this.eRef.nativeElement.contains(event.target)) {
16035
- this.closeDropdown();
16036
- }
16037
- };
16038
- SplitButtonComponent.prototype.onButtonClick = function () {
16039
- if (!this.disabled) {
16040
- this.buttonClicked.emit();
16041
- this.closeDropdown();
16169
+ ProductHeaderComponent_1 = ProductHeaderComponent;
16170
+ ProductHeaderComponent.prototype.ngAfterViewInit = function () {
16171
+ this.container.nativeElement.style.zIndex = String(this.baseZIndex + ++dom.DomHandler.zindex);
16172
+ if (this.isHeaderFrame) {
16173
+ this.container.nativeElement.style.borderBottom = "1px solid $default-secondary-color";
16042
16174
  }
16043
- };
16044
- SplitButtonComponent.prototype.onDropdownClick = function () {
16045
- if (!this.disabled) {
16046
- this.open = !this.open;
16175
+ else {
16176
+ this.container.nativeElement.style.borderTop = "1px solid $default-secondary-color";
16047
16177
  }
16048
16178
  };
16049
- SplitButtonComponent.prototype.onOptionClick = function (option) {
16050
- option.action && option.action();
16051
- this.closeDropdown();
16052
- };
16053
- SplitButtonComponent.prototype.closeDropdown = function () {
16054
- this.open = false;
16055
- };
16056
- SplitButtonComponent.ctorParameters = function () { return [
16057
- { type: core.ElementRef }
16058
- ]; };
16059
- __decorate([
16060
- core.Input()
16061
- ], SplitButtonComponent.prototype, "disabled", void 0);
16179
+ var ProductHeaderComponent_1;
16180
+ ProductHeaderComponent.nextId = 0;
16062
16181
  __decorate([
16063
16182
  core.Input()
16064
- ], SplitButtonComponent.prototype, "iconClass", void 0);
16183
+ ], ProductHeaderComponent.prototype, "id", void 0);
16065
16184
  __decorate([
16066
16185
  core.Input()
16067
- ], SplitButtonComponent.prototype, "label", void 0);
16186
+ ], ProductHeaderComponent.prototype, "header", void 0);
16068
16187
  __decorate([
16069
16188
  core.Input()
16070
- ], SplitButtonComponent.prototype, "type", void 0);
16189
+ ], ProductHeaderComponent.prototype, "baseZIndex", void 0);
16071
16190
  __decorate([
16072
16191
  core.Input()
16073
- ], SplitButtonComponent.prototype, "options", void 0);
16074
- __decorate([
16075
- core.Output()
16076
- ], SplitButtonComponent.prototype, "buttonClicked", void 0);
16192
+ ], ProductHeaderComponent.prototype, "isHeaderFrame", void 0);
16077
16193
  __decorate([
16078
- core.HostListener("document:click", ["$event"])
16079
- ], SplitButtonComponent.prototype, "onClickout", null);
16080
- SplitButtonComponent = __decorate([
16194
+ core.ViewChild("headerContainer", { static: false })
16195
+ ], ProductHeaderComponent.prototype, "container", void 0);
16196
+ ProductHeaderComponent = ProductHeaderComponent_1 = __decorate([
16081
16197
  core.Component({
16082
- selector: "s-split-button",
16083
- template: "<div class=\"split-button\" [ngClass]=\"{\n 'split-button--primary': type == 'primary',\n 'split-button--secondary': type == 'secondary',\n 'split-button--default': type == 'default',\n 'split-button--disabled': disabled\n }\">\n <button class=\"button\" (click)=\"onButtonClick()\">\n <span class=\"button__icon\" [ngClass]=\"iconClass\"></span>\n <span class=\"button__label\">{{ label }}</span>\n </button>\n <button class=\"dropdown\" (click)=\"onDropdownClick()\">\n <span class=\"dropdown__icon\" [ngClass]=\"{\n 'far': true,\n 'fa-chevron-down': !open,\n 'fa-chevron-up': open\n }\">\n </span>\n </button>\n</div>\n\n<ul *ngIf=\"this.open\" class=\"options\">\n <li *ngFor=\"let option of options\" (click)=\"onOptionClick(option)\">\n {{ option.title }}\n </li>\n</ul>",
16084
- styles: [".split-button{display:-ms-flexbox;display:flex;-webkit-user-select:none;-ms-user-select:none;user-select:none}.split-button .button{-ms-flex-align:center;align-items:center;border:none;border-radius:4px 0 0 4px;display:-ms-flexbox;display:flex;padding:8px 8px 8px 12px;transition:.3s ease-in-out}.split-button .button__icon{font-size:16px;padding:0 4px}.split-button .button__title{font-family:\"Open Sans\",sans-serif;font-size:14px;font-weight:400;line-height:21px}.split-button .dropdown{-ms-flex-align:center;align-items:center;border:none;border-left:1px solid #608190;border-radius:0 4px 4px 0;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding:12px 8px;transition:.3s ease-in-out}.split-button--disabled{opacity:.5}.split-button--primary .button,.split-button--primary .dropdown{background-color:#428bca;color:#fff}.split-button--primary:not(.split-button--primary--disabled) .button,.split-button--primary:not(.split-button--primary--disabled) .dropdown{cursor:pointer}.split-button--primary:not(.split-button--primary--disabled) .button:hover,.split-button--primary:not(.split-button--primary--disabled) .dropdown:hover{background-color:#063951}.split-button--secondary .button,.split-button--secondary .dropdown{background-color:#7892a1;color:#fff}.split-button--secondary:not(.split-button--secondary--disabled) .button,.split-button--secondary:not(.split-button--secondary--disabled) .dropdown{cursor:pointer}.split-button--secondary:not(.split-button--secondary--disabled) .button:hover,.split-button--secondary:not(.split-button--secondary--disabled) .dropdown:hover{background-color:#697882}.split-button--default .button,.split-button--default .dropdown{background-color:unset;border:1px solid #d8d8d8;color:#333}.split-button--default:not(.split-button--default--disabled) .button,.split-button--default:not(.split-button--default--disabled) .dropdown{cursor:pointer}.split-button--default:not(.split-button--default--disabled) .button:hover,.split-button--default:not(.split-button--default--disabled) .dropdown:hover{background-color:#d8d8d8}.options{background-color:#fff;border-radius:4px;box-shadow:0 1px 5px rgba(0,0,0,.25);display:inline-block;list-style:none;margin:2px 0;padding:8px 0;position:absolute;-webkit-user-select:none;-ms-user-select:none;user-select:none}.options li{color:#333;cursor:pointer;font-family:\"Open Sans\",sans-serif;font-weight:400;font-size:14px;line-height:21px;padding:8px 16px}.options li:hover{background-color:#d8d8d8}"]
16085
- })
16086
- ], SplitButtonComponent);
16087
- return SplitButtonComponent;
16088
- }());
16089
-
16090
- var SplitButtonModule = /** @class */ (function () {
16091
- function SplitButtonModule() {
16092
- }
16093
- SplitButtonModule = __decorate([
16094
- core.NgModule({
16095
- imports: [common.CommonModule],
16096
- declarations: [SplitButtonComponent],
16097
- exports: [SplitButtonComponent],
16198
+ selector: "s-product-header",
16199
+ template: "<div [id]=\"id\" class=\"box\">\n <div\n #headerContainer\n class=\"sds-container\"\n [class]=\"isHeaderFrame ? 'header-frame' : 'primary-header'\"\n >\n <h1 [class]=\"isHeaderFrame ? 'title' : 'primary-title'\">{{ header }}</h1>\n <div class=\"content\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n",
16200
+ styles: [".box{position:relative;width:100%;height:70px}.header-frame{padding-top:15px;padding-bottom:15px;width:100%;top:0;left:0;height:70px;background-color:#fff;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center;position:fixed}.title{color:#999;font-weight:400;font-size:16pt;margin-right:15px;min-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.content{display:-ms-flexbox;display:flex;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.primary-header{display:-ms-flexbox;display:flex;width:100%;height:70px;padding:15px 20px;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center;border-bottom:1px solid #ddd;background-color:#fff;gap:24px}@media (max-width:768px){.primary-header{width:100%}}.primary-header .primary-title{color:#999;font-weight:400;font-size:16pt;margin-right:15px;min-width:140px;overflow:hidden;text-overflow:ellipsis}"]
16098
16201
  })
16099
- ], SplitButtonModule);
16100
- return SplitButtonModule;
16202
+ ], ProductHeaderComponent);
16203
+ return ProductHeaderComponent;
16101
16204
  }());
16102
-
16103
- var StatsCardComponent = /** @class */ (function () {
16104
- function StatsCardComponent() {
16105
- this.id = "s-stats-card-" + StatsCardComponent_1.nextId++;
16106
- this.alwaysWithBorder = false;
16107
- this.lightVersion = false;
16108
- this.lightMode = true;
16109
- this.iconClass = "fa fa-bar-chart";
16110
- this.color = "#339966";
16111
- this.animateNumbers = true;
16112
- this.clickable = false;
16113
- this.tooltip = "";
16114
- this.onClick = new core.EventEmitter();
16115
- this.ANIMATION_DURATION_MS = 200;
16116
- this.STEP_DURATION_MS = 20;
16117
- this.previousValue = "0";
16118
- this._value = "0";
16119
- }
16120
- StatsCardComponent_1 = StatsCardComponent;
16121
- Object.defineProperty(StatsCardComponent.prototype, "value", {
16122
- get: function () {
16123
- return this._value;
16124
- },
16125
- set: function (value) {
16126
- this.previousValue = this._value;
16127
- this._value = String(value);
16128
- if (this.animateNumbers)
16129
- this.updateDisplayValue();
16130
- else
16131
- this.displayValue = this.value;
16132
- },
16133
- enumerable: true,
16134
- configurable: true
16135
- });
16136
- StatsCardComponent.prototype.updateDisplayValue = function () {
16137
- var _this = this;
16138
- var animationDuration = new BigNumber.BigNumber(this.ANIMATION_DURATION_MS);
16139
- var stepDuration = new BigNumber.BigNumber(this.STEP_DURATION_MS);
16140
- var animationCount = animationDuration.dividedBy(stepDuration);
16141
- var previousRawValue = new BigNumber.BigNumber(this.previousValue.replace(/\D/g, ""));
16142
- var rawValue = new BigNumber.BigNumber(this.value.replace(/\D/g, ""));
16143
- var incrementValue = rawValue.minus(previousRawValue).absoluteValue().dividedBy(animationCount);
16144
- var incremental = previousRawValue.isLessThan(rawValue);
16145
- clearInterval(this.intervalId);
16146
- this.displayValue = this.replaceNumericPositions(this.value);
16147
- var counter = previousRawValue;
16148
- this.intervalId = setInterval(function () {
16149
- if (incremental && counter.isLessThan(rawValue)) {
16150
- _this.displayValue = _this.replaceNumericPositions(_this.displayValue, counter);
16151
- counter = counter.plus(incrementValue);
16152
- }
16153
- else if (!incremental && counter.isGreaterThan(rawValue)) {
16154
- _this.displayValue = _this.replaceNumericPositions(_this.displayValue, counter);
16155
- counter = counter.minus(incrementValue);
16156
- }
16157
- else {
16158
- _this.displayValue = _this.value;
16159
- clearInterval(_this.intervalId);
16160
- }
16161
- }, this.STEP_DURATION_MS);
16162
- };
16163
- StatsCardComponent.prototype.replaceNumericPositions = function (value, newValue) {
16164
- var rawValue = value.replace(/[^\d]/g, "");
16165
- var newValueString = newValue ? newValue.toString() : "";
16166
- var formattedNewValue = newValueString
16167
- .toString()
16168
- .replace(/\D/g, "")
16169
- .padStart(rawValue.length, "0");
16170
- var newValueIndex = 0;
16171
- return value
16172
- .split("")
16173
- .map(function (char) {
16174
- var number = Number(char);
16175
- if (number || char === "0")
16176
- return formattedNewValue[newValueIndex++];
16177
- return char;
16205
+
16206
+ var ProductHeaderModule = /** @class */ (function () {
16207
+ function ProductHeaderModule() {
16208
+ }
16209
+ ProductHeaderModule = __decorate([
16210
+ core.NgModule({
16211
+ imports: [common.CommonModule, tooltip.TooltipModule, ThumbnailModule],
16212
+ declarations: [ProductHeaderComponent],
16213
+ exports: [ProductHeaderComponent, ThumbnailModule],
16178
16214
  })
16179
- .join("");
16215
+ ], ProductHeaderModule);
16216
+ return ProductHeaderModule;
16217
+ }());
16218
+
16219
+
16220
+ (function (ProgressBarColors) {
16221
+ ProgressBarColors["Blue"] = "blue";
16222
+ ProgressBarColors["Green"] = "green";
16223
+ ProgressBarColors["Red"] = "red";
16224
+ ProgressBarColors["Yellow"] = "yellow";
16225
+ })(exports.ProgressBarColors || (exports.ProgressBarColors = {}));
16226
+
16227
+ var ProgressBarMode;
16228
+ (function (ProgressBarMode) {
16229
+ ProgressBarMode["Determinate"] = "determinate";
16230
+ ProgressBarMode["Indeterminate"] = "indeterminate";
16231
+ })(ProgressBarMode || (ProgressBarMode = {}));
16232
+
16233
+ var ProgressBarComponent = /** @class */ (function () {
16234
+ function ProgressBarComponent() {
16235
+ this.numberFormatOptions = {
16236
+ style: "decimal",
16237
+ minimumFractionDigits: 0,
16238
+ maximumFractionDigits: 2,
16239
+ };
16240
+ this.showValue = true;
16241
+ this.mode = ProgressBarMode.Determinate;
16242
+ }
16243
+ ProgressBarComponent.prototype.ngOnInit = function () {
16244
+ this.validateInputs();
16245
+ };
16246
+ ProgressBarComponent.prototype.validateInputs = function () {
16247
+ if (this.value < 0 || this.value > 100) {
16248
+ throw new Error("Invalid value for value");
16249
+ }
16250
+ if (this.targetValue < 0 || this.targetValue > 100) {
16251
+ throw new Error("Invalid value for targetValue");
16252
+ }
16253
+ if (this.mode === ProgressBarMode.Indeterminate && (this.value || this.targetValue || this.targetLabel)) {
16254
+ throw new Error("When the mode is indeterminate, the value, targetValue and targetLabel parameters are not expected.");
16255
+ }
16180
16256
  };
16181
- var StatsCardComponent_1;
16182
- StatsCardComponent.nextId = 0;
16183
16257
  __decorate([
16184
16258
  core.Input()
16185
- ], StatsCardComponent.prototype, "id", void 0);
16259
+ ], ProgressBarComponent.prototype, "value", void 0);
16186
16260
  __decorate([
16187
16261
  core.Input()
16188
- ], StatsCardComponent.prototype, "label", void 0);
16262
+ ], ProgressBarComponent.prototype, "numberFormatOptions", void 0);
16189
16263
  __decorate([
16190
16264
  core.Input()
16191
- ], StatsCardComponent.prototype, "alwaysWithBorder", void 0);
16265
+ ], ProgressBarComponent.prototype, "targetValue", void 0);
16192
16266
  __decorate([
16193
16267
  core.Input()
16194
- ], StatsCardComponent.prototype, "lightVersion", void 0);
16268
+ ], ProgressBarComponent.prototype, "label", void 0);
16195
16269
  __decorate([
16196
16270
  core.Input()
16197
- ], StatsCardComponent.prototype, "lightMode", void 0);
16271
+ ], ProgressBarComponent.prototype, "targetLabel", void 0);
16198
16272
  __decorate([
16199
16273
  core.Input()
16200
- ], StatsCardComponent.prototype, "iconClass", void 0);
16274
+ ], ProgressBarComponent.prototype, "activeColor", void 0);
16201
16275
  __decorate([
16202
16276
  core.Input()
16203
- ], StatsCardComponent.prototype, "color", void 0);
16277
+ ], ProgressBarComponent.prototype, "showValue", void 0);
16204
16278
  __decorate([
16205
16279
  core.Input()
16206
- ], StatsCardComponent.prototype, "animateNumbers", void 0);
16280
+ ], ProgressBarComponent.prototype, "mode", void 0);
16281
+ ProgressBarComponent = __decorate([
16282
+ core.Component({
16283
+ selector: "s-progressbar",
16284
+ template: "<ng-container *ngIf=\"mode === 'determinate'; then pbDeterminateTemplate else pbIndeterminateTemplate\"></ng-container>\n\n<ng-template #pbDeterminateTemplate>\n <s-progressbar-determinate\n [value]=\"value\"\n [numberFormatOptions]=\"numberFormatOptions\"\n [targetValue]=\"targetValue\"\n [targetLabel]=\"targetLabel\"\n [activeColor]=\"activeColor\"\n [showValue]=\"showValue\">\n </s-progressbar-determinate>\n</ng-template>\n\n<ng-template #pbIndeterminateTemplate>\n <s-progressbar-indeterminate\n [activeColor]=\"activeColor\"\n [label]=\"label\">\n </s-progressbar-indeterminate>\n</ng-template>",
16285
+ styles: [".progress-bar{position:relative}.progress-bar .progress-bar-all{background-color:#d8d8d8;border-radius:4px;height:24px;overflow:hidden;width:100%}.progress-bar .progress-bar-all .progress-bar-active{-ms-flex-align:center;align-items:center;color:#fff;display:-ms-flexbox;display:flex;font-family:\"Open Sans\",sans-serif;font-size:14px;height:100%;-ms-flex-pack:center;justify-content:center;line-height:150%;-webkit-user-select:none;-ms-user-select:none;user-select:none;width:80%}.progress-bar .progress-bar-all .progress-bar-active--blue{background-color:#428bca}.progress-bar .progress-bar-all .progress-bar-active--green{background-color:#0c9348}.progress-bar .progress-bar-all .progress-bar-active--red{background-color:#c13018}.progress-bar .progress-bar-all .progress-bar-active--yellow{background-color:#fcbf10}.progress-bar .target{-ms-flex-align:start;align-items:flex-start;bottom:-38px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;position:absolute}.progress-bar .target .target-line{background-color:#333;height:40px;margin:8px 0;width:1px}.progress-bar .target .target-label{background-color:#426e78;border-radius:10px;color:#e5eaea;font-family:\"Open Sans\",sans-serif;font-size:12px;line-height:150%;padding:2px 12px}"]
16286
+ })
16287
+ ], ProgressBarComponent);
16288
+ return ProgressBarComponent;
16289
+ }());
16290
+
16291
+ var ProgressBarDeterminateComponent = /** @class */ (function () {
16292
+ function ProgressBarDeterminateComponent(localeService) {
16293
+ this.localeService = localeService;
16294
+ this.showValue = true;
16295
+ }
16296
+ ProgressBarDeterminateComponent.prototype.ngOnInit = function () {
16297
+ this.validateValues();
16298
+ this.onGetLocale();
16299
+ };
16300
+ ProgressBarDeterminateComponent.prototype.onGetLocale = function () {
16301
+ var _this = this;
16302
+ this.localeService.getLocale().subscribe({
16303
+ next: function (locale) {
16304
+ _this.numberFormat = new Intl.NumberFormat(locale !== null && locale !== void 0 ? locale : "pt-BR", _this.numberFormatOptions);
16305
+ },
16306
+ error: function () {
16307
+ _this.numberFormat = new Intl.NumberFormat("pt-BR", _this.numberFormatOptions);
16308
+ },
16309
+ });
16310
+ };
16311
+ ProgressBarDeterminateComponent.prototype.validateValues = function () {
16312
+ if (this.value < 0 || this.value > 100) {
16313
+ throw new Error("Invalid value for value");
16314
+ }
16315
+ if (this.targetValue < 0 || this.targetValue > 100) {
16316
+ throw new Error("Invalid value for targetValue");
16317
+ }
16318
+ };
16319
+ ProgressBarDeterminateComponent.ctorParameters = function () { return [
16320
+ { type: LocaleService }
16321
+ ]; };
16207
16322
  __decorate([
16208
16323
  core.Input()
16209
- ], StatsCardComponent.prototype, "clickable", void 0);
16324
+ ], ProgressBarDeterminateComponent.prototype, "value", void 0);
16210
16325
  __decorate([
16211
16326
  core.Input()
16212
- ], StatsCardComponent.prototype, "value", null);
16327
+ ], ProgressBarDeterminateComponent.prototype, "numberFormatOptions", void 0);
16213
16328
  __decorate([
16214
16329
  core.Input()
16215
- ], StatsCardComponent.prototype, "tooltip", void 0);
16330
+ ], ProgressBarDeterminateComponent.prototype, "targetValue", void 0);
16216
16331
  __decorate([
16217
- core.Output()
16218
- ], StatsCardComponent.prototype, "onClick", void 0);
16219
- StatsCardComponent = StatsCardComponent_1 = __decorate([
16332
+ core.Input()
16333
+ ], ProgressBarDeterminateComponent.prototype, "targetLabel", void 0);
16334
+ __decorate([
16335
+ core.Input()
16336
+ ], ProgressBarDeterminateComponent.prototype, "activeColor", void 0);
16337
+ __decorate([
16338
+ core.Input()
16339
+ ], ProgressBarDeterminateComponent.prototype, "showValue", void 0);
16340
+ ProgressBarDeterminateComponent = __decorate([
16220
16341
  core.Component({
16221
- selector: "s-stats-card",
16222
- template: "<div\n [id]=\"id\"\n class=\"s-stats-card\"\n [ngClass]=\"{\n 's-stats-card--always-border': alwaysWithBorder,\n 's-stats-card--light': lightMode,\n 's-stats-card--color': !lightMode,\n 's-stats-card--light-version': lightVersion,\n 's-stats-card--clickable': clickable\n }\"\n (click)=\"clickable && onClick.next($event)\">\n\n <div\n [id]=\"id + '-background'\"\n class=\"s-stats-card-background\"\n [ngStyle]=\"{ 'background-color': !lightMode && color || '' }\">\n </div>\n <div\n [id]=\"id + '-overlay'\"\n class=\"s-stats-card-overlay\">\n </div>\n\n <div\n [id]=\"id + '-info-container'\"\n class=\"s-stats-card-info-container\">\n <div class=\"s-stats-card-info-inner-container\">\n <div\n [id]=\"id + '-icon-container'\"\n class=\"s-stats-card-icon-container\"\n [ngStyle]=\"{ 'background-color': lightMode && color || '' }\">\n <span\n [id]=\"id + '-icon'\"\n [class]=\"iconClass\"\n [ngClass]=\"{ 's-stats-card-icon': true }\"\n [ngStyle]=\"{'color': !lightMode && color || ''}\"\n aria-hidden=\"true\"></span>\n </div>\n\n <div\n [id]=\"id + '-text-container'\"\n class=\"s-stats-card-text-container\">\n <h4\n [id]=\"id + '-label'\"\n class=\"s-stats-card-label\"\n [pTooltip]=\"label\"\n tooltipPosition=\"top\"\n showDelay=\"500\">\n {{ label }}\n </h4>\n <span\n [id]=\"id + '-value'\"\n class=\"s-stats-card-value\"\n [pTooltip]=\"displayValue\"\n tooltipPosition=\"top\"\n showDelay=\"500\">\n {{ displayValue }}\n </span>\n </div>\n </div>\n <div class=\"s-stats-card-content-inner-container\">\n <div #content class=\"s-stats-card-content-container\">\n <ng-content></ng-content>\n </div>\n <div\n *ngIf=\"content.children.length\"\n class=\"s-stats-card-content-separator\">\n </div>\n </div>\n <span\n *ngIf=\"tooltip\"\n class=\"s-status-card-tooltip\"\n [pTooltip]=\"tooltip\"\n tooltipPosition=\"right\">\n <i class=\"fa fa-info-circle s-status-card-tooltip-icon\"></i>\n </span>\n </div>\n</div>\n",
16223
- encapsulation: core.ViewEncapsulation.None,
16224
- styles: ["s-stats-card{display:block;height:auto;position:relative}s-stats-card .s-stats-card{border:1px solid transparent;min-width:120px;overflow:hidden;position:relative}s-stats-card .s-stats-card .s-stats-card-background,s-stats-card .s-stats-card .s-stats-card-overlay{height:calc(100% - 2px);left:1px;position:absolute;top:1px;width:calc(100% - 2px)}s-stats-card .s-stats-card .s-stats-card-background{background-color:#fff}s-stats-card .s-stats-card .s-stats-card-overlay{background-color:#000;opacity:0;transition:opacity .2s ease-out}s-stats-card .s-stats-card .s-stats-card-info-container{overflow:auto;padding:15px;position:relative}s-stats-card .s-stats-card .s-stats-card-info-container .s-stats-card-info-inner-container{overflow:hidden;position:relative}s-stats-card .s-stats-card .s-stats-card-info-container .s-stats-card-info-inner-container .s-stats-card-icon-container{float:left;font-size:24px;height:50px;line-height:50px;text-align:center;transition:width .2s ease-out;width:50px}s-stats-card .s-stats-card .s-stats-card-info-container .s-stats-card-info-inner-container .s-stats-card-text-container{-ms-flex-align:start;align-items:flex-start;color:#fff;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;float:left;height:50px;-ms-flex-pack:center;justify-content:center;max-width:calc(100% - 65px);padding-left:15px}s-stats-card .s-stats-card .s-stats-card-info-container .s-stats-card-info-inner-container .s-stats-card-text-container .s-stats-card-label{font-weight:400;width:100%}s-stats-card .s-stats-card .s-stats-card-info-container .s-stats-card-info-inner-container .s-stats-card-text-container .s-stats-card-value{display:inline-block;font-size:20px;font-weight:700;width:100%}s-stats-card .s-stats-card .s-stats-card-info-container .s-stats-card-info-inner-container .s-stats-card-text-container,s-stats-card .s-stats-card .s-stats-card-info-container .s-stats-card-info-inner-container .s-stats-card-text-container .s-stats-card-label,s-stats-card .s-stats-card .s-stats-card-info-container .s-stats-card-info-inner-container .s-stats-card-text-container .s-stats-card-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}s-stats-card .s-stats-card .s-stats-card-info-container .s-stats-card-content-inner-container{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}s-stats-card .s-stats-card .s-stats-card-info-container .s-stats-card-content-inner-container .s-stats-card-content-separator{border-top:1px solid #ccc;margin:15px 0;-ms-flex-order:1;order:1}s-stats-card .s-stats-card .s-stats-card-info-container .s-stats-card-content-inner-container .s-stats-card-content-container{-ms-flex-order:2;order:2}s-stats-card .s-stats-card .s-stats-card-info-container .s-status-card-tooltip{font-size:1rem;line-height:0;margin:.3rem;position:absolute;right:0;top:0}s-stats-card .s-stats-card .s-stats-card-info-container .s-status-card-tooltip .s-status-card-tooltip-icon{color:#fff}s-stats-card .s-stats-card.s-stats-card--color .s-stats-card-icon-container{background-color:#fff}s-stats-card .s-stats-card.s-stats-card--light *{color:#333}s-stats-card .s-stats-card.s-stats-card--light .s-stats-card-icon{color:#fff}s-stats-card .s-stats-card.s-stats-card--light * .s-status-card-tooltip .s-status-card-tooltip-icon,s-stats-card .s-stats-card.s-stats-card--light .s-stats-card-label{color:#999}s-stats-card .s-stats-card.s-stats-card--light-version .s-stats-card-info-inner-container .s-stats-card-icon-container{height:100%;left:0;position:absolute;right:0;width:10px}s-stats-card .s-stats-card.s-stats-card--light-version .s-stats-card-info-inner-container .s-stats-card-icon-container .s-stats-card-icon{display:none}s-stats-card .s-stats-card.s-stats-card--light-version .s-stats-card-info-inner-container .s-stats-card-text-container{height:auto;max-width:calc(100% - 25px);padding-left:25px}s-stats-card .s-stats-card.s-stats-card--clickable{cursor:pointer}s-stats-card .s-stats-card:hover .s-stats-card-overlay{opacity:.2}s-stats-card .s-stats-card.s-stats-card--light:hover .s-stats-card-overlay{opacity:.08}s-stats-card .s-stats-card.s-stats-card--light{border-color:#ccc}.s-sidebar-content .s-stats-card.s-stats-card--light:not(.s-stats-card--always-border),.ui-dialog-content .s-stats-card.s-stats-card--light:not(.s-stats-card--always-border),p-panel .s-stats-card.s-stats-card--light:not(.s-stats-card--always-border){border-color:transparent}@media (max-width:767px){s-stats-card .s-stats-card{height:auto}s-stats-card .s-stats-card .s-stats-card-info-container .s-stats-card-info-inner-container .s-stats-card-icon-container{height:100%;left:0;position:absolute;right:0;width:10px}s-stats-card .s-stats-card .s-stats-card-info-container .s-stats-card-info-inner-container .s-stats-card-icon-container .s-stats-card-icon{display:none}s-stats-card .s-stats-card .s-stats-card-info-container .s-stats-card-info-inner-container .s-stats-card-text-container{height:auto;max-width:calc(100% - 25px);padding-left:25px}s-stats-card .s-stats-card .s-stats-card-info-container .s-stats-card-info-inner-container .s-stats-card-text-container,s-stats-card .s-stats-card .s-stats-card-info-container .s-stats-card-info-inner-container .s-stats-card-text-container .s-stats-card-label,s-stats-card .s-stats-card .s-stats-card-info-container .s-stats-card-info-inner-container .s-stats-card-text-container .s-stats-card-value{overflow:visible;white-space:normal;word-break:break-all}}"]
16342
+ selector: "s-progressbar-determinate",
16343
+ template: "<div class=\"progressbar-determinate\">\n <div class=\"progressbar-container\">\n <div\n class=\"progressbar-active\"\n [ngClass]=\"{\n 'progressbar-active--blue' : activeColor === 'blue',\n 'progressbar-active--green': activeColor === 'green',\n 'progressbar-active--red': activeColor === 'red',\n 'progressbar-active--yellow': activeColor === 'yellow'\n }\"\n [ngStyle]=\"{ 'width': value + '%' }\">\n\n {{ showValue && value ? numberFormat.format(value) + '%' : '' }}\n </div>\n </div>\n <div\n *ngIf=\"targetValue\"\n class=\"target\"\n [ngStyle]=\"{\n 'left': targetValue <= 50 ? targetValue + '%' : 'unset',\n 'right': targetValue > 50 ? 100 - targetValue + '%' : 'unset',\n 'align-items': targetValue > 50 ? 'flex-end' : 'flex-start'\n }\">\n <span class=\"target-line\"></span>\n <span class=\"target-label\">\n {{ targetLabel || numberFormat.format(value) + '%' }}\n </span>\n </div>\n </div>\n",
16344
+ styles: [".progressbar-determinate{position:relative}.progressbar-determinate .progressbar-container{background-color:#d8d8d8;border-radius:4px;height:24px;overflow:hidden;width:100%}.progressbar-determinate .progressbar-container .progressbar-active{-ms-flex-align:center;align-items:center;color:#fff;display:-ms-flexbox;display:flex;font-family:\"Open Sans\",sans-serif;font-size:14px;height:100%;-ms-flex-pack:center;justify-content:center;line-height:150%;-webkit-user-select:none;-ms-user-select:none;user-select:none;width:80%}.progressbar-determinate .progressbar-container .progressbar-active--blue{background-color:#428bca}.progressbar-determinate .progressbar-container .progressbar-active--green{background-color:#0c9348}.progressbar-determinate .progressbar-container .progressbar-active--red{background-color:#c13018}.progressbar-determinate .progressbar-container .progressbar-active--yellow{background-color:#fcbf10;color:#212533}.progressbar-determinate .target{-ms-flex-align:start;align-items:flex-start;bottom:-38px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;position:absolute}.progressbar-determinate .target .target-line{background-color:#333;height:40px;margin:8px 0;width:1px}.progressbar-determinate .target .target-label{background-color:#426e78;border-radius:10px;color:#e5eaea;font-family:\"Open Sans\",sans-serif;font-size:12px;line-height:150%;padding:2px 12px}"]
16225
16345
  })
16226
- ], StatsCardComponent);
16227
- return StatsCardComponent;
16346
+ ], ProgressBarDeterminateComponent);
16347
+ return ProgressBarDeterminateComponent;
16228
16348
  }());
16229
16349
 
16230
- var StatsCardModule = /** @class */ (function () {
16231
- function StatsCardModule() {
16350
+ var ProgressBarIndeterminateComponent = /** @class */ (function () {
16351
+ function ProgressBarIndeterminateComponent() {
16232
16352
  }
16233
- StatsCardModule = __decorate([
16353
+ __decorate([
16354
+ core.Input()
16355
+ ], ProgressBarIndeterminateComponent.prototype, "activeColor", void 0);
16356
+ __decorate([
16357
+ core.Input()
16358
+ ], ProgressBarIndeterminateComponent.prototype, "label", void 0);
16359
+ ProgressBarIndeterminateComponent = __decorate([
16360
+ core.Component({
16361
+ selector: "s-progressbar-indeterminate",
16362
+ template: "<div class=\"progressbar-indeterminate\">\n <div class=\"progressbar-container\">\n <div class=\"indeterminate-bar\" [ngClass]=\"{\n 'indeterminate-bar--blue': activeColor === 'blue',\n 'indeterminate-bar--green': activeColor === 'green',\n 'indeterminate-bar--red': activeColor === 'red',\n 'indeterminate-bar--yellow': activeColor === 'yellow'\n }\"></div>\n </div>\n\n <span *ngIf=\"label\" class=\"progressbar-label\">{{ label }}</span>\n</div>\n",
16363
+ styles: [".progressbar-indeterminate{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center}.progressbar-indeterminate .progressbar-container{background-color:#d8d8d8;border-radius:4px;height:24px;margin:8px 0;overflow:hidden;width:100%}.progressbar-indeterminate .indeterminate-bar{animation:5s infinite indeterminate-progress;background-color:#428bca;height:100%;width:40%}.progressbar-indeterminate .indeterminate-bar--blue{background-color:#428bca}.progressbar-indeterminate .indeterminate-bar--green{background-color:#0c9348}.progressbar-indeterminate .indeterminate-bar--red{background-color:#c13018}.progressbar-indeterminate .indeterminate-bar--yellow{background-color:#fcbf10}.progressbar-indeterminate .progressbar-label{font-family:\"Open Sans\" sans-serif;font-size:12px;line-height:150%;color:#212533}@keyframes indeterminate-progress{0%{transform:translateX(-250%)}100%{transform:translateX(250%)}}"]
16364
+ })
16365
+ ], ProgressBarIndeterminateComponent);
16366
+ return ProgressBarIndeterminateComponent;
16367
+ }());
16368
+
16369
+ var ProgressBarModule = /** @class */ (function () {
16370
+ function ProgressBarModule() {
16371
+ }
16372
+ ProgressBarModule = __decorate([
16234
16373
  core.NgModule({
16235
- imports: [
16236
- common.CommonModule,
16237
- tooltip.TooltipModule,
16238
- ],
16374
+ imports: [common.CommonModule],
16239
16375
  declarations: [
16240
- StatsCardComponent,
16241
- ],
16242
- exports: [
16243
- StatsCardComponent,
16376
+ ProgressBarComponent,
16377
+ ProgressBarDeterminateComponent,
16378
+ ProgressBarIndeterminateComponent,
16244
16379
  ],
16380
+ exports: [ProgressBarComponent],
16245
16381
  })
16246
- ], StatsCardModule);
16247
- return StatsCardModule;
16382
+ ], ProgressBarModule);
16383
+ return ProgressBarModule;
16248
16384
  }());
16249
16385
 
16250
-
16251
- (function (StepState) {
16252
- StepState["Default"] = "default";
16253
- StepState["Success"] = "success";
16254
- StepState["Warning"] = "warning";
16255
- })(exports.StepState || (exports.StepState = {}));
16256
- var StepsComponent = /** @class */ (function () {
16257
- function StepsComponent() {
16258
- this.id = "s-steps-" + StepsComponent_1.nextId++;
16259
- this.activeIndex = 0;
16260
- this.stepSelected = new core.EventEmitter();
16386
+ var PanelComponent = /** @class */ (function () {
16387
+ function PanelComponent() {
16388
+ this.toggleable = true;
16389
+ this.collapsed = false;
16390
+ this.severity = exports.EnumSeverity.Default;
16391
+ this.collapsedChange = new core.EventEmitter();
16392
+ this.EnumSeverity = exports.EnumSeverity;
16261
16393
  }
16262
- StepsComponent_1 = StepsComponent;
16263
- StepsComponent.prototype.stepClick = function (step, index, event) {
16264
- if (step.disabled || index == this.activeIndex)
16265
- return;
16266
- this.stepSelected.emit({ step: step, index: index, event: event });
16267
- };
16268
- Object.defineProperty(StepsComponent.prototype, "stepState", {
16269
- get: function () {
16270
- return exports.StepState;
16271
- },
16272
- enumerable: true,
16273
- configurable: true
16274
- });
16275
- StepsComponent.prototype.barAnimation = function (index, activeIndex) {
16276
- var visited = index < activeIndex;
16277
- var activated = index === activeIndex;
16278
- return visited || activated;
16279
- };
16280
- StepsComponent.prototype.afterBarAnimation = function (index, activeIndex) {
16281
- var visited = index < activeIndex;
16282
- var activated = index === activeIndex - 1;
16283
- return visited || activated;
16394
+ PanelComponent.prototype.onCollapsedChange = function (collapsed) {
16395
+ this.collapsed = collapsed;
16396
+ this.collapsedChange.emit(this.collapsed);
16284
16397
  };
16285
- Object.defineProperty(StepsComponent.prototype, "visibledStep", {
16286
- get: function () {
16287
- return this.steps.filter(function (step) { return !step.hidden; });
16288
- },
16289
- enumerable: true,
16290
- configurable: true
16291
- });
16292
- var StepsComponent_1;
16293
- StepsComponent.nextId = 0;
16294
16398
  __decorate([
16295
16399
  core.Input()
16296
- ], StepsComponent.prototype, "id", void 0);
16400
+ ], PanelComponent.prototype, "header", void 0);
16297
16401
  __decorate([
16298
16402
  core.Input()
16299
- ], StepsComponent.prototype, "steps", void 0);
16403
+ ], PanelComponent.prototype, "toggleable", void 0);
16300
16404
  __decorate([
16301
16405
  core.Input()
16302
- ], StepsComponent.prototype, "activeIndex", void 0);
16406
+ ], PanelComponent.prototype, "collapsed", void 0);
16407
+ __decorate([
16408
+ core.Input()
16409
+ ], PanelComponent.prototype, "severity", void 0);
16410
+ __decorate([
16411
+ core.Input()
16412
+ ], PanelComponent.prototype, "borderButtonOptions", void 0);
16303
16413
  __decorate([
16304
16414
  core.Output()
16305
- ], StepsComponent.prototype, "stepSelected", void 0);
16306
- StepsComponent = StepsComponent_1 = __decorate([
16415
+ ], PanelComponent.prototype, "collapsedChange", void 0);
16416
+ PanelComponent = __decorate([
16307
16417
  core.Component({
16308
- selector: "s-steps",
16309
- template: "<div [id]=\"id\" class=\"s-steps-container\">\n <ng-container *ngFor=\"let step of visibledStep; let i = index; let isFirst = first; let isLast = last\">\n <div *ngIf=\"!isFirst\" class=\"s-step-progress-bar\"\n [@activeDesative]=\"barAnimation(i, activeIndex) ? 'active': 'desactive'\" [ngClass]=\"{\n 's-step-success': (step.state === stepState.Success),\n 's-step-warning': (step.state === stepState.Warning),\n 's-step-disabled': step.disabled,\n 's-step-visited': (i < activeIndex),\n 's-step-active': (i === activeIndex)\n }\"></div>\n <div [id]=\"id + '-step-' + (step.id || i)\" class=\"s-step-header\" (click)=\"stepClick(step, i, $event)\" role=\"tab\"\n tabindex=\"0\" [attr.aria-label]=\"step.ariaLabel || null\" [attr.aria-controls]=\"step.ariaControls\"\n [attr.aria-labelledby]=\"!step.ariaLabel ? 'step-label-' + i : null\" [attr.aria-posinset]=\"i + 1\"\n [attr.aria-setsize]=\"visibledStep.length\" [attr.aria-selected]=\"activeIndex == i\" [ngClass]=\"{\n 's-step-success': (step.state === stepState.Success),\n 's-step-warning': (step.state === stepState.Warning),\n 's-step-visited': (i < activeIndex),\n 's-step-active': (i === activeIndex),\n 's-step-previous': (i === activeIndex - 1)\n }\">\n <div *ngIf=\"!isFirst\"\n [@beforeActiveDesative]=\"barAnimation(i, activeIndex) ? 'active': 'desactive'\"\n class=\"s-step-progress-bar-before\" [ngClass]=\"{\n 's-step-success': (step.state === stepState.Success),\n 's-step-warning': (step.state === stepState.Warning),\n 's-step-disabled': step.disabled,\n 's-step-visited': (i < activeIndex),\n 's-step-active': (i === activeIndex)\n }\"></div>\n <div *ngIf=\"!isLast\"\n [@afterActiveDesative]=\"afterBarAnimation(i, activeIndex) ? 'active': 'desactive'\"\n class=\"s-step-progress-bar-after\" [ngClass]=\"{\n 's-step-success': (step.state === stepState.Success),\n 's-step-warning': (step.state === stepState.Warning),\n 's-step-disabled': visibledStep[i + 1].disabled,\n 's-step-visited': ((i + 1) < activeIndex),\n 's-step-active': (i === (activeIndex - 1))\n }\"></div>\n <div\n class=\"s-step-index\"\n [ngClass]=\"{'s-step-disabled': step.disabled}\"\n [pTooltip]=\"step.tooltip\"\n tooltipPosition=\"top\">\n <div class=\"s-step-index-content\">\n <span\n *ngIf=\"step.state !== stepState.Warning && (step.state == stepState.Success || activeIndex > i)\"\n class=\"fas fa-check\"\n aria-hidden=\"true\"\n [attr.aria-label]=\"i + 1\"></span>\n <span\n *ngIf=\"step.state == stepState.Warning\"\n class=\"fas fa-exclamation-triangle\"\n aria-hidden=\"true\"\n [attr.aria-label]=\"i + 1\"></span>\n <span\n *ngIf=\"step.state != stepState.Success && step.state != stepState.Warning && activeIndex <= i\">\n {{i + 1}}\n </span>\n </div>\n </div>\n <div\n [id]=\"'step-label-' + i\"\n class=\"s-step-label\"\n [ngClass]=\"{'s-step-disabled': step.disabled}\">\n <span>\n {{step.label}}\n </span>\n </div>\n </div>\n </ng-container>\n</div>\n",
16310
- host: {
16311
- "aria-orientation": "horizontal",
16312
- role: "tablist",
16313
- "tab-index": "0",
16314
- },
16418
+ selector: "s-panel",
16419
+ template: "<p-panel\n [toggleable]=\"toggleable\"\n [collapsed]=\"collapsed\"\n [ngClass]=\"{\n 'panel--severity-default': severity === EnumSeverity.Default,\n 'panel--severity-info': severity === EnumSeverity.Info,\n 'panel--severity-warn': severity === EnumSeverity.Warn,\n 'panel--severity-error': severity === EnumSeverity.Error,\n 'panel--severity-success': severity == EnumSeverity.Success\n }\"\n (collapsedChange)=\"onCollapsedChange($event)\"\n>\n <p-header>\n <s-border-button\n *ngIf=\"\n borderButtonOptions?.visible\n ? borderButtonOptions?.visible(severity)\n : false\n \"\n [severity]=\"severity\"\n [options]=\"borderButtonOptions\"\n class=\"panel__border-button\"\n [@BorderButtonAnimation]\n ></s-border-button>\n <span>\n {{ header }}\n </span>\n </p-header>\n\n <ng-content></ng-content>\n</p-panel>",
16315
16420
  animations: [
16316
- animations.trigger("beforeActiveDesative", [
16317
- animations.state("active", animations.style({
16318
- "background-position": "left bottom",
16319
- })),
16320
- animations.state("desactive", animations.style({
16321
- "background-position": "right bottom",
16322
- })),
16323
- animations.transition("active => desactive", [animations.animate("50ms 100ms linear")]),
16324
- animations.transition("desactive => active", [animations.animate("50ms 250ms linear")]),
16325
- ]),
16326
- animations.trigger("activeDesative", [
16327
- animations.state("active", animations.style({
16328
- "background-position": "left bottom",
16329
- })),
16330
- animations.state("desactive", animations.style({
16331
- "background-position": "right bottom",
16332
- })),
16333
- animations.transition("active => desactive", [animations.animate("100ms 150ms linear")]),
16334
- animations.transition("desactive => active", [animations.animate("100ms 150ms linear")]),
16335
- ]),
16336
- animations.trigger("afterActiveDesative", [
16337
- animations.state("active", animations.style({
16338
- "background-position": "left bottom",
16339
- })),
16340
- animations.state("desactive", animations.style({
16341
- "background-position": "right bottom",
16342
- })),
16343
- animations.transition("active => desactive", [animations.animate("50ms 250ms linear")]),
16344
- animations.transition("desactive => active", [animations.animate("50ms 100ms linear")]),
16421
+ animations.trigger("BorderButtonAnimation", [
16422
+ animations.transition(":enter", [
16423
+ animations.style({ transform: "scaleY(0)", opacity: 0 }),
16424
+ animations.animate("300ms ease", animations.style({ transform: "scaleY(1)", opacity: 1 })),
16425
+ ]),
16426
+ animations.transition(":leave", [
16427
+ animations.style({ transform: "scaleY(1)", opacity: 1 }),
16428
+ animations.animate("300ms ease", animations.style({ transform: "scaleY(0)", opacity: 0 })),
16429
+ ]),
16345
16430
  ]),
16346
16431
  ],
16347
- styles: ["@keyframes scale-up-center{0%{transform:scale(.5)}100%{transform:scale(1)}}.s-steps-container{display:-ms-flexbox;display:flex;white-space:nowrap;-ms-flex-align:start;align-items:flex-start;overflow:hidden;padding:15px 10px}.s-step-header{box-sizing:border-box;-ms-flex-direction:column;flex-direction:column;cursor:pointer;position:relative;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;height:66px}.s-step-header .s-step-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-break:break-all;color:#999;font-size:14px;font-weight:400;padding-top:5px}.s-step-header .s-step-progress-bar-before{margin:0;position:absolute;top:20px;-ms-flex:auto;flex:auto;height:3px;overflow:hidden;width:calc(50% - 20px);background-color:#ccc;background-image:linear-gradient(to right,#7892a1 50%,#ccc 50%);background-position:right bottom;background-size:300% 100%;left:0}.s-step-header .s-step-progress-bar-before.s-step-active,.s-step-header .s-step-progress-bar-before.s-step-visited{background-position:left bottom}.s-step-header .s-step-progress-bar-after{margin:0;position:absolute;top:20px;-ms-flex:auto;flex:auto;height:3px;overflow:hidden;width:calc(50% - 20px);background-color:#ccc;background-image:linear-gradient(to right,#7892a1 50%,#ccc 50%);background-position:right bottom;background-size:300% 100%;right:0}.s-step-header .s-step-progress-bar-after.s-step-active,.s-step-header .s-step-progress-bar-after.s-step-visited{background-position:left bottom}.s-step-progress-bar{margin:0;position:relative;top:20px;-ms-flex:auto;flex:auto;height:3px;overflow:hidden;width:100%;background-color:#ccc;background-image:linear-gradient(to right,#7892a1 50%,#ccc 50%);background-position:right bottom;background-size:300% 100%}.s-step-disabled{opacity:.5;filter:Alpha(Opacity=50)}.s-step-disabled,.s-step-disabled *{cursor:text!important}.s-step-active.s-step-disabled{opacity:1}.s-step-index{background-color:#fff;border:3px solid #ccc;border-radius:50%;color:#999;display:inline-block;font-weight:700;position:relative;transition:background-color .2s ease-out;height:40px;width:40px;-ms-flex:none;flex:none}.s-step-index .s-step-index-content{line-height:18px;font-size:18px;padding-top:8.5px;text-align:center;position:relative;cursor:pointer}.s-step-index:hover{background-color:#f7f7f7}.s-step-warning .s-step-index .s-step-index-content{padding-top:7px}.s-step-visited .s-step-index{border-color:#7892a1;animation:.1s ease-out alternate scale-up-center;background-color:#7892a1}.s-step-visited .s-step-index-content>span{color:#fff}.s-step-active.s-step-progress-bar,.s-step-visited.s-step-progress-bar{background-position:left bottom}.s-step-active .s-step-index{border-color:#7892a1;color:#7892a1;cursor:default}.s-step-active .s-step-label{color:#333;font-weight:700}@media (max-width:767px){.s-step-label{display:none}}"]
16432
+ styles: [":host{display:block}:host ::ng-deep .ui-panel{position:relative}:host ::ng-deep .panel--severity-default .ui-panel{border-color:#ccc}:host ::ng-deep .panel--severity-info .ui-panel{border-color:#428bca;transition:border-color .5s}:host ::ng-deep .panel--severity-warn .ui-panel{border-color:#f8931f;transition:border-color .5s}:host ::ng-deep .panel--severity-error .ui-panel{border-color:#c13018;transition:border-color .5s}:host ::ng-deep .panel--severity-success .ui-panel{border-color:#0c9348;transition:border-color .5s}.panel__border-button{position:absolute;top:-13px;right:15px;z-index:1}"]
16348
16433
  })
16349
- ], StepsComponent);
16350
- return StepsComponent;
16434
+ ], PanelComponent);
16435
+ return PanelComponent;
16351
16436
  }());
16352
16437
 
16353
- var StepsModule = /** @class */ (function () {
16354
- function StepsModule() {
16438
+ var PanelModule = /** @class */ (function () {
16439
+ function PanelModule() {
16355
16440
  }
16356
- StepsModule = __decorate([
16441
+ PanelModule = __decorate([
16357
16442
  core.NgModule({
16358
- imports: [common.CommonModule, tooltip.TooltipModule],
16359
- declarations: [StepsComponent],
16360
- exports: [StepsComponent],
16443
+ imports: [common.CommonModule, panel.PanelModule, BorderButtonModule],
16444
+ declarations: [PanelComponent],
16445
+ exports: [PanelComponent],
16361
16446
  })
16362
- ], StepsModule);
16363
- return StepsModule;
16364
- }());
16365
-
16366
- var TieredMenuEventService = /** @class */ (function () {
16367
- function TieredMenuEventService() {
16368
- this.incrementCurrentItemEvent = new core.EventEmitter();
16369
- this.decrementCurrentItemEvent = new core.EventEmitter();
16370
- this.closeAllMenusEvent = new core.EventEmitter();
16371
- this.selectItemEvent = new core.EventEmitter();
16372
- this.openItemMenuEvent = new core.EventEmitter();
16373
- this.closeItemMenuEvent = new core.EventEmitter();
16374
- this.createMenuEvent = new core.EventEmitter();
16375
- }
16376
- TieredMenuEventService = __decorate([
16377
- core.Injectable()
16378
- ], TieredMenuEventService);
16379
- return TieredMenuEventService;
16447
+ ], PanelModule);
16448
+ return PanelModule;
16380
16449
  }());
16381
16450
 
16382
- var TieredMenuService = /** @class */ (function () {
16383
- function TieredMenuService() {
16384
- this.currentItems = [];
16385
- this.items = [];
16451
+ var RatingScaleComponent = /** @class */ (function () {
16452
+ function RatingScaleComponent() {
16453
+ this.disabled = false;
16386
16454
  }
16387
- TieredMenuService.prototype.normalizeData = function (items, parent) {
16388
- var _this = this;
16389
- return items.map(function (i) {
16390
- var item = __assign({ visible: true }, i);
16391
- if (item.submenu) {
16392
- item.submenu = _this.normalizeData(item.submenu, item);
16393
- }
16394
- item.id = _this._generateId();
16395
- item.parent = parent;
16396
- item.isOpen = false;
16397
- return item;
16398
- });
16399
- };
16400
- TieredMenuService.prototype.markAllItemsAsClosed = function (items) {
16401
- var _this = this;
16402
- return items.map(function (i) {
16403
- var item = __assign({}, i);
16404
- if (item.submenu) {
16405
- item.submenu = _this.markAllItemsAsClosed(item.submenu);
16406
- }
16407
- item.isOpen = false;
16408
- return item;
16409
- });
16410
- };
16411
- TieredMenuService.prototype.searchTheHierarchy = function (itemA, itemB) {
16412
- var item = itemB;
16413
- while (item) {
16414
- if (item === itemA) {
16415
- return true;
16416
- }
16417
- item = item.parent;
16455
+ RatingScaleComponent_1 = RatingScaleComponent;
16456
+ RatingScaleComponent.prototype.writeValue = function (value) {
16457
+ if (!this.disabled) {
16458
+ this.value = value;
16418
16459
  }
16419
- return false;
16420
16460
  };
16421
- TieredMenuService.prototype.cloneItems = function (items) {
16422
- return JSON.parse(JSON.stringify(items));
16461
+ RatingScaleComponent.prototype.registerOnChange = function (onChange) {
16462
+ this._onChange = onChange;
16423
16463
  };
16424
- TieredMenuService.prototype._generateId = function () {
16425
- return "id-" + Math.random().toString(36).substring(2, 9) + "-" + Math.random().toString(36).substring(2, 9) + "-" + Math.random().toString(36).substring(2, 9);
16464
+ RatingScaleComponent.prototype.registerOnTouched = function (onTouched) {
16465
+ this._onTouched = onTouched;
16426
16466
  };
16427
- TieredMenuService = __decorate([
16428
- core.Injectable()
16429
- ], TieredMenuService);
16430
- return TieredMenuService;
16467
+ RatingScaleComponent.prototype.onSelect = function (rating) {
16468
+ this.value = rating;
16469
+ if (this._onChange) {
16470
+ this._onChange(this.value);
16471
+ }
16472
+ };
16473
+ var RatingScaleComponent_1;
16474
+ __decorate([
16475
+ core.Input()
16476
+ ], RatingScaleComponent.prototype, "nodes", void 0);
16477
+ __decorate([
16478
+ core.Input()
16479
+ ], RatingScaleComponent.prototype, "startLabel", void 0);
16480
+ __decorate([
16481
+ core.Input()
16482
+ ], RatingScaleComponent.prototype, "endLabel", void 0);
16483
+ __decorate([
16484
+ core.Input()
16485
+ ], RatingScaleComponent.prototype, "disabled", void 0);
16486
+ RatingScaleComponent = RatingScaleComponent_1 = __decorate([
16487
+ core.Component({
16488
+ selector: "s-rating-scale",
16489
+ template: "<div\n class=\"rating-scale\"\n [ngClass]=\"{ 'rating-scale--disabled': disabled }\">\n <div class=\"nodes\">\n <button\n *ngFor=\"let node of nodes; index as i\"\n class=\"node\"\n [ngClass]=\"{ 'node--selected': value?.id === node.id && !disabled }\"\n tabindex=\"0\"\n (click)=\"onSelect(node)\"> \n <span\n *ngIf=\"node.icon\"\n class=\"icon fas\"\n [ngClass]=\"node.icon\">\n </span>\n <span\n *ngIf=\"node.title\"\n class=\"label\">\n {{ node.title }}\n </span>\n </button>\n </div>\n <div class=\"labels\">\n <span>{{ startLabel }}</span>\n <span>{{ endLabel }}</span>\n </div>\n</div>",
16490
+ providers: [{
16491
+ provide: forms.NG_VALUE_ACCESSOR,
16492
+ useExisting: core.forwardRef(function () { return RatingScaleComponent_1; }),
16493
+ multi: true,
16494
+ }],
16495
+ styles: [".rating-scale{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.rating-scale .nodes{display:-ms-flexbox;display:flex}.rating-scale .nodes .node{-ms-flex-align:center;align-items:center;background-color:#fff;border-radius:6px;display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-ms-flex-pack:center;justify-content:center;margin:0 2px;padding:8px;border:1px solid #7892a1}.rating-scale .nodes .node .icon{color:#6e7280;font-size:1rem}.rating-scale .nodes .node .label{color:#212533;font-size:.875rem;font-weight:400;line-height:150%}.rating-scale .nodes .node .icon,.rating-scale .nodes .node .label{margin:6px}.rating-scale .nodes .node--selected{background-color:#d5e8ec;border-color:#428bca;color:#428bca}.rating-scale .nodes .node:first-child{margin-left:0}.rating-scale .nodes .node:last-child{margin-right:0}.rating-scale .labels{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;padding:12px 0}.rating-scale .labels span{color:#080808;font-family:\"Open Sans\" sans-serif;font-size:.875rem;font-weight:400;line-height:150%}.rating-scale--disabled{opacity:.5}.rating-scale:not(.rating-scale--disabled) .node{cursor:pointer}.rating-scale:not(.rating-scale--disabled) .node:hover{background-color:#dedce5}.rating-scale:not(.rating-scale--disabled) .node:focus{border-width:2px;outline:0}"]
16496
+ })
16497
+ ], RatingScaleComponent);
16498
+ return RatingScaleComponent;
16431
16499
  }());
16432
16500
 
16433
- var TieredMenuNestedComponent = /** @class */ (function () {
16434
- function TieredMenuNestedComponent(tieredMenuService, _tieredMenuEventService) {
16435
- this.tieredMenuService = tieredMenuService;
16436
- this._tieredMenuEventService = _tieredMenuEventService;
16437
- this.top = 0;
16438
- this.left = 0;
16439
- this._unsubscribe$ = new rxjs.Subject();
16501
+ var RatingScaleModule = /** @class */ (function () {
16502
+ function RatingScaleModule() {
16440
16503
  }
16441
- TieredMenuNestedComponent.prototype.onResize = function () {
16442
- this._tieredMenuEventService.closeAllMenusEvent.emit();
16443
- };
16444
- TieredMenuNestedComponent.prototype.onDocumentClick = function (event) {
16445
- // Closing menu when clicked outside.
16446
- var target = event.target;
16447
- var clickedInside = target.closest("s-tiered-menu-item") || target.closest("s-tiered-menu-divider");
16448
- if (!clickedInside) {
16449
- this._tieredMenuEventService.closeAllMenusEvent.emit();
16450
- }
16451
- };
16452
- TieredMenuNestedComponent.prototype.onKeydownHandler = function (event) {
16453
- switch (event.key) {
16454
- case "Escape":
16455
- this._tieredMenuEventService.closeAllMenusEvent.emit();
16456
- break;
16457
- case " ":
16458
- case "Enter":
16459
- this._tieredMenuEventService.selectItemEvent.emit(this.tieredMenuService.currentItem);
16460
- break;
16461
- case "ArrowLeft":
16462
- // When nested I need a reference to the current item's parent item, otherwise just the current item.
16463
- this._tieredMenuEventService.closeItemMenuEvent.emit(this.tieredMenuService.currentItem.parent);
16464
- break;
16465
- case "ArrowRight":
16466
- this._tieredMenuEventService.openItemMenuEvent.emit(this.tieredMenuService.currentItem);
16467
- break;
16468
- case "ArrowUp":
16469
- this._tieredMenuEventService.decrementCurrentItemEvent.emit();
16470
- break;
16471
- case "ArrowDown":
16472
- this._tieredMenuEventService.incrementCurrentItemEvent.emit();
16473
- break;
16474
- }
16475
- };
16476
- TieredMenuNestedComponent.prototype.ngOnInit = function () {
16477
- this.tieredMenuService.currentItems = this.items;
16478
- this._subscribeEvents();
16479
- };
16480
- TieredMenuNestedComponent.prototype.ngOnDestroy = function () {
16481
- this._unsubscribe$.next();
16482
- this._unsubscribe$.complete();
16483
- };
16484
- TieredMenuNestedComponent.prototype._incrementCurItem = function () {
16485
- if (!this.tieredMenuService.currentItem) {
16486
- this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[0];
16487
- return;
16488
- }
16489
- var curIndex = this.tieredMenuService.currentItems.indexOf(this.tieredMenuService.currentItem) + 1;
16490
- if (curIndex < this.tieredMenuService.currentItems.length) {
16491
- this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[curIndex];
16492
- }
16493
- else {
16494
- this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[0];
16495
- }
16496
- if (this.tieredMenuService.currentItem.divider) {
16497
- this._incrementCurItem();
16498
- }
16499
- };
16500
- TieredMenuNestedComponent.prototype._decrementCurItem = function () {
16501
- if (!this.tieredMenuService.currentItem) {
16502
- this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[0];
16504
+ RatingScaleModule = __decorate([
16505
+ core.NgModule({
16506
+ imports: [
16507
+ common.CommonModule,
16508
+ forms.ReactiveFormsModule,
16509
+ ],
16510
+ declarations: [RatingScaleComponent],
16511
+ exports: [RatingScaleComponent],
16512
+ })
16513
+ ], RatingScaleModule);
16514
+ return RatingScaleModule;
16515
+ }());
16516
+
16517
+ var SelectButtonComponent = /** @class */ (function () {
16518
+ function SelectButtonComponent() {
16519
+ this.multiple = false;
16520
+ this.itemSelected = new core.EventEmitter();
16521
+ this.itemClicked = new core.EventEmitter();
16522
+ this.disabled = false;
16523
+ this.activeItems = new Set();
16524
+ }
16525
+ SelectButtonComponent_1 = SelectButtonComponent;
16526
+ SelectButtonComponent.prototype.writeValue = function (value) {
16527
+ var _this = this;
16528
+ if (!value)
16503
16529
  return;
16504
- }
16505
- var curIndex = this.tieredMenuService.currentItems.indexOf(this.tieredMenuService.currentItem) - 1;
16506
- if (curIndex >= 0) {
16507
- this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[curIndex];
16530
+ this.activeItems.clear();
16531
+ if (Array.isArray(value)) {
16532
+ value.forEach(function (item) {
16533
+ _this.items.forEach(function (iItem) {
16534
+ if (_this._compareItems(item, iItem)) {
16535
+ _this.activeItems.add(iItem);
16536
+ }
16537
+ });
16538
+ });
16508
16539
  }
16509
16540
  else {
16510
- this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[this.tieredMenuService.currentItems.length - 1];
16511
- }
16512
- if (this.tieredMenuService.currentItem.divider) {
16513
- this._decrementCurItem();
16541
+ this.items.forEach(function (iItem) {
16542
+ if (_this._compareItems(value, iItem)) {
16543
+ _this.activeItems.add(iItem);
16544
+ }
16545
+ });
16514
16546
  }
16515
16547
  };
16516
- TieredMenuNestedComponent.prototype._closeItem = function (item) {
16517
- var _a;
16518
- var itemAux = this._lastOpenItem;
16519
- while (itemAux && itemAux != item) {
16520
- itemAux.isOpen = false;
16521
- itemAux = itemAux.parent;
16522
- }
16523
- item.isOpen = false;
16524
- this.tieredMenuService.currentItem = itemAux !== null && itemAux !== void 0 ? itemAux : this.tieredMenuService.items[0];
16525
- this.tieredMenuService.currentItems = ((_a = itemAux === null || itemAux === void 0 ? void 0 : itemAux.parent) === null || _a === void 0 ? void 0 : _a.submenu) || this.tieredMenuService.items;
16548
+ SelectButtonComponent.prototype.registerOnChange = function (onChange) {
16549
+ this.onChange = onChange;
16526
16550
  };
16527
- TieredMenuNestedComponent.prototype._openItem = function (item) {
16528
- if (item === null || item === void 0 ? void 0 : item.submenu) {
16529
- item.isOpen = true;
16530
- this.tieredMenuService.currentItems = item.submenu;
16531
- // Only has focus if there has already been interaction.
16532
- if (this.tieredMenuService.currentItem) {
16533
- this.tieredMenuService.currentItem = item.submenu[0];
16534
- }
16535
- this._lastOpenItem = item;
16551
+ SelectButtonComponent.prototype.registerOnTouched = function (onTouched) {
16552
+ this.onTouched = onTouched;
16553
+ };
16554
+ SelectButtonComponent.prototype.setDisabledState = function (disabled) {
16555
+ this.disabled = disabled;
16556
+ };
16557
+ SelectButtonComponent.prototype.onItemSelect = function (item) {
16558
+ var _a, _b;
16559
+ if (this.disabled || item.disabled)
16560
+ return;
16561
+ this.itemClicked.emit(item);
16562
+ if (!this.multiple) {
16563
+ this.activeItems.clear();
16536
16564
  }
16565
+ this.activeItems.add(item);
16566
+ this.itemSelected.emit(__spread(this.activeItems));
16567
+ (_a = this.onChange) === null || _a === void 0 ? void 0 : _a.call(this, __spread(this.activeItems));
16568
+ (_b = this.onTouched) === null || _b === void 0 ? void 0 : _b.call(this, __spread(this.activeItems));
16537
16569
  };
16538
- TieredMenuNestedComponent.prototype._subscribeEvents = function () {
16539
- var _this = this;
16540
- this._tieredMenuEventService.incrementCurrentItemEvent
16541
- .pipe(operators.takeUntil(this._unsubscribe$))
16542
- .subscribe(function () {
16543
- _this._incrementCurItem();
16544
- });
16545
- this._tieredMenuEventService.decrementCurrentItemEvent
16546
- .pipe(operators.takeUntil(this._unsubscribe$))
16547
- .subscribe(function () {
16548
- _this._decrementCurItem();
16549
- });
16550
- this._tieredMenuEventService.selectItemEvent
16551
- .pipe(operators.takeUntil(this._unsubscribe$))
16552
- .subscribe(function (item) {
16553
- if (item.command) {
16554
- item.command();
16555
- // Close all menus after the item was selected.
16556
- _this._tieredMenuEventService.closeAllMenusEvent.emit();
16570
+ SelectButtonComponent.prototype._compareItems = function (item1, item2) {
16571
+ var _compare = function (a, b) {
16572
+ var e_1, _a;
16573
+ if (a === b) {
16574
+ return true;
16557
16575
  }
16558
- });
16559
- this._tieredMenuEventService.openItemMenuEvent
16560
- .pipe(operators.takeUntil(this._unsubscribe$))
16561
- .subscribe(function (item) {
16562
- var _a, _b;
16563
- if (!_this.tieredMenuService.currentItems.includes(item)) {
16564
- var itemAux = _this._lastOpenItem;
16565
- while ((_a = itemAux === null || itemAux === void 0 ? void 0 : itemAux.parent) === null || _a === void 0 ? void 0 : _a.parent) {
16566
- itemAux = itemAux.parent;
16576
+ if (a === undefined || b === undefined || typeof a !== "object" || a === null || typeof b !== "object" || b === null) {
16577
+ return false;
16578
+ }
16579
+ if (Array.isArray(a) !== Array.isArray(b)) {
16580
+ return false;
16581
+ }
16582
+ var keysA = Object.keys(a);
16583
+ var keysB = Object.keys(b);
16584
+ if (keysA.length !== keysB.length) {
16585
+ return false;
16586
+ }
16587
+ try {
16588
+ for (var keysA_1 = __values(keysA), keysA_1_1 = keysA_1.next(); !keysA_1_1.done; keysA_1_1 = keysA_1.next()) {
16589
+ var key = keysA_1_1.value;
16590
+ if (!keysB.includes(key) || !_compare(a[key], b[key])) {
16591
+ return false;
16592
+ }
16567
16593
  }
16568
- _this._tieredMenuEventService.closeItemMenuEvent.emit((_b = itemAux.parent) !== null && _b !== void 0 ? _b : itemAux);
16569
16594
  }
16570
- _this._lastOpenItem = item;
16571
- _this._openItem(item);
16572
- });
16573
- this._tieredMenuEventService.closeItemMenuEvent
16574
- .pipe(operators.takeUntil(this._unsubscribe$))
16575
- .subscribe(function (item) {
16576
- if (item) {
16577
- _this._closeItem(item);
16595
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
16596
+ finally {
16597
+ try {
16598
+ if (keysA_1_1 && !keysA_1_1.done && (_a = keysA_1.return)) _a.call(keysA_1);
16599
+ }
16600
+ finally { if (e_1) throw e_1.error; }
16578
16601
  }
16579
- });
16602
+ for (var key in a) {
16603
+ if (a.hasOwnProperty(key) !== b.hasOwnProperty(key)) {
16604
+ return false;
16605
+ }
16606
+ }
16607
+ return true;
16608
+ };
16609
+ return _compare(item1, item2);
16580
16610
  };
16581
- TieredMenuNestedComponent.ctorParameters = function () { return [
16582
- { type: TieredMenuService },
16583
- { type: TieredMenuEventService }
16611
+ var SelectButtonComponent_1;
16612
+ __decorate([
16613
+ core.Input()
16614
+ ], SelectButtonComponent.prototype, "items", void 0);
16615
+ __decorate([
16616
+ core.Input()
16617
+ ], SelectButtonComponent.prototype, "multiple", void 0);
16618
+ __decorate([
16619
+ core.Output()
16620
+ ], SelectButtonComponent.prototype, "itemSelected", void 0);
16621
+ __decorate([
16622
+ core.Output()
16623
+ ], SelectButtonComponent.prototype, "itemClicked", void 0);
16624
+ SelectButtonComponent = SelectButtonComponent_1 = __decorate([
16625
+ core.Component({
16626
+ selector: "s-select-button",
16627
+ template: "<div\n class=\"select-button\"\n [ngClass]=\"{ 'select-button--disabled': disabled }\">\n <s-select-button-item\n *ngFor=\"let item of items; index as i\"\n [label]=\"item.label\"\n [active]=\"activeItems?.has(item)\"\n [disabled]=\"disabled || item.disabled\"\n [first]=\"i === 0\"\n [last]=\"i === items.length - 1\"\n (click)=\"onItemSelect(item)\">\n </s-select-button-item>\n</div>",
16628
+ providers: [
16629
+ {
16630
+ provide: forms.NG_VALUE_ACCESSOR,
16631
+ useExisting: core.forwardRef(function () { return SelectButtonComponent_1; }),
16632
+ multi: true,
16633
+ },
16634
+ ],
16635
+ styles: [".select-button{overflow:hidden}"]
16636
+ })
16637
+ ], SelectButtonComponent);
16638
+ return SelectButtonComponent;
16639
+ }());
16640
+
16641
+ var SelectButtonItemComponent = /** @class */ (function () {
16642
+ function SelectButtonItemComponent() {
16643
+ this.active = false;
16644
+ this.first = false;
16645
+ this.last = false;
16646
+ this.disabled = false;
16647
+ }
16648
+ __decorate([
16649
+ core.Input()
16650
+ ], SelectButtonItemComponent.prototype, "label", void 0);
16651
+ __decorate([
16652
+ core.Input()
16653
+ ], SelectButtonItemComponent.prototype, "active", void 0);
16654
+ __decorate([
16655
+ core.Input()
16656
+ ], SelectButtonItemComponent.prototype, "first", void 0);
16657
+ __decorate([
16658
+ core.Input()
16659
+ ], SelectButtonItemComponent.prototype, "last", void 0);
16660
+ __decorate([
16661
+ core.Input()
16662
+ ], SelectButtonItemComponent.prototype, "disabled", void 0);
16663
+ SelectButtonItemComponent = __decorate([
16664
+ core.Component({
16665
+ selector: "s-select-button-item",
16666
+ template: "<button\n class=\"select-button-item\"\n [ngClass]=\"{\n 'select-button-item--active': active,\n 'select-button-item--disabled': disabled,\n 'select-button-item--first': first,\n 'select-button-item--last': last\n }\">\n <span class=\"select-button-item__label\">{{ label }}</span>\n</button>",
16667
+ styles: [".select-button-item{padding:8px 12px;cursor:pointer;background-color:#fff;border:none;border-left:1px solid #c1c1cc;border-top:1px solid #c1c1cc;border-bottom:1px solid #c1c1cc}.select-button-item__label{font-family:\"Open Sans\" sans-serif;font-size:14px}.select-button-item:not(.select-button-item--disabled):not(.select-button-item--active):hover{background-color:#eeebf2}.select-button-item--active,.select-button-item--active:hover{background-color:#c1c1cc;font-weight:700}.select-button-item--disabled{opacity:.5;cursor:default}.select-button-item--first{border-top-left-radius:2px;border-bottom-left-radius:2px}.select-button-item--last{border-right:1px solid #c1c1cc;border-top-right-radius:2px;border-bottom-right-radius:2px}"]
16668
+ })
16669
+ ], SelectButtonItemComponent);
16670
+ return SelectButtonItemComponent;
16671
+ }());
16672
+
16673
+ var SelectButtonModule = /** @class */ (function () {
16674
+ function SelectButtonModule() {
16675
+ }
16676
+ SelectButtonModule = __decorate([
16677
+ core.NgModule({
16678
+ imports: [common.CommonModule],
16679
+ declarations: [
16680
+ SelectButtonComponent,
16681
+ SelectButtonItemComponent,
16682
+ ],
16683
+ exports: [SelectButtonComponent],
16684
+ })
16685
+ ], SelectButtonModule);
16686
+ return SelectButtonModule;
16687
+ }());
16688
+
16689
+ var SidebarComponent = /** @class */ (function () {
16690
+ function SidebarComponent(focusTrapFactory) {
16691
+ this.focusTrapFactory = focusTrapFactory;
16692
+ this.id = "s-sidebar-" + SidebarComponent_1.nextId++;
16693
+ this.visible = false;
16694
+ this.baseZIndex = 0;
16695
+ this.largeSized = false;
16696
+ this.visibleChange = new core.EventEmitter();
16697
+ }
16698
+ SidebarComponent_1 = SidebarComponent;
16699
+ SidebarComponent.prototype.onShow = function () {
16700
+ dom.DomHandler.addClass(document.body, "ui-overflow-hidden-sidebar");
16701
+ var focusTrap = this.focusTrapFactory.create(this.innerSidebar.containerViewChild.nativeElement, false);
16702
+ focusTrap.focusInitialElementWhenReady();
16703
+ };
16704
+ SidebarComponent.prototype.onHide = function () {
16705
+ dom.DomHandler.removeClass(document.body, "ui-overflow-hidden-sidebar");
16706
+ };
16707
+ SidebarComponent.prototype.close = function (event) {
16708
+ dom.DomHandler.removeClass(document.body, "ui-overflow-hidden-sidebar");
16709
+ this.visibleChange.emit(false);
16710
+ event.preventDefault();
16711
+ };
16712
+ var SidebarComponent_1;
16713
+ SidebarComponent.nextId = 0;
16714
+ SidebarComponent.ctorParameters = function () { return [
16715
+ { type: a11y.FocusTrapFactory }
16584
16716
  ]; };
16585
16717
  __decorate([
16586
- core.HostListener("window:resize")
16587
- ], TieredMenuNestedComponent.prototype, "onResize", null);
16718
+ core.Input()
16719
+ ], SidebarComponent.prototype, "id", void 0);
16720
+ __decorate([
16721
+ core.Input()
16722
+ ], SidebarComponent.prototype, "visible", void 0);
16723
+ __decorate([
16724
+ core.Input()
16725
+ ], SidebarComponent.prototype, "header", void 0);
16726
+ __decorate([
16727
+ core.Input()
16728
+ ], SidebarComponent.prototype, "baseZIndex", void 0);
16588
16729
  __decorate([
16589
- core.HostListener("document:click", ["$event"])
16590
- ], TieredMenuNestedComponent.prototype, "onDocumentClick", null);
16730
+ core.Input()
16731
+ ], SidebarComponent.prototype, "largeSized", void 0);
16591
16732
  __decorate([
16592
- core.HostListener("document:keydown", ["$event"])
16593
- ], TieredMenuNestedComponent.prototype, "onKeydownHandler", null);
16594
- TieredMenuNestedComponent = __decorate([
16733
+ core.Output()
16734
+ ], SidebarComponent.prototype, "visibleChange", void 0);
16735
+ __decorate([
16736
+ core.ViewChild(sidebar.Sidebar, { static: true })
16737
+ ], SidebarComponent.prototype, "innerSidebar", void 0);
16738
+ __decorate([
16739
+ core.ContentChild(HeaderComponent, { static: true })
16740
+ ], SidebarComponent.prototype, "headerSection", void 0);
16741
+ __decorate([
16742
+ core.ContentChild(FooterComponent, { static: true })
16743
+ ], SidebarComponent.prototype, "footerSection", void 0);
16744
+ SidebarComponent = SidebarComponent_1 = __decorate([
16595
16745
  core.Component({
16596
- 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.visible && !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",
16597
- 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}"]
16746
+ selector: "s-sidebar",
16747
+ template: "<p-sidebar\n [id]=\"id\"\n [visible]=\"visible\"\n (visibleChange)=\"visibleChange.emit($event)\"\n [blockScroll]=\"true\"\n [baseZIndex]=\"baseZIndex\"\n [modal]=\"true\"\n [dismissible]=\"false\"\n [showCloseIcon]=\"false\"\n position=\"right\"\n appendTo=\"body\"\n [styleClass]=\"largeSized ? 's-sidebar-panel s-sidebar-panel-lg' : 's-sidebar-panel'\"\n (onShow)=\"onShow()\"\n (onHide)=\"onHide()\">\n <div\n [id]=\"id + '-container'\"\n class=\"s-sidebar-container\">\n <a\n href=\"#\"\n role=\"button\"\n class=\"s-sidebar-close\"\n (click)=\"close($event)\">\n <span\n class=\"fa fa-times\"\n aria-hidden=\"true\">\n </span></a>\n <div\n *ngIf=\"header && !headerSection\" \n [id]=\"id + '-header'\"\n class=\"s-sidebar-header\">\n <h2 class=\"sds-panel-title s-sidebar-header__title\">{{header}}</h2>\n </div>\n <div\n *ngIf=\"headerSection\" \n [id]=\"id + '-header'\"\n class=\"s-sidebar-header\">\n <ng-content select=\"s-header\"></ng-content>\n </div>\n <p-scrollPanel\n [id]=\"id + '-content-container'\"\n class=\"s-sidebar-content-container\"\n styleClass=\"s-sidebar-content\">\n <ng-content></ng-content>\n </p-scrollPanel>\n <div\n *ngIf=\"footerSection\"\n [id]=\"id + '-footer'\"\n class=\"s-sidebar-footer\">\n <ng-content select=\"s-footer\"></ng-content>\n </div>\n </div>\n</p-sidebar>\n",
16748
+ encapsulation: core.ViewEncapsulation.None,
16749
+ styles: [".ui-overflow-hidden-sidebar{overflow:hidden}body .ui-sidebar.s-sidebar-panel{width:50%;padding:0}@media (max-width:767px){body .ui-sidebar.s-sidebar-panel{width:100%}}@media (min-width:768px){body .ui-sidebar.s-sidebar-panel{width:75%}}@media (min-width:992px){body .ui-sidebar.s-sidebar-panel{width:50%}body .ui-sidebar.s-sidebar-panel.s-sidebar-panel-lg{width:75%}}body .ui-sidebar.s-sidebar-panel .s-sidebar-container{height:100%;width:100%;padding:20px;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-direction:column;flex-direction:column}body .ui-sidebar.s-sidebar-panel .s-sidebar-close{position:absolute;right:20px;top:20px;color:#333}body .ui-sidebar.s-sidebar-panel .s-sidebar-header{border-bottom:1px solid #ccc;padding-bottom:15px;padding-right:20px;margin-bottom:15px;-ms-flex-negative:0;flex-shrink:0}body .ui-sidebar.s-sidebar-panel .s-sidebar-content-container{-ms-flex:1;flex:1;overflow:hidden}body .ui-sidebar.s-sidebar-panel .s-sidebar-content{height:100%}body .ui-sidebar.s-sidebar-panel .s-sidebar-footer{border-top:1px solid #ccc;padding-top:15px;margin-top:15px;-ms-flex-negative:0;flex-shrink:0}body .ui-sidebar.s-sidebar-panel p-scrollpanel{padding-top:30px}body .ui-sidebar.s-sidebar-panel .s-sidebar-header+p-scrollpanel{padding-top:0}p-scrollPanel{display:block}.s-sidebar-header__title{font-weight:400}"]
16598
16750
  })
16599
- ], TieredMenuNestedComponent);
16600
- return TieredMenuNestedComponent;
16751
+ ], SidebarComponent);
16752
+ return SidebarComponent;
16601
16753
  }());
16602
16754
 
16603
- var TieredMenuComponent = /** @class */ (function () {
16604
- function TieredMenuComponent(_appRef, _componentFactoryResolver, _injector, _changeDetectorRef, tieredMenuService, _tieredMenuEventService) {
16605
- this._appRef = _appRef;
16606
- this._componentFactoryResolver = _componentFactoryResolver;
16607
- this._injector = _injector;
16608
- this._changeDetectorRef = _changeDetectorRef;
16609
- this.tieredMenuService = tieredMenuService;
16610
- this._tieredMenuEventService = _tieredMenuEventService;
16611
- this.top = 0;
16612
- this.left = 0;
16613
- this.menuTriggerEvent = "hover";
16614
- this._componentRef = null;
16615
- this._unsubscribe$ = new rxjs.Subject();
16616
- this.destroyRequest = new core.EventEmitter();
16755
+ var SidebarModule = /** @class */ (function () {
16756
+ function SidebarModule() {
16617
16757
  }
16618
- TieredMenuComponent_1 = TieredMenuComponent;
16619
- TieredMenuComponent.prototype.onResize = function () {
16620
- this._tieredMenuEventService.closeAllMenusEvent.emit();
16621
- };
16622
- TieredMenuComponent.prototype.onDocumentClick = function (event) {
16623
- // Closing menu when clicked outside.
16624
- var target = event.target;
16625
- var clickedInside = target.closest("s-tiered-menu-item") || target.closest("s-tiered-menu-divider");
16626
- if (!clickedInside) {
16627
- this._tieredMenuEventService.closeAllMenusEvent.emit();
16628
- }
16629
- };
16630
- TieredMenuComponent.prototype.onKeydownHandler = function (event) {
16631
- switch (event.key) {
16632
- case "Escape":
16633
- this._tieredMenuEventService.closeAllMenusEvent.emit();
16634
- break;
16635
- case " ":
16636
- case "Enter":
16637
- if (!this.tieredMenuService.currentItem.disabled) {
16638
- this._tieredMenuEventService.selectItemEvent.emit(this.tieredMenuService.currentItem);
16639
- }
16640
- break;
16641
- case "ArrowLeft":
16642
- if (this.items.includes(this.tieredMenuService.currentItem)) {
16643
- this._tieredMenuEventService.closeItemMenuEvent.emit(this.tieredMenuService.currentItem);
16644
- this._changeDetectorRef.detectChanges();
16645
- }
16646
- break;
16647
- case "ArrowRight":
16648
- if (!this.tieredMenuService.currentItem.disabled && this.items.includes(this.tieredMenuService.currentItem)) {
16649
- this._tieredMenuEventService.openItemMenuEvent.emit(this.tieredMenuService.currentItem);
16650
- event.stopImmediatePropagation();
16651
- }
16652
- break;
16653
- case "ArrowUp":
16654
- if (!this.tieredMenuService.currentItem || this.items.includes(this.tieredMenuService.currentItem)) {
16655
- this._tieredMenuEventService.decrementCurrentItemEvent.emit();
16656
- event.stopImmediatePropagation();
16657
- }
16658
- break;
16659
- case "ArrowDown":
16660
- if (!this.tieredMenuService.currentItem || this.items.includes(this.tieredMenuService.currentItem)) {
16661
- this._tieredMenuEventService.incrementCurrentItemEvent.emit();
16662
- event.stopImmediatePropagation();
16663
- }
16664
- break;
16665
- }
16666
- };
16667
- TieredMenuComponent.prototype.ngOnInit = function () {
16668
- this.tieredMenuService.currentItems = this.items;
16669
- this._subscribeEvents();
16758
+ SidebarModule = __decorate([
16759
+ core.NgModule({
16760
+ imports: [common.CommonModule, a11y.A11yModule, sidebar.SidebarModule, scrollpanel.ScrollPanelModule, StructureModule],
16761
+ declarations: [SidebarComponent],
16762
+ exports: [StructureModule, SidebarComponent],
16763
+ })
16764
+ ], SidebarModule);
16765
+ return SidebarModule;
16766
+ }());
16767
+
16768
+ var SlidePanelService = /** @class */ (function () {
16769
+ function SlidePanelService() {
16770
+ this.modalCloseMap = new Map();
16771
+ }
16772
+ SlidePanelService.prototype.createSlidePanel = function (id) {
16773
+ var panelSubject = new rxjs.Subject();
16774
+ this.modalCloseMap.set(id, panelSubject);
16775
+ return panelSubject.asObservable();
16670
16776
  };
16671
- TieredMenuComponent.prototype.ngOnDestroy = function () {
16672
- this._unsubscribe$.next();
16673
- this._unsubscribe$.complete();
16777
+ SlidePanelService.prototype.getModalCloseObservable = function (id) {
16778
+ return this.modalCloseMap.get(id).asObservable();
16674
16779
  };
16675
- TieredMenuComponent.prototype._incrementCurItem = function () {
16676
- if (!this.tieredMenuService.currentItem) {
16677
- this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[0];
16678
- return;
16679
- }
16680
- else if (!this.items.includes(this.tieredMenuService.currentItem)) {
16681
- // Checking if it is the current menu.
16682
- return;
16683
- }
16684
- var currentIndex = this.tieredMenuService.currentItems.indexOf(this.tieredMenuService.currentItem) + 1;
16685
- if (currentIndex < this.tieredMenuService.currentItems.length) {
16686
- this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[currentIndex];
16687
- }
16688
- else {
16689
- this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[0];
16690
- }
16691
- if (this.tieredMenuService.currentItem.divider) {
16692
- this._incrementCurItem();
16780
+ SlidePanelService.prototype.closeModal = function (id) {
16781
+ var subject = this.modalCloseMap.get(id);
16782
+ if (subject) {
16783
+ subject.next();
16693
16784
  }
16694
16785
  };
16695
- TieredMenuComponent.prototype._decrementCurItem = function () {
16696
- if (!this.tieredMenuService.currentItem) {
16697
- this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[0];
16698
- return;
16699
- // Checking if it is the current menu.
16700
- }
16701
- else if (!this.items.includes(this.tieredMenuService.currentItem)) {
16702
- return;
16703
- }
16704
- var curIndex = this.tieredMenuService.currentItems.indexOf(this.tieredMenuService.currentItem) - 1;
16705
- if (curIndex >= 0) {
16706
- this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[curIndex];
16707
- }
16708
- else {
16709
- this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[this.tieredMenuService.currentItems.length - 1];
16710
- }
16711
- if (this.tieredMenuService.currentItem.divider) {
16712
- this._decrementCurItem();
16713
- }
16786
+ SlidePanelService = __decorate([
16787
+ core.Injectable()
16788
+ ], SlidePanelService);
16789
+ return SlidePanelService;
16790
+ }());
16791
+
16792
+ var SMALL_DEVICE_BREAKPOINT = 420;
16793
+ var SlidePanelComponent = /** @class */ (function () {
16794
+ function SlidePanelComponent(slidePanelService) {
16795
+ this.slidePanelService = slidePanelService;
16796
+ this.id = "slide-panel-" + ++SlidePanelComponent_1.nextId;
16797
+ this.openIcon = "fas fa-chevron-right";
16798
+ this.closeIcon = "fas fa-chevron-left";
16799
+ this.cache = false;
16800
+ this.createOpen = false;
16801
+ this.panelOpened = new core.EventEmitter();
16802
+ this.panelClosed = new core.EventEmitter();
16803
+ this.isOpen = false;
16804
+ this.isSlideOver = false;
16805
+ this.isAnimating = false;
16806
+ this.isContentAnimationDisabled = true;
16807
+ this.slideHeight = 0;
16808
+ this.sideContentWidth = 0;
16809
+ this._unsubscribe$ = new rxjs.Subject();
16810
+ }
16811
+ SlidePanelComponent_1 = SlidePanelComponent;
16812
+ SlidePanelComponent.prototype.onResize = function () {
16813
+ this._checkOverBehavior();
16714
16814
  };
16715
- TieredMenuComponent.prototype._createMenu = function (items, position) {
16815
+ SlidePanelComponent.prototype.ngOnInit = function () {
16716
16816
  var _this = this;
16717
- if (!this._componentRef && items) {
16718
- var componentFactory = this._componentFactoryResolver.resolveComponentFactory(TieredMenuComponent_1);
16719
- this._componentRef = componentFactory.create(this._injector);
16720
- this._appRef.attachView(this._componentRef.hostView);
16721
- var domElem = this._componentRef.hostView.rootNodes[0];
16722
- document.body.appendChild(domElem);
16723
- // Setting the menu items.
16724
- this._componentRef.instance.items = items;
16725
- // Subscribe menu events.
16726
- this._componentRef.instance.destroyRequest.subscribe(function (propagate) {
16727
- _this._destroy(propagate);
16728
- });
16729
- this._menuDivElement = domElem.querySelector(".menu");
16730
- this._setMenuPosition(position);
16731
- }
16732
- };
16733
- TieredMenuComponent.prototype._destroy = function (propagate) {
16734
- if (propagate === void 0) { propagate = true; }
16735
- if (this._componentRef !== null) {
16736
- this._appRef.detachView(this._componentRef.hostView);
16737
- this._componentRef.destroy();
16738
- this._componentRef = null;
16739
- this._menuDivElement = null;
16740
- }
16741
- if (propagate) {
16742
- this.destroyRequest.emit();
16743
- }
16744
- };
16745
- TieredMenuComponent.prototype._setMenuPosition = function (position) {
16746
- var _a, _b;
16747
- var ITEM_HEIGHT = 37;
16748
- var DIVIDER_HEIGHT = 5;
16749
- var PADDING = 8;
16750
- if (this._componentRef !== null) {
16751
- var top_1 = position.top, right = position.right, bottom = position.bottom, left = position.left;
16752
- var itemsCount = (_a = this._componentRef.instance.items) === null || _a === void 0 ? void 0 : _a.reduce(function (count, item) {
16753
- return !item.divider ? count + 1 : count;
16754
- }, 0);
16755
- var dividersCount = (_b = this._componentRef.instance.items) === null || _b === void 0 ? void 0 : _b.reduce(function (count, item) {
16756
- return item.divider ? count + 1 : count;
16757
- }, 0);
16758
- // I need to calculate the height of the component because the internal elements have not been created yet.
16759
- var menuHeight = itemsCount * ITEM_HEIGHT + dividersCount * DIVIDER_HEIGHT + PADDING + 8;
16760
- var menuWidth = this._menuDivElement.getBoundingClientRect().width;
16761
- var rightFreeSpace = window.innerWidth - right;
16762
- var bottomFreeSpace = window.innerHeight - bottom;
16763
- if (rightFreeSpace > menuWidth) {
16764
- this._componentRef.instance.left = right;
16765
- }
16766
- else {
16767
- this._componentRef.instance.left = left - menuWidth;
16768
- }
16769
- if (bottomFreeSpace <= menuHeight) {
16770
- this._componentRef.instance.top = Math.max(window.innerHeight - menuHeight, window.scrollY);
16771
- }
16772
- else {
16773
- this._componentRef.instance.top = window.scrollY + top_1;
16774
- }
16775
- }
16817
+ this._checkOverBehavior();
16818
+ this.slidePanelService.createSlidePanel(this.id)
16819
+ .pipe(operators.takeUntil(this._unsubscribe$))
16820
+ .subscribe(function () {
16821
+ _this.isOpen = false;
16822
+ });
16776
16823
  };
16777
- TieredMenuComponent.prototype._subscribeEvents = function () {
16824
+ SlidePanelComponent.prototype.ngAfterViewInit = function () {
16778
16825
  var _this = this;
16779
- // Increment current item event.
16780
- this._tieredMenuEventService.incrementCurrentItemEvent.pipe(operators.takeUntil(this._unsubscribe$)).subscribe(function () {
16781
- _this._incrementCurItem();
16782
- });
16783
- // Decrement current item event.
16784
- this._tieredMenuEventService.decrementCurrentItemEvent.pipe(operators.takeUntil(this._unsubscribe$)).subscribe(function () {
16785
- _this._decrementCurItem();
16786
- });
16787
- // Select item event.
16788
- this._tieredMenuEventService.selectItemEvent.pipe(operators.takeUntil(this._unsubscribe$)).subscribe(function (item) {
16789
- if (item.submenu) {
16790
- _this._tieredMenuEventService.openItemMenuEvent.emit(item);
16791
- }
16792
- else if (item.command) {
16793
- _this._tieredMenuEventService.closeAllMenusEvent.emit();
16794
- item.command();
16795
- }
16796
- });
16797
- // Close all menus event.
16798
- this._tieredMenuEventService.closeAllMenusEvent.pipe(operators.takeUntil(this._unsubscribe$)).subscribe(function () {
16799
- _this._destroy();
16800
- _this.tieredMenuService.currentItem = null;
16801
- _this.tieredMenuService.currentItems = _this.tieredMenuService.items;
16802
- _this.tieredMenuService.markAllItemsAsClosed(_this.tieredMenuService.items);
16803
- });
16804
- // Open item menu event.
16805
- this._tieredMenuEventService.openItemMenuEvent.pipe(operators.takeUntil(this._unsubscribe$)).subscribe(function (item) {
16806
- if (_this.tieredMenuService.currentItem) {
16807
- if (_this.tieredMenuService.currentItem.parent === item) {
16808
- return;
16809
- }
16810
- if (!_this.tieredMenuService.searchTheHierarchy(_this.tieredMenuService.currentItem.parent, item)) {
16811
- var current = _this.tieredMenuService.currentItem;
16812
- current.isOpen = false;
16813
- while ((current === null || current === void 0 ? void 0 : current.parent) !== item.parent) {
16814
- _this._tieredMenuEventService.closeItemMenuEvent.emit(current);
16815
- _this._changeDetectorRef.detectChanges();
16816
- current = current.parent;
16817
- }
16818
- if (current) {
16819
- current.isOpen = false;
16820
- }
16821
- }
16822
- }
16823
- if (item.submenu && !item.isOpen && _this.items.includes(item)) {
16824
- var _a = document.querySelector("#" + item.id).getBoundingClientRect(), top_2 = _a.top, right = _a.right, left = _a.left, bottom = _a.bottom;
16825
- var position = { top: top_2, right: right, left: left, bottom: bottom };
16826
- _this._createMenu(item.submenu, position);
16827
- _this.tieredMenuService.currentItems = item.submenu;
16828
- _this.tieredMenuService.currentItem = item.submenu[0];
16829
- item.isOpen = true;
16826
+ queueMicrotask(function () {
16827
+ if (_this.createOpen) {
16828
+ _this.isOpen = true;
16830
16829
  }
16831
16830
  });
16832
- // Close item menu event.
16833
- this._tieredMenuEventService.closeItemMenuEvent
16834
- .pipe(operators.takeUntil(this._unsubscribe$))
16835
- .subscribe(function (item) {
16836
- var _a, _b;
16837
- if (_this.items.some(function (i) { return i.id === item.id; })) {
16838
- if (item.parent) {
16839
- item.parent.isOpen = false;
16840
- }
16841
- _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;
16842
- _this.tieredMenuService.currentItem = item.parent;
16843
- _this.destroyRequest.emit(false);
16844
- }
16831
+ };
16832
+ SlidePanelComponent.prototype.ngAfterViewChecked = function () {
16833
+ var _this = this;
16834
+ // to executed at a safe time prior to control returning to the browser's event loop
16835
+ queueMicrotask(function () {
16836
+ _this._calculateSlideHeight();
16837
+ _this._calculateSideContentWidth();
16838
+ _this.isContentAnimationDisabled = false;
16845
16839
  });
16846
16840
  };
16847
- var TieredMenuComponent_1;
16848
- TieredMenuComponent.ctorParameters = function () { return [
16849
- { type: core.ApplicationRef },
16850
- { type: core.ComponentFactoryResolver },
16851
- { type: core.Injector },
16852
- { type: core.ChangeDetectorRef },
16853
- { type: TieredMenuService },
16854
- { type: TieredMenuEventService }
16841
+ SlidePanelComponent.prototype.ngOnDestroy = function () {
16842
+ this._unsubscribe$.next();
16843
+ this._unsubscribe$.complete();
16844
+ };
16845
+ SlidePanelComponent.prototype.onClickButton = function () {
16846
+ if (this.isAnimating) {
16847
+ return;
16848
+ }
16849
+ this.isOpen = !this.isOpen;
16850
+ if (this.isOpen) {
16851
+ this.panelOpened.emit();
16852
+ }
16853
+ else {
16854
+ this.panelClosed.emit();
16855
+ }
16856
+ };
16857
+ SlidePanelComponent.prototype.onContentAnimationStart = function () {
16858
+ this.isAnimating = true;
16859
+ };
16860
+ SlidePanelComponent.prototype.onContentAnimationDone = function () {
16861
+ this.isAnimating = false;
16862
+ this._calculateSideContentWidth();
16863
+ };
16864
+ SlidePanelComponent.prototype._checkOverBehavior = function () {
16865
+ this.isSlideOver = window.innerWidth <= SMALL_DEVICE_BREAKPOINT;
16866
+ };
16867
+ SlidePanelComponent.prototype._calculateSlideHeight = function () {
16868
+ this.slideHeight = this._sideContentRef.nativeElement.clientHeight;
16869
+ };
16870
+ SlidePanelComponent.prototype._calculateSideContentWidth = function () {
16871
+ var slidePanelWidth = this._slidePanelRef.nativeElement.getBoundingClientRect().width;
16872
+ var slideContentWidth = this._slideContentRef.nativeElement.getBoundingClientRect().width;
16873
+ this.sideContentWidth = slidePanelWidth - slideContentWidth;
16874
+ };
16875
+ var SlidePanelComponent_1;
16876
+ SlidePanelComponent.nextId = 0;
16877
+ SlidePanelComponent.ctorParameters = function () { return [
16878
+ { type: SlidePanelService }
16855
16879
  ]; };
16880
+ __decorate([
16881
+ core.Input()
16882
+ ], SlidePanelComponent.prototype, "id", void 0);
16883
+ __decorate([
16884
+ core.Input()
16885
+ ], SlidePanelComponent.prototype, "openIcon", void 0);
16886
+ __decorate([
16887
+ core.Input()
16888
+ ], SlidePanelComponent.prototype, "closeIcon", void 0);
16889
+ __decorate([
16890
+ core.Input()
16891
+ ], SlidePanelComponent.prototype, "cache", void 0);
16892
+ __decorate([
16893
+ core.Input()
16894
+ ], SlidePanelComponent.prototype, "createOpen", void 0);
16856
16895
  __decorate([
16857
16896
  core.Output()
16858
- ], TieredMenuComponent.prototype, "destroyRequest", void 0);
16897
+ ], SlidePanelComponent.prototype, "panelOpened", void 0);
16859
16898
  __decorate([
16860
- core.HostListener("window:resize")
16861
- ], TieredMenuComponent.prototype, "onResize", null);
16899
+ core.Output()
16900
+ ], SlidePanelComponent.prototype, "panelClosed", void 0);
16862
16901
  __decorate([
16863
- core.HostListener("document:click", ["$event"])
16864
- ], TieredMenuComponent.prototype, "onDocumentClick", null);
16902
+ core.ViewChild("slidePanel")
16903
+ ], SlidePanelComponent.prototype, "_slidePanelRef", void 0);
16865
16904
  __decorate([
16866
- core.HostListener("document:keydown", ["$event"])
16867
- ], TieredMenuComponent.prototype, "onKeydownHandler", null);
16868
- TieredMenuComponent = TieredMenuComponent_1 = __decorate([
16905
+ core.ViewChild("slideContent")
16906
+ ], SlidePanelComponent.prototype, "_slideContentRef", void 0);
16907
+ __decorate([
16908
+ core.ViewChild("sideContent")
16909
+ ], SlidePanelComponent.prototype, "_sideContentRef", void 0);
16910
+ __decorate([
16911
+ core.HostListener("window:resize")
16912
+ ], SlidePanelComponent.prototype, "onResize", null);
16913
+ SlidePanelComponent = SlidePanelComponent_1 = __decorate([
16869
16914
  core.Component({
16870
- selector: "s-tiered-menu",
16871
- 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.visible && !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>",
16872
- 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}"]
16915
+ selector: "s-slide-panel",
16916
+ template: "<div #slidePanel class=\"slide-panel\">\n <div\n #slideContent\n class=\"slide-content\"\n [ngClass]=\"{\n 'slide-content--closed': !isOpen,\n 'slide-content--over': isSlideOver\n }\">\n <div\n #mainContainer\n class=\"main-container\"\n [style.maxHeight]=\"slideHeight + 'px'\">\n <ng-container *ngIf=\"cache; then cacheTemplate else cachelessTemplate\"></ng-container>\n </div>\n <button\n class=\"button\"\n [ngClass]=\"isOpen ? closeIcon : openIcon\"\n (click)=\"onClickButton()\">\n </button>\n </div>\n <div \n #sideContent\n class=\"side-content\"\n [ngStyle]=\"{ 'width.px': sideContentWidth }\">\n <ng-content select=\"[side-content]\"></ng-content>\n </div>\n</div>\n\n<ng-template #cacheTemplate>\n <div\n class=\"content-container\"\n [@cacheAnimation]=\"isOpen\"\n [@.disabled]=\"isContentAnimationDisabled\"\n (@cacheAnimation.start)=\"onContentAnimationStart()\"\n (@cacheAnimation.done)=\"onContentAnimationDone()\">\n <ng-container [ngTemplateOutlet]=\"slideContentTemplate\"></ng-container>\n </div>\n</ng-template>\n\n<ng-template #cachelessTemplate>\n <div\n *ngIf=\"isOpen\"\n class=\"content-container\"\n @cachelessAnimation\n [@.disabled]=\"isContentAnimationDisabled\"\n (@cachelessAnimation.start)=\"onContentAnimationStart()\"\n (@cachelessAnimation.done)=\"onContentAnimationDone()\">\n <ng-container [ngTemplateOutlet]=\"slideContentTemplate\"></ng-container>\n </div>\n</ng-template>\n\n<ng-template #slideContentTemplate>\n <ng-content select=\"[slide-content]\"></ng-content>\n</ng-template>",
16917
+ animations: [
16918
+ animations.trigger("cachelessAnimation", [
16919
+ animations.transition(":enter", [
16920
+ animations.style({ width: "0" }),
16921
+ animations.animate("200ms linear", animations.style({ width: "*" })),
16922
+ ]),
16923
+ animations.transition(":leave", [
16924
+ animations.style({ width: "*" }),
16925
+ animations.animate("200ms linear", animations.style({ width: "0" })),
16926
+ ]),
16927
+ ]),
16928
+ animations.trigger("cacheAnimation", [
16929
+ animations.state("true", animations.style({ width: "*", padding: '0 16px' })),
16930
+ animations.state("false", animations.style({ width: '0px', padding: '0' })),
16931
+ animations.transition("* => *", animations.animate("200ms")),
16932
+ ]),
16933
+ ],
16934
+ styles: [".slide-panel{display:-ms-flexbox;display:flex;width:100%}.slide-panel .slide-content{display:-ms-flexbox;display:flex;position:relative}.slide-panel .slide-content .main-container{background-color:#eeebf2;display:-ms-flexbox;display:flex;border:1px solid #ccc;overflow:hidden;position:relative}.slide-panel .slide-content .main-container .content-container{overflow-y:auto;overflow-x:hidden;padding:16px}.slide-panel .slide-content .button{-ms-flex-align:center;align-items:center;background-color:#eeebf2;border:1px solid #ccc;border-left:none;border-radius:0 4px 4px 0;cursor:pointer;display:-ms-flexbox;display:flex;font-family:\"Font Awesome 5 Pro\";font-size:16px;height:32px;-ms-flex-pack:center;justify-content:center;position:absolute;right:-32px;top:16px;width:32px;z-index:99}.slide-panel .slide-content--closed .main-container{border:none}.slide-panel .slide-content--over{position:absolute}.slide-panel .side-content{display:-ms-flexbox;display:flex;height:-webkit-max-content;height:max-content;overflow:auto;transition:width .1s linear}"]
16873
16935
  })
16874
- ], TieredMenuComponent);
16875
- return TieredMenuComponent;
16936
+ ], SlidePanelComponent);
16937
+ return SlidePanelComponent;
16876
16938
  }());
16877
16939
 
16878
- var TieredMenuGlobalService = /** @class */ (function () {
16879
- function TieredMenuGlobalService() {
16940
+ var SlidePanelModule = /** @class */ (function () {
16941
+ function SlidePanelModule() {
16880
16942
  }
16881
- TieredMenuGlobalService = __decorate([
16882
- core.Injectable()
16883
- ], TieredMenuGlobalService);
16884
- return TieredMenuGlobalService;
16943
+ SlidePanelModule = __decorate([
16944
+ core.NgModule({
16945
+ imports: [common.CommonModule],
16946
+ declarations: [SlidePanelComponent],
16947
+ exports: [SlidePanelComponent],
16948
+ providers: [SlidePanelService],
16949
+ })
16950
+ ], SlidePanelModule);
16951
+ return SlidePanelModule;
16885
16952
  }());
16886
16953
 
16887
- var TieredMenuDirective = /** @class */ (function () {
16888
- function TieredMenuDirective(_elementRef, _appRef, _componentFactoryResolver, _injector, _tieredMenuEventService, _tieredMenuService, _tieredMenuGlobalService, _changeDetectorRef) {
16889
- this._elementRef = _elementRef;
16890
- this._appRef = _appRef;
16891
- this._componentFactoryResolver = _componentFactoryResolver;
16892
- this._injector = _injector;
16893
- this._tieredMenuEventService = _tieredMenuEventService;
16894
- this._tieredMenuService = _tieredMenuService;
16895
- this._tieredMenuGlobalService = _tieredMenuGlobalService;
16896
- this._changeDetectorRef = _changeDetectorRef;
16897
- this.items = [];
16898
- this.triggerEvent = "click";
16899
- this._componentRef = null;
16900
- this._isNested = false;
16901
- this._isOpen = false;
16902
- this._unsubscribe$ = new rxjs.Subject();
16903
- }
16904
- TieredMenuDirective.prototype.onClick = function (event) {
16905
- if (this.triggerEvent === "click" && !this._isOpen) {
16906
- this._lastActiveElement = document.activeElement;
16907
- this._createMenu();
16908
- event.preventDefault();
16909
- event.stopPropagation();
16910
- }
16911
- };
16912
- TieredMenuDirective.prototype.ngOnInit = function () {
16913
- this._subscribeEvents();
16914
- };
16915
- TieredMenuDirective.prototype.ngDoCheck = function () {
16916
- if (!this.previousItems) {
16917
- this.previousItems = this._tieredMenuService.cloneItems(this.items);
16918
- }
16919
- var hasChanges = false;
16920
- if (this.items.length !== this.previousItems.length) {
16921
- hasChanges = true;
16922
- }
16923
- else {
16924
- for (var i = 0; i < this.items.length; i++) {
16925
- if (!this._compareItems(this.items[i], this.previousItems[i])) {
16926
- hasChanges = true;
16927
- break;
16928
- }
16929
- }
16930
- }
16931
- if (hasChanges) {
16932
- this._updateServiceItems();
16933
- this._changeDetectorRef.detectChanges();
16934
- this._rebuildMenu();
16954
+
16955
+ (function (SplitButtonType) {
16956
+ SplitButtonType["Primary"] = "primary";
16957
+ SplitButtonType["Secondary"] = "secondary";
16958
+ SplitButtonType["Default"] = "default";
16959
+ })(exports.SplitButtonType || (exports.SplitButtonType = {}));
16960
+
16961
+ var SplitButtonComponent = /** @class */ (function () {
16962
+ function SplitButtonComponent(eRef) {
16963
+ this.eRef = eRef;
16964
+ this.disabled = false;
16965
+ this.type = exports.SplitButtonType.Primary;
16966
+ this.buttonClicked = new core.EventEmitter();
16967
+ this.open = false;
16968
+ }
16969
+ SplitButtonComponent.prototype.onClickout = function (event) {
16970
+ if (!this.eRef.nativeElement.contains(event.target)) {
16971
+ this.closeDropdown();
16935
16972
  }
16936
- this.previousItems = this._tieredMenuService.cloneItems(this.items);
16937
- };
16938
- TieredMenuDirective.prototype.ngOnDestroy = function () {
16939
- this._unsubscribe$.next();
16940
- this._unsubscribe$.complete();
16941
- this._destroy();
16942
16973
  };
16943
- TieredMenuDirective.prototype._createMenu = function () {
16944
- var _a, _b, _c;
16945
- this._updateServiceItems();
16946
- if (!this._componentRef && ((_a = this._tieredMenuService.items) === null || _a === void 0 ? void 0 : _a.length) > 0) {
16947
- (_b = this._tieredMenuGlobalService.lastInstance) === null || _b === void 0 ? void 0 : _b._destroy();
16948
- this._tieredMenuGlobalService.lastInstance = this;
16949
- (_c = this._lastActiveElement) === null || _c === void 0 ? void 0 : _c.blur();
16950
- this._isOpen = true;
16951
- this._isNested = document.body.clientWidth < 600;
16952
- this._isNested ? this._createNestedMenu() : this._createTieredMenu();
16974
+ SplitButtonComponent.prototype.onButtonClick = function () {
16975
+ if (!this.disabled) {
16976
+ this.buttonClicked.emit();
16977
+ this.closeDropdown();
16953
16978
  }
16954
16979
  };
16955
- TieredMenuDirective.prototype._createTieredMenu = function () {
16956
- var _this = this;
16957
- var _a;
16958
- if (!this._componentRef && ((_a = this._tieredMenuService.items) === null || _a === void 0 ? void 0 : _a.length) > 0) {
16959
- var componentFactory = this._componentFactoryResolver.resolveComponentFactory(TieredMenuComponent);
16960
- this._componentRef = componentFactory.create(this._injector);
16961
- this._appRef.attachView(this._componentRef.hostView);
16962
- var domElem = this._componentRef.hostView.rootNodes[0];
16963
- document.body.appendChild(domElem);
16964
- this._setMenuComponentProperties();
16965
- this._componentRef.instance.destroyRequest.pipe(operators.takeUntil(this._unsubscribe$)).subscribe(function () {
16966
- _this._destroy();
16967
- });
16968
- this._setMenuPosition();
16980
+ SplitButtonComponent.prototype.onDropdownClick = function () {
16981
+ if (!this.disabled) {
16982
+ this.open = !this.open;
16969
16983
  }
16970
16984
  };
16971
- TieredMenuDirective.prototype._createNestedMenu = function () {
16972
- var _a;
16973
- if (!this._componentRef && ((_a = this._tieredMenuService.items) === null || _a === void 0 ? void 0 : _a.length) > 0) {
16974
- var componentFactory = this._componentFactoryResolver.resolveComponentFactory(TieredMenuNestedComponent);
16975
- this._componentRef = componentFactory.create(this._injector);
16976
- this._appRef.attachView(this._componentRef.hostView);
16977
- var domElem = this._componentRef.hostView.rootNodes[0];
16978
- document.body.appendChild(domElem);
16979
- this._setMenuComponentProperties();
16980
- this._setMenuPosition();
16981
- }
16985
+ SplitButtonComponent.prototype.onOptionClick = function (option) {
16986
+ option.action && option.action();
16987
+ this.closeDropdown();
16982
16988
  };
16983
- TieredMenuDirective.prototype._destroy = function () {
16984
- if (this._componentRef) {
16985
- this._isOpen = false;
16986
- window.clearTimeout(this._showTimeout);
16987
- this._appRef.detachView(this._componentRef.hostView);
16988
- this._componentRef.destroy();
16989
- this._componentRef = null;
16990
- this._tieredMenuService.currentItems = this._tieredMenuService.items;
16991
- this._tieredMenuService.currentItem = this._tieredMenuService.items[0];
16992
- this._tieredMenuEventService.closeAllMenusEvent.emit();
16993
- }
16989
+ SplitButtonComponent.prototype.closeDropdown = function () {
16990
+ this.open = false;
16994
16991
  };
16995
- TieredMenuDirective.prototype._setMenuPosition = function () {
16996
- var _a, _b;
16997
- var ITEM_HEIGHT = 37;
16998
- var ITEM_WIDTH = 176;
16999
- var DIVIDER_HEIGHT = 5;
17000
- var PADDING = 8;
17001
- var MARGIN = 4;
17002
- if (this._componentRef !== null) {
17003
- this._componentRef.instance.top = 8;
17004
- var _c = this._elementRef.nativeElement.getBoundingClientRect(), bottom = _c.bottom, left = _c.left, right = _c.right;
17005
- var itemsCount = (_a = this._componentRef.instance.items) === null || _a === void 0 ? void 0 : _a.reduce(function (count, item) {
17006
- return !item.divider ? count + 1 : count;
17007
- }, 0);
17008
- var dividersCount = (_b = this._componentRef.instance.items) === null || _b === void 0 ? void 0 : _b.reduce(function (count, item) {
17009
- return item.divider ? count + 1 : count;
17010
- }, 0);
17011
- var menuHeight = itemsCount * ITEM_HEIGHT + dividersCount * DIVIDER_HEIGHT + PADDING + MARGIN;
17012
- var rightFreeSpace = window.innerWidth - right;
17013
- var bottomFreeSpace = window.innerHeight - bottom;
17014
- this._componentRef.instance.top = bottom;
17015
- this._componentRef.instance.left = left;
17016
- if (bottomFreeSpace <= menuHeight) {
17017
- this._componentRef.instance.top = Math.max(scrollY + bottom - menuHeight, 0);
17018
- }
17019
- else {
17020
- this._componentRef.instance.top = window.scrollY + bottom + MARGIN;
16992
+ SplitButtonComponent.ctorParameters = function () { return [
16993
+ { type: core.ElementRef }
16994
+ ]; };
16995
+ __decorate([
16996
+ core.Input()
16997
+ ], SplitButtonComponent.prototype, "disabled", void 0);
16998
+ __decorate([
16999
+ core.Input()
17000
+ ], SplitButtonComponent.prototype, "iconClass", void 0);
17001
+ __decorate([
17002
+ core.Input()
17003
+ ], SplitButtonComponent.prototype, "label", void 0);
17004
+ __decorate([
17005
+ core.Input()
17006
+ ], SplitButtonComponent.prototype, "type", void 0);
17007
+ __decorate([
17008
+ core.Input()
17009
+ ], SplitButtonComponent.prototype, "options", void 0);
17010
+ __decorate([
17011
+ core.Output()
17012
+ ], SplitButtonComponent.prototype, "buttonClicked", void 0);
17013
+ __decorate([
17014
+ core.HostListener("document:click", ["$event"])
17015
+ ], SplitButtonComponent.prototype, "onClickout", null);
17016
+ SplitButtonComponent = __decorate([
17017
+ core.Component({
17018
+ selector: "s-split-button",
17019
+ template: "<div class=\"split-button\" [ngClass]=\"{\n 'split-button--primary': type == 'primary',\n 'split-button--secondary': type == 'secondary',\n 'split-button--default': type == 'default',\n 'split-button--disabled': disabled\n }\">\n <button class=\"button\" (click)=\"onButtonClick()\">\n <span class=\"button__icon\" [ngClass]=\"iconClass\"></span>\n <span class=\"button__label\">{{ label }}</span>\n </button>\n <button class=\"dropdown\" (click)=\"onDropdownClick()\">\n <span class=\"dropdown__icon\" [ngClass]=\"{\n 'far': true,\n 'fa-chevron-down': !open,\n 'fa-chevron-up': open\n }\">\n </span>\n </button>\n</div>\n\n<ul *ngIf=\"this.open\" class=\"options\">\n <li *ngFor=\"let option of options\" (click)=\"onOptionClick(option)\">\n {{ option.title }}\n </li>\n</ul>",
17020
+ styles: [".split-button{display:-ms-flexbox;display:flex;-webkit-user-select:none;-ms-user-select:none;user-select:none}.split-button .button{-ms-flex-align:center;align-items:center;border:none;border-radius:4px 0 0 4px;display:-ms-flexbox;display:flex;padding:8px 8px 8px 12px;transition:.3s ease-in-out}.split-button .button__icon{font-size:16px;padding:0 4px}.split-button .button__title{font-family:\"Open Sans\",sans-serif;font-size:14px;font-weight:400;line-height:21px}.split-button .dropdown{-ms-flex-align:center;align-items:center;border:none;border-left:1px solid #608190;border-radius:0 4px 4px 0;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding:12px 8px;transition:.3s ease-in-out}.split-button--disabled{opacity:.5}.split-button--primary .button,.split-button--primary .dropdown{background-color:#428bca;color:#fff}.split-button--primary:not(.split-button--primary--disabled) .button,.split-button--primary:not(.split-button--primary--disabled) .dropdown{cursor:pointer}.split-button--primary:not(.split-button--primary--disabled) .button:hover,.split-button--primary:not(.split-button--primary--disabled) .dropdown:hover{background-color:#063951}.split-button--secondary .button,.split-button--secondary .dropdown{background-color:#7892a1;color:#fff}.split-button--secondary:not(.split-button--secondary--disabled) .button,.split-button--secondary:not(.split-button--secondary--disabled) .dropdown{cursor:pointer}.split-button--secondary:not(.split-button--secondary--disabled) .button:hover,.split-button--secondary:not(.split-button--secondary--disabled) .dropdown:hover{background-color:#697882}.split-button--default .button,.split-button--default .dropdown{background-color:unset;border:1px solid #d8d8d8;color:#333}.split-button--default:not(.split-button--default--disabled) .button,.split-button--default:not(.split-button--default--disabled) .dropdown{cursor:pointer}.split-button--default:not(.split-button--default--disabled) .button:hover,.split-button--default:not(.split-button--default--disabled) .dropdown:hover{background-color:#d8d8d8}.options{background-color:#fff;border-radius:4px;box-shadow:0 1px 5px rgba(0,0,0,.25);display:inline-block;list-style:none;margin:2px 0;padding:8px 0;position:absolute;-webkit-user-select:none;-ms-user-select:none;user-select:none}.options li{color:#333;cursor:pointer;font-family:\"Open Sans\",sans-serif;font-weight:400;font-size:14px;line-height:21px;padding:8px 16px}.options li:hover{background-color:#d8d8d8}"]
17021
+ })
17022
+ ], SplitButtonComponent);
17023
+ return SplitButtonComponent;
17024
+ }());
17025
+
17026
+ var SplitButtonModule = /** @class */ (function () {
17027
+ function SplitButtonModule() {
17028
+ }
17029
+ SplitButtonModule = __decorate([
17030
+ core.NgModule({
17031
+ imports: [common.CommonModule],
17032
+ declarations: [SplitButtonComponent],
17033
+ exports: [SplitButtonComponent],
17034
+ })
17035
+ ], SplitButtonModule);
17036
+ return SplitButtonModule;
17037
+ }());
17038
+
17039
+ var StatsCardComponent = /** @class */ (function () {
17040
+ function StatsCardComponent() {
17041
+ this.id = "s-stats-card-" + StatsCardComponent_1.nextId++;
17042
+ this.alwaysWithBorder = false;
17043
+ this.lightVersion = false;
17044
+ this.lightMode = true;
17045
+ this.iconClass = "fa fa-bar-chart";
17046
+ this.color = "#339966";
17047
+ this.animateNumbers = true;
17048
+ this.clickable = false;
17049
+ this.tooltip = "";
17050
+ this.onClick = new core.EventEmitter();
17051
+ this.ANIMATION_DURATION_MS = 200;
17052
+ this.STEP_DURATION_MS = 20;
17053
+ this.previousValue = "0";
17054
+ this._value = "0";
17055
+ }
17056
+ StatsCardComponent_1 = StatsCardComponent;
17057
+ Object.defineProperty(StatsCardComponent.prototype, "value", {
17058
+ get: function () {
17059
+ return this._value;
17060
+ },
17061
+ set: function (value) {
17062
+ this.previousValue = this._value;
17063
+ this._value = String(value);
17064
+ if (this.animateNumbers)
17065
+ this.updateDisplayValue();
17066
+ else
17067
+ this.displayValue = this.value;
17068
+ },
17069
+ enumerable: true,
17070
+ configurable: true
17071
+ });
17072
+ StatsCardComponent.prototype.updateDisplayValue = function () {
17073
+ var _this = this;
17074
+ var animationDuration = new BigNumber.BigNumber(this.ANIMATION_DURATION_MS);
17075
+ var stepDuration = new BigNumber.BigNumber(this.STEP_DURATION_MS);
17076
+ var animationCount = animationDuration.dividedBy(stepDuration);
17077
+ var previousRawValue = new BigNumber.BigNumber(this.previousValue.replace(/\D/g, ""));
17078
+ var rawValue = new BigNumber.BigNumber(this.value.replace(/\D/g, ""));
17079
+ var incrementValue = rawValue.minus(previousRawValue).absoluteValue().dividedBy(animationCount);
17080
+ var incremental = previousRawValue.isLessThan(rawValue);
17081
+ clearInterval(this.intervalId);
17082
+ this.displayValue = this.replaceNumericPositions(this.value);
17083
+ var counter = previousRawValue;
17084
+ this.intervalId = setInterval(function () {
17085
+ if (incremental && counter.isLessThan(rawValue)) {
17086
+ _this.displayValue = _this.replaceNumericPositions(_this.displayValue, counter);
17087
+ counter = counter.plus(incrementValue);
17021
17088
  }
17022
- if (rightFreeSpace > 176) {
17023
- this._componentRef.instance.left = window.scrollX + left;
17089
+ else if (!incremental && counter.isGreaterThan(rawValue)) {
17090
+ _this.displayValue = _this.replaceNumericPositions(_this.displayValue, counter);
17091
+ counter = counter.minus(incrementValue);
17024
17092
  }
17025
17093
  else {
17026
- this._componentRef.instance.left = window.scrollX + right - ITEM_WIDTH;
17027
- }
17028
- if (this._isNested) {
17029
- this._componentRef.instance.left = MARGIN;
17094
+ _this.displayValue = _this.value;
17095
+ clearInterval(_this.intervalId);
17030
17096
  }
17031
- }
17032
- };
17033
- TieredMenuDirective.prototype._setMenuComponentProperties = function () {
17034
- if (this._componentRef != null) {
17035
- this._componentRef.instance.items = this._tieredMenuService.items;
17036
- }
17037
- };
17038
- TieredMenuDirective.prototype._subscribeEvents = function () {
17039
- var _this = this;
17040
- this._tieredMenuEventService.closeAllMenusEvent.pipe(operators.takeUntil(this._unsubscribe$)).subscribe(function () {
17041
- _this._tieredMenuService.items = _this._tieredMenuService.markAllItemsAsClosed(_this._tieredMenuService.items);
17042
- _this._destroy();
17043
- });
17044
- };
17045
- TieredMenuDirective.prototype._compareItems = function (item1, item2) {
17046
- return JSON.stringify(item1) === JSON.stringify(item2);
17047
- };
17048
- TieredMenuDirective.prototype._rebuildMenu = function () {
17049
- this._destroy();
17097
+ }, this.STEP_DURATION_MS);
17050
17098
  };
17051
- TieredMenuDirective.prototype._updateServiceItems = function () {
17052
- this._tieredMenuService.items = this._tieredMenuService.normalizeData(this.items);
17053
- this._tieredMenuService.currentItems = this._tieredMenuService.items;
17054
- this._tieredMenuService.currentItem = this._tieredMenuService.items[0];
17099
+ StatsCardComponent.prototype.replaceNumericPositions = function (value, newValue) {
17100
+ var rawValue = value.replace(/[^\d]/g, "");
17101
+ var newValueString = newValue ? newValue.toString() : "";
17102
+ var formattedNewValue = newValueString
17103
+ .toString()
17104
+ .replace(/\D/g, "")
17105
+ .padStart(rawValue.length, "0");
17106
+ var newValueIndex = 0;
17107
+ return value
17108
+ .split("")
17109
+ .map(function (char) {
17110
+ var number = Number(char);
17111
+ if (number || char === "0")
17112
+ return formattedNewValue[newValueIndex++];
17113
+ return char;
17114
+ })
17115
+ .join("");
17055
17116
  };
17056
- TieredMenuDirective.ctorParameters = function () { return [
17057
- { type: core.ElementRef },
17058
- { type: core.ApplicationRef },
17059
- { type: core.ComponentFactoryResolver },
17060
- { type: core.Injector },
17061
- { type: TieredMenuEventService },
17062
- { type: TieredMenuService },
17063
- { type: TieredMenuGlobalService },
17064
- { type: core.ChangeDetectorRef }
17065
- ]; };
17117
+ var StatsCardComponent_1;
17118
+ StatsCardComponent.nextId = 0;
17066
17119
  __decorate([
17067
17120
  core.Input()
17068
- ], TieredMenuDirective.prototype, "items", void 0);
17121
+ ], StatsCardComponent.prototype, "id", void 0);
17069
17122
  __decorate([
17070
17123
  core.Input()
17071
- ], TieredMenuDirective.prototype, "triggerEvent", void 0);
17124
+ ], StatsCardComponent.prototype, "label", void 0);
17072
17125
  __decorate([
17073
- core.HostListener("click", ["$event"])
17074
- ], TieredMenuDirective.prototype, "onClick", null);
17075
- TieredMenuDirective = __decorate([
17076
- core.Directive({
17077
- selector: "[sTieredMenu]",
17078
- providers: [TieredMenuEventService, TieredMenuService],
17126
+ core.Input()
17127
+ ], StatsCardComponent.prototype, "alwaysWithBorder", void 0);
17128
+ __decorate([
17129
+ core.Input()
17130
+ ], StatsCardComponent.prototype, "lightVersion", void 0);
17131
+ __decorate([
17132
+ core.Input()
17133
+ ], StatsCardComponent.prototype, "lightMode", void 0);
17134
+ __decorate([
17135
+ core.Input()
17136
+ ], StatsCardComponent.prototype, "iconClass", void 0);
17137
+ __decorate([
17138
+ core.Input()
17139
+ ], StatsCardComponent.prototype, "color", void 0);
17140
+ __decorate([
17141
+ core.Input()
17142
+ ], StatsCardComponent.prototype, "animateNumbers", void 0);
17143
+ __decorate([
17144
+ core.Input()
17145
+ ], StatsCardComponent.prototype, "clickable", void 0);
17146
+ __decorate([
17147
+ core.Input()
17148
+ ], StatsCardComponent.prototype, "value", null);
17149
+ __decorate([
17150
+ core.Input()
17151
+ ], StatsCardComponent.prototype, "tooltip", void 0);
17152
+ __decorate([
17153
+ core.Output()
17154
+ ], StatsCardComponent.prototype, "onClick", void 0);
17155
+ StatsCardComponent = StatsCardComponent_1 = __decorate([
17156
+ core.Component({
17157
+ selector: "s-stats-card",
17158
+ template: "<div\n [id]=\"id\"\n class=\"s-stats-card\"\n [ngClass]=\"{\n 's-stats-card--always-border': alwaysWithBorder,\n 's-stats-card--light': lightMode,\n 's-stats-card--color': !lightMode,\n 's-stats-card--light-version': lightVersion,\n 's-stats-card--clickable': clickable\n }\"\n (click)=\"clickable && onClick.next($event)\">\n\n <div\n [id]=\"id + '-background'\"\n class=\"s-stats-card-background\"\n [ngStyle]=\"{ 'background-color': !lightMode && color || '' }\">\n </div>\n <div\n [id]=\"id + '-overlay'\"\n class=\"s-stats-card-overlay\">\n </div>\n\n <div\n [id]=\"id + '-info-container'\"\n class=\"s-stats-card-info-container\">\n <div class=\"s-stats-card-info-inner-container\">\n <div\n [id]=\"id + '-icon-container'\"\n class=\"s-stats-card-icon-container\"\n [ngStyle]=\"{ 'background-color': lightMode && color || '' }\">\n <span\n [id]=\"id + '-icon'\"\n [class]=\"iconClass\"\n [ngClass]=\"{ 's-stats-card-icon': true }\"\n [ngStyle]=\"{'color': !lightMode && color || ''}\"\n aria-hidden=\"true\"></span>\n </div>\n\n <div\n [id]=\"id + '-text-container'\"\n class=\"s-stats-card-text-container\">\n <h4\n [id]=\"id + '-label'\"\n class=\"s-stats-card-label\"\n [pTooltip]=\"label\"\n tooltipPosition=\"top\"\n showDelay=\"500\">\n {{ label }}\n </h4>\n <span\n [id]=\"id + '-value'\"\n class=\"s-stats-card-value\"\n [pTooltip]=\"displayValue\"\n tooltipPosition=\"top\"\n showDelay=\"500\">\n {{ displayValue }}\n </span>\n </div>\n </div>\n <div class=\"s-stats-card-content-inner-container\">\n <div #content class=\"s-stats-card-content-container\">\n <ng-content></ng-content>\n </div>\n <div\n *ngIf=\"content.children.length\"\n class=\"s-stats-card-content-separator\">\n </div>\n </div>\n <span\n *ngIf=\"tooltip\"\n class=\"s-status-card-tooltip\"\n [pTooltip]=\"tooltip\"\n tooltipPosition=\"right\">\n <i class=\"fa fa-info-circle s-status-card-tooltip-icon\"></i>\n </span>\n </div>\n</div>\n",
17159
+ encapsulation: core.ViewEncapsulation.None,
17160
+ styles: ["s-stats-card{display:block;height:auto;position:relative}s-stats-card .s-stats-card{border:1px solid transparent;min-width:120px;overflow:hidden;position:relative}s-stats-card .s-stats-card .s-stats-card-background,s-stats-card .s-stats-card .s-stats-card-overlay{height:calc(100% - 2px);left:1px;position:absolute;top:1px;width:calc(100% - 2px)}s-stats-card .s-stats-card .s-stats-card-background{background-color:#fff}s-stats-card .s-stats-card .s-stats-card-overlay{background-color:#000;opacity:0;transition:opacity .2s ease-out}s-stats-card .s-stats-card .s-stats-card-info-container{overflow:auto;padding:15px;position:relative}s-stats-card .s-stats-card .s-stats-card-info-container .s-stats-card-info-inner-container{overflow:hidden;position:relative}s-stats-card .s-stats-card .s-stats-card-info-container .s-stats-card-info-inner-container .s-stats-card-icon-container{float:left;font-size:24px;height:50px;line-height:50px;text-align:center;transition:width .2s ease-out;width:50px}s-stats-card .s-stats-card .s-stats-card-info-container .s-stats-card-info-inner-container .s-stats-card-text-container{-ms-flex-align:start;align-items:flex-start;color:#fff;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;float:left;height:50px;-ms-flex-pack:center;justify-content:center;max-width:calc(100% - 65px);padding-left:15px}s-stats-card .s-stats-card .s-stats-card-info-container .s-stats-card-info-inner-container .s-stats-card-text-container .s-stats-card-label{font-weight:400;width:100%}s-stats-card .s-stats-card .s-stats-card-info-container .s-stats-card-info-inner-container .s-stats-card-text-container .s-stats-card-value{display:inline-block;font-size:20px;font-weight:700;width:100%}s-stats-card .s-stats-card .s-stats-card-info-container .s-stats-card-info-inner-container .s-stats-card-text-container,s-stats-card .s-stats-card .s-stats-card-info-container .s-stats-card-info-inner-container .s-stats-card-text-container .s-stats-card-label,s-stats-card .s-stats-card .s-stats-card-info-container .s-stats-card-info-inner-container .s-stats-card-text-container .s-stats-card-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}s-stats-card .s-stats-card .s-stats-card-info-container .s-stats-card-content-inner-container{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}s-stats-card .s-stats-card .s-stats-card-info-container .s-stats-card-content-inner-container .s-stats-card-content-separator{border-top:1px solid #ccc;margin:15px 0;-ms-flex-order:1;order:1}s-stats-card .s-stats-card .s-stats-card-info-container .s-stats-card-content-inner-container .s-stats-card-content-container{-ms-flex-order:2;order:2}s-stats-card .s-stats-card .s-stats-card-info-container .s-status-card-tooltip{font-size:1rem;line-height:0;margin:.3rem;position:absolute;right:0;top:0}s-stats-card .s-stats-card .s-stats-card-info-container .s-status-card-tooltip .s-status-card-tooltip-icon{color:#fff}s-stats-card .s-stats-card.s-stats-card--color .s-stats-card-icon-container{background-color:#fff}s-stats-card .s-stats-card.s-stats-card--light *{color:#333}s-stats-card .s-stats-card.s-stats-card--light .s-stats-card-icon{color:#fff}s-stats-card .s-stats-card.s-stats-card--light * .s-status-card-tooltip .s-status-card-tooltip-icon,s-stats-card .s-stats-card.s-stats-card--light .s-stats-card-label{color:#999}s-stats-card .s-stats-card.s-stats-card--light-version .s-stats-card-info-inner-container .s-stats-card-icon-container{height:100%;left:0;position:absolute;right:0;width:10px}s-stats-card .s-stats-card.s-stats-card--light-version .s-stats-card-info-inner-container .s-stats-card-icon-container .s-stats-card-icon{display:none}s-stats-card .s-stats-card.s-stats-card--light-version .s-stats-card-info-inner-container .s-stats-card-text-container{height:auto;max-width:calc(100% - 25px);padding-left:25px}s-stats-card .s-stats-card.s-stats-card--clickable{cursor:pointer}s-stats-card .s-stats-card:hover .s-stats-card-overlay{opacity:.2}s-stats-card .s-stats-card.s-stats-card--light:hover .s-stats-card-overlay{opacity:.08}s-stats-card .s-stats-card.s-stats-card--light{border-color:#ccc}.s-sidebar-content .s-stats-card.s-stats-card--light:not(.s-stats-card--always-border),.ui-dialog-content .s-stats-card.s-stats-card--light:not(.s-stats-card--always-border),p-panel .s-stats-card.s-stats-card--light:not(.s-stats-card--always-border){border-color:transparent}@media (max-width:767px){s-stats-card .s-stats-card{height:auto}s-stats-card .s-stats-card .s-stats-card-info-container .s-stats-card-info-inner-container .s-stats-card-icon-container{height:100%;left:0;position:absolute;right:0;width:10px}s-stats-card .s-stats-card .s-stats-card-info-container .s-stats-card-info-inner-container .s-stats-card-icon-container .s-stats-card-icon{display:none}s-stats-card .s-stats-card .s-stats-card-info-container .s-stats-card-info-inner-container .s-stats-card-text-container{height:auto;max-width:calc(100% - 25px);padding-left:25px}s-stats-card .s-stats-card .s-stats-card-info-container .s-stats-card-info-inner-container .s-stats-card-text-container,s-stats-card .s-stats-card .s-stats-card-info-container .s-stats-card-info-inner-container .s-stats-card-text-container .s-stats-card-label,s-stats-card .s-stats-card .s-stats-card-info-container .s-stats-card-info-inner-container .s-stats-card-text-container .s-stats-card-value{overflow:visible;white-space:normal;word-break:break-all}}"]
17079
17161
  })
17080
- ], TieredMenuDirective);
17081
- return TieredMenuDirective;
17162
+ ], StatsCardComponent);
17163
+ return StatsCardComponent;
17082
17164
  }());
17083
17165
 
17084
- var TieredMenuDividerComponent = /** @class */ (function () {
17085
- function TieredMenuDividerComponent() {
17166
+ var StatsCardModule = /** @class */ (function () {
17167
+ function StatsCardModule() {
17086
17168
  }
17087
- TieredMenuDividerComponent = __decorate([
17088
- core.Component({
17089
- selector: "s-tiered-menu-divider",
17090
- template: "<div class=\"divider\"></div>",
17091
- styles: [".divider{margin:2px 0;height:1px;background-color:#ccc}"]
17169
+ StatsCardModule = __decorate([
17170
+ core.NgModule({
17171
+ imports: [
17172
+ common.CommonModule,
17173
+ tooltip.TooltipModule,
17174
+ ],
17175
+ declarations: [
17176
+ StatsCardComponent,
17177
+ ],
17178
+ exports: [
17179
+ StatsCardComponent,
17180
+ ],
17092
17181
  })
17093
- ], TieredMenuDividerComponent);
17094
- return TieredMenuDividerComponent;
17182
+ ], StatsCardModule);
17183
+ return StatsCardModule;
17095
17184
  }());
17096
17185
 
17097
- var TieredMenuItemComponent = /** @class */ (function () {
17098
- function TieredMenuItemComponent(_tieredMenuEventService) {
17099
- this._tieredMenuEventService = _tieredMenuEventService;
17100
- this.focused = false;
17101
- this.highlight = false;
17102
- this.triggerEvent = "click";
17103
- this.closeOnClick = false;
17186
+
17187
+ (function (StepState) {
17188
+ StepState["Default"] = "default";
17189
+ StepState["Success"] = "success";
17190
+ StepState["Warning"] = "warning";
17191
+ })(exports.StepState || (exports.StepState = {}));
17192
+ var StepsComponent = /** @class */ (function () {
17193
+ function StepsComponent() {
17194
+ this.id = "s-steps-" + StepsComponent_1.nextId++;
17195
+ this.activeIndex = 0;
17196
+ this.stepSelected = new core.EventEmitter();
17104
17197
  }
17105
- TieredMenuItemComponent.prototype.onClick = function () {
17106
- if (this.item.disabled)
17198
+ StepsComponent_1 = StepsComponent;
17199
+ StepsComponent.prototype.stepClick = function (step, index, event) {
17200
+ if (step.disabled || index == this.activeIndex)
17107
17201
  return;
17108
- if (this.item.submenu) {
17109
- if (!this.item.isOpen) {
17110
- this._tieredMenuEventService.openItemMenuEvent.emit(this.item);
17111
- }
17112
- else if (this.closeOnClick) {
17113
- this._tieredMenuEventService.closeItemMenuEvent.emit(this.item);
17114
- }
17115
- }
17116
- else {
17117
- this._tieredMenuEventService.selectItemEvent.emit(this.item);
17118
- }
17202
+ this.stepSelected.emit({ step: step, index: index, event: event });
17119
17203
  };
17120
- TieredMenuItemComponent.prototype.onMouseEnter = function () {
17121
- var _this = this;
17122
- if (this.item.disabled)
17123
- return;
17124
- if (this.triggerEvent === "hover" && !this.item.isOpen) {
17125
- this._showTimeout = window.setTimeout(function () {
17126
- _this._tieredMenuEventService.openItemMenuEvent.emit(_this.item);
17127
- }, 300);
17128
- }
17204
+ Object.defineProperty(StepsComponent.prototype, "stepState", {
17205
+ get: function () {
17206
+ return exports.StepState;
17207
+ },
17208
+ enumerable: true,
17209
+ configurable: true
17210
+ });
17211
+ StepsComponent.prototype.barAnimation = function (index, activeIndex) {
17212
+ var visited = index < activeIndex;
17213
+ var activated = index === activeIndex;
17214
+ return visited || activated;
17129
17215
  };
17130
- TieredMenuItemComponent.prototype.onMouseLeave = function () {
17131
- window.clearTimeout(this._showTimeout);
17216
+ StepsComponent.prototype.afterBarAnimation = function (index, activeIndex) {
17217
+ var visited = index < activeIndex;
17218
+ var activated = index === activeIndex - 1;
17219
+ return visited || activated;
17132
17220
  };
17133
- TieredMenuItemComponent.ctorParameters = function () { return [
17134
- { type: TieredMenuEventService }
17135
- ]; };
17136
- __decorate([
17137
- core.Input()
17138
- ], TieredMenuItemComponent.prototype, "item", void 0);
17139
- __decorate([
17140
- core.Input()
17141
- ], TieredMenuItemComponent.prototype, "focused", void 0);
17221
+ Object.defineProperty(StepsComponent.prototype, "visibledStep", {
17222
+ get: function () {
17223
+ return this.steps.filter(function (step) { return !step.hidden; });
17224
+ },
17225
+ enumerable: true,
17226
+ configurable: true
17227
+ });
17228
+ var StepsComponent_1;
17229
+ StepsComponent.nextId = 0;
17142
17230
  __decorate([
17143
17231
  core.Input()
17144
- ], TieredMenuItemComponent.prototype, "highlight", void 0);
17232
+ ], StepsComponent.prototype, "id", void 0);
17145
17233
  __decorate([
17146
17234
  core.Input()
17147
- ], TieredMenuItemComponent.prototype, "triggerEvent", void 0);
17235
+ ], StepsComponent.prototype, "steps", void 0);
17148
17236
  __decorate([
17149
17237
  core.Input()
17150
- ], TieredMenuItemComponent.prototype, "closeOnClick", void 0);
17151
- __decorate([
17152
- core.HostListener("click"),
17153
- core.HostListener("touchend")
17154
- ], TieredMenuItemComponent.prototype, "onClick", null);
17155
- __decorate([
17156
- core.HostListener("mouseenter")
17157
- ], TieredMenuItemComponent.prototype, "onMouseEnter", null);
17238
+ ], StepsComponent.prototype, "activeIndex", void 0);
17158
17239
  __decorate([
17159
- core.HostListener("mouseleave")
17160
- ], TieredMenuItemComponent.prototype, "onMouseLeave", null);
17161
- TieredMenuItemComponent = __decorate([
17240
+ core.Output()
17241
+ ], StepsComponent.prototype, "stepSelected", void 0);
17242
+ StepsComponent = StepsComponent_1 = __decorate([
17162
17243
  core.Component({
17163
- selector: "s-tiered-menu-item",
17164
- 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>",
17165
- 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}"]
17244
+ selector: "s-steps",
17245
+ template: "<div [id]=\"id\" class=\"s-steps-container\">\n <ng-container *ngFor=\"let step of visibledStep; let i = index; let isFirst = first; let isLast = last\">\n <div *ngIf=\"!isFirst\" class=\"s-step-progress-bar\"\n [@activeDesative]=\"barAnimation(i, activeIndex) ? 'active': 'desactive'\" [ngClass]=\"{\n 's-step-success': (step.state === stepState.Success),\n 's-step-warning': (step.state === stepState.Warning),\n 's-step-disabled': step.disabled,\n 's-step-visited': (i < activeIndex),\n 's-step-active': (i === activeIndex)\n }\"></div>\n <div [id]=\"id + '-step-' + (step.id || i)\" class=\"s-step-header\" (click)=\"stepClick(step, i, $event)\" role=\"tab\"\n tabindex=\"0\" [attr.aria-label]=\"step.ariaLabel || null\" [attr.aria-controls]=\"step.ariaControls\"\n [attr.aria-labelledby]=\"!step.ariaLabel ? 'step-label-' + i : null\" [attr.aria-posinset]=\"i + 1\"\n [attr.aria-setsize]=\"visibledStep.length\" [attr.aria-selected]=\"activeIndex == i\" [ngClass]=\"{\n 's-step-success': (step.state === stepState.Success),\n 's-step-warning': (step.state === stepState.Warning),\n 's-step-visited': (i < activeIndex),\n 's-step-active': (i === activeIndex),\n 's-step-previous': (i === activeIndex - 1)\n }\">\n <div *ngIf=\"!isFirst\"\n [@beforeActiveDesative]=\"barAnimation(i, activeIndex) ? 'active': 'desactive'\"\n class=\"s-step-progress-bar-before\" [ngClass]=\"{\n 's-step-success': (step.state === stepState.Success),\n 's-step-warning': (step.state === stepState.Warning),\n 's-step-disabled': step.disabled,\n 's-step-visited': (i < activeIndex),\n 's-step-active': (i === activeIndex)\n }\"></div>\n <div *ngIf=\"!isLast\"\n [@afterActiveDesative]=\"afterBarAnimation(i, activeIndex) ? 'active': 'desactive'\"\n class=\"s-step-progress-bar-after\" [ngClass]=\"{\n 's-step-success': (step.state === stepState.Success),\n 's-step-warning': (step.state === stepState.Warning),\n 's-step-disabled': visibledStep[i + 1].disabled,\n 's-step-visited': ((i + 1) < activeIndex),\n 's-step-active': (i === (activeIndex - 1))\n }\"></div>\n <div\n class=\"s-step-index\"\n [ngClass]=\"{'s-step-disabled': step.disabled}\"\n [pTooltip]=\"step.tooltip\"\n tooltipPosition=\"top\">\n <div class=\"s-step-index-content\">\n <span\n *ngIf=\"step.state !== stepState.Warning && (step.state == stepState.Success || activeIndex > i)\"\n class=\"fas fa-check\"\n aria-hidden=\"true\"\n [attr.aria-label]=\"i + 1\"></span>\n <span\n *ngIf=\"step.state == stepState.Warning\"\n class=\"fas fa-exclamation-triangle\"\n aria-hidden=\"true\"\n [attr.aria-label]=\"i + 1\"></span>\n <span\n *ngIf=\"step.state != stepState.Success && step.state != stepState.Warning && activeIndex <= i\">\n {{i + 1}}\n </span>\n </div>\n </div>\n <div\n [id]=\"'step-label-' + i\"\n class=\"s-step-label\"\n [ngClass]=\"{'s-step-disabled': step.disabled}\">\n <span>\n {{step.label}}\n </span>\n </div>\n </div>\n </ng-container>\n</div>\n",
17246
+ host: {
17247
+ "aria-orientation": "horizontal",
17248
+ role: "tablist",
17249
+ "tab-index": "0",
17250
+ },
17251
+ animations: [
17252
+ animations.trigger("beforeActiveDesative", [
17253
+ animations.state("active", animations.style({
17254
+ "background-position": "left bottom",
17255
+ })),
17256
+ animations.state("desactive", animations.style({
17257
+ "background-position": "right bottom",
17258
+ })),
17259
+ animations.transition("active => desactive", [animations.animate("50ms 100ms linear")]),
17260
+ animations.transition("desactive => active", [animations.animate("50ms 250ms linear")]),
17261
+ ]),
17262
+ animations.trigger("activeDesative", [
17263
+ animations.state("active", animations.style({
17264
+ "background-position": "left bottom",
17265
+ })),
17266
+ animations.state("desactive", animations.style({
17267
+ "background-position": "right bottom",
17268
+ })),
17269
+ animations.transition("active => desactive", [animations.animate("100ms 150ms linear")]),
17270
+ animations.transition("desactive => active", [animations.animate("100ms 150ms linear")]),
17271
+ ]),
17272
+ animations.trigger("afterActiveDesative", [
17273
+ animations.state("active", animations.style({
17274
+ "background-position": "left bottom",
17275
+ })),
17276
+ animations.state("desactive", animations.style({
17277
+ "background-position": "right bottom",
17278
+ })),
17279
+ animations.transition("active => desactive", [animations.animate("50ms 250ms linear")]),
17280
+ animations.transition("desactive => active", [animations.animate("50ms 100ms linear")]),
17281
+ ]),
17282
+ ],
17283
+ styles: ["@keyframes scale-up-center{0%{transform:scale(.5)}100%{transform:scale(1)}}.s-steps-container{display:-ms-flexbox;display:flex;white-space:nowrap;-ms-flex-align:start;align-items:flex-start;overflow:hidden;padding:15px 10px}.s-step-header{box-sizing:border-box;-ms-flex-direction:column;flex-direction:column;cursor:pointer;position:relative;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;height:66px}.s-step-header .s-step-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-break:break-all;color:#999;font-size:14px;font-weight:400;padding-top:5px}.s-step-header .s-step-progress-bar-before{margin:0;position:absolute;top:20px;-ms-flex:auto;flex:auto;height:3px;overflow:hidden;width:calc(50% - 20px);background-color:#ccc;background-image:linear-gradient(to right,#7892a1 50%,#ccc 50%);background-position:right bottom;background-size:300% 100%;left:0}.s-step-header .s-step-progress-bar-before.s-step-active,.s-step-header .s-step-progress-bar-before.s-step-visited{background-position:left bottom}.s-step-header .s-step-progress-bar-after{margin:0;position:absolute;top:20px;-ms-flex:auto;flex:auto;height:3px;overflow:hidden;width:calc(50% - 20px);background-color:#ccc;background-image:linear-gradient(to right,#7892a1 50%,#ccc 50%);background-position:right bottom;background-size:300% 100%;right:0}.s-step-header .s-step-progress-bar-after.s-step-active,.s-step-header .s-step-progress-bar-after.s-step-visited{background-position:left bottom}.s-step-progress-bar{margin:0;position:relative;top:20px;-ms-flex:auto;flex:auto;height:3px;overflow:hidden;width:100%;background-color:#ccc;background-image:linear-gradient(to right,#7892a1 50%,#ccc 50%);background-position:right bottom;background-size:300% 100%}.s-step-disabled{opacity:.5;filter:Alpha(Opacity=50)}.s-step-disabled,.s-step-disabled *{cursor:text!important}.s-step-active.s-step-disabled{opacity:1}.s-step-index{background-color:#fff;border:3px solid #ccc;border-radius:50%;color:#999;display:inline-block;font-weight:700;position:relative;transition:background-color .2s ease-out;height:40px;width:40px;-ms-flex:none;flex:none}.s-step-index .s-step-index-content{line-height:18px;font-size:18px;padding-top:8.5px;text-align:center;position:relative;cursor:pointer}.s-step-index:hover{background-color:#f7f7f7}.s-step-warning .s-step-index .s-step-index-content{padding-top:7px}.s-step-visited .s-step-index{border-color:#7892a1;animation:.1s ease-out alternate scale-up-center;background-color:#7892a1}.s-step-visited .s-step-index-content>span{color:#fff}.s-step-active.s-step-progress-bar,.s-step-visited.s-step-progress-bar{background-position:left bottom}.s-step-active .s-step-index{border-color:#7892a1;color:#7892a1;cursor:default}.s-step-active .s-step-label{color:#333;font-weight:700}@media (max-width:767px){.s-step-label{display:none}}"]
17166
17284
  })
17167
- ], TieredMenuItemComponent);
17168
- return TieredMenuItemComponent;
17285
+ ], StepsComponent);
17286
+ return StepsComponent;
17169
17287
  }());
17170
17288
 
17171
- var TieredMenuModule = /** @class */ (function () {
17172
- function TieredMenuModule() {
17289
+ var StepsModule = /** @class */ (function () {
17290
+ function StepsModule() {
17173
17291
  }
17174
- TieredMenuModule = __decorate([
17292
+ StepsModule = __decorate([
17175
17293
  core.NgModule({
17176
- imports: [
17177
- common.CommonModule,
17178
- ],
17179
- declarations: [
17180
- TieredMenuDirective,
17181
- TieredMenuComponent,
17182
- TieredMenuNestedComponent,
17183
- TieredMenuItemComponent,
17184
- TieredMenuDividerComponent,
17185
- ],
17186
- exports: [TieredMenuDirective],
17187
- providers: [TieredMenuGlobalService],
17294
+ imports: [common.CommonModule, tooltip.TooltipModule],
17295
+ declarations: [StepsComponent],
17296
+ exports: [StepsComponent],
17188
17297
  })
17189
- ], TieredMenuModule);
17190
- return TieredMenuModule;
17298
+ ], StepsModule);
17299
+ return StepsModule;
17191
17300
  }());
17192
17301
 
17193
17302
  var TileComponent = /** @class */ (function () {
@@ -18240,6 +18349,8 @@
18240
18349
  exports.MaskFormatterModule = MaskFormatterModule;
18241
18350
  exports.MaskFormatterPipe = MaskFormatterPipe;
18242
18351
  exports.MouseEventsModule = MouseEventsModule;
18352
+ exports.NavigationButtonComponent = NavigationButtonComponent;
18353
+ exports.NavigationButtonModule = NavigationButtonModule;
18243
18354
  exports.NavigationDirective = NavigationDirective;
18244
18355
  exports.NumberField = NumberField;
18245
18356
  exports.NumberInputDirective = NumberInputDirective;
@@ -18361,20 +18472,20 @@
18361
18472
  exports.ɵct = KanbanColumnComponent;
18362
18473
  exports.ɵcu = KanbanItemDraggingComponent;
18363
18474
  exports.ɵcv = NumberLocaleOptions;
18364
- exports.ɵcw = BorderButtonModule;
18365
- exports.ɵcx = BorderButtonComponent;
18366
- exports.ɵcy = ProgressBarDeterminateComponent;
18367
- exports.ɵcz = ProgressBarIndeterminateComponent;
18475
+ exports.ɵcw = TieredMenuEventService;
18476
+ exports.ɵcx = TieredMenuService;
18477
+ exports.ɵcy = TieredMenuGlobalService;
18478
+ exports.ɵcz = TieredMenuComponent;
18368
18479
  exports.ɵd = TemplateModule;
18369
- exports.ɵda = SelectButtonItemComponent;
18370
- exports.ɵdb = SlidePanelService;
18371
- exports.ɵdc = TieredMenuEventService;
18372
- exports.ɵdd = TieredMenuService;
18373
- exports.ɵde = TieredMenuGlobalService;
18374
- exports.ɵdf = TieredMenuComponent;
18375
- exports.ɵdg = TieredMenuNestedComponent;
18376
- exports.ɵdh = TieredMenuItemComponent;
18377
- exports.ɵdi = TieredMenuDividerComponent;
18480
+ exports.ɵda = TieredMenuNestedComponent;
18481
+ exports.ɵdb = TieredMenuItemComponent;
18482
+ exports.ɵdc = TieredMenuDividerComponent;
18483
+ exports.ɵdd = BorderButtonModule;
18484
+ exports.ɵde = BorderButtonComponent;
18485
+ exports.ɵdf = ProgressBarDeterminateComponent;
18486
+ exports.ɵdg = ProgressBarIndeterminateComponent;
18487
+ exports.ɵdh = SelectButtonItemComponent;
18488
+ exports.ɵdi = SlidePanelService;
18378
18489
  exports.ɵdj = TimelineItemModule;
18379
18490
  exports.ɵdk = TimelineIconItemComponent;
18380
18491
  exports.ɵdl = HorizontalTimelineModule;