@edm-sdui/sdui 1.0.14 → 1.0.16

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/esm2022/lib/components/uicomponent/button/button.component.mjs +2 -2
  2. package/esm2022/lib/components/uicomponent/column/column.component.mjs +2 -2
  3. package/esm2022/lib/components/uicomponent/image/image.component.mjs +8 -5
  4. package/esm2022/lib/components/uicomponent/profile-button/profile-button.component.mjs +2 -2
  5. package/esm2022/lib/components/uicomponent/progress-bar/progress-bar.component.mjs +2 -2
  6. package/esm2022/lib/components/uicomponent/zstack/zstack.component.mjs +3 -3
  7. package/esm2022/lib/components/uilayout/uinavigation/uinavigation.component.mjs +3 -3
  8. package/esm2022/lib/core/services/ui-action-handlers.service.mjs +22 -0
  9. package/esm2022/lib/core/services/ui-action.service.mjs +19 -5
  10. package/esm2022/lib/core/uitheme/enums/uiaction-type.mjs +2 -1
  11. package/esm2022/lib/core/uitheme/mapping/aspect-mapping.mjs +6 -0
  12. package/esm2022/lib/directives/uiview.directive.mjs +1 -1
  13. package/esm2022/public-api.mjs +2 -1
  14. package/fesm2022/edm-sdui-sdui.mjs +67 -20
  15. package/fesm2022/edm-sdui-sdui.mjs.map +1 -1
  16. package/lib/components/uicomponent/image/image.component.d.ts.map +1 -1
  17. package/lib/core/services/ui-action-handlers.service.d.ts +9 -0
  18. package/lib/core/services/ui-action-handlers.service.d.ts.map +1 -0
  19. package/lib/core/services/ui-action.service.d.ts +3 -1
  20. package/lib/core/services/ui-action.service.d.ts.map +1 -1
  21. package/lib/core/uitheme/enums/uiaction-type.d.ts +1 -0
  22. package/lib/core/uitheme/enums/uiaction-type.d.ts.map +1 -1
  23. package/lib/core/uitheme/mapping/aspect-mapping.d.ts +3 -0
  24. package/lib/core/uitheme/mapping/aspect-mapping.d.ts.map +1 -0
  25. package/lib/directives/uiview.directive.d.ts.map +1 -1
  26. package/package.json +1 -1
  27. package/public-api.d.ts +1 -0
  28. package/public-api.d.ts.map +1 -1
@@ -401,11 +401,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
401
401
 
402
402
  class UINavigationComponent {
403
403
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UINavigationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
404
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: UINavigationComponent, selector: "edm-sdui-navigation", inputs: { uiNavigation: "uiNavigation" }, ngImport: i0, template: "<div class=\"nav-main\" *ngIf=\"uiNavigation\">\n <h1 *ngIf=\"uiNavigation.title\">{{ uiNavigation.title }}</h1>\n\n <edm-sdui-component\n [uiComponent]=\"uiNavigation.titleComponent\"\n *ngIf=\"uiNavigation.titleComponent\"\n ></edm-sdui-component>\n</div>\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: UIComponentComponent, selector: "edm-sdui-component", inputs: ["uiComponent", "translateLabel"] }] }); }
404
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: UINavigationComponent, selector: "edm-sdui-navigation", inputs: { uiNavigation: "uiNavigation" }, ngImport: i0, template: "<div class=\"nav-main\" *ngIf=\"uiNavigation\">\n <h2 *ngIf=\"uiNavigation.title\">{{ uiNavigation.title }}</h2>\n\n <edm-sdui-component\n [uiComponent]=\"uiNavigation.titleComponent\"\n *ngIf=\"uiNavigation.titleComponent\"\n ></edm-sdui-component>\n</div>\n", styles: [":host{display:contents}.nav-main h2{text-align:center}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: UIComponentComponent, selector: "edm-sdui-component", inputs: ["uiComponent", "translateLabel"] }] }); }
405
405
  }
406
406
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UINavigationComponent, decorators: [{
407
407
  type: Component,
408
- args: [{ selector: 'edm-sdui-navigation', standalone: false, template: "<div class=\"nav-main\" *ngIf=\"uiNavigation\">\n <h1 *ngIf=\"uiNavigation.title\">{{ uiNavigation.title }}</h1>\n\n <edm-sdui-component\n [uiComponent]=\"uiNavigation.titleComponent\"\n *ngIf=\"uiNavigation.titleComponent\"\n ></edm-sdui-component>\n</div>\n", styles: [":host{display:contents}\n"] }]
408
+ args: [{ selector: 'edm-sdui-navigation', standalone: false, template: "<div class=\"nav-main\" *ngIf=\"uiNavigation\">\n <h2 *ngIf=\"uiNavigation.title\">{{ uiNavigation.title }}</h2>\n\n <edm-sdui-component\n [uiComponent]=\"uiNavigation.titleComponent\"\n *ngIf=\"uiNavigation.titleComponent\"\n ></edm-sdui-component>\n</div>\n", styles: [":host{display:contents}.nav-main h2{text-align:center}\n"] }]
409
409
  }], propDecorators: { uiNavigation: [{
410
410
  type: Input
411
411
  }] } });
@@ -916,6 +916,7 @@ var UIActionType;
916
916
  UIActionType["RELOAD_INTERNAL_URL"] = "RELOAD_INTERNAL_URL";
917
917
  UIActionType["DISMISS_TO_SCENE"] = "DISMISS_TO_SCENE";
918
918
  UIActionType["EXTERNAL_URL"] = "EXTERNAL_URL";
919
+ UIActionType["WEBVIEW_URL"] = "WEBVIEW_URL";
919
920
  // paywall
920
921
  UIActionType["PAYWALL"] = "PAYWALL";
921
922
  UIActionType["REGISTER"] = "REGISTER";
@@ -924,9 +925,30 @@ var UIActionType;
924
925
  UIActionType["FILE"] = "FILE";
925
926
  })(UIActionType || (UIActionType = {}));
926
927
 
928
+ class UIActionHandlersService {
929
+ registerLogout(handler) {
930
+ this.logoutHandler = handler;
931
+ }
932
+ executeLogout() {
933
+ if (this.logoutHandler) {
934
+ this.logoutHandler();
935
+ }
936
+ else {
937
+ console.warn('Nenhum handler de logout registrado.');
938
+ }
939
+ }
940
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UIActionHandlersService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
941
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UIActionHandlersService, providedIn: 'root' }); }
942
+ }
943
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UIActionHandlersService, decorators: [{
944
+ type: Injectable,
945
+ args: [{ providedIn: 'root' }]
946
+ }] });
947
+
927
948
  class UIActionService {
928
- constructor(router) {
949
+ constructor(router, actionHandlers) {
929
950
  this.router = router;
951
+ this.actionHandlers = actionHandlers;
930
952
  }
931
953
  execute(action) {
932
954
  if (!action || !action.type)
@@ -962,7 +984,6 @@ class UIActionService {
962
984
  break;
963
985
  case UIActionType.EXTERNAL_URL:
964
986
  if (action.url) {
965
- console.debug('[UIActionService] Navigating to:', action.url);
966
987
  window.open(action.url, '_blank');
967
988
  }
968
989
  // Outros tipos de ação podem ser adicionados aqui
@@ -1021,15 +1042,27 @@ class UIActionService {
1021
1042
  this.router.navigate(['perfil', 'editar'], { queryParams: { from: 'sdui' } });
1022
1043
  return true;
1023
1044
  }
1045
+ if (url.includes('ranking')) {
1046
+ this.router.navigate(['perfil', 'ranking'], { queryParams: { from: 'sdui' } });
1047
+ return true;
1048
+ }
1049
+ if (url.includes('ranking/rules')) {
1050
+ this.router.navigate(['perfil', 'ranking', 'regras'], { queryParams: { from: 'sdui' } });
1051
+ return true;
1052
+ }
1053
+ if (url.includes('logout')) {
1054
+ this.router.navigate(['logout'], { queryParams: { from: 'sdui' } });
1055
+ return true;
1056
+ }
1024
1057
  return false; // nenhum dos casos especiais foi tratado
1025
1058
  }
1026
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UIActionService, deps: [{ token: i1$2.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
1059
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UIActionService, deps: [{ token: i1$2.Router }, { token: UIActionHandlersService }], target: i0.ɵɵFactoryTarget.Injectable }); }
1027
1060
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UIActionService, providedIn: 'root' }); }
1028
1061
  }
1029
1062
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UIActionService, decorators: [{
1030
1063
  type: Injectable,
1031
1064
  args: [{ providedIn: 'root' }]
1032
- }], ctorParameters: () => [{ type: i1$2.Router }] });
1065
+ }], ctorParameters: () => [{ type: i1$2.Router }, { type: UIActionHandlersService }] });
1033
1066
 
1034
1067
  class UIViewDirective {
1035
1068
  constructor(elementRef, renderer, router, actionService, screenViewModel) {
@@ -1283,11 +1316,11 @@ class ColumnComponent {
1283
1316
  // console.debug('column.uiComponent: ', this.uiComponent);
1284
1317
  }
1285
1318
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ColumnComponent, deps: [{ token: 'uiComponent' }], target: i0.ɵɵFactoryTarget.Component }); }
1286
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ColumnComponent, selector: "edm-sdui-column", ngImport: i0, template: "<div class=\"column\" *ngIf=\"uiComponent\" [edmSduiView]=\"uiComponent.element\">\n <edm-sdui-component\n *ngFor=\"let child of uiComponent.components\"\n [uiComponent]=\"child\"\n >\n </edm-sdui-component>\n</div>\n", styles: [":host{display:contents}.column{display:flex;flex-direction:column;width:100%}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: UIComponentComponent, selector: "edm-sdui-component", inputs: ["uiComponent", "translateLabel"] }, { kind: "directive", type: UIViewDirective, selector: "[edmSduiView]", inputs: ["edmSduiView", "disableClick"] }] }); }
1319
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ColumnComponent, selector: "edm-sdui-column", ngImport: i0, template: "<div class=\"column\" *ngIf=\"uiComponent\" [edmSduiView]=\"uiComponent.element\">\n <edm-sdui-component\n *ngFor=\"let child of uiComponent.components\"\n [uiComponent]=\"child\"\n >\n </edm-sdui-component>\n</div>\n", styles: [":host{display:contents}.column{display:flex;flex-direction:column}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: UIComponentComponent, selector: "edm-sdui-component", inputs: ["uiComponent", "translateLabel"] }, { kind: "directive", type: UIViewDirective, selector: "[edmSduiView]", inputs: ["edmSduiView", "disableClick"] }] }); }
1287
1320
  }
1288
1321
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ColumnComponent, decorators: [{
1289
1322
  type: Component,
1290
- args: [{ selector: 'edm-sdui-column', standalone: false, template: "<div class=\"column\" *ngIf=\"uiComponent\" [edmSduiView]=\"uiComponent.element\">\n <edm-sdui-component\n *ngFor=\"let child of uiComponent.components\"\n [uiComponent]=\"child\"\n >\n </edm-sdui-component>\n</div>\n", styles: [":host{display:contents}.column{display:flex;flex-direction:column;width:100%}\n"] }]
1323
+ args: [{ selector: 'edm-sdui-column', standalone: false, template: "<div class=\"column\" *ngIf=\"uiComponent\" [edmSduiView]=\"uiComponent.element\">\n <edm-sdui-component\n *ngFor=\"let child of uiComponent.components\"\n [uiComponent]=\"child\"\n >\n </edm-sdui-component>\n</div>\n", styles: [":host{display:contents}.column{display:flex;flex-direction:column}\n"] }]
1291
1324
  }], ctorParameters: () => [{ type: undefined, decorators: [{
1292
1325
  type: Inject,
1293
1326
  args: ['uiComponent']
@@ -1479,11 +1512,11 @@ class ZStackComponent {
1479
1512
  // console.debug('zstack.uiComponent: ', this.uiComponent);
1480
1513
  }
1481
1514
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ZStackComponent, deps: [{ token: 'uiComponent' }], target: i0.ɵɵFactoryTarget.Component }); }
1482
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ZStackComponent, selector: "edm-sdui-zstack", ngImport: i0, template: "<div class=\"zstack\" *ngIf=\"uiComponent\" [edmSduiView]=\"uiComponent.element\">\n <edm-sdui-component\n *ngFor=\"let child of uiComponent.components\"\n [uiComponent]=\"child\"\n ></edm-sdui-component>\n</div>\n", styles: [":host{display:contents}.zstack{display:grid;place-items:center}.zstack>*{grid-area:1/1}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: UIComponentComponent, selector: "edm-sdui-component", inputs: ["uiComponent", "translateLabel"] }, { kind: "directive", type: UIViewDirective, selector: "[edmSduiView]", inputs: ["edmSduiView", "disableClick"] }] }); }
1515
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ZStackComponent, selector: "edm-sdui-zstack", ngImport: i0, template: "<div #zstackElementRef class=\"zstack\" *ngIf=\"uiComponent\" [edmSduiView]=\"uiComponent.element\">\n <ng-container *ngFor=\"let child of uiComponent.components\">\n <div class=\"zstack-child\">\n <edm-sdui-component [uiComponent]=\"child\"></edm-sdui-component>\n </div>\n </ng-container>\n</div>\n", styles: [":host{display:contents}.zstack{display:grid}.zstack-child{grid-area:1/1;display:flex;align-items:center}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: UIComponentComponent, selector: "edm-sdui-component", inputs: ["uiComponent", "translateLabel"] }, { kind: "directive", type: UIViewDirective, selector: "[edmSduiView]", inputs: ["edmSduiView", "disableClick"] }] }); }
1483
1516
  }
1484
1517
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ZStackComponent, decorators: [{
1485
1518
  type: Component,
1486
- args: [{ selector: 'edm-sdui-zstack', standalone: false, template: "<div class=\"zstack\" *ngIf=\"uiComponent\" [edmSduiView]=\"uiComponent.element\">\n <edm-sdui-component\n *ngFor=\"let child of uiComponent.components\"\n [uiComponent]=\"child\"\n ></edm-sdui-component>\n</div>\n", styles: [":host{display:contents}.zstack{display:grid;place-items:center}.zstack>*{grid-area:1/1}\n"] }]
1519
+ args: [{ selector: 'edm-sdui-zstack', standalone: false, template: "<div #zstackElementRef class=\"zstack\" *ngIf=\"uiComponent\" [edmSduiView]=\"uiComponent.element\">\n <ng-container *ngFor=\"let child of uiComponent.components\">\n <div class=\"zstack-child\">\n <edm-sdui-component [uiComponent]=\"child\"></edm-sdui-component>\n </div>\n </ng-container>\n</div>\n", styles: [":host{display:contents}.zstack{display:grid}.zstack-child{grid-area:1/1;display:flex;align-items:center}\n"] }]
1487
1520
  }], ctorParameters: () => [{ type: undefined, decorators: [{
1488
1521
  type: Inject,
1489
1522
  args: ['uiComponent']
@@ -2281,11 +2314,11 @@ class ButtonComponent {
2281
2314
  return assetMapping[asset];
2282
2315
  }
2283
2316
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ButtonComponent, deps: [{ token: 'uiComponent' }, { token: i0.Renderer2 }, { token: FontSizeMappingService }], target: i0.ɵɵFactoryTarget.Component }); }
2284
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ButtonComponent, selector: "edm-sdui-button", viewQueries: [{ propertyName: "buttonElementRef", first: true, predicate: ["buttonElement"], descendants: true }], ngImport: i0, template: "<button #buttonElement [edmSduiView]=\"uiComponent.element\" *ngIf=\"uiComponent\">\n <img *ngIf=\"uiComponent.element.asset\" [src]=\"getAssetPath(uiComponent.element.asset)\" alt=\"\">\n {{ uiComponent.element.label }}\n</button>\n", styles: [":host{display:contents}button{border:none;white-space:nowrap;line-height:1.5;background-color:unset}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: UIViewDirective, selector: "[edmSduiView]", inputs: ["edmSduiView", "disableClick"] }] }); }
2317
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ButtonComponent, selector: "edm-sdui-button", viewQueries: [{ propertyName: "buttonElementRef", first: true, predicate: ["buttonElement"], descendants: true }], ngImport: i0, template: "<button #buttonElement [edmSduiView]=\"uiComponent.element\" *ngIf=\"uiComponent\">\n <img *ngIf=\"uiComponent.element.asset\" [src]=\"getAssetPath(uiComponent.element.asset)\" alt=\"\">\n {{ uiComponent.element.label }}\n</button>\n", styles: [":host{display:contents}button{border:none;white-space:nowrap;background-color:unset}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: UIViewDirective, selector: "[edmSduiView]", inputs: ["edmSduiView", "disableClick"] }] }); }
2285
2318
  }
2286
2319
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ButtonComponent, decorators: [{
2287
2320
  type: Component,
2288
- args: [{ selector: 'edm-sdui-button', standalone: false, template: "<button #buttonElement [edmSduiView]=\"uiComponent.element\" *ngIf=\"uiComponent\">\n <img *ngIf=\"uiComponent.element.asset\" [src]=\"getAssetPath(uiComponent.element.asset)\" alt=\"\">\n {{ uiComponent.element.label }}\n</button>\n", styles: [":host{display:contents}button{border:none;white-space:nowrap;line-height:1.5;background-color:unset}\n"] }]
2321
+ args: [{ selector: 'edm-sdui-button', standalone: false, template: "<button #buttonElement [edmSduiView]=\"uiComponent.element\" *ngIf=\"uiComponent\">\n <img *ngIf=\"uiComponent.element.asset\" [src]=\"getAssetPath(uiComponent.element.asset)\" alt=\"\">\n {{ uiComponent.element.label }}\n</button>\n", styles: [":host{display:contents}button{border:none;white-space:nowrap;background-color:unset}\n"] }]
2289
2322
  }], ctorParameters: () => [{ type: undefined, decorators: [{
2290
2323
  type: Inject,
2291
2324
  args: ['uiComponent']
@@ -2338,6 +2371,17 @@ const sizeMappingWidth = {
2338
2371
  [UISize.ASSET_8]: '24px',
2339
2372
  };
2340
2373
 
2374
+ var UIAspectType;
2375
+ (function (UIAspectType) {
2376
+ UIAspectType["FILL"] = "fill";
2377
+ UIAspectType["FIT"] = "fit";
2378
+ })(UIAspectType || (UIAspectType = {}));
2379
+
2380
+ const aspectMapping = {
2381
+ [UIAspectType.FILL]: 'cover',
2382
+ [UIAspectType.FIT]: 'contain',
2383
+ };
2384
+
2341
2385
  class ImageComponent {
2342
2386
  constructor(uiComponent, renderer) {
2343
2387
  this.uiComponent = uiComponent;
@@ -2362,9 +2406,12 @@ class ImageComponent {
2362
2406
  const width = sizeMappingWidth[element.size];
2363
2407
  this.renderer.setStyle(this.imgElementRef.nativeElement, 'height', height);
2364
2408
  this.renderer.setStyle(this.imgElementRef.nativeElement, 'width', width);
2365
- if (element.size === UISize.THUMB_2) {
2366
- this.renderer.setStyle(this.imgElementRef.nativeElement, 'object-fit', 'contain');
2367
- }
2409
+ }
2410
+ if (element.aspect) {
2411
+ this.renderer.setStyle(this.imgElementRef.nativeElement, 'object-fit', aspectMapping[element.aspect]);
2412
+ }
2413
+ if (element.aspectRatio) {
2414
+ this.renderer.setStyle(this.imgElementRef.nativeElement, 'aspect-ratio', element.aspectRatio);
2368
2415
  }
2369
2416
  }
2370
2417
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ImageComponent, deps: [{ token: 'uiComponent' }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
@@ -3072,11 +3119,11 @@ class ProfileButtonComponent {
3072
3119
  return assetMapping[asset];
3073
3120
  }
3074
3121
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProfileButtonComponent, deps: [{ token: 'uiComponent' }, { token: i0.Renderer2 }, { token: FontSizeMappingService }], target: i0.ɵɵFactoryTarget.Component }); }
3075
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ProfileButtonComponent, selector: "edm-sdui-profile-button", viewQueries: [{ propertyName: "profileButtonElementRef", first: true, predicate: ["profileButtonElement"], descendants: true }, { propertyName: "profileButtonLabelElementRef", first: true, predicate: ["profileButtonLabelElement"], descendants: true }, { propertyName: "profileButtonImageElementRef", first: true, predicate: ["profileButtonImageElement"], descendants: true }], ngImport: i0, template: "<button #profileButtonElement [edmSduiView]=\"uiComponent.element\" class=\"profile-button\" *ngIf=\"uiComponent\">\n <img #profileButtonImageElement *ngIf=\"uiComponent.element.asset\" [src]=\"getAssetPath(uiComponent.element.asset)\" alt=\"Profile\" class=\"profile-image\">\n <span #profileButtonLabelElement class=\"profile-label\">{{ uiComponent.element.label }}</span>\n</button>\n", styles: [":host{display:contents}.profile-button{display:flex;padding:16px 16px 0;border-radius:20px;background-color:var(--bt-profile);border:none;cursor:pointer;flex-direction:column;height:108px;width:108px;align-items:start;justify-content:start;gap:24px;margin-bottom:8px}.profile-button:hover{background-color:#0000000d;cursor:pointer}.profile-button .profile-image{width:24px;height:24px}.profile-button .profile-label{white-space:normal;word-break:break-word;overflow-wrap:break-word;max-width:100%;display:block;text-align:left}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: UIViewDirective, selector: "[edmSduiView]", inputs: ["edmSduiView", "disableClick"] }] }); }
3122
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ProfileButtonComponent, selector: "edm-sdui-profile-button", viewQueries: [{ propertyName: "profileButtonElementRef", first: true, predicate: ["profileButtonElement"], descendants: true }, { propertyName: "profileButtonLabelElementRef", first: true, predicate: ["profileButtonLabelElement"], descendants: true }, { propertyName: "profileButtonImageElementRef", first: true, predicate: ["profileButtonImageElement"], descendants: true }], ngImport: i0, template: "<button #profileButtonElement [edmSduiView]=\"uiComponent.element\" class=\"profile-button\" *ngIf=\"uiComponent\">\n <img #profileButtonImageElement *ngIf=\"uiComponent.element.asset\" [src]=\"getAssetPath(uiComponent.element.asset)\" alt=\"Profile\" class=\"profile-image\">\n <span #profileButtonLabelElement class=\"profile-label\">{{ uiComponent.element.label }}</span>\n</button>\n", styles: [":host{display:contents}.profile-button{display:flex;padding:16px 16px 0;border-radius:20px;background-color:var(--bt-profile);border:none;cursor:pointer;flex-direction:column;height:108px;width:108px;align-items:start;justify-content:start;gap:24px}.profile-button:hover{background-color:#0000000d;cursor:pointer}.profile-button .profile-image{width:24px;height:24px}.profile-button .profile-label{white-space:normal;word-break:break-word;overflow-wrap:break-word;max-width:100%;display:block;text-align:left}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: UIViewDirective, selector: "[edmSduiView]", inputs: ["edmSduiView", "disableClick"] }] }); }
3076
3123
  }
3077
3124
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProfileButtonComponent, decorators: [{
3078
3125
  type: Component,
3079
- args: [{ selector: 'edm-sdui-profile-button', standalone: false, template: "<button #profileButtonElement [edmSduiView]=\"uiComponent.element\" class=\"profile-button\" *ngIf=\"uiComponent\">\n <img #profileButtonImageElement *ngIf=\"uiComponent.element.asset\" [src]=\"getAssetPath(uiComponent.element.asset)\" alt=\"Profile\" class=\"profile-image\">\n <span #profileButtonLabelElement class=\"profile-label\">{{ uiComponent.element.label }}</span>\n</button>\n", styles: [":host{display:contents}.profile-button{display:flex;padding:16px 16px 0;border-radius:20px;background-color:var(--bt-profile);border:none;cursor:pointer;flex-direction:column;height:108px;width:108px;align-items:start;justify-content:start;gap:24px;margin-bottom:8px}.profile-button:hover{background-color:#0000000d;cursor:pointer}.profile-button .profile-image{width:24px;height:24px}.profile-button .profile-label{white-space:normal;word-break:break-word;overflow-wrap:break-word;max-width:100%;display:block;text-align:left}\n"] }]
3126
+ args: [{ selector: 'edm-sdui-profile-button', standalone: false, template: "<button #profileButtonElement [edmSduiView]=\"uiComponent.element\" class=\"profile-button\" *ngIf=\"uiComponent\">\n <img #profileButtonImageElement *ngIf=\"uiComponent.element.asset\" [src]=\"getAssetPath(uiComponent.element.asset)\" alt=\"Profile\" class=\"profile-image\">\n <span #profileButtonLabelElement class=\"profile-label\">{{ uiComponent.element.label }}</span>\n</button>\n", styles: [":host{display:contents}.profile-button{display:flex;padding:16px 16px 0;border-radius:20px;background-color:var(--bt-profile);border:none;cursor:pointer;flex-direction:column;height:108px;width:108px;align-items:start;justify-content:start;gap:24px}.profile-button:hover{background-color:#0000000d;cursor:pointer}.profile-button .profile-image{width:24px;height:24px}.profile-button .profile-label{white-space:normal;word-break:break-word;overflow-wrap:break-word;max-width:100%;display:block;text-align:left}\n"] }]
3080
3127
  }], ctorParameters: () => [{ type: undefined, decorators: [{
3081
3128
  type: Inject,
3082
3129
  args: ['uiComponent']
@@ -3120,11 +3167,11 @@ class ProgressBarComponent {
3120
3167
  }
3121
3168
  }
3122
3169
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProgressBarComponent, deps: [{ token: 'uiComponent' }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
3123
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ProgressBarComponent, selector: "edm-sdui-progress-bar", viewQueries: [{ propertyName: "progressFillElementRef", first: true, predicate: ["progressFillElement"], descendants: true }], ngImport: i0, template: "<div [edmSduiView]=\"uiComponent.element\" class=\"progress-bar-container\" *ngIf=\"uiComponent\">\n <div #progressFillElement class=\"progress-bar-fill\"></div>\n</div>\n", styles: [":host{display:contents}.progress-bar-container{position:relative;width:100%;height:8px;background-color:#e0e0e0;border-radius:4px;overflow:hidden;margin:8px 0}.progress-bar-container .progress-bar-fill{height:100%;width:0;background-color:#2196f3;transition:width .3s ease}.progress-bar-container .progress-bar-label{position:absolute;top:100%;left:0;width:100%;text-align:center;font-size:12px;margin-top:4px}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: UIViewDirective, selector: "[edmSduiView]", inputs: ["edmSduiView", "disableClick"] }] }); }
3170
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ProgressBarComponent, selector: "edm-sdui-progress-bar", viewQueries: [{ propertyName: "progressFillElementRef", first: true, predicate: ["progressFillElement"], descendants: true }], ngImport: i0, template: "<div [edmSduiView]=\"uiComponent.element\" class=\"progress-bar-container\" *ngIf=\"uiComponent\">\n <div #progressFillElement class=\"progress-bar-fill\"></div>\n</div>\n", styles: [":host{display:contents}.progress-bar-container{position:relative;width:100%;height:5px;background-color:#e0e0e0;border-radius:4px;overflow:hidden}.progress-bar-container .progress-bar-fill{height:100%;width:0;background-color:#2196f3;transition:width .3s ease}.progress-bar-container .progress-bar-label{position:absolute;top:100%;left:0;width:100%;text-align:center;font-size:12px;margin-top:4px}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: UIViewDirective, selector: "[edmSduiView]", inputs: ["edmSduiView", "disableClick"] }] }); }
3124
3171
  }
3125
3172
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProgressBarComponent, decorators: [{
3126
3173
  type: Component,
3127
- args: [{ selector: 'edm-sdui-progress-bar', standalone: false, template: "<div [edmSduiView]=\"uiComponent.element\" class=\"progress-bar-container\" *ngIf=\"uiComponent\">\n <div #progressFillElement class=\"progress-bar-fill\"></div>\n</div>\n", styles: [":host{display:contents}.progress-bar-container{position:relative;width:100%;height:8px;background-color:#e0e0e0;border-radius:4px;overflow:hidden;margin:8px 0}.progress-bar-container .progress-bar-fill{height:100%;width:0;background-color:#2196f3;transition:width .3s ease}.progress-bar-container .progress-bar-label{position:absolute;top:100%;left:0;width:100%;text-align:center;font-size:12px;margin-top:4px}\n"] }]
3174
+ args: [{ selector: 'edm-sdui-progress-bar', standalone: false, template: "<div [edmSduiView]=\"uiComponent.element\" class=\"progress-bar-container\" *ngIf=\"uiComponent\">\n <div #progressFillElement class=\"progress-bar-fill\"></div>\n</div>\n", styles: [":host{display:contents}.progress-bar-container{position:relative;width:100%;height:5px;background-color:#e0e0e0;border-radius:4px;overflow:hidden}.progress-bar-container .progress-bar-fill{height:100%;width:0;background-color:#2196f3;transition:width .3s ease}.progress-bar-container .progress-bar-label{position:absolute;top:100%;left:0;width:100%;text-align:center;font-size:12px;margin-top:4px}\n"] }]
3128
3175
  }], ctorParameters: () => [{ type: undefined, decorators: [{
3129
3176
  type: Inject,
3130
3177
  args: ['uiComponent']
@@ -3247,5 +3294,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
3247
3294
  * Generated bundle index. Do not edit.
3248
3295
  */
3249
3296
 
3250
- export { SDUI_URL_PARAM, SduiComponent, SduiModule };
3297
+ export { SDUI_URL_PARAM, SduiComponent, SduiModule, UIActionHandlersService };
3251
3298
  //# sourceMappingURL=edm-sdui-sdui.mjs.map