@rossigee/clarity-angular 18.2.1-fixed.1 → 18.2.1

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 (180) hide show
  1. package/fesm2022/clr-angular-accordion.mjs +355 -0
  2. package/fesm2022/clr-angular-accordion.mjs.map +1 -0
  3. package/fesm2022/clr-angular-button.mjs +713 -0
  4. package/fesm2022/clr-angular-button.mjs.map +1 -0
  5. package/fesm2022/clr-angular-collapsible-panel.mjs +201 -0
  6. package/fesm2022/clr-angular-collapsible-panel.mjs.map +1 -0
  7. package/fesm2022/clr-angular-data-datagrid.mjs +7635 -0
  8. package/fesm2022/clr-angular-data-datagrid.mjs.map +1 -0
  9. package/fesm2022/clr-angular-data-stack-view.mjs +442 -0
  10. package/fesm2022/clr-angular-data-stack-view.mjs.map +1 -0
  11. package/fesm2022/clr-angular-data-tree-view.mjs +1106 -0
  12. package/fesm2022/clr-angular-data-tree-view.mjs.map +1 -0
  13. package/fesm2022/clr-angular-data.mjs +40 -0
  14. package/fesm2022/clr-angular-data.mjs.map +1 -0
  15. package/fesm2022/clr-angular-emphasis-alert.mjs +624 -0
  16. package/fesm2022/clr-angular-emphasis-alert.mjs.map +1 -0
  17. package/fesm2022/clr-angular-emphasis-badge.mjs +69 -0
  18. package/fesm2022/clr-angular-emphasis-badge.mjs.map +1 -0
  19. package/fesm2022/clr-angular-emphasis-common.mjs +25 -0
  20. package/fesm2022/clr-angular-emphasis-common.mjs.map +1 -0
  21. package/fesm2022/clr-angular-emphasis-label.mjs +105 -0
  22. package/fesm2022/clr-angular-emphasis-label.mjs.map +1 -0
  23. package/fesm2022/clr-angular-emphasis.mjs +41 -0
  24. package/fesm2022/clr-angular-emphasis.mjs.map +1 -0
  25. package/fesm2022/clr-angular-forms-checkbox.mjs +270 -0
  26. package/fesm2022/clr-angular-forms-checkbox.mjs.map +1 -0
  27. package/fesm2022/clr-angular-forms-combobox.mjs +1775 -0
  28. package/fesm2022/clr-angular-forms-combobox.mjs.map +1 -0
  29. package/fesm2022/clr-angular-forms-common.mjs +1251 -0
  30. package/fesm2022/clr-angular-forms-common.mjs.map +1 -0
  31. package/fesm2022/clr-angular-forms-datalist.mjs +263 -0
  32. package/fesm2022/clr-angular-forms-datalist.mjs.map +1 -0
  33. package/fesm2022/clr-angular-forms-datepicker.mjs +3274 -0
  34. package/fesm2022/clr-angular-forms-datepicker.mjs.map +1 -0
  35. package/fesm2022/clr-angular-forms-file-input.mjs +826 -0
  36. package/fesm2022/clr-angular-forms-file-input.mjs.map +1 -0
  37. package/fesm2022/clr-angular-forms-input.mjs +153 -0
  38. package/fesm2022/clr-angular-forms-input.mjs.map +1 -0
  39. package/fesm2022/clr-angular-forms-number-input.mjs +236 -0
  40. package/fesm2022/clr-angular-forms-number-input.mjs.map +1 -0
  41. package/fesm2022/clr-angular-forms-password.mjs +233 -0
  42. package/fesm2022/clr-angular-forms-password.mjs.map +1 -0
  43. package/fesm2022/clr-angular-forms-radio.mjs +231 -0
  44. package/fesm2022/clr-angular-forms-radio.mjs.map +1 -0
  45. package/fesm2022/clr-angular-forms-range.mjs +186 -0
  46. package/fesm2022/clr-angular-forms-range.mjs.map +1 -0
  47. package/fesm2022/clr-angular-forms-select.mjs +153 -0
  48. package/fesm2022/clr-angular-forms-select.mjs.map +1 -0
  49. package/fesm2022/clr-angular-forms-textarea.mjs +136 -0
  50. package/fesm2022/clr-angular-forms-textarea.mjs.map +1 -0
  51. package/fesm2022/clr-angular-forms.mjs +100 -0
  52. package/fesm2022/clr-angular-forms.mjs.map +1 -0
  53. package/fesm2022/clr-angular-icon.mjs +7397 -0
  54. package/fesm2022/clr-angular-icon.mjs.map +1 -0
  55. package/fesm2022/clr-angular-layout-breadcrumbs.mjs +120 -0
  56. package/fesm2022/clr-angular-layout-breadcrumbs.mjs.map +1 -0
  57. package/fesm2022/clr-angular-layout-main-container.mjs +100 -0
  58. package/fesm2022/clr-angular-layout-main-container.mjs.map +1 -0
  59. package/fesm2022/clr-angular-layout-nav.mjs +582 -0
  60. package/fesm2022/clr-angular-layout-nav.mjs.map +1 -0
  61. package/fesm2022/clr-angular-layout-tabs.mjs +807 -0
  62. package/fesm2022/clr-angular-layout-tabs.mjs.map +1 -0
  63. package/fesm2022/clr-angular-layout-vertical-nav.mjs +507 -0
  64. package/fesm2022/clr-angular-layout-vertical-nav.mjs.map +1 -0
  65. package/fesm2022/clr-angular-layout.mjs +44 -0
  66. package/fesm2022/clr-angular-layout.mjs.map +1 -0
  67. package/fesm2022/clr-angular-modal.mjs +617 -0
  68. package/fesm2022/clr-angular-modal.mjs.map +1 -0
  69. package/fesm2022/clr-angular-popover-common.mjs +1082 -0
  70. package/fesm2022/clr-angular-popover-common.mjs.map +1 -0
  71. package/fesm2022/clr-angular-popover-dropdown.mjs +492 -0
  72. package/fesm2022/clr-angular-popover-dropdown.mjs.map +1 -0
  73. package/fesm2022/clr-angular-popover-signpost.mjs +494 -0
  74. package/fesm2022/clr-angular-popover-signpost.mjs.map +1 -0
  75. package/fesm2022/clr-angular-popover-tooltip.mjs +293 -0
  76. package/fesm2022/clr-angular-popover-tooltip.mjs.map +1 -0
  77. package/fesm2022/clr-angular-popover.mjs +41 -0
  78. package/fesm2022/clr-angular-popover.mjs.map +1 -0
  79. package/fesm2022/clr-angular-progress-progress-bars.mjs +217 -0
  80. package/fesm2022/clr-angular-progress-progress-bars.mjs.map +1 -0
  81. package/fesm2022/clr-angular-progress-spinner.mjs +132 -0
  82. package/fesm2022/clr-angular-progress-spinner.mjs.map +1 -0
  83. package/fesm2022/clr-angular-stepper.mjs +694 -0
  84. package/fesm2022/clr-angular-stepper.mjs.map +1 -0
  85. package/fesm2022/clr-angular-timeline.mjs +316 -0
  86. package/fesm2022/clr-angular-timeline.mjs.map +1 -0
  87. package/fesm2022/clr-angular-utils-conditional.mjs +351 -0
  88. package/fesm2022/clr-angular-utils-conditional.mjs.map +1 -0
  89. package/fesm2022/clr-angular-utils-loading.mjs +107 -0
  90. package/fesm2022/clr-angular-utils-loading.mjs.map +1 -0
  91. package/fesm2022/clr-angular-utils.mjs +2079 -0
  92. package/fesm2022/clr-angular-utils.mjs.map +1 -0
  93. package/fesm2022/clr-angular-wizard.mjs +3074 -0
  94. package/fesm2022/clr-angular-wizard.mjs.map +1 -0
  95. package/fesm2022/clr-angular.mjs +2 -2
  96. package/fesm2022/clr-angular.mjs.map +1 -1
  97. package/package.json +7 -5
  98. package/schematics/ng-update/index.d.ts +2 -0
  99. package/schematics/ng-update/index.js +69 -0
  100. package/schematics/ng-update/index.js.map +1 -0
  101. package/schematics/ng-update/migrations/css-migration.d.ts +6 -0
  102. package/schematics/ng-update/migrations/css-migration.js +177 -0
  103. package/schematics/ng-update/migrations/css-migration.js.map +1 -0
  104. package/schematics/ng-update/migrations/import-migration.d.ts +4 -0
  105. package/schematics/ng-update/migrations/import-migration.js +187 -0
  106. package/schematics/ng-update/migrations/import-migration.js.map +1 -0
  107. package/schematics/ng-update/migrations/template-migration.d.ts +6 -0
  108. package/schematics/ng-update/migrations/template-migration.js +261 -0
  109. package/schematics/ng-update/migrations/template-migration.js.map +1 -0
  110. package/schematics/ng-update/replacements/css-replacements.d.ts +17 -0
  111. package/schematics/ng-update/replacements/css-replacements.js +74 -0
  112. package/schematics/ng-update/replacements/css-replacements.js.map +1 -0
  113. package/schematics/ng-update/replacements/import-replacements.d.ts +13 -0
  114. package/schematics/ng-update/replacements/import-replacements.js +108 -0
  115. package/schematics/ng-update/replacements/import-replacements.js.map +1 -0
  116. package/schematics/ng-update/replacements/symbol-replacements.d.ts +12 -0
  117. package/schematics/ng-update/replacements/symbol-replacements.js +67 -0
  118. package/schematics/ng-update/replacements/symbol-replacements.js.map +1 -0
  119. package/schematics/ng-update/replacements/template-replacements.d.ts +19 -0
  120. package/schematics/ng-update/replacements/template-replacements.js +57 -0
  121. package/schematics/ng-update/replacements/template-replacements.js.map +1 -0
  122. package/schematics/ng-update/tests/test-helpers.d.ts +6 -0
  123. package/schematics/ng-update/tests/test-helpers.js +34 -0
  124. package/schematics/ng-update/tests/test-helpers.js.map +1 -0
  125. package/schematics/ng-update/utils/file-visitor.d.ts +8 -0
  126. package/schematics/ng-update/utils/file-visitor.js +44 -0
  127. package/schematics/ng-update/utils/file-visitor.js.map +1 -0
  128. package/schematics/ng-update/utils/regexp-utils.d.ts +16 -0
  129. package/schematics/ng-update/utils/regexp-utils.js +34 -0
  130. package/schematics/ng-update/utils/regexp-utils.js.map +1 -0
  131. package/schematics/vitest.config.d.ts +2 -0
  132. package/schematics/vitest.config.js +17 -0
  133. package/schematics/vitest.config.js.map +1 -0
  134. package/types/clr-angular-accordion.d.ts +100 -0
  135. package/types/clr-angular-button.d.ts +169 -0
  136. package/types/clr-angular-collapsible-panel.d.ts +73 -0
  137. package/types/clr-angular-data-datagrid.d.ts +1843 -0
  138. package/types/clr-angular-data-stack-view.d.ts +87 -0
  139. package/types/clr-angular-data-tree-view.d.ts +229 -0
  140. package/types/clr-angular-data.d.ts +15 -0
  141. package/types/clr-angular-emphasis-alert.d.ts +175 -0
  142. package/types/clr-angular-emphasis-badge.d.ts +25 -0
  143. package/types/clr-angular-emphasis-common.d.ts +6 -0
  144. package/types/clr-angular-emphasis-label.d.ts +29 -0
  145. package/types/clr-angular-emphasis.d.ts +15 -0
  146. package/types/clr-angular-forms-checkbox.d.ts +69 -0
  147. package/types/clr-angular-forms-combobox.d.ts +353 -0
  148. package/types/clr-angular-forms-common.d.ts +339 -0
  149. package/types/clr-angular-forms-datalist.d.ts +59 -0
  150. package/types/clr-angular-forms-datepicker.d.ts +986 -0
  151. package/types/clr-angular-forms-file-input.d.ts +193 -0
  152. package/types/clr-angular-forms-input.d.ts +29 -0
  153. package/types/clr-angular-forms-number-input.d.ts +43 -0
  154. package/types/clr-angular-forms-password.d.ts +52 -0
  155. package/types/clr-angular-forms-radio.d.ts +50 -0
  156. package/types/clr-angular-forms-range.d.ts +37 -0
  157. package/types/clr-angular-forms-select.d.ts +36 -0
  158. package/types/clr-angular-forms-textarea.d.ts +29 -0
  159. package/types/clr-angular-forms.d.ts +36 -0
  160. package/types/clr-angular-icon.d.ts +1498 -0
  161. package/types/clr-angular-layout-breadcrumbs.d.ts +45 -0
  162. package/types/clr-angular-layout-main-container.d.ts +28 -0
  163. package/types/clr-angular-layout-nav.d.ts +142 -0
  164. package/types/clr-angular-layout-tabs.d.ts +158 -0
  165. package/types/clr-angular-layout-vertical-nav.d.ts +128 -0
  166. package/types/clr-angular-layout.d.ts +19 -0
  167. package/types/clr-angular-modal.d.ts +160 -0
  168. package/types/clr-angular-popover-common.d.ts +254 -0
  169. package/types/clr-angular-popover-dropdown.d.ts +123 -0
  170. package/types/clr-angular-popover-signpost.d.ts +157 -0
  171. package/types/clr-angular-popover-tooltip.d.ts +83 -0
  172. package/types/clr-angular-popover.d.ts +16 -0
  173. package/types/clr-angular-progress-progress-bars.d.ts +57 -0
  174. package/types/clr-angular-progress-spinner.d.ts +44 -0
  175. package/types/clr-angular-stepper.d.ts +179 -0
  176. package/types/clr-angular-timeline.d.ts +86 -0
  177. package/types/clr-angular-utils-conditional.d.ts +132 -0
  178. package/types/clr-angular-utils-loading.d.ts +38 -0
  179. package/types/clr-angular-utils.d.ts +913 -0
  180. package/types/clr-angular-wizard.d.ts +1508 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clr-angular-utils.mjs","sources":["../../../projects/angular/utils/forms/validation.ts","../../../projects/angular/utils/dom-adapter/dom-adapter.ts","../../../projects/angular/utils/dom-adapter/dom-adapter.mock.ts","../../../projects/angular/utils/outside-click/outside-click.ts","../../../projects/angular/utils/outside-click/outside-click.module.ts","../../../projects/angular/utils/outside-click/index.ts","../../../projects/angular/utils/template-ref/template-ref-container.ts","../../../projects/angular/utils/template-ref/template-ref.module.ts","../../../projects/angular/utils/template-ref/index.ts","../../../projects/angular/utils/breakpoints/breakpoints.ts","../../../projects/angular/utils/host-wrapping/empty-anchor.ts","../../../projects/angular/utils/host-wrapping/host-wrapper.ts","../../../projects/angular/utils/host-wrapping/host-wrapping.module.ts","../../../projects/angular/utils/host-wrapping/index.ts","../../../projects/angular/utils/assert/assert.helpers.ts","../../../projects/angular/utils/component/is-boolean-attribute-set.ts","../../../projects/angular/utils/animations/constants.ts","../../../projects/angular/utils/animations/collapse/collapse.ts","../../../projects/angular/utils/animations/collapse/index.ts","../../../projects/angular/utils/animations/expandable-animation/base-expandable-animation.ts","../../../projects/angular/utils/animations/expandable-animation/expandable-animation.ts","../../../projects/angular/utils/animations/expandable-animation/expandable-animation.directive.ts","../../../projects/angular/utils/animations/expandable-animation/expandable-animation.module.ts","../../../projects/angular/utils/animations/expandable-animation/index.ts","../../../projects/angular/utils/animations/fade/fade.ts","../../../projects/angular/utils/animations/fade/index.ts","../../../projects/angular/utils/animations/fade-slide/fade-slide.ts","../../../projects/angular/utils/animations/fade-slide/index.ts","../../../projects/angular/utils/animations/slide/slide.ts","../../../projects/angular/utils/animations/slide/index.ts","../../../projects/angular/utils/animations/index.ts","../../../projects/angular/utils/i18n/common-strings.default.ts","../../../projects/angular/utils/i18n/common-strings.service.ts","../../../projects/angular/utils/i18n/common-strings.interface.ts","../../../projects/angular/utils/i18n/index.ts","../../../projects/angular/utils/focus/focus-on-view-init/focus-on-view-init.provider.ts","../../../projects/angular/utils/focus/focus-on-view-init/focus-on-view-init.ts","../../../projects/angular/utils/focus/focus-on-view-init/focus-on-view-init.module.ts","../../../projects/angular/utils/focus/focus-on-view-init/index.ts","../../../projects/angular/utils/focus/focus-trap/standalone-cdk-trap-focus.directive.ts","../../../projects/angular/utils/focus/focus-trap/index.ts","../../../projects/angular/utils/focus/key-focus/enums/focus-direction.enum.ts","../../../projects/angular/utils/focus/key-focus/key-focus-item.ts","../../../projects/angular/utils/enums/keys.enum.ts","../../../projects/angular/utils/focus/key-focus/util.ts","../../../projects/angular/utils/focus/key-focus/key-focus.ts","../../../projects/angular/utils/focus/key-focus/roving-tabindex.ts","../../../projects/angular/utils/focus/key-focus/key-focus.module.ts","../../../projects/angular/utils/focus/key-focus/index.ts","../../../projects/angular/utils/focus/focusable-item/focusable-item.ts","../../../projects/angular/utils/focus/focusable-item/focusable-item.mock.ts","../../../projects/angular/utils/id-generator/id-generator.service.ts","../../../projects/angular/utils/focus/focusable-item/basic-focusable-item.service.ts","../../../projects/angular/utils/focus/focusable-item/custom-focusable-item-provider.ts","../../../projects/angular/utils/focus/focusable-item/linkers.ts","../../../projects/angular/utils/focus/wrap-observable.ts","../../../projects/angular/utils/focus/arrow-key-direction.enum.ts","../../../projects/angular/utils/focus/focus.service.ts","../../../projects/angular/utils/scrolling/scrolling-service.ts","../../../projects/angular/utils/cdk/cdk-drag.module.ts","../../../projects/angular/utils/cdk/cdk-trap-focus.module.ts","../../../projects/angular/utils/destroy/destroy.service.ts","../../../projects/angular/utils/destroy/index.ts","../../../projects/angular/utils/types/heading-level.ts","../../../projects/angular/utils/enums/position.enum.ts","../../../projects/angular/utils/chocolate/willy-wonka.ts","../../../projects/angular/utils/chocolate/oompa-loompa.ts","../../../projects/angular/utils/index.ts","../../../projects/angular/utils/clr-angular-utils.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 { FormControl, FormGroup } from '@angular/forms';\n\nexport function triggerAllFormControlValidation(formGroup: FormGroup) {\n Object.keys(formGroup.controls).forEach(field => {\n const control = formGroup.get(field);\n if (control instanceof FormControl) {\n control.markAsTouched();\n control.markAsDirty();\n control.updateValueAndValidity();\n } else if (control instanceof FormGroup) {\n triggerAllFormControlValidation(control);\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\n/*\n * If we someday want to be able to render the datagrid in a webworker,\n * this is where we would test if we're in headless mode. Right now it's not testing anything, but any access\n * to native DOM elements' methods and properties in the Datagrid happens here.\n */\n\nimport { Injectable } from '@angular/core';\n\n@Injectable()\nexport class DomAdapter {\n /* \n We clone the element and take its measurements from outside the grid\n so we don't trigger reflow for the whole datagrid.\n */\n userDefinedWidth(element: HTMLElement): number {\n const clonedElement = element.cloneNode(true) as HTMLElement;\n if (clonedElement.id) {\n clonedElement.id = clonedElement.id + '-clone';\n }\n clonedElement.classList.add('datagrid-cell-width-zero');\n document.body.appendChild(clonedElement);\n const userDefinedWidth = this.clientRect(clonedElement).width;\n clonedElement.remove();\n return userDefinedWidth;\n }\n\n scrollBarWidth(element: any) {\n return element.offsetWidth - element.clientWidth;\n }\n\n scrollWidth(element: any) {\n return element.scrollWidth || 0;\n }\n\n computedHeight(element: any): number {\n return parseInt(getComputedStyle(element).getPropertyValue('height'), 10);\n }\n\n clientRect(element: any): DOMRect {\n const elementClientRect = element.getBoundingClientRect();\n return {\n top: parseInt(elementClientRect.top, 10),\n bottom: parseInt(elementClientRect.bottom, 10),\n left: parseInt(elementClientRect.left, 10),\n right: parseInt(elementClientRect.right, 10),\n width: parseInt(elementClientRect.width, 10),\n height: parseInt(elementClientRect.height, 10),\n } as DOMRect;\n }\n\n minWidth(element: any): number {\n return parseInt(getComputedStyle(element).getPropertyValue('min-width'), 10);\n }\n\n focus(element: any): void {\n element.focus();\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 { Injectable } from '@angular/core';\n\nimport { DomAdapter } from './dom-adapter';\n\n@Injectable()\nexport class MockDomAdapter extends DomAdapter {\n _userDefinedWidth = 0;\n _scrollBarWidth = 0;\n _scrollWidth = 0;\n _computedHeight = 0;\n\n override userDefinedWidth(_element: any): number {\n return this._userDefinedWidth;\n }\n\n override scrollBarWidth(_element: any) {\n return this._scrollBarWidth;\n }\n\n override scrollWidth(_element: any) {\n return this._scrollWidth;\n }\n\n override computedHeight(_element: any) {\n return this._computedHeight;\n }\n}\n\nexport const MOCK_DOM_ADAPTER_PROVIDER = {\n provide: DomAdapter,\n useClass: MockDomAdapter,\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, EventEmitter, Input, NgZone, OnDestroy, Output, Renderer2 } from '@angular/core';\n\n@Directive({\n selector: '[clrOutsideClick]',\n standalone: false,\n})\nexport class OutsideClick implements OnDestroy {\n @Input('clrStrict') strict = false;\n\n @Output('clrOutsideClick') outsideClick = new EventEmitter<any>(false);\n\n private documentClickListener: VoidFunction;\n\n constructor(host: ElementRef<HTMLElement>, renderer: Renderer2, ngZone: NgZone) {\n ngZone.runOutsideAngular(() => {\n this.documentClickListener = renderer.listen('document', 'click', (event: MouseEvent) => {\n // Compare the element in the DOM on which the mouse was clicked\n // with the current actionMenu native HTML element.\n if (host.nativeElement === event.target) {\n return;\n }\n\n if (!this.strict && host.nativeElement.contains(event.target as HTMLElement)) {\n return;\n }\n\n // We'll run change detection only if the click event actually happened outside of\n // the host element.\n ngZone.run(() => {\n this.outsideClick.emit(event);\n });\n });\n });\n }\n\n ngOnDestroy(): void {\n this.documentClickListener();\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, Type } from '@angular/core';\n\nimport { OutsideClick } from './outside-click';\n\nexport const OUSTIDE_CLICK_DIRECTIVES: Type<any>[] = [OutsideClick];\n@NgModule({\n imports: [CommonModule],\n declarations: [OUSTIDE_CLICK_DIRECTIVES],\n exports: [OUSTIDE_CLICK_DIRECTIVES],\n})\nexport class ClrOutsideClickModule {}\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 './outside-click';\nexport * from './outside-click.module';\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 { Component, TemplateRef, ViewChild } from '@angular/core';\n\n@Component({\n template: `\n <ng-template>\n <ng-content></ng-content>\n </ng-template>\n `,\n standalone: false,\n})\nexport class TemplateRefContainer {\n @ViewChild(TemplateRef) template: TemplateRef<any>;\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';\n\nimport { TemplateRefContainer } from './template-ref-container';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [TemplateRefContainer],\n exports: [TemplateRefContainer],\n})\nexport class ClrTemplateRefModule {}\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 './template-ref-container';\nexport * from './template-ref.module';\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\n/**\n * TODO:\n * Using core functions like:\n * - pluckPixelValue\n * - getCssPropertyValue\n *\n * to get the value of the design token.\n *\n * Note: Memoization/Cache usage possible.\n */\n\n// iPad mini screen width\n// http://stephen.io/mediaqueries/#iPadMini\nexport const DATEPICKER_ENABLE_BREAKPOINT = 768;\nexport const SMALL_BREAKPOINT = 576;\nexport const MEDIUM_BREAKPOINT = 768;\nexport const LARGE_BREAKPOINT = 992;\nexport const EXTRA_LARGE_BREAKPOINT = 1200;\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 { Component } from '@angular/core';\n\n@Component({\n template: '',\n standalone: false,\n})\nexport class EmptyAnchor {}\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 { ElementRef, InjectionToken, Injector, Type, ViewContainerRef } from '@angular/core';\n\nimport { EmptyAnchor } from './empty-anchor';\n\n/**\n * HostWrapper must be called in OnInit to ensure that the Views are ready. If its called in a constructor the view is\n * still undefined.\n */\nexport class HostWrapper<W> implements Injector {\n private injector: Injector;\n\n constructor(containerType: Type<W>, vcr: ViewContainerRef, index = 0) {\n this.injector = vcr.injector;\n // If the host is already wrapped, we don't do anything\n if (!this.injector.get(containerType, null)) {\n const el = this.injector.get(ElementRef);\n\n // We need a new anchor, since we're projecting the current one.\n vcr.createComponent(EmptyAnchor);\n // Craft the element array based on what slot to use. Angular only uses the index to determine\n // which ng-content to project into, so if you have more than one ng-content you'll need to set\n // the index in the constructor appropriately\n const element = [];\n element[index] = [el.nativeElement];\n // We're assuming only one projection slot, but in more complex cases we might want to provide\n // a different array of projected elements.\n const containerRef = vcr.createComponent(containerType, {\n projectableNodes: element,\n });\n // We can now remove the useless anchor\n vcr.remove(0);\n\n // We keep the wrapper's injector to access the dependencies that weren't available before.\n this.injector = containerRef.injector;\n }\n }\n\n get<T>(token: Type<T> | InjectionToken<T>, notFoundValue?: T): T {\n return this.injector.get(token, notFoundValue);\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 { NgModule } from '@angular/core';\n\nimport { EmptyAnchor } from './empty-anchor';\n\n/**\n * Internal module, please do not export!\n */\n@NgModule({\n declarations: [EmptyAnchor],\n exports: [EmptyAnchor],\n})\nexport class ClrHostWrappingModule {}\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 './empty-anchor';\nexport * from './host-wrapper';\nexport * from './host-wrapping.module';\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 function assertNever(value: never) {\n throw new Error(`Unhandled value: ${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\nexport function isBooleanAttributeSet(value: string | boolean): boolean {\n // for null just return false no need to check anything\n if (value === null) {\n return false;\n }\n if (typeof value === 'string') {\n // Empty string is valid, 'true' as string is also valid\n return value.length >= 0;\n }\n // Boolean value will be read as it is, everything else is false\n return typeof value === 'boolean' ? value : false;\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 { animate, animation, style } from '@angular/animations';\n\nexport const defaultAnimationTiming = '0.2s ease-in-out';\nexport const defaultExpandAnimation = animation(\n [style({ height: '{{ startHeight }}px' }), animate(defaultAnimationTiming, style({ height: '*' }))],\n {\n params: {\n startHeight: 0, // default\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 { animate, AnimationMetadata, state, style, transition } from '@angular/animations';\n\nimport { defaultAnimationTiming } from '../constants';\n\nexport function collapse(): AnimationMetadata[] {\n 'use strict';\n return [\n state('true', style({ height: 0, 'overflow-y': 'hidden' })),\n transition('true => false', [animate(defaultAnimationTiming, style({ height: '*', 'overflow-y': 'hidden' }))]),\n transition('false => true', [style({ height: '*', 'overflow-y': 'hidden' }), animate(defaultAnimationTiming)]),\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 './collapse';\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, Renderer2 } from '@angular/core';\n\nimport { DomAdapter } from '../../dom-adapter/dom-adapter';\n\n@Directive()\nexport class BaseExpandableAnimation {\n startHeight = 0;\n\n constructor(\n protected element: ElementRef<HTMLElement>,\n protected domAdapter: DomAdapter,\n protected renderer: Renderer2\n ) {}\n\n updateStartHeight() {\n this.startHeight = this.domAdapter.computedHeight(this.element.nativeElement) || 0;\n }\n\n initAnimationEffects() {\n this.renderer.setStyle(this.element.nativeElement, 'overflow', 'hidden');\n }\n\n cleanupAnimationEffects(cancelAnimations = false) {\n this.renderer.removeStyle(this.element.nativeElement, 'overflow');\n\n // A \"safe\" auto-update of the height ensuring basic OOTB user experience .\n // Prone to small jumps in initial animation height if data was changed in the meantime, the window was resized, etc.\n // For optimal behavior call manually updateStartHeight() from the parent component before initiating the update.\n this.updateStartHeight();\n if (cancelAnimations) {\n this.cancelElementAnimations();\n }\n }\n\n private cancelElementAnimations() {\n this.element.nativeElement.getAnimations().forEach(animation => {\n if (animation.playState === 'finished') {\n animation.cancel(); // clears animation-style set on the element\n }\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 { AnimationEvent, transition, trigger, useAnimation } from '@angular/animations';\nimport { Component, HostBinding, HostListener, Input } from '@angular/core';\n\nimport { DomAdapter } from '../../dom-adapter/dom-adapter';\nimport { defaultExpandAnimation } from '../constants';\nimport { BaseExpandableAnimation } from './base-expandable-animation';\n\n@Component({\n selector: 'clr-expandable-animation',\n template: `<ng-content></ng-content>`,\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n animations: [trigger('expandAnimation', [transition('true <=> false', [useAnimation(defaultExpandAnimation)])])],\n providers: [DomAdapter],\n standalone: false,\n})\nexport class ClrExpandableAnimation extends BaseExpandableAnimation {\n @Input() clrExpandTrigger = false;\n\n @HostBinding('@expandAnimation')\n get expandAnimation() {\n return { value: this.clrExpandTrigger, params: { startHeight: this.startHeight } };\n }\n\n @HostListener('@expandAnimation.start', ['$event'])\n animationStart(event: AnimationEvent) {\n if (event.fromState !== 'void') {\n this.initAnimationEffects();\n }\n }\n @HostListener('@expandAnimation.done', ['$event'])\n animationDone(event: AnimationEvent) {\n if (event.fromState !== 'void') {\n this.cleanupAnimationEffects();\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 { AnimationBuilder, AnimationPlayer, useAnimation } from '@angular/animations';\nimport { Directive, ElementRef, Input, OnChanges, OnDestroy, Renderer2, SimpleChanges } from '@angular/core';\n\nimport { DomAdapter } from '../../dom-adapter/dom-adapter';\nimport { defaultExpandAnimation } from '../constants';\nimport { BaseExpandableAnimation } from './base-expandable-animation';\n\n@Directive({\n selector: '[clrExpandableAnimation]',\n providers: [DomAdapter],\n host: {\n '[class.clr-expandable-animation]': 'true',\n },\n standalone: false,\n})\nexport class ClrExpandableAnimationDirective extends BaseExpandableAnimation implements OnChanges, OnDestroy {\n @Input('clrExpandableAnimation') expanded = false;\n\n private player: AnimationPlayer;\n\n constructor(\n element: ElementRef<HTMLElement>,\n domAdapter: DomAdapter,\n renderer: Renderer2,\n private builder: AnimationBuilder\n ) {\n super(element, domAdapter, renderer);\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['expanded'] && !changes['expanded'].firstChange) {\n Promise.resolve().then(() => this.playAnimation());\n }\n }\n\n ngOnDestroy() {\n this.player?.destroy();\n }\n\n playAnimation() {\n if (this.player) {\n this.player.destroy();\n }\n\n this.player = this.builder\n .build([useAnimation(defaultExpandAnimation, { params: { startHeight: this.startHeight } })])\n .create(this.element.nativeElement);\n\n this.player.onStart(() => this.initAnimationEffects());\n\n this.player.onDone(() => this.cleanupAnimationEffects(true));\n\n this.player.play();\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, Type } from '@angular/core';\n\nimport { ClrExpandableAnimation } from './expandable-animation';\nimport { ClrExpandableAnimationDirective } from './expandable-animation.directive';\n\nexport const EXPANDABLE_ANIMATION_DIRECTIVES: Type<any>[] = [ClrExpandableAnimation, ClrExpandableAnimationDirective];\n\n@NgModule({\n imports: [CommonModule],\n declarations: [EXPANDABLE_ANIMATION_DIRECTIVES],\n exports: [EXPANDABLE_ANIMATION_DIRECTIVES],\n})\nexport class ClrExpandableAnimationModule {}\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 './base-expandable-animation';\nexport * from './expandable-animation';\nexport * from './expandable-animation.directive';\nexport * from './expandable-animation.module';\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 { animate, AnimationMetadata, style, transition } from '@angular/animations';\n\nimport { defaultAnimationTiming } from '../constants';\n\nexport function fade(opacity = 1): AnimationMetadata[] {\n return [\n transition('void => *', [style({ opacity: 0 }), animate(defaultAnimationTiming, style({ opacity: opacity }))]),\n transition('* => void', [animate(defaultAnimationTiming, style({ opacity: 0 }))]),\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 './fade';\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 { animate, AnimationMetadata, style, transition } from '@angular/animations';\n\nimport { defaultAnimationTiming } from '../constants';\n\nexport function fadeSlide(direction: string): AnimationMetadata[] {\n let transform: string = null;\n if (direction === 'up') {\n transform = 'translate(0, 25%)';\n } else if (direction === 'down') {\n transform = 'translate(0, -25%)';\n } else if (direction === 'left') {\n transform = 'translate(25%, 0)';\n } else if (direction === 'right') {\n transform = 'translate(-25%, 0)';\n } else {\n throw new Error('Unknown direction ' + direction + ' for slide animation.');\n }\n return [\n transition('void => *', [style({ opacity: 0, transform: transform }), animate(defaultAnimationTiming)]),\n transition('* => void', [animate(defaultAnimationTiming, style({ opacity: 0, transform: transform }))]),\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 './fade-slide';\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 { animate, AnimationMetadata, style, transition } from '@angular/animations';\n\nimport { defaultAnimationTiming } from '../constants';\n\nexport function slide(direction: string): AnimationMetadata[] {\n let transform: string = null;\n if (direction === 'up') {\n transform = 'translate(0, 25%)';\n } else if (direction === 'down') {\n transform = 'translate(0, -25%)';\n } else if (direction === 'left') {\n transform = 'translate(25%, 0)';\n } else if (direction === 'right') {\n transform = 'translate(-25%, 0)';\n } else {\n throw new Error('Unknown direction ' + direction + ' for slide animation.');\n }\n return [\n transition('void => *', [style({ transform: transform }), animate(defaultAnimationTiming)]),\n transition('* => void', [animate(defaultAnimationTiming, style({ transform: transform }))]),\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 './slide';\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 './constants';\nexport * from './collapse/index';\nexport * from './expandable-animation/index';\nexport * from './fade/index';\nexport * from './fade-slide/index';\nexport * from './slide/index';\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 { ClrCommonStrings } from './common-strings.interface';\n\nexport const commonStringsDefault: ClrCommonStrings = {\n open: 'Open',\n close: 'Close',\n show: 'Show',\n hide: 'Hide',\n apply: 'Apply',\n cancel: 'Cancel',\n expand: 'Expand',\n collapse: 'Collapse',\n more: 'More',\n select: 'Select',\n selectAll: 'Select All',\n previous: 'Previous',\n next: 'Next',\n current: 'Jump to current',\n info: 'Info',\n success: 'Success',\n warning: 'Warning',\n danger: 'Error',\n neutral: 'Neutral',\n unknown: 'Unknown',\n rowActions: 'Available actions',\n pickColumns: 'Manage Columns',\n showColumns: 'Show Columns',\n sortColumn: 'Sort Column',\n firstPage: 'First Page',\n lastPage: 'Last Page',\n nextPage: 'Next Page',\n previousPage: 'Previous Page',\n currentPage: 'Current Page',\n totalPages: 'Total Pages',\n filterItems: 'Filter items',\n minValue: 'Min value',\n maxValue: 'Max value',\n modalContentStart: 'Beginning of Modal Content',\n modalContentEnd: 'End of Modal Content',\n sidePanelPin: 'Pin Side Panel',\n showColumnsMenuDescription: 'Show or hide columns menu',\n allColumnsSelected: 'All columns selected',\n signpostToggle: 'Signpost Toggle',\n signpostClose: 'Close',\n loading: 'Loading',\n // Datagrid\n detailPaneStart: 'Start of row details',\n detailPaneEnd: 'End of row details',\n singleSelectionAriaLabel: 'Single selection header',\n singleActionableAriaLabel: 'Single actionable header',\n detailExpandableAriaLabel: 'Toggle more row content',\n datagridFilterAriaLabel: '{COLUMN} filter',\n datagridFilterLabel: '{COLUMN} filter',\n datagridFilterDialogAriaLabel: 'Filter dialog',\n columnSeparatorAriaLabel: 'Column resize handle',\n columnSeparatorDescription: 'Use left or right key to resize the column',\n fromLabel: 'From',\n toLabel: 'To',\n // Alert\n alertCloseButtonAriaLabel: 'Close alert',\n alertNextAlertAriaLabel: 'Next alert message, {CURRENT} of {COUNT}',\n alertPreviousAlertAriaLabel: 'Previous alert message, {CURRENT} of {COUNT}',\n // Date Picker\n datepickerDialogLabel: 'Choose date',\n datepickerToggleChooseDateLabel: 'Choose date',\n datepickerToggleChangeDateLabel: 'Change date, {SELECTED_DATE}',\n datepickerPreviousMonth: 'Previous month',\n datepickerCurrentMonth: 'Current month',\n datepickerNextMonth: 'Next month',\n datepickerPreviousDecade: 'Previous decade',\n datepickerNextDecade: 'Next decade',\n datepickerCurrentDecade: 'Current decade',\n datepickerSelectMonthText: 'Select month, the current month is {CALENDAR_MONTH}',\n datepickerSelectYearText: 'Select year, the current year is {CALENDAR_YEAR}',\n datepickerSelectedLabel: '{FULL_DATE} - Selected',\n // Stack View\n stackViewChanged: 'Value changed.',\n // Responsive Nav\n responsiveNavToggleOpen: 'Open navigation menu',\n responsiveNavToggleClose: 'Close navigation menu',\n responsiveNavOverflowOpen: 'Open navigation overflow menu',\n responsiveNavOverflowClose: 'Close navigation overflow menu',\n //Vertical Nav\n verticalNavToggle: 'Toggle vertical navigation',\n // Timeline steps\n timelineStepNotStarted: 'Not started',\n timelineStepCurrent: 'Current',\n timelineStepSuccess: 'Completed',\n timelineStepError: 'Error',\n timelineStepProcessing: 'In progress',\n // Combobox\n comboboxDelete: 'Delete selected option',\n comboboxSearching: 'Searching for matches for \"{INPUT}\"',\n comboboxSelection: 'Selection',\n comboboxSelected: 'Selected',\n comboboxNoResults: 'No results',\n comboboxOpen: 'Show options',\n comboboxSelectAll: 'Select All',\n comboboxUnselectAll: 'Unselect All',\n comboboxShowAll: 'Show all {ITEMS} selected',\n comboboxAllSelected: 'All {ITEMS} selected',\n comboboxShowLess: 'Show less',\n // Datagrid expandable rows\n datagridExpandableBeginningOf: 'Beginning of',\n datagridExpandableEndOf: 'End of',\n datagridExpandableRowContent: 'Expandable row content',\n datagridExpandableRowsHelperText: `Screen reader table commands may not work for viewing expanded content, please use your screen reader's browse mode to read the content exposed by this button`,\n // Wizard\n wizardStep: 'Step',\n wizardStepCurrent: 'Current',\n wizardStepSuccess: 'Completed',\n wizardStepError: 'Error',\n wizardStepnavAriaLabel: 'Wizard steps',\n\n /**\n * Password Input\n * Screen-reader text for the hide/show password field button\n */\n passwordHide: 'Hide password for {LABEL}',\n passwordShow: 'Show password for {LABEL}',\n\n /**\n * Datagrid footer; sr-only text after the number of selected rows.\n */\n selectedRows: 'Selected rows',\n\n // Accordion/Stepper\n stepComplete: 'Step {STEP} complete',\n stepError: 'Error in step {STEP}',\n\n // File input\n browse: 'Browse',\n fileCount: '{COUNT} files',\n clearFile: 'Clear {FILE}',\n clearFiles: 'Clear {COUNT} files',\n\n // Tree\n selectedTreeNode: 'selected',\n unselectedTreeNode: 'unselected',\n\n // Breadcrumbs\n breadcrumbsLabel: 'breadcrumbs',\n expandBreadcrumbsLabel: 'Expand breadcrumbs',\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 { Injectable } from '@angular/core';\n\nimport { commonStringsDefault } from './common-strings.default';\nimport { ClrCommonStrings } from './common-strings.interface';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ClrCommonStringsService {\n private _strings = commonStringsDefault;\n\n /**\n * Access to all of the keys as strings\n */\n get keys(): Readonly<ClrCommonStrings> {\n return this._strings;\n }\n\n /**\n * Allows you to pass in new overrides for localization\n */\n localize(overrides: Partial<ClrCommonStrings>) {\n this._strings = { ...this._strings, ...overrides };\n }\n\n /**\n * Parse a string with a set of tokens to replace\n */\n parse(source: string, tokens: { [key: string]: string } = {}) {\n const names = Object.keys(tokens);\n let output = source;\n if (names.length) {\n names.forEach(name => {\n output = output.replace(`{${name}}`, tokens[name]);\n });\n }\n return output;\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 interface ClrCommonStrings {\n /**\n * Open button\n */\n open: string;\n /**\n * Close button\n */\n close: string;\n /**\n * Show button\n */\n show: string;\n /**\n * Hide button\n */\n hide: string;\n /**\n * Apply button\n */\n apply: string;\n /**\n * Cancel button\n */\n cancel: string;\n /**\n * Expandable components: expand caret\n */\n expand: string;\n /**\n * Expandable components: collapse caret\n */\n collapse: string;\n /**\n * Overflow menus: ellipsis button\n */\n more: string;\n /**\n * Selectable components: checkbox or radio\n */\n select: string;\n /**\n * Selectable components: checkbox to select all\n */\n selectAll: string;\n /**\n * Pagination: previous button\n */\n previous: string;\n /**\n * Pagination: next button\n */\n next: string;\n /**\n * Pagination: go to current\n */\n current: string;\n /**\n * Alert levels: info\n */\n info: string;\n /**\n * Alert levels: success\n */\n success: string;\n /**\n * Alert levels: warning\n */\n warning: string;\n /**\n * Alert levels: danger\n */\n danger: string;\n /**\n * Alert levels: neutral\n */\n neutral: string;\n /**\n * Alert levels: unknown\n */\n unknown: string;\n /**\n * Datagrid: row actions\n */\n rowActions: string;\n /**\n * Datagrid: pick columns\n */\n pickColumns: string;\n /**\n * Datagrid: show columns\n */\n showColumns: string;\n /**\n * Datagrid: sort of columns\n */\n sortColumn: string;\n /**\n * Datagrid: first page\n */\n firstPage: string;\n /**\n * Datagrid: last page\n */\n lastPage: string;\n /**\n * Datagrid: next page\n */\n nextPage: string;\n /**\n * Datagrid: previous page\n */\n previousPage: string;\n /**\n * Datagrid: previous page\n */\n currentPage: string;\n /**\n * Datagird: total pages\n */\n totalPages: string;\n /**\n * Datagrid string filter: filter items\n */\n filterItems: string;\n /**\n * Datagrid numeric filter: min\n */\n minValue: string;\n /**\n * Datagrid numeric filter: max\n */\n maxValue: string;\n /**\n * Datagrid filter toggle button\n */\n datagridFilterAriaLabel: string;\n /**\n * Datagrid filter label\n */\n datagridFilterLabel: string;\n /**\n * Datagrid filter dialog\n */\n datagridFilterDialogAriaLabel: string;\n /**\n * Datagrid column handler string\n */\n columnSeparatorAriaLabel: string;\n /**\n * Datagrid column resize handler string\n */\n columnSeparatorDescription: string;\n /**\n * Numeric filter from label string\n */\n fromLabel: string;\n /**\n * Numeric filter to label string\n */\n toLabel: string;\n /**\n * Modal start of content\n */\n modalContentStart: string;\n /**\n * Modal end of content\n */\n modalContentEnd: string;\n\n /**\n * Side Panel pin dialog\n */\n sidePanelPin: string;\n\n /**\n * Datagrid Show columns menu description\n */\n showColumnsMenuDescription: string;\n /**\n * Datagrid Show columns / All columns selected confirmation\n */\n allColumnsSelected: string;\n /**\n * Signpost Toggle Button\n */\n signpostToggle: string;\n /**\n * Signpost Close Button\n * (used inside signpost content components)\n */\n signpostClose: string;\n /*\n * Loaders/Spinners\n */\n loading: string;\n /**\n * Datagrid: detail pane start content for screen reader\n */\n detailPaneStart: string;\n /**\n * Datagrid: detail pane end content for screen reader\n */\n detailPaneEnd: string;\n /**\n * Datagrid: Single selection header\n */\n singleSelectionAriaLabel: string;\n\n /**\n * Datagrid: Single actionable header\n */\n singleActionableAriaLabel: string;\n\n /**\n * Datagrid: Expandable row\n */\n detailExpandableAriaLabel: string;\n\n /**\n * Alert: Close alert button\n */\n alertCloseButtonAriaLabel: string;\n\n /**\n * Alert: Next Alert button\n */\n alertNextAlertAriaLabel: string;\n\n /**\n * Alert: Previous Alert button\n */\n alertPreviousAlertAriaLabel: string;\n\n /**\n * Datepicker UI labels\n */\n datepickerDialogLabel: string;\n datepickerToggleChooseDateLabel: string;\n datepickerToggleChangeDateLabel: string;\n datepickerPreviousMonth: string;\n datepickerCurrentMonth: string;\n datepickerNextMonth: string;\n datepickerPreviousDecade: string;\n datepickerNextDecade: string;\n datepickerCurrentDecade: string;\n datepickerSelectMonthText: string;\n datepickerSelectYearText: string;\n datepickerSelectedLabel: string;\n /**\n * Stack View: Record has changed\n */\n stackViewChanged: string;\n // Responsive Nav\n responsiveNavToggleOpen: string;\n responsiveNavToggleClose: string;\n responsiveNavOverflowOpen: string;\n responsiveNavOverflowClose: string;\n // Vertical Nav\n verticalNavToggle: string;\n /**\n * Timeline Steps\n */\n timelineStepNotStarted: string;\n timelineStepCurrent: string;\n timelineStepSuccess: string;\n timelineStepError: string;\n timelineStepProcessing: string;\n\n // Datagrid Helper text for expandable rows\n datagridExpandableBeginningOf: string;\n datagridExpandableEndOf: string;\n datagridExpandableRowContent: string;\n datagridExpandableRowsHelperText: string;\n\n /**\n * Combobox Searching Text\n */\n comboboxSearching: string;\n comboboxDelete: string;\n comboboxSelection: string;\n comboboxSelected: string;\n comboboxNoResults: string;\n comboboxOpen: string;\n comboboxSelectAll: string;\n comboboxUnselectAll: string;\n comboboxAllSelected: string;\n comboboxShowAll: string;\n comboboxShowLess: string;\n /**\n * Wizard: Screen-reader text for \"step\" (read before step number).\n */\n wizardStep: string;\n\n /**\n * Wizard: Screen-reader text for current step.\n */\n wizardStepCurrent: string;\n\n /**\n * Wizard: Screen-reader text for completed step.\n */\n wizardStepSuccess: string;\n\n /**\n * Wizard: Screen-reader text for step with error.\n */\n wizardStepError: string;\n\n /**\n * Wizard: Aria-label for the stepnav section.\n */\n wizardStepnavAriaLabel: string;\n\n /**\n * Password Input\n * Screen-reader text for the hide/show password field button.\n */\n passwordHide: string;\n passwordShow: string;\n\n /**\n * Datagrid footer; sr-only text after the number of selected rows.\n */\n selectedRows: string;\n\n //Stepper: Screen-reader text for completed/failed step\n stepComplete: string;\n stepError: string;\n\n // File input\n browse: string;\n fileCount: string;\n clearFile: string;\n clearFiles: string;\n\n // Tree\n selectedTreeNode: string;\n unselectedTreeNode: string;\n\n // Breadcrumbs\n breadcrumbsLabel: string;\n expandBreadcrumbsLabel: string;\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 './common-strings.service';\nexport * from './common-strings.interface';\nexport * from './common-strings.default';\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 { InjectionToken } from '@angular/core';\n\nexport const FOCUS_ON_VIEW_INIT = new InjectionToken<boolean>('FOCUS_ON_VIEW_INIT');\n\n// This provider holds the default value for clrFocusOnViewInit directive's isEnabled property.\n// So users can interject this provider and set their own value for this provider.\nexport const FOCUS_ON_VIEW_INIT_PROVIDER = {\n provide: FOCUS_ON_VIEW_INIT,\n useValue: true,\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 { isPlatformBrowser } from '@angular/common';\nimport {\n AfterViewInit,\n Directive,\n DOCUMENT,\n ElementRef,\n Inject,\n Input,\n NgZone,\n OnDestroy,\n PLATFORM_ID,\n Renderer2,\n} from '@angular/core';\nimport { fromEvent, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { FOCUS_ON_VIEW_INIT } from './focus-on-view-init.provider';\n\n/* This directive is for guiding the document focus to the newly added content when its view is initialized\n so that assistive technologies can read its content. */\n@Directive({\n selector: '[clrFocusOnViewInit]',\n standalone: false,\n})\nexport class ClrFocusOnViewInit implements AfterViewInit, OnDestroy {\n private document: Document;\n private directFocus = true; // true if the element gets focused without need to set tabindex;\n private destroy$ = new Subject<void>();\n private _isEnabled: boolean;\n\n constructor(\n private el: ElementRef<HTMLElement>,\n @Inject(PLATFORM_ID) private platformId: any,\n @Inject(FOCUS_ON_VIEW_INIT) private focusOnViewInit: boolean,\n @Inject(DOCUMENT) document: any,\n private renderer: Renderer2,\n ngZone: NgZone\n ) {\n this._isEnabled = focusOnViewInit;\n\n // Angular compiler doesn't understand the type Document\n // when working out the metadata for injectable parameters,\n // even though it understands the injection token DOCUMENT\n // https://github.com/angular/angular/issues/20351\n this.document = document;\n\n ngZone.runOutsideAngular(() =>\n fromEvent(el.nativeElement, 'focusout')\n .pipe(takeUntil(this.destroy$))\n .subscribe(() => {\n if (!this.directFocus) {\n // manually set attributes and styles should be removed\n renderer.removeAttribute(el.nativeElement, 'tabindex');\n renderer.setStyle(el.nativeElement, 'outline', null);\n }\n })\n );\n }\n\n @Input('clrFocusOnViewInit')\n set isEnabled(value: boolean | string) {\n if (this.focusOnViewInit && typeof value === 'boolean') {\n this._isEnabled = value;\n }\n }\n\n ngAfterViewInit() {\n this.focus();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n }\n\n private focus() {\n if (!isPlatformBrowser(this.platformId)) {\n return;\n }\n if (!this._isEnabled) {\n return;\n }\n if (this.document && this.document.activeElement !== this.el.nativeElement) {\n this.el.nativeElement.focus();\n if (this.document.activeElement !== this.el.nativeElement) {\n // if it's not directly focused now, it means it was a non-interactive element\n // so we need to give it a tabindex.\n this.directFocus = false;\n this.renderer.setAttribute(this.el.nativeElement, 'tabindex', '-1');\n this.renderer.setStyle(this.el.nativeElement, 'outline', 'none');\n this.el.nativeElement.focus();\n }\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, Type } from '@angular/core';\n\nimport { ClrFocusOnViewInit } from './focus-on-view-init';\nimport { FOCUS_ON_VIEW_INIT_PROVIDER } from './focus-on-view-init.provider';\n\nexport const FOCUS_ON_VIEW_INIT_DIRECTIVES: Type<any>[] = [ClrFocusOnViewInit];\n\n@NgModule({\n imports: [CommonModule],\n declarations: [FOCUS_ON_VIEW_INIT_DIRECTIVES],\n providers: [FOCUS_ON_VIEW_INIT_PROVIDER],\n exports: [FOCUS_ON_VIEW_INIT_DIRECTIVES],\n})\nexport class ClrFocusOnViewInitModule {}\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 './focus-on-view-init';\nexport { FOCUS_ON_VIEW_INIT } from './focus-on-view-init.provider';\nexport * from './focus-on-view-init.module';\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 { CdkTrapFocus, FocusTrapFactory } from '@angular/cdk/a11y';\nimport { Directive, DOCUMENT, ElementRef, Inject, Optional } from '@angular/core';\n\n@Directive({\n standalone: true,\n})\nexport class ClrStandaloneCdkTrapFocus extends CdkTrapFocus {\n /**\n * Include the constructor to forward all the dependencies to the base class\n * as a workaround to fix Angular \"ɵɵinvalidFactoryDep\" error after upgrading storybook\n * https://github.com/storybookjs/storybook/issues/23534\n */\n constructor(\n elementRef: ElementRef<HTMLElement>,\n focusTrapFactory: FocusTrapFactory,\n @Optional() @Inject(DOCUMENT) document: any\n ) {\n super(elementRef, focusTrapFactory, document);\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 './standalone-cdk-trap-focus.directive';\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 enum ClrFocusDirection {\n VERTICAL = 'vertical',\n HORIZONTAL = 'horizontal',\n BOTH = 'both',\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 { isPlatformBrowser } from '@angular/common';\nimport { Directive, ElementRef, Inject, PLATFORM_ID } from '@angular/core';\n\n@Directive({\n selector: '[clrKeyFocusItem]',\n standalone: false,\n})\nexport class ClrKeyFocusItem {\n constructor(\n private elementRef: ElementRef<HTMLElement>,\n @Inject(PLATFORM_ID) private platformId: any\n ) {}\n\n get nativeElement() {\n return this.elementRef.nativeElement;\n }\n\n focus() {\n if (isPlatformBrowser(this.platformId)) {\n this.elementRef.nativeElement.focus();\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\nexport enum Keys {\n ArrowLeft = 'ArrowLeft',\n ArrowUp = 'ArrowUp',\n ArrowRight = 'ArrowRight',\n ArrowDown = 'ArrowDown',\n Backspace = 'Backspace',\n Tab = 'Tab',\n Enter = 'Enter',\n Escape = 'Escape',\n Space = 'Space',\n Spacebar = ' ',\n Home = 'Home',\n End = 'End',\n PageDown = 'PageDown',\n PageUp = 'PageUp',\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 { Keys } from '../../enums/keys.enum';\n\nexport function preventArrowKeyScroll(event: KeyboardEvent) {\n const key = event.key;\n\n if (key === Keys.ArrowUp || key === Keys.ArrowDown || key === Keys.ArrowLeft || key === Keys.ArrowRight) {\n // prevent element container scroll\n // MDN references this is really the only way to prevent native browser interactions\n // https://developer.mozilla.org/en-US/docs/Web/Accessibility/Keyboard-navigable_JavaScript_widgets\n event.preventDefault();\n }\n}\n\nexport function isKeyEitherLetterOrNumber(event: KeyboardEvent) {\n const char = event.key;\n // Only letter characters differ when they switch between lowercase and uppercase, whether it's an English or non-English letter.\n return char.toLowerCase() !== char.toUpperCase() || (char >= '0' && char <= '9');\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 Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n Output,\n QueryList,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { ClrFocusDirection } from './enums/focus-direction.enum';\nimport { FocusableItem } from './interfaces';\nimport { ClrKeyFocusItem } from './key-focus-item';\nimport { preventArrowKeyScroll } from './util';\nimport { Keys } from '../../enums/keys.enum';\n\n@Component({\n selector: '[clrKeyFocus]',\n template: '<ng-content></ng-content>',\n standalone: false,\n})\nexport class ClrKeyFocus {\n @Input('clrDirection') direction: ClrFocusDirection | string = ClrFocusDirection.VERTICAL;\n @Input('clrFocusOnLoad') focusOnLoad = false;\n\n @ContentChildren(ClrKeyFocusItem, { descendants: true }) protected clrKeyFocusItems: QueryList<ClrKeyFocusItem>;\n\n protected subscriptions: Subscription[] = [];\n\n @Output('clrFocusChange') private focusChange = new EventEmitter<number>();\n\n private _current = 0;\n private _focusableItems: Array<FocusableItem>;\n\n constructor(private elementRef: ElementRef<HTMLElement>) {}\n\n /**\n * Here we use `any` cause any other type require reworking all methods below and a lot of more ifs.\n * this method will only work with array with FocusableItems anyway so any other value will be ignored.\n */\n @Input('clrKeyFocus')\n get focusableItems() {\n if (this._focusableItems) {\n return this._focusableItems;\n } else if (this.clrKeyFocusItems) {\n return this.clrKeyFocusItems.toArray();\n }\n return [];\n }\n set focusableItems(elements: Array<FocusableItem> | any) {\n // We accept a list of focusable elements (HTMLElements or existing Directives) or auto query for clrKeyFocusItem\n // We accept a list reference in the cases where we cannot use ContentChildren to query\n // ContentChildren can be unavailable if content is projected outside the scope of the component (see tabs).\n if (Array.isArray(elements) && elements.length) {\n this._focusableItems = elements as Array<FocusableItem>;\n this.initializeFocus();\n }\n }\n\n get nativeElement(): HTMLElement {\n return this.elementRef.nativeElement;\n }\n\n get current() {\n return this._current;\n }\n set current(value: number) {\n if (this._current !== value) {\n this._current = value;\n }\n }\n\n get currentItem() {\n return this.focusableItems[this._current];\n }\n\n get currentItemElement(): HTMLElement {\n return this.currentItem.nativeElement ? this.currentItem.nativeElement : (this.currentItem as HTMLElement);\n }\n\n ngAfterContentInit() {\n this.subscriptions.push(this.listenForItemUpdates());\n this.initializeFocus();\n }\n\n ngOnDestroy() {\n this.subscriptions.forEach(s => s.unsubscribe());\n }\n\n @HostListener('keydown', ['$event'])\n handleKeyboardEvent(event: KeyboardEvent) {\n // Make sure event was originated on the current item's element\n if (this.currentItemElement !== event.target) {\n const position = this.getItemPosition(event.target as HTMLElement);\n if (this.positionInRange(position)) {\n this.current = position;\n }\n }\n\n if (this.prevKeyPressed(event) && this.currentFocusIsNotFirstItem()) {\n this.moveTo(this.current - 1);\n } else if (this.nextKeyPressed(event) && this.currentFocusIsNotLastItem()) {\n this.moveTo(this.current + 1);\n } else if (event.code === Keys.Home) {\n this.moveTo(0);\n } else if (event.code === Keys.End) {\n this.moveTo(this.focusableItems.length - 1);\n }\n\n preventArrowKeyScroll(event);\n }\n\n @HostListener('click', ['$event'])\n setClickedItemCurrent(event: any) {\n const position = this.getItemPosition(event.target);\n\n if (position > -1) {\n this.moveTo(position);\n }\n }\n\n focusCurrent() {\n this.currentItem.focus();\n this.focusChange.emit(this._current);\n }\n\n moveTo(position: number) {\n if (this.positionInRange(position)) {\n this.current = position;\n this.focusCurrent();\n }\n }\n\n protected positionInRange(position: number) {\n return position >= 0 && position < this.focusableItems.length;\n }\n\n protected currentFocusIsNotFirstItem() {\n return this._current - 1 >= 0;\n }\n\n protected currentFocusIsNotLastItem() {\n return this._current + 1 < this.focusableItems.length;\n }\n\n protected initializeFocus() {\n if (this.focusableItems && this.focusableItems.length) {\n // It is possible that the focus was on an element, whose index is no longer available.\n // This can happen when some of the focusable elements are being removed.\n // In such cases, the new focus is initialized on the last focusable element.\n if (this._current >= this.focusableItems.length) {\n this._current = this.focusableItems.length - 1;\n }\n\n if (this.focusOnLoad) {\n this.currentItem.focus();\n this.focusChange.emit();\n }\n }\n }\n\n protected nextKeyPressed(event: KeyboardEvent) {\n switch (this.direction) {\n case ClrFocusDirection.VERTICAL:\n return event.key === Keys.ArrowDown;\n case ClrFocusDirection.HORIZONTAL:\n return event.key === Keys.ArrowRight;\n case ClrFocusDirection.BOTH:\n return event.key === Keys.ArrowDown || event.key === Keys.ArrowRight;\n default:\n return false;\n }\n }\n\n protected prevKeyPressed(event: KeyboardEvent) {\n switch (this.direction) {\n case ClrFocusDirection.VERTICAL:\n return event.key === Keys.ArrowUp;\n case ClrFocusDirection.HORIZONTAL:\n return event.key === Keys.ArrowLeft;\n case ClrFocusDirection.BOTH:\n return event.key === Keys.ArrowUp || event.key === Keys.ArrowLeft;\n default:\n return false;\n }\n }\n\n private getItemPosition(item: HTMLElement) {\n if (this._focusableItems) {\n return this.focusableItems.indexOf(item);\n } else {\n return this.focusableItems.map(_item => _item.nativeElement).indexOf(item);\n }\n }\n\n private listenForItemUpdates() {\n return this.clrKeyFocusItems.changes.subscribe(() => {\n this.initializeFocus();\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 { Component, ElementRef, Input, Renderer2 } from '@angular/core';\n\nimport { FocusableItem } from './interfaces';\nimport { ClrKeyFocus } from './key-focus';\nimport { Keys } from '../../enums/keys.enum';\n\n@Component({\n selector: '[clrRovingTabindex]',\n template: '<ng-content></ng-content>',\n standalone: false,\n})\nexport class ClrRovingTabindex extends ClrKeyFocus {\n private disabled = false;\n\n constructor(\n elementRef: ElementRef<HTMLElement>,\n private renderer: Renderer2\n ) {\n super(elementRef);\n }\n\n // Proxy the input, as the selector name from parent class will still be \"clrKeyFocus\".\n @Input('clrRovingTabindex')\n get rovingIndexItems(): Array<FocusableItem> | string {\n return this.focusableItems;\n }\n set rovingIndexItems(elements: Array<FocusableItem> | string) {\n this.focusableItems = elements as Array<FocusableItem>;\n }\n\n @Input('clrRovingTabindexDisabled')\n set rovingTabindexDisabled(disabled: boolean) {\n this.disabled = disabled;\n if (this.currentItem) {\n this.setTabindex(this.currentItem, disabled ? -1 : 0);\n }\n }\n\n override handleKeyboardEvent(event: KeyboardEvent) {\n if (this.prevKeyPressed(event) && this.currentFocusIsNotFirstItem()) {\n this.updateTabindex(this.current - 1);\n } else if (this.nextKeyPressed(event) && this.currentFocusIsNotLastItem()) {\n this.updateTabindex(this.current + 1);\n } else if (event.code === Keys.Home) {\n this.updateTabindex(0);\n } else if (event.code === Keys.End) {\n this.updateTabindex(this.focusableItems.length - 1);\n }\n super.handleKeyboardEvent(event);\n }\n\n override setClickedItemCurrent(event: any) {\n let position: number;\n\n if (this.focusableItems[0].nativeElement) {\n position = this.focusableItems.map(item => item.nativeElement).indexOf(event.target);\n } else {\n position = this.focusableItems.indexOf(event.target);\n }\n\n if (position > -1) {\n this.updateTabindex(position);\n }\n super.setClickedItemCurrent(event);\n }\n\n protected override initializeFocus() {\n if (this.focusableItems && this.focusableItems.length) {\n this.focusableItems.forEach(item => {\n this.setTabindex(item, -1);\n });\n\n // It is possible that the focus was on an element, whose index is no longer available.\n // This can happen when some of the focusable elements are being removed.\n // In such cases, the new focus is initialized on the last focusable element.\n if (this.current >= this.focusableItems.length) {\n this.current = this.focusableItems.length - 1;\n }\n if (!this.disabled && this.currentItem) {\n this.setTabindex(this.currentItem, 0);\n }\n }\n super.initializeFocus();\n }\n\n private updateTabindex(newIndex: number) {\n this.setTabindex(this.currentItem, -1);\n this.setTabindex(this.focusableItems[newIndex], 0);\n }\n\n private setTabindex(item: FocusableItem, value: number) {\n if (item instanceof HTMLElement) {\n this.renderer.setAttribute(item, 'tabindex', value.toString());\n } else {\n this.renderer.setAttribute(item.nativeElement, 'tabindex', value.toString());\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, Type } from '@angular/core';\n\nimport { ClrKeyFocus } from './key-focus';\nimport { ClrKeyFocusItem } from './key-focus-item';\nimport { ClrRovingTabindex } from './roving-tabindex';\n\nconst KEY_FOCUS_DIRECTIVES: Type<any>[] = [ClrKeyFocus, ClrRovingTabindex, ClrKeyFocusItem];\n\n@NgModule({\n imports: [CommonModule],\n declarations: [KEY_FOCUS_DIRECTIVES],\n exports: [KEY_FOCUS_DIRECTIVES],\n})\nexport class ClrKeyFocusModule {}\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 './key-focus';\nexport * from './util';\nexport * from './key-focus-item';\nexport * from './key-focus.module';\nexport * from './roving-tabindex';\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 { Observable } from 'rxjs';\n\nexport abstract class FocusableItem {\n id: string;\n disabled?: boolean;\n\n up?: FocusableItem | Observable<FocusableItem>;\n down?: FocusableItem | Observable<FocusableItem>;\n left?: FocusableItem | Observable<FocusableItem>;\n right?: FocusableItem | Observable<FocusableItem>;\n\n abstract focus(): void;\n abstract blur(): void;\n abstract activate?(): void;\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 { Observable } from 'rxjs';\n\nimport { FocusableItem } from './focusable-item';\n\nexport class MockFocusableItem implements FocusableItem {\n disabled = false;\n\n up?: FocusableItem | Observable<FocusableItem>;\n down?: FocusableItem | Observable<FocusableItem>;\n left?: FocusableItem | Observable<FocusableItem>;\n right?: FocusableItem | Observable<FocusableItem>;\n\n constructor(public id: string) {}\n\n focus() {\n // Do nothing\n }\n blur() {\n // Do nothing\n }\n activate() {\n // Do nothing\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\nlet NB_INSTANCES = 0;\n\nexport function uniqueIdFactory() {\n return 'clr-id-' + NB_INSTANCES++;\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 { isPlatformBrowser } from '@angular/common';\nimport { ElementRef, Inject, Injectable, PLATFORM_ID, Renderer2 } from '@angular/core';\n\nimport { FocusableItem } from './focusable-item';\nimport { uniqueIdFactory } from '../../id-generator/id-generator.service';\n\n@Injectable()\nexport class BasicFocusableItem implements FocusableItem {\n id = uniqueIdFactory();\n disabled = false;\n\n constructor(\n private el: ElementRef<HTMLElement>,\n private renderer: Renderer2,\n @Inject(PLATFORM_ID) private platformId: any\n ) {\n renderer.setAttribute(el.nativeElement, 'id', this.id);\n renderer.setAttribute(el.nativeElement, 'tabindex', '-1');\n }\n\n focus() {\n if (isPlatformBrowser(this.platformId)) {\n this.renderer.setAttribute(this.el.nativeElement, 'tabindex', '0');\n this.el.nativeElement.focus();\n this.el.nativeElement.scrollIntoView({ behavior: 'smooth', block: 'nearest', inline: 'nearest' });\n }\n }\n blur() {\n if (isPlatformBrowser(this.platformId)) {\n this.renderer.setAttribute(this.el.nativeElement, 'tabindex', '-1');\n this.el.nativeElement.blur();\n }\n }\n\n activate() {\n if (isPlatformBrowser(this.platformId)) {\n this.el.nativeElement.click();\n }\n }\n}\n\nexport const BASIC_FOCUSABLE_ITEM_PROVIDER = [\n {\n provide: FocusableItem,\n useClass: BasicFocusableItem,\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 { Type } from '@angular/core';\n\nimport { FocusableItem } from './focusable-item';\n\nexport function customFocusableItemProvider<T>(implementation: Type<T>) {\n return [\n implementation,\n {\n provide: FocusableItem,\n useExisting: implementation,\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 { Observable } from 'rxjs';\n\nimport { ArrowKeyDirection } from '../arrow-key-direction.enum';\nimport { FocusableItem } from './focusable-item';\n\nexport class Linkers {\n /**\n * Links a set of focusable items to a parent along one direction\n */\n static linkParent(\n items: FocusableItem[],\n parent: FocusableItem | Observable<FocusableItem>,\n direction: ArrowKeyDirection\n ) {\n items.forEach(item => (item[direction] = parent));\n }\n\n /**\n * Double-links a set of focusable items vertically, possibly looping\n */\n static linkVertical(items: FocusableItem[], loop = true) {\n items.forEach((item, index) => {\n if (index > 0) {\n item.up = items[index - 1];\n }\n if (index < items.length - 1) {\n item.down = items[index + 1];\n }\n });\n if (loop && items.length > 1) {\n items[0].up = items[items.length - 1];\n items[items.length - 1].down = items[0];\n }\n }\n}\n\n// Right now I only need the two linkers above, but we can easily add more linkers. A couple examples:\n// export function linkHorizontal(items: FocusableItem[], loop = true);\n// export function linkTable(items: FocusableItem[][]);\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 { Observable, Observer } from 'rxjs';\n\nexport function wrapObservable<T>(\n observable: Observable<T>,\n onSubscribe?: (observer: Observer<T>) => void,\n onUnsubscribe?: (observer: Observer<T>) => void\n): Observable<T> {\n return Observable.create((observer: Observer<T>) => {\n onSubscribe(observer);\n const subscription = observable.subscribe(observer);\n return () => {\n subscription.unsubscribe();\n if (onUnsubscribe) {\n onUnsubscribe(observer);\n }\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\nexport enum ArrowKeyDirection {\n UP = 'up',\n DOWN = 'down',\n LEFT = 'left',\n RIGHT = 'right',\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 { FactoryProvider, Injectable, Optional, Renderer2, SkipSelf } from '@angular/core';\nimport { isObservable, of } from 'rxjs';\n\nimport { ArrowKeyDirection } from './arrow-key-direction.enum';\nimport { FocusableItem } from './focusable-item/focusable-item';\n\n@Injectable()\nexport class FocusService {\n private _current: FocusableItem;\n private _unlistenFuncsMap: Map<FocusableItem, (() => void)[]> = new Map();\n\n constructor(private renderer: Renderer2) {}\n\n get current() {\n return this._current;\n }\n\n reset(first: FocusableItem) {\n this._current = first;\n }\n\n registerContainer(el: HTMLElement) {\n // The following listeners return false when there was an action to take for the key pressed,\n // in order to prevent the default behavior of that key.\n const unlistenFuncs = [];\n\n unlistenFuncs.push(this.renderer.listen(el, 'keydown.arrowup', () => !this.move(ArrowKeyDirection.UP)));\n unlistenFuncs.push(this.renderer.listen(el, 'keydown.arrowdown', () => !this.move(ArrowKeyDirection.DOWN)));\n unlistenFuncs.push(this.renderer.listen(el, 'keydown.arrowleft', () => !this.move(ArrowKeyDirection.LEFT)));\n // arrow right can be used only for nested triggers.\n // unlistenFuncs.push(this.renderer.listen(el, 'keydown.arrowright', () => !this.move(ArrowKeyDirection.RIGHT)));\n\n unlistenFuncs.push(this.renderer.listen(el, 'keydown.space', () => !this.activateCurrent()));\n unlistenFuncs.push(this.renderer.listen(el, 'keydown.enter', () => !this.activateCurrent()));\n\n this._unlistenFuncsMap.set(el, unlistenFuncs);\n }\n\n moveTo(item: FocusableItem) {\n /**\n * Make sure that item is not undefined,\n * This is safety net in the case that someone sometime decide to\n * call this method without having FocusableItem.\n */\n if (item === undefined) {\n return;\n }\n\n if (this.current) {\n this.current.blur();\n }\n item.focus();\n this._current = item;\n }\n\n move(direction: ArrowKeyDirection): boolean {\n let moved = false;\n if (this.current) {\n const next = this.current[direction];\n if (next) {\n // Turning the value into an Observable isn't great, but it's the fastest way to avoid code duplication.\n // If performance ever matters for this, we can refactor using additional private methods.\n const nextObs = isObservable(next) ? next : of(next);\n nextObs.subscribe(item => {\n if (item) {\n this.moveTo(item);\n moved = true;\n }\n });\n }\n }\n return moved;\n }\n\n activateCurrent() {\n if (this.current && this.current.activate) {\n this.current.activate();\n return true;\n }\n return false;\n }\n\n detachListeners(el: HTMLElement) {\n const unlistenFuncs = this._unlistenFuncsMap.get(el);\n\n unlistenFuncs?.forEach(unlisten => unlisten());\n\n this._unlistenFuncsMap.delete(el);\n }\n}\n\nexport function clrFocusServiceFactory(existing: FocusService, renderer: Renderer2) {\n return existing || new FocusService(renderer);\n}\n\nexport const FOCUS_SERVICE_PROVIDER: FactoryProvider = {\n provide: FocusService,\n useFactory: clrFocusServiceFactory,\n deps: [[new Optional(), new SkipSelf(), FocusService], Renderer2],\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 { DOCUMENT, Inject, Injectable } from '@angular/core';\n\n@Injectable()\nexport class ScrollingService {\n constructor(@Inject(DOCUMENT) private _document: any) {}\n\n stopScrolling(): void {\n this._document.body.classList.add('no-scrolling');\n }\n\n resumeScrolling(): void {\n if (this._document.body.classList.contains('no-scrolling')) {\n this._document.body.classList.remove('no-scrolling');\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 { Directionality } from '@angular/cdk/bidi';\nimport { CDK_DRAG_CONFIG, CDK_DROP_LIST, CdkDrag, DragDrop, DragDropConfig } from '@angular/cdk/drag-drop';\nimport {\n ChangeDetectorRef,\n Directive,\n DOCUMENT,\n ElementRef,\n Inject,\n NgModule,\n NgZone,\n Optional,\n ViewContainerRef,\n} from '@angular/core';\n\n/**\n * This is just a copy of CdkDrag so it can be used independent of the rest of the CdkDragDropModule.\n */\n@Directive({\n selector: '[cdkDrag]',\n standalone: false,\n})\nexport class CdkDragModule_CdkDrag extends CdkDrag {\n /**\n * Include the constructor to forward all the dependencies to the base class\n * as a workaround to fix Angular \"ɵɵinvalidFactoryDep\" error after upgrading storybook\n * https://github.com/storybookjs/storybook/issues/23534\n */\n constructor(\n elementRef: ElementRef<HTMLElement>,\n @Optional() @Inject(CDK_DROP_LIST) dropContainer: any,\n @Optional() @Inject(DOCUMENT) document: any,\n ngZone: NgZone,\n viewContainerRef: ViewContainerRef,\n @Optional() @Inject(CDK_DRAG_CONFIG) config: DragDropConfig,\n dir: Directionality,\n dragDrop: DragDrop,\n changeDetectorRef: ChangeDetectorRef\n ) {\n super(elementRef, dropContainer, document, ngZone, viewContainerRef, config, dir, dragDrop, changeDetectorRef);\n }\n}\n\n/**\n * This module allows us to avoid importing all of CdkDragDropModule which results in a smaller application bundle.\n */\n@NgModule({\n declarations: [CdkDragModule_CdkDrag],\n exports: [CdkDragModule_CdkDrag],\n})\nexport class CdkDragModule {}\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 { CdkTrapFocus, FocusTrapFactory } from '@angular/cdk/a11y';\nimport { Directive, DOCUMENT, ElementRef, Inject, NgModule, Optional } from '@angular/core';\n\n/**\n * This is just a copy of CdkTrapFocus so it can be used independent of the rest of the A11yModule.\n */\n@Directive({\n selector: '[cdkTrapFocus]',\n standalone: false,\n})\nexport class CdkTrapFocusModule_CdkTrapFocus extends CdkTrapFocus {\n /**\n * Include the constructor to forward all the dependencies to the base class\n * as a workaround to fix Angular \"ɵɵinvalidFactoryDep\" error after upgrading storybook\n * https://github.com/storybookjs/storybook/issues/23534\n */\n constructor(\n elementRef: ElementRef<HTMLElement>,\n focusTrapFactory: FocusTrapFactory,\n @Optional() @Inject(DOCUMENT) document: any\n ) {\n super(elementRef, focusTrapFactory, document);\n }\n}\n\n/**\n * This module allows us to avoid importing all of A11yModule which results in a smaller application bundle.\n */\n@NgModule({\n declarations: [CdkTrapFocusModule_CdkTrapFocus],\n exports: [CdkTrapFocusModule_CdkTrapFocus],\n})\nexport class CdkTrapFocusModule {}\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 { Injectable, OnDestroy } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n/**\n * @description\n *\n * Developers should explicitly add this service to providers; it then can be injected\n * into a constructor and used as a notifier for the `takeUntil` operator. This eliminates\n * the need for boilerplates with subscriptions, and we don't need to implement the `OnDestroy`\n * interface and teardown subscriptions there.\n *\n * This can be used as follows:\n * ```ts\n * @Component({\n * selector: 'clr-button-group',\n * templateUrl: 'button-group.html',\n * providers: [ClrDestroyService],\n * })\n * export class ClrButtonGroup {\n * constructor(public buttonGroupNewService: ButtonInGroupService, private destroy$: ClrDestroyService) {}\n *\n * ngAfterContentInit() {\n * this.buttonGroupNewService.changes.pipe(takeUntil(this.destroy$)).subscribe(button => this.rearrangeButton(button));\n * }\n * }\n * ```\n */\n@Injectable()\nexport class ClrDestroyService extends Subject<void> implements OnDestroy {\n ngOnDestroy(): void {\n this.next();\n this.complete();\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 './destroy.service';\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 type HeadingLevel = 1 | 2 | 3 | 4 | 5 | 6 | '1' | '2' | '3' | '4' | '5' | '6';\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\n/**\n * A (clockwise) enumeration for positions around an element.\n *\n * A B C\n * L ----------- D\n * | |\n * | |\n * K | | E\n * | |\n * | |\n * J ----------- F\n * I H G\n *\n * TOP_LEFT = A\n * TOP_CENTER = B\n * TOP_RIGHT = C\n * RIGHT_TOP = D\n * RIGHT_CENTER = E\n * RIGHT_BOTTOM = F\n * BOTTOM_RIGHT = G\n * BOTTOM_CENTER = H\n * BOTTOM_LEFT = I\n * LEFT_BOTTOM = J\n * LEFT_CENTER = K\n * LEFT_TOP = L\n *\n *\n * Consumers tell us that they want something to display on the TOP_LEFT of the trigger and that they want the\n * _content_ container to orient AT the bottom left.\n * In order to calculate the position for the content I need to match up the origin/trigger ClrPosition with the\n * content ClrPosition.\n *\n * Origin TOP_LEFT **AT** Content BOTTOM_LEFT.\n * -----------\n * | |\n * | |\n * | content |\n * | |\n * | |\n * -----------\n * |/\n * -----------\n * | |\n * | |\n * | trigger |\n * | |\n * | |\n * -----------\n *\n */\n\nexport enum ClrPosition {\n TOP_LEFT,\n TOP_CENTER,\n TOP_RIGHT,\n RIGHT_TOP,\n RIGHT_CENTER,\n RIGHT_BOTTOM,\n BOTTOM_RIGHT,\n BOTTOM_CENTER,\n BOTTOM_LEFT,\n LEFT_BOTTOM,\n LEFT_CENTER,\n LEFT_TOP,\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 { AfterViewChecked, Directive } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\n\n/*\n * After a conversation with the Angular core team, it turns out we don't have much of a choice for our\n * declarative API, we need to fight against change detection and its one-way flow. This is\n * currently the least dirty solution to do what we want.\n *\n * Do not modify or even use this class unless you know exactly what you're doing.\n * It has the potential to trigger change detection loops or kill app performances.\n */\n@Directive()\nexport class WillyWonka implements AfterViewChecked {\n disableChocolateCheck = false;\n\n private _chocolate = new Subject<void>();\n\n get chocolate(): Observable<void> {\n return this._chocolate.asObservable();\n }\n\n ngAfterViewChecked() {\n if (!this.disableChocolateCheck) {\n this._chocolate.next();\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 { AfterContentChecked, ChangeDetectorRef, Directive, OnDestroy } from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { WillyWonka } from './willy-wonka';\n\n@Directive()\nexport abstract class OompaLoompa implements AfterContentChecked, OnDestroy {\n private latestFlavor: any;\n private subscription: Subscription;\n\n // FIXME: Request Injector once we move to Angular 4.2+, it'll allow easier refactors\n protected constructor(cdr: ChangeDetectorRef, willyWonka: WillyWonka) {\n this.subscription = willyWonka.chocolate.subscribe(() => {\n if (this.latestFlavor !== this.flavor) {\n willyWonka.disableChocolateCheck = true;\n cdr.detectChanges();\n willyWonka.disableChocolateCheck = false;\n }\n });\n }\n\n abstract get flavor(): any;\n\n ngAfterContentChecked() {\n this.latestFlavor = this.flavor;\n }\n\n ngOnDestroy() {\n this.subscription.unsubscribe();\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 './forms/validation';\nexport * from './dom-adapter/dom-adapter';\nexport * from './dom-adapter/dom-adapter.mock';\nexport * from './outside-click';\nexport * from './template-ref/index';\nexport * from './breakpoints/breakpoints';\nexport * from './host-wrapping/index';\nexport * from './assert/assert.helpers';\nexport * from './component/is-boolean-attribute-set';\nexport * from './animations/index';\nexport * from '@clr/angular/utils/loading';\nexport * from '@clr/angular/utils/conditional';\nexport * from './i18n/index';\nexport * from './focus/focus-on-view-init/index';\nexport * from './focus/focus-trap/index';\nexport * from './focus/key-focus';\nexport * from './focus/focusable-item/focusable-item';\nexport * from './focus/focusable-item/focusable-item.mock';\nexport * from './focus/focusable-item/basic-focusable-item.service';\nexport * from './focus/focusable-item/custom-focusable-item-provider';\nexport * from './focus/focusable-item/linkers';\nexport * from './focus/wrap-observable';\nexport * from './focus/arrow-key-direction.enum';\nexport * from './focus/focus.service';\nexport * from './id-generator/id-generator.service';\nexport * from './scrolling/scrolling-service';\nexport * from './cdk/cdk-drag.module';\nexport * from './cdk/cdk-trap-focus.module';\nexport * from './destroy';\nexport * from './types/heading-level';\nexport * from './enums/keys.enum';\nexport * from './enums/position.enum';\nexport * from './chocolate/willy-wonka';\nexport * from './chocolate/oompa-loompa';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.DomAdapter","i1","i2","i1.WillyWonka"],"mappings":"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"}