@eui/ecl 22.0.0-alpha.4 → 22.0.0-alpha.6

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 (59) hide show
  1. package/docs/changelog.html +274 -0
  2. package/docs/components/EclDescriptionListDefinitionComponent.html +6 -44
  3. package/docs/components/EclIconComponent.html +1 -1
  4. package/docs/components/EclListIllustrationComponent.html +0 -171
  5. package/docs/components/EclListIllustrationItemComponent.html +77 -83
  6. package/docs/components/EclLoadingIndicatorComponent.html +4 -91
  7. package/docs/components/EclSocialMediaFollowItemComponent.html +10 -10
  8. package/docs/components/EclStoryCardComponent.html +1 -1
  9. package/docs/directives/EclDescriptionListDefinitionItemDirective.html +6 -47
  10. package/docs/directives/EclDescriptionListDefinitionListDirective.html +0 -116
  11. package/docs/directives/EclLabelDirective.html +0 -46
  12. package/docs/directives/EclLinkDirective.html +0 -39
  13. package/docs/directives/EclLoadingIndicatorLabelDirective.html +0 -61
  14. package/docs/directives/EclLoadingIndicatorOverlayDirective.html +0 -45
  15. package/docs/directives/EclMediaContainerCaptionDirective.html +0 -39
  16. package/docs/directives/EclMediaContainerCreditDirective.html +0 -39
  17. package/docs/directives/EclMediaContainerIframeDirective.html +13 -19
  18. package/docs/directives/EclMediaContainerItemAudioDescriptionDirective.html +0 -39
  19. package/docs/directives/EclMediaContainerItemDirective.html +0 -39
  20. package/docs/directives/EclMediaContainerPictureDirective.html +0 -39
  21. package/docs/js/search/search_index.js +2 -2
  22. package/docs/json/EclIconComponent.md +1 -1
  23. package/docs/json/EclMediaContainerIframeDirective.md +0 -1
  24. package/docs/json/documentation.json +242 -561
  25. package/docs/llms.txt +8 -12
  26. package/docs/properties.html +1 -1
  27. package/fesm2022/eui-ecl-components-ecl-icon.mjs.map +1 -1
  28. package/fesm2022/eui-ecl-components-ecl-label.mjs +6 -6
  29. package/fesm2022/eui-ecl-components-ecl-label.mjs.map +1 -1
  30. package/fesm2022/eui-ecl-components-ecl-link.mjs +10 -13
  31. package/fesm2022/eui-ecl-components-ecl-link.mjs.map +1 -1
  32. package/fesm2022/eui-ecl-components-ecl-list-illustration.mjs +19 -30
  33. package/fesm2022/eui-ecl-components-ecl-list-illustration.mjs.map +1 -1
  34. package/fesm2022/eui-ecl-components-ecl-list.mjs +44 -41
  35. package/fesm2022/eui-ecl-components-ecl-list.mjs.map +1 -1
  36. package/fesm2022/eui-ecl-components-ecl-loading-indicator.mjs +17 -20
  37. package/fesm2022/eui-ecl-components-ecl-loading-indicator.mjs.map +1 -1
  38. package/fesm2022/eui-ecl-components-ecl-media-container.mjs +36 -33
  39. package/fesm2022/eui-ecl-components-ecl-media-container.mjs.map +1 -1
  40. package/fesm2022/eui-ecl-components-ecl-menu.mjs.map +1 -1
  41. package/fesm2022/eui-ecl-components-ecl-site-footer.mjs +2 -2
  42. package/fesm2022/eui-ecl-components-ecl-site-footer.mjs.map +1 -1
  43. package/fesm2022/eui-ecl-components-ecl-social-media-follow.mjs +6 -6
  44. package/fesm2022/eui-ecl-components-ecl-social-media-follow.mjs.map +1 -1
  45. package/fesm2022/eui-ecl-components-ecl-story-card.mjs +2 -2
  46. package/fesm2022/eui-ecl-components-ecl-story-card.mjs.map +1 -1
  47. package/package.json +1 -1
  48. package/types/eui-ecl-components-ecl-label.d.ts.map +1 -1
  49. package/types/eui-ecl-components-ecl-link.d.ts +2 -4
  50. package/types/eui-ecl-components-ecl-link.d.ts.map +1 -1
  51. package/types/eui-ecl-components-ecl-list-illustration.d.ts +3 -3
  52. package/types/eui-ecl-components-ecl-list-illustration.d.ts.map +1 -1
  53. package/types/eui-ecl-components-ecl-list.d.ts +9 -12
  54. package/types/eui-ecl-components-ecl-list.d.ts.map +1 -1
  55. package/types/eui-ecl-components-ecl-loading-indicator.d.ts.map +1 -1
  56. package/types/eui-ecl-components-ecl-media-container.d.ts +7 -2
  57. package/types/eui-ecl-components-ecl-media-container.d.ts.map +1 -1
  58. package/types/eui-ecl-components-ecl-social-media-follow.d.ts +3 -3
  59. package/types/eui-ecl-components-ecl-social-media-follow.d.ts.map +1 -1
package/docs/llms.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  # eui documentation
2
2
 
3
- > Generated by compodoc 2.0.0 at 2026-09-09T16:22:28.168Z, llm-md export.
3
+ > Generated by compodoc 2.0.0 at 2026-09-21T07:50:23.619Z, llm-md export.
4
4
 
5
5
  ## Modules
6
6
 
@@ -526,7 +526,6 @@ Methods:
526
526
 
527
527
  File: `packages/ecl/components/ecl-list/ecl-description-list-definition/ecl-description-list-definition.component.ts`
528
528
  Selector: `[eclDescriptionListDefinition]`
529
- Standalone: yes
530
529
 
531
530
  Description: Component for a definition item within an ECL description list. Supports variants (link, inline, taxonomy, tag) and collapsible functionality with maxVisibleItems control.
532
531
 
@@ -537,7 +536,7 @@ Inputs:
537
536
  - `tabindex: number`
538
537
 
539
538
  Properties:
540
- - `domReady: unknown = signal(false)` — Signal indicating whether the DOM is ready for manipulation. Set to true after first render to ensure projected content exists.
539
+ - `domReady: unknown = signal(false)` — Signal indicating whether the DOM is ready for manipulation. Set to true after first render to ensure the projected exists before the see-more link is inserted into it. Defers DOM writes in the effect.
541
540
  - `hasSeeAll: unknown = computed(() => { const max = this.maxVisibleItems(); const total = this.currentItemsNumber(); return !!max && total > 0 && max < total; })` — Computed signal that determines if "See all" link should be shown. Returns true when maxVisibleItems is set and less than total items.
542
541
  - `maxVisibleItems: unknown = signal<number | null>(null)` — Maximum number of items to display before showing "See all" link. Controlled by parent EclDescriptionListDirective.
543
542
 
@@ -993,7 +992,7 @@ Inputs:
993
992
  - `color: 'inverted' | 'primary' | null = null` — Applies color styling to the icon. Use 'inverted' for icons on dark backgrounds, or 'primary' for emphasis.
994
993
  - `focusable: boolean = false` — Controls whether the icon is focusable via keyboard. Defaults to false .
995
994
  - `icon: string` — Name of the icon to render from the selected set.
996
- - `iconSet: 'default' | 'social' | 'social-media' | 'social-media-color' | 'flag' | 'flag-non-members' | 'phosphor' | string = 'default'` — Defines the icon set to use. Available sets: default , social , social-media , flag , or a custom URL prefix. Defaults to 'default' .
995
+ - `iconSet: 'default' | 'social' | 'social-media' | 'social-media-color' | 'flag' | 'flag-non-members' | 'phosphor' | 'phosphor-fill' | string = 'default'` — Defines the icon set to use. Available sets: default , social , social-media , flag , or a custom URL prefix. Defaults to 'default' .
997
996
  - `isFlipHorizontal: boolean = false` — Flips the icon horizontally if set to true .
998
997
  - `role: string = undefined` — ARIA role of the icon. If a title is provided and no role is defined, defaults to 'img' .
999
998
  - `size: '2xs' | 'xs' | 's' | 'm' | 'l' | 'xl' | '2xl' | 'fluid' | string = 'xs'` — Size of the icon. Supported values: '2xs' , 'xs' , 's' , 'm' , 'l' , 'xl' , '2xl' , 'fluid' . Defaults to 'xs' .
@@ -1179,6 +1178,8 @@ Properties:
1179
1178
  - `eclIllustrationPicture: unknown = contentChild(forwardRef(() => EclListIllustrationPictureDirective))`
1180
1179
  - `hasDivider: unknown = signal(false)` — A special class needs to be added, if an icon list has dividers between items.
1181
1180
  - `hasPicture: Signal<boolean> = computed(() => this.eclIllustrationPicture() !== undefined)`
1181
+ - `hasTitle: unknown = computed(() => Boolean(this.eclTitle()) || this.eclIllustrationIcon() !== undefined)` — Returns true if the item has a title or any projected icons.
1182
+ - `hasValue: unknown = computed(() => Boolean(this.eclValue()))` — Returns true if the item has a value.
1182
1183
  - `isVerticalPicture: unknown = signal(false)` — A special class needs to be added, for vertical lists with picture.
1183
1184
  - `role: string = 'listitem'` — Applies ARIA role for list items.
1184
1185
 
@@ -2899,7 +2900,7 @@ Outputs:
2899
2900
  - `itemClick: EclSocialMediaFollowItemClickEvent`
2900
2901
 
2901
2902
  Methods:
2902
- - `onItemClick(evt: unknown): void`
2903
+ - `onItemClick(evt: Event): void`
2903
2904
  - `getCssClasses(rootClass: string): string`
2904
2905
 
2905
2906
  ### EclSplashPageComponent
@@ -4145,8 +4146,8 @@ Inputs:
4145
4146
  - `tabindex: number`
4146
4147
 
4147
4148
  Properties:
4148
- - `isHidden: unknown = false` — Internal state used to hide the item when exceeding the visible limit.
4149
- - `isLastVisible: unknown = false` — Indicates whether this is the last item visible before the "see all" action is triggered.
4149
+ - `isHidden: unknown = signal(false)` — Internal state used to hide the item when exceeding the visible limit.
4150
+ - `isLastVisible: unknown = signal(false)` — Indicates whether this is the last item visible before the "see all" action is triggered.
4150
4151
 
4151
4152
  Methods:
4152
4153
  - `getCssClasses(rootClass: string): string`
@@ -4163,9 +4164,6 @@ Inputs:
4163
4164
  - `e2eAttr: any`
4164
4165
  - `tabindex: number`
4165
4166
 
4166
- Properties:
4167
- - `cmpClass: unknown = true` — Applies the ECL list container class.
4168
-
4169
4167
  Methods:
4170
4168
  - `getCssClasses(rootClass: string): string`
4171
4169
 
@@ -4710,7 +4708,6 @@ Inputs:
4710
4708
  - `tabindex: number`
4711
4709
 
4712
4710
  Properties:
4713
- - `cd: unknown = inject(ChangeDetectorRef)`
4714
4711
  - `eclIconComponents: unknown = contentChildren(forwardRef(() => EclIconComponent), { descendants: true })`
4715
4712
  - `el: unknown = inject(ElementRef)`
4716
4713
  - `renderer: unknown = inject(Renderer2)`
@@ -4861,7 +4858,6 @@ Selector: `iframe[eclMediaContainerIframe]`
4861
4858
  Description: Adds styling and attributes to the iframe element.
4862
4859
 
4863
4860
  Inputs:
4864
- - `ratio: string`
4865
4861
  - `height = undefined`
4866
4862
  - `width = undefined`
4867
4863
  - `class: string`
@@ -128,7 +128,7 @@
128
128
  </ol>
129
129
  <ul class="properties-list">
130
130
  <li>
131
- <b>Version</b> : 22.0.0-alpha.4</li>
131
+ <b>Version</b> : 22.0.0-alpha.6</li>
132
132
  </ul>
133
133
 
134
134
 
@@ -1 +1 @@
1
- {"version":3,"file":"eui-ecl-components-ecl-icon.mjs","sources":["../../components/ecl-icon/ecl-icon.component.ts","../../components/ecl-icon/ecl-icon.component.html","../../components/ecl-icon/index.ts","../../components/ecl-icon/eui-ecl-components-ecl-icon.ts"],"sourcesContent":["import { isPlatformBrowser, NgClass } from '@angular/common';\nimport {\n afterNextRender,\n booleanAttribute,\n Component,\n computed,\n ElementRef,\n HostBinding,\n inject,\n input,\n OnChanges,\n OnDestroy,\n OnInit,\n PLATFORM_ID,\n Renderer2,\n signal,\n SimpleChanges,\n viewChild,\n} from '@angular/core';\nimport { ECLBaseDirective, EclThemeService } from '@eui/ecl/core';\n\n/**\n * ECL icon component – renders SVG icons from various sets depending on current theme.\n * Integrates with ECL theming and supports accessibility options.\n */\n@Component({\n selector: 'ecl-icon',\n templateUrl: './ecl-icon.component.html',\n hostDirectives: [\n {\n directive: ECLBaseDirective,\n },\n ],\n imports: [NgClass],\n providers: [EclThemeService],\n host: {\n '[class.ecl-icon--flip-horizontal]': 'isFlipHorizontal()',\n },\n})\nexport class EclIconComponent implements OnInit, OnChanges, OnDestroy {\n /**\n * Defines the icon set to use.\n * Available sets: `default`, `social`, `social-media`, `flag`, or a custom URL prefix.\n * Defaults to `'default'`.\n */\n iconSet = input<'default' | 'social' | 'social-media' | 'social-media-color' | 'flag' | 'flag-non-members' |\n 'phosphor' | string>('default');\n\n /**\n * Name of the icon to render from the selected set.\n */\n icon = input<string>();\n\n /**\n * Size of the icon.\n * Supported values: `'2xs'`, `'xs'`, `'s'`, `'m'`, `'l'`, `'xl'`, `'2xl'`, `'fluid'`.\n * Defaults to `'xs'`.\n */\n size = input<'2xs' | 'xs' | 's' | 'm' | 'l' | 'xl' | '2xl' | 'fluid' | string>('xs');\n\n /**\n * Applies color styling to the icon.\n * Use `'inverted'` for icons on dark backgrounds, or `'primary'` for emphasis.\n */\n color = input<'inverted' | 'primary' | null>(null);\n\n /**\n * Adds a transformation modifier to the icon (e.g., rotation).\n */\n transform = input<string>();\n\n /**\n * ID reference for an external element that labels this icon for screen readers.\n */\n readonly ariaLabelledby = input<string>(undefined);\n\n /**\n * ARIA role of the icon. If a `title` is provided and no role is defined, defaults to `'img'`.\n */\n readonly role = input<string>(undefined);\n\n /**\n * Title used for accessibility. Also affects `aria-hidden` and `role`.\n */\n readonly title = input<string>(undefined);\n\n /**\n * Determines whether the icon should be hidden from assistive technologies.\n * Defaults to `true` unless a title is provided.\n */\n readonly ariaHidden = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n\n /**\n * Controls whether the icon is focusable via keyboard.\n * Defaults to `false`.\n */\n readonly focusable = input(false, { transform: booleanAttribute });\n\n /**\n * Resolved role: uses the explicit `role` input if provided,\n * otherwise defaults to `'img'` when a `title` is set.\n */\n readonly effectiveRole = computed<string | undefined>(() => {\n const explicit = this.role();\n if (explicit !== undefined) return explicit;\n return this.title() !== undefined ? 'img' : undefined;\n });\n\n /**\n * Resolved aria-hidden: uses the explicit `ariaHidden` input if provided,\n * otherwise hides the icon unless a `title` is set.\n */\n readonly effectiveAriaHidden = computed<boolean>(() => {\n const explicit = this.ariaHidden();\n if (explicit !== undefined) return explicit;\n return this.title() === undefined;\n });\n\n /**\n * Flips the icon horizontally if set to `true`.\n */\n readonly isFlipHorizontal = input(false, { transform: booleanAttribute });\n\n /**\n * Adds a dark background utility class if the color is set to `'inverted'`.\n */\n @HostBinding('class.ecl-u-bg-grey')\n get isColorInverted(): boolean {\n return this.color() === 'inverted';\n }\n\n readonly svgEl = viewChild<ElementRef>('svg');\n\n iconUrl = signal<string>('');\n baseDirective = inject(ECLBaseDirective);\n el = inject(ElementRef);\n private renderer = inject(Renderer2);\n private platformId = inject(PLATFORM_ID);\n\n /**\n * Extra classes added programmatically by parent components\n * (button, link, etc.)\n */\n readonly extraClasses = signal<string>('');\n\n /**\n * Real classes currently present on <ecl-icon>.\n * To support [class.foo] / [ngClass].\n */\n readonly hostClasses = signal<string>('');\n\n readonly svgClasses = computed<Record<string, boolean>>(() => {\n return {\n [this.baseDirective.getCssClasses('ecl-icon')]: true,\n [`ecl-icon--${this.size()}`]: !!this.size(),\n [`ecl-icon--${this.transform()}`]: !!this.transform(),\n [`ecl-icon--${this.color()}`]: !!this.color(),\n ...this.toClassRecord(this.hostClasses()),\n ...this.toClassRecord(this.extraClasses()),\n };\n });\n\n private classObserver?: MutationObserver;\n\n constructor() {\n afterNextRender(() => {\n this.detachHostAndPromoteSvg();\n this.syncHostClassesFromDom();\n this.observeHostClassChanges();\n });\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['icon']) {\n this.initiateIconUrl();\n }\n }\n\n ngOnInit(): void {\n this.initiateIconUrl();\n }\n\n ngOnDestroy(): void {\n this.classObserver?.disconnect();\n if (!isPlatformBrowser(this.platformId)) return;\n\n try {\n const svgNative = this.svgEl()?.nativeElement as SVGElement | null;\n const parent = svgNative?.parentElement;\n if (svgNative && parent) parent.removeChild(svgNative);\n } catch {\n /* ignore */\n }\n }\n\n addExtraClass(className: string): void {\n const classes = new Set([\n ...this.tokenize(this.extraClasses()),\n ...this.tokenize(className),\n ]);\n this.extraClasses.set(Array.from(classes).join(' '));\n }\n\n removeExtraClass(className: string): void {\n const classes = this.tokenize(this.extraClasses()).filter((c) => c !== className);\n this.extraClasses.set(classes.join(' '));\n }\n\n setExtraClasses(classes: string): void {\n this.extraClasses.set(classes ?? '');\n }\n\n private syncHostClassesFromDom(): void {\n const host = this.el.nativeElement;\n this.hostClasses.set(host.className || '');\n }\n\n private observeHostClassChanges(): void {\n const host = this.el.nativeElement;\n\n this.classObserver = new MutationObserver(() => {\n this.hostClasses.set(host.className || '');\n });\n\n this.classObserver.observe(host, {\n attributes: true,\n attributeFilter: ['class'],\n });\n }\n\n private toClassRecord(classes?: string | null): Record<string, boolean> {\n return Object.fromEntries(\n this.tokenize(classes).map(c => [c, true])\n );\n }\n\n private tokenize(classes: string | null | undefined): string[] {\n return (classes ?? '')\n .split(/\\s+/)\n .filter(Boolean);\n }\n\n private detachHostAndPromoteSvg(): void {\n const hostEl = this.el.nativeElement as HTMLElement | null;\n const svgNative = this.svgEl()?.nativeElement as SVGElement | null;\n if (!hostEl || !svgNative) return;\n\n const hostParentEl = hostEl.parentElement;\n if (!hostParentEl) return;\n\n // add the svg and remove the parent from the DOM\n this.renderer.setStyle(hostEl, 'visibility', 'hidden');\n hostEl.after(svgNative);\n this.renderer.removeChild(hostParentEl, hostEl);\n }\n\n private initiateIconUrl(): void {\n switch (this.iconSet()) {\n case 'default':\n this.iconUrl.set(`assets/images/ecl/icons/sprite.svg#${this.icon()}`);\n break;\n case 'social': // TODO: Remove this in the next version.\n this.iconUrl.set(`assets/images/ecl/networks/sprite.svg#${this.icon()}`);\n break;\n case 'social-media':\n this.iconUrl.set(`assets/images/ecl/networks/sprite.svg#${this.icon()}`);\n break;\n case 'social-media-color':\n this.iconUrl.set(`assets/images/ecl/networks-color/sprite.svg#${this.icon()}`);\n break;\n case 'flag':\n this.iconUrl.set(`assets/images/ecl/icons-flag/sprites/icons-flag.svg#${this.icon()}`);\n break;\n case 'flag-non-members':\n this.iconUrl.set(`assets/images/ecl/icons-flag/sprites/icons-flag-non-members.svg#${this.icon()}`);\n break;\n case 'phosphor':\n this.iconUrl.set(`assets/icons/sprites/regular.svg#${this.icon()}`);\n break;\n case 'phosphor-fill':\n this.iconUrl.set(`assets/icons/sprites/fill.svg#${this.icon()}`);\n break;\n default:\n this.iconUrl.set(`assets/images/ecl/icons/sprite.svg#${this.icon()}`);\n }\n }\n}\n","<svg\n #svg\n [ngClass]=\"svgClasses()\"\n [attr.aria-hidden]=\"effectiveAriaHidden()\"\n [attr.aria-labelledby]=\"ariaLabelledby() || null\"\n [attr.role]=\"effectiveRole() || null\"\n [attr.focusable]=\"focusable()\">\n @if (title()) {\n <title>{{title()}}</title>\n }\n <use [attr.href]=\"iconUrl()\"></use>\n <ng-content></ng-content>\n</svg>\n","import { EclIconComponent } from './ecl-icon.component';\n\nexport * from './ecl-icon.component';\n\nexport const EUI_ECL_ICON = [\n EclIconComponent,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eui-ecl-components-ecl-icon.mjs","sources":["../../components/ecl-icon/ecl-icon.component.ts","../../components/ecl-icon/ecl-icon.component.html","../../components/ecl-icon/index.ts","../../components/ecl-icon/eui-ecl-components-ecl-icon.ts"],"sourcesContent":["import { isPlatformBrowser, NgClass } from '@angular/common';\nimport {\n afterNextRender,\n booleanAttribute,\n Component,\n computed,\n ElementRef,\n HostBinding,\n inject,\n input,\n OnChanges,\n OnDestroy,\n OnInit,\n PLATFORM_ID,\n Renderer2,\n signal,\n SimpleChanges,\n viewChild,\n} from '@angular/core';\nimport { ECLBaseDirective, EclThemeService } from '@eui/ecl/core';\n\n/**\n * ECL icon component – renders SVG icons from various sets depending on current theme.\n * Integrates with ECL theming and supports accessibility options.\n */\n@Component({\n selector: 'ecl-icon',\n templateUrl: './ecl-icon.component.html',\n hostDirectives: [\n {\n directive: ECLBaseDirective,\n },\n ],\n imports: [NgClass],\n providers: [EclThemeService],\n host: {\n '[class.ecl-icon--flip-horizontal]': 'isFlipHorizontal()',\n },\n})\nexport class EclIconComponent implements OnInit, OnChanges, OnDestroy {\n /**\n * Defines the icon set to use.\n * Available sets: `default`, `social`, `social-media`, `flag`, or a custom URL prefix.\n * Defaults to `'default'`.\n */\n iconSet = input<'default' | 'social' | 'social-media' | 'social-media-color' | 'flag' | 'flag-non-members' |\n 'phosphor' | 'phosphor-fill' | string>('default');\n\n /**\n * Name of the icon to render from the selected set.\n */\n icon = input<string>();\n\n /**\n * Size of the icon.\n * Supported values: `'2xs'`, `'xs'`, `'s'`, `'m'`, `'l'`, `'xl'`, `'2xl'`, `'fluid'`.\n * Defaults to `'xs'`.\n */\n size = input<'2xs' | 'xs' | 's' | 'm' | 'l' | 'xl' | '2xl' | 'fluid' | string>('xs');\n\n /**\n * Applies color styling to the icon.\n * Use `'inverted'` for icons on dark backgrounds, or `'primary'` for emphasis.\n */\n color = input<'inverted' | 'primary' | null>(null);\n\n /**\n * Adds a transformation modifier to the icon (e.g., rotation).\n */\n transform = input<string>();\n\n /**\n * ID reference for an external element that labels this icon for screen readers.\n */\n readonly ariaLabelledby = input<string>(undefined);\n\n /**\n * ARIA role of the icon. If a `title` is provided and no role is defined, defaults to `'img'`.\n */\n readonly role = input<string>(undefined);\n\n /**\n * Title used for accessibility. Also affects `aria-hidden` and `role`.\n */\n readonly title = input<string>(undefined);\n\n /**\n * Determines whether the icon should be hidden from assistive technologies.\n * Defaults to `true` unless a title is provided.\n */\n readonly ariaHidden = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n\n /**\n * Controls whether the icon is focusable via keyboard.\n * Defaults to `false`.\n */\n readonly focusable = input(false, { transform: booleanAttribute });\n\n /**\n * Resolved role: uses the explicit `role` input if provided,\n * otherwise defaults to `'img'` when a `title` is set.\n */\n readonly effectiveRole = computed<string | undefined>(() => {\n const explicit = this.role();\n if (explicit !== undefined) return explicit;\n return this.title() !== undefined ? 'img' : undefined;\n });\n\n /**\n * Resolved aria-hidden: uses the explicit `ariaHidden` input if provided,\n * otherwise hides the icon unless a `title` is set.\n */\n readonly effectiveAriaHidden = computed<boolean>(() => {\n const explicit = this.ariaHidden();\n if (explicit !== undefined) return explicit;\n return this.title() === undefined;\n });\n\n /**\n * Flips the icon horizontally if set to `true`.\n */\n readonly isFlipHorizontal = input(false, { transform: booleanAttribute });\n\n /**\n * Adds a dark background utility class if the color is set to `'inverted'`.\n */\n @HostBinding('class.ecl-u-bg-grey')\n get isColorInverted(): boolean {\n return this.color() === 'inverted';\n }\n\n readonly svgEl = viewChild<ElementRef>('svg');\n\n iconUrl = signal<string>('');\n baseDirective = inject(ECLBaseDirective);\n el = inject(ElementRef);\n private renderer = inject(Renderer2);\n private platformId = inject(PLATFORM_ID);\n\n /**\n * Extra classes added programmatically by parent components\n * (button, link, etc.)\n */\n readonly extraClasses = signal<string>('');\n\n /**\n * Real classes currently present on <ecl-icon>.\n * To support [class.foo] / [ngClass].\n */\n readonly hostClasses = signal<string>('');\n\n readonly svgClasses = computed<Record<string, boolean>>(() => {\n return {\n [this.baseDirective.getCssClasses('ecl-icon')]: true,\n [`ecl-icon--${this.size()}`]: !!this.size(),\n [`ecl-icon--${this.transform()}`]: !!this.transform(),\n [`ecl-icon--${this.color()}`]: !!this.color(),\n ...this.toClassRecord(this.hostClasses()),\n ...this.toClassRecord(this.extraClasses()),\n };\n });\n\n private classObserver?: MutationObserver;\n\n constructor() {\n afterNextRender(() => {\n this.detachHostAndPromoteSvg();\n this.syncHostClassesFromDom();\n this.observeHostClassChanges();\n });\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['icon']) {\n this.initiateIconUrl();\n }\n }\n\n ngOnInit(): void {\n this.initiateIconUrl();\n }\n\n ngOnDestroy(): void {\n this.classObserver?.disconnect();\n if (!isPlatformBrowser(this.platformId)) return;\n\n try {\n const svgNative = this.svgEl()?.nativeElement as SVGElement | null;\n const parent = svgNative?.parentElement;\n if (svgNative && parent) parent.removeChild(svgNative);\n } catch {\n /* ignore */\n }\n }\n\n addExtraClass(className: string): void {\n const classes = new Set([\n ...this.tokenize(this.extraClasses()),\n ...this.tokenize(className),\n ]);\n this.extraClasses.set(Array.from(classes).join(' '));\n }\n\n removeExtraClass(className: string): void {\n const classes = this.tokenize(this.extraClasses()).filter((c) => c !== className);\n this.extraClasses.set(classes.join(' '));\n }\n\n setExtraClasses(classes: string): void {\n this.extraClasses.set(classes ?? '');\n }\n\n private syncHostClassesFromDom(): void {\n const host = this.el.nativeElement;\n this.hostClasses.set(host.className || '');\n }\n\n private observeHostClassChanges(): void {\n const host = this.el.nativeElement;\n\n this.classObserver = new MutationObserver(() => {\n this.hostClasses.set(host.className || '');\n });\n\n this.classObserver.observe(host, {\n attributes: true,\n attributeFilter: ['class'],\n });\n }\n\n private toClassRecord(classes?: string | null): Record<string, boolean> {\n return Object.fromEntries(\n this.tokenize(classes).map(c => [c, true])\n );\n }\n\n private tokenize(classes: string | null | undefined): string[] {\n return (classes ?? '')\n .split(/\\s+/)\n .filter(Boolean);\n }\n\n private detachHostAndPromoteSvg(): void {\n const hostEl = this.el.nativeElement as HTMLElement | null;\n const svgNative = this.svgEl()?.nativeElement as SVGElement | null;\n if (!hostEl || !svgNative) return;\n\n const hostParentEl = hostEl.parentElement;\n if (!hostParentEl) return;\n\n // add the svg and remove the parent from the DOM\n this.renderer.setStyle(hostEl, 'visibility', 'hidden');\n hostEl.after(svgNative);\n this.renderer.removeChild(hostParentEl, hostEl);\n }\n\n private initiateIconUrl(): void {\n switch (this.iconSet()) {\n case 'default':\n this.iconUrl.set(`assets/images/ecl/icons/sprite.svg#${this.icon()}`);\n break;\n case 'social': // TODO: Remove this in the next version.\n this.iconUrl.set(`assets/images/ecl/networks/sprite.svg#${this.icon()}`);\n break;\n case 'social-media':\n this.iconUrl.set(`assets/images/ecl/networks/sprite.svg#${this.icon()}`);\n break;\n case 'social-media-color':\n this.iconUrl.set(`assets/images/ecl/networks-color/sprite.svg#${this.icon()}`);\n break;\n case 'flag':\n this.iconUrl.set(`assets/images/ecl/icons-flag/sprites/icons-flag.svg#${this.icon()}`);\n break;\n case 'flag-non-members':\n this.iconUrl.set(`assets/images/ecl/icons-flag/sprites/icons-flag-non-members.svg#${this.icon()}`);\n break;\n case 'phosphor':\n this.iconUrl.set(`assets/icons/sprites/regular.svg#${this.icon()}`);\n break;\n case 'phosphor-fill':\n this.iconUrl.set(`assets/icons/sprites/fill.svg#${this.icon()}`);\n break;\n default:\n this.iconUrl.set(`assets/images/ecl/icons/sprite.svg#${this.icon()}`);\n }\n }\n}\n","<svg\n #svg\n [ngClass]=\"svgClasses()\"\n [attr.aria-hidden]=\"effectiveAriaHidden()\"\n [attr.aria-labelledby]=\"ariaLabelledby() || null\"\n [attr.role]=\"effectiveRole() || null\"\n [attr.focusable]=\"focusable()\">\n @if (title()) {\n <title>{{title()}}</title>\n }\n <use [attr.href]=\"iconUrl()\"></use>\n <ng-content></ng-content>\n</svg>\n","import { EclIconComponent } from './ecl-icon.component';\n\nexport * from './ecl-icon.component';\n\nexport const EUI_ECL_ICON = [\n EclIconComponent,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { input, HostBinding, Directive } from '@angular/core';
2
+ import { input, Directive } from '@angular/core';
3
3
  import { ECLBaseDirective } from '@eui/ecl/core';
4
4
 
5
5
  /**
@@ -32,17 +32,17 @@ class EclLabelDirective extends ECLBaseDirective {
32
32
  return [super.getCssClasses('ecl-label'), `ecl-label--${this.variant()}`].join(' ').trim();
33
33
  }
34
34
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclLabelDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
35
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.2", type: EclLabelDirective, isStandalone: true, selector: "[eclLabel]", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0 }); }
35
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.2", type: EclLabelDirective, isStandalone: true, selector: "[eclLabel]", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "cssClasses" } }, usesInheritance: true, ngImport: i0 }); }
36
36
  }
37
37
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclLabelDirective, decorators: [{
38
38
  type: Directive,
39
39
  args: [{
40
40
  selector: '[eclLabel]',
41
+ host: {
42
+ '[class]': 'cssClasses',
43
+ },
41
44
  }]
42
- }], propDecorators: { variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], cssClasses: [{
43
- type: HostBinding,
44
- args: ['class']
45
- }] } });
45
+ }], propDecorators: { variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }] } });
46
46
 
47
47
  const EUI_ECL_LABEL = [
48
48
  EclLabelDirective,
@@ -1 +1 @@
1
- {"version":3,"file":"eui-ecl-components-ecl-label.mjs","sources":["../../components/ecl-label/ecl-label.directive.ts","../../components/ecl-label/index.ts","../../components/ecl-label/eui-ecl-components-ecl-label.ts"],"sourcesContent":["import { Directive, HostBinding, input } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive for applying ECL label styles.\n *\n * Supports multiple visual variants based on importance or context.\n * Adds appropriate ECL classes dynamically.\n */\n@Directive({\n selector: '[eclLabel]',\n})\nexport class EclLabelDirective extends ECLBaseDirective {\n /**\n * Defines the visual variant of the label.\n * \n * - `'low'` – default styling\n * - `'medium'` – medium emphasis\n * - `'high'` – high emphasis\n * - `'highlight'` – special highlight\n *\n * @default 'low'\n */\n readonly variant = input<'low' | 'medium' | 'high' | 'highlight'>('low');\n\n /**\n * CSS classes applied to the host element.\n * Combines base ECL label class with the variant modifier.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-label'), `ecl-label--${this.variant()}`].join(' ').trim();\n }\n}\n","import { EclLabelDirective } from './ecl-label.directive';\n\nexport * from './ecl-label.directive';\n\nexport const EUI_ECL_LABEL = [\n EclLabelDirective,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAGA;;;;;AAKG;AAIG,MAAO,iBAAkB,SAAQ,gBAAgB,CAAA;AAHvD,IAAA,WAAA,GAAA;;AAII;;;;;;;;;AASG;QACM,IAAA,CAAA,OAAO,GAAG,KAAK,CAA0C,KAAK;oFAAC;AAU3E,IAAA;AARG;;;AAGG;AACH,IAAA,IACI,UAAU,GAAA;QACV,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,CAAA,WAAA,EAAc,IAAI,CAAC,OAAO,EAAE,CAAA,CAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;IAC9F;8GApBS,iBAAiB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,YAAY;AACzB,iBAAA;;sBAkBI,WAAW;uBAAC,OAAO;;;ACzBjB,MAAM,aAAa,GAAG;IACzB,iBAAiB;;;ACLrB;;AAEG;;;;"}
1
+ {"version":3,"file":"eui-ecl-components-ecl-label.mjs","sources":["../../components/ecl-label/ecl-label.directive.ts","../../components/ecl-label/index.ts","../../components/ecl-label/eui-ecl-components-ecl-label.ts"],"sourcesContent":["import { Directive, input } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive for applying ECL label styles.\n *\n * Supports multiple visual variants based on importance or context.\n * Adds appropriate ECL classes dynamically.\n */\n@Directive({\n selector: '[eclLabel]',\n host: {\n '[class]': 'cssClasses',\n },\n})\nexport class EclLabelDirective extends ECLBaseDirective {\n /**\n * Defines the visual variant of the label.\n * \n * - `'low'` – default styling\n * - `'medium'` – medium emphasis\n * - `'high'` – high emphasis\n * - `'highlight'` – special highlight\n *\n * @default 'low'\n */\n readonly variant = input<'low' | 'medium' | 'high' | 'highlight'>('low');\n\n /**\n * CSS classes applied to the host element.\n * Combines base ECL label class with the variant modifier.\n */\n get cssClasses(): string {\n return [super.getCssClasses('ecl-label'), `ecl-label--${this.variant()}`].join(' ').trim();\n }\n}\n","import { EclLabelDirective } from './ecl-label.directive';\n\nexport * from './ecl-label.directive';\n\nexport const EUI_ECL_LABEL = [\n EclLabelDirective,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAGA;;;;;AAKG;AAOG,MAAO,iBAAkB,SAAQ,gBAAgB,CAAA;AANvD,IAAA,WAAA,GAAA;;AAOI;;;;;;;;;AASG;QACM,IAAA,CAAA,OAAO,GAAG,KAAK,CAA0C,KAAK;oFAAC;AAS3E,IAAA;AAPG;;;AAGG;AACH,IAAA,IAAI,UAAU,GAAA;QACV,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,CAAA,WAAA,EAAc,IAAI,CAAC,OAAO,EAAE,CAAA,CAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;IAC9F;8GAnBS,iBAAiB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,YAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAN7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,IAAI,EAAE;AACF,wBAAA,SAAS,EAAE,YAAY;AAC1B,qBAAA;AACJ,iBAAA;;;ACVM,MAAM,aAAa,GAAG;IACzB,iBAAiB;;;ACLrB;;AAEG;;;;"}
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { HostBinding, Component, Directive, inject, ElementRef, Renderer2, ChangeDetectorRef, input, booleanAttribute, contentChildren, forwardRef, computed, effect } from '@angular/core';
2
+ import { HostBinding, Component, Directive, inject, ElementRef, Renderer2, input, booleanAttribute, contentChildren, forwardRef, computed, effect } from '@angular/core';
3
3
  import { ECLBaseDirective } from '@eui/ecl/core';
4
4
  import { EclIconComponent } from '@eui/ecl/components/ecl-icon';
5
5
 
@@ -90,7 +90,6 @@ class EclLinkDirective extends ECLBaseDirective {
90
90
  super();
91
91
  this.el = inject(ElementRef);
92
92
  this.renderer = inject(Renderer2);
93
- this.cd = inject(ChangeDetectorRef);
94
93
  /**
95
94
  * Additional HTML attributes to be set on the link element.
96
95
  * Used e.g. by social-media-follow for passing extra_attributes.
@@ -134,6 +133,15 @@ class EclLinkDirective extends ECLBaseDirective {
134
133
  });
135
134
  }
136
135
  });
136
+ // Add 'ecl-link__icon' class to child icons reactively.
137
+ effect(() => {
138
+ const icons = this.eclIconComponents();
139
+ if (icons?.length > 0) {
140
+ icons.forEach((icn) => {
141
+ icn.addExtraClass('ecl-link__icon');
142
+ });
143
+ }
144
+ });
137
145
  }
138
146
  get hostIsInverted() {
139
147
  return (!this.variant() || this.variant() === 'standalone') && this.isInverted();
@@ -161,17 +169,6 @@ class EclLinkDirective extends ECLBaseDirective {
161
169
  (this.variant() === 'primary' && this.isHighlight()) ? 'ecl-link--primary-highlight' : '',
162
170
  ].join(' ').trim();
163
171
  }
164
- ngAfterContentInit() {
165
- // Add additional class to the child icon, if any.
166
- if (this.eclIconComponents()?.length > 0) {
167
- setTimeout(() => {
168
- this.eclIconComponents().forEach((icn) => {
169
- icn.addExtraClass('ecl-link__icon');
170
- });
171
- this.cd.markForCheck();
172
- });
173
- }
174
- }
175
172
  /**
176
173
  * Calls the native focus() method of the default HTML element.
177
174
  */
@@ -1 +1 @@
1
- {"version":3,"file":"eui-ecl-components-ecl-link.mjs","sources":["../../components/ecl-link/ecl-indicator/ecl-indicator.component.ts","../../components/ecl-link/ecl-indicator/ecl-indicator.component.html","../../components/ecl-link/ecl-indicator/ecl-indicator.directive.ts","../../components/ecl-link/ecl-link-label.directive.ts","../../components/ecl-link/ecl-link.directive.ts","../../components/ecl-link/index.ts","../../components/ecl-link/eui-ecl-components-ecl-link.ts"],"sourcesContent":["import { Component, HostBinding } from '@angular/core';\n\n/**\n * Component for indicating special content inside the ECL Link.\n * Automatically applies the `ecl-indicator` CSS class.\n */\n@Component({\n selector: '[eclIndicator]',\n templateUrl: './ecl-indicator.component.html',\n})\nexport class EclIndicatorComponent {\n /**\n * Applies the `ecl-indicator` CSS class.\n */\n @HostBinding('class.ecl-indicator') hasClass = true;\n}\n","<span class=\"ecl-indicator__value\"><ng-content></ng-content></span>\n<ng-content select=\"[eclIndicatorLabel]\"></ng-content>","import { Directive, HostBinding } from '@angular/core';\n\n/**\n * Directive for indicating special content inside the ECL Link.\n * Automatically applies the `ecl-indicator__label` CSS class.\n */\n@Directive({\n selector: '[eclIndicatorLabel]',\n})\nexport class EclIndicatorLabelDirective {\n /**\n * Applies the `ecl-indicator__label` CSS class.\n */\n @HostBinding('class.ecl-indicator__label') hasClass = true;\n}\n","import { Directive, HostBinding } from '@angular/core';\n\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Directive({\n selector: '[eclLinkLabel]',\n})\nexport class EclLinkLabelDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-link__label')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclLinkIconContainer]',\n})\nexport class EclLinkIconContainerDirective {\n @HostBinding('class.ecl-link__icon-container') hasClass = true;\n}\n","import { AfterContentInit, booleanAttribute, ChangeDetectorRef, contentChildren, Directive, ElementRef, HostBinding, inject, input, Renderer2, effect, computed, forwardRef } from '@angular/core';\nimport { EclIconComponent } from '@eui/ecl/components/ecl-icon';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * 'eclLink' directive is used to add some styling to the defalt HTML anchor component. In order to comply with ECL standards.\n */\n@Directive({\n selector: '[eclLink]',\n})\nexport class EclLinkDirective extends ECLBaseDirective implements AfterContentInit {\n el = inject(ElementRef);\n renderer = inject(Renderer2);\n cd = inject(ChangeDetectorRef);\n\n /**\n * Additional HTML attributes to be set on the link element.\n * Used e.g. by social-media-follow for passing extra_attributes.\n */\n extraAttributes = input<{ name: string; value?: string | null }[] | undefined>();\n\n /**\n * Property to style the component as 'inverted' (with dark background). Can be used alone or with 'standalone' variant.\n */\n isInverted = input(false, { transform: booleanAttribute });\n\n /**\n * Property to style the component if it consist only of an icon.\n */\n isIconOnly = input(false, { transform: booleanAttribute });\n\n /** Adds class for hightlighted link (works only with 'primary' variant)\n * @deprecated - to be removed in v23. Use variant='primary-highlight', as only primary variant can be highlighted.\n */\n isHighlight = input(false, { transform: booleanAttribute });\n\n /**\n * @deprecated - will be removed in v21. Deprecated on ECL side.\n */\n isNoVisited = input(false, { transform: booleanAttribute });\n\n isBranded = input(false, { transform: booleanAttribute });\n\n /**\n * With 'variant' property user can add some more specific styling to the <a> component.\n */\n variant = input<'standalone' | 'primary' | 'secondary' | 'secondary-neutral' | 'primary-neutral' | 'primary-highlight'>();\n\n eclIconComponents = contentChildren(forwardRef(() => EclIconComponent), { descendants: true });\n\n constructor() {\n super();\n effect(() => {\n const attrs = this.extraAttributes();\n if (attrs && attrs.length) {\n attrs.forEach((attr) => {\n if (attr?.name) {\n this.el.nativeElement.setAttribute(attr.name, attr.value ?? '');\n }\n });\n }\n });\n }\n\n @HostBinding('class.ecl-link--inverted')\n get hostIsInverted(): boolean {\n return (!this.variant() || this.variant() === 'standalone') && this.isInverted();\n }\n\n @HostBinding('class.ecl-link--brand')\n get hostIsBranded(): boolean {\n return (!this.variant() || this.variant() === 'standalone') && this.isBranded();\n }\n\n @HostBinding('class.ecl-link--icon-only')\n get hostIsIconOnly(): boolean {\n return this.isIconOnly();\n }\n\n @HostBinding('class.ecl-link--icon')\n get hasIcon(): boolean {\n return this._hasIcon();\n }\n\n private _hasIcon = computed(() => {\n return this.eclIconComponents()?.length > 0;\n });\n\n /**\n * Adds speific ECL classes to the <a> component.\n */\n @HostBinding('class')\n get cssClasses(): string {\n const variantClass = this.variant()\n ? (this.variant() === 'secondary' && this.isInverted()\n ? 'ecl-link--secondary-inverted'\n : `ecl-link--${this.variant()}`)\n : '';\n\n return [super.getCssClasses('ecl-link'),\n variantClass,\n (this.variant() === 'primary' && this.isHighlight()) ? 'ecl-link--primary-highlight' : '',\n ].join(' ').trim();\n }\n\n ngAfterContentInit(): void {\n // Add additional class to the child icon, if any.\n if (this.eclIconComponents()?.length > 0 ) {\n setTimeout(() => {\n this.eclIconComponents().forEach((icn) => {\n icn.addExtraClass('ecl-link__icon');\n });\n this.cd.markForCheck();\n });\n }\n }\n\n /**\n * Calls the native focus() method of the default HTML element.\n */\n onFocus(): void {\n this.el.nativeElement.focus();\n }\n\n /**\n * Calls the native click() method of the default HTML element.\n */\n onClick(): void {\n this.el.nativeElement.click();\n }\n\n /**\n * Calls the native blur() method of the default HTML element.\n */\n onBlur(): void {\n this.el.nativeElement.blur();\n }\n}\n","import { EclIndicatorComponent } from './ecl-indicator/ecl-indicator.component';\nimport { EclIndicatorLabelDirective } from './ecl-indicator/ecl-indicator.directive';\nimport { EclLinkIconContainerDirective, EclLinkLabelDirective } from './ecl-link-label.directive';\nimport { EclLinkDirective } from './ecl-link.directive';\n\nexport * from './ecl-link.directive';\nexport * from './ecl-link-label.directive';\nexport * from './ecl-indicator/ecl-indicator.component';\nexport * from './ecl-indicator/ecl-indicator.directive';\n\nexport const EUI_ECL_LINK = [\n EclLinkDirective, EclLinkLabelDirective, EclLinkIconContainerDirective, EclIndicatorComponent,\n EclIndicatorLabelDirective,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eui-ecl-components-ecl-link.mjs","sources":["../../components/ecl-link/ecl-indicator/ecl-indicator.component.ts","../../components/ecl-link/ecl-indicator/ecl-indicator.component.html","../../components/ecl-link/ecl-indicator/ecl-indicator.directive.ts","../../components/ecl-link/ecl-link-label.directive.ts","../../components/ecl-link/ecl-link.directive.ts","../../components/ecl-link/index.ts","../../components/ecl-link/eui-ecl-components-ecl-link.ts"],"sourcesContent":["import { Component, HostBinding } from '@angular/core';\n\n/**\n * Component for indicating special content inside the ECL Link.\n * Automatically applies the `ecl-indicator` CSS class.\n */\n@Component({\n selector: '[eclIndicator]',\n templateUrl: './ecl-indicator.component.html',\n})\nexport class EclIndicatorComponent {\n /**\n * Applies the `ecl-indicator` CSS class.\n */\n @HostBinding('class.ecl-indicator') hasClass = true;\n}\n","<span class=\"ecl-indicator__value\"><ng-content></ng-content></span>\n<ng-content select=\"[eclIndicatorLabel]\"></ng-content>","import { Directive, HostBinding } from '@angular/core';\n\n/**\n * Directive for indicating special content inside the ECL Link.\n * Automatically applies the `ecl-indicator__label` CSS class.\n */\n@Directive({\n selector: '[eclIndicatorLabel]',\n})\nexport class EclIndicatorLabelDirective {\n /**\n * Applies the `ecl-indicator__label` CSS class.\n */\n @HostBinding('class.ecl-indicator__label') hasClass = true;\n}\n","import { Directive, HostBinding } from '@angular/core';\n\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Directive({\n selector: '[eclLinkLabel]',\n})\nexport class EclLinkLabelDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-link__label')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclLinkIconContainer]',\n})\nexport class EclLinkIconContainerDirective {\n @HostBinding('class.ecl-link__icon-container') hasClass = true;\n}\n","import { booleanAttribute, contentChildren, Directive, ElementRef, HostBinding, inject, input, Renderer2, effect, computed, forwardRef } from '@angular/core';\nimport { EclIconComponent } from '@eui/ecl/components/ecl-icon';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * 'eclLink' directive is used to add some styling to the defalt HTML anchor component. In order to comply with ECL standards.\n */\n@Directive({\n selector: '[eclLink]',\n})\nexport class EclLinkDirective extends ECLBaseDirective {\n el = inject(ElementRef);\n renderer = inject(Renderer2);\n\n /**\n * Additional HTML attributes to be set on the link element.\n * Used e.g. by social-media-follow for passing extra_attributes.\n */\n extraAttributes = input<{ name: string; value?: string | null }[] | undefined>();\n\n /**\n * Property to style the component as 'inverted' (with dark background). Can be used alone or with 'standalone' variant.\n */\n isInverted = input(false, { transform: booleanAttribute });\n\n /**\n * Property to style the component if it consist only of an icon.\n */\n isIconOnly = input(false, { transform: booleanAttribute });\n\n /** Adds class for hightlighted link (works only with 'primary' variant)\n * @deprecated - to be removed in v23. Use variant='primary-highlight', as only primary variant can be highlighted.\n */\n isHighlight = input(false, { transform: booleanAttribute });\n\n /**\n * @deprecated - will be removed in v21. Deprecated on ECL side.\n */\n isNoVisited = input(false, { transform: booleanAttribute });\n\n isBranded = input(false, { transform: booleanAttribute });\n\n /**\n * With 'variant' property user can add some more specific styling to the <a> component.\n */\n variant = input<'standalone' | 'primary' | 'secondary' | 'secondary-neutral' | 'primary-neutral' | 'primary-highlight'>();\n\n eclIconComponents = contentChildren(forwardRef(() => EclIconComponent), { descendants: true });\n\n constructor() {\n super();\n effect(() => {\n const attrs = this.extraAttributes();\n if (attrs && attrs.length) {\n attrs.forEach((attr) => {\n if (attr?.name) {\n this.el.nativeElement.setAttribute(attr.name, attr.value ?? '');\n }\n });\n }\n });\n\n // Add 'ecl-link__icon' class to child icons reactively.\n effect(() => {\n const icons = this.eclIconComponents();\n if (icons?.length > 0) {\n icons.forEach((icn) => {\n icn.addExtraClass('ecl-link__icon');\n });\n }\n });\n }\n\n @HostBinding('class.ecl-link--inverted')\n get hostIsInverted(): boolean {\n return (!this.variant() || this.variant() === 'standalone') && this.isInverted();\n }\n\n @HostBinding('class.ecl-link--brand')\n get hostIsBranded(): boolean {\n return (!this.variant() || this.variant() === 'standalone') && this.isBranded();\n }\n\n @HostBinding('class.ecl-link--icon-only')\n get hostIsIconOnly(): boolean {\n return this.isIconOnly();\n }\n\n @HostBinding('class.ecl-link--icon')\n get hasIcon(): boolean {\n return this._hasIcon();\n }\n\n private _hasIcon = computed(() => {\n return this.eclIconComponents()?.length > 0;\n });\n\n /**\n * Adds speific ECL classes to the <a> component.\n */\n @HostBinding('class')\n get cssClasses(): string {\n const variantClass = this.variant()\n ? (this.variant() === 'secondary' && this.isInverted()\n ? 'ecl-link--secondary-inverted'\n : `ecl-link--${this.variant()}`)\n : '';\n\n return [super.getCssClasses('ecl-link'),\n variantClass,\n (this.variant() === 'primary' && this.isHighlight()) ? 'ecl-link--primary-highlight' : '',\n ].join(' ').trim();\n }\n\n /**\n * Calls the native focus() method of the default HTML element.\n */\n onFocus(): void {\n this.el.nativeElement.focus();\n }\n\n /**\n * Calls the native click() method of the default HTML element.\n */\n onClick(): void {\n this.el.nativeElement.click();\n }\n\n /**\n * Calls the native blur() method of the default HTML element.\n */\n onBlur(): void {\n this.el.nativeElement.blur();\n }\n}\n","import { EclIndicatorComponent } from './ecl-indicator/ecl-indicator.component';\nimport { EclIndicatorLabelDirective } from './ecl-indicator/ecl-indicator.directive';\nimport { EclLinkIconContainerDirective, EclLinkLabelDirective } from './ecl-link-label.directive';\nimport { EclLinkDirective } from './ecl-link.directive';\n\nexport * from './ecl-link.directive';\nexport * from './ecl-link-label.directive';\nexport * from './ecl-indicator/ecl-indicator.component';\nexport * from './ecl-indicator/ecl-indicator.directive';\n\nexport const EUI_ECL_LINK = [\n EclLinkDirective, EclLinkLabelDirective, EclLinkIconContainerDirective, EclIndicatorComponent,\n EclIndicatorLabelDirective,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -149,25 +149,23 @@ class EclListIllustrationItemComponent extends ECLBaseDirective {
149
149
  ...(ngDevMode ? [{ debugName: "hasDivider" }] : /* istanbul ignore next */ []));
150
150
  this.hasPicture = computed(() => this.eclIllustrationPicture() !== undefined, /* @ts-ignore */
151
151
  ...(ngDevMode ? [{ debugName: "hasPicture" }] : /* istanbul ignore next */ []));
152
- }
153
- /**
154
- * Returns `true` if the item has a title or any projected icons.
155
- */
156
- get hasTitle() {
157
- return Boolean(this.eclTitle()) || this.eclIllustrationIcon() !== undefined;
158
- }
159
- /**
160
- * Returns `true` if the item has a value.
161
- */
162
- get hasValue() {
163
- return Boolean(this.eclValue());
152
+ /**
153
+ * Returns `true` if the item has a title or any projected icons.
154
+ */
155
+ this.hasTitle = computed(() => Boolean(this.eclTitle()) || this.eclIllustrationIcon() !== undefined, /* @ts-ignore */
156
+ ...(ngDevMode ? [{ debugName: "hasTitle" }] : /* istanbul ignore next */ []));
157
+ /**
158
+ * Returns `true` if the item has a value.
159
+ */
160
+ this.hasValue = computed(() => Boolean(this.eclValue()), /* @ts-ignore */
161
+ ...(ngDevMode ? [{ debugName: "hasValue" }] : /* istanbul ignore next */ []));
164
162
  }
165
163
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclListIllustrationItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
166
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.2", type: EclListIllustrationItemComponent, isStandalone: true, selector: "ecl-list-illustration-item, li[eclListIllustrationItem]", inputs: { eclTitle: { classPropertyName: "eclTitle", publicName: "eclTitle", isSignal: true, isRequired: false, transformFunction: null }, eclValue: { classPropertyName: "eclValue", publicName: "eclValue", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.role": "this.role", "class.ecl-list-illustration__item": "this.className" } }, queries: [{ propertyName: "eclIllustrationIcon", first: true, predicate: i0.forwardRef(() => EclListIllustrationIconDirective), descendants: true, isSignal: true }, { propertyName: "eclIllustrationPicture", first: true, predicate: i0.forwardRef(() => EclListIllustrationPictureDirective), descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ecl-list-illustration__item-content\" [class.ecl-list-illustration__item-content--row]=\"isVerticalPicture()\"\n [class.ecl-list-illustration__divider]=\"hasDivider()\">\n <ng-content select=\"[eclListIllustrationImage],[eclListIllustrationPicture],[eclListIllustrationIcon]\"></ng-content>\n <div class=\"ecl-list-illustration__detail\">\n @if (hasTitle || hasValue) {\n <div class=\"ecl-list-illustration__title-container\">\n @if (hasValue) {\n <div class=\"ecl-list-illustration__value\">{{ eclValue() }}</div>\n }\n <div class=\"ecl-list-illustration__title\">{{ eclTitle() }}</div>\n </div>\n }\n\n <div class=\"ecl-list-illustration__description\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>" }); }
164
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.2", type: EclListIllustrationItemComponent, isStandalone: true, selector: "ecl-list-illustration-item, li[eclListIllustrationItem]", inputs: { eclTitle: { classPropertyName: "eclTitle", publicName: "eclTitle", isSignal: true, isRequired: false, transformFunction: null }, eclValue: { classPropertyName: "eclValue", publicName: "eclValue", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.role": "this.role", "class.ecl-list-illustration__item": "this.className" } }, queries: [{ propertyName: "eclIllustrationIcon", first: true, predicate: i0.forwardRef(() => EclListIllustrationIconDirective), descendants: true, isSignal: true }, { propertyName: "eclIllustrationPicture", first: true, predicate: i0.forwardRef(() => EclListIllustrationPictureDirective), descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ecl-list-illustration__item-content\" [class.ecl-list-illustration__item-content--row]=\"isVerticalPicture()\"\n [class.ecl-list-illustration__divider]=\"hasDivider()\">\n <ng-content select=\"[eclListIllustrationImage],[eclListIllustrationPicture],[eclListIllustrationIcon]\"></ng-content>\n <div class=\"ecl-list-illustration__detail\">\n @if (hasTitle() || hasValue()) {\n <div class=\"ecl-list-illustration__title-container\">\n @if (hasValue()) {\n <div class=\"ecl-list-illustration__value\">{{ eclValue() }}</div>\n }\n <div class=\"ecl-list-illustration__title\">{{ eclTitle() }}</div>\n </div>\n }\n\n <div class=\"ecl-list-illustration__description\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>" }); }
167
165
  }
168
166
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclListIllustrationItemComponent, decorators: [{
169
167
  type: Component,
170
- args: [{ selector: 'ecl-list-illustration-item, li[eclListIllustrationItem]', template: "<div class=\"ecl-list-illustration__item-content\" [class.ecl-list-illustration__item-content--row]=\"isVerticalPicture()\"\n [class.ecl-list-illustration__divider]=\"hasDivider()\">\n <ng-content select=\"[eclListIllustrationImage],[eclListIllustrationPicture],[eclListIllustrationIcon]\"></ng-content>\n <div class=\"ecl-list-illustration__detail\">\n @if (hasTitle || hasValue) {\n <div class=\"ecl-list-illustration__title-container\">\n @if (hasValue) {\n <div class=\"ecl-list-illustration__value\">{{ eclValue() }}</div>\n }\n <div class=\"ecl-list-illustration__title\">{{ eclTitle() }}</div>\n </div>\n }\n\n <div class=\"ecl-list-illustration__description\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>" }]
168
+ args: [{ selector: 'ecl-list-illustration-item, li[eclListIllustrationItem]', template: "<div class=\"ecl-list-illustration__item-content\" [class.ecl-list-illustration__item-content--row]=\"isVerticalPicture()\"\n [class.ecl-list-illustration__divider]=\"hasDivider()\">\n <ng-content select=\"[eclListIllustrationImage],[eclListIllustrationPicture],[eclListIllustrationIcon]\"></ng-content>\n <div class=\"ecl-list-illustration__detail\">\n @if (hasTitle() || hasValue()) {\n <div class=\"ecl-list-illustration__title-container\">\n @if (hasValue()) {\n <div class=\"ecl-list-illustration__value\">{{ eclValue() }}</div>\n }\n <div class=\"ecl-list-illustration__title\">{{ eclTitle() }}</div>\n </div>\n }\n\n <div class=\"ecl-list-illustration__description\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>" }]
171
169
  }], propDecorators: { eclTitle: [{ type: i0.Input, args: [{ isSignal: true, alias: "eclTitle", required: false }] }], eclValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "eclValue", required: false }] }], role: [{
172
170
  type: HostBinding,
173
171
  args: ['attr.role']
@@ -227,8 +225,7 @@ class EclListIllustrationComponent extends ECLBaseDirective {
227
225
  /** If this is an icon-list, it can have dividers between each item. */
228
226
  this.hasDividers = input(false, { ...(ngDevMode ? { debugName: "hasDividers" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
229
227
  /** If we have a number-list, the user can set the start of the counter. */
230
- this.counterStart = input(null, /* @ts-ignore */
231
- ...(ngDevMode ? [{ debugName: "counterStart" }] : /* istanbul ignore next */ []));
228
+ this.counterStart = input(null, { ...(ngDevMode ? { debugName: "counterStart" } : /* istanbul ignore next */ {}), transform: numberAttribute });
232
229
  this.eclIllustrationItems = contentChildren(forwardRef(() => EclListIllustrationItemComponent), /* @ts-ignore */
233
230
  ...(ngDevMode ? [{ debugName: "eclIllustrationItems" }] : /* istanbul ignore next */ []));
234
231
  /**
@@ -276,26 +273,18 @@ class EclListIllustrationComponent extends ECLBaseDirective {
276
273
  });
277
274
  }
278
275
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclListIllustrationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
279
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.1.2", type: EclListIllustrationComponent, isStandalone: true, selector: "ecl-list-illustration, ul[eclListIllustration], ol[eclListIllustration]", inputs: { isZebra: { classPropertyName: "isZebra", publicName: "isZebra", isSignal: true, isRequired: false, transformFunction: null }, horizontalColumns: { classPropertyName: "horizontalColumns", publicName: "horizontalColumns", isSignal: true, isRequired: false, transformFunction: null }, fontSize: { classPropertyName: "fontSize", publicName: "fontSize", isSignal: true, isRequired: false, transformFunction: null }, isCentered: { classPropertyName: "isCentered", publicName: "isCentered", isSignal: true, isRequired: false, transformFunction: null }, isIconInline: { classPropertyName: "isIconInline", publicName: "isIconInline", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, hasDividers: { classPropertyName: "hasDividers", publicName: "hasDividers", isSignal: true, isRequired: false, transformFunction: null }, counterStart: { classPropertyName: "counterStart", publicName: "counterStart", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style.display": "elementDisplayStyle()", "attr.role": "this.role", "class": "this.cssClasses", "style.--ecl-list-illustration-counter-start": "this.counterStartStyle", "attr.start": "this.startAttr" } }, queries: [{ propertyName: "eclIllustrationItems", predicate: i0.forwardRef(() => EclListIllustrationItemComponent), isSignal: true }], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>" }); }
276
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.1.2", type: EclListIllustrationComponent, isStandalone: true, selector: "ecl-list-illustration, ul[eclListIllustration], ol[eclListIllustration]", inputs: { isZebra: { classPropertyName: "isZebra", publicName: "isZebra", isSignal: true, isRequired: false, transformFunction: null }, horizontalColumns: { classPropertyName: "horizontalColumns", publicName: "horizontalColumns", isSignal: true, isRequired: false, transformFunction: null }, fontSize: { classPropertyName: "fontSize", publicName: "fontSize", isSignal: true, isRequired: false, transformFunction: null }, isCentered: { classPropertyName: "isCentered", publicName: "isCentered", isSignal: true, isRequired: false, transformFunction: null }, isIconInline: { classPropertyName: "isIconInline", publicName: "isIconInline", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, hasDividers: { classPropertyName: "hasDividers", publicName: "hasDividers", isSignal: true, isRequired: false, transformFunction: null }, counterStart: { classPropertyName: "counterStart", publicName: "counterStart", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.role": "role", "class": "cssClasses", "style.display": "elementDisplayStyle()", "style.--ecl-list-illustration-counter-start": "counterStartStyle", "attr.start": "startAttr" } }, queries: [{ propertyName: "eclIllustrationItems", predicate: i0.forwardRef(() => EclListIllustrationItemComponent), isSignal: true }], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>" }); }
280
277
  }
281
278
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclListIllustrationComponent, decorators: [{
282
279
  type: Component,
283
280
  args: [{ selector: 'ecl-list-illustration, ul[eclListIllustration], ol[eclListIllustration]', host: {
281
+ '[attr.role]': 'role',
282
+ '[class]': 'cssClasses',
284
283
  '[style.display]': 'elementDisplayStyle()',
284
+ '[style.--ecl-list-illustration-counter-start]': 'counterStartStyle',
285
+ '[attr.start]': 'startAttr',
285
286
  }, template: "<ng-content></ng-content>" }]
286
- }], ctorParameters: () => [], propDecorators: { isZebra: [{ type: i0.Input, args: [{ isSignal: true, alias: "isZebra", required: false }] }], horizontalColumns: [{ type: i0.Input, args: [{ isSignal: true, alias: "horizontalColumns", required: false }] }], fontSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "fontSize", required: false }] }], isCentered: [{ type: i0.Input, args: [{ isSignal: true, alias: "isCentered", required: false }] }], isIconInline: [{ type: i0.Input, args: [{ isSignal: true, alias: "isIconInline", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], hasDividers: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasDividers", required: false }] }], counterStart: [{ type: i0.Input, args: [{ isSignal: true, alias: "counterStart", required: false }] }], eclIllustrationItems: [{ type: i0.ContentChildren, args: [forwardRef(() => EclListIllustrationItemComponent), { isSignal: true }] }], role: [{
287
- type: HostBinding,
288
- args: ['attr.role']
289
- }], cssClasses: [{
290
- type: HostBinding,
291
- args: ['class']
292
- }], counterStartStyle: [{
293
- type: HostBinding,
294
- args: ['style.--ecl-list-illustration-counter-start']
295
- }], startAttr: [{
296
- type: HostBinding,
297
- args: ['attr.start']
298
- }] } });
287
+ }], ctorParameters: () => [], propDecorators: { isZebra: [{ type: i0.Input, args: [{ isSignal: true, alias: "isZebra", required: false }] }], horizontalColumns: [{ type: i0.Input, args: [{ isSignal: true, alias: "horizontalColumns", required: false }] }], fontSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "fontSize", required: false }] }], isCentered: [{ type: i0.Input, args: [{ isSignal: true, alias: "isCentered", required: false }] }], isIconInline: [{ type: i0.Input, args: [{ isSignal: true, alias: "isIconInline", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], hasDividers: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasDividers", required: false }] }], counterStart: [{ type: i0.Input, args: [{ isSignal: true, alias: "counterStart", required: false }] }], eclIllustrationItems: [{ type: i0.ContentChildren, args: [forwardRef(() => EclListIllustrationItemComponent), { isSignal: true }] }] } });
299
288
 
300
289
  const EUI_ECL_LIST_ILUSTRATION = [
301
290
  EclListIllustrationComponent,
@@ -1 +1 @@
1
- {"version":3,"file":"eui-ecl-components-ecl-list-illustration.mjs","sources":["../../components/ecl-list-illustration/ecl-list-illustration-icon.directive.ts","../../components/ecl-list-illustration/ecl-list-illustration-picture.directive.ts","../../components/ecl-list-illustration/ecl-list-illustration-item.component.ts","../../components/ecl-list-illustration/ecl-list-illustration-item.component.html","../../components/ecl-list-illustration/ecl-list-illustration.component.ts","../../components/ecl-list-illustration/ecl-list-illustration.component.html","../../components/ecl-list-illustration/index.ts","../../components/ecl-list-illustration/eui-ecl-components-ecl-list-illustration.ts"],"sourcesContent":["import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive representing an icon within an ECL illustration list item.\n *\n * Applies the correct ECL class for list item icons.\n */\n@Directive({\n selector: '[eclListIllustrationIcon]',\n})\nexport class EclListIllustrationIconDirective extends ECLBaseDirective {\n /**\n * Applies the ECL class for illustration item icons.\n */\n @HostBinding('class.ecl-list-illustration__icon') className = true;\n}\n","import { Directive, HostBinding, booleanAttribute, forwardRef, AfterContentInit, input, contentChild } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive applied to `<picture>` elements within ECL list illustrations.\n *\n * Adds the necessary ECL CSS classes for illustration pictures.\n */\n@Directive({\n selector: 'picture[eclListIllustrationPicture]',\n})\nexport class EclListIllustrationPictureDirective extends ECLBaseDirective implements AfterContentInit {\n\n /**\n * If true, image is styled with square dimensions.\n */\n readonly isSquare = input(false, { transform: booleanAttribute });\n\n readonly eclIllustrationImage = contentChild.required(forwardRef(() => EclListIllustrationImageDirective));\n\n /**\n * Applies the base ECL picture classes for list illustration pictures.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-picture ecl-list-illustration__picture'),\n this.isSquare() ? 'ecl-list-illustration__picture--square' : '',\n ].join(' ').trim();\n }\n\n ngAfterContentInit(): void {\n this.eclIllustrationImage().isSquare = this.isSquare();\n }\n}\n\n/**\n * Directive applied to `<img>` elements within ECL list illustrations.\n *\n * Supports square variant and size options for image styling.\n */\n@Directive({\n selector: 'img[eclListIllustrationImage]',\n})\nexport class EclListIllustrationImageDirective extends ECLBaseDirective {\n /**\n * If true, image is styled with square dimensions.\n */\n isSquare = false;\n\n /**\n * Defines the size variant of the image.\n * Possible values: `'s'`, `'m'`, `'l'`.\n */\n readonly size = input<'s' | 'm' | 'l'>('m');\n\n /**\n * Computes the appropriate ECL CSS classes for the image.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-list-illustration__image'),\n this.isSquare ? 'ecl-list-illustration__image--square' : '',\n this.isSquare ? `ecl-list-illustration__image--${this.size()}` : '',\n ]\n .join(' ')\n .trim();\n }\n}\n","import {\n Component,\n computed,\n forwardRef,\n HostBinding,\n Signal,\n signal,\n input,\n contentChild,\n} from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclListIllustrationIconDirective } from './ecl-list-illustration-icon.directive';\nimport { EclListIllustrationPictureDirective } from './ecl-list-illustration-picture.directive';\n\n/**\n * Component representing a single item in an ECL illustration list.\n *\n * Displays optional title, value, and one or more illustration icons.\n */\n@Component({\n selector: 'ecl-list-illustration-item, li[eclListIllustrationItem]',\n templateUrl: './ecl-list-illustration-item.component.html',\n})\nexport class EclListIllustrationItemComponent extends ECLBaseDirective {\n /**\n * Text displayed as the item title.\n */\n readonly eclTitle = input('');\n\n /**\n * Text displayed as the item value.\n */\n readonly eclValue = input('');\n\n /**\n * Applies ARIA role for list items.\n */\n @HostBinding('attr.role') role = 'listitem';\n\n /**\n * Applies ECL class for illustration list item.\n */\n @HostBinding('class.ecl-list-illustration__item') className = true;\n\n readonly eclIllustrationIcon = contentChild(forwardRef(() => EclListIllustrationIconDirective));\n\n readonly eclIllustrationPicture = contentChild(forwardRef(() => EclListIllustrationPictureDirective));\n\n /** A special class needs to be added, for vertical lists with picture. */\n isVerticalPicture = signal(false);\n\n /** A special class needs to be added, if an icon list has dividers between items. */\n hasDivider = signal(false);\n\n hasPicture: Signal<boolean> = computed(() => this.eclIllustrationPicture() !== undefined);\n\n /**\n * Returns `true` if the item has a title or any projected icons.\n */\n get hasTitle(): boolean {\n return Boolean(this.eclTitle()) || this.eclIllustrationIcon() !== undefined;\n }\n\n /**\n * Returns `true` if the item has a value.\n */\n get hasValue(): boolean {\n return Boolean(this.eclValue());\n }\n}\n","<div class=\"ecl-list-illustration__item-content\" [class.ecl-list-illustration__item-content--row]=\"isVerticalPicture()\"\n [class.ecl-list-illustration__divider]=\"hasDivider()\">\n <ng-content select=\"[eclListIllustrationImage],[eclListIllustrationPicture],[eclListIllustrationIcon]\"></ng-content>\n <div class=\"ecl-list-illustration__detail\">\n @if (hasTitle || hasValue) {\n <div class=\"ecl-list-illustration__title-container\">\n @if (hasValue) {\n <div class=\"ecl-list-illustration__value\">{{ eclValue() }}</div>\n }\n <div class=\"ecl-list-illustration__title\">{{ eclTitle() }}</div>\n </div>\n }\n\n <div class=\"ecl-list-illustration__description\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>","import { Component, HostBinding, booleanAttribute, numberAttribute, afterNextRender, inject, forwardRef, AfterContentInit, Signal, computed, input, effect, signal, contentChildren } from '@angular/core';\nimport { BreakpointObserver } from '@angular/cdk/layout';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclListIllustrationItemComponent } from './ecl-list-illustration-item.component';\n\n/**\n * Component representing a list using ECL illustration styles.\n *\n * Supports zebra styling, responsive horizontal layout, and font size options.\n */\n@Component({\n selector: 'ecl-list-illustration, ul[eclListIllustration], ol[eclListIllustration]',\n templateUrl: './ecl-list-illustration.component.html',\n host: {\n '[style.display]': 'elementDisplayStyle()',\n },\n})\nexport class EclListIllustrationComponent extends ECLBaseDirective implements AfterContentInit {\n /**\n * Enables zebra style (alternating background colors for list items).\n */\n readonly isZebra = input(false, { transform: booleanAttribute });\n\n /**\n * Number of horizontal columns. If greater than `0`, items are displayed in a grid layout.\n */\n horizontalColumns = input(0, { transform: numberAttribute });\n\n /**\n * Font size for list content.\n * Possible values:\n * - `'m'` – medium\n * - `'l'` – large (default)\n */\n readonly fontSize = input<'m' | 'l'>('l');\n\n /** If content should be centered */\n readonly isCentered = input(false, { transform: booleanAttribute });\n\n /** If the icon should be on the same row as title - for list with icons */\n readonly isIconInline = input(false, { transform: booleanAttribute });\n\n /** Two variants available: icon-list and number-list. */\n readonly variant = input<'icon-list' | 'number-list' | null>(null);\n\n /** If this is an icon-list, it can have dividers between each item. */\n readonly hasDividers = input(false, { transform: booleanAttribute });\n\n /** If we have a number-list, the user can set the start of the counter. */\n counterStart = input<number | null>(null);\n\n readonly eclIllustrationItems = contentChildren(forwardRef(() => EclListIllustrationItemComponent));\n\n /**\n * Applies ARIA role for list elements.\n */\n @HostBinding('attr.role') role = 'list';\n\n /**\n * Applies the appropriate ECL CSS classes to the host element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-list-illustration'),\n this.isZebra() ? 'ecl-list-illustration--zebra' : '',\n this.horizontalColumns() > 0 ? `ecl-list-illustration--col-${this.horizontalColumns()}` : '',\n this.fontSize() === 'm' ? 'ecl-list-illustration--font-m' : '',\n this.isCentered() ? 'ecl-list-illustration--centered' : '',\n this.isIconInline() ? 'ecl-list-illustration--icon-inline' : '',\n this.variant() === 'icon-list' ? 'ecl-list-illustration--icon-list' : '',\n this.variant() === 'number-list' ? 'ecl-list-illustration--number-list ecl-list-illustration--number-list-reset': '',\n ]\n .join(' ')\n .trim();\n }\n\n /**\n * Controls `display` style of the host element based on breakpoint and column count.\n */\n elementDisplayStyle = computed(() =>\n this.horizontalColumns() > 0 && this.isTabletBreakpoint() ? null : 'block'\n );\n\n @HostBinding('style.--ecl-list-illustration-counter-start')\n counterStartStyle = '';\n\n @HostBinding('attr.start')\n startAttr: string | null = null;\n\n private isTabletBreakpoint = signal(false);\n private cdkBreakpointObserver = inject(BreakpointObserver);\n\n constructor() {\n super();\n afterNextRender(() => {\n this.observeBreakpointChanges();\n });\n effect(() => {\n const value = this.counterStart();\n const stringValue = value != null ? `${value}` : null;\n\n this.startAttr = stringValue;\n this.counterStartStyle = stringValue ?? '';\n });\n }\n\n ngAfterContentInit(): void {\n if (this.horizontalColumns() === 0) {\n this.eclIllustrationItems()?.forEach(item => {\n if (item.hasPicture()) item.isVerticalPicture.set(true);\n });\n }\n\n if (this.variant() === 'icon-list' && this.hasDividers()) {\n this.eclIllustrationItems()?.forEach(item => {\n item.hasDivider.set(true);\n });\n }\n }\n\n private observeBreakpointChanges(): void {\n this.cdkBreakpointObserver\n .observe(['(min-width: 768px)'])\n .subscribe((result) => {\n this.isTabletBreakpoint.set(result.matches);\n });\n }\n}\n","<ng-content></ng-content>","import { EclListIllustrationIconDirective } from './ecl-list-illustration-icon.directive';\nimport { EclListIllustrationItemComponent } from './ecl-list-illustration-item.component';\nimport { EclListIllustrationImageDirective, EclListIllustrationPictureDirective } from './ecl-list-illustration-picture.directive';\nimport { EclListIllustrationComponent } from './ecl-list-illustration.component';\n\nexport * from './ecl-list-illustration-item.component';\nexport * from './ecl-list-illustration-icon.directive';\nexport * from './ecl-list-illustration-picture.directive';\nexport * from './ecl-list-illustration.component';\n\nexport const EUI_ECL_LIST_ILUSTRATION = [\n EclListIllustrationComponent,\n EclListIllustrationItemComponent,\n EclListIllustrationIconDirective,\n EclListIllustrationPictureDirective,\n EclListIllustrationImageDirective,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eui-ecl-components-ecl-list-illustration.mjs","sources":["../../components/ecl-list-illustration/ecl-list-illustration-icon.directive.ts","../../components/ecl-list-illustration/ecl-list-illustration-picture.directive.ts","../../components/ecl-list-illustration/ecl-list-illustration-item.component.ts","../../components/ecl-list-illustration/ecl-list-illustration-item.component.html","../../components/ecl-list-illustration/ecl-list-illustration.component.ts","../../components/ecl-list-illustration/ecl-list-illustration.component.html","../../components/ecl-list-illustration/index.ts","../../components/ecl-list-illustration/eui-ecl-components-ecl-list-illustration.ts"],"sourcesContent":["import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive representing an icon within an ECL illustration list item.\n *\n * Applies the correct ECL class for list item icons.\n */\n@Directive({\n selector: '[eclListIllustrationIcon]',\n})\nexport class EclListIllustrationIconDirective extends ECLBaseDirective {\n /**\n * Applies the ECL class for illustration item icons.\n */\n @HostBinding('class.ecl-list-illustration__icon') className = true;\n}\n","import { Directive, HostBinding, booleanAttribute, forwardRef, AfterContentInit, input, contentChild } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive applied to `<picture>` elements within ECL list illustrations.\n *\n * Adds the necessary ECL CSS classes for illustration pictures.\n */\n@Directive({\n selector: 'picture[eclListIllustrationPicture]',\n})\nexport class EclListIllustrationPictureDirective extends ECLBaseDirective implements AfterContentInit {\n\n /**\n * If true, image is styled with square dimensions.\n */\n readonly isSquare = input(false, { transform: booleanAttribute });\n\n readonly eclIllustrationImage = contentChild.required(forwardRef(() => EclListIllustrationImageDirective));\n\n /**\n * Applies the base ECL picture classes for list illustration pictures.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-picture ecl-list-illustration__picture'),\n this.isSquare() ? 'ecl-list-illustration__picture--square' : '',\n ].join(' ').trim();\n }\n\n ngAfterContentInit(): void {\n this.eclIllustrationImage().isSquare = this.isSquare();\n }\n}\n\n/**\n * Directive applied to `<img>` elements within ECL list illustrations.\n *\n * Supports square variant and size options for image styling.\n */\n@Directive({\n selector: 'img[eclListIllustrationImage]',\n})\nexport class EclListIllustrationImageDirective extends ECLBaseDirective {\n /**\n * If true, image is styled with square dimensions.\n */\n isSquare = false;\n\n /**\n * Defines the size variant of the image.\n * Possible values: `'s'`, `'m'`, `'l'`.\n */\n readonly size = input<'s' | 'm' | 'l'>('m');\n\n /**\n * Computes the appropriate ECL CSS classes for the image.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-list-illustration__image'),\n this.isSquare ? 'ecl-list-illustration__image--square' : '',\n this.isSquare ? `ecl-list-illustration__image--${this.size()}` : '',\n ]\n .join(' ')\n .trim();\n }\n}\n","import {\n Component,\n computed,\n forwardRef,\n HostBinding,\n Signal,\n signal,\n input,\n contentChild,\n} from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclListIllustrationIconDirective } from './ecl-list-illustration-icon.directive';\nimport { EclListIllustrationPictureDirective } from './ecl-list-illustration-picture.directive';\n\n/**\n * Component representing a single item in an ECL illustration list.\n *\n * Displays optional title, value, and one or more illustration icons.\n */\n@Component({\n selector: 'ecl-list-illustration-item, li[eclListIllustrationItem]',\n templateUrl: './ecl-list-illustration-item.component.html',\n})\nexport class EclListIllustrationItemComponent extends ECLBaseDirective {\n /**\n * Text displayed as the item title.\n */\n readonly eclTitle = input('');\n\n /**\n * Text displayed as the item value.\n */\n readonly eclValue = input('');\n\n /**\n * Applies ARIA role for list items.\n */\n @HostBinding('attr.role') role = 'listitem';\n\n /**\n * Applies ECL class for illustration list item.\n */\n @HostBinding('class.ecl-list-illustration__item') className = true;\n\n readonly eclIllustrationIcon = contentChild(forwardRef(() => EclListIllustrationIconDirective));\n\n readonly eclIllustrationPicture = contentChild(forwardRef(() => EclListIllustrationPictureDirective));\n\n /** A special class needs to be added, for vertical lists with picture. */\n isVerticalPicture = signal(false);\n\n /** A special class needs to be added, if an icon list has dividers between items. */\n hasDivider = signal(false);\n\n hasPicture: Signal<boolean> = computed(() => this.eclIllustrationPicture() !== undefined);\n\n /**\n * Returns `true` if the item has a title or any projected icons.\n */\n readonly hasTitle = computed(() => Boolean(this.eclTitle()) || this.eclIllustrationIcon() !== undefined);\n\n /**\n * Returns `true` if the item has a value.\n */\n readonly hasValue = computed(() => Boolean(this.eclValue()));\n}\n","<div class=\"ecl-list-illustration__item-content\" [class.ecl-list-illustration__item-content--row]=\"isVerticalPicture()\"\n [class.ecl-list-illustration__divider]=\"hasDivider()\">\n <ng-content select=\"[eclListIllustrationImage],[eclListIllustrationPicture],[eclListIllustrationIcon]\"></ng-content>\n <div class=\"ecl-list-illustration__detail\">\n @if (hasTitle() || hasValue()) {\n <div class=\"ecl-list-illustration__title-container\">\n @if (hasValue()) {\n <div class=\"ecl-list-illustration__value\">{{ eclValue() }}</div>\n }\n <div class=\"ecl-list-illustration__title\">{{ eclTitle() }}</div>\n </div>\n }\n\n <div class=\"ecl-list-illustration__description\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>","import { Component, booleanAttribute, numberAttribute, afterNextRender, inject, forwardRef, AfterContentInit, Signal, computed, input, effect, signal, contentChildren } from '@angular/core';\nimport { BreakpointObserver } from '@angular/cdk/layout';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclListIllustrationItemComponent } from './ecl-list-illustration-item.component';\n\n/**\n * Component representing a list using ECL illustration styles.\n *\n * Supports zebra styling, responsive horizontal layout, and font size options.\n */\n@Component({\n selector: 'ecl-list-illustration, ul[eclListIllustration], ol[eclListIllustration]',\n templateUrl: './ecl-list-illustration.component.html',\n host: {\n '[attr.role]': 'role',\n '[class]': 'cssClasses',\n '[style.display]': 'elementDisplayStyle()',\n '[style.--ecl-list-illustration-counter-start]': 'counterStartStyle',\n '[attr.start]': 'startAttr',\n },\n})\nexport class EclListIllustrationComponent extends ECLBaseDirective implements AfterContentInit {\n /**\n * Enables zebra style (alternating background colors for list items).\n */\n readonly isZebra = input(false, { transform: booleanAttribute });\n\n /**\n * Number of horizontal columns. If greater than `0`, items are displayed in a grid layout.\n */\n horizontalColumns = input(0, { transform: numberAttribute });\n\n /**\n * Font size for list content.\n * Possible values:\n * - `'m'` – medium\n * - `'l'` – large (default)\n */\n readonly fontSize = input<'m' | 'l'>('l');\n\n /** If content should be centered */\n readonly isCentered = input(false, { transform: booleanAttribute });\n\n /** If the icon should be on the same row as title - for list with icons */\n readonly isIconInline = input(false, { transform: booleanAttribute });\n\n /** Two variants available: icon-list and number-list. */\n readonly variant = input<'icon-list' | 'number-list' | null>(null);\n\n /** If this is an icon-list, it can have dividers between each item. */\n readonly hasDividers = input(false, { transform: booleanAttribute });\n\n /** If we have a number-list, the user can set the start of the counter. */\n counterStart = input<number | null, unknown>(null, { transform: numberAttribute });\n\n readonly eclIllustrationItems = contentChildren(forwardRef(() => EclListIllustrationItemComponent));\n\n /**\n * Applies ARIA role for list elements.\n */\n role = 'list';\n\n /**\n * Applies the appropriate ECL CSS classes to the host element.\n */\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-list-illustration'),\n this.isZebra() ? 'ecl-list-illustration--zebra' : '',\n this.horizontalColumns() > 0 ? `ecl-list-illustration--col-${this.horizontalColumns()}` : '',\n this.fontSize() === 'm' ? 'ecl-list-illustration--font-m' : '',\n this.isCentered() ? 'ecl-list-illustration--centered' : '',\n this.isIconInline() ? 'ecl-list-illustration--icon-inline' : '',\n this.variant() === 'icon-list' ? 'ecl-list-illustration--icon-list' : '',\n this.variant() === 'number-list' ? 'ecl-list-illustration--number-list ecl-list-illustration--number-list-reset': '',\n ]\n .join(' ')\n .trim();\n }\n\n /**\n * Controls `display` style of the host element based on breakpoint and column count.\n */\n elementDisplayStyle = computed(() =>\n this.horizontalColumns() > 0 && this.isTabletBreakpoint() ? null : 'block'\n );\n\n counterStartStyle = '';\n\n startAttr: string | null = null;\n\n private isTabletBreakpoint = signal(false);\n private cdkBreakpointObserver = inject(BreakpointObserver);\n\n constructor() {\n super();\n afterNextRender(() => {\n this.observeBreakpointChanges();\n });\n effect(() => {\n const value = this.counterStart();\n const stringValue = value != null ? `${value}` : null;\n\n this.startAttr = stringValue;\n this.counterStartStyle = stringValue ?? '';\n });\n }\n\n ngAfterContentInit(): void {\n if (this.horizontalColumns() === 0) {\n this.eclIllustrationItems()?.forEach(item => {\n if (item.hasPicture()) item.isVerticalPicture.set(true);\n });\n }\n\n if (this.variant() === 'icon-list' && this.hasDividers()) {\n this.eclIllustrationItems()?.forEach(item => {\n item.hasDivider.set(true);\n });\n }\n }\n\n private observeBreakpointChanges(): void {\n this.cdkBreakpointObserver\n .observe(['(min-width: 768px)'])\n .subscribe((result) => {\n this.isTabletBreakpoint.set(result.matches);\n });\n }\n}\n","<ng-content></ng-content>","import { EclListIllustrationIconDirective } from './ecl-list-illustration-icon.directive';\nimport { EclListIllustrationItemComponent } from './ecl-list-illustration-item.component';\nimport { EclListIllustrationImageDirective, EclListIllustrationPictureDirective } from './ecl-list-illustration-picture.directive';\nimport { EclListIllustrationComponent } from './ecl-list-illustration.component';\n\nexport * from './ecl-list-illustration-item.component';\nexport * from './ecl-list-illustration-icon.directive';\nexport * from './ecl-list-illustration-picture.directive';\nexport * from './ecl-list-illustration.component';\n\nexport const EUI_ECL_LIST_ILUSTRATION = [\n EclListIllustrationComponent,\n EclListIllustrationItemComponent,\n EclListIllustrationIconDirective,\n EclListIllustrationPictureDirective,\n EclListIllustrationImageDirective,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}