@clr/angular 18.2.2 → 18.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/fesm2022/clr-angular-accordion.mjs +28 -28
  2. package/fesm2022/clr-angular-accordion.mjs.map +1 -1
  3. package/fesm2022/clr-angular-button.mjs +27 -27
  4. package/fesm2022/clr-angular-button.mjs.map +1 -1
  5. package/fesm2022/clr-angular-card.mjs +417 -0
  6. package/fesm2022/clr-angular-card.mjs.map +1 -0
  7. package/fesm2022/clr-angular-collapsible-panel.mjs +6 -6
  8. package/fesm2022/clr-angular-collapsible-panel.mjs.map +1 -1
  9. package/fesm2022/clr-angular-data-datagrid.mjs +1578 -415
  10. package/fesm2022/clr-angular-data-datagrid.mjs.map +1 -1
  11. package/fesm2022/clr-angular-data-stack-view.mjs +23 -23
  12. package/fesm2022/clr-angular-data-stack-view.mjs.map +1 -1
  13. package/fesm2022/clr-angular-data-tree-view.mjs +283 -48
  14. package/fesm2022/clr-angular-data-tree-view.mjs.map +1 -1
  15. package/fesm2022/clr-angular-data.mjs +4 -4
  16. package/fesm2022/clr-angular-data.mjs.map +1 -1
  17. package/fesm2022/clr-angular-emphasis-alert.mjs +26 -26
  18. package/fesm2022/clr-angular-emphasis-alert.mjs.map +1 -1
  19. package/fesm2022/clr-angular-emphasis-badge.mjs +3 -3
  20. package/fesm2022/clr-angular-emphasis-badge.mjs.map +1 -1
  21. package/fesm2022/clr-angular-emphasis-label.mjs +3 -3
  22. package/fesm2022/clr-angular-emphasis-label.mjs.map +1 -1
  23. package/fesm2022/clr-angular-emphasis.mjs +4 -4
  24. package/fesm2022/clr-angular-emphasis.mjs.map +1 -1
  25. package/fesm2022/clr-angular-forms-checkbox.mjs +23 -14
  26. package/fesm2022/clr-angular-forms-checkbox.mjs.map +1 -1
  27. package/fesm2022/clr-angular-forms-combobox.mjs +35 -35
  28. package/fesm2022/clr-angular-forms-combobox.mjs.map +1 -1
  29. package/fesm2022/clr-angular-forms-common.mjs +69 -69
  30. package/fesm2022/clr-angular-forms-common.mjs.map +1 -1
  31. package/fesm2022/clr-angular-forms-datalist.mjs +17 -17
  32. package/fesm2022/clr-angular-forms-datalist.mjs.map +1 -1
  33. package/fesm2022/clr-angular-forms-datepicker.mjs +73 -73
  34. package/fesm2022/clr-angular-forms-datepicker.mjs.map +1 -1
  35. package/fesm2022/clr-angular-forms-file-input.mjs +36 -36
  36. package/fesm2022/clr-angular-forms-file-input.mjs.map +1 -1
  37. package/fesm2022/clr-angular-forms-input.mjs +10 -10
  38. package/fesm2022/clr-angular-forms-input.mjs.map +1 -1
  39. package/fesm2022/clr-angular-forms-number-input.mjs +12 -12
  40. package/fesm2022/clr-angular-forms-number-input.mjs.map +1 -1
  41. package/fesm2022/clr-angular-forms-password.mjs +11 -11
  42. package/fesm2022/clr-angular-forms-password.mjs.map +1 -1
  43. package/fesm2022/clr-angular-forms-radio.mjs +17 -24
  44. package/fesm2022/clr-angular-forms-radio.mjs.map +1 -1
  45. package/fesm2022/clr-angular-forms-range.mjs +10 -10
  46. package/fesm2022/clr-angular-forms-range.mjs.map +1 -1
  47. package/fesm2022/clr-angular-forms-select.mjs +10 -10
  48. package/fesm2022/clr-angular-forms-select.mjs.map +1 -1
  49. package/fesm2022/clr-angular-forms-textarea.mjs +10 -10
  50. package/fesm2022/clr-angular-forms-textarea.mjs.map +1 -1
  51. package/fesm2022/clr-angular-forms.mjs +4 -4
  52. package/fesm2022/clr-angular-forms.mjs.map +1 -1
  53. package/fesm2022/clr-angular-icon.mjs +101 -47
  54. package/fesm2022/clr-angular-icon.mjs.map +1 -1
  55. package/fesm2022/clr-angular-layout-breadcrumbs.mjs +10 -10
  56. package/fesm2022/clr-angular-layout-breadcrumbs.mjs.map +1 -1
  57. package/fesm2022/clr-angular-layout-main-container.mjs +7 -7
  58. package/fesm2022/clr-angular-layout-main-container.mjs.map +1 -1
  59. package/fesm2022/clr-angular-layout-nav.mjs +22 -22
  60. package/fesm2022/clr-angular-layout-nav.mjs.map +1 -1
  61. package/fesm2022/clr-angular-layout-tabs.mjs +35 -35
  62. package/fesm2022/clr-angular-layout-tabs.mjs.map +1 -1
  63. package/fesm2022/clr-angular-layout-vertical-nav.mjs +31 -31
  64. package/fesm2022/clr-angular-layout-vertical-nav.mjs.map +1 -1
  65. package/fesm2022/clr-angular-layout.mjs +4 -4
  66. package/fesm2022/clr-angular-layout.mjs.map +1 -1
  67. package/fesm2022/clr-angular-modal.mjs +29 -27
  68. package/fesm2022/clr-angular-modal.mjs.map +1 -1
  69. package/fesm2022/clr-angular-popover-common.mjs +70 -35
  70. package/fesm2022/clr-angular-popover-common.mjs.map +1 -1
  71. package/fesm2022/clr-angular-popover-dropdown.mjs +63 -26
  72. package/fesm2022/clr-angular-popover-dropdown.mjs.map +1 -1
  73. package/fesm2022/clr-angular-popover-signpost.mjs +27 -25
  74. package/fesm2022/clr-angular-popover-signpost.mjs.map +1 -1
  75. package/fesm2022/clr-angular-popover-tooltip.mjs +19 -19
  76. package/fesm2022/clr-angular-popover-tooltip.mjs.map +1 -1
  77. package/fesm2022/clr-angular-popover.mjs +4 -4
  78. package/fesm2022/clr-angular-popover.mjs.map +1 -1
  79. package/fesm2022/clr-angular-progress-progress-bars.mjs +7 -7
  80. package/fesm2022/clr-angular-progress-progress-bars.mjs.map +1 -1
  81. package/fesm2022/clr-angular-progress-spinner.mjs +7 -7
  82. package/fesm2022/clr-angular-progress-spinner.mjs.map +1 -1
  83. package/fesm2022/clr-angular-stepper.mjs +31 -31
  84. package/fesm2022/clr-angular-stepper.mjs.map +1 -1
  85. package/fesm2022/clr-angular-timeline.mjs +24 -24
  86. package/fesm2022/clr-angular-timeline.mjs.map +1 -1
  87. package/fesm2022/clr-angular-utils-conditional.mjs +16 -16
  88. package/fesm2022/clr-angular-utils-conditional.mjs.map +1 -1
  89. package/fesm2022/clr-angular-utils-loading.mjs +7 -7
  90. package/fesm2022/clr-angular-utils-loading.mjs.map +1 -1
  91. package/fesm2022/clr-angular-utils.mjs +149 -150
  92. package/fesm2022/clr-angular-utils.mjs.map +1 -1
  93. package/fesm2022/clr-angular-wizard.mjs +51 -51
  94. package/fesm2022/clr-angular-wizard.mjs.map +1 -1
  95. package/fesm2022/clr-angular.mjs +9 -4
  96. package/fesm2022/clr-angular.mjs.map +1 -1
  97. package/package.json +9 -5
  98. package/types/clr-angular-card.d.ts +110 -0
  99. package/types/clr-angular-data-datagrid.d.ts +427 -57
  100. package/types/clr-angular-data-tree-view.d.ts +126 -88
  101. package/types/clr-angular-forms-checkbox.d.ts +3 -0
  102. package/types/clr-angular-forms-datepicker.d.ts +1 -1
  103. package/types/clr-angular-forms-file-input.d.ts +1 -1
  104. package/types/clr-angular-forms-radio.d.ts +1 -2
  105. package/types/clr-angular-icon.d.ts +22 -2
  106. package/types/clr-angular-popover-common.d.ts +6 -0
  107. package/types/clr-angular-popover-dropdown.d.ts +33 -4
  108. package/types/clr-angular-utils.d.ts +61 -20
  109. package/types/clr-angular.d.ts +8 -6
  110. package/schematics/vitest.config.d.ts +0 -2
  111. package/schematics/vitest.config.js +0 -17
  112. package/schematics/vitest.config.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { OnChanges, OnDestroy, TemplateRef, ChangeDetectorRef, AfterContentInit, Renderer2, ElementRef, NgZone, OnInit, AfterViewInit, EventEmitter, Injector, Type } from '@angular/core';
2
+ import { ElementRef, OnInit, AfterContentInit, AfterViewInit, OnDestroy, EventEmitter, Injector, OnChanges, TemplateRef, ChangeDetectorRef, Renderer2, NgZone, Type } from '@angular/core';
3
3
  import { Observable, BehaviorSubject, Subject, Subscription } from 'rxjs';
4
4
  import * as i8 from '@clr/angular/utils';
5
5
  import { IfExpandService, ClrCommonStringsService } from '@clr/angular/utils';
@@ -14,74 +14,6 @@ declare enum ClrSelectedState {
14
14
 
15
15
  type AsyncArray<T> = T[] | null | undefined | Promise<T[] | null | undefined> | Observable<T[] | null | undefined>;
16
16
 
17
- declare abstract class TreeNodeModel<T> {
18
- nodeId: string;
19
- expanded: boolean;
20
- model: T | null;
21
- textContent: string;
22
- loading$: BehaviorSubject<boolean>;
23
- selected: BehaviorSubject<ClrSelectedState>;
24
- private _loading;
25
- private _disabled;
26
- abstract parent: TreeNodeModel<T> | null;
27
- abstract children: TreeNodeModel<T>[];
28
- get loading(): boolean;
29
- set loading(isLoading: boolean);
30
- get disabled(): boolean;
31
- set disabled(value: boolean);
32
- destroy(): void;
33
- setSelected(state: ClrSelectedState, propagateUp: boolean, propagateDown: boolean): void;
34
- toggleSelection(propagate: boolean): void;
35
- _updateSelectionFromChildren(): void;
36
- private computeSelectionStateFromChildren;
37
- }
38
-
39
- declare class RecursiveTreeNodeModel<T> extends TreeNodeModel<T> {
40
- private getChildren;
41
- private featuresService;
42
- parent: RecursiveTreeNodeModel<T> | null;
43
- private subscription;
44
- private childrenFetched;
45
- private _children;
46
- constructor(model: T, parent: RecursiveTreeNodeModel<T> | null, getChildren: (node: T) => AsyncArray<T> | undefined, featuresService: TreeFeaturesService<T> | undefined);
47
- get children(): RecursiveTreeNodeModel<T>[];
48
- set children(value: RecursiveTreeNodeModel<T>[]);
49
- destroy(): void;
50
- clearChildren(): void;
51
- fetchChildren(): void;
52
- private wrapChildren;
53
- }
54
-
55
- interface ClrRecursiveForOfContext<T> {
56
- $implicit: T;
57
- clrModel: TreeNodeModel<T>;
58
- }
59
- declare class ClrRecursiveForOf<T> implements OnChanges, OnDestroy {
60
- private template;
61
- private featuresService;
62
- private cdr;
63
- nodes: T | T[];
64
- getChildren: (node: T) => AsyncArray<T>;
65
- private childrenFetchSubscription;
66
- constructor(template: TemplateRef<ClrRecursiveForOfContext<T>>, featuresService: TreeFeaturesService<T>, cdr: ChangeDetectorRef);
67
- ngOnChanges(): void;
68
- ngOnDestroy(): void;
69
- static ɵfac: i0.ɵɵFactoryDeclaration<ClrRecursiveForOf<any>, never>;
70
- static ɵdir: i0.ɵɵDirectiveDeclaration<ClrRecursiveForOf<any>, "[clrRecursiveFor][clrRecursiveForOf]", never, { "nodes": { "alias": "clrRecursiveForOf"; "required": false; }; "getChildren": { "alias": "clrRecursiveForGetChildren"; "required": false; }; }, {}, never, never, false, never>;
71
- }
72
-
73
- declare class TreeFeaturesService<T> {
74
- selectable: boolean;
75
- eager: boolean;
76
- recursion: {
77
- template: TemplateRef<ClrRecursiveForOfContext<T>>;
78
- root: RecursiveTreeNodeModel<T>[];
79
- };
80
- childrenFetched: Subject<void>;
81
- static ɵfac: i0.ɵɵFactoryDeclaration<TreeFeaturesService<any>, never>;
82
- static ɵprov: i0.ɵɵInjectableDeclaration<TreeFeaturesService<any>>;
83
- }
84
-
85
17
  declare class TreeFocusManagerService<T> {
86
18
  rootNodeModels: TreeNodeModel<T>[];
87
19
  private focusedNodeId;
@@ -112,27 +44,9 @@ declare class TreeFocusManagerService<T> {
112
44
  static ɵprov: i0.ɵɵInjectableDeclaration<TreeFocusManagerService<any>>;
113
45
  }
114
46
 
115
- declare class ClrTree<T> implements AfterContentInit, OnDestroy {
116
- featuresService: TreeFeaturesService<T>;
117
- private focusManagerService;
118
- private renderer;
119
- private el;
120
- private rootNodes;
121
- private subscriptions;
122
- private _isMultiSelectable;
123
- constructor(featuresService: TreeFeaturesService<T>, focusManagerService: TreeFocusManagerService<T>, renderer: Renderer2, el: ElementRef<HTMLElement>, ngZone: NgZone);
124
- set lazy(value: boolean);
125
- get isMultiSelectable(): boolean;
126
- ngAfterContentInit(): void;
127
- ngOnDestroy(): void;
128
- private setMultiSelectable;
129
- private setRootNodes;
130
- static ɵfac: i0.ɵɵFactoryDeclaration<ClrTree<any>, never>;
131
- static ɵcmp: i0.ɵɵComponentDeclaration<ClrTree<any>, "clr-tree", never, { "lazy": { "alias": "clrLazy"; "required": false; }; }, {}, ["rootNodes"], ["*"], false, never>;
132
- }
133
-
134
47
  declare class ClrTreeNodeLink {
135
48
  private el;
49
+ tabindex: number;
136
50
  constructor(el: ElementRef<HTMLElement>);
137
51
  get active(): boolean;
138
52
  activate(): void;
@@ -155,6 +69,8 @@ declare class ClrTreeNode<T> implements OnInit, AfterContentInit, AfterViewInit,
155
69
  nodeId: string;
156
70
  contentContainerTabindex: number;
157
71
  _model: TreeNodeModel<T>;
72
+ private bulkChange;
73
+ private skipAnimation;
158
74
  private skipEmitChange;
159
75
  private typeAheadKeyBuffer;
160
76
  private typeAheadKeyEvent;
@@ -171,6 +87,7 @@ declare class ClrTreeNode<T> implements OnInit, AfterContentInit, AfterViewInit,
171
87
  set clrForTypeAhead(value: string);
172
88
  get ariaSelected(): boolean;
173
89
  get treeNodeLink(): ClrTreeNodeLink;
90
+ get childrenAnimationState(): string;
174
91
  private get isParent();
175
92
  ngOnInit(): void;
176
93
  ngAfterContentInit(): void;
@@ -178,9 +95,22 @@ declare class ClrTreeNode<T> implements OnInit, AfterContentInit, AfterViewInit,
178
95
  ngOnDestroy(): void;
179
96
  isExpandable(): boolean;
180
97
  isSelectable(): boolean;
98
+ /**
99
+ * Expands this node and every expandable node below it, without animation. Disabled nodes are left untouched.
100
+ * Descendants added afterwards, including lazy-loaded children, come in expanded until any node of the subtree
101
+ * gets collapsed.
102
+ */
103
+ expandDescendants(): void;
104
+ /**
105
+ * Collapses this node and every node below it, without animation. Disabled nodes are left untouched.
106
+ */
107
+ collapseDescendants(): void;
108
+ _setExpandedInBulk(expanded: boolean): void;
109
+ _takeTabStop(): void;
181
110
  focusTreeNode(): void;
182
111
  broadcastFocusOnContainer(): void;
183
112
  onKeyDown(event: KeyboardEvent): void;
113
+ private reclaimTabStop;
184
114
  private setTabIndex;
185
115
  private checkTabIndex;
186
116
  private toggleExpandOrTriggerDefault;
@@ -191,6 +121,113 @@ declare class ClrTreeNode<T> implements OnInit, AfterContentInit, AfterViewInit,
191
121
  static ɵcmp: i0.ɵɵComponentDeclaration<ClrTreeNode<any>, "clr-tree-node", never, { "expandable": { "alias": "clrExpandable"; "required": false; }; "disabled": { "alias": "clrDisabled"; "required": false; }; "selected": { "alias": "clrSelected"; "required": false; }; "expanded": { "alias": "clrExpanded"; "required": false; }; "clrForTypeAhead": { "alias": "clrForTypeAhead"; "required": false; }; }, { "selectedChange": "clrSelectedChange"; "expandedChange": "clrExpandedChange"; }, ["treeNodeLinkList"], ["*", "clr-tree-node", "[clrIfExpanded]"], false, never>;
192
122
  }
193
123
 
124
+ declare abstract class TreeNodeModel<T> {
125
+ nodeId: string;
126
+ expanded: boolean;
127
+ _descendantsExpanded: boolean;
128
+ _node: ClrTreeNode<T> | null;
129
+ model: T | null;
130
+ textContent: string;
131
+ loading$: BehaviorSubject<boolean>;
132
+ selected: BehaviorSubject<ClrSelectedState>;
133
+ private _loading;
134
+ private _disabled;
135
+ abstract parent: TreeNodeModel<T> | null;
136
+ abstract children: TreeNodeModel<T>[];
137
+ get loading(): boolean;
138
+ set loading(isLoading: boolean);
139
+ get _loadedChildren(): TreeNodeModel<T>[];
140
+ get disabled(): boolean;
141
+ set disabled(value: boolean);
142
+ destroy(): void;
143
+ _setExpandedRecursive(expanded: boolean): void;
144
+ _isInExpandedSubtree(): boolean;
145
+ setSelected(state: ClrSelectedState, propagateUp: boolean, propagateDown: boolean): void;
146
+ toggleSelection(propagate: boolean): void;
147
+ _clearExpandedSubtree(): void;
148
+ _updateSelectionFromChildren(): void;
149
+ private computeSelectionStateFromChildren;
150
+ }
151
+
152
+ declare class RecursiveTreeNodeModel<T> extends TreeNodeModel<T> {
153
+ private getChildren;
154
+ private featuresService;
155
+ parent: RecursiveTreeNodeModel<T> | null;
156
+ private subscription;
157
+ private childrenFetched;
158
+ private _children;
159
+ constructor(model: T, parent: RecursiveTreeNodeModel<T> | null, getChildren: (node: T) => AsyncArray<T> | undefined, featuresService: TreeFeaturesService<T> | undefined);
160
+ get children(): RecursiveTreeNodeModel<T>[];
161
+ set children(value: RecursiveTreeNodeModel<T>[]);
162
+ get _loadedChildren(): RecursiveTreeNodeModel<T>[];
163
+ destroy(): void;
164
+ clearChildren(): void;
165
+ fetchChildren(): void;
166
+ private wrapChildren;
167
+ }
168
+
169
+ interface ClrRecursiveForOfContext<T> {
170
+ $implicit: T;
171
+ clrModel: TreeNodeModel<T>;
172
+ }
173
+ declare class ClrRecursiveForOf<T> implements OnChanges, OnDestroy {
174
+ private template;
175
+ private featuresService;
176
+ private cdr;
177
+ nodes: T | T[];
178
+ getChildren: (node: T) => AsyncArray<T>;
179
+ private childrenFetchSubscription;
180
+ constructor(template: TemplateRef<ClrRecursiveForOfContext<T>>, featuresService: TreeFeaturesService<T>, cdr: ChangeDetectorRef);
181
+ ngOnChanges(): void;
182
+ ngOnDestroy(): void;
183
+ static ɵfac: i0.ɵɵFactoryDeclaration<ClrRecursiveForOf<any>, never>;
184
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ClrRecursiveForOf<any>, "[clrRecursiveFor][clrRecursiveForOf]", never, { "nodes": { "alias": "clrRecursiveForOf"; "required": false; }; "getChildren": { "alias": "clrRecursiveForGetChildren"; "required": false; }; }, {}, never, never, false, never>;
185
+ }
186
+
187
+ declare class TreeFeaturesService<T> {
188
+ selectable: boolean;
189
+ eager: boolean;
190
+ recursion: {
191
+ template: TemplateRef<ClrRecursiveForOfContext<T>>;
192
+ root: RecursiveTreeNodeModel<T>[];
193
+ };
194
+ childrenFetched: Subject<void>;
195
+ _allExpanded: boolean;
196
+ static ɵfac: i0.ɵɵFactoryDeclaration<TreeFeaturesService<any>, never>;
197
+ static ɵprov: i0.ɵɵInjectableDeclaration<TreeFeaturesService<any>>;
198
+ }
199
+
200
+ declare class ClrTree<T> implements AfterContentInit, OnDestroy {
201
+ featuresService: TreeFeaturesService<T>;
202
+ private focusManagerService;
203
+ private renderer;
204
+ private el;
205
+ private rootNodes;
206
+ private rootModels;
207
+ private subscriptions;
208
+ private _isMultiSelectable;
209
+ constructor(featuresService: TreeFeaturesService<T>, focusManagerService: TreeFocusManagerService<T>, renderer: Renderer2, el: ElementRef<HTMLElement>, ngZone: NgZone);
210
+ set lazy(value: boolean);
211
+ get isMultiSelectable(): boolean;
212
+ ngAfterContentInit(): void;
213
+ ngOnDestroy(): void;
214
+ /**
215
+ * Expands every expandable node of the tree, without animation. Disabled nodes are left untouched.
216
+ * Nodes added to the tree afterwards, including lazy-loaded children, come in expanded until any node gets collapsed.
217
+ */
218
+ expandAll(): void;
219
+ /**
220
+ * Collapses every node of the tree, without animation. Disabled nodes are left untouched.
221
+ */
222
+ collapseAll(): void;
223
+ private setAllExpanded;
224
+ private reclaimTabStop;
225
+ private setMultiSelectable;
226
+ private setRootNodes;
227
+ static ɵfac: i0.ɵɵFactoryDeclaration<ClrTree<any>, never>;
228
+ static ɵcmp: i0.ɵɵComponentDeclaration<ClrTree<any>, "clr-tree", never, { "lazy": { "alias": "clrLazy"; "required": false; }; }, {}, ["rootNodes"], ["*"], false, never>;
229
+ }
230
+
194
231
  declare class RecursiveChildren<T> {
195
232
  featuresService: TreeFeaturesService<T>;
196
233
  private expandService;
@@ -198,6 +235,7 @@ declare class RecursiveChildren<T> {
198
235
  children: TreeNodeModel<T>[];
199
236
  subscription: Subscription;
200
237
  role: string;
238
+ private contexts;
201
239
  constructor(featuresService: TreeFeaturesService<T>, expandService: IfExpandService);
202
240
  ngAfterContentInit(): void;
203
241
  shouldRender(): boolean;
@@ -47,14 +47,17 @@ declare class ClrCheckboxContainer extends ClrAbstractContainer implements After
47
47
  protected controlClassService: ControlClassService;
48
48
  protected ngControlService: NgControlService;
49
49
  role: string;
50
+ ariaLabelledBy: string;
50
51
  checkboxes: QueryList<ClrCheckbox>;
51
52
  private inline;
53
+ private _generatedId;
52
54
  constructor(layoutService: LayoutService, controlClassService: ControlClassService, ngControlService: NgControlService);
53
55
  get clrInline(): boolean | string;
54
56
  set clrInline(value: boolean | string);
55
57
  protected get allCheckboxesDisabled(): boolean;
56
58
  ngAfterContentInit(): void;
57
59
  private setAriaRoles;
60
+ private setAriaLabelledBy;
58
61
  static ɵfac: i0.ɵɵFactoryDeclaration<ClrCheckboxContainer, [{ optional: true; }, null, null]>;
59
62
  static ɵcmp: i0.ɵɵComponentDeclaration<ClrCheckboxContainer, "clr-checkbox-container,clr-toggle-container", never, { "clrInline": { "alias": "clrInline"; "required": false; }; }, {}, ["checkboxes"], ["label", "clr-checkbox-wrapper,clr-toggle-wrapper", "clr-control-helper", "clr-control-error", "clr-control-success"], false, never>;
60
63
  }
@@ -983,4 +983,4 @@ declare class ClrDatepickerModule {
983
983
  }
984
984
 
985
985
  export { CLR_DATEPICKER_DIRECTIVES, ClrCalendar, ClrDateContainer, ClrDateInput, ClrDateInputBase, ClrDateInputValidator, ClrDatepickerActions, ClrDatepickerModule, ClrDatepickerViewManager, ClrDay, ClrDaypicker, ClrEndDateInput, ClrEndDateInputValidator, ClrMonthpicker, ClrStartDateInput, ClrStartDateInputValidator, ClrWeekday, ClrYearpicker };
986
- export type { ClrDayOfWeek };
986
+ export type { ClrDayOfWeek, DateRangeOption };
@@ -72,7 +72,7 @@ interface ClrFileMessagesTemplateContext {
72
72
  }
73
73
  declare class ClrFileMessagesTemplate {
74
74
  readonly templateRef: TemplateRef<ClrFileMessagesTemplateContext>;
75
- static ngTemplateContextGuard(directive: ClrFileMessagesTemplate, context: unknown): context is ClrFileMessagesTemplateContext;
75
+ static ngTemplateContextGuard(_directive: ClrFileMessagesTemplate, _context: unknown): _context is ClrFileMessagesTemplateContext;
76
76
  static ɵfac: i0.ɵɵFactoryDeclaration<ClrFileMessagesTemplate, never>;
77
77
  static ɵdir: i0.ɵɵDirectiveDeclaration<ClrFileMessagesTemplate, "ng-template[clr-file-messages]", never, {}, {}, never, never, false, never>;
78
78
  }
@@ -27,7 +27,6 @@ declare class ClrRadioContainer extends ClrAbstractContainer implements AfterCon
27
27
  role: string;
28
28
  ariaLabelledBy: string;
29
29
  radios: QueryList<ClrRadio>;
30
- groupLabel: ElementRef<HTMLElement>;
31
30
  private inline;
32
31
  private _generatedId;
33
32
  constructor(layoutService: LayoutService, controlClassService: ControlClassService, ngControlService: NgControlService);
@@ -37,7 +36,7 @@ declare class ClrRadioContainer extends ClrAbstractContainer implements AfterCon
37
36
  private setAriaRoles;
38
37
  private setAriaLabelledBy;
39
38
  static ɵfac: i0.ɵɵFactoryDeclaration<ClrRadioContainer, [{ optional: true; }, null, null]>;
40
- static ɵcmp: i0.ɵɵComponentDeclaration<ClrRadioContainer, "clr-radio-container", never, { "clrInline": { "alias": "clrInline"; "required": false; }; }, {}, ["groupLabel", "radios"], ["label", "clr-radio-wrapper", "clr-control-helper", "clr-control-error", "clr-control-success"], false, never>;
39
+ static ɵcmp: i0.ɵɵComponentDeclaration<ClrRadioContainer, "clr-radio-container", never, { "clrInline": { "alias": "clrInline"; "required": false; }; }, {}, ["radios"], ["label", "clr-radio-wrapper", "clr-control-helper", "clr-control-error", "clr-control-success"], false, never>;
41
40
  }
42
41
 
43
42
  declare class ClrRadioModule {
@@ -68,6 +68,7 @@ declare class ClrIcon implements OnInit, AfterViewInit, OnDestroy {
68
68
  private _status;
69
69
  private _inverse;
70
70
  private _badge;
71
+ private _innerOffset;
71
72
  private subscription;
72
73
  private _priorShape;
73
74
  constructor(el: ElementRef<HTMLElement>, cdr: ChangeDetectorRef);
@@ -87,16 +88,24 @@ declare class ClrIcon implements OnInit, AfterViewInit, OnDestroy {
87
88
  set inverse(value: boolean);
88
89
  get badge(): string | boolean;
89
90
  set badge(value: string | boolean);
91
+ /**
92
+ * Given a pixel value, offsets any surrounding whitespace within the icon's svg,
93
+ * growing it outward by that amount on every side so the visible glyph fills its box.
94
+ */
95
+ get innerOffset(): number;
96
+ set innerOffset(value: number);
90
97
  ngOnInit(): void;
91
98
  ngAfterViewInit(): void;
92
99
  ngOnDestroy(): void;
93
100
  updateIcon(): void;
94
101
  updateIconSize(value: string): void;
102
+ updateInnerOffset(value: number): void;
95
103
  private cleanUpAdoptedStyleSheets;
96
104
  static ɵfac: i0.ɵɵFactoryDeclaration<ClrIcon, never>;
97
- static ɵcmp: i0.ɵɵComponentDeclaration<ClrIcon, "clr-icon, cds-icon", never, { "shape": { "alias": "shape"; "required": false; }; "size": { "alias": "size"; "required": false; }; "direction": { "alias": "direction"; "required": false; }; "flip": { "alias": "flip"; "required": false; }; "solid": { "alias": "solid"; "required": false; }; "status": { "alias": "status"; "required": false; }; "inverse": { "alias": "inverse"; "required": false; }; "badge": { "alias": "badge"; "required": false; }; }, {}, never, never, true, never>;
105
+ static ɵcmp: i0.ɵɵComponentDeclaration<ClrIcon, "clr-icon, cds-icon", never, { "shape": { "alias": "shape"; "required": false; }; "size": { "alias": "size"; "required": false; }; "direction": { "alias": "direction"; "required": false; }; "flip": { "alias": "flip"; "required": false; }; "solid": { "alias": "solid"; "required": false; }; "status": { "alias": "status"; "required": false; }; "inverse": { "alias": "inverse"; "required": false; }; "badge": { "alias": "badge"; "required": false; }; "innerOffset": { "alias": "innerOffset"; "required": false; }; }, {}, never, never, true, never>;
98
106
  static ngAcceptInputType_solid: unknown;
99
107
  static ngAcceptInputType_inverse: unknown;
108
+ static ngAcceptInputType_innerOffset: unknown;
100
109
  }
101
110
 
102
111
  /**
@@ -115,6 +124,14 @@ declare class ClarityIcons {
115
124
  * Returns a readonly reference of the icon registry.
116
125
  */
117
126
  static get registry(): Readonly<IconRegistry>;
127
+ /**
128
+ * Looks up a single icon shape by name without copying the entire registry.
129
+ *
130
+ * Prefer this over indexing into `registry` (e.g. `registry[name]`) in hot paths like icon
131
+ * rendering: `registry` spreads the whole (potentially large) registry into a new object on
132
+ * every access, which becomes expensive/memory-churning when many icons render or re-render.
133
+ */
134
+ static getIconShape(name: string): IconRegistrySources[string] | undefined;
118
135
  static addIcons(...shapes: IconShapeTuple[]): void;
119
136
  /**
120
137
  * @description
@@ -163,6 +180,9 @@ declare const cloudIcon: IconShapeTuple;
163
180
  declare const cogIconName = "cog";
164
181
  declare const cogIcon: IconShapeTuple;
165
182
 
183
+ declare const ellipsisGridCircleIconName = "ellipsis-grid-circle";
184
+ declare const ellipsisGridCircleIcon: IconShapeTuple;
185
+
166
186
  declare const ellipsisHorizontalIconName = "ellipsis-horizontal";
167
187
  declare const ellipsisHorizontalIcon: IconShapeTuple;
168
188
 
@@ -1496,5 +1516,5 @@ declare const travelCollectionAliases: IconAlias[];
1496
1516
  */
1497
1517
  declare function loadTravelIconSet(): void;
1498
1518
 
1499
- export { CLR_ICON_DIRECTIVES, CdsIconCustomTag, ClarityIcons, ClrIcon, ClrIconCustomTag, ClrIconModule, IconHtmlPipe, accessibility1Icon, accessibility1IconName, accessibility2Icon, accessibility2IconName, addTextIcon, addTextIconName, administratorIcon, administratorIconName, airplaneIcon, airplaneIconName, alarmClockIcon, alarmClockIconName, alarmOffIcon, alarmOffIconName, alignBottomIcon, alignBottomIconName, alignCenterIcon, alignCenterIconName, alignLeftIcon, alignLeftIconName, alignLeftTextIcon, alignLeftTextIconName, alignMiddleIcon, alignMiddleIconName, alignRightIcon, alignRightIconName, alignRightTextIcon, alignRightTextIconName, alignTopIcon, alignTopIconName, angleDoubleIcon, angleDoubleIconName, angleIcon, angleIconName, animationIcon, animationIconName, announcementIcon, announcementIconName, applicationIcon, applicationIconName, applicationsIcon, applicationsIconName, archiveIcon, archiveIconName, arrowIcon, arrowIconName, arrowMiniIcon, arrowMiniIconName, assignUserIcon, assignUserIconName, asteriskIcon, asteriskIconName, atomIcon, atomIconName, axisChartIcon, axisChartIconName, backupIcon, backupIconName, backupRestoreIcon, backupRestoreIconName, banIcon, banIconName, bankIcon, bankIconName, barChartIcon, barChartIconName, barCodeIcon, barCodeIconName, barsIcon, barsIconName, batteryIcon, batteryIconName, bellCurveIcon, bellCurveIconName, bellIcon, bellIconName, betaIcon, betaIconName, bicycleIcon, bicycleIconName, birthdayCakeIcon, birthdayCakeIconName, bitcoinIcon, bitcoinIconName, blockIcon, blockIconName, blockQuoteIcon, blockQuoteIconName, blocksGroupIcon, blocksGroupIconName, bluetoothIcon, bluetoothIconName, bluetoothOffIcon, bluetoothOffIconName, boatIcon, boatIconName, boldIcon, boldIconName, boltIcon, boltIconName, bookIcon, bookIconName, bookmarkIcon, bookmarkIconName, boxPlotIcon, boxPlotIconName, briefcaseIcon, briefcaseIconName, bubbleChartIcon, bubbleChartIconName, bubbleExclamationIcon, bubbleExclamationIconName, bugIcon, bugIconName, buildingIcon, buildingIconName, bulletListIcon, bulletListIconName, bullseyeIcon, bullseyeIconName, bundleIcon, bundleIconName, calculatorIcon, calculatorIconName, calendarIcon, calendarIconName, calendarMiniIcon, calendarMiniIconName, cameraIcon, cameraIconName, campervanIcon, campervanIconName, capacitorIcon, capacitorIconName, carIcon, carIconName, caravanIcon, caravanIconName, cdDvdIcon, cdDvdIconName, centerTextIcon, centerTextIconName, certificateIcon, certificateIconName, chartCollectionAliases, chartCollectionIcons, chatBubbleIcon, chatBubbleIconName, checkCircleIcon, checkCircleIconName, checkCircleMiniIcon, checkCircleMiniIconName, checkIcon, checkIconName, checkMiniIcon, checkMiniIconName, checkboxListIcon, checkboxListIconName, childArrowIcon, childArrowIconName, ciCdIcon, ciCdIconName, circleArrowIcon, circleArrowIconName, circleIcon, circleIconName, clipboardIcon, clipboardIconName, clockIcon, clockIconName, cloneIcon, cloneIconName, cloudChartIcon, cloudChartIconName, cloudIcon, cloudIconName, cloudNetworkIcon, cloudNetworkIconName, cloudScaleIcon, cloudScaleIconName, cloudTrafficIcon, cloudTrafficIconName, clusterIcon, clusterIconName, codeIcon, codeIconName, cogIcon, cogIconName, coinBagIcon, coinBagIconName, collapseCardIcon, collapseCardIconName, colorPaletteIcon, colorPaletteIconName, colorPickerIcon, colorPickerIconName, commerceCollectionAliases, commerceCollectionIcons, compassIcon, compassIconName, computerIcon, computerIconName, connectIcon, connectIconName, containerGroupIcon, containerGroupIconName, containerIcon, containerIconName, containerVolumeIcon, containerVolumeIconName, contractIcon, contractIconName, controlLunIcon, controlLunIconName, copyIcon, copyIconName, copyToClipboardIcon, copyToClipboardIconName, coreCollectionAliases, coreCollectionIcons, cpuIcon, cpuIconName, creditCardIcon, creditCardIconName, crosshairsIcon, crosshairsIconName, crownIcon, crownIconName, cursorArrowIcon, cursorArrowIconName, cursorHandClickIcon, cursorHandClickIconName, cursorHandGrabIcon, cursorHandGrabIconName, cursorHandIcon, cursorHandIconName, cursorHandOpenIcon, cursorHandOpenIconName, cursorMoveIcon, cursorMoveIconName, curveChartIcon, curveChartIconName, dashboardIcon, dashboardIconName, dataClusterIcon, dataClusterIconName, deployIcon, deployIconName, detailCollapseIcon, detailCollapseIconName, detailExpandIcon, detailExpandIconName, detailsIcon, detailsIconName, devicesIcon, devicesIconName, digitalSignatureIcon, digitalSignatureIconName, disconnectIcon, disconnectIconName, displayIcon, displayIconName, dollarBillIcon, dollarBillIconName, dollarIcon, dollarIconName, dotCircleIcon, dotCircleIconName, downloadCloudIcon, downloadCloudIconName, downloadIcon, downloadIconName, dragHandleCornerIcon, dragHandleCornerIconName, dragHandleIcon, dragHandleIconName, eCheckIcon, eCheckIconName, ellipsisHorizontalIcon, ellipsisHorizontalIconName, ellipsisVerticalIcon, ellipsisVerticalIconName, employeeGroupIcon, employeeGroupIconName, employeeIcon, employeeIconName, envelopeIcon, envelopeIconName, eraserIcon, eraserIconName, errorMiniIcon, errorMiniIconName, errorStandardIcon, errorStandardIconName, essentialCollectionAliases, essentialCollectionIcons, euroIcon, euroIconName, eventIcon, eventIconName, eventMiniIcon, eventMiniIconName, exclamationCircleIcon, exclamationCircleIconName, exclamationTriangleIcon, exclamationTriangleIconName, expandCardIcon, expandCardIconName, exportIcon, exportIconName, eyeHideIcon, eyeHideIconName, eyeIcon, eyeIconName, factoryIcon, factoryIconName, fastForwardIcon, fastForwardIconName, ferryIcon, ferryIconName, fileGroupIcon, fileGroupIconName, fileIcon, fileIconName, fileSettingsIcon, fileSettingsIconName, fileShare2Icon, fileShare2IconName, fileShareIcon, fileShareIconName, fileZipIcon, fileZipIconName, filmStripIcon, filmStripIconName, filter2Icon, filter2IconName, filterGridCircleIcon, filterGridCircleIconName, filterGridCircleMiniIcon, filterGridCircleMiniIconName, filterGridIcon, filterGridIconName, filterGridMiniIcon, filterGridMiniIconName, filterIcon, filterIconName, filterOffIcon, filterOffIconName, firewallIcon, firewallIconName, firstAidIcon, firstAidIconName, fishIcon, fishIconName, flagIcon, flagIconName, flameIcon, flameIconName, flaskIcon, flaskIconName, floppyIcon, floppyIconName, folderIcon, folderIconName, folderOpenIcon, folderOpenIconName, fontSizeIcon, fontSizeIconName, forkingIcon, forkingIconName, formIcon, formIconName, fuelIcon, fuelIconName, gavelIcon, gavelIconName, gridChartIcon, gridChartIconName, gridViewIcon, gridViewIconName, halfStarIcon, halfStarIconName, happyFaceIcon, happyFaceIconName, hardDiskIcon, hardDiskIconName, hardDriveDisksIcon, hardDriveDisksIconName, hardDriveIcon, hardDriveIconName, hashtagIcon, hashtagIconName, headphonesIcon, headphonesIconName, heartBrokenIcon, heartBrokenIconName, heartIcon, heartIconName, heatMapIcon, heatMapIconName, helixIcon, helixIconName, helpIcon, helpIconName, helpInfoIcon, helpInfoIconName, highlighterIcon, highlighterIconName, historyIcon, historyIconName, homeIcon, homeIconName, hostGroupIcon, hostGroupIconName, hostIcon, hostIconName, hourglassIcon, hourglassIconName, idBadgeIcon, idBadgeIconName, imageGalleryIcon, imageGalleryIconName, imageIcon, imageIconName, importIcon, importIconName, inboxIcon, inboxIconName, indentIcon, indentIconName, inductorIcon, inductorIconName, infoCircleIcon, infoCircleIconName, infoCircleMiniIcon, infoCircleMiniIconName, infoStandardIcon, infoStandardIconName, installIcon, installIconName, internetOfThingsIcon, internetOfThingsIconName, italicIcon, italicIconName, justifyTextIcon, justifyTextIconName, keyIcon, keyIconName, keyboardIcon, keyboardIconName, landscapeIcon, landscapeIconName, languageIcon, languageIconName, launchpadIcon, launchpadIconName, layersIcon, layersIconName, libraryIcon, libraryIconName, lightbulbIcon, lightbulbIconName, lineChartIcon, lineChartIconName, linkIcon, linkIconName, listIcon, listIconName, loadChartIconSet, loadCommerceIconSet, loadCoreIconSet, loadEssentialIconSet, loadMediaIconSet, loadMiniIconSet, loadSocialIconSet, loadTechnologyIconSet, loadTextEditIconSet, loadTravelIconSet, lockIcon, lockIconName, loginIcon, loginIconName, logoutIcon, logoutIconName, mapIcon, mapIconName, mapMarkerIcon, mapMarkerIconName, mediaChangerIcon, mediaChangerIconName, mediaCollectionAliases, mediaCollectionIcons, memoryIcon, memoryIconName, microphoneIcon, microphoneIconName, microphoneMuteIcon, microphoneMuteIconName, miniCollectionAliases, miniCollectionIcons, minusCircleIcon, minusCircleIconName, minusIcon, minusIconName, mobileIcon, mobileIconName, moonIcon, moonIconName, mouseIcon, mouseIconName, musicNoteIcon, musicNoteIconName, namespaceIcon, namespaceIconName, networkGlobeIcon, networkGlobeIconName, networkSettingsIcon, networkSettingsIconName, networkSwitchIcon, networkSwitchIconName, neutralFaceIcon, neutralFaceIconName, newIcon, newIconName, noAccessIcon, noAccessIconName, noWifiIcon, noWifiIconName, nodeGroupIcon, nodeGroupIconName, nodeIcon, nodeIconName, nodesIcon, nodesIconName, noteIcon, noteIconName, numberListIcon, numberListIconName, nvmeIcon, nvmeIconName, objectsIcon, objectsIconName, onHolidayIcon, onHolidayIconName, organizationIcon, organizationIconName, outdentIcon, outdentIconName, paintRollerIcon, paintRollerIconName, paperclipIcon, paperclipIconName, pasteIcon, pasteIconName, pauseIcon, pauseIconName, pdfFileIcon, pdfFileIconName, pencilIcon, pencilIconName, pesoIcon, pesoIconName, phoneHandsetIcon, phoneHandsetIconName, pictureIcon, pictureIconName, pieChartIcon, pieChartIconName, piggyBankIcon, piggyBankIconName, pinIcon, pinIconName, pinboardIcon, pinboardIconName, playIcon, playIconName, pluginIcon, pluginIconName, plusCircleIcon, plusCircleIconName, plusIcon, plusIconName, podIcon, podIconName, popOutIcon, popOutIconName, portraitIcon, portraitIconName, poundIcon, poundIconName, powerIcon, powerIconName, printerIcon, printerIconName, processOnVmIcon, processOnVmIconName, qrCodeIcon, qrCodeIconName, rackServerIcon, rackServerIconName, radarIcon, radarIconName, recycleIcon, recycleIconName, redoIcon, redoIconName, refreshIcon, refreshIconName, renderIcon, repeatIcon, repeatIconName, replayAllIcon, replayAllIconName, replayOneIcon, replayOneIconName, resistorIcon, resistorIconName, resizeIcon, resizeIconName, resourcePoolIcon, resourcePoolIconName, rewindIcon, rewindIconName, routerIcon, routerIconName, rubleIcon, rubleIconName, rulerPencilIcon, rulerPencilIconName, rupeeIcon, rupeeIconName, sadFaceIcon, sadFaceIconName, scatterPlotIcon, scatterPlotIconName, scissorsIcon, scissorsIconName, scriptExecuteIcon, scriptExecuteIconName, scriptScheduleIcon, scriptScheduleIconName, scrollIcon, scrollIconName, searchIcon, searchIconName, shareIcon, shareIconName, shieldCheckIcon, shieldCheckIconName, shieldIcon, shieldIconName, shieldXIcon, shieldXIconName, shoppingBagIcon, shoppingBagIconName, shoppingCartIcon, shoppingCartIconName, shrinkIcon, shrinkIconName, shuffleIcon, shuffleIconName, sliderIcon, sliderIconName, snowflakeIcon, snowflakeIconName, socialCollectionAliases, socialCollectionIcons, sortByIcon, sortByIconName, squidIcon, squidIconName, ssdIcon, ssdIconName, starIcon, starIconName, stepForward2Icon, stepForward2IconName, stepForwardIcon, stepForwardIconName, stopIcon, stopIconName, storageAdapterIcon, storageAdapterIconName, storageIcon, storageIconName, storeIcon, storeIconName, strikethroughIcon, strikethroughIconName, subscriptIcon, subscriptIconName, successStandardIcon, successStandardIconName, sunIcon, sunIconName, superscriptIcon, superscriptIconName, switchIcon, switchIconName, syncIcon, syncIconName, tableIcon, tableIconName, tabletIcon, tabletIconName, tagIcon, tagIconName, tagsIcon, tagsIconName, talkBubblesIcon, talkBubblesIconName, tapeDriveIcon, tapeDriveIconName, targetIcon, targetIconName, tasksIcon, tasksIconName, technologyCollectionAliases, technologyCollectionIcons, terminalIcon, terminalIconName, textColorIcon, textColorIconName, textEditCollectionAliases, textEditCollectionIcons, textIcon, textIconName, thermometerIcon, thermometerIconName, thinClientIcon, thinClientIconName, thumbsDownIcon, thumbsDownIconName, thumbsUpIcon, thumbsUpIconName, tickChartIcon, tickChartIconName, timelineIcon, timelineIconName, timesCircleIcon, timesCircleIconName, timesIcon, timesIconName, timesMiniIcon, timesMiniIconName, toolsIcon, toolsIconName, trailerIcon, trailerIconName, trashIcon, trashIconName, travelCollectionAliases, travelCollectionIcons, treeIcon, treeIconName, treeViewIcon, treeViewIconName, truckIcon, truckIconName, twoWayArrowsIcon, twoWayArrowsIconName, unarchiveIcon, unarchiveIconName, underlineIcon, underlineIconName, undoIcon, undoIconName, uninstallIcon, uninstallIconName, unknownIcon, unknownIconName, unknownStatusIcon, unknownStatusIconName, unlinkIcon, unlinkIconName, unlockIcon, unlockIconName, unpinIcon, unpinIconName, updateIcon, updateIconName, uploadCloudIcon, uploadCloudIconName, uploadIcon, uploadIconName, usbIcon, usbIconName, userIcon, userIconName, usersIcon, usersIconName, videoCameraIcon, videoCameraIconName, videoGalleryIcon, videoGalleryIconName, viewCardsIcon, viewCardsIconName, viewColumnsIcon, viewColumnsIconName, viewListIcon, viewListIconName, vmBugIcon, vmBugIconName, vmBugInverseIcon, vmBugInverseIconName, vmIcon, vmIconName, vmwAppIcon, vmwAppIconName, volumeDownIcon, volumeDownIconName, volumeIcon, volumeIconName, volumeMuteIcon, volumeMuteIconName, volumeUpIcon, volumeUpIconName, walletIcon, walletIconName, wandIcon, wandIconName, warningMiniIcon, warningMiniIconName, warningStandardIcon, warningStandardIconName, wifiIcon, wifiIconName, windowCloseIcon, windowCloseIconName, windowMaxIcon, windowMaxIconName, windowMinIcon, windowMinIconName, windowRestoreIcon, windowRestoreIconName, wonIcon, wonIconName, worldIcon, worldIconName, wrenchIcon, wrenchIconName, xlsFileIcon, xlsFileIconName, yenIcon, yenIconName, zoomInIcon, zoomInIconName, zoomOutIcon, zoomOutIconName };
1519
+ export { CLR_ICON_DIRECTIVES, CdsIconCustomTag, ClarityIcons, ClrIcon, ClrIconCustomTag, ClrIconModule, IconHtmlPipe, accessibility1Icon, accessibility1IconName, accessibility2Icon, accessibility2IconName, addTextIcon, addTextIconName, administratorIcon, administratorIconName, airplaneIcon, airplaneIconName, alarmClockIcon, alarmClockIconName, alarmOffIcon, alarmOffIconName, alignBottomIcon, alignBottomIconName, alignCenterIcon, alignCenterIconName, alignLeftIcon, alignLeftIconName, alignLeftTextIcon, alignLeftTextIconName, alignMiddleIcon, alignMiddleIconName, alignRightIcon, alignRightIconName, alignRightTextIcon, alignRightTextIconName, alignTopIcon, alignTopIconName, angleDoubleIcon, angleDoubleIconName, angleIcon, angleIconName, animationIcon, animationIconName, announcementIcon, announcementIconName, applicationIcon, applicationIconName, applicationsIcon, applicationsIconName, archiveIcon, archiveIconName, arrowIcon, arrowIconName, arrowMiniIcon, arrowMiniIconName, assignUserIcon, assignUserIconName, asteriskIcon, asteriskIconName, atomIcon, atomIconName, axisChartIcon, axisChartIconName, backupIcon, backupIconName, backupRestoreIcon, backupRestoreIconName, banIcon, banIconName, bankIcon, bankIconName, barChartIcon, barChartIconName, barCodeIcon, barCodeIconName, barsIcon, barsIconName, batteryIcon, batteryIconName, bellCurveIcon, bellCurveIconName, bellIcon, bellIconName, betaIcon, betaIconName, bicycleIcon, bicycleIconName, birthdayCakeIcon, birthdayCakeIconName, bitcoinIcon, bitcoinIconName, blockIcon, blockIconName, blockQuoteIcon, blockQuoteIconName, blocksGroupIcon, blocksGroupIconName, bluetoothIcon, bluetoothIconName, bluetoothOffIcon, bluetoothOffIconName, boatIcon, boatIconName, boldIcon, boldIconName, boltIcon, boltIconName, bookIcon, bookIconName, bookmarkIcon, bookmarkIconName, boxPlotIcon, boxPlotIconName, briefcaseIcon, briefcaseIconName, bubbleChartIcon, bubbleChartIconName, bubbleExclamationIcon, bubbleExclamationIconName, bugIcon, bugIconName, buildingIcon, buildingIconName, bulletListIcon, bulletListIconName, bullseyeIcon, bullseyeIconName, bundleIcon, bundleIconName, calculatorIcon, calculatorIconName, calendarIcon, calendarIconName, calendarMiniIcon, calendarMiniIconName, cameraIcon, cameraIconName, campervanIcon, campervanIconName, capacitorIcon, capacitorIconName, carIcon, carIconName, caravanIcon, caravanIconName, cdDvdIcon, cdDvdIconName, centerTextIcon, centerTextIconName, certificateIcon, certificateIconName, chartCollectionAliases, chartCollectionIcons, chatBubbleIcon, chatBubbleIconName, checkCircleIcon, checkCircleIconName, checkCircleMiniIcon, checkCircleMiniIconName, checkIcon, checkIconName, checkMiniIcon, checkMiniIconName, checkboxListIcon, checkboxListIconName, childArrowIcon, childArrowIconName, ciCdIcon, ciCdIconName, circleArrowIcon, circleArrowIconName, circleIcon, circleIconName, clipboardIcon, clipboardIconName, clockIcon, clockIconName, cloneIcon, cloneIconName, cloudChartIcon, cloudChartIconName, cloudIcon, cloudIconName, cloudNetworkIcon, cloudNetworkIconName, cloudScaleIcon, cloudScaleIconName, cloudTrafficIcon, cloudTrafficIconName, clusterIcon, clusterIconName, codeIcon, codeIconName, cogIcon, cogIconName, coinBagIcon, coinBagIconName, collapseCardIcon, collapseCardIconName, colorPaletteIcon, colorPaletteIconName, colorPickerIcon, colorPickerIconName, commerceCollectionAliases, commerceCollectionIcons, compassIcon, compassIconName, computerIcon, computerIconName, connectIcon, connectIconName, containerGroupIcon, containerGroupIconName, containerIcon, containerIconName, containerVolumeIcon, containerVolumeIconName, contractIcon, contractIconName, controlLunIcon, controlLunIconName, copyIcon, copyIconName, copyToClipboardIcon, copyToClipboardIconName, coreCollectionAliases, coreCollectionIcons, cpuIcon, cpuIconName, creditCardIcon, creditCardIconName, crosshairsIcon, crosshairsIconName, crownIcon, crownIconName, cursorArrowIcon, cursorArrowIconName, cursorHandClickIcon, cursorHandClickIconName, cursorHandGrabIcon, cursorHandGrabIconName, cursorHandIcon, cursorHandIconName, cursorHandOpenIcon, cursorHandOpenIconName, cursorMoveIcon, cursorMoveIconName, curveChartIcon, curveChartIconName, dashboardIcon, dashboardIconName, dataClusterIcon, dataClusterIconName, deployIcon, deployIconName, detailCollapseIcon, detailCollapseIconName, detailExpandIcon, detailExpandIconName, detailsIcon, detailsIconName, devicesIcon, devicesIconName, digitalSignatureIcon, digitalSignatureIconName, disconnectIcon, disconnectIconName, displayIcon, displayIconName, dollarBillIcon, dollarBillIconName, dollarIcon, dollarIconName, dotCircleIcon, dotCircleIconName, downloadCloudIcon, downloadCloudIconName, downloadIcon, downloadIconName, dragHandleCornerIcon, dragHandleCornerIconName, dragHandleIcon, dragHandleIconName, eCheckIcon, eCheckIconName, ellipsisGridCircleIcon, ellipsisGridCircleIconName, ellipsisHorizontalIcon, ellipsisHorizontalIconName, ellipsisVerticalIcon, ellipsisVerticalIconName, employeeGroupIcon, employeeGroupIconName, employeeIcon, employeeIconName, envelopeIcon, envelopeIconName, eraserIcon, eraserIconName, errorMiniIcon, errorMiniIconName, errorStandardIcon, errorStandardIconName, essentialCollectionAliases, essentialCollectionIcons, euroIcon, euroIconName, eventIcon, eventIconName, eventMiniIcon, eventMiniIconName, exclamationCircleIcon, exclamationCircleIconName, exclamationTriangleIcon, exclamationTriangleIconName, expandCardIcon, expandCardIconName, exportIcon, exportIconName, eyeHideIcon, eyeHideIconName, eyeIcon, eyeIconName, factoryIcon, factoryIconName, fastForwardIcon, fastForwardIconName, ferryIcon, ferryIconName, fileGroupIcon, fileGroupIconName, fileIcon, fileIconName, fileSettingsIcon, fileSettingsIconName, fileShare2Icon, fileShare2IconName, fileShareIcon, fileShareIconName, fileZipIcon, fileZipIconName, filmStripIcon, filmStripIconName, filter2Icon, filter2IconName, filterGridCircleIcon, filterGridCircleIconName, filterGridCircleMiniIcon, filterGridCircleMiniIconName, filterGridIcon, filterGridIconName, filterGridMiniIcon, filterGridMiniIconName, filterIcon, filterIconName, filterOffIcon, filterOffIconName, firewallIcon, firewallIconName, firstAidIcon, firstAidIconName, fishIcon, fishIconName, flagIcon, flagIconName, flameIcon, flameIconName, flaskIcon, flaskIconName, floppyIcon, floppyIconName, folderIcon, folderIconName, folderOpenIcon, folderOpenIconName, fontSizeIcon, fontSizeIconName, forkingIcon, forkingIconName, formIcon, formIconName, fuelIcon, fuelIconName, gavelIcon, gavelIconName, gridChartIcon, gridChartIconName, gridViewIcon, gridViewIconName, halfStarIcon, halfStarIconName, happyFaceIcon, happyFaceIconName, hardDiskIcon, hardDiskIconName, hardDriveDisksIcon, hardDriveDisksIconName, hardDriveIcon, hardDriveIconName, hashtagIcon, hashtagIconName, headphonesIcon, headphonesIconName, heartBrokenIcon, heartBrokenIconName, heartIcon, heartIconName, heatMapIcon, heatMapIconName, helixIcon, helixIconName, helpIcon, helpIconName, helpInfoIcon, helpInfoIconName, highlighterIcon, highlighterIconName, historyIcon, historyIconName, homeIcon, homeIconName, hostGroupIcon, hostGroupIconName, hostIcon, hostIconName, hourglassIcon, hourglassIconName, idBadgeIcon, idBadgeIconName, imageGalleryIcon, imageGalleryIconName, imageIcon, imageIconName, importIcon, importIconName, inboxIcon, inboxIconName, indentIcon, indentIconName, inductorIcon, inductorIconName, infoCircleIcon, infoCircleIconName, infoCircleMiniIcon, infoCircleMiniIconName, infoStandardIcon, infoStandardIconName, installIcon, installIconName, internetOfThingsIcon, internetOfThingsIconName, italicIcon, italicIconName, justifyTextIcon, justifyTextIconName, keyIcon, keyIconName, keyboardIcon, keyboardIconName, landscapeIcon, landscapeIconName, languageIcon, languageIconName, launchpadIcon, launchpadIconName, layersIcon, layersIconName, libraryIcon, libraryIconName, lightbulbIcon, lightbulbIconName, lineChartIcon, lineChartIconName, linkIcon, linkIconName, listIcon, listIconName, loadChartIconSet, loadCommerceIconSet, loadCoreIconSet, loadEssentialIconSet, loadMediaIconSet, loadMiniIconSet, loadSocialIconSet, loadTechnologyIconSet, loadTextEditIconSet, loadTravelIconSet, lockIcon, lockIconName, loginIcon, loginIconName, logoutIcon, logoutIconName, mapIcon, mapIconName, mapMarkerIcon, mapMarkerIconName, mediaChangerIcon, mediaChangerIconName, mediaCollectionAliases, mediaCollectionIcons, memoryIcon, memoryIconName, microphoneIcon, microphoneIconName, microphoneMuteIcon, microphoneMuteIconName, miniCollectionAliases, miniCollectionIcons, minusCircleIcon, minusCircleIconName, minusIcon, minusIconName, mobileIcon, mobileIconName, moonIcon, moonIconName, mouseIcon, mouseIconName, musicNoteIcon, musicNoteIconName, namespaceIcon, namespaceIconName, networkGlobeIcon, networkGlobeIconName, networkSettingsIcon, networkSettingsIconName, networkSwitchIcon, networkSwitchIconName, neutralFaceIcon, neutralFaceIconName, newIcon, newIconName, noAccessIcon, noAccessIconName, noWifiIcon, noWifiIconName, nodeGroupIcon, nodeGroupIconName, nodeIcon, nodeIconName, nodesIcon, nodesIconName, noteIcon, noteIconName, numberListIcon, numberListIconName, nvmeIcon, nvmeIconName, objectsIcon, objectsIconName, onHolidayIcon, onHolidayIconName, organizationIcon, organizationIconName, outdentIcon, outdentIconName, paintRollerIcon, paintRollerIconName, paperclipIcon, paperclipIconName, pasteIcon, pasteIconName, pauseIcon, pauseIconName, pdfFileIcon, pdfFileIconName, pencilIcon, pencilIconName, pesoIcon, pesoIconName, phoneHandsetIcon, phoneHandsetIconName, pictureIcon, pictureIconName, pieChartIcon, pieChartIconName, piggyBankIcon, piggyBankIconName, pinIcon, pinIconName, pinboardIcon, pinboardIconName, playIcon, playIconName, pluginIcon, pluginIconName, plusCircleIcon, plusCircleIconName, plusIcon, plusIconName, podIcon, podIconName, popOutIcon, popOutIconName, portraitIcon, portraitIconName, poundIcon, poundIconName, powerIcon, powerIconName, printerIcon, printerIconName, processOnVmIcon, processOnVmIconName, qrCodeIcon, qrCodeIconName, rackServerIcon, rackServerIconName, radarIcon, radarIconName, recycleIcon, recycleIconName, redoIcon, redoIconName, refreshIcon, refreshIconName, renderIcon, repeatIcon, repeatIconName, replayAllIcon, replayAllIconName, replayOneIcon, replayOneIconName, resistorIcon, resistorIconName, resizeIcon, resizeIconName, resourcePoolIcon, resourcePoolIconName, rewindIcon, rewindIconName, routerIcon, routerIconName, rubleIcon, rubleIconName, rulerPencilIcon, rulerPencilIconName, rupeeIcon, rupeeIconName, sadFaceIcon, sadFaceIconName, scatterPlotIcon, scatterPlotIconName, scissorsIcon, scissorsIconName, scriptExecuteIcon, scriptExecuteIconName, scriptScheduleIcon, scriptScheduleIconName, scrollIcon, scrollIconName, searchIcon, searchIconName, shareIcon, shareIconName, shieldCheckIcon, shieldCheckIconName, shieldIcon, shieldIconName, shieldXIcon, shieldXIconName, shoppingBagIcon, shoppingBagIconName, shoppingCartIcon, shoppingCartIconName, shrinkIcon, shrinkIconName, shuffleIcon, shuffleIconName, sliderIcon, sliderIconName, snowflakeIcon, snowflakeIconName, socialCollectionAliases, socialCollectionIcons, sortByIcon, sortByIconName, squidIcon, squidIconName, ssdIcon, ssdIconName, starIcon, starIconName, stepForward2Icon, stepForward2IconName, stepForwardIcon, stepForwardIconName, stopIcon, stopIconName, storageAdapterIcon, storageAdapterIconName, storageIcon, storageIconName, storeIcon, storeIconName, strikethroughIcon, strikethroughIconName, subscriptIcon, subscriptIconName, successStandardIcon, successStandardIconName, sunIcon, sunIconName, superscriptIcon, superscriptIconName, switchIcon, switchIconName, syncIcon, syncIconName, tableIcon, tableIconName, tabletIcon, tabletIconName, tagIcon, tagIconName, tagsIcon, tagsIconName, talkBubblesIcon, talkBubblesIconName, tapeDriveIcon, tapeDriveIconName, targetIcon, targetIconName, tasksIcon, tasksIconName, technologyCollectionAliases, technologyCollectionIcons, terminalIcon, terminalIconName, textColorIcon, textColorIconName, textEditCollectionAliases, textEditCollectionIcons, textIcon, textIconName, thermometerIcon, thermometerIconName, thinClientIcon, thinClientIconName, thumbsDownIcon, thumbsDownIconName, thumbsUpIcon, thumbsUpIconName, tickChartIcon, tickChartIconName, timelineIcon, timelineIconName, timesCircleIcon, timesCircleIconName, timesIcon, timesIconName, timesMiniIcon, timesMiniIconName, toolsIcon, toolsIconName, trailerIcon, trailerIconName, trashIcon, trashIconName, travelCollectionAliases, travelCollectionIcons, treeIcon, treeIconName, treeViewIcon, treeViewIconName, truckIcon, truckIconName, twoWayArrowsIcon, twoWayArrowsIconName, unarchiveIcon, unarchiveIconName, underlineIcon, underlineIconName, undoIcon, undoIconName, uninstallIcon, uninstallIconName, unknownIcon, unknownIconName, unknownStatusIcon, unknownStatusIconName, unlinkIcon, unlinkIconName, unlockIcon, unlockIconName, unpinIcon, unpinIconName, updateIcon, updateIconName, uploadCloudIcon, uploadCloudIconName, uploadIcon, uploadIconName, usbIcon, usbIconName, userIcon, userIconName, usersIcon, usersIconName, videoCameraIcon, videoCameraIconName, videoGalleryIcon, videoGalleryIconName, viewCardsIcon, viewCardsIconName, viewColumnsIcon, viewColumnsIconName, viewListIcon, viewListIconName, vmBugIcon, vmBugIconName, vmBugInverseIcon, vmBugInverseIconName, vmIcon, vmIconName, vmwAppIcon, vmwAppIconName, volumeDownIcon, volumeDownIconName, volumeIcon, volumeIconName, volumeMuteIcon, volumeMuteIconName, volumeUpIcon, volumeUpIconName, walletIcon, walletIconName, wandIcon, wandIconName, warningMiniIcon, warningMiniIconName, warningStandardIcon, warningStandardIconName, wifiIcon, wifiIconName, windowCloseIcon, windowCloseIconName, windowMaxIcon, windowMaxIconName, windowMinIcon, windowMinIconName, windowRestoreIcon, windowRestoreIconName, wonIcon, wonIconName, worldIcon, worldIconName, wrenchIcon, wrenchIconName, xlsFileIcon, xlsFileIconName, yenIcon, yenIconName, zoomInIcon, zoomInIconName, zoomOutIcon, zoomOutIconName };
1500
1520
  export type { Directions, IconAlias, IconRegistry, IconRegistrySources, IconShapeCollection, IconShapeSources, IconShapeTuple, Orientations, StatusTypes };
@@ -40,6 +40,7 @@ interface ClrPopoverPoint {
40
40
  y: number;
41
41
  }
42
42
  declare class ClrPopoverService {
43
+ parent: ClrPopoverContent;
43
44
  pointTargetElement: HTMLElement | undefined;
44
45
  origin: FlexibleConnectedPositionStrategyOrigin;
45
46
  closeButtonRef: ElementRef;
@@ -204,6 +205,11 @@ declare class ClrPopoverContent implements OnDestroy, AfterViewInit {
204
205
  /**
205
206
  * Uses IntersectionObserver to detect when the origin element leaves the screen.
206
207
  * This handles the "Close on Scroll" logic much cheaper than getBoundingClientRect.
208
+ *
209
+ * An origin that is fully visible when the popover opens closes it once less than 80% of it is
210
+ * visible. An origin that is only partially visible (e.g. clipped on a narrow screen) closes it
211
+ * once it is completely out of view - reported by the 0 threshold. An origin that is completely
212
+ * hidden when the popover opens closes it right away.
207
213
  */
208
214
  private setupIntersectionObserver;
209
215
  private listenToScrollEvents;
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { OnDestroy, Renderer2, ChangeDetectorRef, AfterContentInit, QueryList, ElementRef, Type } from '@angular/core';
2
+ import { OnDestroy, Renderer2, Optional, ChangeDetectorRef, AfterContentInit, QueryList, ElementRef, Type } from '@angular/core';
3
3
  import * as i1 from '@clr/angular/popover/common';
4
4
  import { ClrPopoverService, ClrPopoverPoint, ClrPopoverContent, ClrPopoverPosition } from '@clr/angular/popover/common';
5
5
  import { FocusableItem, FocusService } from '@clr/angular/utils';
@@ -34,13 +34,27 @@ declare class DropdownFocusHandler implements OnDestroy, FocusableItem {
34
34
  focus(): void;
35
35
  blur(): void;
36
36
  activate(): void;
37
+ /**
38
+ * Makes `item` the one the menu's keyboard handling acts on, and focuses it.
39
+ *
40
+ * Space and enter activate whatever the focus service considers current, not whatever the browser
41
+ * has focused - see `FocusService.registerContainer`. So moving focus to a menu item without going
42
+ * through here leaves the two disagreeing, and the keys then fire a different item than the one the
43
+ * user can see is focused.
44
+ */
45
+ moveTo(item: FocusableItem): void;
37
46
  resetChildren(): void;
38
47
  addChildren(children: FocusableItem[]): void;
48
+ private recoverFocusIfLost;
39
49
  private openAndGetChildren;
40
50
  private closeAndGetThis;
41
51
  static ɵfac: i0.ɵɵFactoryDeclaration<DropdownFocusHandler, [null, { optional: true; skipSelf: true; }, null, null, null]>;
42
52
  static ɵprov: i0.ɵɵInjectableDeclaration<DropdownFocusHandler>;
43
53
  }
54
+ declare const DROPDOWN_FOCUS_HANDLER_PROVIDER: (i0.Type<DropdownFocusHandler> | {
55
+ provide: typeof FocusableItem;
56
+ useExisting: i0.Type<DropdownFocusHandler>;
57
+ })[];
44
58
 
45
59
  declare class RootDropdownService {
46
60
  private _changes;
@@ -49,6 +63,12 @@ declare class RootDropdownService {
49
63
  static ɵfac: i0.ɵɵFactoryDeclaration<RootDropdownService, never>;
50
64
  static ɵprov: i0.ɵɵInjectableDeclaration<RootDropdownService>;
51
65
  }
66
+ declare function clrRootDropdownFactory(existing: RootDropdownService): RootDropdownService;
67
+ declare const ROOT_DROPDOWN_PROVIDER: {
68
+ provide: typeof RootDropdownService;
69
+ useFactory: typeof clrRootDropdownFactory;
70
+ deps: Optional[][];
71
+ };
52
72
 
53
73
  declare class ClrDropdown implements OnDestroy {
54
74
  parent: ClrDropdown;
@@ -91,9 +111,18 @@ declare class ClrDropdownTrigger {
91
111
  declare class ClrDropdownItem {
92
112
  private dropdown;
93
113
  private _dropdownService;
94
- private focusableItem;
114
+ protected focusableItem: FocusableItem;
95
115
  private el;
96
116
  private renderer;
117
+ /**
118
+ * The role of the item, `menuitem` unless the item says otherwise.
119
+ *
120
+ * An item that represents a setting rather than a command needs one of the checkable menu roles -
121
+ * `menuitemradio` for one of several exclusive settings, `menuitemcheckbox` for an independent one -
122
+ * so that assistive technology can announce which of them is applied. Writing the role as a plain
123
+ * attribute on the item is not enough: the host binding above would win over it.
124
+ */
125
+ role: string;
97
126
  constructor(dropdown: ClrDropdown, _dropdownService: RootDropdownService, focusableItem: FocusableItem, el: ElementRef, renderer: Renderer2);
98
127
  get disabled(): boolean | string;
99
128
  set disabled(value: boolean | string);
@@ -108,7 +137,7 @@ declare class ClrDropdownItem {
108
137
  private stopImmediatePropagationIfDisabled;
109
138
  private findRootDropdown;
110
139
  static ɵfac: i0.ɵɵFactoryDeclaration<ClrDropdownItem, never>;
111
- static ɵdir: i0.ɵɵDirectiveDeclaration<ClrDropdownItem, "[clrDropdownItem]", never, { "disabled": { "alias": "clrDisabled"; "required": false; }; "dropdownItemId": { "alias": "id"; "required": false; }; }, {}, never, never, false, never>;
140
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ClrDropdownItem, "[clrDropdownItem]", never, { "role": { "alias": "role"; "required": false; }; "disabled": { "alias": "clrDisabled"; "required": false; }; "dropdownItemId": { "alias": "id"; "required": false; }; }, {}, never, never, false, never>;
112
141
  }
113
142
 
114
143
  declare const CLR_MENU_POSITIONS: string[];
@@ -120,4 +149,4 @@ declare class ClrDropdownModule {
120
149
  static ɵinj: i0.ɵɵInjectorDeclaration<ClrDropdownModule>;
121
150
  }
122
151
 
123
- export { CLR_DROPDOWN_DIRECTIVES, CLR_MENU_POSITIONS, ClrDropdown, ClrDropdownItem, ClrDropdownMenu, ClrDropdownModule, ClrDropdownTrigger };
152
+ export { CLR_DROPDOWN_DIRECTIVES, CLR_MENU_POSITIONS, ClrDropdown, ClrDropdownItem, ClrDropdownMenu, ClrDropdownModule, ClrDropdownTrigger, DROPDOWN_FOCUS_HANDLER_PROVIDER, DropdownFocusHandler, ROOT_DROPDOWN_PROVIDER, RootDropdownService, clrRootDropdownFactory };