@eui/mobile-core 17.1.0 → 17.2.0-snapshot-1716538151901

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.
@@ -3210,50 +3210,91 @@ class EuimChangelogComponent {
3210
3210
  this.changeLogs = [];
3211
3211
  }
3212
3212
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: EuimChangelogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3213
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.7", type: EuimChangelogComponent, selector: "euim-changelog", inputs: { changeLogs: "changeLogs" }, ngImport: i0, template: "<div class=\"euim-changelog\">\n <ion-header>\n <ion-toolbar color=\"primary\">\n <euim-toolbar>\n <euim-toolbar-title>{{ 'euim.about.changelog' | translate }}</euim-toolbar-title>\n </euim-toolbar>\n </ion-toolbar>\n </ion-header>\n <ion-content [fullscreen]=\"true\">\n <ion-list>\n <ion-accordion-group [multiple]=\"true\" value=\"about\">\n @for (logItem of changeLogs; track $index) {\n <ion-accordion [value]=\"$index === 0 ? 'about' : logItem.version\">\n <ion-item slot=\"header\">\n <ion-icon name=\"build-outline\" slot=\"start\"></ion-icon>\n <div class=\"euim-changelog__euimVersionTitle\" euimLabel euimLabelTitle>\n <strong>{{ logItem.version }}</strong>\n </div>\n </ion-item>\n <ion-list slot=\"content\">\n @for (section of logItem.sections; track section) {\n @if (section.items && section.items.length > 0) {\n <ion-item-divider>\n <ion-label>{{ section.name }}</ion-label>\n </ion-item-divider>\n <ion-item lines=\"none\">\n <ul>\n @for (item of section.items; track item) {\n <li>{{ item }}</li>\n }\n </ul>\n </ion-item>\n }\n }\n </ion-list>\n </ion-accordion>\n }\n </ion-accordion-group>\n </ion-list>\n </ion-content>\n</div>\n", styles: [".euim-changelog{height:100%}.euim-changelog__euimVersionTitle{font:normal normal 400 .875rem/1rem var(--eui-base-font-family);color:var(--eui-base-color-grey-100)}.euim-changelog ul{padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-m);margin:0}.euim-changelog li{font:normal normal 400 1rem/1.25rem var(--eui-base-font-family);color:var(--eui-base-color-grey-100)}.euim-changelog ion-item ion-icon{color:var(--eui-base-color-grey-100)}.euim-changelog ion-item ion-icon[slot=start]{margin-inline-end:var(--eui-base-spacing-m)}.euim-changelog ion-item ion-icon[slot=end]{color:var(--eui-base-color-grey-75)}.euim-changelog ion-accordion.accordion-expanded ion-item[slot=header]{--border-width: 0 0 1px 0 !important}.euim-changelog ion-list{flex:1;display:flex;flex-direction:column}\n"], dependencies: [{ kind: "component", type: i1.IonAccordion, selector: "ion-accordion", inputs: ["disabled", "mode", "readonly", "toggleIcon", "toggleIconSlot", "value"] }, { kind: "component", type: i1.IonAccordionGroup, selector: "ion-accordion-group", inputs: ["animated", "disabled", "expand", "mode", "multiple", "readonly", "value"] }, { kind: "component", type: i1.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i1.IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { kind: "component", type: i1.IonItemDivider, selector: "ion-item-divider", inputs: ["color", "mode", "sticky"] }, { kind: "component", type: i1.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i1.IonList, selector: "ion-list", inputs: ["inset", "lines", "mode"] }, { kind: "component", type: i1.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: EuimToolbarComponent, selector: "euim-toolbar", inputs: ["hasBackButton", "backButtonDefaultHref", "hasSidebarTrigger", "hasLanguageSelector"], outputs: ["backButtonClick"] }, { kind: "component", type: EuimToolbarTitleComponent, selector: "euim-toolbar-title" }, { kind: "component", type: EuimLabelComponent, selector: "div[euimLabel], p[euimLabel], span[euimLabel], euim-label", inputs: ["euimLabelTruncateWithLines", "euimLabelTitle", "euimLabelSubTitle", "euimLabelMeta", "euimLabelTruncate"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
3213
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.7", type: EuimChangelogComponent, selector: "euim-changelog", inputs: { changeLogs: "changeLogs" }, ngImport: i0, template: "<div class=\"euim-changelog\">\n <ion-header>\n <ion-toolbar color=\"primary\">\n <euim-toolbar>\n <euim-toolbar-title>{{ 'euim.about.changelog' | translate }}</euim-toolbar-title>\n </euim-toolbar>\n </ion-toolbar>\n </ion-header>\n <ion-content [fullscreen]=\"true\" scroll-y=\"false\">\n <ion-list>\n <ion-accordion-group [multiple]=\"true\" value=\"about\">\n @for (logItem of changeLogs; track $index) {\n <ion-accordion [value]=\"$index === 0 ? 'about' : logItem.version\">\n <ion-item slot=\"header\">\n <ion-icon name=\"build-outline\" slot=\"start\"></ion-icon>\n <div class=\"euim-changelog__euimVersionTitle\" euimLabel euimLabelTitle>\n <strong>{{ logItem.version }}</strong>\n </div>\n </ion-item>\n <ion-list slot=\"content\">\n @for (section of logItem.sections; track section) {\n @if (section.items && section.items.length > 0) {\n <ion-item-divider>\n <ion-label>{{ section.name }}</ion-label>\n </ion-item-divider>\n <ion-item lines=\"none\">\n <ul>\n @for (item of section.items; track item) {\n <li>{{ item }}</li>\n }\n </ul>\n </ion-item>\n }\n }\n </ion-list>\n </ion-accordion>\n }\n </ion-accordion-group>\n </ion-list>\n </ion-content>\n</div>\n", styles: [".euim-changelog__euimVersionTitle{font:normal normal 400 .875rem/1rem var(--eui-base-font-family);color:var(--eui-base-color-grey-100)}.euim-changelog ul{padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-m);margin:0}.euim-changelog li{font:normal normal 400 1rem/1.25rem var(--eui-base-font-family);color:var(--eui-base-color-grey-100)}.euim-changelog ion-item ion-icon{color:var(--eui-base-color-grey-100)}.euim-changelog ion-item ion-icon[slot=start]{margin-inline-end:var(--eui-base-spacing-m)}.euim-changelog ion-item ion-icon[slot=end]{color:var(--eui-base-color-grey-75)}.euim-changelog ion-accordion.accordion-expanded ion-item[slot=header]{--border-width: 0 0 1px 0 !important}.euim-changelog ion-list{flex:1;display:flex;flex-direction:column}.euim-changelog ion-content ion-list{max-height:100vh;overflow-y:auto;overflow-x:hidden}\n"], dependencies: [{ kind: "component", type: i1.IonAccordion, selector: "ion-accordion", inputs: ["disabled", "mode", "readonly", "toggleIcon", "toggleIconSlot", "value"] }, { kind: "component", type: i1.IonAccordionGroup, selector: "ion-accordion-group", inputs: ["animated", "disabled", "expand", "mode", "multiple", "readonly", "value"] }, { kind: "component", type: i1.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i1.IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { kind: "component", type: i1.IonItemDivider, selector: "ion-item-divider", inputs: ["color", "mode", "sticky"] }, { kind: "component", type: i1.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i1.IonList, selector: "ion-list", inputs: ["inset", "lines", "mode"] }, { kind: "component", type: i1.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: EuimToolbarComponent, selector: "euim-toolbar", inputs: ["hasBackButton", "backButtonDefaultHref", "hasSidebarTrigger", "hasLanguageSelector"], outputs: ["backButtonClick"] }, { kind: "component", type: EuimToolbarTitleComponent, selector: "euim-toolbar-title" }, { kind: "component", type: EuimLabelComponent, selector: "div[euimLabel], p[euimLabel], span[euimLabel], euim-label", inputs: ["euimLabelTruncateWithLines", "euimLabelTitle", "euimLabelSubTitle", "euimLabelMeta", "euimLabelTruncate"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
3214
3214
  }
3215
3215
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: EuimChangelogComponent, decorators: [{
3216
3216
  type: Component,
3217
- args: [{ selector: 'euim-changelog', encapsulation: ViewEncapsulation.None, template: "<div class=\"euim-changelog\">\n <ion-header>\n <ion-toolbar color=\"primary\">\n <euim-toolbar>\n <euim-toolbar-title>{{ 'euim.about.changelog' | translate }}</euim-toolbar-title>\n </euim-toolbar>\n </ion-toolbar>\n </ion-header>\n <ion-content [fullscreen]=\"true\">\n <ion-list>\n <ion-accordion-group [multiple]=\"true\" value=\"about\">\n @for (logItem of changeLogs; track $index) {\n <ion-accordion [value]=\"$index === 0 ? 'about' : logItem.version\">\n <ion-item slot=\"header\">\n <ion-icon name=\"build-outline\" slot=\"start\"></ion-icon>\n <div class=\"euim-changelog__euimVersionTitle\" euimLabel euimLabelTitle>\n <strong>{{ logItem.version }}</strong>\n </div>\n </ion-item>\n <ion-list slot=\"content\">\n @for (section of logItem.sections; track section) {\n @if (section.items && section.items.length > 0) {\n <ion-item-divider>\n <ion-label>{{ section.name }}</ion-label>\n </ion-item-divider>\n <ion-item lines=\"none\">\n <ul>\n @for (item of section.items; track item) {\n <li>{{ item }}</li>\n }\n </ul>\n </ion-item>\n }\n }\n </ion-list>\n </ion-accordion>\n }\n </ion-accordion-group>\n </ion-list>\n </ion-content>\n</div>\n", styles: [".euim-changelog{height:100%}.euim-changelog__euimVersionTitle{font:normal normal 400 .875rem/1rem var(--eui-base-font-family);color:var(--eui-base-color-grey-100)}.euim-changelog ul{padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-m);margin:0}.euim-changelog li{font:normal normal 400 1rem/1.25rem var(--eui-base-font-family);color:var(--eui-base-color-grey-100)}.euim-changelog ion-item ion-icon{color:var(--eui-base-color-grey-100)}.euim-changelog ion-item ion-icon[slot=start]{margin-inline-end:var(--eui-base-spacing-m)}.euim-changelog ion-item ion-icon[slot=end]{color:var(--eui-base-color-grey-75)}.euim-changelog ion-accordion.accordion-expanded ion-item[slot=header]{--border-width: 0 0 1px 0 !important}.euim-changelog ion-list{flex:1;display:flex;flex-direction:column}\n"] }]
3217
+ args: [{ selector: 'euim-changelog', encapsulation: ViewEncapsulation.None, template: "<div class=\"euim-changelog\">\n <ion-header>\n <ion-toolbar color=\"primary\">\n <euim-toolbar>\n <euim-toolbar-title>{{ 'euim.about.changelog' | translate }}</euim-toolbar-title>\n </euim-toolbar>\n </ion-toolbar>\n </ion-header>\n <ion-content [fullscreen]=\"true\" scroll-y=\"false\">\n <ion-list>\n <ion-accordion-group [multiple]=\"true\" value=\"about\">\n @for (logItem of changeLogs; track $index) {\n <ion-accordion [value]=\"$index === 0 ? 'about' : logItem.version\">\n <ion-item slot=\"header\">\n <ion-icon name=\"build-outline\" slot=\"start\"></ion-icon>\n <div class=\"euim-changelog__euimVersionTitle\" euimLabel euimLabelTitle>\n <strong>{{ logItem.version }}</strong>\n </div>\n </ion-item>\n <ion-list slot=\"content\">\n @for (section of logItem.sections; track section) {\n @if (section.items && section.items.length > 0) {\n <ion-item-divider>\n <ion-label>{{ section.name }}</ion-label>\n </ion-item-divider>\n <ion-item lines=\"none\">\n <ul>\n @for (item of section.items; track item) {\n <li>{{ item }}</li>\n }\n </ul>\n </ion-item>\n }\n }\n </ion-list>\n </ion-accordion>\n }\n </ion-accordion-group>\n </ion-list>\n </ion-content>\n</div>\n", styles: [".euim-changelog__euimVersionTitle{font:normal normal 400 .875rem/1rem var(--eui-base-font-family);color:var(--eui-base-color-grey-100)}.euim-changelog ul{padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-m);margin:0}.euim-changelog li{font:normal normal 400 1rem/1.25rem var(--eui-base-font-family);color:var(--eui-base-color-grey-100)}.euim-changelog ion-item ion-icon{color:var(--eui-base-color-grey-100)}.euim-changelog ion-item ion-icon[slot=start]{margin-inline-end:var(--eui-base-spacing-m)}.euim-changelog ion-item ion-icon[slot=end]{color:var(--eui-base-color-grey-75)}.euim-changelog ion-accordion.accordion-expanded ion-item[slot=header]{--border-width: 0 0 1px 0 !important}.euim-changelog ion-list{flex:1;display:flex;flex-direction:column}.euim-changelog ion-content ion-list{max-height:100vh;overflow-y:auto;overflow-x:hidden}\n"] }]
3218
3218
  }], propDecorators: { changeLogs: [{
3219
3219
  type: Input
3220
3220
  }] } });
3221
3221
 
3222
3222
  class EuimHelpSupportComponent {
3223
- constructor() {
3223
+ constructor(router) {
3224
+ this.router = router;
3225
+ /**
3226
+ * @deprecated will be removed in eUI Mobile v18. Please use {@link helpAndSupportItems} instead
3227
+ */
3224
3228
  this.helpContacts = { contacts: [] };
3229
+ /**
3230
+ * @deprecated will be removed in eUI Mobile v18. Please use {@link helpAndSupportItems} instead
3231
+ */
3225
3232
  this.supportMaterials = { materials: [] };
3233
+ /**
3234
+ * @deprecated will be removed in eUI Mobile v18
3235
+ */
3226
3236
  this.alertInfos = {};
3237
+ this.helpAndSupportItems = [];
3227
3238
  this.className = 'euim-help-support';
3228
3239
  }
3229
- getLink(linkType, linkTitle) {
3230
- switch (linkType) {
3231
- case 'call':
3232
- return 'tel:' + linkTitle;
3233
- case 'mail':
3234
- return 'mailto:' + linkTitle;
3235
- default:
3236
- return linkTitle;
3240
+ onItemClick(item, linkType, linkTitle) {
3241
+ if (item?.routerLink) {
3242
+ this.router.navigate([item.routerLink], {
3243
+ fragment: item.fragment && !item.link ? item.fragment : null,
3244
+ });
3245
+ }
3246
+ else {
3247
+ window.open(this.getLink(item, linkType, linkTitle), this.setTargetAttribute(item, linkType));
3237
3248
  }
3238
3249
  }
3239
- setTargetAttribute(linkType) {
3240
- if (linkType === 'call' || linkType === 'mail') {
3250
+ isLinkSharp(item) {
3251
+ return item?.endIcon === 'link-sharp';
3252
+ }
3253
+ getLinkClass(item) {
3254
+ return this.isLinkSharp(item) ? 'euim-help-support__contact-link euim-help-support__contact-link--no-underlined' : 'euim-help-support__contact-link';
3255
+ }
3256
+ getLink(item, linkType, linkTitle) {
3257
+ if (linkTitle && linkType === 'mail') {
3258
+ return 'mailto:' + linkTitle;
3259
+ }
3260
+ if (linkTitle && linkType === 'call') {
3261
+ return 'tel:' + linkTitle;
3262
+ }
3263
+ if (linkTitle) {
3264
+ return linkTitle;
3265
+ }
3266
+ if (item) {
3267
+ if (item.phone) {
3268
+ return 'tel:' + item.phone;
3269
+ }
3270
+ if (item.mail) {
3271
+ return 'mailto:' + item.mail;
3272
+ }
3273
+ if (item.link) {
3274
+ return item.link;
3275
+ }
3276
+ }
3277
+ }
3278
+ setTargetAttribute(item, linkType) {
3279
+ if (item?.phone || item?.mail || linkType === 'call' || linkType === 'mail') {
3241
3280
  return '_self';
3242
3281
  }
3243
3282
  return '_blank';
3244
3283
  }
3245
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: EuimHelpSupportComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3246
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.7", type: EuimHelpSupportComponent, selector: "euim-help-support", inputs: { helpContacts: "helpContacts", supportMaterials: "supportMaterials", alertInfos: "alertInfos" }, host: { properties: { "class": "this.className" } }, ngImport: i0, template: "<ion-header>\n <ion-toolbar color=\"primary\">\n <euim-toolbar>\n <euim-toolbar-title>{{'euim.about.help.support' | translate }}</euim-toolbar-title>\n </euim-toolbar>\n </ion-toolbar>\n @if (alertInfos) {\n <euim-alert-message color=\"primary\">\n <ion-icon name=\"person-circle\" slotStart></ion-icon>\n {{ alertInfos.title }}\n\n @if (alertInfos.btnLink) {\n <ion-button [href]=\"alertInfos.btnLink\" slotEnd size=\"small\" fill=\"outline\">\n <strong>{{ alertInfos.btnTitle }}</strong>\n </ion-button>\n }\n </euim-alert-message>\n }\n</ion-header>\n\n@if (helpContacts.contacts.length > 0 || supportMaterials.materials.length > 0) {\n <ion-list>\n @if (helpContacts.contacts.length > 0) {\n <ion-item-divider>\n <ion-label>{{ helpContacts.sectionTitle }}</ion-label>\n </ion-item-divider>\n @for (contact of helpContacts.contacts; track contact; let isLast = $last) {\n <ion-item [lines]=\"isLast ? 'none' : ''\">\n <euim-avatar-icon fill=\"solid\" slot=\"start\">\n <ion-icon [name]=\"contact.icon\"></ion-icon>\n </euim-avatar-icon>\n <ion-label>\n <a class=\"euim-help-support__contact-link\" [target]=\"setTargetAttribute(contact.linkType)\" [href]=\"contact.link ? contact.link : getLink(contact.linkType, contact.linkTitle)\">\n <div euimLabel euimLabelTitle>{{contact.linkTitle}}</div>\n </a>\n\n <div euimLabel euimLabelSubTitle>{{contact.subtitle}}</div>\n </ion-label>\n </ion-item>\n }\n }\n\n @if (supportMaterials.materials.length > 0) {\n <ion-item-divider>\n <ion-label>{{ supportMaterials.sectionTitle }}</ion-label>\n </ion-item-divider>\n @for (material of supportMaterials.materials; track material) {\n <ion-item lines=\"none\">\n <euim-avatar-icon fill=\"solid\" slot=\"start\">\n <ion-icon [name]=\"material.icon\"></ion-icon>\n </euim-avatar-icon>\n <ion-label>\n <div euimLabel euimLabelTitle>{{material.title}}</div>\n <div euimLabel euimLabelSubTitle>{{material.subtitle}}</div>\n </ion-label>\n <ion-buttons>\n <ion-button target=\"_blank\" [href]=\"material.link\" fill=\"clear\" >\n <ion-icon name=\"link-sharp\" slot=\"icon-only\"></ion-icon>\n </ion-button>\n </ion-buttons>\n </ion-item>\n }\n }\n </ion-list>\n}\n<ng-content></ng-content>\n\n\n", styles: [".euim-help-support__contact-link .euim-label__title{font:normal normal 400 1rem/1.25rem var(--eui-base-font-family);color:var(--eui-base-color-primary-100)}\n"], dependencies: [{ kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: i1.IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { kind: "component", type: i1.IonItemDivider, selector: "ion-item-divider", inputs: ["color", "mode", "sticky"] }, { kind: "component", type: i1.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i1.IonList, selector: "ion-list", inputs: ["inset", "lines", "mode"] }, { kind: "component", type: i1.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: EuimToolbarComponent, selector: "euim-toolbar", inputs: ["hasBackButton", "backButtonDefaultHref", "hasSidebarTrigger", "hasLanguageSelector"], outputs: ["backButtonClick"] }, { kind: "component", type: EuimToolbarTitleComponent, selector: "euim-toolbar-title" }, { kind: "component", type: EuimLabelComponent, selector: "div[euimLabel], p[euimLabel], span[euimLabel], euim-label", inputs: ["euimLabelTruncateWithLines", "euimLabelTitle", "euimLabelSubTitle", "euimLabelMeta", "euimLabelTruncate"] }, { kind: "component", type: EuimAvatarIconComponent, selector: "euim-avatar-icon", inputs: ["color", "size", "fill", "variant", "borderColor"] }, { kind: "component", type: EuimAlertMessageComponent, selector: "euim-alert-message", inputs: ["euimLabelTruncate", "hasIcon", "isCloseable"], outputs: ["euimClose"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
3284
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: EuimHelpSupportComponent, deps: [{ token: i1$2.Router }], target: i0.ɵɵFactoryTarget.Component }); }
3285
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.7", type: EuimHelpSupportComponent, selector: "euim-help-support", inputs: { helpContacts: "helpContacts", supportMaterials: "supportMaterials", alertInfos: "alertInfos", helpAndSupportItems: "helpAndSupportItems" }, host: { properties: { "class": "this.className" } }, ngImport: i0, template: "<ion-header>\n <ion-toolbar color=\"primary\">\n <euim-toolbar>\n <euim-toolbar-title>{{'euim.about.help.support' | translate }}</euim-toolbar-title>\n </euim-toolbar>\n </ion-toolbar>\n @if (alertInfos.title) {\n <euim-alert-message color=\"primary\">\n <ion-icon name=\"person-circle\" slotStart></ion-icon>\n {{ alertInfos.title }}\n\n @if (alertInfos.btnLink) {\n <ion-button [href]=\"alertInfos.btnLink\" slotEnd size=\"small\" fill=\"outline\">\n <strong>{{ alertInfos.btnTitle }}</strong>\n </ion-button>\n }\n </euim-alert-message>\n }\n <ng-content select=\"[headerSection]\"></ng-content>\n</ion-header>\n\n@if (helpAndSupportItems.length > 0 || helpContacts.contacts.length > 0 || supportMaterials.materials.length > 0) {\n <ion-list>\n @for (helpSupportItem of helpAndSupportItems; track $index;) {\n @if (helpSupportItem.sectionTitle) {\n <ion-item-divider>\n <ion-label>{{ helpSupportItem.sectionTitle }}</ion-label>\n </ion-item-divider>\n }\n\n @for (item of helpSupportItem.items; track item;) {\n\n <ion-item [lines]=\"item.hasBottomLine ? 'insert' : 'none'\" (click)=\"onItemClick(item, undefined, undefined)\">\n @if (item.startIcon) {\n <euim-avatar-icon fill=\"solid\" slot=\"start\">\n <ion-icon [name]=\"item.startIcon\"></ion-icon>\n </euim-avatar-icon>\n }\n @if (item.title || item.subtitle) {\n <ion-label>\n @if (item.title) {\n <a [ngClass]=\"getLinkClass(item)\">\n @if (!isLinkSharp(item)) {\n <div class=\"euim-help-support__title\">{{ item.title }}</div>\n }\n @if (isLinkSharp(item)) {\n <div euimLabel euimLabelTitle>{{ item.title }}</div>\n }\n </a>\n }\n @if (item.subtitle) {\n <div euimLabel euimLabelSubTitle>\n {{ item.subtitle }}\n </div>\n }\n </ion-label>\n }\n @if (item.endIcon) {\n <ion-buttons>\n <ion-button fill=\"clear\">\n <ion-icon [name]=\"item.endIcon\" slot=\"icon-only\"></ion-icon>\n </ion-button>\n </ion-buttons>\n }\n </ion-item>\n }\n }\n @if (helpContacts.contacts.length > 0) {\n @if (helpContacts.sectionTitle) {\n <ion-item-divider>\n <ion-label>{{ helpContacts.sectionTitle }}</ion-label>\n </ion-item-divider>\n }\n @for (contact of helpContacts.contacts; track contact; let isLast = $last) {\n <ion-item [lines]=\"isLast ? 'none' : ''\" (click)=\"onItemClick(undefined, contact.linkType, contact.linkTitle)\">\n @if (contact.icon) {\n <euim-avatar-icon fill=\"solid\" slot=\"start\">\n <ion-icon [name]=\"contact.icon\"></ion-icon>\n </euim-avatar-icon>\n }\n @if (contact.linkTitle || contact.subtitle) {\n <ion-label>\n @if (contact.linkTitle) {\n <a class=\"euim-help-support__contact-link\">\n <div class=\"euim-help-support__title\">{{contact.linkTitle}}</div>\n </a>\n }\n @if (contact.subtitle) {\n <div euimLabel euimLabelSubTitle>{{contact.subtitle}}</div>\n }\n </ion-label>\n }\n </ion-item>\n }\n }\n\n @if (supportMaterials.materials.length > 0) {\n @if (supportMaterials.sectionTitle) {\n <ion-item-divider>\n <ion-label>{{ supportMaterials.sectionTitle }}</ion-label>\n </ion-item-divider>\n }\n @for (material of supportMaterials.materials; track material) {\n <ion-item lines=\"none\" (click)=\"onItemClick(material, undefined, undefined)\">\n @if (material.icon) {\n <euim-avatar-icon fill=\"solid\" slot=\"start\">\n <ion-icon [name]=\"material.icon\"></ion-icon>\n </euim-avatar-icon>\n }\n <ion-label>\n @if (material.title) {\n <div euimLabel euimLabelTitle>{{material.title}}</div>\n }\n @if (material.subtitle) {\n <div euimLabel euimLabelSubTitle>{{material.subtitle}}</div>\n }\n </ion-label>\n <ion-buttons>\n <ion-button fill=\"clear\" >\n <ion-icon name=\"link-sharp\" slot=\"icon-only\"></ion-icon>\n </ion-button>\n </ion-buttons>\n </ion-item>\n }\n }\n </ion-list>\n}\n<ng-content></ng-content>\n\n\n", styles: [".euim-help-support__title{font:normal normal 400 1rem/1.25rem var(--eui-base-font-family)}.euim-help-support__contact-link--no-underlined{text-decoration:none}.euim-help-support ion-item{position:relative;cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: i1.IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { kind: "component", type: i1.IonItemDivider, selector: "ion-item-divider", inputs: ["color", "mode", "sticky"] }, { kind: "component", type: i1.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i1.IonList, selector: "ion-list", inputs: ["inset", "lines", "mode"] }, { kind: "component", type: i1.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: EuimToolbarComponent, selector: "euim-toolbar", inputs: ["hasBackButton", "backButtonDefaultHref", "hasSidebarTrigger", "hasLanguageSelector"], outputs: ["backButtonClick"] }, { kind: "component", type: EuimToolbarTitleComponent, selector: "euim-toolbar-title" }, { kind: "component", type: EuimLabelComponent, selector: "div[euimLabel], p[euimLabel], span[euimLabel], euim-label", inputs: ["euimLabelTruncateWithLines", "euimLabelTitle", "euimLabelSubTitle", "euimLabelMeta", "euimLabelTruncate"] }, { kind: "component", type: EuimAvatarIconComponent, selector: "euim-avatar-icon", inputs: ["color", "size", "fill", "variant", "borderColor"] }, { kind: "component", type: EuimAlertMessageComponent, selector: "euim-alert-message", inputs: ["euimLabelTruncate", "hasIcon", "isCloseable"], outputs: ["euimClose"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
3247
3286
  }
3248
3287
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: EuimHelpSupportComponent, decorators: [{
3249
3288
  type: Component,
3250
- args: [{ selector: 'euim-help-support', encapsulation: ViewEncapsulation.None, template: "<ion-header>\n <ion-toolbar color=\"primary\">\n <euim-toolbar>\n <euim-toolbar-title>{{'euim.about.help.support' | translate }}</euim-toolbar-title>\n </euim-toolbar>\n </ion-toolbar>\n @if (alertInfos) {\n <euim-alert-message color=\"primary\">\n <ion-icon name=\"person-circle\" slotStart></ion-icon>\n {{ alertInfos.title }}\n\n @if (alertInfos.btnLink) {\n <ion-button [href]=\"alertInfos.btnLink\" slotEnd size=\"small\" fill=\"outline\">\n <strong>{{ alertInfos.btnTitle }}</strong>\n </ion-button>\n }\n </euim-alert-message>\n }\n</ion-header>\n\n@if (helpContacts.contacts.length > 0 || supportMaterials.materials.length > 0) {\n <ion-list>\n @if (helpContacts.contacts.length > 0) {\n <ion-item-divider>\n <ion-label>{{ helpContacts.sectionTitle }}</ion-label>\n </ion-item-divider>\n @for (contact of helpContacts.contacts; track contact; let isLast = $last) {\n <ion-item [lines]=\"isLast ? 'none' : ''\">\n <euim-avatar-icon fill=\"solid\" slot=\"start\">\n <ion-icon [name]=\"contact.icon\"></ion-icon>\n </euim-avatar-icon>\n <ion-label>\n <a class=\"euim-help-support__contact-link\" [target]=\"setTargetAttribute(contact.linkType)\" [href]=\"contact.link ? contact.link : getLink(contact.linkType, contact.linkTitle)\">\n <div euimLabel euimLabelTitle>{{contact.linkTitle}}</div>\n </a>\n\n <div euimLabel euimLabelSubTitle>{{contact.subtitle}}</div>\n </ion-label>\n </ion-item>\n }\n }\n\n @if (supportMaterials.materials.length > 0) {\n <ion-item-divider>\n <ion-label>{{ supportMaterials.sectionTitle }}</ion-label>\n </ion-item-divider>\n @for (material of supportMaterials.materials; track material) {\n <ion-item lines=\"none\">\n <euim-avatar-icon fill=\"solid\" slot=\"start\">\n <ion-icon [name]=\"material.icon\"></ion-icon>\n </euim-avatar-icon>\n <ion-label>\n <div euimLabel euimLabelTitle>{{material.title}}</div>\n <div euimLabel euimLabelSubTitle>{{material.subtitle}}</div>\n </ion-label>\n <ion-buttons>\n <ion-button target=\"_blank\" [href]=\"material.link\" fill=\"clear\" >\n <ion-icon name=\"link-sharp\" slot=\"icon-only\"></ion-icon>\n </ion-button>\n </ion-buttons>\n </ion-item>\n }\n }\n </ion-list>\n}\n<ng-content></ng-content>\n\n\n", styles: [".euim-help-support__contact-link .euim-label__title{font:normal normal 400 1rem/1.25rem var(--eui-base-font-family);color:var(--eui-base-color-primary-100)}\n"] }]
3251
- }], propDecorators: { helpContacts: [{
3289
+ args: [{ selector: 'euim-help-support', encapsulation: ViewEncapsulation.None, template: "<ion-header>\n <ion-toolbar color=\"primary\">\n <euim-toolbar>\n <euim-toolbar-title>{{'euim.about.help.support' | translate }}</euim-toolbar-title>\n </euim-toolbar>\n </ion-toolbar>\n @if (alertInfos.title) {\n <euim-alert-message color=\"primary\">\n <ion-icon name=\"person-circle\" slotStart></ion-icon>\n {{ alertInfos.title }}\n\n @if (alertInfos.btnLink) {\n <ion-button [href]=\"alertInfos.btnLink\" slotEnd size=\"small\" fill=\"outline\">\n <strong>{{ alertInfos.btnTitle }}</strong>\n </ion-button>\n }\n </euim-alert-message>\n }\n <ng-content select=\"[headerSection]\"></ng-content>\n</ion-header>\n\n@if (helpAndSupportItems.length > 0 || helpContacts.contacts.length > 0 || supportMaterials.materials.length > 0) {\n <ion-list>\n @for (helpSupportItem of helpAndSupportItems; track $index;) {\n @if (helpSupportItem.sectionTitle) {\n <ion-item-divider>\n <ion-label>{{ helpSupportItem.sectionTitle }}</ion-label>\n </ion-item-divider>\n }\n\n @for (item of helpSupportItem.items; track item;) {\n\n <ion-item [lines]=\"item.hasBottomLine ? 'insert' : 'none'\" (click)=\"onItemClick(item, undefined, undefined)\">\n @if (item.startIcon) {\n <euim-avatar-icon fill=\"solid\" slot=\"start\">\n <ion-icon [name]=\"item.startIcon\"></ion-icon>\n </euim-avatar-icon>\n }\n @if (item.title || item.subtitle) {\n <ion-label>\n @if (item.title) {\n <a [ngClass]=\"getLinkClass(item)\">\n @if (!isLinkSharp(item)) {\n <div class=\"euim-help-support__title\">{{ item.title }}</div>\n }\n @if (isLinkSharp(item)) {\n <div euimLabel euimLabelTitle>{{ item.title }}</div>\n }\n </a>\n }\n @if (item.subtitle) {\n <div euimLabel euimLabelSubTitle>\n {{ item.subtitle }}\n </div>\n }\n </ion-label>\n }\n @if (item.endIcon) {\n <ion-buttons>\n <ion-button fill=\"clear\">\n <ion-icon [name]=\"item.endIcon\" slot=\"icon-only\"></ion-icon>\n </ion-button>\n </ion-buttons>\n }\n </ion-item>\n }\n }\n @if (helpContacts.contacts.length > 0) {\n @if (helpContacts.sectionTitle) {\n <ion-item-divider>\n <ion-label>{{ helpContacts.sectionTitle }}</ion-label>\n </ion-item-divider>\n }\n @for (contact of helpContacts.contacts; track contact; let isLast = $last) {\n <ion-item [lines]=\"isLast ? 'none' : ''\" (click)=\"onItemClick(undefined, contact.linkType, contact.linkTitle)\">\n @if (contact.icon) {\n <euim-avatar-icon fill=\"solid\" slot=\"start\">\n <ion-icon [name]=\"contact.icon\"></ion-icon>\n </euim-avatar-icon>\n }\n @if (contact.linkTitle || contact.subtitle) {\n <ion-label>\n @if (contact.linkTitle) {\n <a class=\"euim-help-support__contact-link\">\n <div class=\"euim-help-support__title\">{{contact.linkTitle}}</div>\n </a>\n }\n @if (contact.subtitle) {\n <div euimLabel euimLabelSubTitle>{{contact.subtitle}}</div>\n }\n </ion-label>\n }\n </ion-item>\n }\n }\n\n @if (supportMaterials.materials.length > 0) {\n @if (supportMaterials.sectionTitle) {\n <ion-item-divider>\n <ion-label>{{ supportMaterials.sectionTitle }}</ion-label>\n </ion-item-divider>\n }\n @for (material of supportMaterials.materials; track material) {\n <ion-item lines=\"none\" (click)=\"onItemClick(material, undefined, undefined)\">\n @if (material.icon) {\n <euim-avatar-icon fill=\"solid\" slot=\"start\">\n <ion-icon [name]=\"material.icon\"></ion-icon>\n </euim-avatar-icon>\n }\n <ion-label>\n @if (material.title) {\n <div euimLabel euimLabelTitle>{{material.title}}</div>\n }\n @if (material.subtitle) {\n <div euimLabel euimLabelSubTitle>{{material.subtitle}}</div>\n }\n </ion-label>\n <ion-buttons>\n <ion-button fill=\"clear\" >\n <ion-icon name=\"link-sharp\" slot=\"icon-only\"></ion-icon>\n </ion-button>\n </ion-buttons>\n </ion-item>\n }\n }\n </ion-list>\n}\n<ng-content></ng-content>\n\n\n", styles: [".euim-help-support__title{font:normal normal 400 1rem/1.25rem var(--eui-base-font-family)}.euim-help-support__contact-link--no-underlined{text-decoration:none}.euim-help-support ion-item{position:relative;cursor:pointer}\n"] }]
3290
+ }], ctorParameters: () => [{ type: i1$2.Router }], propDecorators: { helpContacts: [{
3252
3291
  type: Input
3253
3292
  }], supportMaterials: [{
3254
3293
  type: Input
3255
3294
  }], alertInfos: [{
3256
3295
  type: Input
3296
+ }], helpAndSupportItems: [{
3297
+ type: Input
3257
3298
  }], className: [{
3258
3299
  type: HostBinding,
3259
3300
  args: ['class']
@@ -3321,7 +3362,8 @@ class EuimAboutModule {
3321
3362
  EuimAvatarIconModule,
3322
3363
  EuimAlertMessageModule,
3323
3364
  PinchZoomModule,
3324
- TranslateModule], exports: [EuimAboutComponent,
3365
+ TranslateModule,
3366
+ RouterModule], exports: [EuimAboutComponent,
3325
3367
  EuimChangelogComponent,
3326
3368
  EuimOpenSourceLicencesComponent,
3327
3369
  EuimHelpSupportComponent,
@@ -3335,7 +3377,8 @@ class EuimAboutModule {
3335
3377
  EuimAvatarIconModule,
3336
3378
  EuimAlertMessageModule,
3337
3379
  PinchZoomModule,
3338
- TranslateModule] }); }
3380
+ TranslateModule,
3381
+ RouterModule] }); }
3339
3382
  }
3340
3383
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: EuimAboutModule, decorators: [{
3341
3384
  type: NgModule,
@@ -3351,6 +3394,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImpor
3351
3394
  EuimAlertMessageModule,
3352
3395
  PinchZoomModule,
3353
3396
  TranslateModule,
3397
+ RouterModule,
3354
3398
  ],
3355
3399
  exports: [
3356
3400
  ...COMPONENTS,