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

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.
@@ -48539,10 +48539,11 @@
48539
48539
  },
48540
48540
  {
48541
48541
  "name": "EclCategoryFilterComponent",
48542
- "id": "component-EclCategoryFilterComponent-5b7eac139d8923fa53c46d5b5583fa2782b6aeec1e430ed76e544c7450f44542bf6361248fc79f18b6967980ee2d3ccdc6a270eda267961eda26bd4cbbec4dae",
48542
+ "id": "component-EclCategoryFilterComponent-ca0a9a64af386ecfbf3280aae381be951ef493a43f291d38ee699091c309c77aac670db9e4f997d2c6ce8393ba2363c39ce23d978e457d8884b8c95093cdfa6a",
48543
48543
  "file": "packages/ecl/components/ecl-category-filter/ecl-category-filter/ecl-category-filter.component.ts",
48544
48544
  "encapsulation": [],
48545
48545
  "entryComponents": [],
48546
+ "host": {},
48546
48547
  "inputs": [],
48547
48548
  "outputs": [],
48548
48549
  "providers": [],
@@ -48567,7 +48568,7 @@
48567
48568
  "deprecationMessage": "",
48568
48569
  "rawdescription": "\n\nAria-label for the navigation role. Defaults to \"Category filter\".\n",
48569
48570
  "description": "<p>Aria-label for the navigation role. Defaults to &quot;Category filter&quot;.</p>\n",
48570
- "line": 59,
48571
+ "line": 45,
48571
48572
  "type": "string | null",
48572
48573
  "decorators": []
48573
48574
  },
@@ -48581,7 +48582,7 @@
48581
48582
  "indexKey": "",
48582
48583
  "optional": false,
48583
48584
  "description": "<p>ID of the currently selected item. When provided, the item with the matching ID\nwill be marked as current and automatically expanded on initialization.</p>\n",
48584
- "line": 43,
48585
+ "line": 40,
48585
48586
  "rawdescription": "\n\nID of the currently selected item. When provided, the item with the matching ID\nwill be marked as current and automatically expanded on initialization.\n",
48586
48587
  "modifierKind": [
48587
48588
  148
@@ -48634,47 +48635,20 @@
48634
48635
  ],
48635
48636
  "outputsClass": [],
48636
48637
  "propertiesClass": [
48637
- {
48638
- "name": "className",
48639
- "coverageIgnore": false,
48640
- "defaultValue": "true",
48641
- "deprecated": false,
48642
- "deprecationMessage": "",
48643
- "type": "unknown",
48644
- "indexKey": "",
48645
- "optional": false,
48646
- "description": "<p>Static class applied to the host element for styling.\nAlways returns true to include the <code>ecl-category-filter</code> class.</p>\n",
48647
- "line": 49,
48648
- "rawdescription": "\n\nStatic class applied to the host element for styling.\nAlways returns true to include the `ecl-category-filter` class.\n",
48649
- "decorators": [
48650
- {
48651
- "name": "HostBinding",
48652
- "stringifiedArguments": "'class.ecl-category-filter'"
48653
- }
48654
- ],
48655
- "modifierKind": [
48656
- 171
48657
- ]
48658
- },
48659
48638
  {
48660
48639
  "name": "eclCategoryFilterItemsAll",
48661
48640
  "coverageIgnore": false,
48641
+ "defaultValue": "contentChildren<EclCategoryFilterItemComponent>(\n forwardRef(() => EclCategoryFilterItemComponent), { descendants: true }\n )",
48662
48642
  "deprecated": false,
48663
48643
  "deprecationMessage": "",
48664
- "type": "QueryList<EclCategoryFilterItemComponent>",
48644
+ "type": "unknown",
48665
48645
  "indexKey": "",
48666
48646
  "optional": false,
48667
- "description": "",
48668
- "line": 63,
48669
- "rawdescription": "\n",
48670
- "decorators": [
48671
- {
48672
- "name": "ContentChildren",
48673
- "stringifiedArguments": "undefined, {descendants: true}"
48674
- }
48675
- ],
48647
+ "description": "<p>Signal-based query for all descendant category filter items.</p>\n",
48648
+ "line": 52,
48649
+ "rawdescription": "\n\nSignal-based query for all descendant category filter items.\n",
48676
48650
  "modifierKind": [
48677
- 171
48651
+ 148
48678
48652
  ]
48679
48653
  },
48680
48654
  {
@@ -48687,49 +48661,14 @@
48687
48661
  "indexKey": "",
48688
48662
  "optional": false,
48689
48663
  "description": "",
48690
- "line": 61,
48664
+ "line": 47,
48691
48665
  "rawdescription": "\n",
48692
48666
  "modifierKind": [
48693
48667
  148
48694
48668
  ]
48695
- },
48696
- {
48697
- "name": "role",
48698
- "coverageIgnore": false,
48699
- "defaultValue": "'navigation'",
48700
- "deprecated": false,
48701
- "deprecationMessage": "",
48702
- "type": "string",
48703
- "indexKey": "",
48704
- "optional": false,
48705
- "description": "<p>Defines the ARIA role for the host element. Always set to &quot;navigation&quot;.</p>\n",
48706
- "line": 54,
48707
- "rawdescription": "\n\nDefines the ARIA role for the host element. Always set to \"navigation\".\n",
48708
- "decorators": [
48709
- {
48710
- "name": "HostBinding",
48711
- "stringifiedArguments": "'attr.role'"
48712
- }
48713
- ],
48714
- "modifierKind": [
48715
- 171
48716
- ]
48717
48669
  }
48718
48670
  ],
48719
48671
  "methodsClass": [
48720
- {
48721
- "name": "ngAfterContentInit",
48722
- "coverageIgnore": false,
48723
- "args": [],
48724
- "optional": false,
48725
- "returnType": "void",
48726
- "typeParameters": [],
48727
- "line": 70,
48728
- "deprecated": false,
48729
- "deprecationMessage": "",
48730
- "rawdescription": "\n",
48731
- "description": ""
48732
- },
48733
48672
  {
48734
48673
  "name": "ngOnDestroy",
48735
48674
  "coverageIgnore": false,
@@ -48737,7 +48676,7 @@
48737
48676
  "optional": false,
48738
48677
  "returnType": "void",
48739
48678
  "typeParameters": [],
48740
- "line": 86,
48679
+ "line": 83,
48741
48680
  "deprecated": false,
48742
48681
  "deprecationMessage": "",
48743
48682
  "rawdescription": "\n",
@@ -48785,49 +48724,30 @@
48785
48724
  "coverageIgnore": false,
48786
48725
  "deprecated": false,
48787
48726
  "deprecationMessage": "",
48788
- "hostBindings": [
48789
- {
48790
- "coverageIgnore": false,
48791
- "name": "attr.role",
48792
- "actualName": "role",
48793
- "defaultValue": "'navigation'",
48794
- "deprecated": false,
48795
- "deprecationMessage": "",
48796
- "rawdescription": "\n\nDefines the ARIA role for the host element. Always set to \"navigation\".\n",
48797
- "description": "<p>Defines the ARIA role for the host element. Always set to &quot;navigation&quot;.</p>\n",
48798
- "line": 54,
48799
- "type": "string",
48800
- "decorators": []
48801
- },
48802
- {
48803
- "coverageIgnore": false,
48804
- "name": "class.ecl-category-filter",
48805
- "actualName": "className",
48806
- "defaultValue": "true",
48807
- "deprecated": false,
48808
- "deprecationMessage": "",
48809
- "rawdescription": "\n\nStatic class applied to the host element for styling.\nAlways returns true to include the `ecl-category-filter` class.\n",
48810
- "description": "<p>Static class applied to the host element for styling.\nAlways returns true to include the <code>ecl-category-filter</code> class.</p>\n",
48811
- "line": 49,
48812
- "type": "boolean",
48813
- "decorators": []
48814
- }
48815
- ],
48727
+ "hostBindings": [],
48816
48728
  "hostListeners": [],
48817
48729
  "standalone": false,
48818
48730
  "imports": [],
48819
48731
  "description": "",
48820
48732
  "rawdescription": "\n",
48821
48733
  "type": "component",
48822
- "sourceCode": "import {\n Component,\n ContentChildren,\n forwardRef,\n HostBinding,\n IterableDiffer,\n IterableDiffers,\n QueryList,\n Input,\n DoCheck,\n AfterContentInit,\n inject,\n Injector,\n ChangeDetectorRef,\n afterNextRender,\n OnDestroy,\n input,\n contentChild,\n} from '@angular/core';\nimport { startWith, Subject, takeUntil } from 'rxjs';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclCategoryFilterItem } from '../models/ecl-category-filter-item.model';\nimport { EclCategoryFilterItemSelectEvent } from '../events/ecl-category-filter-item-select.event';\nimport { EclCategoryFilterItemComponent } from '../ecl-category-filter-list';\nimport { EclCategoryFilterListComponent } from '../ecl-category-filter-list';\n\n@Component({\n selector: 'ecl-category-filter',\n templateUrl: './ecl-category-filter.component.html',\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclCategoryFilterComponent extends ECLBaseDirective implements AfterContentInit, OnDestroy {\n /**\n * ID of the currently selected item. When provided, the item with the matching ID\n * will be marked as current and automatically expanded on initialization.\n */\n readonly currentItemId = input<string>(undefined);\n\n /**\n * Static class applied to the host element for styling.\n * Always returns true to include the `ecl-category-filter` class.\n */\n @HostBinding('class.ecl-category-filter') className = true;\n\n /**\n * Defines the ARIA role for the host element. Always set to \"navigation\".\n */\n @HostBinding('attr.role') role = 'navigation';\n\n /**\n * Aria-label for the navigation role. Defaults to \"Category filter\".\n */\n @HostBinding('attr.aria-label') @Input('aria-label') ariaLabel: string | null = 'Category filter';\n\n readonly eclCategoryList = contentChild(forwardRef(() => EclCategoryFilterListComponent));\n @ContentChildren(forwardRef(() => EclCategoryFilterItemComponent), { descendants: true })\n eclCategoryFilterItemsAll: QueryList<EclCategoryFilterItemComponent>;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private readonly cdr = inject(ChangeDetectorRef);\n private readonly injector = inject(Injector);\n private readonly initializedItems = new WeakSet<EclCategoryFilterItemComponent>();\n\n ngAfterContentInit(): void {\n this.eclCategoryFilterItemsAll.changes\n .pipe(\n startWith(this.eclCategoryFilterItemsAll),\n takeUntil(this.destroy$)\n )\n .subscribe((items: QueryList<EclCategoryFilterItemComponent>) => {\n for (const item of items.toArray()) {\n this.connectCategoryfilterItemEventsOnce(item);\n }\n\n this.scheduleLevelUpdate();\n });\n this.setId(this.eclCategoryList().eclCategoryFilterItems());\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n private connectCategoryfilterItemEventsOnce(item: EclCategoryFilterItemComponent): void {\n if (this.initializedItems.has(item)) return;\n\n this.initializedItems.add(item);\n this.connectCategoryfilterItemEvents(item);\n }\n\n private scheduleLevelUpdate(): void {\n\n afterNextRender(() => {\n\n this.eclCategoryList().updateChildrenItemsLevel(0);\n\n if (this.currentItemId() !== undefined) {\n this.setPreselectedCurrentItem();\n }\n\n this.cdr.markForCheck();\n }, { injector: this.injector });\n }\n\n private setId(subList: QueryList<EclCategoryFilterItemComponent>): void {\n if (subList) {\n subList.forEach((item) => {\n if (!item.id) {\n item.id = crypto.randomUUID();\n }\n const eclCategoryList = item.eclCategoryList();\n if (eclCategoryList) {\n eclCategoryList.controls = item.id;\n this.setId(eclCategoryList.eclCategoryFilterItems());\n }\n });\n }\n }\n\n private connectCategoryfilterItemEvents(item: EclCategoryFilterItemComponent): void {\n item.itemSelect.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.onItemSelected(evt);\n });\n }\n\n private onItemSelected(evt: EclCategoryFilterItemSelectEvent): void {\n if (evt.item.isRootItem) {\n this.closeAllItemsButOne(evt.item);\n } else {\n this.deselectAllItemsButOne(evt.item);\n }\n }\n\n private setPreselectedCurrentItem(): void {\n const currItem = this.eclCategoryFilterItemsAll.toArray().find((item) => item.id === this.currentItemId());\n if (currItem) {\n currItem.isCurrent = true;\n if (currItem.hasChildren) {\n currItem.isExpanded = true;\n }\n this.expandParents(currItem);\n }\n }\n\n private expandParents(currItem: EclCategoryFilterItem): void {\n if (currItem.isRootItem) {\n return;\n } else {\n const parent = this.eclCategoryFilterItemsAll.find(\n (item) => item.hasChildren && item.children.find((child) => child.id === currItem.id) !== undefined,\n );\n parent.isExpanded = true;\n this.expandParents(parent);\n }\n }\n\n private closeAllItemsButOne(item: EclCategoryFilterItem): void {\n this.eclCategoryFilterItemsAll\n .filter((it) => it !== item)\n .forEach((it) => {\n it.isExpanded = false;\n it.isCurrent = false;\n });\n }\n\n private deselectAllItemsButOne(item: EclCategoryFilterItem): void {\n this.eclCategoryFilterItemsAll\n .filter((it) => it !== item)\n .forEach((it) => {\n it.isCurrent = false;\n });\n }\n}\n",
48734
+ "sourceCode": "import {\n Component,\n forwardRef,\n Input,\n OnDestroy,\n input,\n contentChild,\n contentChildren,\n effect,\n untracked,\n} from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclCategoryFilterItem } from '../models/ecl-category-filter-item.model';\nimport { EclCategoryFilterItemSelectEvent } from '../events/ecl-category-filter-item-select.event';\nimport { EclCategoryFilterItemComponent } from '../ecl-category-filter-list';\nimport { EclCategoryFilterListComponent } from '../ecl-category-filter-list';\n\n@Component({\n selector: 'ecl-category-filter',\n templateUrl: './ecl-category-filter.component.html',\n host: {\n 'class': 'ecl-category-filter',\n 'role': 'navigation',\n '[attr.aria-label]': 'ariaLabel',\n },\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclCategoryFilterComponent extends ECLBaseDirective implements OnDestroy {\n /**\n * ID of the currently selected item. When provided, the item with the matching ID\n * will be marked as current and automatically expanded on initialization.\n */\n readonly currentItemId = input<string>(undefined);\n\n /**\n * Aria-label for the navigation role. Defaults to \"Category filter\".\n */\n @Input('aria-label') ariaLabel: string | null = 'Category filter';\n\n readonly eclCategoryList = contentChild(forwardRef(() => EclCategoryFilterListComponent));\n\n /**\n * Signal-based query for all descendant category filter items.\n */\n readonly eclCategoryFilterItemsAll = contentChildren<EclCategoryFilterItemComponent>(\n forwardRef(() => EclCategoryFilterItemComponent), { descendants: true }\n );\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private readonly initializedItems = new WeakSet<EclCategoryFilterItemComponent>();\n\n constructor() {\n super();\n\n // Reacts to item changes and performs all setup:\n // - subscribes to itemSelect events (guarded by WeakSet)\n // - assigns IDs where missing\n // - propagates levels through the tree\n // - handles preselection of currentItemId\n effect(() => {\n const items = this.eclCategoryFilterItemsAll();\n untracked(() => {\n for (const item of items) {\n this.connectCategoryfilterItemEventsOnce(item);\n }\n this.setIds(items);\n this.eclCategoryList().updateChildrenItemsLevel(0);\n\n if (this.currentItemId() !== undefined) {\n this.setPreselectedCurrentItem();\n }\n });\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n private connectCategoryfilterItemEventsOnce(item: EclCategoryFilterItemComponent): void {\n if (this.initializedItems.has(item)) return;\n\n this.initializedItems.add(item);\n this.connectCategoryfilterItemEvents(item);\n }\n\n private setIds(items: readonly EclCategoryFilterItemComponent[]): void {\n for (const item of items) {\n if (!item.id) {\n item.id = crypto.randomUUID();\n }\n const eclCategoryList = item.eclCategoryList();\n if (eclCategoryList && !eclCategoryList.id) {\n eclCategoryList.id = `${item.id}-list`;\n }\n }\n }\n\n private connectCategoryfilterItemEvents(item: EclCategoryFilterItemComponent): void {\n item.itemSelect.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.onItemSelected(evt);\n });\n }\n\n private onItemSelected(evt: EclCategoryFilterItemSelectEvent): void {\n if (evt.item.isRootItem) {\n this.closeAllItemsButOne(evt.item);\n } else {\n this.deselectAllItemsButOne(evt.item);\n }\n }\n\n private setPreselectedCurrentItem(): void {\n const items = this.eclCategoryFilterItemsAll();\n const currItem = items.find((item) => item.id === this.currentItemId());\n if (currItem) {\n currItem.isCurrent = true;\n if (currItem.hasChildren) {\n currItem.isExpanded = true;\n }\n this.expandParents(currItem);\n }\n }\n\n private expandParents(currItem: EclCategoryFilterItem): void {\n if (currItem.isRootItem) {\n return;\n }\n const items = this.eclCategoryFilterItemsAll();\n const parent = items.find(\n (item) => item.hasChildren && item.children.find((child) => child.id === currItem.id) !== undefined,\n );\n if (parent) {\n parent.isExpanded = true;\n this.expandParents(parent);\n }\n }\n\n private closeAllItemsButOne(item: EclCategoryFilterItem): void {\n const items = this.eclCategoryFilterItemsAll();\n for (const it of items) {\n if (it !== item) {\n it.isExpanded = false;\n it.isCurrent = false;\n }\n }\n }\n\n private deselectAllItemsButOne(item: EclCategoryFilterItem): void {\n const items = this.eclCategoryFilterItemsAll();\n for (const it of items) {\n if (it !== item) {\n it.isCurrent = false;\n }\n }\n }\n}\n",
48823
48735
  "assetsDirs": [],
48824
48736
  "styleUrlsData": "",
48825
48737
  "stylesData": "\n :host {\n display: block;\n }\n \n",
48738
+ "constructorObj": {
48739
+ "name": "constructor",
48740
+ "description": "",
48741
+ "deprecated": false,
48742
+ "deprecationMessage": "",
48743
+ "args": [],
48744
+ "line": 57,
48745
+ "rawdescription": "\n"
48746
+ },
48826
48747
  "extends": [
48827
48748
  "ECLBaseDirective"
48828
48749
  ],
48829
48750
  "implements": [
48830
- "AfterContentInit",
48831
48751
  "OnDestroy"
48832
48752
  ],
48833
48753
  "relationships": {
@@ -48837,10 +48757,6 @@
48837
48757
  "name": "ECLBaseDirective",
48838
48758
  "type": "directive"
48839
48759
  },
48840
- {
48841
- "name": "AfterContentInit",
48842
- "type": "interface"
48843
- },
48844
48760
  {
48845
48761
  "name": "OnDestroy",
48846
48762
  "type": "interface"
@@ -48851,10 +48767,11 @@
48851
48767
  },
48852
48768
  {
48853
48769
  "name": "EclCategoryFilterItemComponent",
48854
- "id": "component-EclCategoryFilterItemComponent-58b8f1bef20fecdab2f5060f73e05e8e23de171c5f8e53e4338c1a327c63013f379b3f1469177936743d5eca3d256619d2fb91bb19de5af3ac14e11fa9ddef5d",
48770
+ "id": "component-EclCategoryFilterItemComponent-e199e1e36f1fa13ca6feb60bd9cd525f32e1a111b823be0322e4a8248c5dfb018d962a372453158fbb664d57d3880230772a432fcda0fa951926cf6e58583754",
48855
48771
  "file": "packages/ecl/components/ecl-category-filter/ecl-category-filter-list/ecl-category-filter-item.component.ts",
48856
48772
  "encapsulation": [],
48857
48773
  "entryComponents": [],
48774
+ "host": {},
48858
48775
  "inputs": [],
48859
48776
  "outputs": [],
48860
48777
  "providers": [],
@@ -48875,7 +48792,7 @@
48875
48792
  "deprecationMessage": "",
48876
48793
  "rawdescription": "\n\nUnique identifier for the item. Used to manage selection state.\n",
48877
48794
  "description": "<p>Unique identifier for the item. Used to manage selection state.</p>\n",
48878
- "line": 27,
48795
+ "line": 32,
48879
48796
  "type": "string",
48880
48797
  "decorators": []
48881
48798
  },
@@ -48889,7 +48806,7 @@
48889
48806
  "indexKey": "",
48890
48807
  "optional": false,
48891
48808
  "description": "<p>Link URL associated with this category filter item.\nIf not provided, the item acts as a toggle only.</p>\n",
48892
- "line": 22,
48809
+ "line": 27,
48893
48810
  "rawdescription": "\n\nLink URL associated with this category filter item.\nIf not provided, the item acts as a toggle only.\n",
48894
48811
  "modifierKind": [
48895
48812
  148
@@ -48949,33 +48866,11 @@
48949
48866
  "deprecationMessage": "",
48950
48867
  "rawdescription": "\n\nEmits when the item is selected by the user (clicked).\n",
48951
48868
  "description": "<p>Emits when the item is selected by the user (clicked).</p>\n",
48952
- "line": 32,
48869
+ "line": 37,
48953
48870
  "type": "EventEmitter"
48954
48871
  }
48955
48872
  ],
48956
48873
  "propertiesClass": [
48957
- {
48958
- "name": "className",
48959
- "coverageIgnore": false,
48960
- "defaultValue": "true",
48961
- "deprecated": false,
48962
- "deprecationMessage": "",
48963
- "type": "unknown",
48964
- "indexKey": "",
48965
- "optional": false,
48966
- "description": "<p>Static class binding for base list item styling.</p>\n",
48967
- "line": 37,
48968
- "rawdescription": "\n\nStatic class binding for base list item styling.\n",
48969
- "decorators": [
48970
- {
48971
- "name": "HostBinding",
48972
- "stringifiedArguments": "'class.ecl-category-filter__list-item'"
48973
- }
48974
- ],
48975
- "modifierKind": [
48976
- 171
48977
- ]
48978
- },
48979
48874
  {
48980
48875
  "name": "eclCategoryList",
48981
48876
  "coverageIgnore": false,
@@ -48986,59 +48881,11 @@
48986
48881
  "indexKey": "",
48987
48882
  "optional": false,
48988
48883
  "description": "<p>Child list component if the item has nested children.</p>\n",
48989
- "line": 65,
48884
+ "line": 66,
48990
48885
  "rawdescription": "\n\nChild list component if the item has nested children.\n",
48991
48886
  "modifierKind": [
48992
48887
  148
48993
48888
  ]
48994
- },
48995
- {
48996
- "name": "isCurrent",
48997
- "coverageIgnore": false,
48998
- "defaultValue": "false",
48999
- "deprecated": false,
49000
- "deprecationMessage": "",
49001
- "type": "unknown",
49002
- "indexKey": "",
49003
- "optional": false,
49004
- "description": "<p>Indicates whether the item is currently selected.</p>\n",
49005
- "line": 60,
49006
- "rawdescription": "\n\nIndicates whether the item is currently selected.\n"
49007
- },
49008
- {
49009
- "name": "isExpanded",
49010
- "coverageIgnore": false,
49011
- "defaultValue": "false",
49012
- "deprecated": false,
49013
- "deprecationMessage": "",
49014
- "type": "unknown",
49015
- "indexKey": "",
49016
- "optional": false,
49017
- "description": "<p>Indicates whether the item is currently expanded (open).</p>\n",
49018
- "line": 55,
49019
- "rawdescription": "\n\nIndicates whether the item is currently expanded (open).\n"
49020
- },
49021
- {
49022
- "name": "role",
49023
- "coverageIgnore": false,
49024
- "defaultValue": "'listitem'",
49025
- "deprecated": false,
49026
- "deprecationMessage": "",
49027
- "type": "string",
49028
- "indexKey": "",
49029
- "optional": false,
49030
- "description": "<p>Defines the ARIA role for the list item. Always set to &quot;listitem&quot;.</p>\n",
49031
- "line": 42,
49032
- "rawdescription": "\n\nDefines the ARIA role for the list item. Always set to \"listitem\".\n",
49033
- "decorators": [
49034
- {
49035
- "name": "HostBinding",
49036
- "stringifiedArguments": "'attr.role'"
49037
- }
49038
- ],
49039
- "modifierKind": [
49040
- 171
49041
- ]
49042
48889
  }
49043
48890
  ],
49044
48891
  "methodsClass": [
@@ -49058,7 +48905,7 @@
49058
48905
  "optional": false,
49059
48906
  "returnType": "void",
49060
48907
  "typeParameters": [],
49061
- "line": 129,
48908
+ "line": 130,
49062
48909
  "deprecated": false,
49063
48910
  "deprecationMessage": "",
49064
48911
  "rawdescription": "\n\nHandles user click interaction, updates state and emits selection event.\nPrevents navigation if no `href` is defined.\n",
@@ -49119,46 +48966,7 @@
49119
48966
  "coverageIgnore": false,
49120
48967
  "deprecated": false,
49121
48968
  "deprecationMessage": "",
49122
- "hostBindings": [
49123
- {
49124
- "coverageIgnore": false,
49125
- "name": "attr.role",
49126
- "actualName": "role",
49127
- "defaultValue": "'listitem'",
49128
- "deprecated": false,
49129
- "deprecationMessage": "",
49130
- "rawdescription": "\n\nDefines the ARIA role for the list item. Always set to \"listitem\".\n",
49131
- "description": "<p>Defines the ARIA role for the list item. Always set to &quot;listitem&quot;.</p>\n",
49132
- "line": 42,
49133
- "type": "string",
49134
- "decorators": []
49135
- },
49136
- {
49137
- "coverageIgnore": false,
49138
- "name": "class.ecl-category-filter__list-item",
49139
- "actualName": "className",
49140
- "defaultValue": "true",
49141
- "deprecated": false,
49142
- "deprecationMessage": "",
49143
- "rawdescription": "\n\nStatic class binding for base list item styling.\n",
49144
- "description": "<p>Static class binding for base list item styling.</p>\n",
49145
- "line": 37,
49146
- "type": "boolean",
49147
- "decorators": []
49148
- },
49149
- {
49150
- "coverageIgnore": false,
49151
- "name": "class.ecl-category-filter__list-item--open",
49152
- "actualName": "isAriaExpanded",
49153
- "deprecated": false,
49154
- "deprecationMessage": "",
49155
- "rawdescription": "\n\nIndicates whether the item is expanded. Applied only if the item has children.\n",
49156
- "description": "<p>Indicates whether the item is expanded. Applied only if the item has children.</p>\n",
49157
- "line": 48,
49158
- "type": "boolean",
49159
- "decorators": []
49160
- }
49161
- ],
48969
+ "hostBindings": [],
49162
48970
  "hostListeners": [],
49163
48971
  "standalone": false,
49164
48972
  "imports": [
@@ -49172,7 +48980,7 @@
49172
48980
  "description": "",
49173
48981
  "rawdescription": "\n",
49174
48982
  "type": "component",
49175
- "sourceCode": "import { Component, EventEmitter, forwardRef, HostBinding, Input, Output, input, contentChild } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclCategoryFilterItem } from '../models/ecl-category-filter-item.model';\nimport { EclCategoryFilterItemSelectEvent } from '../events/ecl-category-filter-item-select.event';\nimport { EclCategoryFilterListComponent } from './ecl-category-filter-list.component';\nimport { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';\nimport { NgTemplateOutlet } from '@angular/common';\n\n@Component({\n selector: 'ecl-category-filter-item',\n templateUrl: './ecl-category-filter-item.component.html',\n imports: [\n NgTemplateOutlet,\n ...EUI_ECL_ICON,\n ],\n})\nexport class EclCategoryFilterItemComponent extends ECLBaseDirective implements EclCategoryFilterItem {\n /**\n * Link URL associated with this category filter item.\n * If not provided, the item acts as a toggle only.\n */\n readonly href = input<string>(undefined);\n\n /**\n * Unique identifier for the item. Used to manage selection state.\n */\n @Input() id: string;\n\n /**\n * Emits when the item is selected by the user (clicked).\n */\n @Output() itemSelect = new EventEmitter<EclCategoryFilterItemSelectEvent>();\n\n /**\n * Static class binding for base list item styling.\n */\n @HostBinding('class.ecl-category-filter__list-item') className = true;\n\n /**\n * Defines the ARIA role for the list item. Always set to \"listitem\".\n */\n @HostBinding('attr.role') role = 'listitem';\n\n /**\n * Indicates whether the item is expanded. Applied only if the item has children.\n */\n @HostBinding('class.ecl-category-filter__list-item--open')\n get isAriaExpanded(): boolean {\n return this.hasChildren ? this.isExpanded : null;\n }\n\n /**\n * Indicates whether the item is currently expanded (open).\n */\n isExpanded = false;\n\n /**\n * Indicates whether the item is currently selected.\n */\n isCurrent = false;\n\n /**\n * Child list component if the item has nested children.\n */\n readonly eclCategoryList = contentChild(forwardRef(() => EclCategoryFilterListComponent));\n\n /**\n * Returns the hierarchical level of the item within the tree.\n */\n get level(): number {\n return this._level;\n }\n\n /**\n * Sets the level and updates the level of the child list accordingly.\n */\n set level(value: number) {\n this._level = ++value;\n this.updateChildListLevel(this._level);\n }\n private _level: number;\n\n /**\n * Returns the CSS class for the current level of the item.\n */\n get levelClass(): string {\n return `ecl-category-filter__item--level-${this._level}`;\n }\n\n /**\n * Indicates whether the item has child elements.\n */\n get hasChildren(): boolean {\n return this.eclCategoryList() !== undefined;\n }\n\n /**\n * Returns the child components of this item, if any.\n */\n get children(): readonly EclCategoryFilterItemComponent[] {\n return this.eclCategoryList().children;\n }\n\n /**\n * Returns true if this is a root-level item and has children.\n */\n get isRootItemWithChildren(): boolean {\n return this.hasChildren && this.isRootItem;\n }\n\n /**\n * Returns true if this is a child item and has its own children.\n */\n get isChildItemWithChildren(): boolean {\n return this.hasChildren && !this.isRootItem;\n }\n\n /**\n * Returns true if this is a root-level item (level === 1).\n */\n get isRootItem(): boolean {\n return this.level === 1;\n }\n\n /**\n * Handles user click interaction, updates state and emits selection event.\n * Prevents navigation if no `href` is defined.\n */\n onItemClick(evt: MouseEvent): void {\n this.toggleExpanded();\n this.isCurrent = true;\n this.itemSelect.next(new EclCategoryFilterItemSelectEvent(this));\n if (!this.href()) {\n evt.preventDefault();\n }\n evt.stopPropagation();\n }\n\n private toggleExpanded(): void {\n this.isExpanded = !this.isExpanded;\n }\n\n private updateChildListLevel(value: number): void {\n const eclCategoryList = this.eclCategoryList();\n if (eclCategoryList) {\n eclCategoryList.level = value;\n }\n }\n}\n",
48983
+ "sourceCode": "import { Component, EventEmitter, forwardRef, Input, Output, input, contentChild, signal } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclCategoryFilterItem } from '../models/ecl-category-filter-item.model';\nimport { EclCategoryFilterItemSelectEvent } from '../events/ecl-category-filter-item-select.event';\nimport { EclCategoryFilterListComponent } from './ecl-category-filter-list.component';\nimport { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';\nimport { NgTemplateOutlet } from '@angular/common';\n\n@Component({\n selector: 'ecl-category-filter-item',\n templateUrl: './ecl-category-filter-item.component.html',\n imports: [\n NgTemplateOutlet,\n ...EUI_ECL_ICON,\n ],\n host: {\n 'class': 'ecl-category-filter__list-item',\n 'role': 'listitem',\n '[class.ecl-category-filter__list-item--open]': 'hasChildren ? isExpanded : null',\n },\n})\nexport class EclCategoryFilterItemComponent extends ECLBaseDirective implements EclCategoryFilterItem {\n /**\n * Link URL associated with this category filter item.\n * If not provided, the item acts as a toggle only.\n */\n readonly href = input<string>(undefined);\n\n /**\n * Unique identifier for the item. Used to manage selection state.\n */\n @Input() id: string;\n\n /**\n * Emits when the item is selected by the user (clicked).\n */\n @Output() itemSelect = new EventEmitter<EclCategoryFilterItemSelectEvent>();\n\n /**\n * Whether the item is currently expanded (open).\n * Backed by a signal so that parent mutations trigger template updates.\n */\n get isExpanded(): boolean {\n return this._isExpanded();\n }\n set isExpanded(value: boolean) {\n this._isExpanded.set(value);\n }\n private readonly _isExpanded = signal(false);\n\n /**\n * Whether the item is currently selected.\n * Backed by a signal so that parent mutations trigger template updates.\n */\n get isCurrent(): boolean {\n return this._isCurrent();\n }\n set isCurrent(value: boolean) {\n this._isCurrent.set(value);\n }\n private readonly _isCurrent = signal(false);\n\n /**\n * Child list component if the item has nested children.\n */\n readonly eclCategoryList = contentChild(forwardRef(() => EclCategoryFilterListComponent));\n\n /**\n * Returns the hierarchical level of the item within the tree.\n */\n get level(): number {\n return this._level;\n }\n\n /**\n * Sets the level and updates the level of the child list accordingly.\n */\n set level(value: number) {\n this._level = ++value;\n this.updateChildListLevel(this._level);\n }\n private _level: number;\n\n /**\n * Returns the CSS class for the current level of the item.\n */\n get levelClass(): string {\n return `ecl-category-filter__item--level-${this._level}`;\n }\n\n /**\n * Indicates whether the item has child elements.\n */\n get hasChildren(): boolean {\n return this.eclCategoryList() !== undefined;\n }\n\n /**\n * Returns the child components of this item, if any.\n */\n get children(): readonly EclCategoryFilterItemComponent[] {\n return this.eclCategoryList().children;\n }\n\n /**\n * Returns true if this is a root-level item and has children.\n */\n get isRootItemWithChildren(): boolean {\n return this.hasChildren && this.isRootItem;\n }\n\n /**\n * Returns true if this is a child item and has its own children.\n */\n get isChildItemWithChildren(): boolean {\n return this.hasChildren && !this.isRootItem;\n }\n\n /**\n * Returns true if this is a root-level item (level === 1).\n */\n get isRootItem(): boolean {\n return this.level === 1;\n }\n\n /**\n * Handles user click interaction, updates state and emits selection event.\n * Prevents navigation if no `href` is defined.\n */\n onItemClick(evt: MouseEvent): void {\n this.isExpanded = !this.isExpanded;\n this.isCurrent = true;\n this.itemSelect.next(new EclCategoryFilterItemSelectEvent(this));\n if (!this.href()) {\n evt.preventDefault();\n }\n evt.stopPropagation();\n }\n\n private updateChildListLevel(value: number): void {\n const eclCategoryList = this.eclCategoryList();\n if (eclCategoryList) {\n eclCategoryList.level = value;\n }\n }\n}\n",
49176
48984
  "assetsDirs": [],
49177
48985
  "styleUrlsData": "",
49178
48986
  "stylesData": "",
@@ -49183,15 +48991,92 @@
49183
48991
  "EclCategoryFilterItem"
49184
48992
  ],
49185
48993
  "accessors": {
49186
- "isAriaExpanded": {
49187
- "name": "isAriaExpanded",
48994
+ "isExpanded": {
48995
+ "name": "isExpanded",
48996
+ "setSignature": {
48997
+ "name": "isExpanded",
48998
+ "type": "void",
48999
+ "deprecated": false,
49000
+ "deprecationMessage": "",
49001
+ "args": [
49002
+ {
49003
+ "name": "value",
49004
+ "type": "boolean",
49005
+ "optional": false,
49006
+ "dotDotDotToken": false,
49007
+ "deprecated": false,
49008
+ "deprecationMessage": ""
49009
+ }
49010
+ ],
49011
+ "returnType": "void",
49012
+ "line": 46,
49013
+ "rawdescription": "\n",
49014
+ "description": "",
49015
+ "jsdoctags": [
49016
+ {
49017
+ "name": "value",
49018
+ "type": "boolean",
49019
+ "optional": false,
49020
+ "dotDotDotToken": false,
49021
+ "deprecated": false,
49022
+ "deprecationMessage": "",
49023
+ "tagName": {
49024
+ "text": "param"
49025
+ }
49026
+ }
49027
+ ]
49028
+ },
49188
49029
  "getSignature": {
49189
- "name": "isAriaExpanded",
49030
+ "name": "isExpanded",
49190
49031
  "type": "boolean",
49191
49032
  "returnType": "boolean",
49192
- "line": 48,
49193
- "rawdescription": "\n\nIndicates whether the item is expanded. Applied only if the item has children.\n",
49194
- "description": "<p>Indicates whether the item is expanded. Applied only if the item has children.</p>\n"
49033
+ "line": 43,
49034
+ "rawdescription": "\n\nWhether the item is currently expanded (open).\nBacked by a signal so that parent mutations trigger template updates.\n",
49035
+ "description": "<p>Whether the item is currently expanded (open).\nBacked by a signal so that parent mutations trigger template updates.</p>\n"
49036
+ }
49037
+ },
49038
+ "isCurrent": {
49039
+ "name": "isCurrent",
49040
+ "setSignature": {
49041
+ "name": "isCurrent",
49042
+ "type": "void",
49043
+ "deprecated": false,
49044
+ "deprecationMessage": "",
49045
+ "args": [
49046
+ {
49047
+ "name": "value",
49048
+ "type": "boolean",
49049
+ "optional": false,
49050
+ "dotDotDotToken": false,
49051
+ "deprecated": false,
49052
+ "deprecationMessage": ""
49053
+ }
49054
+ ],
49055
+ "returnType": "void",
49056
+ "line": 58,
49057
+ "rawdescription": "\n",
49058
+ "description": "",
49059
+ "jsdoctags": [
49060
+ {
49061
+ "name": "value",
49062
+ "type": "boolean",
49063
+ "optional": false,
49064
+ "dotDotDotToken": false,
49065
+ "deprecated": false,
49066
+ "deprecationMessage": "",
49067
+ "tagName": {
49068
+ "text": "param"
49069
+ }
49070
+ }
49071
+ ]
49072
+ },
49073
+ "getSignature": {
49074
+ "name": "isCurrent",
49075
+ "type": "boolean",
49076
+ "returnType": "boolean",
49077
+ "line": 55,
49078
+ "rawdescription": "\n\nWhether the item is currently selected.\nBacked by a signal so that parent mutations trigger template updates.\n",
49079
+ "description": "<p>Whether the item is currently selected.\nBacked by a signal so that parent mutations trigger template updates.</p>\n"
49195
49080
  }
49196
49081
  },
49197
49082
  "level": {
@@ -49212,7 +49097,7 @@
49212
49097
  }
49213
49098
  ],
49214
49099
  "returnType": "void",
49215
- "line": 77,
49100
+ "line": 78,
49216
49101
  "rawdescription": "\n\nSets the level and updates the level of the child list accordingly.\n",
49217
49102
  "description": "<p>Sets the level and updates the level of the child list accordingly.</p>\n",
49218
49103
  "jsdoctags": [
@@ -49233,7 +49118,7 @@
49233
49118
  "name": "level",
49234
49119
  "type": "number",
49235
49120
  "returnType": "number",
49236
- "line": 70,
49121
+ "line": 71,
49237
49122
  "rawdescription": "\n\nReturns the hierarchical level of the item within the tree.\n",
49238
49123
  "description": "<p>Returns the hierarchical level of the item within the tree.</p>\n"
49239
49124
  }
@@ -49244,7 +49129,7 @@
49244
49129
  "name": "levelClass",
49245
49130
  "type": "string",
49246
49131
  "returnType": "string",
49247
- "line": 86,
49132
+ "line": 87,
49248
49133
  "rawdescription": "\n\nReturns the CSS class for the current level of the item.\n",
49249
49134
  "description": "<p>Returns the CSS class for the current level of the item.</p>\n"
49250
49135
  }
@@ -49255,7 +49140,7 @@
49255
49140
  "name": "hasChildren",
49256
49141
  "type": "boolean",
49257
49142
  "returnType": "boolean",
49258
- "line": 93,
49143
+ "line": 94,
49259
49144
  "rawdescription": "\n\nIndicates whether the item has child elements.\n",
49260
49145
  "description": "<p>Indicates whether the item has child elements.</p>\n"
49261
49146
  }
@@ -49266,7 +49151,7 @@
49266
49151
  "name": "children",
49267
49152
  "type": "unknown",
49268
49153
  "returnType": "readonly EclCategoryFilterItemComponent[]",
49269
- "line": 100,
49154
+ "line": 101,
49270
49155
  "rawdescription": "\n\nReturns the child components of this item, if any.\n",
49271
49156
  "description": "<p>Returns the child components of this item, if any.</p>\n"
49272
49157
  }
@@ -49277,7 +49162,7 @@
49277
49162
  "name": "isRootItemWithChildren",
49278
49163
  "type": "boolean",
49279
49164
  "returnType": "boolean",
49280
- "line": 107,
49165
+ "line": 108,
49281
49166
  "rawdescription": "\n\nReturns true if this is a root-level item and has children.\n",
49282
49167
  "description": "<p>Returns true if this is a root-level item and has children.</p>\n"
49283
49168
  }
@@ -49288,7 +49173,7 @@
49288
49173
  "name": "isChildItemWithChildren",
49289
49174
  "type": "boolean",
49290
49175
  "returnType": "boolean",
49291
- "line": 114,
49176
+ "line": 115,
49292
49177
  "rawdescription": "\n\nReturns true if this is a child item and has its own children.\n",
49293
49178
  "description": "<p>Returns true if this is a child item and has its own children.</p>\n"
49294
49179
  }
@@ -49299,7 +49184,7 @@
49299
49184
  "name": "isRootItem",
49300
49185
  "type": "boolean",
49301
49186
  "returnType": "boolean",
49302
- "line": 121,
49187
+ "line": 122,
49303
49188
  "rawdescription": "\n\nReturns true if this is a root-level item (level === 1).\n",
49304
49189
  "description": "<p>Returns true if this is a root-level item (level === 1).</p>\n"
49305
49190
  }
@@ -49326,14 +49211,15 @@
49326
49211
  }
49327
49212
  ]
49328
49213
  },
49329
- "templateData": "@if (hasChildren) {\n <button\n class=\"ecl-category-filter__item {{ levelClass }}\"\n [class.ecl-category-filter__item--has-children]=\"hasChildren\"\n [class.ecl-category-filter__item--current]=\"isCurrent\"\n [attr.aria-current]=\"isCurrent ? true : null\"\n [attr.aria-expanded] = \"isExpanded\"\n [attr.aria-controls]=\"id\"\n (click)=\"onItemClick($event)\">\n @if(isChildItemWithChildren) {\n <ecl-icon icon=\"solid-arrow\" size=\"xs\" transform=\"rotate-90\" class=\"ecl-category-filter__item-icon\"> </ecl-icon>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n }\n @if(isRootItemWithChildren) {\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-180\" class=\"ecl-category-filter__item-icon\"> </ecl-icon>\n }\n </button>\n} @else {\n <a\n [href]=\"href()\"\n class=\"ecl-category-filter__item {{ levelClass }}\"\n [class.ecl-category-filter__item--has-children]=\"hasChildren\"\n [attr.aria-current]=\"isCurrent ? true : null\"\n (click)=\"onItemClick($event)\">\n @if(isChildItemWithChildren) {\n <ecl-icon icon=\"solid-arrow\" size=\"xs\" transform=\"rotate-90\" class=\"ecl-category-filter__item-icon\"> </ecl-icon>\n }\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n @if(isRootItemWithChildren) {\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-180\" class=\"ecl-category-filter__item-icon\"> </ecl-icon>\n }\n </a>\n}\n<ng-content select=\"ecl-category-filter-list\"></ng-content>\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n"
49214
+ "templateData": "@if (hasChildren) {\n <button\n class=\"ecl-category-filter__item {{ levelClass }}\"\n [class.ecl-category-filter__item--has-children]=\"hasChildren\"\n [class.ecl-category-filter__item--current]=\"isCurrent\"\n [attr.aria-current]=\"isCurrent ? true : null\"\n [attr.aria-expanded]=\"isExpanded\"\n [attr.aria-controls]=\"eclCategoryList()?.id\"\n (click)=\"onItemClick($event)\">\n @if(isChildItemWithChildren) {\n <ecl-icon icon=\"solid-arrow\" size=\"xs\" transform=\"rotate-90\" class=\"ecl-category-filter__item-icon\"> </ecl-icon>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n }\n @if(isRootItemWithChildren) {\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-180\" class=\"ecl-category-filter__item-icon\"> </ecl-icon>\n }\n </button>\n} @else {\n <a\n [href]=\"href()\"\n class=\"ecl-category-filter__item {{ levelClass }}\"\n [class.ecl-category-filter__item--has-children]=\"hasChildren\"\n [class.ecl-category-filter__item--current]=\"isCurrent\"\n [attr.aria-current]=\"isCurrent ? true : null\"\n (click)=\"onItemClick($event)\">\n @if(isChildItemWithChildren) {\n <ecl-icon icon=\"solid-arrow\" size=\"xs\" transform=\"rotate-90\" class=\"ecl-category-filter__item-icon\"> </ecl-icon>\n }\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n @if(isRootItemWithChildren) {\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-180\" class=\"ecl-category-filter__item-icon\"> </ecl-icon>\n }\n </a>\n}\n<ng-content select=\"ecl-category-filter-list\"></ng-content>\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n"
49330
49215
  },
49331
49216
  {
49332
49217
  "name": "EclCategoryFilterListComponent",
49333
- "id": "component-EclCategoryFilterListComponent-5fef16fc40a41d27a4cbd5a31298c14d8d8100e1aac2916f12bdec406a4edae109520057c8d82cca7bc0c613d9d27043c26487373450592726448cdffdb24549",
49218
+ "id": "component-EclCategoryFilterListComponent-47e464fbf74b6bcb699e884902518ed798e7c7122866d78f38efd8a36006a9954beb5ada092491c660e2b88b3567b3ca335e240ebc785aebc76a91b35f1e9c19",
49334
49219
  "file": "packages/ecl/components/ecl-category-filter/ecl-category-filter-list/ecl-category-filter-list.component.ts",
49335
49220
  "encapsulation": [],
49336
49221
  "entryComponents": [],
49222
+ "host": {},
49337
49223
  "inputs": [],
49338
49224
  "outputs": [],
49339
49225
  "providers": [],
@@ -49393,49 +49279,6 @@
49393
49279
  ],
49394
49280
  "outputsClass": [],
49395
49281
  "propertiesClass": [
49396
- {
49397
- "name": "className",
49398
- "coverageIgnore": false,
49399
- "defaultValue": "true",
49400
- "deprecated": false,
49401
- "deprecationMessage": "",
49402
- "type": "unknown",
49403
- "indexKey": "",
49404
- "optional": false,
49405
- "description": "<p>Adds the base class for the category filter list component.</p>\n",
49406
- "line": 13,
49407
- "rawdescription": "\n\nAdds the base class for the category filter list component.\n",
49408
- "decorators": [
49409
- {
49410
- "name": "HostBinding",
49411
- "stringifiedArguments": "'class.ecl-category-filter__list'"
49412
- }
49413
- ],
49414
- "modifierKind": [
49415
- 171
49416
- ]
49417
- },
49418
- {
49419
- "name": "controls",
49420
- "coverageIgnore": false,
49421
- "deprecated": false,
49422
- "deprecationMessage": "",
49423
- "type": "string",
49424
- "indexKey": "",
49425
- "optional": false,
49426
- "description": "<p>ARIA attribute that points to the element controlled by this list (if applicable).</p>\n",
49427
- "line": 23,
49428
- "rawdescription": "\n\nARIA attribute that points to the element controlled by this list (if applicable).\n",
49429
- "decorators": [
49430
- {
49431
- "name": "HostBinding",
49432
- "stringifiedArguments": "'attr.aria-controls'"
49433
- }
49434
- ],
49435
- "modifierKind": [
49436
- 171
49437
- ]
49438
- },
49439
49282
  {
49440
49283
  "name": "eclCategoryFilterItems",
49441
49284
  "coverageIgnore": false,
@@ -49446,33 +49289,23 @@
49446
49289
  "indexKey": "",
49447
49290
  "optional": false,
49448
49291
  "description": "<p>List of all category filter items projected inside this list.</p>\n",
49449
- "line": 28,
49292
+ "line": 23,
49450
49293
  "rawdescription": "\n\nList of all category filter items projected inside this list.\n",
49451
49294
  "modifierKind": [
49452
49295
  148
49453
49296
  ]
49454
49297
  },
49455
49298
  {
49456
- "name": "role",
49299
+ "name": "id",
49457
49300
  "coverageIgnore": false,
49458
- "defaultValue": "'list'",
49459
49301
  "deprecated": false,
49460
49302
  "deprecationMessage": "",
49461
49303
  "type": "string",
49462
49304
  "indexKey": "",
49463
49305
  "optional": false,
49464
- "description": "<p>Sets ARIA role to &quot;list&quot; for accessibility purposes.</p>\n",
49306
+ "description": "<p>ID of this list element, referenced by the parent item&#39;s aria-controls.</p>\n",
49465
49307
  "line": 18,
49466
- "rawdescription": "\n\nSets ARIA role to \"list\" for accessibility purposes.\n",
49467
- "decorators": [
49468
- {
49469
- "name": "HostBinding",
49470
- "stringifiedArguments": "'attr.role'"
49471
- }
49472
- ],
49473
- "modifierKind": [
49474
- 171
49475
- ]
49308
+ "rawdescription": "\n\nID of this list element, referenced by the parent item's aria-controls.\n"
49476
49309
  }
49477
49310
  ],
49478
49311
  "methodsClass": [
@@ -49492,7 +49325,7 @@
49492
49325
  "optional": false,
49493
49326
  "returnType": "void",
49494
49327
  "typeParameters": [],
49495
- "line": 65,
49328
+ "line": 60,
49496
49329
  "deprecated": false,
49497
49330
  "deprecationMessage": "",
49498
49331
  "rawdescription": "\n\nPropagates the current level to all direct children items.\n",
@@ -49500,8 +49333,8 @@
49500
49333
  "jsdoctags": [
49501
49334
  {
49502
49335
  "name": {
49503
- "pos": 2004,
49504
- "end": 2009,
49336
+ "pos": 1779,
49337
+ "end": 1784,
49505
49338
  "kind": 80,
49506
49339
  "id": 0,
49507
49340
  "flags": 16842752,
@@ -49514,8 +49347,8 @@
49514
49347
  "deprecated": false,
49515
49348
  "deprecationMessage": "",
49516
49349
  "tagName": {
49517
- "pos": 1998,
49518
- "end": 2003,
49350
+ "pos": 1773,
49351
+ "end": 1778,
49519
49352
  "kind": 80,
49520
49353
  "id": 0,
49521
49354
  "flags": 16842752,
@@ -49568,53 +49401,14 @@
49568
49401
  "coverageIgnore": false,
49569
49402
  "deprecated": false,
49570
49403
  "deprecationMessage": "",
49571
- "hostBindings": [
49572
- {
49573
- "coverageIgnore": false,
49574
- "name": "attr.aria-controls",
49575
- "actualName": "controls",
49576
- "deprecated": false,
49577
- "deprecationMessage": "",
49578
- "rawdescription": "\n\nARIA attribute that points to the element controlled by this list (if applicable).\n",
49579
- "description": "<p>ARIA attribute that points to the element controlled by this list (if applicable).</p>\n",
49580
- "line": 23,
49581
- "type": "string",
49582
- "decorators": []
49583
- },
49584
- {
49585
- "coverageIgnore": false,
49586
- "name": "attr.role",
49587
- "actualName": "role",
49588
- "defaultValue": "'list'",
49589
- "deprecated": false,
49590
- "deprecationMessage": "",
49591
- "rawdescription": "\n\nSets ARIA role to \"list\" for accessibility purposes.\n",
49592
- "description": "<p>Sets ARIA role to &quot;list&quot; for accessibility purposes.</p>\n",
49593
- "line": 18,
49594
- "type": "string",
49595
- "decorators": []
49596
- },
49597
- {
49598
- "coverageIgnore": false,
49599
- "name": "class.ecl-category-filter__list",
49600
- "actualName": "className",
49601
- "defaultValue": "true",
49602
- "deprecated": false,
49603
- "deprecationMessage": "",
49604
- "rawdescription": "\n\nAdds the base class for the category filter list component.\n",
49605
- "description": "<p>Adds the base class for the category filter list component.</p>\n",
49606
- "line": 13,
49607
- "type": "boolean",
49608
- "decorators": []
49609
- }
49610
- ],
49404
+ "hostBindings": [],
49611
49405
  "hostListeners": [],
49612
49406
  "standalone": false,
49613
49407
  "imports": [],
49614
49408
  "description": "",
49615
49409
  "rawdescription": "\n",
49616
49410
  "type": "component",
49617
- "sourceCode": "import { Component, forwardRef, HostBinding, contentChildren } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclCategoryFilterItemComponent } from './ecl-category-filter-item.component';\n\n@Component({\n selector: 'ecl-category-filter-list',\n templateUrl: './ecl-category-filter-list.component.html',\n})\nexport class EclCategoryFilterListComponent extends ECLBaseDirective {\n /**\n * Adds the base class for the category filter list component.\n */\n @HostBinding('class.ecl-category-filter__list') className = true;\n\n /**\n * Sets ARIA role to \"list\" for accessibility purposes.\n */\n @HostBinding('attr.role') role = 'list';\n\n /**\n * ARIA attribute that points to the element controlled by this list (if applicable).\n */\n @HostBinding('attr.aria-controls') controls: string;\n\n /**\n * List of all category filter items projected inside this list.\n */\n readonly eclCategoryFilterItems = contentChildren<EclCategoryFilterItemComponent>(forwardRef(() => EclCategoryFilterItemComponent));\n\n /**\n * Gets the nesting level of this list in the category tree.\n */\n get level(): number {\n return this._level;\n }\n\n /**\n * Sets the level of the list and applies it to all its children.\n */\n set level(value: number) {\n this._level = value;\n this.updateChildrenItemsLevel(value);\n }\n private _level: number;\n\n /**\n * Returns true if the list contains one or more category filter items.\n */\n get hasChildren(): boolean {\n const eclCategoryFilterItems = this.eclCategoryFilterItems();\n return eclCategoryFilterItems !== undefined && eclCategoryFilterItems.length > 0;\n }\n\n /**\n * Returns the list of child components.\n */\n get children(): readonly EclCategoryFilterItemComponent[] {\n return this.eclCategoryFilterItems();\n }\n\n /**\n * Propagates the current level to all direct children items.\n * @param value Level value to set on each child.\n */\n updateChildrenItemsLevel(value: number): void {\n const eclCategoryFilterItems = this.eclCategoryFilterItems();\n if (eclCategoryFilterItems) {\n eclCategoryFilterItems.forEach((item) =>\n (item.level = value));\n }\n }\n}\n",
49411
+ "sourceCode": "import { Component, forwardRef, contentChildren } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclCategoryFilterItemComponent } from './ecl-category-filter-item.component';\n\n@Component({\n selector: 'ecl-category-filter-list',\n templateUrl: './ecl-category-filter-list.component.html',\n host: {\n 'class': 'ecl-category-filter__list',\n 'role': 'list',\n '[attr.id]': 'id',\n },\n})\nexport class EclCategoryFilterListComponent extends ECLBaseDirective {\n /**\n * ID of this list element, referenced by the parent item's aria-controls.\n */\n id: string;\n\n /**\n * List of all category filter items projected inside this list.\n */\n readonly eclCategoryFilterItems = contentChildren<EclCategoryFilterItemComponent>(forwardRef(() => EclCategoryFilterItemComponent));\n\n /**\n * Gets the nesting level of this list in the category tree.\n */\n get level(): number {\n return this._level;\n }\n\n /**\n * Sets the level of the list and applies it to all its children.\n */\n set level(value: number) {\n this._level = value;\n this.updateChildrenItemsLevel(value);\n }\n private _level: number;\n\n /**\n * Returns true if the list contains one or more category filter items.\n */\n get hasChildren(): boolean {\n const eclCategoryFilterItems = this.eclCategoryFilterItems();\n return eclCategoryFilterItems !== undefined && eclCategoryFilterItems.length > 0;\n }\n\n /**\n * Returns the list of child components.\n */\n get children(): readonly EclCategoryFilterItemComponent[] {\n return this.eclCategoryFilterItems();\n }\n\n /**\n * Propagates the current level to all direct children items.\n * @param value Level value to set on each child.\n */\n updateChildrenItemsLevel(value: number): void {\n const eclCategoryFilterItems = this.eclCategoryFilterItems();\n if (eclCategoryFilterItems) {\n eclCategoryFilterItems.forEach((item) =>\n (item.level = value));\n }\n }\n}\n",
49618
49412
  "assetsDirs": [],
49619
49413
  "styleUrlsData": "",
49620
49414
  "stylesData": "",
@@ -49640,7 +49434,7 @@
49640
49434
  }
49641
49435
  ],
49642
49436
  "returnType": "void",
49643
- "line": 40,
49437
+ "line": 35,
49644
49438
  "rawdescription": "\n\nSets the level of the list and applies it to all its children.\n",
49645
49439
  "description": "<p>Sets the level of the list and applies it to all its children.</p>\n",
49646
49440
  "jsdoctags": [
@@ -49661,7 +49455,7 @@
49661
49455
  "name": "level",
49662
49456
  "type": "number",
49663
49457
  "returnType": "number",
49664
- "line": 33,
49458
+ "line": 28,
49665
49459
  "rawdescription": "\n\nGets the nesting level of this list in the category tree.\n",
49666
49460
  "description": "<p>Gets the nesting level of this list in the category tree.</p>\n"
49667
49461
  }
@@ -49672,7 +49466,7 @@
49672
49466
  "name": "hasChildren",
49673
49467
  "type": "boolean",
49674
49468
  "returnType": "boolean",
49675
- "line": 49,
49469
+ "line": 44,
49676
49470
  "rawdescription": "\n\nReturns true if the list contains one or more category filter items.\n",
49677
49471
  "description": "<p>Returns true if the list contains one or more category filter items.</p>\n"
49678
49472
  }
@@ -49683,7 +49477,7 @@
49683
49477
  "name": "children",
49684
49478
  "type": "unknown",
49685
49479
  "returnType": "readonly EclCategoryFilterItemComponent[]",
49686
- "line": 57,
49480
+ "line": 52,
49687
49481
  "rawdescription": "\n\nReturns the list of child components.\n",
49688
49482
  "description": "<p>Returns the list of child components.</p>\n"
49689
49483
  }