@eui/ecl 22.0.0-alpha.1 → 22.0.0-alpha.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/docs/changelog.html +548 -0
  2. package/docs/components/EclCategoryFilterComponent.html +23 -187
  3. package/docs/components/EclCategoryFilterItemComponent.html +111 -274
  4. package/docs/components/EclCategoryFilterListComponent.html +9 -225
  5. package/docs/components/EclDateBlockComponent.html +0 -9
  6. package/docs/components/EclDescriptionListDefinitionComponent.html +6 -44
  7. package/docs/components/EclIconComponent.html +1 -1
  8. package/docs/components/EclListIllustrationComponent.html +0 -171
  9. package/docs/components/EclListIllustrationItemComponent.html +77 -83
  10. package/docs/components/EclLoadingIndicatorComponent.html +4 -91
  11. package/docs/components/EclMegaMenuComponent.html +5 -203
  12. package/docs/components/EclMegaMenuFeaturedComponent.html +10 -126
  13. package/docs/components/EclMegaMenuInfoComponent.html +0 -91
  14. package/docs/components/EclMegaMenuItemComponent.html +38 -115
  15. package/docs/components/EclMegaMenuSubitemComponent.html +4 -68
  16. package/docs/components/EclMenuItemComponent.html +46 -0
  17. package/docs/components/EclSiteFooterRowCommonComponent.html +1 -1
  18. package/docs/components/EclSiteHeaderLanguageComponent.html +5 -627
  19. package/docs/components/EclSiteHeaderLanguagePopoverComponent.html +99 -440
  20. package/docs/components/EclSiteHeaderLoginComponent.html +9 -453
  21. package/docs/components/EclSiteHeaderSearchComponent.html +18 -470
  22. package/docs/components/EclSocialMediaFollowComponent.html +28 -39
  23. package/docs/components/EclSocialMediaFollowItemComponent.html +26 -129
  24. package/docs/components/EclStoryCardComponent.html +1 -1
  25. package/docs/directives/ECLClickOutsideDirective.html +3 -0
  26. package/docs/directives/EclDescriptionListDefinitionItemDirective.html +6 -47
  27. package/docs/directives/EclDescriptionListDefinitionListDirective.html +0 -116
  28. package/docs/directives/EclDividerDirective.html +0 -116
  29. package/docs/directives/EclFileUploadDirective.html +2 -390
  30. package/docs/directives/EclLabelDirective.html +0 -46
  31. package/docs/directives/EclLinkDirective.html +0 -39
  32. package/docs/directives/EclLoadingIndicatorLabelDirective.html +0 -61
  33. package/docs/directives/EclLoadingIndicatorOverlayDirective.html +0 -45
  34. package/docs/directives/EclMediaContainerCaptionDirective.html +0 -39
  35. package/docs/directives/EclMediaContainerCreditDirective.html +0 -39
  36. package/docs/directives/EclMediaContainerIframeDirective.html +13 -19
  37. package/docs/directives/EclMediaContainerItemAudioDescriptionDirective.html +0 -39
  38. package/docs/directives/EclMediaContainerItemDirective.html +0 -39
  39. package/docs/directives/EclMediaContainerPictureDirective.html +0 -39
  40. package/docs/directives/EclMegaMenuContainerDirective.html +0 -104
  41. package/docs/directives/EclMegaMenuFeaturedImageDirective.html +0 -104
  42. package/docs/directives/EclMegaMenuFeaturedListDirective.html +0 -104
  43. package/docs/directives/EclMegaMenuFeaturedListItemDescriptionDirective.html +0 -104
  44. package/docs/directives/EclMegaMenuFeaturedListItemDirective.html +0 -104
  45. package/docs/directives/EclMegaMenuFeaturedPictureDirective.html +0 -39
  46. package/docs/directives/EclMegaMenuListDirective.html +0 -104
  47. package/docs/directives/EclMegaMenuSpacerDirective.html +0 -104
  48. package/docs/directives/EclMegaMenuSublistDirective.html +0 -165
  49. package/docs/js/search/search_index.js +2 -2
  50. package/docs/json/EclIconComponent.md +1 -1
  51. package/docs/json/EclMediaContainerIframeDirective.md +0 -1
  52. package/docs/json/EclSiteHeaderLanguagePopoverComponent.md +6 -6
  53. package/docs/json/EclSiteHeaderSearchComponent.md +1 -0
  54. package/docs/json/EclSocialMediaFollowComponent.md +1 -0
  55. package/docs/json/documentation.json +1317 -2896
  56. package/docs/llms.txt +30 -90
  57. package/docs/miscellaneous/variables.html +222 -41
  58. package/docs/properties.html +1 -1
  59. package/fesm2022/eui-ecl-components-ecl-category-filter.mjs +94 -129
  60. package/fesm2022/eui-ecl-components-ecl-category-filter.mjs.map +1 -1
  61. package/fesm2022/eui-ecl-components-ecl-date-block.mjs +2 -2
  62. package/fesm2022/eui-ecl-components-ecl-date-block.mjs.map +1 -1
  63. package/fesm2022/eui-ecl-components-ecl-divider.mjs +6 -13
  64. package/fesm2022/eui-ecl-components-ecl-divider.mjs.map +1 -1
  65. package/fesm2022/eui-ecl-components-ecl-file-upload.mjs +13 -27
  66. package/fesm2022/eui-ecl-components-ecl-file-upload.mjs.map +1 -1
  67. package/fesm2022/eui-ecl-components-ecl-icon.mjs.map +1 -1
  68. package/fesm2022/eui-ecl-components-ecl-inpage-navigation.mjs +55 -9
  69. package/fesm2022/eui-ecl-components-ecl-inpage-navigation.mjs.map +1 -1
  70. package/fesm2022/eui-ecl-components-ecl-label.mjs +6 -6
  71. package/fesm2022/eui-ecl-components-ecl-label.mjs.map +1 -1
  72. package/fesm2022/eui-ecl-components-ecl-link.mjs +10 -13
  73. package/fesm2022/eui-ecl-components-ecl-link.mjs.map +1 -1
  74. package/fesm2022/eui-ecl-components-ecl-list-illustration.mjs +19 -30
  75. package/fesm2022/eui-ecl-components-ecl-list-illustration.mjs.map +1 -1
  76. package/fesm2022/eui-ecl-components-ecl-list.mjs +44 -41
  77. package/fesm2022/eui-ecl-components-ecl-list.mjs.map +1 -1
  78. package/fesm2022/eui-ecl-components-ecl-loading-indicator.mjs +17 -20
  79. package/fesm2022/eui-ecl-components-ecl-loading-indicator.mjs.map +1 -1
  80. package/fesm2022/eui-ecl-components-ecl-media-container.mjs +36 -33
  81. package/fesm2022/eui-ecl-components-ecl-media-container.mjs.map +1 -1
  82. package/fesm2022/eui-ecl-components-ecl-mega-menu.mjs +100 -159
  83. package/fesm2022/eui-ecl-components-ecl-mega-menu.mjs.map +1 -1
  84. package/fesm2022/eui-ecl-components-ecl-menu.mjs +16 -3
  85. package/fesm2022/eui-ecl-components-ecl-menu.mjs.map +1 -1
  86. package/fesm2022/eui-ecl-components-ecl-site-footer.mjs +2 -2
  87. package/fesm2022/eui-ecl-components-ecl-site-footer.mjs.map +1 -1
  88. package/fesm2022/eui-ecl-components-ecl-site-header.mjs +326 -261
  89. package/fesm2022/eui-ecl-components-ecl-site-header.mjs.map +1 -1
  90. package/fesm2022/eui-ecl-components-ecl-social-media-follow.mjs +17 -17
  91. package/fesm2022/eui-ecl-components-ecl-social-media-follow.mjs.map +1 -1
  92. package/fesm2022/eui-ecl-components-ecl-story-card.mjs +2 -2
  93. package/fesm2022/eui-ecl-components-ecl-story-card.mjs.map +1 -1
  94. package/package.json +1 -1
  95. package/types/eui-ecl-components-ecl-category-filter.d.ts +32 -56
  96. package/types/eui-ecl-components-ecl-category-filter.d.ts.map +1 -1
  97. package/types/eui-ecl-components-ecl-date-block.d.ts.map +1 -1
  98. package/types/eui-ecl-components-ecl-divider.d.ts +0 -4
  99. package/types/eui-ecl-components-ecl-divider.d.ts.map +1 -1
  100. package/types/eui-ecl-components-ecl-file-upload.d.ts.map +1 -1
  101. package/types/eui-ecl-components-ecl-inpage-navigation.d.ts +25 -0
  102. package/types/eui-ecl-components-ecl-inpage-navigation.d.ts.map +1 -1
  103. package/types/eui-ecl-components-ecl-label.d.ts.map +1 -1
  104. package/types/eui-ecl-components-ecl-link.d.ts +2 -4
  105. package/types/eui-ecl-components-ecl-link.d.ts.map +1 -1
  106. package/types/eui-ecl-components-ecl-list-illustration.d.ts +3 -3
  107. package/types/eui-ecl-components-ecl-list-illustration.d.ts.map +1 -1
  108. package/types/eui-ecl-components-ecl-list.d.ts +9 -12
  109. package/types/eui-ecl-components-ecl-list.d.ts.map +1 -1
  110. package/types/eui-ecl-components-ecl-loading-indicator.d.ts.map +1 -1
  111. package/types/eui-ecl-components-ecl-media-container.d.ts +7 -2
  112. package/types/eui-ecl-components-ecl-media-container.d.ts.map +1 -1
  113. package/types/eui-ecl-components-ecl-mega-menu.d.ts +12 -22
  114. package/types/eui-ecl-components-ecl-mega-menu.d.ts.map +1 -1
  115. package/types/eui-ecl-components-ecl-menu.d.ts +12 -1
  116. package/types/eui-ecl-components-ecl-menu.d.ts.map +1 -1
  117. package/types/eui-ecl-components-ecl-site-header.d.ts +240 -216
  118. package/types/eui-ecl-components-ecl-site-header.d.ts.map +1 -1
  119. package/types/eui-ecl-components-ecl-social-media-follow.d.ts +5 -3
  120. package/types/eui-ecl-components-ecl-social-media-follow.d.ts.map +1 -1
@@ -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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"}
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { HostBinding, Directive, input, signal, contentChildren, viewChild, inject, ElementRef, ApplicationRef, DestroyRef, computed, afterNextRender, effect, Component, booleanAttribute, numberAttribute, ChangeDetectorRef } from '@angular/core';
2
+ import { signal, Directive, input, contentChildren, viewChild, inject, ElementRef, ApplicationRef, DestroyRef, computed, afterNextRender, effect, Component, HostBinding, booleanAttribute, numberAttribute, ChangeDetectorRef } from '@angular/core';
3
3
  import { ECLBaseDirective } from '@eui/ecl/core';
4
4
  import * as i1 from '@eui/ecl/components/ecl-link';
5
5
  import { EUI_ECL_LINK } from '@eui/ecl/components/ecl-link';
@@ -16,11 +16,13 @@ class EclDescriptionListDefinitionItemDirective extends ECLBaseDirective {
16
16
  /**
17
17
  * Internal state used to hide the item when exceeding the visible limit.
18
18
  */
19
- this.isHidden = false;
19
+ this.isHidden = signal(false, /* @ts-ignore */
20
+ ...(ngDevMode ? [{ debugName: "isHidden" }] : /* istanbul ignore next */ []));
20
21
  /**
21
22
  * Indicates whether this is the last item visible before the "see all" action is triggered.
22
23
  */
23
- this.isLastVisible = false;
24
+ this.isLastVisible = signal(false, /* @ts-ignore */
25
+ ...(ngDevMode ? [{ debugName: "isLastVisible" }] : /* istanbul ignore next */ []));
24
26
  }
25
27
  /**
26
28
  * Applies appropriate ECL classes based on visibility state.
@@ -28,47 +30,40 @@ class EclDescriptionListDefinitionItemDirective extends ECLBaseDirective {
28
30
  get cssClasses() {
29
31
  return [
30
32
  super.getCssClasses('ecl-description-list__definition-item'),
31
- this.isHidden ? 'ecl-description-list__definition-item--hidden' : '',
32
- this.isLastVisible ? 'ecl-description-list__definition-item--last-visible' : '',
33
+ this.isHidden() ? 'ecl-description-list__definition-item--hidden' : '',
34
+ this.isLastVisible() ? 'ecl-description-list__definition-item--last-visible' : '',
33
35
  ].join(' ');
34
36
  }
35
37
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclDescriptionListDefinitionItemDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
36
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.2", type: EclDescriptionListDefinitionItemDirective, isStandalone: true, selector: "[eclDescriptionListDefinitionItem]", host: { properties: { "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0 }); }
38
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.2", type: EclDescriptionListDefinitionItemDirective, isStandalone: true, selector: "[eclDescriptionListDefinitionItem]", host: { properties: { "class": "cssClasses" } }, usesInheritance: true, ngImport: i0 }); }
37
39
  }
38
40
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclDescriptionListDefinitionItemDirective, decorators: [{
39
41
  type: Directive,
40
42
  args: [{
41
43
  selector: '[eclDescriptionListDefinitionItem]',
44
+ host: {
45
+ '[class]': 'cssClasses',
46
+ },
42
47
  }]
43
- }], propDecorators: { cssClasses: [{
44
- type: HostBinding,
45
- args: ['class']
46
- }] } });
48
+ }] });
47
49
  /**
48
50
  * Directive representing a container for definition list items within an ECL description list.
49
51
  *
50
52
  * Applies the ECL-specific class for the list wrapper.
51
53
  */
52
54
  class EclDescriptionListDefinitionListDirective extends ECLBaseDirective {
53
- constructor() {
54
- super(...arguments);
55
- /**
56
- * Applies the ECL list container class.
57
- */
58
- this.cmpClass = true;
59
- }
60
55
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclDescriptionListDefinitionListDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
61
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.2", type: EclDescriptionListDefinitionListDirective, isStandalone: true, selector: "[eclDescriptionListDefinitionList]", host: { properties: { "class.ecl-description-list__definition-list": "this.cmpClass" } }, usesInheritance: true, ngImport: i0 }); }
56
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.2", type: EclDescriptionListDefinitionListDirective, isStandalone: true, selector: "[eclDescriptionListDefinitionList]", host: { classAttribute: "ecl-description-list__definition-list" }, usesInheritance: true, ngImport: i0 }); }
62
57
  }
63
58
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclDescriptionListDefinitionListDirective, decorators: [{
64
59
  type: Directive,
65
60
  args: [{
66
61
  selector: '[eclDescriptionListDefinitionList]',
62
+ host: {
63
+ class: 'ecl-description-list__definition-list',
64
+ },
67
65
  }]
68
- }], propDecorators: { cmpClass: [{
69
- type: HostBinding,
70
- args: ['class.ecl-description-list__definition-list']
71
- }] } });
66
+ }] });
72
67
 
73
68
  /**
74
69
  * Component for a definition item within an ECL description list.
@@ -104,10 +99,10 @@ class EclDescriptionListDefinitionComponent extends ECLBaseDirective {
104
99
  this.appRef = inject(ApplicationRef);
105
100
  this.destroyRef = inject(DestroyRef);
106
101
  this.appended = false;
107
- // we use this to defer "append into <ul>" until the DOM exists
108
102
  /**
109
103
  * Signal indicating whether the DOM is ready for manipulation.
110
- * Set to true after first render to ensure projected content exists.
104
+ * Set to true after first render to ensure the projected <ul> exists before
105
+ * the see-more link is inserted into it. Defers DOM writes in the effect.
111
106
  */
112
107
  this.domReady = signal(false, /* @ts-ignore */
113
108
  ...(ngDevMode ? [{ debugName: "domReady" }] : /* istanbul ignore next */ []));
@@ -128,9 +123,18 @@ class EclDescriptionListDefinitionComponent extends ECLBaseDirective {
128
123
  ...(ngDevMode ? [{ debugName: "hasSeeAll" }] : /* istanbul ignore next */ []));
129
124
  // Mark DOM ready AFTER first render (projected <ul> will exist)
130
125
  afterNextRender(() => this.domReady.set(true));
131
- // TODO: This needs to be refactored in the next version (v22/v23). I am adding this solution, for adding /removing the
132
- // 'See all' link now, to be dynamically handled via DOM manipulation, to avoid breaking changes. Can be done in an easier way,
133
- // but with minimal change in the way the component is used. To be refactored.
126
+ // The "See more" link must render as a sibling <li> INSIDE the consumer-authored
127
+ // <ul eclDescriptionListDefinitionList>, because ECL's CSS targets it as a direct
128
+ // child of that list. Angular has no declarative way to project content into an
129
+ // element the consumer owns (ng-content only projects into this component's own
130
+ // template), so the link is inserted into the projected <ul> via controlled DOM
131
+ // manipulation. This is intentional: keeping the natural <ul><li> markup in the
132
+ // consumer template is preferred over an API that would force bare <li> authoring.
133
+ //
134
+ // This effect keeps two things in sync with reactive state:
135
+ // 1. Per-item visibility (isHidden / isLastVisible signals) based on maxVisibleItems.
136
+ // 2. Presence of the "See more" <li> in the projected <ul>, driven by hasSeeAll().
137
+ // DOM writes are deferred until domReady() so the projected <ul> exists.
134
138
  effect(() => {
135
139
  const items = this.eclListItems();
136
140
  // If DOM not ready yet, only do state updates (no DOM querying/appending)
@@ -138,8 +142,8 @@ class EclDescriptionListDefinitionComponent extends ECLBaseDirective {
138
142
  if (!this.hasSeeAll()) {
139
143
  // show all items
140
144
  items.forEach((it) => {
141
- it.isHidden = false;
142
- it.isLastVisible = false;
145
+ it.isHidden.set(false);
146
+ it.isLastVisible.set(false);
143
147
  });
144
148
  if (ready)
145
149
  this.removeSeeMoreFromDom();
@@ -148,12 +152,12 @@ class EclDescriptionListDefinitionComponent extends ECLBaseDirective {
148
152
  // "See all" needed → hide beyond max
149
153
  const max = this.maxVisibleItems();
150
154
  items.forEach((it, idx) => {
151
- it.isHidden = idx >= max;
152
- it.isLastVisible = false;
155
+ it.isHidden.set(idx >= max);
156
+ it.isLastVisible.set(false);
153
157
  });
154
158
  const last = items[max - 1];
155
159
  if (last)
156
- last.isLastVisible = true;
160
+ last.isLastVisible.set(true);
157
161
  if (ready)
158
162
  this.ensureSeeMoreInsideProjectedUl();
159
163
  });
@@ -173,8 +177,8 @@ class EclDescriptionListDefinitionComponent extends ECLBaseDirective {
173
177
  */
174
178
  showAllInternal() {
175
179
  const items = this.eclListItems();
176
- items.forEach((item) => (item.isHidden = false));
177
- items.forEach((item) => (item.isLastVisible = false));
180
+ items.forEach((item) => item.isHidden.set(false));
181
+ items.forEach((item) => item.isLastVisible.set(false));
178
182
  }
179
183
  /**
180
184
  * Ensures the "See all" link is appended inside the projected <ul> element.
@@ -223,21 +227,20 @@ class EclDescriptionListDefinitionComponent extends ECLBaseDirective {
223
227
  * Returns null if not found.
224
228
  */
225
229
  findProjectedUl() {
226
- // your projected UL uses this attribute directive
230
+ // The consumer-authored list carries the eclDescriptionListDefinitionList directive.
227
231
  return this.host.nativeElement.querySelector('ul[eclDescriptionListDefinitionList]');
228
232
  }
229
233
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclDescriptionListDefinitionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
230
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.1.2", type: EclDescriptionListDefinitionComponent, isStandalone: true, selector: "[eclDescriptionListDefinition]", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "eclListItems", predicate: EclDescriptionListDefinitionItemDirective, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "seeMoreTpl", first: true, predicate: ["seeMoreTpl"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n\n<ng-template #seeMoreTpl>\n <li class=\"ecl-description-list__see_more\">\n <a eclLink variant=\"standalone\" href (click)=\"onShowAllItems($event)\">\n {{ 'ecl.SHOW-MORE-ITEMS' | translate }}\n </a>\n </li>\n</ng-template>", dependencies: [{ kind: "directive", type: i1.EclLinkDirective, selector: "[eclLink]", inputs: ["extraAttributes", "isInverted", "isIconOnly", "isHighlight", "isNoVisited", "isBranded", "variant"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
234
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.1.2", type: EclDescriptionListDefinitionComponent, isStandalone: true, selector: "[eclDescriptionListDefinition]", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "cssClasses" } }, queries: [{ propertyName: "eclListItems", predicate: EclDescriptionListDefinitionItemDirective, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "seeMoreTpl", first: true, predicate: ["seeMoreTpl"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n\n<ng-template #seeMoreTpl>\n <li class=\"ecl-description-list__see_more\">\n <a eclLink variant=\"standalone\" href (click)=\"onShowAllItems($event)\">\n {{ 'ecl.SHOW-MORE-ITEMS' | translate }}\n </a>\n </li>\n</ng-template>", dependencies: [{ kind: "directive", type: i1.EclLinkDirective, selector: "[eclLink]", inputs: ["extraAttributes", "isInverted", "isIconOnly", "isHighlight", "isNoVisited", "isBranded", "variant"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
231
235
  }
232
236
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclDescriptionListDefinitionComponent, decorators: [{
233
237
  type: Component,
234
- args: [{ selector: '[eclDescriptionListDefinition]', standalone: true, imports: [...EUI_ECL_LINK, TranslatePipe], template: "<ng-content></ng-content>\n\n<ng-template #seeMoreTpl>\n <li class=\"ecl-description-list__see_more\">\n <a eclLink variant=\"standalone\" href (click)=\"onShowAllItems($event)\">\n {{ 'ecl.SHOW-MORE-ITEMS' | translate }}\n </a>\n </li>\n</ng-template>" }]
238
+ args: [{ selector: '[eclDescriptionListDefinition]', imports: [...EUI_ECL_LINK, TranslatePipe], host: {
239
+ '[class]': 'cssClasses',
240
+ }, template: "<ng-content></ng-content>\n\n<ng-template #seeMoreTpl>\n <li class=\"ecl-description-list__see_more\">\n <a eclLink variant=\"standalone\" href (click)=\"onShowAllItems($event)\">\n {{ 'ecl.SHOW-MORE-ITEMS' | translate }}\n </a>\n </li>\n</ng-template>" }]
235
241
  }], ctorParameters: () => [], propDecorators: { variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], eclListItems: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => EclDescriptionListDefinitionItemDirective), { ...{
236
242
  descendants: true,
237
- }, isSignal: true }] }], seeMoreTpl: [{ type: i0.ViewChild, args: ['seeMoreTpl', { isSignal: true }] }], cssClasses: [{
238
- type: HostBinding,
239
- args: ['class']
240
- }] } });
243
+ }, isSignal: true }] }], seeMoreTpl: [{ type: i0.ViewChild, args: ['seeMoreTpl', { isSignal: true }] }] } });
241
244
 
242
245
  /**
243
246
  * Directive representing an ordered list using ECL styles.
@@ -1 +1 @@
1
- {"version":3,"file":"eui-ecl-components-ecl-list.mjs","sources":["../../components/ecl-list/ecl-description-list-definition-item.directive.ts","../../components/ecl-list/ecl-description-list-definition/ecl-description-list-definition.component.ts","../../components/ecl-list/ecl-description-list-definition/ecl-description-list-definition.component.html","../../components/ecl-list/ecl-list.directive.ts","../../components/ecl-list/index.ts","../../components/ecl-list/eui-ecl-components-ecl-list.ts"],"sourcesContent":["import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive representing a single item in an ECL description list definition.\n *\n * Applies the appropriate styling classes and allows visibility control for \"see all\" behavior.\n */\n@Directive({\n selector: '[eclDescriptionListDefinitionItem]',\n})\nexport class EclDescriptionListDefinitionItemDirective extends ECLBaseDirective {\n /**\n * Applies appropriate ECL classes based on visibility state.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-description-list__definition-item'),\n this.isHidden ? 'ecl-description-list__definition-item--hidden' : '',\n this.isLastVisible ? 'ecl-description-list__definition-item--last-visible' : '',\n ].join(' ');\n }\n\n /**\n * Internal state used to hide the item when exceeding the visible limit.\n */\n isHidden = false;\n\n /**\n * Indicates whether this is the last item visible before the \"see all\" action is triggered.\n */\n isLastVisible = false;\n}\n\n/**\n * Directive representing a container for definition list items within an ECL description list.\n *\n * Applies the ECL-specific class for the list wrapper.\n */\n@Directive({\n selector: '[eclDescriptionListDefinitionList]',\n})\nexport class EclDescriptionListDefinitionListDirective extends ECLBaseDirective {\n /**\n * Applies the ECL list container class.\n */\n @HostBinding('class.ecl-description-list__definition-list') cmpClass = true;\n}\n","import {\n ApplicationRef,\n Component,\n DestroyRef,\n ElementRef,\n EmbeddedViewRef,\n HostBinding,\n TemplateRef,\n afterNextRender,\n computed,\n contentChildren,\n effect,\n inject,\n input,\n signal,\n viewChild,\n} from '@angular/core';\n\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclDescriptionListDefinitionItemDirective } from '../ecl-description-list-definition-item.directive';\nimport { EUI_ECL_LINK } from '@eui/ecl/components/ecl-link';\nimport { TranslatePipe } from '@ngx-translate/core';\n\n/**\n * Component for a definition item within an ECL description list.\n * Supports variants (link, inline, taxonomy, tag) and collapsible functionality\n * with maxVisibleItems control.\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[eclDescriptionListDefinition]',\n standalone: true,\n templateUrl: './ecl-description-list-definition.component.html',\n imports: [...EUI_ECL_LINK, TranslatePipe],\n})\nexport class EclDescriptionListDefinitionComponent extends ECLBaseDirective {\n\n /**\n * Visual variant of the definition list item.\n * Options: 'link', 'inline', 'taxonomy', 'tag'.\n */\n variant = input<'link' | 'inline' | 'taxonomy' | 'tag' | null>(null);\n\n /**\n * Maximum number of items to display before showing \"See all\" link.\n * Controlled by parent EclDescriptionListDirective.\n */\n maxVisibleItems = signal<number | null>(null);\n\n private readonly eclListItems = contentChildren(EclDescriptionListDefinitionItemDirective, {\n descendants: true,\n });\n\n private readonly seeMoreTpl = viewChild.required<TemplateRef<unknown>>('seeMoreTpl');\n\n private readonly host = inject(ElementRef<HTMLElement>);\n private readonly appRef = inject(ApplicationRef);\n private readonly destroyRef = inject(DestroyRef);\n\n private seeMoreView?: EmbeddedViewRef<unknown>;\n private appended = false;\n\n @HostBinding('class')\n get cssClasses(): string {\n const v = this.variant();\n return [\n super.getCssClasses('ecl-description-list__definition'),\n v ? `ecl-description-list__definition--${v}` : '',\n ].join(' ');\n }\n // we use this to defer \"append into <ul>\" until the DOM exists\n /**\n * Signal indicating whether the DOM is ready for manipulation.\n * Set to true after first render to ensure projected content exists.\n */\n readonly domReady = signal(false);\n \n /**\n * Computed signal that returns the total number of list items.\n */\n private readonly currentItemsNumber = computed(() => this.eclListItems().length);\n\n /**\n * Computed signal that determines if \"See all\" link should be shown.\n * Returns true when maxVisibleItems is set and less than total items.\n */\n readonly hasSeeAll = computed(() => {\n const max = this.maxVisibleItems();\n const total = this.currentItemsNumber();\n return !!max && total > 0 && max < total;\n });\n\n constructor() {\n super();\n // Mark DOM ready AFTER first render (projected <ul> will exist)\n afterNextRender(() => this.domReady.set(true));\n // TODO: This needs to be refactored in the next version (v22/v23). I am adding this solution, for adding /removing the\n // 'See all' link now, to be dynamically handled via DOM manipulation, to avoid breaking changes. Can be done in an easier way,\n // but with minimal change in the way the component is used. To be refactored.\n effect(() => {\n const items = this.eclListItems();\n // If DOM not ready yet, only do state updates (no DOM querying/appending)\n const ready = this.domReady();\n\n if (!this.hasSeeAll()) {\n // show all items\n items.forEach((it) => {\n it.isHidden = false;\n it.isLastVisible = false;\n });\n\n if (ready) this.removeSeeMoreFromDom();\n return;\n }\n\n // \"See all\" needed → hide beyond max\n const max = this.maxVisibleItems()!;\n items.forEach((it, idx) => {\n it.isHidden = idx >= max;\n it.isLastVisible = false;\n });\n const last = items[max - 1];\n if (last) last.isLastVisible = true;\n\n if (ready) this.ensureSeeMoreInsideProjectedUl();\n });\n\n this.destroyRef.onDestroy(() => this.removeSeeMoreFromDom());\n }\n\n /**\n * Handles the \"Show all items\" link click event.\n * Expands all hidden items and removes the \"See all\" link from DOM.\n */\n onShowAllItems(evt: Event): void {\n evt.preventDefault();\n this.showAllInternal();\n this.removeSeeMoreFromDom();\n }\n\n /**\n * Shows all items by setting isHidden to false for all items.\n */\n private showAllInternal(): void {\n const items = this.eclListItems();\n items.forEach((item) => (item.isHidden = false));\n items.forEach((item) => (item.isLastVisible = false));\n }\n\n /**\n * Ensures the \"See all\" link is appended inside the projected <ul> element.\n * Creates and attaches the embedded view if needed.\n */\n private ensureSeeMoreInsideProjectedUl(): void {\n if (!this.hasSeeAll()) return;\n\n const ul = this.findProjectedUl();\n if (!ul) return;\n\n // If it's already in there (e.g. reruns), do nothing\n if (ul.querySelector(':scope > li.ecl-description-list__see_more')) return;\n\n // Create the embedded view once and append its root <li> into the projected <ul>\n if (!this.seeMoreView) {\n this.seeMoreView = this.seeMoreTpl().createEmbeddedView({});\n this.appRef.attachView(this.seeMoreView);\n this.seeMoreView.detectChanges();\n }\n\n const [liNode] = this.seeMoreView.rootNodes as HTMLElement[];\n if (liNode && !this.appended) {\n ul.appendChild(liNode);\n this.appended = true;\n } else if (liNode && liNode.parentElement !== ul) {\n // if it was moved/removed, re-append\n ul.appendChild(liNode);\n }\n }\n\n /**\n * Removes the \"See all\" link from the DOM and cleans up the embedded view.\n */\n private removeSeeMoreFromDom(): void {\n const ul = this.findProjectedUl();\n ul?.querySelector(':scope > li.ecl-description-list__see_more')?.remove();\n\n this.appended = false;\n\n if (this.seeMoreView) {\n this.appRef.detachView(this.seeMoreView);\n this.seeMoreView.destroy();\n this.seeMoreView = undefined;\n }\n }\n\n /**\n * Finds the projected <ul> element with eclDescriptionListDefinitionList directive.\n * Returns null if not found.\n */\n private findProjectedUl(): HTMLUListElement | null {\n // your projected UL uses this attribute directive\n return this.host.nativeElement.querySelector(\n 'ul[eclDescriptionListDefinitionList]'\n ) as HTMLUListElement | null;\n }\n}","<ng-content></ng-content>\n\n<ng-template #seeMoreTpl>\n <li class=\"ecl-description-list__see_more\">\n <a eclLink variant=\"standalone\" href (click)=\"onShowAllItems($event)\">\n {{ 'ecl.SHOW-MORE-ITEMS' | translate }}\n </a>\n </li>\n</ng-template>","import { AfterContentInit, ChangeDetectorRef, Directive, HostBinding, booleanAttribute, numberAttribute, inject, input, contentChildren } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclDescriptionListDefinitionComponent } from './ecl-description-list-definition/ecl-description-list-definition.component';\n\n/**\n * Directive representing an ordered list using ECL styles.\n */\n@Directive({\n selector: '[eclOrderedList]',\n})\nexport class EclOrderedListDirective extends ECLBaseDirective {\n /**\n * Applies the ECL class for ordered lists.\n */\n @HostBinding('class.ecl-ordered-list') cmpClass = true;\n}\n\n/**\n * Directive for a single item within an ECL ordered list.\n */\n@Directive({\n selector: '[eclOrderedListItem]',\n})\nexport class EclOrderedListItemDirective extends ECLBaseDirective {\n /**\n * Applies the ECL class for ordered list items.\n */\n @HostBinding('class.ecl-ordered-list__item') cmpClass = true;\n}\n\n/**\n * Directive representing an unordered list using ECL styles.\n *\n * Supports optional variants like divider and no-marker.\n */\n@Directive({\n selector: '[eclUnorderedList]',\n})\nexport class EclUnorderedListDirective extends ECLBaseDirective {\n /**\n * Applies the ECL class for unordered lists.\n */\n @HostBinding('class.ecl-unordered-list') cmpClass = true;\n\n /**\n * Adds a divider between list items.\n */\n isDivider = input(false, { transform: booleanAttribute });\n\n @HostBinding('class.ecl-unordered-list--divider')\n get dividerClass() {\n return this.isDivider();\n }\n\n /**\n * Removes markers from list items.\n */\n isNoMarker = input(false, { transform: booleanAttribute });\n\n @HostBinding('class.ecl-unordered-list--no-marker')\n get noMarkerClass() {\n return this.isNoMarker();\n }\n}\n\n/**\n * Directive for a single item within an ECL unordered list.\n */\n@Directive({\n selector: '[eclUnorderedListItem]',\n})\nexport class EclUnorderedListItemDirective extends ECLBaseDirective {\n /**\n * Applies the ECL class for unordered list items.\n */\n @HostBinding('class.ecl-unordered-list__item') cmpClass = true;\n}\n\n/**\n * Directive for a description list using ECL styles.\n *\n * Supports horizontal layout and maxVisibleItems functionality\n * passed down to nested definition components.\n */\n@Directive({\n selector: '[eclDescriptionList]',\n})\nexport class EclDescriptionListDirective extends ECLBaseDirective implements AfterContentInit {\n /**\n * Enables horizontal layout.\n */\n isHorizontal = input(false, { transform: booleanAttribute });\n\n @HostBinding('class.ecl-description-list--horizontal')\n get horizontalClass() {\n return this.isHorizontal();\n }\n\n /**\n * Maximum number of visible items before collapsing.\n * Applied to nested `eclDescriptionListDefinition` components.\n */\n maxVisibleItems = input(0, { transform: numberAttribute });\n\n readonly eclListItems = contentChildren(EclDescriptionListDefinitionComponent);\n\n /**\n * Applies the base ECL class for description lists.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-description-list')].join(' ');\n }\n private cd = inject(ChangeDetectorRef);\n\n /**\n * Assigns `maxVisibleItems` to child definition components if needed.\n */\n ngAfterContentInit(): void {\n if (!this.isHorizontal() && this.maxVisibleItems() > 0) {\n this.eclListItems().forEach((item) => (item.maxVisibleItems.set(this.maxVisibleItems())));\n }\n this.cd.detectChanges();\n }\n}\n\n/**\n * Directive representing a term within an ECL description list.\n */\n@Directive({\n selector: '[eclDescriptionListTerm]',\n})\nexport class EclDescriptionListTermDirective extends ECLBaseDirective {\n /**\n * Applies the ECL class for description list terms.\n */\n @HostBinding('class.ecl-description-list__term') cmpClass = true;\n}\n","import { EclDescriptionListDefinitionItemDirective, EclDescriptionListDefinitionListDirective } from './ecl-description-list-definition-item.directive';\nimport { EclDescriptionListDefinitionComponent } from './ecl-description-list-definition/ecl-description-list-definition.component';\nimport {\n EclDescriptionListDirective,\n EclDescriptionListTermDirective,\n EclOrderedListDirective,\n EclOrderedListItemDirective,\n EclUnorderedListDirective,\n EclUnorderedListItemDirective,\n} from './ecl-list.directive';\n\nexport * from './ecl-list.directive';\nexport * from './ecl-description-list-definition-item.directive';\nexport * from './ecl-description-list-definition/ecl-description-list-definition.component';\n\nexport const EUI_ECL_LIST = [\n EclOrderedListDirective,\n EclOrderedListItemDirective,\n EclUnorderedListDirective,\n EclUnorderedListItemDirective,\n EclDescriptionListDirective,\n EclDescriptionListTermDirective,\n EclDescriptionListDefinitionComponent,\n EclDescriptionListDefinitionItemDirective,\n EclDescriptionListDefinitionListDirective,\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.mjs","sources":["../../components/ecl-list/ecl-description-list-definition-item.directive.ts","../../components/ecl-list/ecl-description-list-definition/ecl-description-list-definition.component.ts","../../components/ecl-list/ecl-description-list-definition/ecl-description-list-definition.component.html","../../components/ecl-list/ecl-list.directive.ts","../../components/ecl-list/index.ts","../../components/ecl-list/eui-ecl-components-ecl-list.ts"],"sourcesContent":["import { Directive, signal } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive representing a single item in an ECL description list definition.\n *\n * Applies the appropriate styling classes and allows visibility control for \"see all\" behavior.\n */\n@Directive({\n selector: '[eclDescriptionListDefinitionItem]',\n host: {\n '[class]': 'cssClasses',\n },\n})\nexport class EclDescriptionListDefinitionItemDirective extends ECLBaseDirective {\n /**\n * Internal state used to hide the item when exceeding the visible limit.\n */\n readonly isHidden = signal(false);\n\n /**\n * Indicates whether this is the last item visible before the \"see all\" action is triggered.\n */\n readonly isLastVisible = signal(false);\n\n /**\n * Applies appropriate ECL classes based on visibility state.\n */\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-description-list__definition-item'),\n this.isHidden() ? 'ecl-description-list__definition-item--hidden' : '',\n this.isLastVisible() ? 'ecl-description-list__definition-item--last-visible' : '',\n ].join(' ');\n }\n}\n\n/**\n * Directive representing a container for definition list items within an ECL description list.\n *\n * Applies the ECL-specific class for the list wrapper.\n */\n@Directive({\n selector: '[eclDescriptionListDefinitionList]',\n host: {\n class: 'ecl-description-list__definition-list',\n },\n})\nexport class EclDescriptionListDefinitionListDirective extends ECLBaseDirective {}\n","import {\n ApplicationRef,\n Component,\n DestroyRef,\n ElementRef,\n EmbeddedViewRef,\n TemplateRef,\n afterNextRender,\n computed,\n contentChildren,\n effect,\n inject,\n input,\n signal,\n viewChild,\n} from '@angular/core';\n\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclDescriptionListDefinitionItemDirective } from '../ecl-description-list-definition-item.directive';\nimport { EUI_ECL_LINK } from '@eui/ecl/components/ecl-link';\nimport { TranslatePipe } from '@ngx-translate/core';\n\n/**\n * Component for a definition item within an ECL description list.\n * Supports variants (link, inline, taxonomy, tag) and collapsible functionality\n * with maxVisibleItems control.\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[eclDescriptionListDefinition]',\n templateUrl: './ecl-description-list-definition.component.html',\n imports: [...EUI_ECL_LINK, TranslatePipe],\n host: {\n '[class]': 'cssClasses',\n },\n})\nexport class EclDescriptionListDefinitionComponent extends ECLBaseDirective {\n\n /**\n * Visual variant of the definition list item.\n * Options: 'link', 'inline', 'taxonomy', 'tag'.\n */\n variant = input<'link' | 'inline' | 'taxonomy' | 'tag' | null>(null);\n\n /**\n * Maximum number of items to display before showing \"See all\" link.\n * Controlled by parent EclDescriptionListDirective.\n */\n maxVisibleItems = signal<number | null>(null);\n\n private readonly eclListItems = contentChildren(EclDescriptionListDefinitionItemDirective, {\n descendants: true,\n });\n\n private readonly seeMoreTpl = viewChild.required<TemplateRef<unknown>>('seeMoreTpl');\n\n private readonly host = inject(ElementRef<HTMLElement>);\n private readonly appRef = inject(ApplicationRef);\n private readonly destroyRef = inject(DestroyRef);\n\n private seeMoreView?: EmbeddedViewRef<unknown>;\n private appended = false;\n\n get cssClasses(): string {\n const v = this.variant();\n return [\n super.getCssClasses('ecl-description-list__definition'),\n v ? `ecl-description-list__definition--${v}` : '',\n ].join(' ');\n }\n /**\n * Signal indicating whether the DOM is ready for manipulation.\n * Set to true after first render to ensure the projected <ul> exists before\n * the see-more link is inserted into it. Defers DOM writes in the effect.\n */\n readonly domReady = signal(false);\n \n /**\n * Computed signal that returns the total number of list items.\n */\n private readonly currentItemsNumber = computed(() => this.eclListItems().length);\n\n /**\n * Computed signal that determines if \"See all\" link should be shown.\n * Returns true when maxVisibleItems is set and less than total items.\n */\n readonly hasSeeAll = computed(() => {\n const max = this.maxVisibleItems();\n const total = this.currentItemsNumber();\n return !!max && total > 0 && max < total;\n });\n\n constructor() {\n super();\n // Mark DOM ready AFTER first render (projected <ul> will exist)\n afterNextRender(() => this.domReady.set(true));\n\n // The \"See more\" link must render as a sibling <li> INSIDE the consumer-authored\n // <ul eclDescriptionListDefinitionList>, because ECL's CSS targets it as a direct\n // child of that list. Angular has no declarative way to project content into an\n // element the consumer owns (ng-content only projects into this component's own\n // template), so the link is inserted into the projected <ul> via controlled DOM\n // manipulation. This is intentional: keeping the natural <ul><li> markup in the\n // consumer template is preferred over an API that would force bare <li> authoring.\n //\n // This effect keeps two things in sync with reactive state:\n // 1. Per-item visibility (isHidden / isLastVisible signals) based on maxVisibleItems.\n // 2. Presence of the \"See more\" <li> in the projected <ul>, driven by hasSeeAll().\n // DOM writes are deferred until domReady() so the projected <ul> exists.\n effect(() => {\n const items = this.eclListItems();\n // If DOM not ready yet, only do state updates (no DOM querying/appending)\n const ready = this.domReady();\n\n if (!this.hasSeeAll()) {\n // show all items\n items.forEach((it) => {\n it.isHidden.set(false);\n it.isLastVisible.set(false);\n });\n\n if (ready) this.removeSeeMoreFromDom();\n return;\n }\n\n // \"See all\" needed → hide beyond max\n const max = this.maxVisibleItems()!;\n items.forEach((it, idx) => {\n it.isHidden.set(idx >= max);\n it.isLastVisible.set(false);\n });\n const last = items[max - 1];\n if (last) last.isLastVisible.set(true);\n\n if (ready) this.ensureSeeMoreInsideProjectedUl();\n });\n\n this.destroyRef.onDestroy(() => this.removeSeeMoreFromDom());\n }\n\n /**\n * Handles the \"Show all items\" link click event.\n * Expands all hidden items and removes the \"See all\" link from DOM.\n */\n onShowAllItems(evt: Event): void {\n evt.preventDefault();\n this.showAllInternal();\n this.removeSeeMoreFromDom();\n }\n\n /**\n * Shows all items by setting isHidden to false for all items.\n */\n private showAllInternal(): void {\n const items = this.eclListItems();\n items.forEach((item) => item.isHidden.set(false));\n items.forEach((item) => item.isLastVisible.set(false));\n }\n\n /**\n * Ensures the \"See all\" link is appended inside the projected <ul> element.\n * Creates and attaches the embedded view if needed.\n */\n private ensureSeeMoreInsideProjectedUl(): void {\n if (!this.hasSeeAll()) return;\n\n const ul = this.findProjectedUl();\n if (!ul) return;\n\n // If it's already in there (e.g. reruns), do nothing\n if (ul.querySelector(':scope > li.ecl-description-list__see_more')) return;\n\n // Create the embedded view once and append its root <li> into the projected <ul>\n if (!this.seeMoreView) {\n this.seeMoreView = this.seeMoreTpl().createEmbeddedView({});\n this.appRef.attachView(this.seeMoreView);\n this.seeMoreView.detectChanges();\n }\n\n const [liNode] = this.seeMoreView.rootNodes as HTMLElement[];\n if (liNode && !this.appended) {\n ul.appendChild(liNode);\n this.appended = true;\n } else if (liNode && liNode.parentElement !== ul) {\n // if it was moved/removed, re-append\n ul.appendChild(liNode);\n }\n }\n\n /**\n * Removes the \"See all\" link from the DOM and cleans up the embedded view.\n */\n private removeSeeMoreFromDom(): void {\n const ul = this.findProjectedUl();\n ul?.querySelector(':scope > li.ecl-description-list__see_more')?.remove();\n\n this.appended = false;\n\n if (this.seeMoreView) {\n this.appRef.detachView(this.seeMoreView);\n this.seeMoreView.destroy();\n this.seeMoreView = undefined;\n }\n }\n\n /**\n * Finds the projected <ul> element with eclDescriptionListDefinitionList directive.\n * Returns null if not found.\n */\n private findProjectedUl(): HTMLUListElement | null {\n // The consumer-authored list carries the eclDescriptionListDefinitionList directive.\n return this.host.nativeElement.querySelector(\n 'ul[eclDescriptionListDefinitionList]'\n ) as HTMLUListElement | null;\n }\n}","<ng-content></ng-content>\n\n<ng-template #seeMoreTpl>\n <li class=\"ecl-description-list__see_more\">\n <a eclLink variant=\"standalone\" href (click)=\"onShowAllItems($event)\">\n {{ 'ecl.SHOW-MORE-ITEMS' | translate }}\n </a>\n </li>\n</ng-template>","import { AfterContentInit, ChangeDetectorRef, Directive, HostBinding, booleanAttribute, numberAttribute, inject, input, contentChildren } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclDescriptionListDefinitionComponent } from './ecl-description-list-definition/ecl-description-list-definition.component';\n\n/**\n * Directive representing an ordered list using ECL styles.\n */\n@Directive({\n selector: '[eclOrderedList]',\n})\nexport class EclOrderedListDirective extends ECLBaseDirective {\n /**\n * Applies the ECL class for ordered lists.\n */\n @HostBinding('class.ecl-ordered-list') cmpClass = true;\n}\n\n/**\n * Directive for a single item within an ECL ordered list.\n */\n@Directive({\n selector: '[eclOrderedListItem]',\n})\nexport class EclOrderedListItemDirective extends ECLBaseDirective {\n /**\n * Applies the ECL class for ordered list items.\n */\n @HostBinding('class.ecl-ordered-list__item') cmpClass = true;\n}\n\n/**\n * Directive representing an unordered list using ECL styles.\n *\n * Supports optional variants like divider and no-marker.\n */\n@Directive({\n selector: '[eclUnorderedList]',\n})\nexport class EclUnorderedListDirective extends ECLBaseDirective {\n /**\n * Applies the ECL class for unordered lists.\n */\n @HostBinding('class.ecl-unordered-list') cmpClass = true;\n\n /**\n * Adds a divider between list items.\n */\n isDivider = input(false, { transform: booleanAttribute });\n\n @HostBinding('class.ecl-unordered-list--divider')\n get dividerClass() {\n return this.isDivider();\n }\n\n /**\n * Removes markers from list items.\n */\n isNoMarker = input(false, { transform: booleanAttribute });\n\n @HostBinding('class.ecl-unordered-list--no-marker')\n get noMarkerClass() {\n return this.isNoMarker();\n }\n}\n\n/**\n * Directive for a single item within an ECL unordered list.\n */\n@Directive({\n selector: '[eclUnorderedListItem]',\n})\nexport class EclUnorderedListItemDirective extends ECLBaseDirective {\n /**\n * Applies the ECL class for unordered list items.\n */\n @HostBinding('class.ecl-unordered-list__item') cmpClass = true;\n}\n\n/**\n * Directive for a description list using ECL styles.\n *\n * Supports horizontal layout and maxVisibleItems functionality\n * passed down to nested definition components.\n */\n@Directive({\n selector: '[eclDescriptionList]',\n})\nexport class EclDescriptionListDirective extends ECLBaseDirective implements AfterContentInit {\n /**\n * Enables horizontal layout.\n */\n isHorizontal = input(false, { transform: booleanAttribute });\n\n @HostBinding('class.ecl-description-list--horizontal')\n get horizontalClass() {\n return this.isHorizontal();\n }\n\n /**\n * Maximum number of visible items before collapsing.\n * Applied to nested `eclDescriptionListDefinition` components.\n */\n maxVisibleItems = input(0, { transform: numberAttribute });\n\n readonly eclListItems = contentChildren(EclDescriptionListDefinitionComponent);\n\n /**\n * Applies the base ECL class for description lists.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-description-list')].join(' ');\n }\n private cd = inject(ChangeDetectorRef);\n\n /**\n * Assigns `maxVisibleItems` to child definition components if needed.\n */\n ngAfterContentInit(): void {\n if (!this.isHorizontal() && this.maxVisibleItems() > 0) {\n this.eclListItems().forEach((item) => (item.maxVisibleItems.set(this.maxVisibleItems())));\n }\n this.cd.detectChanges();\n }\n}\n\n/**\n * Directive representing a term within an ECL description list.\n */\n@Directive({\n selector: '[eclDescriptionListTerm]',\n})\nexport class EclDescriptionListTermDirective extends ECLBaseDirective {\n /**\n * Applies the ECL class for description list terms.\n */\n @HostBinding('class.ecl-description-list__term') cmpClass = true;\n}\n","import { EclDescriptionListDefinitionItemDirective, EclDescriptionListDefinitionListDirective } from './ecl-description-list-definition-item.directive';\nimport { EclDescriptionListDefinitionComponent } from './ecl-description-list-definition/ecl-description-list-definition.component';\nimport {\n EclDescriptionListDirective,\n EclDescriptionListTermDirective,\n EclOrderedListDirective,\n EclOrderedListItemDirective,\n EclUnorderedListDirective,\n EclUnorderedListItemDirective,\n} from './ecl-list.directive';\n\nexport * from './ecl-list.directive';\nexport * from './ecl-description-list-definition-item.directive';\nexport * from './ecl-description-list-definition/ecl-description-list-definition.component';\n\nexport const EUI_ECL_LIST = [\n EclOrderedListDirective,\n EclOrderedListItemDirective,\n EclUnorderedListDirective,\n EclUnorderedListItemDirective,\n EclDescriptionListDirective,\n EclDescriptionListTermDirective,\n EclDescriptionListDefinitionComponent,\n EclDescriptionListDefinitionItemDirective,\n EclDescriptionListDefinitionListDirective,\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, booleanAttribute, HostBinding, Component, Directive } from '@angular/core';
2
+ import { input, booleanAttribute, Component, Directive } from '@angular/core';
3
3
  import { ECLBaseDirective } from '@eui/ecl/core';
4
4
 
5
5
  /**
@@ -63,18 +63,15 @@ class EclLoadingIndicatorComponent extends ECLBaseDirective {
63
63
  .trim();
64
64
  }
65
65
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclLoadingIndicatorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
66
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.2", type: EclLoadingIndicatorComponent, isStandalone: true, selector: "ecl-loading-indicator", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, isCentered: { classPropertyName: "isCentered", publicName: "isCentered", isSignal: true, isRequired: false, transformFunction: null }, isVisible: { classPropertyName: "isVisible", publicName: "isVisible", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.role": "this.role", "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0, template: "<svg class=\"ecl-spinner__loader\" viewBox=\"25 25 50 50\">\n <circle\n class=\"ecl-spinner__circle\"\n cx=\"50\"\n cy=\"50\"\n r=\"20\"\n fill=\"none\"\n stroke-width=\"4px\"\n stroke-miterlimit=\"10\"\n vector-effect=\"non-scaling-stroke\"></circle>\n</svg>\n<ng-content></ng-content>\n" }); }
66
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.2", type: EclLoadingIndicatorComponent, isStandalone: true, selector: "ecl-loading-indicator", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, isCentered: { classPropertyName: "isCentered", publicName: "isCentered", isSignal: true, isRequired: false, transformFunction: null }, isVisible: { classPropertyName: "isVisible", publicName: "isVisible", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.role": "role", "class": "cssClasses" } }, usesInheritance: true, ngImport: i0, template: "<svg class=\"ecl-spinner__loader\" viewBox=\"25 25 50 50\">\n <circle\n class=\"ecl-spinner__circle\"\n cx=\"50\"\n cy=\"50\"\n r=\"20\"\n fill=\"none\"\n stroke-width=\"4px\"\n stroke-miterlimit=\"10\"\n vector-effect=\"non-scaling-stroke\"></circle>\n</svg>\n<ng-content></ng-content>\n" }); }
67
67
  }
68
68
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclLoadingIndicatorComponent, decorators: [{
69
69
  type: Component,
70
- args: [{ selector: 'ecl-loading-indicator', template: "<svg class=\"ecl-spinner__loader\" viewBox=\"25 25 50 50\">\n <circle\n class=\"ecl-spinner__circle\"\n cx=\"50\"\n cy=\"50\"\n r=\"20\"\n fill=\"none\"\n stroke-width=\"4px\"\n stroke-miterlimit=\"10\"\n vector-effect=\"non-scaling-stroke\"></circle>\n</svg>\n<ng-content></ng-content>\n" }]
71
- }], propDecorators: { size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], isCentered: [{ type: i0.Input, args: [{ isSignal: true, alias: "isCentered", required: false }] }], isVisible: [{ type: i0.Input, args: [{ isSignal: true, alias: "isVisible", required: false }] }], role: [{
72
- type: HostBinding,
73
- args: ['attr.role']
74
- }], cssClasses: [{
75
- type: HostBinding,
76
- args: ['class']
77
- }] } });
70
+ args: [{ selector: 'ecl-loading-indicator', host: {
71
+ '[attr.role]': 'role',
72
+ '[class]': 'cssClasses',
73
+ }, template: "<svg class=\"ecl-spinner__loader\" viewBox=\"25 25 50 50\">\n <circle\n class=\"ecl-spinner__circle\"\n cx=\"50\"\n cy=\"50\"\n r=\"20\"\n fill=\"none\"\n stroke-width=\"4px\"\n stroke-miterlimit=\"10\"\n vector-effect=\"non-scaling-stroke\"></circle>\n</svg>\n<ng-content></ng-content>\n" }]
74
+ }], propDecorators: { size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], isCentered: [{ type: i0.Input, args: [{ isSignal: true, alias: "isCentered", required: false }] }], isVisible: [{ type: i0.Input, args: [{ isSignal: true, alias: "isVisible", required: false }] }] } });
78
75
 
79
76
  /**
80
77
  * Directive for styling the label text of an ECL loading indicator.
@@ -89,17 +86,17 @@ class EclLoadingIndicatorLabelDirective {
89
86
  this.className = true;
90
87
  }
91
88
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclLoadingIndicatorLabelDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
92
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.2", type: EclLoadingIndicatorLabelDirective, isStandalone: true, selector: "[eclLoadingIndicatorLabel]", host: { properties: { "class.ecl-spinner__text": "this.className" } }, ngImport: i0 }); }
89
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.2", type: EclLoadingIndicatorLabelDirective, isStandalone: true, selector: "[eclLoadingIndicatorLabel]", host: { properties: { "class.ecl-spinner__text": "className" } }, ngImport: i0 }); }
93
90
  }
94
91
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclLoadingIndicatorLabelDirective, decorators: [{
95
92
  type: Directive,
96
93
  args: [{
97
94
  selector: '[eclLoadingIndicatorLabel]',
95
+ host: {
96
+ '[class.ecl-spinner__text]': 'className',
97
+ },
98
98
  }]
99
- }], propDecorators: { className: [{
100
- type: HostBinding,
101
- args: ['class.ecl-spinner__text']
102
- }] } });
99
+ }] });
103
100
 
104
101
  /**
105
102
  * Directive that adds an overlay layer to an ECL loading indicator.
@@ -114,17 +111,17 @@ class EclLoadingIndicatorOverlayDirective extends ECLBaseDirective {
114
111
  return [super.getCssClasses('ecl-spinner__overlay ecl-spinner__overlay--visible')].join(' ').trim();
115
112
  }
116
113
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclLoadingIndicatorOverlayDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
117
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.2", type: EclLoadingIndicatorOverlayDirective, isStandalone: true, selector: "[eclLoadingIndicatorOverlay]", host: { properties: { "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0 }); }
114
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.2", type: EclLoadingIndicatorOverlayDirective, isStandalone: true, selector: "[eclLoadingIndicatorOverlay]", host: { properties: { "class": "cssClasses" } }, usesInheritance: true, ngImport: i0 }); }
118
115
  }
119
116
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclLoadingIndicatorOverlayDirective, decorators: [{
120
117
  type: Directive,
121
118
  args: [{
122
119
  selector: '[eclLoadingIndicatorOverlay]',
120
+ host: {
121
+ '[class]': 'cssClasses',
122
+ },
123
123
  }]
124
- }], propDecorators: { cssClasses: [{
125
- type: HostBinding,
126
- args: ['class']
127
- }] } });
124
+ }] });
128
125
 
129
126
  const EUI_ECL_LOADING_INDICATOR = [
130
127
  EclLoadingIndicatorComponent,
@@ -1 +1 @@
1
- {"version":3,"file":"eui-ecl-components-ecl-loading-indicator.mjs","sources":["../../components/ecl-loading-indicator/ecl-loading-indicator.component.ts","../../components/ecl-loading-indicator/ecl-loading-indicator.component.html","../../components/ecl-loading-indicator/ecl-loading-indicator-label.directive.ts","../../components/ecl-loading-indicator/ecl-loading-indicator-overlay.directive.ts","../../components/ecl-loading-indicator/index.ts","../../components/ecl-loading-indicator/eui-ecl-components-ecl-loading-indicator.ts"],"sourcesContent":["import { Component, HostBinding, booleanAttribute, input } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Component representing a loading indicator (spinner) using ECL styles.\n *\n * Supports different sizes, color variants, centering and visibility options.\n */\n@Component({\n selector: 'ecl-loading-indicator',\n templateUrl: './ecl-loading-indicator.component.html',\n})\nexport class EclLoadingIndicatorComponent extends ECLBaseDirective {\n /**\n * Size of the spinner.\n *\n * Possible values:\n * - `'s'` – small\n * - `'m'` – medium (default)\n * - `'l'` – large\n */\n readonly size = input<'s' | 'm' | 'l'>('m');\n\n /**\n * Variant of the spinner color.\n *\n * Possible values:\n * - `'primary'` – default appearance\n * - `'inverted'` – used on dark backgrounds\n */\n readonly variant = input<'primary' | 'inverted'>('primary');\n\n /**\n * Controls whether the spinner should be centered.\n *\n * Defaults to `true`.\n */\n readonly isCentered = input(true, { transform: booleanAttribute });\n\n /**\n * Controls visibility of the spinner.\n *\n * When set to `false`, the spinner will be hidden via CSS.\n *\n * Defaults to `true`.\n */\n readonly isVisible = input(true, { transform: booleanAttribute });\n\n /**\n * Applies ARIA role for accessibility.\n */\n @HostBinding('attr.role') role = 'alert';\n\n /**\n * Applies CSS classes based on size, variant and visibility settings.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-spinner'),\n `ecl-spinner--${this.size()}`,\n `ecl-spinner--${this.variant()}`,\n this.isCentered() ? 'ecl-spinner--centered' : '',\n this.isVisible() ? 'ecl-spinner--visible' : '',\n ]\n .join(' ')\n .trim();\n }\n}\n","<svg class=\"ecl-spinner__loader\" viewBox=\"25 25 50 50\">\n <circle\n class=\"ecl-spinner__circle\"\n cx=\"50\"\n cy=\"50\"\n r=\"20\"\n fill=\"none\"\n stroke-width=\"4px\"\n stroke-miterlimit=\"10\"\n vector-effect=\"non-scaling-stroke\"></circle>\n</svg>\n<ng-content></ng-content>\n","import { Directive, HostBinding } from '@angular/core';\n\n/**\n * Directive for styling the label text of an ECL loading indicator.\n *\n * Adds the `ecl-spinner__text` class to the host element.\n */\n@Directive({\n selector: '[eclLoadingIndicatorLabel]',\n})\nexport class EclLoadingIndicatorLabelDirective {\n /**\n * Applies the ECL class for spinner label text.\n */\n @HostBinding('class.ecl-spinner__text') className = true;\n}\n","import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive that adds an overlay layer to an ECL loading indicator.\n *\n * Automatically applies the ECL spinner overlay classes.\n */\n@Directive({\n selector: '[eclLoadingIndicatorOverlay]',\n})\nexport class EclLoadingIndicatorOverlayDirective extends ECLBaseDirective {\n /**\n * Applies the CSS classes for the spinner overlay.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-spinner__overlay ecl-spinner__overlay--visible')].join(' ').trim();\n }\n}\n","import { EclLoadingIndicatorComponent } from './ecl-loading-indicator.component';\nimport { EclLoadingIndicatorLabelDirective } from './ecl-loading-indicator-label.directive';\nimport { EclLoadingIndicatorOverlayDirective } from './ecl-loading-indicator-overlay.directive';\n\nexport * from './ecl-loading-indicator.component';\nexport * from './ecl-loading-indicator-label.directive';\nexport * from './ecl-loading-indicator-overlay.directive';\n\nexport const EUI_ECL_LOADING_INDICATOR = [\n EclLoadingIndicatorComponent,\n EclLoadingIndicatorLabelDirective,\n EclLoadingIndicatorOverlayDirective,\n] as const;\n","/**\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-loading-indicator.mjs","sources":["../../components/ecl-loading-indicator/ecl-loading-indicator.component.ts","../../components/ecl-loading-indicator/ecl-loading-indicator.component.html","../../components/ecl-loading-indicator/ecl-loading-indicator-label.directive.ts","../../components/ecl-loading-indicator/ecl-loading-indicator-overlay.directive.ts","../../components/ecl-loading-indicator/index.ts","../../components/ecl-loading-indicator/eui-ecl-components-ecl-loading-indicator.ts"],"sourcesContent":["import { Component, booleanAttribute, input } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Component representing a loading indicator (spinner) using ECL styles.\n *\n * Supports different sizes, color variants, centering and visibility options.\n */\n@Component({\n selector: 'ecl-loading-indicator',\n templateUrl: './ecl-loading-indicator.component.html',\n host: {\n '[attr.role]': 'role',\n '[class]': 'cssClasses',\n },\n})\nexport class EclLoadingIndicatorComponent extends ECLBaseDirective {\n /**\n * Size of the spinner.\n *\n * Possible values:\n * - `'s'` – small\n * - `'m'` – medium (default)\n * - `'l'` – large\n */\n readonly size = input<'s' | 'm' | 'l'>('m');\n\n /**\n * Variant of the spinner color.\n *\n * Possible values:\n * - `'primary'` – default appearance\n * - `'inverted'` – used on dark backgrounds\n */\n readonly variant = input<'primary' | 'inverted'>('primary');\n\n /**\n * Controls whether the spinner should be centered.\n *\n * Defaults to `true`.\n */\n readonly isCentered = input(true, { transform: booleanAttribute });\n\n /**\n * Controls visibility of the spinner.\n *\n * When set to `false`, the spinner will be hidden via CSS.\n *\n * Defaults to `true`.\n */\n readonly isVisible = input(true, { transform: booleanAttribute });\n\n /**\n * Applies ARIA role for accessibility.\n */\n role = 'alert';\n\n /**\n * Applies CSS classes based on size, variant and visibility settings.\n */\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-spinner'),\n `ecl-spinner--${this.size()}`,\n `ecl-spinner--${this.variant()}`,\n this.isCentered() ? 'ecl-spinner--centered' : '',\n this.isVisible() ? 'ecl-spinner--visible' : '',\n ]\n .join(' ')\n .trim();\n }\n}\n","<svg class=\"ecl-spinner__loader\" viewBox=\"25 25 50 50\">\n <circle\n class=\"ecl-spinner__circle\"\n cx=\"50\"\n cy=\"50\"\n r=\"20\"\n fill=\"none\"\n stroke-width=\"4px\"\n stroke-miterlimit=\"10\"\n vector-effect=\"non-scaling-stroke\"></circle>\n</svg>\n<ng-content></ng-content>\n","import { Directive } from '@angular/core';\n\n/**\n * Directive for styling the label text of an ECL loading indicator.\n *\n * Adds the `ecl-spinner__text` class to the host element.\n */\n@Directive({\n selector: '[eclLoadingIndicatorLabel]',\n host: {\n '[class.ecl-spinner__text]': 'className',\n },\n})\nexport class EclLoadingIndicatorLabelDirective {\n /**\n * Applies the ECL class for spinner label text.\n */\n className = true;\n}\n","import { Directive } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive that adds an overlay layer to an ECL loading indicator.\n *\n * Automatically applies the ECL spinner overlay classes.\n */\n@Directive({\n selector: '[eclLoadingIndicatorOverlay]',\n host: {\n '[class]': 'cssClasses',\n },\n})\nexport class EclLoadingIndicatorOverlayDirective extends ECLBaseDirective {\n /**\n * Applies the CSS classes for the spinner overlay.\n */\n get cssClasses(): string {\n return [super.getCssClasses('ecl-spinner__overlay ecl-spinner__overlay--visible')].join(' ').trim();\n }\n}\n","import { EclLoadingIndicatorComponent } from './ecl-loading-indicator.component';\nimport { EclLoadingIndicatorLabelDirective } from './ecl-loading-indicator-label.directive';\nimport { EclLoadingIndicatorOverlayDirective } from './ecl-loading-indicator-overlay.directive';\n\nexport * from './ecl-loading-indicator.component';\nexport * from './ecl-loading-indicator-label.directive';\nexport * from './ecl-loading-indicator-overlay.directive';\n\nexport const EUI_ECL_LOADING_INDICATOR = [\n EclLoadingIndicatorComponent,\n EclLoadingIndicatorLabelDirective,\n EclLoadingIndicatorOverlayDirective,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}