@clr/angular 18.2.2 → 18.4.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.
Files changed (112) hide show
  1. package/fesm2022/clr-angular-accordion.mjs +28 -28
  2. package/fesm2022/clr-angular-accordion.mjs.map +1 -1
  3. package/fesm2022/clr-angular-button.mjs +27 -27
  4. package/fesm2022/clr-angular-button.mjs.map +1 -1
  5. package/fesm2022/clr-angular-card.mjs +417 -0
  6. package/fesm2022/clr-angular-card.mjs.map +1 -0
  7. package/fesm2022/clr-angular-collapsible-panel.mjs +6 -6
  8. package/fesm2022/clr-angular-collapsible-panel.mjs.map +1 -1
  9. package/fesm2022/clr-angular-data-datagrid.mjs +1578 -415
  10. package/fesm2022/clr-angular-data-datagrid.mjs.map +1 -1
  11. package/fesm2022/clr-angular-data-stack-view.mjs +23 -23
  12. package/fesm2022/clr-angular-data-stack-view.mjs.map +1 -1
  13. package/fesm2022/clr-angular-data-tree-view.mjs +283 -48
  14. package/fesm2022/clr-angular-data-tree-view.mjs.map +1 -1
  15. package/fesm2022/clr-angular-data.mjs +4 -4
  16. package/fesm2022/clr-angular-data.mjs.map +1 -1
  17. package/fesm2022/clr-angular-emphasis-alert.mjs +26 -26
  18. package/fesm2022/clr-angular-emphasis-alert.mjs.map +1 -1
  19. package/fesm2022/clr-angular-emphasis-badge.mjs +3 -3
  20. package/fesm2022/clr-angular-emphasis-badge.mjs.map +1 -1
  21. package/fesm2022/clr-angular-emphasis-label.mjs +3 -3
  22. package/fesm2022/clr-angular-emphasis-label.mjs.map +1 -1
  23. package/fesm2022/clr-angular-emphasis.mjs +4 -4
  24. package/fesm2022/clr-angular-emphasis.mjs.map +1 -1
  25. package/fesm2022/clr-angular-forms-checkbox.mjs +23 -14
  26. package/fesm2022/clr-angular-forms-checkbox.mjs.map +1 -1
  27. package/fesm2022/clr-angular-forms-combobox.mjs +35 -35
  28. package/fesm2022/clr-angular-forms-combobox.mjs.map +1 -1
  29. package/fesm2022/clr-angular-forms-common.mjs +69 -69
  30. package/fesm2022/clr-angular-forms-common.mjs.map +1 -1
  31. package/fesm2022/clr-angular-forms-datalist.mjs +17 -17
  32. package/fesm2022/clr-angular-forms-datalist.mjs.map +1 -1
  33. package/fesm2022/clr-angular-forms-datepicker.mjs +73 -73
  34. package/fesm2022/clr-angular-forms-datepicker.mjs.map +1 -1
  35. package/fesm2022/clr-angular-forms-file-input.mjs +36 -36
  36. package/fesm2022/clr-angular-forms-file-input.mjs.map +1 -1
  37. package/fesm2022/clr-angular-forms-input.mjs +10 -10
  38. package/fesm2022/clr-angular-forms-input.mjs.map +1 -1
  39. package/fesm2022/clr-angular-forms-number-input.mjs +12 -12
  40. package/fesm2022/clr-angular-forms-number-input.mjs.map +1 -1
  41. package/fesm2022/clr-angular-forms-password.mjs +11 -11
  42. package/fesm2022/clr-angular-forms-password.mjs.map +1 -1
  43. package/fesm2022/clr-angular-forms-radio.mjs +17 -24
  44. package/fesm2022/clr-angular-forms-radio.mjs.map +1 -1
  45. package/fesm2022/clr-angular-forms-range.mjs +10 -10
  46. package/fesm2022/clr-angular-forms-range.mjs.map +1 -1
  47. package/fesm2022/clr-angular-forms-select.mjs +10 -10
  48. package/fesm2022/clr-angular-forms-select.mjs.map +1 -1
  49. package/fesm2022/clr-angular-forms-textarea.mjs +10 -10
  50. package/fesm2022/clr-angular-forms-textarea.mjs.map +1 -1
  51. package/fesm2022/clr-angular-forms.mjs +4 -4
  52. package/fesm2022/clr-angular-forms.mjs.map +1 -1
  53. package/fesm2022/clr-angular-icon.mjs +101 -47
  54. package/fesm2022/clr-angular-icon.mjs.map +1 -1
  55. package/fesm2022/clr-angular-layout-breadcrumbs.mjs +10 -10
  56. package/fesm2022/clr-angular-layout-breadcrumbs.mjs.map +1 -1
  57. package/fesm2022/clr-angular-layout-main-container.mjs +7 -7
  58. package/fesm2022/clr-angular-layout-main-container.mjs.map +1 -1
  59. package/fesm2022/clr-angular-layout-nav.mjs +22 -22
  60. package/fesm2022/clr-angular-layout-nav.mjs.map +1 -1
  61. package/fesm2022/clr-angular-layout-tabs.mjs +35 -35
  62. package/fesm2022/clr-angular-layout-tabs.mjs.map +1 -1
  63. package/fesm2022/clr-angular-layout-vertical-nav.mjs +31 -31
  64. package/fesm2022/clr-angular-layout-vertical-nav.mjs.map +1 -1
  65. package/fesm2022/clr-angular-layout.mjs +4 -4
  66. package/fesm2022/clr-angular-layout.mjs.map +1 -1
  67. package/fesm2022/clr-angular-modal.mjs +29 -27
  68. package/fesm2022/clr-angular-modal.mjs.map +1 -1
  69. package/fesm2022/clr-angular-popover-common.mjs +70 -35
  70. package/fesm2022/clr-angular-popover-common.mjs.map +1 -1
  71. package/fesm2022/clr-angular-popover-dropdown.mjs +63 -26
  72. package/fesm2022/clr-angular-popover-dropdown.mjs.map +1 -1
  73. package/fesm2022/clr-angular-popover-signpost.mjs +27 -25
  74. package/fesm2022/clr-angular-popover-signpost.mjs.map +1 -1
  75. package/fesm2022/clr-angular-popover-tooltip.mjs +19 -19
  76. package/fesm2022/clr-angular-popover-tooltip.mjs.map +1 -1
  77. package/fesm2022/clr-angular-popover.mjs +4 -4
  78. package/fesm2022/clr-angular-popover.mjs.map +1 -1
  79. package/fesm2022/clr-angular-progress-progress-bars.mjs +7 -7
  80. package/fesm2022/clr-angular-progress-progress-bars.mjs.map +1 -1
  81. package/fesm2022/clr-angular-progress-spinner.mjs +7 -7
  82. package/fesm2022/clr-angular-progress-spinner.mjs.map +1 -1
  83. package/fesm2022/clr-angular-stepper.mjs +31 -31
  84. package/fesm2022/clr-angular-stepper.mjs.map +1 -1
  85. package/fesm2022/clr-angular-timeline.mjs +24 -24
  86. package/fesm2022/clr-angular-timeline.mjs.map +1 -1
  87. package/fesm2022/clr-angular-utils-conditional.mjs +16 -16
  88. package/fesm2022/clr-angular-utils-conditional.mjs.map +1 -1
  89. package/fesm2022/clr-angular-utils-loading.mjs +7 -7
  90. package/fesm2022/clr-angular-utils-loading.mjs.map +1 -1
  91. package/fesm2022/clr-angular-utils.mjs +149 -150
  92. package/fesm2022/clr-angular-utils.mjs.map +1 -1
  93. package/fesm2022/clr-angular-wizard.mjs +51 -51
  94. package/fesm2022/clr-angular-wizard.mjs.map +1 -1
  95. package/fesm2022/clr-angular.mjs +9 -4
  96. package/fesm2022/clr-angular.mjs.map +1 -1
  97. package/package.json +9 -5
  98. package/types/clr-angular-card.d.ts +110 -0
  99. package/types/clr-angular-data-datagrid.d.ts +427 -57
  100. package/types/clr-angular-data-tree-view.d.ts +126 -88
  101. package/types/clr-angular-forms-checkbox.d.ts +3 -0
  102. package/types/clr-angular-forms-datepicker.d.ts +1 -1
  103. package/types/clr-angular-forms-file-input.d.ts +1 -1
  104. package/types/clr-angular-forms-radio.d.ts +1 -2
  105. package/types/clr-angular-icon.d.ts +22 -2
  106. package/types/clr-angular-popover-common.d.ts +6 -0
  107. package/types/clr-angular-popover-dropdown.d.ts +33 -4
  108. package/types/clr-angular-utils.d.ts +61 -20
  109. package/types/clr-angular.d.ts +8 -6
  110. package/schematics/vitest.config.d.ts +0 -2
  111. package/schematics/vitest.config.js +0 -17
  112. package/schematics/vitest.config.js.map +0 -1
@@ -24,8 +24,8 @@ class ClrNumberInputContainer extends ClrAbstractContainer {
24
24
  focusOut() {
25
25
  this.input.dispatchBlur();
26
26
  }
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: `
27
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", 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.2.25", 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>
@@ -65,9 +65,9 @@ class ClrNumberInputContainer extends ClrAbstractContainer {
65
65
  <ng-content select="clr-control-success"></ng-content>
66
66
  }
67
67
  </div>
68
- `, isInline: true, dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i3.ClrIcon, selector: "clr-icon, cds-icon", inputs: ["shape", "size", "direction", "flip", "solid", "status", "inverse", "badge"] }, { kind: "directive", type: i1.ClrControlLabel, selector: "label", inputs: ["id", "for"] }] }); }
68
+ `, isInline: true, dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i3.ClrIcon, selector: "clr-icon, cds-icon", inputs: ["shape", "size", "direction", "flip", "solid", "status", "inverse", "badge", "innerOffset"] }, { kind: "directive", type: i1.ClrControlLabel, selector: "label", inputs: ["id", "for"] }] }); }
69
69
  }
70
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrNumberInputContainer, decorators: [{
70
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrNumberInputContainer, decorators: [{
71
71
  type: Component,
72
72
  args: [{
73
73
  selector: 'clr-number-input-container',
@@ -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],
@@ -177,10 +177,10 @@ class ClrNumberInput extends WrappedFormControl {
177
177
  this.el.nativeElement.dispatchEvent(new Event('change', { bubbles: true, cancelable: true }));
178
178
  this.triggerValidation();
179
179
  }
180
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrNumberInput, deps: [{ token: i1.FormsFocusService, optional: true }, { token: i0.ViewContainerRef }, { token: i0.Injector }, { token: i2$1.NgControl, optional: true, self: true }, { token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
181
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.3", type: ClrNumberInput, isStandalone: false, selector: "input[type=\"number\"][clrNumberInput]", host: { listeners: { "focus": "triggerFocus()" }, properties: { "class.clr-input": "true", "class.clr-number-input": "true" } }, usesInheritance: true, ngImport: i0 }); }
180
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrNumberInput, deps: [{ token: i1.FormsFocusService, optional: true }, { token: i0.ViewContainerRef }, { token: i0.Injector }, { token: i2$1.NgControl, optional: true, self: true }, { token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
181
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.25", type: ClrNumberInput, isStandalone: false, selector: "input[type=\"number\"][clrNumberInput]", host: { listeners: { "focus": "triggerFocus()" }, properties: { "class.clr-input": "true", "class.clr-number-input": "true" } }, usesInheritance: true, ngImport: i0 }); }
182
182
  }
183
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrNumberInput, decorators: [{
183
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrNumberInput, decorators: [{
184
184
  type: Directive,
185
185
  args: [{
186
186
  selector: 'input[type="number"][clrNumberInput]',
@@ -208,11 +208,11 @@ class ClrNumberInputModule {
208
208
  constructor() {
209
209
  ClarityIcons.addIcons(successStandardIcon, errorStandardIcon, minusIcon, plusIcon);
210
210
  }
211
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrNumberInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
212
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.3", ngImport: i0, type: ClrNumberInputModule, declarations: [ClrNumberInput, ClrNumberInputContainer], imports: [CommonModule, FormsModule, ClrIcon, ClrCommonFormsModule], exports: [ClrCommonFormsModule, ClrNumberInput, ClrNumberInputContainer] }); }
213
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrNumberInputModule, imports: [CommonModule, FormsModule, ClrIcon, ClrCommonFormsModule, ClrCommonFormsModule] }); }
211
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrNumberInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
212
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.25", ngImport: i0, type: ClrNumberInputModule, declarations: [ClrNumberInput, ClrNumberInputContainer], imports: [CommonModule, FormsModule, ClrIcon, ClrCommonFormsModule], exports: [ClrCommonFormsModule, ClrNumberInput, ClrNumberInputContainer] }); }
213
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrNumberInputModule, imports: [CommonModule, FormsModule, ClrIcon, ClrCommonFormsModule, ClrCommonFormsModule] }); }
214
214
  }
215
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrNumberInputModule, decorators: [{
215
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrNumberInputModule, decorators: [{
216
216
  type: NgModule,
217
217
  args: [{
218
218
  imports: [CommonModule, FormsModule, ClrIcon, ClrCommonFormsModule],
@@ -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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"}
@@ -56,8 +56,8 @@ class ClrPasswordContainer extends ClrAbstractContainer {
56
56
  hidePasswordText(label) {
57
57
  return this.commonStrings.parse(this.commonStrings.keys.passwordHide, { LABEL: label });
58
58
  }
59
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrPasswordContainer, deps: [{ token: i1.LayoutService, optional: true }, { token: i1.ControlClassService }, { token: i1.NgControlService }, { token: i1.FormsFocusService }, { token: TOGGLE_SERVICE }, { token: i2.ClrCommonStringsService }], target: i0.ɵɵFactoryTarget.Component }); }
60
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: ClrPasswordContainer, isStandalone: false, selector: "clr-password-container", inputs: { clrToggle: "clrToggle" }, host: { properties: { "class.clr-form-control": "true", "class.clr-form-control-disabled": "control?.disabled", "class.clr-row": "addGrid()" } }, providers: [NgControlService, ControlIdService, ControlClassService, FormsFocusService, TOGGLE_SERVICE_PROVIDER], usesInheritance: true, ngImport: i0, template: `
59
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrPasswordContainer, deps: [{ token: i1.LayoutService, optional: true }, { token: i1.ControlClassService }, { token: i1.NgControlService }, { token: i1.FormsFocusService }, { token: TOGGLE_SERVICE }, { token: i2.ClrCommonStringsService }], target: i0.ɵɵFactoryTarget.Component }); }
60
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.25", type: ClrPasswordContainer, isStandalone: false, selector: "clr-password-container", inputs: { clrToggle: "clrToggle" }, host: { properties: { "class.clr-form-control": "true", "class.clr-form-control-disabled": "control?.disabled", "class.clr-row": "addGrid()" } }, providers: [NgControlService, ControlIdService, ControlClassService, FormsFocusService, TOGGLE_SERVICE_PROVIDER], usesInheritance: true, ngImport: i0, template: `
61
61
  <ng-content select="label"></ng-content>
62
62
  @if (!label && addGrid()) {
63
63
  <label></label>
@@ -86,9 +86,9 @@ class ClrPasswordContainer extends ClrAbstractContainer {
86
86
  <ng-content select="clr-control-success"></ng-content>
87
87
  }
88
88
  </div>
89
- `, isInline: true, dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i4.ClrIcon, selector: "clr-icon, cds-icon", inputs: ["shape", "size", "direction", "flip", "solid", "status", "inverse", "badge"] }, { kind: "directive", type: i1.ClrControlLabel, selector: "label", inputs: ["id", "for"] }] }); }
89
+ `, isInline: true, dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i4.ClrIcon, selector: "clr-icon, cds-icon", inputs: ["shape", "size", "direction", "flip", "solid", "status", "inverse", "badge", "innerOffset"] }, { kind: "directive", type: i1.ClrControlLabel, selector: "label", inputs: ["id", "for"] }] }); }
90
90
  }
91
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrPasswordContainer, decorators: [{
91
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrPasswordContainer, decorators: [{
92
92
  type: Component,
93
93
  args: [{
94
94
  selector: 'clr-password-container',
@@ -169,10 +169,10 @@ class ClrPassword extends WrappedFormControl {
169
169
  this.focusService.focused = false;
170
170
  }
171
171
  }
172
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrPassword, deps: [{ token: i0.ViewContainerRef }, { token: i0.Injector }, { token: i1$1.NgControl, optional: true, self: true }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.FormsFocusService, optional: true }, { token: TOGGLE_SERVICE, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
173
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.3", type: ClrPassword, isStandalone: false, selector: "[clrPassword]", host: { listeners: { "focus": "triggerFocus()" }, properties: { "class.clr-input": "true" } }, usesInheritance: true, ngImport: i0 }); }
172
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrPassword, deps: [{ token: i0.ViewContainerRef }, { token: i0.Injector }, { token: i1$1.NgControl, optional: true, self: true }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.FormsFocusService, optional: true }, { token: TOGGLE_SERVICE, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
173
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.25", type: ClrPassword, isStandalone: false, selector: "[clrPassword]", host: { listeners: { "focus": "triggerFocus()" }, properties: { "class.clr-input": "true" } }, usesInheritance: true, ngImport: i0 }); }
174
174
  }
175
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrPassword, decorators: [{
175
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrPassword, decorators: [{
176
176
  type: Directive,
177
177
  args: [{
178
178
  selector: '[clrPassword]',
@@ -205,11 +205,11 @@ class ClrPasswordModule {
205
205
  constructor() {
206
206
  ClarityIcons.addIcons(eyeHideIcon, eyeIcon, successStandardIcon, errorStandardIcon);
207
207
  }
208
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrPasswordModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
209
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.3", ngImport: i0, type: ClrPasswordModule, declarations: [ClrPassword, ClrPasswordContainer], imports: [CommonModule, FormsModule, ClrIcon, ClrCommonFormsModule], exports: [ClrCommonFormsModule, ClrPassword, ClrPasswordContainer] }); }
210
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrPasswordModule, imports: [CommonModule, FormsModule, ClrIcon, ClrCommonFormsModule, ClrCommonFormsModule] }); }
208
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrPasswordModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
209
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.25", ngImport: i0, type: ClrPasswordModule, declarations: [ClrPassword, ClrPasswordContainer], imports: [CommonModule, FormsModule, ClrIcon, ClrCommonFormsModule], exports: [ClrCommonFormsModule, ClrPassword, ClrPasswordContainer] }); }
210
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrPasswordModule, imports: [CommonModule, FormsModule, ClrIcon, ClrCommonFormsModule, ClrCommonFormsModule] }); }
211
211
  }
212
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrPasswordModule, decorators: [{
212
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrPasswordModule, decorators: [{
213
213
  type: NgModule,
214
214
  args: [{
215
215
  imports: [CommonModule, FormsModule, ClrIcon, ClrCommonFormsModule],
@@ -1 +1 @@
1
- {"version":3,"file":"clr-angular-forms-password.mjs","sources":["../../../projects/angular/forms/password/password-container.ts","../../../projects/angular/forms/password/password.ts","../../../projects/angular/forms/password/password.module.ts","../../../projects/angular/forms/password/index.ts","../../../projects/angular/forms/password/clr-angular-forms-password.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, Inject, InjectionToken, Input, Optional } from '@angular/core';\nimport {\n ClrAbstractContainer,\n ControlClassService,\n ControlIdService,\n FormsFocusService,\n LayoutService,\n NgControlService,\n} from '@clr/angular/forms/common';\nimport { ClrCommonStringsService } from '@clr/angular/utils';\nimport { BehaviorSubject } from 'rxjs';\n\nexport const TOGGLE_SERVICE = new InjectionToken<BehaviorSubject<boolean>>(undefined);\nexport function ToggleServiceFactory() {\n return new BehaviorSubject<boolean>(false);\n}\nexport const TOGGLE_SERVICE_PROVIDER = { provide: TOGGLE_SERVICE, useFactory: ToggleServiceFactory };\n\n@Component({\n selector: 'clr-password-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-input-wrapper\">\n <div class=\"clr-input-group\" [class.clr-focus]=\"focus\">\n <ng-content select=\"[clrPassword]\"></ng-content>\n @if (clrToggle) {\n <button (click)=\"toggle()\" [disabled]=\"control?.disabled\" class=\"clr-input-group-icon-action\" type=\"button\">\n <cds-icon class=\"clr-password-eye-icon\" [shape]=\"show ? 'eye-hide' : 'eye'\"></cds-icon>\n <span class=\"clr-sr-only\">\n {{ show ? hidePasswordText(label?.labelText) : showPasswordText(label?.labelText) }}\n </span>\n </button>\n }\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-row]': 'addGrid()',\n },\n providers: [NgControlService, ControlIdService, ControlClassService, FormsFocusService, TOGGLE_SERVICE_PROVIDER],\n standalone: false,\n})\nexport class ClrPasswordContainer extends ClrAbstractContainer {\n show = false;\n focus = false;\n\n private _toggle = true;\n\n constructor(\n @Optional() layoutService: LayoutService,\n controlClassService: ControlClassService,\n ngControlService: NgControlService,\n public focusService: FormsFocusService,\n @Inject(TOGGLE_SERVICE) private toggleService: BehaviorSubject<boolean>,\n public commonStrings: ClrCommonStringsService\n ) {\n super(layoutService, controlClassService, ngControlService);\n\n /* The unsubscribe is handle inside the ClrAbstractContainer */\n this.subscriptions.push(\n focusService.focusChange.subscribe(state => {\n this.focus = state;\n })\n );\n }\n\n @Input('clrToggle')\n get clrToggle() {\n return this._toggle;\n }\n set clrToggle(state: boolean) {\n this._toggle = state;\n if (!state) {\n this.show = false;\n }\n }\n\n toggle() {\n this.show = !this.show;\n this.toggleService.next(this.show);\n }\n\n showPasswordText(label: string) {\n return this.commonStrings.parse(this.commonStrings.keys.passwordShow, { LABEL: label });\n }\n\n hidePasswordText(label: string) {\n return this.commonStrings.parse(this.commonStrings.keys.passwordHide, { LABEL: label });\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 Inject,\n Injector,\n OnDestroy,\n OnInit,\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';\nimport { BehaviorSubject } from 'rxjs';\n\nimport { ClrPasswordContainer, TOGGLE_SERVICE } from './password-container';\n\n@Directive({\n selector: '[clrPassword]',\n host: { '[class.clr-input]': 'true' },\n standalone: false,\n})\nexport class ClrPassword extends WrappedFormControl<ClrPasswordContainer> implements OnInit, OnDestroy {\n protected override index = 1;\n\n constructor(\n vcr: ViewContainerRef,\n injector: Injector,\n @Self()\n @Optional()\n control: NgControl,\n renderer: Renderer2,\n el: ElementRef<HTMLInputElement>,\n @Optional() private focusService: FormsFocusService,\n @Optional()\n @Inject(TOGGLE_SERVICE)\n toggleService: BehaviorSubject<boolean>\n ) {\n super(vcr, ClrPasswordContainer, injector, control, renderer, el);\n\n if (!focusService) {\n throw new Error('clrPassword requires being wrapped in <clr-password-container>');\n }\n\n this.subscriptions.push(\n toggleService.subscribe(toggle => {\n renderer.setProperty(el.nativeElement, 'type', toggle ? 'text' : 'password');\n })\n );\n }\n\n @HostListener('focus')\n triggerFocus() {\n if (this.focusService) {\n this.focusService.focused = true;\n }\n }\n\n override triggerValidation() {\n super.triggerValidation();\n if (this.focusService) {\n this.focusService.focused = false;\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 { FormsModule } from '@angular/forms';\nimport { ClrCommonFormsModule } from '@clr/angular/forms/common';\nimport { ClarityIcons, ClrIcon, errorStandardIcon, eyeHideIcon, eyeIcon, successStandardIcon } from '@clr/angular/icon';\n\nimport { ClrPassword } from './password';\nimport { ClrPasswordContainer } from './password-container';\n\n@NgModule({\n imports: [CommonModule, FormsModule, ClrIcon, ClrCommonFormsModule],\n declarations: [ClrPassword, ClrPasswordContainer],\n exports: [ClrCommonFormsModule, ClrPassword, ClrPasswordContainer],\n})\nexport class ClrPasswordModule {\n constructor() {\n ClarityIcons.addIcons(eyeHideIcon, eyeIcon, 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 './password';\nexport * from './password-container';\nexport * from './password.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"clr-angular-forms-password.mjs","sources":["../../../projects/angular/forms/password/password-container.ts","../../../projects/angular/forms/password/password.ts","../../../projects/angular/forms/password/password.module.ts","../../../projects/angular/forms/password/index.ts","../../../projects/angular/forms/password/clr-angular-forms-password.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, Inject, InjectionToken, Input, Optional } from '@angular/core';\nimport {\n ClrAbstractContainer,\n ControlClassService,\n ControlIdService,\n FormsFocusService,\n LayoutService,\n NgControlService,\n} from '@clr/angular/forms/common';\nimport { ClrCommonStringsService } from '@clr/angular/utils';\nimport { BehaviorSubject } from 'rxjs';\n\nexport const TOGGLE_SERVICE = new InjectionToken<BehaviorSubject<boolean>>(undefined);\nexport function ToggleServiceFactory() {\n return new BehaviorSubject<boolean>(false);\n}\nexport const TOGGLE_SERVICE_PROVIDER = { provide: TOGGLE_SERVICE, useFactory: ToggleServiceFactory };\n\n@Component({\n selector: 'clr-password-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-input-wrapper\">\n <div class=\"clr-input-group\" [class.clr-focus]=\"focus\">\n <ng-content select=\"[clrPassword]\"></ng-content>\n @if (clrToggle) {\n <button (click)=\"toggle()\" [disabled]=\"control?.disabled\" class=\"clr-input-group-icon-action\" type=\"button\">\n <cds-icon class=\"clr-password-eye-icon\" [shape]=\"show ? 'eye-hide' : 'eye'\"></cds-icon>\n <span class=\"clr-sr-only\">\n {{ show ? hidePasswordText(label?.labelText) : showPasswordText(label?.labelText) }}\n </span>\n </button>\n }\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-row]': 'addGrid()',\n },\n providers: [NgControlService, ControlIdService, ControlClassService, FormsFocusService, TOGGLE_SERVICE_PROVIDER],\n standalone: false,\n})\nexport class ClrPasswordContainer extends ClrAbstractContainer {\n show = false;\n focus = false;\n\n private _toggle = true;\n\n constructor(\n @Optional() layoutService: LayoutService,\n controlClassService: ControlClassService,\n ngControlService: NgControlService,\n public focusService: FormsFocusService,\n @Inject(TOGGLE_SERVICE) private toggleService: BehaviorSubject<boolean>,\n public commonStrings: ClrCommonStringsService\n ) {\n super(layoutService, controlClassService, ngControlService);\n\n /* The unsubscribe is handle inside the ClrAbstractContainer */\n this.subscriptions.push(\n focusService.focusChange.subscribe(state => {\n this.focus = state;\n })\n );\n }\n\n @Input('clrToggle')\n get clrToggle() {\n return this._toggle;\n }\n set clrToggle(state: boolean) {\n this._toggle = state;\n if (!state) {\n this.show = false;\n }\n }\n\n toggle() {\n this.show = !this.show;\n this.toggleService.next(this.show);\n }\n\n showPasswordText(label: string) {\n return this.commonStrings.parse(this.commonStrings.keys.passwordShow, { LABEL: label });\n }\n\n hidePasswordText(label: string) {\n return this.commonStrings.parse(this.commonStrings.keys.passwordHide, { LABEL: label });\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 Inject,\n Injector,\n OnDestroy,\n OnInit,\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';\nimport { BehaviorSubject } from 'rxjs';\n\nimport { ClrPasswordContainer, TOGGLE_SERVICE } from './password-container';\n\n@Directive({\n selector: '[clrPassword]',\n host: { '[class.clr-input]': 'true' },\n standalone: false,\n})\nexport class ClrPassword extends WrappedFormControl<ClrPasswordContainer> implements OnInit, OnDestroy {\n protected override index = 1;\n\n constructor(\n vcr: ViewContainerRef,\n injector: Injector,\n @Self()\n @Optional()\n control: NgControl,\n renderer: Renderer2,\n el: ElementRef<HTMLInputElement>,\n @Optional() private focusService: FormsFocusService,\n @Optional()\n @Inject(TOGGLE_SERVICE)\n toggleService: BehaviorSubject<boolean>\n ) {\n super(vcr, ClrPasswordContainer, injector, control, renderer, el);\n\n if (!focusService) {\n throw new Error('clrPassword requires being wrapped in <clr-password-container>');\n }\n\n this.subscriptions.push(\n toggleService.subscribe(toggle => {\n renderer.setProperty(el.nativeElement, 'type', toggle ? 'text' : 'password');\n })\n );\n }\n\n @HostListener('focus')\n triggerFocus() {\n if (this.focusService) {\n this.focusService.focused = true;\n }\n }\n\n override triggerValidation() {\n super.triggerValidation();\n if (this.focusService) {\n this.focusService.focused = false;\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 { FormsModule } from '@angular/forms';\nimport { ClrCommonFormsModule } from '@clr/angular/forms/common';\nimport { ClarityIcons, ClrIcon, errorStandardIcon, eyeHideIcon, eyeIcon, successStandardIcon } from '@clr/angular/icon';\n\nimport { ClrPassword } from './password';\nimport { ClrPasswordContainer } from './password-container';\n\n@NgModule({\n imports: [CommonModule, FormsModule, ClrIcon, ClrCommonFormsModule],\n declarations: [ClrPassword, ClrPasswordContainer],\n exports: [ClrCommonFormsModule, ClrPassword, ClrPasswordContainer],\n})\nexport class ClrPasswordModule {\n constructor() {\n ClarityIcons.addIcons(eyeHideIcon, eyeIcon, 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 './password';\nexport * from './password-container';\nexport * from './password.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { 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';
@@ -20,8 +20,8 @@ class ClrRadioWrapper {
20
20
  this.label.disableGrid();
21
21
  }
22
22
  }
23
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrRadioWrapper, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
24
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: ClrRadioWrapper, isStandalone: false, selector: "clr-radio-wrapper", host: { properties: { "class.clr-radio-wrapper": "true" } }, providers: [ControlIdService], queries: [{ propertyName: "label", first: true, predicate: ClrControlLabel, descendants: true, static: true }], ngImport: i0, template: `
23
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrRadioWrapper, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
24
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.25", type: ClrRadioWrapper, isStandalone: false, selector: "clr-radio-wrapper", host: { properties: { "class.clr-radio-wrapper": "true" } }, providers: [ControlIdService], queries: [{ propertyName: "label", first: true, predicate: ClrControlLabel, descendants: true, static: true }], ngImport: i0, template: `
25
25
  <ng-content select="[clrRadio]"></ng-content>
26
26
  <ng-content select="label"></ng-content>
27
27
  @if (!label) {
@@ -29,7 +29,7 @@ class ClrRadioWrapper {
29
29
  }
30
30
  `, isInline: true, dependencies: [{ kind: "directive", type: i1.ClrControlLabel, selector: "label", inputs: ["id", "for"] }] }); }
31
31
  }
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrRadioWrapper, decorators: [{
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrRadioWrapper, decorators: [{
33
33
  type: Component,
34
34
  args: [{
35
35
  selector: 'clr-radio-wrapper',
@@ -61,10 +61,10 @@ class ClrRadio extends WrappedFormControl {
61
61
  constructor(vcr, injector, control, renderer, el) {
62
62
  super(vcr, ClrRadioWrapper, injector, control, renderer, el);
63
63
  }
64
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrRadio, deps: [{ token: i0.ViewContainerRef }, { token: i0.Injector }, { token: i1$1.NgControl, optional: true, self: true }, { token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
65
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.3", type: ClrRadio, isStandalone: false, selector: "[clrRadio]", usesInheritance: true, ngImport: i0 }); }
64
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrRadio, deps: [{ token: i0.ViewContainerRef }, { token: i0.Injector }, { token: i1$1.NgControl, optional: true, self: true }, { token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
65
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.25", type: ClrRadio, isStandalone: false, selector: "[clrRadio]", usesInheritance: true, ngImport: i0 }); }
66
66
  }
67
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrRadio, decorators: [{
67
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrRadio, decorators: [{
68
68
  type: Directive,
69
69
  args: [{
70
70
  selector: '[clrRadio]',
@@ -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
- 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: `
124
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrRadioContainer, deps: [{ token: i1.LayoutService, optional: true }, { token: i1.ControlClassService }, { token: i1.NgControlService }], target: i0.ɵɵFactoryTarget.Component }); }
125
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.25", 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>
@@ -147,7 +143,7 @@ class ClrRadioContainer extends ClrAbstractContainer {
147
143
  </div>
148
144
  `, isInline: true, dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.ClrControlLabel, selector: "label", inputs: ["id", "for"] }] }); }
149
145
  }
150
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrRadioContainer, decorators: [{
146
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrRadioContainer, decorators: [{
151
147
  type: Component,
152
148
  args: [{
153
149
  selector: 'clr-radio-container',
@@ -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
  }] } });
@@ -203,11 +196,11 @@ class ClrRadioModule {
203
196
  constructor() {
204
197
  ClarityIcons.addIcons(successStandardIcon, errorStandardIcon);
205
198
  }
206
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrRadioModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
207
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.3", ngImport: i0, type: ClrRadioModule, declarations: [ClrRadio, ClrRadioContainer, ClrRadioWrapper], imports: [CommonModule, ClrCommonFormsModule, ClrHostWrappingModule, ClrIcon], exports: [ClrCommonFormsModule, ClrRadio, ClrRadioContainer, ClrRadioWrapper] }); }
208
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrRadioModule, imports: [CommonModule, ClrCommonFormsModule, ClrHostWrappingModule, ClrIcon, ClrCommonFormsModule] }); }
199
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrRadioModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
200
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.25", ngImport: i0, type: ClrRadioModule, declarations: [ClrRadio, ClrRadioContainer, ClrRadioWrapper], imports: [CommonModule, ClrCommonFormsModule, ClrHostWrappingModule, ClrIcon], exports: [ClrCommonFormsModule, ClrRadio, ClrRadioContainer, ClrRadioWrapper] }); }
201
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrRadioModule, imports: [CommonModule, ClrCommonFormsModule, ClrHostWrappingModule, ClrIcon, ClrCommonFormsModule] }); }
209
202
  }
210
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrRadioModule, decorators: [{
203
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrRadioModule, decorators: [{
211
204
  type: NgModule,
212
205
  args: [{
213
206
  imports: [CommonModule, ClrCommonFormsModule, ClrHostWrappingModule, ClrIcon],
@@ -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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"}
@@ -55,8 +55,8 @@ class ClrRangeContainer extends ClrAbstractContainer {
55
55
  return undefined;
56
56
  }
57
57
  }
58
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrRangeContainer, deps: [{ token: i1.LayoutService, optional: true }, { token: i1.ControlClassService }, { token: i1.NgControlService }, { token: i0.Renderer2 }, { token: i1.ControlIdService }], target: i0.ɵɵFactoryTarget.Component }); }
59
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: ClrRangeContainer, isStandalone: false, selector: "clr-range-container", inputs: { hasProgress: ["clrRangeHasProgress", "hasProgress"] }, host: { properties: { "class.clr-form-control": "true", "class.clr-form-control-disabled": "control?.disabled", "class.clr-row": "addGrid()" } }, providers: [NgControlService, ControlIdService, ControlClassService], usesInheritance: true, ngImport: i0, template: `
58
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrRangeContainer, deps: [{ token: i1.LayoutService, optional: true }, { token: i1.ControlClassService }, { token: i1.NgControlService }, { token: i0.Renderer2 }, { token: i1.ControlIdService }], target: i0.ɵɵFactoryTarget.Component }); }
59
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.25", type: ClrRangeContainer, isStandalone: false, selector: "clr-range-container", inputs: { hasProgress: ["clrRangeHasProgress", "hasProgress"] }, host: { properties: { "class.clr-form-control": "true", "class.clr-form-control-disabled": "control?.disabled", "class.clr-row": "addGrid()" } }, providers: [NgControlService, ControlIdService, ControlClassService], usesInheritance: true, ngImport: i0, template: `
60
60
  <ng-content select="label"></ng-content>
61
61
  @if (!label && addGrid()) {
62
62
  <label></label>
@@ -80,7 +80,7 @@ class ClrRangeContainer extends ClrAbstractContainer {
80
80
  </div>
81
81
  `, isInline: true, dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.ClrControlLabel, selector: "label", inputs: ["id", "for"] }] }); }
82
82
  }
83
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrRangeContainer, decorators: [{
83
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrRangeContainer, decorators: [{
84
84
  type: Component,
85
85
  args: [{
86
86
  selector: 'clr-range-container',
@@ -132,10 +132,10 @@ class ClrRange extends WrappedFormControl {
132
132
  constructor(vcr, injector, control, renderer, el) {
133
133
  super(vcr, ClrRangeContainer, injector, control, renderer, el);
134
134
  }
135
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrRange, deps: [{ token: i0.ViewContainerRef }, { token: i0.Injector }, { token: i1$1.NgControl, optional: true, self: true }, { token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
136
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.3", type: ClrRange, isStandalone: false, selector: "[clrRange]", host: { properties: { "class.clr-range": "true" } }, usesInheritance: true, ngImport: i0 }); }
135
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrRange, deps: [{ token: i0.ViewContainerRef }, { token: i0.Injector }, { token: i1$1.NgControl, optional: true, self: true }, { token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
136
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.25", type: ClrRange, isStandalone: false, selector: "[clrRange]", host: { properties: { "class.clr-range": "true" } }, usesInheritance: true, ngImport: i0 }); }
137
137
  }
138
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrRange, decorators: [{
138
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrRange, decorators: [{
139
139
  type: Directive,
140
140
  args: [{
141
141
  selector: '[clrRange]',
@@ -158,11 +158,11 @@ class ClrRangeModule {
158
158
  constructor() {
159
159
  ClarityIcons.addIcons(successStandardIcon, errorStandardIcon);
160
160
  }
161
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrRangeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
162
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.3", ngImport: i0, type: ClrRangeModule, declarations: [ClrRange, ClrRangeContainer], imports: [CommonModule, ClrCommonFormsModule, ClrHostWrappingModule, ClrIcon], exports: [ClrCommonFormsModule, ClrRange, ClrRangeContainer] }); }
163
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrRangeModule, imports: [CommonModule, ClrCommonFormsModule, ClrHostWrappingModule, ClrIcon, ClrCommonFormsModule] }); }
161
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrRangeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
162
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.25", ngImport: i0, type: ClrRangeModule, declarations: [ClrRange, ClrRangeContainer], imports: [CommonModule, ClrCommonFormsModule, ClrHostWrappingModule, ClrIcon], exports: [ClrCommonFormsModule, ClrRange, ClrRangeContainer] }); }
163
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrRangeModule, imports: [CommonModule, ClrCommonFormsModule, ClrHostWrappingModule, ClrIcon, ClrCommonFormsModule] }); }
164
164
  }
165
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrRangeModule, decorators: [{
165
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrRangeModule, decorators: [{
166
166
  type: NgModule,
167
167
  args: [{
168
168
  imports: [CommonModule, ClrCommonFormsModule, ClrHostWrappingModule, ClrIcon],
@@ -1 +1 @@
1
- {"version":3,"file":"clr-angular-forms-range.mjs","sources":["../../../projects/angular/forms/range/range-container.ts","../../../projects/angular/forms/range/range.ts","../../../projects/angular/forms/range/range.module.ts","../../../projects/angular/forms/range/index.ts","../../../projects/angular/forms/range/clr-angular-forms-range.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, Input, Optional, Renderer2 } from '@angular/core';\nimport {\n ClrAbstractContainer,\n ControlClassService,\n ControlIdService,\n LayoutService,\n NgControlService,\n} from '@clr/angular/forms/common';\n\n@Component({\n selector: 'clr-range-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-range-wrapper\" [class.progress-fill]=\"hasProgress\">\n <ng-content select=\"[clrRange]\"></ng-content>\n @if (hasProgress) {\n <span class=\"fill-input\" [style.width]=\"getRangeProgressFillWidth()\"></span>\n }\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-row]': 'addGrid()',\n },\n providers: [NgControlService, ControlIdService, ControlClassService],\n standalone: false,\n})\nexport class ClrRangeContainer extends ClrAbstractContainer {\n private _hasProgress = false;\n private lastRangeProgressFillWidth: string;\n\n constructor(\n @Optional() layoutService: LayoutService,\n controlClassService: ControlClassService,\n ngControlService: NgControlService,\n private renderer: Renderer2,\n private idService: ControlIdService\n ) {\n super(layoutService, controlClassService, ngControlService);\n }\n\n @Input('clrRangeHasProgress')\n get hasProgress() {\n return this._hasProgress;\n }\n set hasProgress(val: boolean) {\n const valBool = !!val;\n if (valBool !== this._hasProgress) {\n this._hasProgress = valBool;\n }\n }\n\n getRangeProgressFillWidth(): string {\n const input = this.selectRangeElement();\n\n if (!input) {\n return this.lastRangeProgressFillWidth;\n }\n\n const inputWidth = input.offsetWidth;\n const inputMinValue = +input.min;\n let inputMaxValue = +input.max;\n\n if (inputMinValue === 0 && inputMaxValue === 0) {\n inputMaxValue = 100;\n }\n\n const inputMiddle = (inputMinValue + inputMaxValue) / 2;\n const inputValue = !!this.control && this.control.value !== undefined ? this.control.value : inputMiddle;\n const valueAsPercent = ((inputValue - inputMinValue) * 100) / (inputMaxValue - inputMinValue);\n\n this.lastRangeProgressFillWidth = (valueAsPercent * inputWidth) / 100 + 'px';\n\n return this.lastRangeProgressFillWidth;\n }\n\n private selectRangeElement() {\n try {\n return this.renderer.selectRootElement('[clrRange]#' + this.idService.id);\n } catch {\n return undefined;\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 { ClrRangeContainer } from './range-container';\n\n@Directive({\n selector: '[clrRange]',\n host: { '[class.clr-range]': 'true' },\n standalone: false,\n})\nexport class ClrRange extends WrappedFormControl<ClrRangeContainer> {\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, ClrRangeContainer, injector, control, renderer, el);\n }\n\n // Notes: We need an output here EventEmitter for the value\n // Does this implementation also need a display for the value?\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 { ClrRange } from './range';\nimport { ClrRangeContainer } from './range-container';\n\n@NgModule({\n imports: [CommonModule, ClrCommonFormsModule, ClrHostWrappingModule, ClrIcon],\n declarations: [ClrRange, ClrRangeContainer],\n exports: [ClrCommonFormsModule, ClrRange, ClrRangeContainer],\n})\nexport class ClrRangeModule {\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 './range';\nexport * from './range-container';\nexport * from './range.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-range.mjs","sources":["../../../projects/angular/forms/range/range-container.ts","../../../projects/angular/forms/range/range.ts","../../../projects/angular/forms/range/range.module.ts","../../../projects/angular/forms/range/index.ts","../../../projects/angular/forms/range/clr-angular-forms-range.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, Input, Optional, Renderer2 } from '@angular/core';\nimport {\n ClrAbstractContainer,\n ControlClassService,\n ControlIdService,\n LayoutService,\n NgControlService,\n} from '@clr/angular/forms/common';\n\n@Component({\n selector: 'clr-range-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-range-wrapper\" [class.progress-fill]=\"hasProgress\">\n <ng-content select=\"[clrRange]\"></ng-content>\n @if (hasProgress) {\n <span class=\"fill-input\" [style.width]=\"getRangeProgressFillWidth()\"></span>\n }\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-row]': 'addGrid()',\n },\n providers: [NgControlService, ControlIdService, ControlClassService],\n standalone: false,\n})\nexport class ClrRangeContainer extends ClrAbstractContainer {\n private _hasProgress = false;\n private lastRangeProgressFillWidth: string;\n\n constructor(\n @Optional() layoutService: LayoutService,\n controlClassService: ControlClassService,\n ngControlService: NgControlService,\n private renderer: Renderer2,\n private idService: ControlIdService\n ) {\n super(layoutService, controlClassService, ngControlService);\n }\n\n @Input('clrRangeHasProgress')\n get hasProgress() {\n return this._hasProgress;\n }\n set hasProgress(val: boolean) {\n const valBool = !!val;\n if (valBool !== this._hasProgress) {\n this._hasProgress = valBool;\n }\n }\n\n getRangeProgressFillWidth(): string {\n const input = this.selectRangeElement();\n\n if (!input) {\n return this.lastRangeProgressFillWidth;\n }\n\n const inputWidth = input.offsetWidth;\n const inputMinValue = +input.min;\n let inputMaxValue = +input.max;\n\n if (inputMinValue === 0 && inputMaxValue === 0) {\n inputMaxValue = 100;\n }\n\n const inputMiddle = (inputMinValue + inputMaxValue) / 2;\n const inputValue = !!this.control && this.control.value !== undefined ? this.control.value : inputMiddle;\n const valueAsPercent = ((inputValue - inputMinValue) * 100) / (inputMaxValue - inputMinValue);\n\n this.lastRangeProgressFillWidth = (valueAsPercent * inputWidth) / 100 + 'px';\n\n return this.lastRangeProgressFillWidth;\n }\n\n private selectRangeElement() {\n try {\n return this.renderer.selectRootElement('[clrRange]#' + this.idService.id);\n } catch {\n return undefined;\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 { ClrRangeContainer } from './range-container';\n\n@Directive({\n selector: '[clrRange]',\n host: { '[class.clr-range]': 'true' },\n standalone: false,\n})\nexport class ClrRange extends WrappedFormControl<ClrRangeContainer> {\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, ClrRangeContainer, injector, control, renderer, el);\n }\n\n // Notes: We need an output here EventEmitter for the value\n // Does this implementation also need a display for the value?\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 { ClrRange } from './range';\nimport { ClrRangeContainer } from './range-container';\n\n@NgModule({\n imports: [CommonModule, ClrCommonFormsModule, ClrHostWrappingModule, ClrIcon],\n declarations: [ClrRange, ClrRangeContainer],\n exports: [ClrCommonFormsModule, ClrRange, ClrRangeContainer],\n})\nexport class ClrRangeModule {\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 './range';\nexport * from './range-container';\nexport * from './range.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}