@clr/angular 18.2.1 → 18.3.0

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.
@@ -25,7 +25,7 @@ class ClrNumberInputContainer extends ClrAbstractContainer {
25
25
  this.input.dispatchBlur();
26
26
  }
27
27
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrNumberInputContainer, deps: [{ token: i1.ControlClassService }, { token: i1.LayoutService, optional: true }, { token: i1.NgControlService }, { token: i1.FormsFocusService }], target: i0.ɵɵFactoryTarget.Component }); }
28
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: ClrNumberInputContainer, isStandalone: false, selector: "clr-number-input-container", host: { properties: { "class.clr-form-control": "true", "class.clr-form-control-disabled": "control?.disabled", "class.clr-form-control-readonly": "input.readonly", "class.clr-row": "addGrid()" } }, providers: [FormsFocusService, NgControlService, ControlIdService, ControlClassService], queries: [{ propertyName: "input", first: true, predicate: i0.forwardRef(() => ClrNumberInput), descendants: true }], usesInheritance: true, ngImport: i0, template: `
28
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: ClrNumberInputContainer, isStandalone: false, selector: "clr-number-input-container", host: { properties: { "class.clr-form-control": "true", "class.clr-form-control-disabled": "control?.disabled", "class.clr-form-control-readonly": "input?.readonly", "class.clr-row": "addGrid()" } }, providers: [FormsFocusService, NgControlService, ControlIdService, ControlClassService], queries: [{ propertyName: "input", first: true, predicate: i0.forwardRef(() => ClrNumberInput), descendants: true }], usesInheritance: true, ngImport: i0, template: `
29
29
  <ng-content select="label"></ng-content>
30
30
  @if (!label && addGrid()) {
31
31
  <label></label>
@@ -115,7 +115,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
115
115
  host: {
116
116
  '[class.clr-form-control]': 'true',
117
117
  '[class.clr-form-control-disabled]': 'control?.disabled',
118
- '[class.clr-form-control-readonly]': 'input.readonly',
118
+ '[class.clr-form-control-readonly]': 'input?.readonly',
119
119
  '[class.clr-row]': 'addGrid()',
120
120
  },
121
121
  providers: [FormsFocusService, NgControlService, ControlIdService, ControlClassService],
@@ -1 +1 @@
1
- {"version":3,"file":"clr-angular-forms-number-input.mjs","sources":["../../../projects/angular/forms/number-input/number-input-container.ts","../../../projects/angular/forms/number-input/number-input.ts","../../../projects/angular/forms/number-input/number-input.module.ts","../../../projects/angular/forms/number-input/index.ts","../../../projects/angular/forms/number-input/clr-angular-forms-number-input.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Component, ContentChild, forwardRef, Optional } from '@angular/core';\nimport {\n ClrAbstractContainer,\n ControlClassService,\n ControlIdService,\n FormsFocusService,\n LayoutService,\n NgControlService,\n} from '@clr/angular/forms/common';\n\nimport { ClrNumberInput } from './number-input';\n\n@Component({\n selector: 'clr-number-input-container',\n template: `\n <ng-content select=\"label\"></ng-content>\n @if (!label && addGrid()) {\n <label></label>\n }\n <div class=\"clr-control-container\" [ngClass]=\"controlClass()\">\n <div class=\"clr-number-input-wrapper\">\n <div class=\"clr-input-group\" [class.clr-focus]=\"focus\">\n <ng-content select=\"[clrNumberInput]\"></ng-content>\n <div class=\"clr-input-group-actions\" (focusout)=\"focusOut()\">\n <button\n type=\"button\"\n class=\"clr-input-group-icon-action\"\n (click)=\"input.stepDown()\"\n [disabled]=\"control?.disabled\"\n >\n <cds-icon shape=\"minus\" size=\"sm\"></cds-icon>\n </button>\n <div class=\"clr-number-input-separator\"></div>\n <button\n type=\"button\"\n class=\"clr-input-group-icon-action\"\n (click)=\"input.stepUp()\"\n [disabled]=\"control?.disabled\"\n >\n <cds-icon shape=\"plus\" size=\"sm\"></cds-icon>\n </button>\n </div>\n </div>\n </div>\n @if (showHelper) {\n <ng-content select=\"clr-control-helper\"></ng-content>\n }\n @if (showInvalid) {\n <ng-content select=\"clr-control-error\"></ng-content>\n }\n @if (showValid) {\n <ng-content select=\"clr-control-success\"></ng-content>\n }\n </div>\n `,\n host: {\n '[class.clr-form-control]': 'true',\n '[class.clr-form-control-disabled]': 'control?.disabled',\n '[class.clr-form-control-readonly]': 'input.readonly',\n '[class.clr-row]': 'addGrid()',\n },\n providers: [FormsFocusService, NgControlService, ControlIdService, ControlClassService],\n standalone: false,\n})\nexport class ClrNumberInputContainer extends ClrAbstractContainer {\n focus = false;\n\n @ContentChild(forwardRef(() => ClrNumberInput)) protected readonly input: ClrNumberInput;\n\n constructor(\n controlClassService: ControlClassService,\n @Optional() layoutService: LayoutService,\n ngControlService: NgControlService,\n focusService: FormsFocusService\n ) {\n super(layoutService, controlClassService, ngControlService);\n\n this.subscriptions.push(focusService.focusChange.subscribe(state => (this.focus = state)));\n }\n\n focusOut() {\n this.input.dispatchBlur();\n }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport {\n Directive,\n ElementRef,\n HostListener,\n Injector,\n Optional,\n Renderer2,\n Self,\n ViewContainerRef,\n} from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { FormsFocusService, WrappedFormControl } from '@clr/angular/forms/common';\n\nimport { ClrNumberInputContainer } from './number-input-container';\n\n@Directive({\n selector: 'input[type=\"number\"][clrNumberInput]',\n host: { '[class.clr-input]': 'true', '[class.clr-number-input]': 'true' },\n standalone: false,\n})\nexport class ClrNumberInput extends WrappedFormControl<ClrNumberInputContainer> {\n protected override index = 1;\n\n constructor(\n @Optional() private focusService: FormsFocusService,\n vcr: ViewContainerRef,\n injector: Injector,\n @Self()\n @Optional()\n private control: NgControl,\n renderer: Renderer2,\n protected override el: ElementRef<HTMLInputElement>\n ) {\n super(vcr, ClrNumberInputContainer, injector, control, renderer, el);\n\n if (!focusService) {\n throw new Error('clrNumberInput requires being wrapped in <clr-number-input-container>');\n }\n }\n\n get readonly() {\n return this.el.nativeElement.getAttribute('readonly') !== null;\n }\n\n @HostListener('focus')\n triggerFocus() {\n if (!this.readonly && this.focusService) {\n this.focusService.focused = true;\n }\n }\n\n override triggerValidation() {\n if (!this.readonly) {\n super.triggerValidation();\n if (this.focusService) {\n this.focusService.focused = false;\n }\n }\n }\n\n stepUp(): void {\n this.el.nativeElement.stepUp();\n this.dispatchStepChangeEvents();\n }\n\n stepDown(): void {\n this.el.nativeElement.stepDown();\n this.dispatchStepChangeEvents();\n }\n\n dispatchBlur() {\n this.el.nativeElement.dispatchEvent(new Event('blur', { bubbles: true, cancelable: true }));\n }\n\n private dispatchStepChangeEvents() {\n this.el.nativeElement.dispatchEvent(new Event('input', { bubbles: true, cancelable: true }));\n this.el.nativeElement.dispatchEvent(new Event('change', { bubbles: true, cancelable: true }));\n\n this.triggerValidation();\n }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ClrCommonFormsModule } from '@clr/angular/forms/common';\nimport { ClarityIcons, ClrIcon, errorStandardIcon, minusIcon, plusIcon, successStandardIcon } from '@clr/angular/icon';\n\nimport { ClrNumberInput } from './number-input';\nimport { ClrNumberInputContainer } from './number-input-container';\n\n@NgModule({\n imports: [CommonModule, FormsModule, ClrIcon, ClrCommonFormsModule],\n declarations: [ClrNumberInput, ClrNumberInputContainer],\n exports: [ClrCommonFormsModule, ClrNumberInput, ClrNumberInputContainer],\n})\nexport class ClrNumberInputModule {\n constructor() {\n ClarityIcons.addIcons(successStandardIcon, errorStandardIcon, minusIcon, plusIcon);\n }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './number-input';\nexport * from './number-input-container';\nexport * from './number-input.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2"],"mappings":"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"}
1
+ {"version":3,"file":"clr-angular-forms-number-input.mjs","sources":["../../../projects/angular/forms/number-input/number-input-container.ts","../../../projects/angular/forms/number-input/number-input.ts","../../../projects/angular/forms/number-input/number-input.module.ts","../../../projects/angular/forms/number-input/index.ts","../../../projects/angular/forms/number-input/clr-angular-forms-number-input.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Component, ContentChild, forwardRef, Optional } from '@angular/core';\nimport {\n ClrAbstractContainer,\n ControlClassService,\n ControlIdService,\n FormsFocusService,\n LayoutService,\n NgControlService,\n} from '@clr/angular/forms/common';\n\nimport { ClrNumberInput } from './number-input';\n\n@Component({\n selector: 'clr-number-input-container',\n template: `\n <ng-content select=\"label\"></ng-content>\n @if (!label && addGrid()) {\n <label></label>\n }\n <div class=\"clr-control-container\" [ngClass]=\"controlClass()\">\n <div class=\"clr-number-input-wrapper\">\n <div class=\"clr-input-group\" [class.clr-focus]=\"focus\">\n <ng-content select=\"[clrNumberInput]\"></ng-content>\n <div class=\"clr-input-group-actions\" (focusout)=\"focusOut()\">\n <button\n type=\"button\"\n class=\"clr-input-group-icon-action\"\n (click)=\"input.stepDown()\"\n [disabled]=\"control?.disabled\"\n >\n <cds-icon shape=\"minus\" size=\"sm\"></cds-icon>\n </button>\n <div class=\"clr-number-input-separator\"></div>\n <button\n type=\"button\"\n class=\"clr-input-group-icon-action\"\n (click)=\"input.stepUp()\"\n [disabled]=\"control?.disabled\"\n >\n <cds-icon shape=\"plus\" size=\"sm\"></cds-icon>\n </button>\n </div>\n </div>\n </div>\n @if (showHelper) {\n <ng-content select=\"clr-control-helper\"></ng-content>\n }\n @if (showInvalid) {\n <ng-content select=\"clr-control-error\"></ng-content>\n }\n @if (showValid) {\n <ng-content select=\"clr-control-success\"></ng-content>\n }\n </div>\n `,\n host: {\n '[class.clr-form-control]': 'true',\n '[class.clr-form-control-disabled]': 'control?.disabled',\n '[class.clr-form-control-readonly]': 'input?.readonly',\n '[class.clr-row]': 'addGrid()',\n },\n providers: [FormsFocusService, NgControlService, ControlIdService, ControlClassService],\n standalone: false,\n})\nexport class ClrNumberInputContainer extends ClrAbstractContainer {\n focus = false;\n\n @ContentChild(forwardRef(() => ClrNumberInput)) protected readonly input: ClrNumberInput;\n\n constructor(\n controlClassService: ControlClassService,\n @Optional() layoutService: LayoutService,\n ngControlService: NgControlService,\n focusService: FormsFocusService\n ) {\n super(layoutService, controlClassService, ngControlService);\n\n this.subscriptions.push(focusService.focusChange.subscribe(state => (this.focus = state)));\n }\n\n focusOut() {\n this.input.dispatchBlur();\n }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport {\n Directive,\n ElementRef,\n HostListener,\n Injector,\n Optional,\n Renderer2,\n Self,\n ViewContainerRef,\n} from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { FormsFocusService, WrappedFormControl } from '@clr/angular/forms/common';\n\nimport { ClrNumberInputContainer } from './number-input-container';\n\n@Directive({\n selector: 'input[type=\"number\"][clrNumberInput]',\n host: { '[class.clr-input]': 'true', '[class.clr-number-input]': 'true' },\n standalone: false,\n})\nexport class ClrNumberInput extends WrappedFormControl<ClrNumberInputContainer> {\n protected override index = 1;\n\n constructor(\n @Optional() private focusService: FormsFocusService,\n vcr: ViewContainerRef,\n injector: Injector,\n @Self()\n @Optional()\n private control: NgControl,\n renderer: Renderer2,\n protected override el: ElementRef<HTMLInputElement>\n ) {\n super(vcr, ClrNumberInputContainer, injector, control, renderer, el);\n\n if (!focusService) {\n throw new Error('clrNumberInput requires being wrapped in <clr-number-input-container>');\n }\n }\n\n get readonly() {\n return this.el.nativeElement.getAttribute('readonly') !== null;\n }\n\n @HostListener('focus')\n triggerFocus() {\n if (!this.readonly && this.focusService) {\n this.focusService.focused = true;\n }\n }\n\n override triggerValidation() {\n if (!this.readonly) {\n super.triggerValidation();\n if (this.focusService) {\n this.focusService.focused = false;\n }\n }\n }\n\n stepUp(): void {\n this.el.nativeElement.stepUp();\n this.dispatchStepChangeEvents();\n }\n\n stepDown(): void {\n this.el.nativeElement.stepDown();\n this.dispatchStepChangeEvents();\n }\n\n dispatchBlur() {\n this.el.nativeElement.dispatchEvent(new Event('blur', { bubbles: true, cancelable: true }));\n }\n\n private dispatchStepChangeEvents() {\n this.el.nativeElement.dispatchEvent(new Event('input', { bubbles: true, cancelable: true }));\n this.el.nativeElement.dispatchEvent(new Event('change', { bubbles: true, cancelable: true }));\n\n this.triggerValidation();\n }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ClrCommonFormsModule } from '@clr/angular/forms/common';\nimport { ClarityIcons, ClrIcon, errorStandardIcon, minusIcon, plusIcon, successStandardIcon } from '@clr/angular/icon';\n\nimport { ClrNumberInput } from './number-input';\nimport { ClrNumberInputContainer } from './number-input-container';\n\n@NgModule({\n imports: [CommonModule, FormsModule, ClrIcon, ClrCommonFormsModule],\n declarations: [ClrNumberInput, ClrNumberInputContainer],\n exports: [ClrCommonFormsModule, ClrNumberInput, ClrNumberInputContainer],\n})\nexport class ClrNumberInputModule {\n constructor() {\n ClarityIcons.addIcons(successStandardIcon, errorStandardIcon, minusIcon, plusIcon);\n }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './number-input';\nexport * from './number-input-container';\nexport * from './number-input.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { ContentChild, Component, Self, Optional, Directive, ElementRef, Input, ContentChildren, NgModule } from '@angular/core';
2
+ import { ContentChild, Component, Self, Optional, Directive, Input, ContentChildren, NgModule } from '@angular/core';
3
3
  import * as i1 from '@clr/angular/forms/common';
4
4
  import { ClrControlLabel, ControlIdService, WrappedFormControl, ClrAbstractContainer, NgControlService, ControlClassService, ContainerIdService, ClrCommonFormsModule } from '@clr/angular/forms/common';
5
5
  import * as i1$1 from '@angular/forms';
@@ -116,17 +116,13 @@ class ClrRadioContainer extends ClrAbstractContainer {
116
116
  this.role = this.radios.length ? 'radiogroup' : null;
117
117
  }
118
118
  setAriaLabelledBy() {
119
- const _id = this.groupLabel?.nativeElement.getAttribute('id');
120
- if (!_id) {
121
- this.groupLabel?.nativeElement.setAttribute('id', this._generatedId);
122
- this.ariaLabelledBy = this.radios.length ? this._generatedId : null;
123
- }
124
- else {
125
- this.ariaLabelledBy = this.radios.length ? _id : null;
119
+ if (this.label && !this.label.idAttr) {
120
+ this.label.idAttr = this._generatedId;
126
121
  }
122
+ this.ariaLabelledBy = this.radios?.length && this.label ? this.label.idAttr : null;
127
123
  }
128
124
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrRadioContainer, deps: [{ token: i1.LayoutService, optional: true }, { token: i1.ControlClassService }, { token: i1.NgControlService }], target: i0.ɵɵFactoryTarget.Component }); }
129
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: ClrRadioContainer, isStandalone: false, selector: "clr-radio-container", inputs: { clrInline: "clrInline" }, host: { properties: { "class.clr-form-control": "true", "class.clr-form-control-disabled": "control?.disabled", "class.clr-row": "addGrid()", "attr.role": "role", "attr.aria-labelledby": "ariaLabelledBy" } }, providers: [NgControlService, ControlClassService, ContainerIdService], queries: [{ propertyName: "groupLabel", first: true, predicate: ClrControlLabel, descendants: true, read: ElementRef, static: true }, { propertyName: "radios", predicate: ClrRadio, descendants: true }], usesInheritance: true, ngImport: i0, template: `
125
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: ClrRadioContainer, isStandalone: false, selector: "clr-radio-container", inputs: { clrInline: "clrInline" }, host: { properties: { "class.clr-form-control": "true", "class.clr-form-control-disabled": "control?.disabled", "class.clr-row": "addGrid()", "attr.role": "role", "attr.aria-labelledby": "ariaLabelledBy" } }, providers: [NgControlService, ControlClassService, ContainerIdService], queries: [{ propertyName: "radios", predicate: ClrRadio, descendants: true }], usesInheritance: true, ngImport: i0, template: `
130
126
  <ng-content select="label"></ng-content>
131
127
  @if (!label && addGrid()) {
132
128
  <label></label>
@@ -186,9 +182,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
186
182
  }] }, { type: i1.ControlClassService }, { type: i1.NgControlService }], propDecorators: { radios: [{
187
183
  type: ContentChildren,
188
184
  args: [ClrRadio, { descendants: true }]
189
- }], groupLabel: [{
190
- type: ContentChild,
191
- args: [ClrControlLabel, { read: ElementRef, static: true }]
192
185
  }], clrInline: [{
193
186
  type: Input
194
187
  }] } });
@@ -1 +1 @@
1
- {"version":3,"file":"clr-angular-forms-radio.mjs","sources":["../../../projects/angular/forms/radio/radio-wrapper.ts","../../../projects/angular/forms/radio/radio.ts","../../../projects/angular/forms/radio/radio-container.ts","../../../projects/angular/forms/radio/radio.module.ts","../../../projects/angular/forms/radio/index.ts","../../../projects/angular/forms/radio/clr-angular-forms-radio.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Component, ContentChild, OnInit } from '@angular/core';\nimport { ClrControlLabel, ControlIdService } from '@clr/angular/forms/common';\n\n@Component({\n selector: 'clr-radio-wrapper',\n template: `\n <ng-content select=\"[clrRadio]\"></ng-content>\n <ng-content select=\"label\"></ng-content>\n @if (!label) {\n <label></label>\n }\n `,\n host: {\n '[class.clr-radio-wrapper]': 'true',\n },\n providers: [ControlIdService],\n standalone: false,\n})\nexport class ClrRadioWrapper implements OnInit {\n @ContentChild(ClrControlLabel, { static: true }) label: ClrControlLabel;\n\n ngOnInit() {\n if (this.label) {\n this.label.disableGrid();\n }\n }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Directive, ElementRef, Injector, Optional, Renderer2, Self, ViewContainerRef } from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { WrappedFormControl } from '@clr/angular/forms/common';\n\nimport { ClrRadioWrapper } from './radio-wrapper';\n\n@Directive({\n selector: '[clrRadio]',\n standalone: false,\n})\nexport class ClrRadio extends WrappedFormControl<ClrRadioWrapper> {\n constructor(\n vcr: ViewContainerRef,\n injector: Injector,\n @Self()\n @Optional()\n control: NgControl,\n renderer: Renderer2,\n el: ElementRef<HTMLInputElement>\n ) {\n super(vcr, ClrRadioWrapper, injector, control, renderer, el);\n }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport {\n AfterContentInit,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n Input,\n Optional,\n QueryList,\n} from '@angular/core';\nimport {\n ClrAbstractContainer,\n ClrControlLabel,\n ContainerIdService,\n ControlClassService,\n LayoutService,\n NgControlService,\n} from '@clr/angular/forms/common';\nimport { uniqueIdFactory } from '@clr/angular/utils';\n\nimport { ClrRadio } from './radio';\n\n@Component({\n selector: 'clr-radio-container',\n template: `\n <ng-content select=\"label\"></ng-content>\n @if (!label && addGrid()) {\n <label></label>\n }\n <div class=\"clr-control-container\" [class.clr-control-inline]=\"clrInline\" [ngClass]=\"controlClass()\">\n <ng-content select=\"clr-radio-wrapper\"></ng-content>\n @if (showHelper) {\n <div class=\"clr-subtext-wrapper\">\n <ng-content select=\"clr-control-helper\"></ng-content>\n </div>\n }\n @if (showInvalid) {\n <ng-content select=\"clr-control-error\"></ng-content>\n }\n @if (showValid) {\n <ng-content select=\"clr-control-success\"></ng-content>\n }\n </div>\n `,\n host: {\n '[class.clr-form-control]': 'true',\n '[class.clr-form-control-disabled]': 'control?.disabled',\n '[class.clr-row]': 'addGrid()',\n '[attr.role]': 'role',\n '[attr.aria-labelledby]': 'ariaLabelledBy',\n },\n providers: [NgControlService, ControlClassService, ContainerIdService],\n standalone: false,\n})\nexport class ClrRadioContainer extends ClrAbstractContainer implements AfterContentInit {\n role: string;\n ariaLabelledBy: string;\n\n @ContentChildren(ClrRadio, { descendants: true }) radios: QueryList<ClrRadio>;\n @ContentChild(ClrControlLabel, { read: ElementRef, static: true }) groupLabel: ElementRef<HTMLElement>;\n\n private inline = false;\n private _generatedId = uniqueIdFactory();\n\n constructor(\n @Optional() protected override layoutService: LayoutService,\n protected override controlClassService: ControlClassService,\n protected override ngControlService: NgControlService\n ) {\n super(layoutService, controlClassService, ngControlService);\n }\n\n /*\n * Here we want to support the following cases\n * clrInline - true by presence\n * clrInline=\"true|false\" - unless it is explicitly false, strings are considered true\n * [clrInline]=\"true|false\" - expect a boolean\n */\n @Input()\n get clrInline() {\n return this.inline;\n }\n set clrInline(value: boolean | string) {\n if (typeof value === 'string') {\n this.inline = value === 'false' ? false : true;\n } else {\n this.inline = !!value;\n }\n }\n\n ngAfterContentInit() {\n this.setAriaRoles();\n this.setAriaLabelledBy();\n }\n\n private setAriaRoles() {\n this.role = this.radios.length ? 'radiogroup' : null;\n }\n\n private setAriaLabelledBy() {\n const _id = this.groupLabel?.nativeElement.getAttribute('id');\n if (!_id) {\n this.groupLabel?.nativeElement.setAttribute('id', this._generatedId);\n this.ariaLabelledBy = this.radios.length ? this._generatedId : null;\n } else {\n this.ariaLabelledBy = this.radios.length ? _id : null;\n }\n }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ClrCommonFormsModule } from '@clr/angular/forms/common';\nimport { ClarityIcons, ClrIcon, errorStandardIcon, successStandardIcon } from '@clr/angular/icon';\nimport { ClrHostWrappingModule } from '@clr/angular/utils';\n\nimport { ClrRadio } from './radio';\nimport { ClrRadioContainer } from './radio-container';\nimport { ClrRadioWrapper } from './radio-wrapper';\n\n@NgModule({\n imports: [CommonModule, ClrCommonFormsModule, ClrHostWrappingModule, ClrIcon],\n declarations: [ClrRadio, ClrRadioContainer, ClrRadioWrapper],\n exports: [ClrCommonFormsModule, ClrRadio, ClrRadioContainer, ClrRadioWrapper],\n})\nexport class ClrRadioModule {\n constructor() {\n ClarityIcons.addIcons(successStandardIcon, errorStandardIcon);\n }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './radio';\nexport * from './radio-container';\nexport * from './radio-wrapper';\nexport * from './radio.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"clr-angular-forms-radio.mjs","sources":["../../../projects/angular/forms/radio/radio-wrapper.ts","../../../projects/angular/forms/radio/radio.ts","../../../projects/angular/forms/radio/radio-container.ts","../../../projects/angular/forms/radio/radio.module.ts","../../../projects/angular/forms/radio/index.ts","../../../projects/angular/forms/radio/clr-angular-forms-radio.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Component, ContentChild, OnInit } from '@angular/core';\nimport { ClrControlLabel, ControlIdService } from '@clr/angular/forms/common';\n\n@Component({\n selector: 'clr-radio-wrapper',\n template: `\n <ng-content select=\"[clrRadio]\"></ng-content>\n <ng-content select=\"label\"></ng-content>\n @if (!label) {\n <label></label>\n }\n `,\n host: {\n '[class.clr-radio-wrapper]': 'true',\n },\n providers: [ControlIdService],\n standalone: false,\n})\nexport class ClrRadioWrapper implements OnInit {\n @ContentChild(ClrControlLabel, { static: true }) label: ClrControlLabel;\n\n ngOnInit() {\n if (this.label) {\n this.label.disableGrid();\n }\n }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Directive, ElementRef, Injector, Optional, Renderer2, Self, ViewContainerRef } from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { WrappedFormControl } from '@clr/angular/forms/common';\n\nimport { ClrRadioWrapper } from './radio-wrapper';\n\n@Directive({\n selector: '[clrRadio]',\n standalone: false,\n})\nexport class ClrRadio extends WrappedFormControl<ClrRadioWrapper> {\n constructor(\n vcr: ViewContainerRef,\n injector: Injector,\n @Self()\n @Optional()\n control: NgControl,\n renderer: Renderer2,\n el: ElementRef<HTMLInputElement>\n ) {\n super(vcr, ClrRadioWrapper, injector, control, renderer, el);\n }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { AfterContentInit, Component, ContentChildren, Input, Optional, QueryList } from '@angular/core';\nimport {\n ClrAbstractContainer,\n ContainerIdService,\n ControlClassService,\n LayoutService,\n NgControlService,\n} from '@clr/angular/forms/common';\nimport { uniqueIdFactory } from '@clr/angular/utils';\n\nimport { ClrRadio } from './radio';\n\n@Component({\n selector: 'clr-radio-container',\n template: `\n <ng-content select=\"label\"></ng-content>\n @if (!label && addGrid()) {\n <label></label>\n }\n <div class=\"clr-control-container\" [class.clr-control-inline]=\"clrInline\" [ngClass]=\"controlClass()\">\n <ng-content select=\"clr-radio-wrapper\"></ng-content>\n @if (showHelper) {\n <div class=\"clr-subtext-wrapper\">\n <ng-content select=\"clr-control-helper\"></ng-content>\n </div>\n }\n @if (showInvalid) {\n <ng-content select=\"clr-control-error\"></ng-content>\n }\n @if (showValid) {\n <ng-content select=\"clr-control-success\"></ng-content>\n }\n </div>\n `,\n host: {\n '[class.clr-form-control]': 'true',\n '[class.clr-form-control-disabled]': 'control?.disabled',\n '[class.clr-row]': 'addGrid()',\n '[attr.role]': 'role',\n '[attr.aria-labelledby]': 'ariaLabelledBy',\n },\n providers: [NgControlService, ControlClassService, ContainerIdService],\n standalone: false,\n})\nexport class ClrRadioContainer extends ClrAbstractContainer implements AfterContentInit {\n role: string;\n ariaLabelledBy: string;\n\n @ContentChildren(ClrRadio, { descendants: true }) radios: QueryList<ClrRadio>;\n\n private inline = false;\n private _generatedId = uniqueIdFactory();\n\n constructor(\n @Optional() protected override layoutService: LayoutService,\n protected override controlClassService: ControlClassService,\n protected override ngControlService: NgControlService\n ) {\n super(layoutService, controlClassService, ngControlService);\n }\n\n /*\n * Here we want to support the following cases\n * clrInline - true by presence\n * clrInline=\"true|false\" - unless it is explicitly false, strings are considered true\n * [clrInline]=\"true|false\" - expect a boolean\n */\n @Input()\n get clrInline() {\n return this.inline;\n }\n set clrInline(value: boolean | string) {\n if (typeof value === 'string') {\n this.inline = value === 'false' ? false : true;\n } else {\n this.inline = !!value;\n }\n }\n\n ngAfterContentInit() {\n this.setAriaRoles();\n this.setAriaLabelledBy();\n }\n\n private setAriaRoles() {\n this.role = this.radios.length ? 'radiogroup' : null;\n }\n\n private setAriaLabelledBy() {\n if (this.label && !this.label.idAttr) {\n this.label.idAttr = this._generatedId;\n }\n\n this.ariaLabelledBy = this.radios?.length && this.label ? this.label.idAttr : null;\n }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ClrCommonFormsModule } from '@clr/angular/forms/common';\nimport { ClarityIcons, ClrIcon, errorStandardIcon, successStandardIcon } from '@clr/angular/icon';\nimport { ClrHostWrappingModule } from '@clr/angular/utils';\n\nimport { ClrRadio } from './radio';\nimport { ClrRadioContainer } from './radio-container';\nimport { ClrRadioWrapper } from './radio-wrapper';\n\n@NgModule({\n imports: [CommonModule, ClrCommonFormsModule, ClrHostWrappingModule, ClrIcon],\n declarations: [ClrRadio, ClrRadioContainer, ClrRadioWrapper],\n exports: [ClrCommonFormsModule, ClrRadio, ClrRadioContainer, ClrRadioWrapper],\n})\nexport class ClrRadioModule {\n constructor() {\n ClarityIcons.addIcons(successStandardIcon, errorStandardIcon);\n }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './radio';\nexport * from './radio-container';\nexport * from './radio-wrapper';\nexport * from './radio.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
@@ -203,6 +203,20 @@ class ClarityIcons {
203
203
  static get registry() {
204
204
  return { unknown: unknownIcon[1], ...GlobalStateService.state.iconRegistry };
205
205
  }
206
+ /**
207
+ * Looks up a single icon shape by name without copying the entire registry.
208
+ *
209
+ * Prefer this over indexing into `registry` (e.g. `registry[name]`) in hot paths like icon
210
+ * rendering: `registry` spreads the whole (potentially large) registry into a new object on
211
+ * every access, which becomes expensive/memory-churning when many icons render or re-render.
212
+ */
213
+ static getIconShape(name) {
214
+ const iconRegistry = GlobalStateService.state.iconRegistry;
215
+ if (name in iconRegistry) {
216
+ return iconRegistry[name];
217
+ }
218
+ return name === 'unknown' ? unknownIcon[1] : undefined;
219
+ }
206
220
  static addIcons(...shapes) {
207
221
  // Use the static GlobalStateService
208
222
  const currentRegistry = GlobalStateService.state.iconRegistry;
@@ -221,11 +235,10 @@ class ClarityIcons {
221
235
  * The team will revisit this method for possible deprecation.
222
236
  */
223
237
  static addAliases(...aliases) {
224
- const currentRegistry = ClarityIcons.registry; // Use the getter to include 'unknown'
225
238
  const currentGlobalRegistry = GlobalStateService.state.iconRegistry;
226
239
  const newAliases = aliases
227
- .filter(([name]) => currentRegistry[name]) // Check if the icon to be aliased exists
228
- .map(([name, aliasNames]) => aliasNames.map(alias => [alias, currentRegistry[name]])); // Map to [aliasName, iconTemplate]
240
+ .filter(([name]) => ClarityIcons.getIconShape(name)) // Check if the icon to be aliased exists
241
+ .map(([name, aliasNames]) => aliasNames.map(alias => [alias, ClarityIcons.getIconShape(name)])); // Map to [aliasName, iconTemplate]
229
242
  GlobalStateService.setValue('iconRegistry', {
230
243
  ...currentGlobalRegistry,
231
244
  ...Object.fromEntries(newAliases.flat()),
@@ -353,7 +366,8 @@ function getIconBadgeSVG(icon) {
353
366
  return badge;
354
367
  }
355
368
  function getIconSVG(icon) {
356
- const iconShape = (ClarityIcons.registry[icon.shape] ?? ClarityIcons.registry['unknown']);
369
+ const iconShape = (ClarityIcons.getIconShape(icon.shape) ??
370
+ ClarityIcons.getIconShape('unknown'));
357
371
  let shape = icon.solid && iconShape.solid ? iconShape.solid : iconShape.outline;
358
372
  if (icon.badge && !hasAlertBadge(icon)) {
359
373
  shape = icon.solid ? (iconShape.solidBadged ?? shape) : (iconShape.outlineBadged ?? shape);
@@ -456,17 +470,20 @@ class ClrIcon {
456
470
  ngOnInit() {
457
471
  this.updateIcon(); // Initial render
458
472
  this.subscription = GlobalStateService.stateUpdates.subscribe(update => {
459
- if (update.key === 'iconRegistry' && ClarityIcons.registry[this.shape] && this._priorShape !== this.shape) {
473
+ if (update.key === 'iconRegistry' && ClarityIcons.getIconShape(this.shape) && this._priorShape !== this.shape) {
460
474
  this._priorShape = this.shape;
461
475
  this.updateIcon();
462
476
  }
463
477
  });
464
478
  }
479
+ ngAfterViewInit() {
480
+ this.cleanUpAdoptedStyleSheets();
481
+ }
465
482
  ngOnDestroy() {
466
483
  this.subscription?.unsubscribe();
467
484
  }
468
485
  updateIcon() {
469
- const shapeTemplate = ClarityIcons.registry[this.shape] || ClarityIcons.registry['unknown'];
486
+ const shapeTemplate = ClarityIcons.getIconShape(this.shape) || ClarityIcons.getIconShape('unknown');
470
487
  if (typeof shapeTemplate === 'string') {
471
488
  this.isStringIcon = true;
472
489
  this.iconSVG = shapeTemplate;
@@ -480,8 +497,19 @@ class ClrIcon {
480
497
  updateIconSize(value) {
481
498
  updateIconSizeStyle(this.el.nativeElement, value);
482
499
  }
500
+ /*
501
+ @TODO - remove in v19 after `cds-icon` selector is removed
502
+ If @cds/core is used in combination with @clr/angular the internal components or others that use `cds-icon` tag
503
+ get double icons and leaking style sheets from the web component so we need to clear these up.
504
+ */
505
+ cleanUpAdoptedStyleSheets() {
506
+ const shadow = this.el.nativeElement.shadowRoot;
507
+ if (shadow) {
508
+ shadow.adoptedStyleSheets = [];
509
+ }
510
+ }
483
511
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrIcon, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
484
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: ClrIcon, isStandalone: true, selector: "clr-icon, cds-icon", inputs: { shape: "shape", size: "size", direction: "direction", flip: "flip", solid: ["solid", "solid", booleanAttribute], status: "status", inverse: ["inverse", "inverse", booleanAttribute], badge: "badge" }, host: { properties: { "attr.shape": "shape", "attr.size": "size", "attr.direction": "direction", "attr.flip": "flip", "attr.solid": "solid ? true : null", "attr.status": "status", "attr.inverse": "inverse ? true : null", "attr.badge": "badge" } }, providers: [IconHtmlPipe], ngImport: i0, template: "<!--\n ~ Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n ~ The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n@if (isStringIcon) {\n <span [innerHTML]=\"iconSVG | iconHtml\"></span>\n} @else {\n <svg [innerHTML]=\"iconSVG | iconHtml\" viewBox=\"0 0 36 36\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\"></svg>\n}\n", styles: [":host{all:initial;display:block;visibility:inherit;font-family:var(--cds-alias-typography-font-family);contain:layout;box-sizing:border-box!important;appearance:none!important}*,*:before,*:after{box-sizing:inherit!important}slot{font-family:var(--cds-alias-typography-font-family);display:contents!important}::slotted(*){font-family:inherit;box-sizing:inherit}::slotted(*)::placeholder{color:var(--cds-alias-typography-color-200)}:host([role=button]),:host([_is-anchor]){cursor:pointer!important}:host([role=button]) ::slotted(*),:host([_is-anchor]) ::slotted(*){cursor:pointer!important}:host([role=button][disabled]){cursor:not-allowed!important}:host([role=button][disabled]) ::slotted(*){cursor:not-allowed!important;pointer-events:none}:host([hidden]),[hidden]{display:none!important}:host([hidden*=false]){display:block!important}[role=dialog][hidden],[role=dialog][hidden]>*,:host([role=dialog][hidden]),:host([role=dialog][hidden]) ::slotted(*){display:block!important;visibility:hidden!important}[role=dialog][hidden*=false],[role=dialog][hidden*=false]>*,:host([role=dialog][hidden*=false]),:host([role=dialog][hidden*=false]) ::slotted(*){visibility:visible!important}:host([tabindex=\"0\"]:focus),:host([tabindex=\"0\"]:focus) [focusable],:host([_focused]) [focusable],:host([_focused]) .input,[tabindex=\"0\"][focusable]:focus{outline:Highlight solid 2px;outline:5px auto -webkit-focus-ring-color;outline-offset:var(--cds-alias-object-interaction-outline-offset)}:host{--color: currentColor;display:inline-block;height:var(--cds-global-space-7);width:var(--cds-global-space-7);min-height:var(--cds-global-space-7);min-width:var(--cds-global-space-7);margin:0;vertical-align:middle;fill:var(--color);color:var(--color);contain:strict;cursor:inherit}svg{display:block}:host([size*=xs]){height:var(--clr-base-icon-size-xs);width:var(--clr-base-icon-size-xs);min-height:var(--clr-base-icon-size-xs);min-width:var(--clr-base-icon-size-xs)}:host([size*=sm]){height:var(--clr-base-icon-size-s);width:var(--clr-base-icon-size-s);min-height:var(--clr-base-icon-size-s);min-width:var(--clr-base-icon-size-s)}:host([size*=md]){height:var(--clr-base-icon-size-m);width:var(--clr-base-icon-size-m);min-height:var(--clr-base-icon-size-m);min-width:var(--clr-base-icon-size-m)}:host([size*=lg]){height:var(--clr-base-icon-size-l);width:var(--clr-base-icon-size-l);min-height:var(--clr-base-icon-size-l);min-width:var(--clr-base-icon-size-l)}:host([size*=xl]){height:var(--clr-base-icon-size-xl);width:var(--clr-base-icon-size-xl);min-height:var(--clr-base-icon-size-xl);min-width:var(--clr-base-icon-size-xl)}:host([size*=xxl]){height:var(--clr-base-icon-size-2xl);width:var(--clr-base-icon-size-2xl);min-height:var(--clr-base-icon-size-2xl);min-width:var(--clr-base-icon-size-2xl)}:host([size*=\"3xl\"]){height:var(--clr-base-icon-size-3xl);width:var(--clr-base-icon-size-3xl);min-height:var(--clr-base-icon-size-3xl);min-width:var(--clr-base-icon-size-3xl)}:host([size*=\"4xl\"]){height:var(--clr-base-icon-size-4xl);width:var(--clr-base-icon-size-4xl);min-height:var(--clr-base-icon-size-4xl);min-width:var(--clr-base-icon-size-4xl)}:host([size*=fit]){height:auto;width:auto;contain:layout}:host([status=success]){--color: var(--cds-alias-status-success)}:host([status=danger]){--color: var(--cds-alias-status-danger)}:host([status=warning]){--color: var(--cds-alias-status-warning-dark)}:host([status=info]){--color: var(--cds-alias-status-info)}:host([status=neutral]){--color: var(--cds-alias-status-neutral)}:host([inverse]){--color: var(--cds-global-color-construction-200)}:host([direction=up]){transform:rotate(0)}:host([direction=down]){transform:rotate(180deg)}:host([direction=right]){transform:rotate(90deg)}:host([direction=left]){transform:rotate(270deg)}:host([flip=horizontal]){transform:scale(-1) rotateX(180deg)}:host([flip=vertical]){transform:scale(-1) rotateY(180deg)}.badge,.alert{fill:var(--badge-color, var(--cds-alias-status-danger))}:host([badge=success]){--badge-color: var(--cds-alias-status-success)}:host([badge=danger]){--badge-color: var(--cds-alias-status-danger)}:host([badge*=warning]){--badge-color: var(--cds-alias-status-warning-dark)}:host([badge=inherit]){--badge-color: currentColor}:host([badge=info]){--badge-color: var(--cds-alias-status-info)}:host([badge=neutral]){--badge-color: var(--cds-alias-status-neutral)}:host([badge=inherit-triangle]){--badge-color: currentColor}:host([badge][inverse]){--badge-color: var(--cds-alias-status-danger)}:host([badge=success][inverse]){--badge-color: var(--cds-alias-status-success)}:host([badge*=warning][inverse]){--badge-color: var(--cds-alias-status-warning-dark)}:host([badge*=inherit][inverse]){--badge-color: currentColor}:host([badge=info][inverse]){--badge-color: var(--cds-alias-status-info)}.cds-internal-dot-1{animation:fade-in-and-out 1.8s ease-in 0s infinite}.cds-internal-dot-2{animation:fade-in-and-out 1.8s ease-out .422s infinite}.cds-internal-dot-3{animation:fade-in-and-out 1.8s ease-out .675s infinite}@keyframes fade-in-and-out{0%{opacity:0}75%{opacity:1}to{opacity:0}}@media(prefers-reduced-motion){.cds-internal-dot-1,.cds-internal-dot-2,.cds-internal-dot-3{animation:none}}\n"], dependencies: [{ kind: "pipe", type: IconHtmlPipe, name: "iconHtml" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.ExperimentalIsolatedShadowDom }); }
512
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: ClrIcon, isStandalone: true, selector: "clr-icon, cds-icon", inputs: { shape: "shape", size: "size", direction: "direction", flip: "flip", solid: ["solid", "solid", booleanAttribute], status: "status", inverse: ["inverse", "inverse", booleanAttribute], badge: "badge" }, host: { properties: { "attr.shape": "shape", "attr.size": "size", "attr.direction": "direction", "attr.flip": "flip", "attr.solid": "solid ? true : null", "attr.status": "status", "attr.inverse": "inverse ? true : null", "attr.badge": "badge" } }, providers: [IconHtmlPipe], ngImport: i0, template: "<!--\n ~ Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n ~ The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n@if (isStringIcon) {\n <span [innerHTML]=\"iconSVG | iconHtml\" data-ng-owner></span>\n} @else {\n <svg\n [innerHTML]=\"iconSVG | iconHtml\"\n viewBox=\"0 0 36 36\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n data-ng-owner\n ></svg>\n}\n", styles: [":host{all:initial;display:block;visibility:inherit;font-family:var(--cds-alias-typography-font-family);contain:layout;box-sizing:border-box!important;appearance:none!important}*,*:before,*:after{box-sizing:inherit!important}slot{font-family:var(--cds-alias-typography-font-family);display:contents!important}::slotted(*){font-family:inherit;box-sizing:inherit}::slotted(*)::placeholder{color:var(--cds-alias-typography-color-200)}:host([role=button]),:host([_is-anchor]){cursor:pointer!important}:host([role=button]) ::slotted(*),:host([_is-anchor]) ::slotted(*){cursor:pointer!important}:host([role=button][disabled]){cursor:not-allowed!important}:host([role=button][disabled]) ::slotted(*){cursor:not-allowed!important;pointer-events:none}:host([hidden]),[hidden]{display:none!important}:host([hidden*=false]){display:block!important}[role=dialog][hidden],[role=dialog][hidden]>*,:host([role=dialog][hidden]),:host([role=dialog][hidden]) ::slotted(*){display:block!important;visibility:hidden!important}[role=dialog][hidden*=false],[role=dialog][hidden*=false]>*,:host([role=dialog][hidden*=false]),:host([role=dialog][hidden*=false]) ::slotted(*){visibility:visible!important}:host([tabindex=\"0\"]:focus),:host([tabindex=\"0\"]:focus) [focusable],:host([_focused]) [focusable],:host([_focused]) .input,[tabindex=\"0\"][focusable]:focus{outline:Highlight solid 2px;outline:5px auto -webkit-focus-ring-color;outline-offset:var(--cds-alias-object-interaction-outline-offset)}:host{--color: currentColor;display:inline-block;height:var(--cds-global-space-7);width:var(--cds-global-space-7);min-height:var(--cds-global-space-7);min-width:var(--cds-global-space-7);margin:0;vertical-align:middle;fill:var(--color);color:var(--color);contain:strict;cursor:inherit}:host>svg:not([data-ng-owner]){display:none!important}svg{display:block}:host([size*=xs]){height:var(--clr-base-icon-size-xs);width:var(--clr-base-icon-size-xs);min-height:var(--clr-base-icon-size-xs);min-width:var(--clr-base-icon-size-xs)}:host([size*=sm]){height:var(--clr-base-icon-size-s);width:var(--clr-base-icon-size-s);min-height:var(--clr-base-icon-size-s);min-width:var(--clr-base-icon-size-s)}:host([size*=md]){height:var(--clr-base-icon-size-m);width:var(--clr-base-icon-size-m);min-height:var(--clr-base-icon-size-m);min-width:var(--clr-base-icon-size-m)}:host([size*=lg]){height:var(--clr-base-icon-size-l);width:var(--clr-base-icon-size-l);min-height:var(--clr-base-icon-size-l);min-width:var(--clr-base-icon-size-l)}:host([size*=xl]){height:var(--clr-base-icon-size-xl);width:var(--clr-base-icon-size-xl);min-height:var(--clr-base-icon-size-xl);min-width:var(--clr-base-icon-size-xl)}:host([size*=xxl]){height:var(--clr-base-icon-size-2xl);width:var(--clr-base-icon-size-2xl);min-height:var(--clr-base-icon-size-2xl);min-width:var(--clr-base-icon-size-2xl)}:host([size*=\"3xl\"]){height:var(--clr-base-icon-size-3xl);width:var(--clr-base-icon-size-3xl);min-height:var(--clr-base-icon-size-3xl);min-width:var(--clr-base-icon-size-3xl)}:host([size*=\"4xl\"]){height:var(--clr-base-icon-size-4xl);width:var(--clr-base-icon-size-4xl);min-height:var(--clr-base-icon-size-4xl);min-width:var(--clr-base-icon-size-4xl)}:host([size*=fit]){height:auto;width:auto;contain:layout}:host([status=success]){--color: var(--cds-alias-status-success)}:host([status=danger]){--color: var(--cds-alias-status-danger)}:host([status=warning]){--color: var(--cds-alias-status-warning-dark)}:host([status=info]){--color: var(--cds-alias-status-info)}:host([status=neutral]){--color: var(--cds-alias-status-neutral)}:host([inverse]){--color: var(--cds-global-color-construction-200)}:host([direction=up]){transform:rotate(0)}:host([direction=down]){transform:rotate(180deg)}:host([direction=right]){transform:rotate(90deg)}:host([direction=left]){transform:rotate(270deg)}:host([flip=horizontal]){transform:scale(-1) rotateX(180deg)}:host([flip=vertical]){transform:scale(-1) rotateY(180deg)}.badge,.alert{fill:var(--badge-color, var(--cds-alias-status-danger))}:host([badge=success]){--badge-color: var(--cds-alias-status-success)}:host([badge=danger]){--badge-color: var(--cds-alias-status-danger)}:host([badge*=warning]){--badge-color: var(--cds-alias-status-warning-dark)}:host([badge=inherit]){--badge-color: currentColor}:host([badge=info]){--badge-color: var(--cds-alias-status-info)}:host([badge=neutral]){--badge-color: var(--cds-alias-status-neutral)}:host([badge=inherit-triangle]){--badge-color: currentColor}:host([badge][inverse]){--badge-color: var(--cds-alias-status-danger)}:host([badge=success][inverse]){--badge-color: var(--cds-alias-status-success)}:host([badge*=warning][inverse]){--badge-color: var(--cds-alias-status-warning-dark)}:host([badge*=inherit][inverse]){--badge-color: currentColor}:host([badge=info][inverse]){--badge-color: var(--cds-alias-status-info)}.cds-internal-dot-1{animation:fade-in-and-out 1.8s ease-in 0s infinite}.cds-internal-dot-2{animation:fade-in-and-out 1.8s ease-out .422s infinite}.cds-internal-dot-3{animation:fade-in-and-out 1.8s ease-out .675s infinite}@keyframes fade-in-and-out{0%{opacity:0}75%{opacity:1}to{opacity:0}}@media(prefers-reduced-motion){.cds-internal-dot-1,.cds-internal-dot-2,.cds-internal-dot-3{animation:none}}\n"], dependencies: [{ kind: "pipe", type: IconHtmlPipe, name: "iconHtml" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.ExperimentalIsolatedShadowDom }); }
485
513
  }
486
514
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrIcon, decorators: [{
487
515
  type: Component,
@@ -494,7 +522,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
494
522
  '[attr.status]': 'status',
495
523
  '[attr.inverse]': 'inverse ? true : null',
496
524
  '[attr.badge]': 'badge',
497
- }, imports: [IconHtmlPipe], providers: [IconHtmlPipe], template: "<!--\n ~ Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n ~ The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n@if (isStringIcon) {\n <span [innerHTML]=\"iconSVG | iconHtml\"></span>\n} @else {\n <svg [innerHTML]=\"iconSVG | iconHtml\" viewBox=\"0 0 36 36\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\"></svg>\n}\n", styles: [":host{all:initial;display:block;visibility:inherit;font-family:var(--cds-alias-typography-font-family);contain:layout;box-sizing:border-box!important;appearance:none!important}*,*:before,*:after{box-sizing:inherit!important}slot{font-family:var(--cds-alias-typography-font-family);display:contents!important}::slotted(*){font-family:inherit;box-sizing:inherit}::slotted(*)::placeholder{color:var(--cds-alias-typography-color-200)}:host([role=button]),:host([_is-anchor]){cursor:pointer!important}:host([role=button]) ::slotted(*),:host([_is-anchor]) ::slotted(*){cursor:pointer!important}:host([role=button][disabled]){cursor:not-allowed!important}:host([role=button][disabled]) ::slotted(*){cursor:not-allowed!important;pointer-events:none}:host([hidden]),[hidden]{display:none!important}:host([hidden*=false]){display:block!important}[role=dialog][hidden],[role=dialog][hidden]>*,:host([role=dialog][hidden]),:host([role=dialog][hidden]) ::slotted(*){display:block!important;visibility:hidden!important}[role=dialog][hidden*=false],[role=dialog][hidden*=false]>*,:host([role=dialog][hidden*=false]),:host([role=dialog][hidden*=false]) ::slotted(*){visibility:visible!important}:host([tabindex=\"0\"]:focus),:host([tabindex=\"0\"]:focus) [focusable],:host([_focused]) [focusable],:host([_focused]) .input,[tabindex=\"0\"][focusable]:focus{outline:Highlight solid 2px;outline:5px auto -webkit-focus-ring-color;outline-offset:var(--cds-alias-object-interaction-outline-offset)}:host{--color: currentColor;display:inline-block;height:var(--cds-global-space-7);width:var(--cds-global-space-7);min-height:var(--cds-global-space-7);min-width:var(--cds-global-space-7);margin:0;vertical-align:middle;fill:var(--color);color:var(--color);contain:strict;cursor:inherit}svg{display:block}:host([size*=xs]){height:var(--clr-base-icon-size-xs);width:var(--clr-base-icon-size-xs);min-height:var(--clr-base-icon-size-xs);min-width:var(--clr-base-icon-size-xs)}:host([size*=sm]){height:var(--clr-base-icon-size-s);width:var(--clr-base-icon-size-s);min-height:var(--clr-base-icon-size-s);min-width:var(--clr-base-icon-size-s)}:host([size*=md]){height:var(--clr-base-icon-size-m);width:var(--clr-base-icon-size-m);min-height:var(--clr-base-icon-size-m);min-width:var(--clr-base-icon-size-m)}:host([size*=lg]){height:var(--clr-base-icon-size-l);width:var(--clr-base-icon-size-l);min-height:var(--clr-base-icon-size-l);min-width:var(--clr-base-icon-size-l)}:host([size*=xl]){height:var(--clr-base-icon-size-xl);width:var(--clr-base-icon-size-xl);min-height:var(--clr-base-icon-size-xl);min-width:var(--clr-base-icon-size-xl)}:host([size*=xxl]){height:var(--clr-base-icon-size-2xl);width:var(--clr-base-icon-size-2xl);min-height:var(--clr-base-icon-size-2xl);min-width:var(--clr-base-icon-size-2xl)}:host([size*=\"3xl\"]){height:var(--clr-base-icon-size-3xl);width:var(--clr-base-icon-size-3xl);min-height:var(--clr-base-icon-size-3xl);min-width:var(--clr-base-icon-size-3xl)}:host([size*=\"4xl\"]){height:var(--clr-base-icon-size-4xl);width:var(--clr-base-icon-size-4xl);min-height:var(--clr-base-icon-size-4xl);min-width:var(--clr-base-icon-size-4xl)}:host([size*=fit]){height:auto;width:auto;contain:layout}:host([status=success]){--color: var(--cds-alias-status-success)}:host([status=danger]){--color: var(--cds-alias-status-danger)}:host([status=warning]){--color: var(--cds-alias-status-warning-dark)}:host([status=info]){--color: var(--cds-alias-status-info)}:host([status=neutral]){--color: var(--cds-alias-status-neutral)}:host([inverse]){--color: var(--cds-global-color-construction-200)}:host([direction=up]){transform:rotate(0)}:host([direction=down]){transform:rotate(180deg)}:host([direction=right]){transform:rotate(90deg)}:host([direction=left]){transform:rotate(270deg)}:host([flip=horizontal]){transform:scale(-1) rotateX(180deg)}:host([flip=vertical]){transform:scale(-1) rotateY(180deg)}.badge,.alert{fill:var(--badge-color, var(--cds-alias-status-danger))}:host([badge=success]){--badge-color: var(--cds-alias-status-success)}:host([badge=danger]){--badge-color: var(--cds-alias-status-danger)}:host([badge*=warning]){--badge-color: var(--cds-alias-status-warning-dark)}:host([badge=inherit]){--badge-color: currentColor}:host([badge=info]){--badge-color: var(--cds-alias-status-info)}:host([badge=neutral]){--badge-color: var(--cds-alias-status-neutral)}:host([badge=inherit-triangle]){--badge-color: currentColor}:host([badge][inverse]){--badge-color: var(--cds-alias-status-danger)}:host([badge=success][inverse]){--badge-color: var(--cds-alias-status-success)}:host([badge*=warning][inverse]){--badge-color: var(--cds-alias-status-warning-dark)}:host([badge*=inherit][inverse]){--badge-color: currentColor}:host([badge=info][inverse]){--badge-color: var(--cds-alias-status-info)}.cds-internal-dot-1{animation:fade-in-and-out 1.8s ease-in 0s infinite}.cds-internal-dot-2{animation:fade-in-and-out 1.8s ease-out .422s infinite}.cds-internal-dot-3{animation:fade-in-and-out 1.8s ease-out .675s infinite}@keyframes fade-in-and-out{0%{opacity:0}75%{opacity:1}to{opacity:0}}@media(prefers-reduced-motion){.cds-internal-dot-1,.cds-internal-dot-2,.cds-internal-dot-3{animation:none}}\n"] }]
525
+ }, imports: [IconHtmlPipe], providers: [IconHtmlPipe], template: "<!--\n ~ Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n ~ The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n@if (isStringIcon) {\n <span [innerHTML]=\"iconSVG | iconHtml\" data-ng-owner></span>\n} @else {\n <svg\n [innerHTML]=\"iconSVG | iconHtml\"\n viewBox=\"0 0 36 36\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n data-ng-owner\n ></svg>\n}\n", styles: [":host{all:initial;display:block;visibility:inherit;font-family:var(--cds-alias-typography-font-family);contain:layout;box-sizing:border-box!important;appearance:none!important}*,*:before,*:after{box-sizing:inherit!important}slot{font-family:var(--cds-alias-typography-font-family);display:contents!important}::slotted(*){font-family:inherit;box-sizing:inherit}::slotted(*)::placeholder{color:var(--cds-alias-typography-color-200)}:host([role=button]),:host([_is-anchor]){cursor:pointer!important}:host([role=button]) ::slotted(*),:host([_is-anchor]) ::slotted(*){cursor:pointer!important}:host([role=button][disabled]){cursor:not-allowed!important}:host([role=button][disabled]) ::slotted(*){cursor:not-allowed!important;pointer-events:none}:host([hidden]),[hidden]{display:none!important}:host([hidden*=false]){display:block!important}[role=dialog][hidden],[role=dialog][hidden]>*,:host([role=dialog][hidden]),:host([role=dialog][hidden]) ::slotted(*){display:block!important;visibility:hidden!important}[role=dialog][hidden*=false],[role=dialog][hidden*=false]>*,:host([role=dialog][hidden*=false]),:host([role=dialog][hidden*=false]) ::slotted(*){visibility:visible!important}:host([tabindex=\"0\"]:focus),:host([tabindex=\"0\"]:focus) [focusable],:host([_focused]) [focusable],:host([_focused]) .input,[tabindex=\"0\"][focusable]:focus{outline:Highlight solid 2px;outline:5px auto -webkit-focus-ring-color;outline-offset:var(--cds-alias-object-interaction-outline-offset)}:host{--color: currentColor;display:inline-block;height:var(--cds-global-space-7);width:var(--cds-global-space-7);min-height:var(--cds-global-space-7);min-width:var(--cds-global-space-7);margin:0;vertical-align:middle;fill:var(--color);color:var(--color);contain:strict;cursor:inherit}:host>svg:not([data-ng-owner]){display:none!important}svg{display:block}:host([size*=xs]){height:var(--clr-base-icon-size-xs);width:var(--clr-base-icon-size-xs);min-height:var(--clr-base-icon-size-xs);min-width:var(--clr-base-icon-size-xs)}:host([size*=sm]){height:var(--clr-base-icon-size-s);width:var(--clr-base-icon-size-s);min-height:var(--clr-base-icon-size-s);min-width:var(--clr-base-icon-size-s)}:host([size*=md]){height:var(--clr-base-icon-size-m);width:var(--clr-base-icon-size-m);min-height:var(--clr-base-icon-size-m);min-width:var(--clr-base-icon-size-m)}:host([size*=lg]){height:var(--clr-base-icon-size-l);width:var(--clr-base-icon-size-l);min-height:var(--clr-base-icon-size-l);min-width:var(--clr-base-icon-size-l)}:host([size*=xl]){height:var(--clr-base-icon-size-xl);width:var(--clr-base-icon-size-xl);min-height:var(--clr-base-icon-size-xl);min-width:var(--clr-base-icon-size-xl)}:host([size*=xxl]){height:var(--clr-base-icon-size-2xl);width:var(--clr-base-icon-size-2xl);min-height:var(--clr-base-icon-size-2xl);min-width:var(--clr-base-icon-size-2xl)}:host([size*=\"3xl\"]){height:var(--clr-base-icon-size-3xl);width:var(--clr-base-icon-size-3xl);min-height:var(--clr-base-icon-size-3xl);min-width:var(--clr-base-icon-size-3xl)}:host([size*=\"4xl\"]){height:var(--clr-base-icon-size-4xl);width:var(--clr-base-icon-size-4xl);min-height:var(--clr-base-icon-size-4xl);min-width:var(--clr-base-icon-size-4xl)}:host([size*=fit]){height:auto;width:auto;contain:layout}:host([status=success]){--color: var(--cds-alias-status-success)}:host([status=danger]){--color: var(--cds-alias-status-danger)}:host([status=warning]){--color: var(--cds-alias-status-warning-dark)}:host([status=info]){--color: var(--cds-alias-status-info)}:host([status=neutral]){--color: var(--cds-alias-status-neutral)}:host([inverse]){--color: var(--cds-global-color-construction-200)}:host([direction=up]){transform:rotate(0)}:host([direction=down]){transform:rotate(180deg)}:host([direction=right]){transform:rotate(90deg)}:host([direction=left]){transform:rotate(270deg)}:host([flip=horizontal]){transform:scale(-1) rotateX(180deg)}:host([flip=vertical]){transform:scale(-1) rotateY(180deg)}.badge,.alert{fill:var(--badge-color, var(--cds-alias-status-danger))}:host([badge=success]){--badge-color: var(--cds-alias-status-success)}:host([badge=danger]){--badge-color: var(--cds-alias-status-danger)}:host([badge*=warning]){--badge-color: var(--cds-alias-status-warning-dark)}:host([badge=inherit]){--badge-color: currentColor}:host([badge=info]){--badge-color: var(--cds-alias-status-info)}:host([badge=neutral]){--badge-color: var(--cds-alias-status-neutral)}:host([badge=inherit-triangle]){--badge-color: currentColor}:host([badge][inverse]){--badge-color: var(--cds-alias-status-danger)}:host([badge=success][inverse]){--badge-color: var(--cds-alias-status-success)}:host([badge*=warning][inverse]){--badge-color: var(--cds-alias-status-warning-dark)}:host([badge*=inherit][inverse]){--badge-color: currentColor}:host([badge=info][inverse]){--badge-color: var(--cds-alias-status-info)}.cds-internal-dot-1{animation:fade-in-and-out 1.8s ease-in 0s infinite}.cds-internal-dot-2{animation:fade-in-and-out 1.8s ease-out .422s infinite}.cds-internal-dot-3{animation:fade-in-and-out 1.8s ease-out .675s infinite}@keyframes fade-in-and-out{0%{opacity:0}75%{opacity:1}to{opacity:0}}@media(prefers-reduced-motion){.cds-internal-dot-1,.cds-internal-dot-2,.cds-internal-dot-3{animation:none}}\n"] }]
498
526
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }], propDecorators: { shape: [{
499
527
  type: Input
500
528
  }], size: [{