@smartbit4all/ng-client 7.0.3 → 7.0.5

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.
@@ -3620,11 +3620,11 @@ class UiActionButtonComponent {
3620
3620
  return null;
3621
3621
  }
3622
3622
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: UiActionButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3623
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: UiActionButtonComponent, isStandalone: true, selector: "ui-action-button", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, descriptor: { classPropertyName: "descriptor", publicName: "descriptor", isSignal: true, isRequired: true, transformFunction: null }, code: { classPropertyName: "code", publicName: "code", isSignal: true, isRequired: false, transformFunction: null }, identifier: { classPropertyName: "identifier", publicName: "identifier", isSignal: true, isRequired: false, transformFunction: null }, viewActivated: { classPropertyName: "viewActivated", publicName: "viewActivated", isSignal: true, isRequired: false, transformFunction: null }, addedCssClass: { classPropertyName: "addedCssClass", publicName: "addedCssClass", isSignal: true, isRequired: false, transformFunction: null }, addBasicClasses: { classPropertyName: "addBasicClasses", publicName: "addBasicClasses", isSignal: true, isRequired: false, transformFunction: null }, iconPlaceholder: { classPropertyName: "iconPlaceholder", publicName: "iconPlaceholder", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { actionClick: "actionClick", actionDoubleClick: "actionDoubleClick" }, ngImport: i0, template: "@if (effectiveDescriptor().type === 'SEPARATOR') {\n <div class=\"separator\">\n @if (effectiveDescriptor().title) {\n <span class=\"separator-label\" [style.color]=\"getSeparatorColor()\">\n {{ effectiveDescriptor().title }}\n </span>\n }\n <hr class=\"separator-line\" [style.border-top-color]=\"getSeparatorColor()\" />\n </div>\n} @else {\n <ng-container *ngTemplateOutlet=\"buttonWithBadge\"></ng-container>\n}\n\n<ng-template #buttonWithBadge>\n @if (effectiveDescriptor() && effectiveDescriptor().badge) {\n <ui-badge [descriptor]=\"effectiveDescriptor().badge\">\n <ng-container *ngTemplateOutlet=\"buttonTemplate\"></ng-container>\n </ui-badge>\n } @else {\n <ng-container *ngTemplateOutlet=\"buttonTemplate\"></ng-container>\n }\n</ng-template>\n\n<ng-template #buttonTemplate>\n <button\n mat-button\n [smartTooltip]=\"effectiveDescriptor().tooltip\"\n [color]=\"effectiveDescriptor().color\"\n [disabled]=\"!!disabled()\"\n (click)=\"onActionClicked($event, mainActionModel())\"\n (dblclick)=\"onActionDoubleClicked($event)\"\n [ngStyle]=\"calcStyle(effectiveDescriptor().style)\"\n [ngClass]=\"getCombinedClasses()\"\n [style.justify-content]=\"getJustifyContent()\"\n class=\"{{ getbtnClass() }} {{ addedCssClass() }}\"\n type=\"button\"\n [attr.data-testid]=\"getDataTestId()\"\n >\n @if (isOnlyIcon()) {\n @if (renderPlaceholderPre() || renderPlaceholderPost()) {\n <smart-icon></smart-icon>\n } @else if (effectiveDescriptor().iconResource) {\n <smart-icon\n [imageResource]=\"effectiveDescriptor().iconResource\"\n [color]=\"effectiveDescriptor().iconColor || effectiveDescriptor().color\"\n ></smart-icon>\n } @else {\n <smart-icon\n [icon]=\"effectiveDescriptor().icon\"\n [color]=\"effectiveDescriptor().iconColor || effectiveDescriptor().color\"\n ></smart-icon>\n }\n } @else {\n @if (renderPre() || renderPlaceholderPre()) {\n <ng-container *ngTemplateOutlet=\"buttonIcon\" />\n }\n {{ effectiveDescriptor().title }}\n @if (renderPost() || renderPlaceholderPost()) {\n <ng-container *ngTemplateOutlet=\"buttonIcon\" />\n }\n }\n </button>\n</ng-template>\n\n\n<ng-template #buttonIcon>\n @if (renderPlaceholderPre() || renderPlaceholderPost()) {\n <smart-icon></smart-icon>\n } @else if (effectiveDescriptor().iconResource) {\n <smart-icon\n [imageResource]=\"effectiveDescriptor().iconResource\"\n [color]=\"effectiveDescriptor().iconColor || effectiveDescriptor().color\"\n ></smart-icon>\n } @else {\n <smart-icon\n [icon]=\"effectiveDescriptor().icon\"\n [color]=\"effectiveDescriptor().iconColor || effectiveDescriptor().color\"\n ></smart-icon>\n }\n</ng-template>\n", styles: [":host{--text-color: black}:host ::ng-deep button{display:flex;gap:1rem;align-items:center;justify-content:center;line-height:1;padding:.75rem 1rem}:host{height:fit-content;width:fit-content;padding:unset;margin:unset}:host ::ng-deep .mdc-button__label{display:flex;flex-direction:row;gap:1rem;align-items:center;justify-content:center;white-space:nowrap}:host ::ng-deep .mdc-button{height:fit-content;min-height:var(--mat-button-text-container-height)}:host ::ng-deep .mat-mdc-icon-button ::ng-deep img{width:unset;height:unset}.separator{display:flex;flex-direction:column;padding:0 .5rem;width:100%}.separator-label{font-size:.7rem;color:#888;padding-bottom:.15rem}.separator-line{border:none;border-top:1px solid #e2e5e9;margin:0}:host ::ng-deep button.sb4-view-activated{background:var(--sb4-view-activated-bg, var(--primary-color, #1976d2));border-color:var(--sb4-view-activated-border-color, transparent);font-weight:var(--sb4-view-activated-font-weight, 600)}:host ::ng-deep button.sb4-view-activated,:host ::ng-deep button.sb4-view-activated *{color:var(--sb4-view-activated-color, var(--primary-color-text, #ffffff))!important}:host ::ng-deep button.sb4-view-activated:hover{background:var(--sb4-view-activated-bg, var(--primary-color, #1976d2))!important;box-shadow:var( --sb4-view-activated-hover-shadow, 0 2px 4px -1px rgba(0, 0, 0, .2), 0 4px 5px 0 rgba(0, 0, 0, .14), 0 1px 10px 0 rgba(0, 0, 0, .12) )}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: UiBadgeComponent, selector: "ui-badge", inputs: ["descriptor", "inputValue"] }, { kind: "component", type: MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: SmartTooltipDirective, selector: "[smartTooltip]", inputs: ["smartTooltip"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: SmartIconComponent, selector: "smart-icon", inputs: ["icon", "color", "imageResource"] }] }); }
3623
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: UiActionButtonComponent, isStandalone: true, selector: "ui-action-button", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, descriptor: { classPropertyName: "descriptor", publicName: "descriptor", isSignal: true, isRequired: true, transformFunction: null }, code: { classPropertyName: "code", publicName: "code", isSignal: true, isRequired: false, transformFunction: null }, identifier: { classPropertyName: "identifier", publicName: "identifier", isSignal: true, isRequired: false, transformFunction: null }, viewActivated: { classPropertyName: "viewActivated", publicName: "viewActivated", isSignal: true, isRequired: false, transformFunction: null }, addedCssClass: { classPropertyName: "addedCssClass", publicName: "addedCssClass", isSignal: true, isRequired: false, transformFunction: null }, addBasicClasses: { classPropertyName: "addBasicClasses", publicName: "addBasicClasses", isSignal: true, isRequired: false, transformFunction: null }, iconPlaceholder: { classPropertyName: "iconPlaceholder", publicName: "iconPlaceholder", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { actionClick: "actionClick", actionDoubleClick: "actionDoubleClick" }, ngImport: i0, template: "@if (effectiveDescriptor().type === 'SEPARATOR') {\n <div class=\"separator\">\n @if (effectiveDescriptor().title) {\n <span class=\"separator-label\" [style.color]=\"getSeparatorColor()\">\n {{ effectiveDescriptor().title }}\n </span>\n }\n <hr class=\"separator-line\" [style.border-top-color]=\"getSeparatorColor()\" />\n </div>\n} @else {\n <ng-container *ngTemplateOutlet=\"buttonWithBadge\"></ng-container>\n}\n\n<ng-template #buttonWithBadge>\n @if (effectiveDescriptor() && effectiveDescriptor().badge) {\n <ui-badge [descriptor]=\"effectiveDescriptor().badge\">\n <ng-container *ngTemplateOutlet=\"buttonTemplate\"></ng-container>\n </ui-badge>\n } @else {\n <ng-container *ngTemplateOutlet=\"buttonTemplate\"></ng-container>\n }\n</ng-template>\n\n<ng-template #buttonTemplate>\n <button\n mat-button\n [smartTooltip]=\"effectiveDescriptor().tooltip\"\n [color]=\"effectiveDescriptor().color\"\n [disabled]=\"!!disabled()\"\n (click)=\"onActionClicked($event, mainActionModel())\"\n (dblclick)=\"onActionDoubleClicked($event)\"\n [ngStyle]=\"calcStyle(effectiveDescriptor().style)\"\n [ngClass]=\"getCombinedClasses()\"\n [style.justify-content]=\"getJustifyContent()\"\n class=\"{{ getbtnClass() }} {{ addedCssClass() }}\"\n type=\"button\"\n [attr.data-testid]=\"code() ?? null\"\n [attr.data-testid2]=\"getDataTestId()\"\n >\n @if (isOnlyIcon()) {\n @if (renderPlaceholderPre() || renderPlaceholderPost()) {\n <smart-icon></smart-icon>\n } @else if (effectiveDescriptor().iconResource) {\n <smart-icon\n [imageResource]=\"effectiveDescriptor().iconResource\"\n [color]=\"effectiveDescriptor().iconColor || effectiveDescriptor().color\"\n ></smart-icon>\n } @else {\n <smart-icon\n [icon]=\"effectiveDescriptor().icon\"\n [color]=\"effectiveDescriptor().iconColor || effectiveDescriptor().color\"\n ></smart-icon>\n }\n } @else {\n @if (renderPre() || renderPlaceholderPre()) {\n <ng-container *ngTemplateOutlet=\"buttonIcon\" />\n }\n {{ effectiveDescriptor().title }}\n @if (renderPost() || renderPlaceholderPost()) {\n <ng-container *ngTemplateOutlet=\"buttonIcon\" />\n }\n }\n </button>\n</ng-template>\n\n\n<ng-template #buttonIcon>\n @if (renderPlaceholderPre() || renderPlaceholderPost()) {\n <smart-icon></smart-icon>\n } @else if (effectiveDescriptor().iconResource) {\n <smart-icon\n [imageResource]=\"effectiveDescriptor().iconResource\"\n [color]=\"effectiveDescriptor().iconColor || effectiveDescriptor().color\"\n ></smart-icon>\n } @else {\n <smart-icon\n [icon]=\"effectiveDescriptor().icon\"\n [color]=\"effectiveDescriptor().iconColor || effectiveDescriptor().color\"\n ></smart-icon>\n }\n</ng-template>\n", styles: [":host{--text-color: black}:host ::ng-deep button{display:flex;gap:1rem;align-items:center;justify-content:center;line-height:1;padding:.75rem 1rem}:host{height:fit-content;width:fit-content;padding:unset;margin:unset}:host ::ng-deep .mdc-button__label{display:flex;flex-direction:row;gap:1rem;align-items:center;justify-content:center;white-space:nowrap}:host ::ng-deep .mdc-button{height:fit-content;min-height:var(--mat-button-text-container-height)}:host ::ng-deep .mat-mdc-icon-button ::ng-deep img{width:unset;height:unset}.separator{display:flex;flex-direction:column;padding:0 .5rem;width:100%}.separator-label{font-size:.7rem;color:#888;padding-bottom:.15rem}.separator-line{border:none;border-top:1px solid #e2e5e9;margin:0}:host ::ng-deep button.sb4-view-activated{background:var(--sb4-view-activated-bg, var(--primary-color, #1976d2));border-color:var(--sb4-view-activated-border-color, transparent);font-weight:var(--sb4-view-activated-font-weight, 600)}:host ::ng-deep button.sb4-view-activated,:host ::ng-deep button.sb4-view-activated *{color:var(--sb4-view-activated-color, var(--primary-color-text, #ffffff))!important}:host ::ng-deep button.sb4-view-activated:hover{background:var(--sb4-view-activated-bg, var(--primary-color, #1976d2))!important;box-shadow:var( --sb4-view-activated-hover-shadow, 0 2px 4px -1px rgba(0, 0, 0, .2), 0 4px 5px 0 rgba(0, 0, 0, .14), 0 1px 10px 0 rgba(0, 0, 0, .12) )}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: UiBadgeComponent, selector: "ui-badge", inputs: ["descriptor", "inputValue"] }, { kind: "component", type: MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: SmartTooltipDirective, selector: "[smartTooltip]", inputs: ["smartTooltip"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: SmartIconComponent, selector: "smart-icon", inputs: ["icon", "color", "imageResource"] }] }); }
3624
3624
  }
3625
3625
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: UiActionButtonComponent, decorators: [{
3626
3626
  type: Component,
3627
- args: [{ selector: 'ui-action-button', imports: [NgTemplateOutlet, UiBadgeComponent, MatButton, SmartTooltipDirective, NgStyle, NgClass, SmartIconComponent], template: "@if (effectiveDescriptor().type === 'SEPARATOR') {\n <div class=\"separator\">\n @if (effectiveDescriptor().title) {\n <span class=\"separator-label\" [style.color]=\"getSeparatorColor()\">\n {{ effectiveDescriptor().title }}\n </span>\n }\n <hr class=\"separator-line\" [style.border-top-color]=\"getSeparatorColor()\" />\n </div>\n} @else {\n <ng-container *ngTemplateOutlet=\"buttonWithBadge\"></ng-container>\n}\n\n<ng-template #buttonWithBadge>\n @if (effectiveDescriptor() && effectiveDescriptor().badge) {\n <ui-badge [descriptor]=\"effectiveDescriptor().badge\">\n <ng-container *ngTemplateOutlet=\"buttonTemplate\"></ng-container>\n </ui-badge>\n } @else {\n <ng-container *ngTemplateOutlet=\"buttonTemplate\"></ng-container>\n }\n</ng-template>\n\n<ng-template #buttonTemplate>\n <button\n mat-button\n [smartTooltip]=\"effectiveDescriptor().tooltip\"\n [color]=\"effectiveDescriptor().color\"\n [disabled]=\"!!disabled()\"\n (click)=\"onActionClicked($event, mainActionModel())\"\n (dblclick)=\"onActionDoubleClicked($event)\"\n [ngStyle]=\"calcStyle(effectiveDescriptor().style)\"\n [ngClass]=\"getCombinedClasses()\"\n [style.justify-content]=\"getJustifyContent()\"\n class=\"{{ getbtnClass() }} {{ addedCssClass() }}\"\n type=\"button\"\n [attr.data-testid]=\"getDataTestId()\"\n >\n @if (isOnlyIcon()) {\n @if (renderPlaceholderPre() || renderPlaceholderPost()) {\n <smart-icon></smart-icon>\n } @else if (effectiveDescriptor().iconResource) {\n <smart-icon\n [imageResource]=\"effectiveDescriptor().iconResource\"\n [color]=\"effectiveDescriptor().iconColor || effectiveDescriptor().color\"\n ></smart-icon>\n } @else {\n <smart-icon\n [icon]=\"effectiveDescriptor().icon\"\n [color]=\"effectiveDescriptor().iconColor || effectiveDescriptor().color\"\n ></smart-icon>\n }\n } @else {\n @if (renderPre() || renderPlaceholderPre()) {\n <ng-container *ngTemplateOutlet=\"buttonIcon\" />\n }\n {{ effectiveDescriptor().title }}\n @if (renderPost() || renderPlaceholderPost()) {\n <ng-container *ngTemplateOutlet=\"buttonIcon\" />\n }\n }\n </button>\n</ng-template>\n\n\n<ng-template #buttonIcon>\n @if (renderPlaceholderPre() || renderPlaceholderPost()) {\n <smart-icon></smart-icon>\n } @else if (effectiveDescriptor().iconResource) {\n <smart-icon\n [imageResource]=\"effectiveDescriptor().iconResource\"\n [color]=\"effectiveDescriptor().iconColor || effectiveDescriptor().color\"\n ></smart-icon>\n } @else {\n <smart-icon\n [icon]=\"effectiveDescriptor().icon\"\n [color]=\"effectiveDescriptor().iconColor || effectiveDescriptor().color\"\n ></smart-icon>\n }\n</ng-template>\n", styles: [":host{--text-color: black}:host ::ng-deep button{display:flex;gap:1rem;align-items:center;justify-content:center;line-height:1;padding:.75rem 1rem}:host{height:fit-content;width:fit-content;padding:unset;margin:unset}:host ::ng-deep .mdc-button__label{display:flex;flex-direction:row;gap:1rem;align-items:center;justify-content:center;white-space:nowrap}:host ::ng-deep .mdc-button{height:fit-content;min-height:var(--mat-button-text-container-height)}:host ::ng-deep .mat-mdc-icon-button ::ng-deep img{width:unset;height:unset}.separator{display:flex;flex-direction:column;padding:0 .5rem;width:100%}.separator-label{font-size:.7rem;color:#888;padding-bottom:.15rem}.separator-line{border:none;border-top:1px solid #e2e5e9;margin:0}:host ::ng-deep button.sb4-view-activated{background:var(--sb4-view-activated-bg, var(--primary-color, #1976d2));border-color:var(--sb4-view-activated-border-color, transparent);font-weight:var(--sb4-view-activated-font-weight, 600)}:host ::ng-deep button.sb4-view-activated,:host ::ng-deep button.sb4-view-activated *{color:var(--sb4-view-activated-color, var(--primary-color-text, #ffffff))!important}:host ::ng-deep button.sb4-view-activated:hover{background:var(--sb4-view-activated-bg, var(--primary-color, #1976d2))!important;box-shadow:var( --sb4-view-activated-hover-shadow, 0 2px 4px -1px rgba(0, 0, 0, .2), 0 4px 5px 0 rgba(0, 0, 0, .14), 0 1px 10px 0 rgba(0, 0, 0, .12) )}\n"] }]
3627
+ args: [{ selector: 'ui-action-button', imports: [NgTemplateOutlet, UiBadgeComponent, MatButton, SmartTooltipDirective, NgStyle, NgClass, SmartIconComponent], template: "@if (effectiveDescriptor().type === 'SEPARATOR') {\n <div class=\"separator\">\n @if (effectiveDescriptor().title) {\n <span class=\"separator-label\" [style.color]=\"getSeparatorColor()\">\n {{ effectiveDescriptor().title }}\n </span>\n }\n <hr class=\"separator-line\" [style.border-top-color]=\"getSeparatorColor()\" />\n </div>\n} @else {\n <ng-container *ngTemplateOutlet=\"buttonWithBadge\"></ng-container>\n}\n\n<ng-template #buttonWithBadge>\n @if (effectiveDescriptor() && effectiveDescriptor().badge) {\n <ui-badge [descriptor]=\"effectiveDescriptor().badge\">\n <ng-container *ngTemplateOutlet=\"buttonTemplate\"></ng-container>\n </ui-badge>\n } @else {\n <ng-container *ngTemplateOutlet=\"buttonTemplate\"></ng-container>\n }\n</ng-template>\n\n<ng-template #buttonTemplate>\n <button\n mat-button\n [smartTooltip]=\"effectiveDescriptor().tooltip\"\n [color]=\"effectiveDescriptor().color\"\n [disabled]=\"!!disabled()\"\n (click)=\"onActionClicked($event, mainActionModel())\"\n (dblclick)=\"onActionDoubleClicked($event)\"\n [ngStyle]=\"calcStyle(effectiveDescriptor().style)\"\n [ngClass]=\"getCombinedClasses()\"\n [style.justify-content]=\"getJustifyContent()\"\n class=\"{{ getbtnClass() }} {{ addedCssClass() }}\"\n type=\"button\"\n [attr.data-testid]=\"code() ?? null\"\n [attr.data-testid2]=\"getDataTestId()\"\n >\n @if (isOnlyIcon()) {\n @if (renderPlaceholderPre() || renderPlaceholderPost()) {\n <smart-icon></smart-icon>\n } @else if (effectiveDescriptor().iconResource) {\n <smart-icon\n [imageResource]=\"effectiveDescriptor().iconResource\"\n [color]=\"effectiveDescriptor().iconColor || effectiveDescriptor().color\"\n ></smart-icon>\n } @else {\n <smart-icon\n [icon]=\"effectiveDescriptor().icon\"\n [color]=\"effectiveDescriptor().iconColor || effectiveDescriptor().color\"\n ></smart-icon>\n }\n } @else {\n @if (renderPre() || renderPlaceholderPre()) {\n <ng-container *ngTemplateOutlet=\"buttonIcon\" />\n }\n {{ effectiveDescriptor().title }}\n @if (renderPost() || renderPlaceholderPost()) {\n <ng-container *ngTemplateOutlet=\"buttonIcon\" />\n }\n }\n </button>\n</ng-template>\n\n\n<ng-template #buttonIcon>\n @if (renderPlaceholderPre() || renderPlaceholderPost()) {\n <smart-icon></smart-icon>\n } @else if (effectiveDescriptor().iconResource) {\n <smart-icon\n [imageResource]=\"effectiveDescriptor().iconResource\"\n [color]=\"effectiveDescriptor().iconColor || effectiveDescriptor().color\"\n ></smart-icon>\n } @else {\n <smart-icon\n [icon]=\"effectiveDescriptor().icon\"\n [color]=\"effectiveDescriptor().iconColor || effectiveDescriptor().color\"\n ></smart-icon>\n }\n</ng-template>\n", styles: [":host{--text-color: black}:host ::ng-deep button{display:flex;gap:1rem;align-items:center;justify-content:center;line-height:1;padding:.75rem 1rem}:host{height:fit-content;width:fit-content;padding:unset;margin:unset}:host ::ng-deep .mdc-button__label{display:flex;flex-direction:row;gap:1rem;align-items:center;justify-content:center;white-space:nowrap}:host ::ng-deep .mdc-button{height:fit-content;min-height:var(--mat-button-text-container-height)}:host ::ng-deep .mat-mdc-icon-button ::ng-deep img{width:unset;height:unset}.separator{display:flex;flex-direction:column;padding:0 .5rem;width:100%}.separator-label{font-size:.7rem;color:#888;padding-bottom:.15rem}.separator-line{border:none;border-top:1px solid #e2e5e9;margin:0}:host ::ng-deep button.sb4-view-activated{background:var(--sb4-view-activated-bg, var(--primary-color, #1976d2));border-color:var(--sb4-view-activated-border-color, transparent);font-weight:var(--sb4-view-activated-font-weight, 600)}:host ::ng-deep button.sb4-view-activated,:host ::ng-deep button.sb4-view-activated *{color:var(--sb4-view-activated-color, var(--primary-color-text, #ffffff))!important}:host ::ng-deep button.sb4-view-activated:hover{background:var(--sb4-view-activated-bg, var(--primary-color, #1976d2))!important;box-shadow:var( --sb4-view-activated-hover-shadow, 0 2px 4px -1px rgba(0, 0, 0, .2), 0 4px 5px 0 rgba(0, 0, 0, .14), 0 1px 10px 0 rgba(0, 0, 0, .12) )}\n"] }]
3628
3628
  }], propDecorators: { disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], descriptor: [{ type: i0.Input, args: [{ isSignal: true, alias: "descriptor", required: true }] }], code: [{ type: i0.Input, args: [{ isSignal: true, alias: "code", required: false }] }], identifier: [{ type: i0.Input, args: [{ isSignal: true, alias: "identifier", required: false }] }], viewActivated: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewActivated", required: false }] }], addedCssClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "addedCssClass", required: false }] }], addBasicClasses: [{ type: i0.Input, args: [{ isSignal: true, alias: "addBasicClasses", required: false }] }], iconPlaceholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "iconPlaceholder", required: false }] }], actionClick: [{ type: i0.Output, args: ["actionClick"] }], actionDoubleClick: [{ type: i0.Output, args: ["actionDoubleClick"] }] } });
3629
3629
 
3630
3630
  class MessageDialogComponent {
@@ -4864,7 +4864,9 @@ class SmartViewContextService {
4864
4864
  }
4865
4865
  async load2(uuid) {
4866
4866
  let change = await this.view.getComponentModel2(uuid).toPromise();
4867
- this.handlePerformActionResponse(change);
4867
+ // Not awaited: the sync ends with a viewcontext PUT, which would serialise the mount.
4868
+ // The failure still has to surface, so log it instead of dropping the promise.
4869
+ this.handlePerformActionResponse(change).catch((err) => console.error('syncView after component load failed', err));
4868
4870
  return change;
4869
4871
  }
4870
4872
  getCurrentViewContext() {
@@ -15828,6 +15830,18 @@ class SmartComponentApiClient {
15828
15830
  this.changeDetector?.detectChanges();
15829
15831
  }
15830
15832
  async run() {
15833
+ if (this.runInFlight && this.runInFlight.uuid === this.uuid) {
15834
+ return this.runInFlight.promise;
15835
+ }
15836
+ const promise = this.doRun().finally(() => {
15837
+ if (this.runInFlight?.promise === promise) {
15838
+ this.runInFlight = undefined;
15839
+ }
15840
+ });
15841
+ this.runInFlight = { uuid: this.uuid, promise };
15842
+ return promise;
15843
+ }
15844
+ async doRun() {
15831
15845
  try {
15832
15846
  await this.bootstrap.whenReady();
15833
15847
  await this.load();