@clr/angular 18.0.0-beta.3 → 18.0.0-beta.5

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 (54) hide show
  1. package/fesm2022/clr-angular-data-datagrid.mjs +8 -2
  2. package/fesm2022/clr-angular-data-datagrid.mjs.map +1 -1
  3. package/fesm2022/clr-angular-forms-combobox.mjs +332 -39
  4. package/fesm2022/clr-angular-forms-combobox.mjs.map +1 -1
  5. package/fesm2022/clr-angular-layout-nav.mjs +27 -25
  6. package/fesm2022/clr-angular-layout-nav.mjs.map +1 -1
  7. package/fesm2022/clr-angular-modal.mjs +2 -3
  8. package/fesm2022/clr-angular-modal.mjs.map +1 -1
  9. package/fesm2022/clr-angular-utils.mjs +5 -0
  10. package/fesm2022/clr-angular-utils.mjs.map +1 -1
  11. package/fesm2022/clr-angular-wizard.mjs +427 -224
  12. package/fesm2022/clr-angular-wizard.mjs.map +1 -1
  13. package/package.json +7 -2
  14. package/schematics/collection.json +10 -0
  15. package/schematics/ng-update/index.d.ts +2 -0
  16. package/schematics/ng-update/index.js +69 -0
  17. package/schematics/ng-update/index.js.map +1 -0
  18. package/schematics/ng-update/migrations/css-migration.d.ts +6 -0
  19. package/schematics/ng-update/migrations/css-migration.js +177 -0
  20. package/schematics/ng-update/migrations/css-migration.js.map +1 -0
  21. package/schematics/ng-update/migrations/import-migration.d.ts +4 -0
  22. package/schematics/ng-update/migrations/import-migration.js +187 -0
  23. package/schematics/ng-update/migrations/import-migration.js.map +1 -0
  24. package/schematics/ng-update/migrations/template-migration.d.ts +6 -0
  25. package/schematics/ng-update/migrations/template-migration.js +203 -0
  26. package/schematics/ng-update/migrations/template-migration.js.map +1 -0
  27. package/schematics/ng-update/replacements/css-replacements.d.ts +17 -0
  28. package/schematics/ng-update/replacements/css-replacements.js +74 -0
  29. package/schematics/ng-update/replacements/css-replacements.js.map +1 -0
  30. package/schematics/ng-update/replacements/import-replacements.d.ts +13 -0
  31. package/schematics/ng-update/replacements/import-replacements.js +101 -0
  32. package/schematics/ng-update/replacements/import-replacements.js.map +1 -0
  33. package/schematics/ng-update/replacements/symbol-replacements.d.ts +12 -0
  34. package/schematics/ng-update/replacements/symbol-replacements.js +68 -0
  35. package/schematics/ng-update/replacements/symbol-replacements.js.map +1 -0
  36. package/schematics/ng-update/replacements/template-replacements.d.ts +14 -0
  37. package/schematics/ng-update/replacements/template-replacements.js +53 -0
  38. package/schematics/ng-update/replacements/template-replacements.js.map +1 -0
  39. package/schematics/ng-update/tests/test-helpers.d.ts +6 -0
  40. package/schematics/ng-update/tests/test-helpers.js +34 -0
  41. package/schematics/ng-update/tests/test-helpers.js.map +1 -0
  42. package/schematics/ng-update/utils/file-visitor.d.ts +8 -0
  43. package/schematics/ng-update/utils/file-visitor.js +44 -0
  44. package/schematics/ng-update/utils/file-visitor.js.map +1 -0
  45. package/schematics/ng-update/utils/regexp-utils.d.ts +16 -0
  46. package/schematics/ng-update/utils/regexp-utils.js +34 -0
  47. package/schematics/ng-update/utils/regexp-utils.js.map +1 -0
  48. package/schematics/vitest.config.d.ts +2 -0
  49. package/schematics/vitest.config.js +17 -0
  50. package/schematics/vitest.config.js.map +1 -0
  51. package/types/clr-angular-forms-combobox.d.ts +55 -9
  52. package/types/clr-angular-layout-nav.d.ts +6 -2
  53. package/types/clr-angular-utils.d.ts +5 -0
  54. package/types/clr-angular-wizard.d.ts +89 -35
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-helpers.js","sourceRoot":"","sources":["../../../../../projects/angular/schematics/ng-update/tests/test-helpers.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AASH,sCAEC;AAGD,sCAMC;AAGD,8CAKC;AA1BD,+CAA+C;AAG/C,+DAA0F;AAC1F,qEAAkF;AAClF,yEAA8F;AAE9F,SAAgB,aAAa;IAC3B,OAAO,EAAE,MAAM,EAAE,IAAI,cAAO,CAAC,UAAU,EAAE,EAAiC,CAAC;AAC7E,CAAC;AAED,oFAAoF;AACpF,SAAgB,aAAa,CAAC,IAAc;IAC1C,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;IAChC,IAAA,iCAAc,GAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAChC,IAAA,qCAAgB,GAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAClC,IAAA,oCAAoB,GAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACtC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,iGAAiG;AACjG,SAAgB,iBAAiB,CAAC,IAAY;IAC5C,IAAI,GAAG,IAAA,mCAAgB,EAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,GAAG,IAAA,6CAAwB,EAAC,IAAI,CAAC,CAAC;IACtC,IAAI,GAAG,IAAA,qCAAqB,EAAC,IAAI,CAAC,CAAC;IACnC,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { Tree } from '@angular-devkit/schematics';
2
+ /**
3
+ * Visits all files in the tree matching a glob-like pattern.
4
+ * Supports simple extension matching: '**\/*.ts', '**\/*.html', '**\/*.{css,scss,sass,less}'
5
+ *
6
+ * Skips generated/build directories and .d.ts declaration files for performance.
7
+ */
8
+ export declare function visitFiles(tree: Tree, pattern: string, callback: (filePath: string) => void): void;
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
4
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
5
+ * This software is released under MIT license.
6
+ * The full license information can be found in LICENSE in the root directory of this project.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.visitFiles = visitFiles;
10
+ const EXCLUDED_DIRS = ['/node_modules/', '/.git/', '/dist/', '/coverage/', '/.angular/', '/.nx/', '/.cache/'];
11
+ /**
12
+ * Visits all files in the tree matching a glob-like pattern.
13
+ * Supports simple extension matching: '**\/*.ts', '**\/*.html', '**\/*.{css,scss,sass,less}'
14
+ *
15
+ * Skips generated/build directories and .d.ts declaration files for performance.
16
+ */
17
+ function visitFiles(tree, pattern, callback) {
18
+ const extensions = parseExtensions(pattern);
19
+ tree.visit(filePath => {
20
+ if (EXCLUDED_DIRS.some(d => filePath.includes(d))) {
21
+ return;
22
+ }
23
+ // Skip TypeScript declaration files — they are generated, never user-edited
24
+ if (filePath.endsWith('.d.ts')) {
25
+ return;
26
+ }
27
+ if (extensions.length > 0 && !extensions.some(ext => filePath.endsWith(ext))) {
28
+ return;
29
+ }
30
+ callback(filePath);
31
+ });
32
+ }
33
+ function parseExtensions(pattern) {
34
+ // Match patterns like '**/*.ts' or '**/*.{css,scss,sass,less}'
35
+ const match = pattern.match(/\*\.(?:\{([^}]+)\}|(\w+))$/);
36
+ if (!match) {
37
+ return [];
38
+ }
39
+ if (match[1]) {
40
+ return match[1].split(',').map(ext => `.${ext.trim()}`);
41
+ }
42
+ return [`.${match[2]}`];
43
+ }
44
+ //# sourceMappingURL=file-visitor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-visitor.js","sourceRoot":"","sources":["../../../../../projects/angular/schematics/ng-update/utils/file-visitor.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAYH,gCAmBC;AA3BD,MAAM,aAAa,GAAG,CAAC,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;AAE9G;;;;;GAKG;AACH,SAAgB,UAAU,CAAC,IAAU,EAAE,OAAe,EAAE,QAAoC;IAC1F,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAE5C,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;QACpB,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAClD,OAAO;QACT,CAAC;QAED,4EAA4E;QAC5E,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAC7E,OAAO;QACT,CAAC;QAED,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACrB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,eAAe,CAAC,OAAe;IACtC,+DAA+D;IAC/D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAC1D,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACb,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAC1B,CAAC"}
@@ -0,0 +1,16 @@
1
+ /** Escapes all regex special characters in a literal string. */
2
+ export declare function escapeRegExp(str: string): string;
3
+ /**
4
+ * Builds a regex that matches the literal string only at whole-identifier
5
+ * boundaries (\b), preventing partial matches inside longer names.
6
+ * The `g` flag is set so the regex can be reused with lastIndex reset.
7
+ */
8
+ export declare function wordBoundaryRegex(literal: string): RegExp;
9
+ /**
10
+ * Builds a regex that matches the literal string only when it is NOT
11
+ * immediately followed by a hyphen or word character.
12
+ * Used for CSS custom properties to prevent `--clr-foo` from matching
13
+ * inside `--clr-foo-extra`.
14
+ * The `g` flag is set so the regex can be reused with lastIndex reset.
15
+ */
16
+ export declare function prefixNegativeLookaheadRegex(literal: string): RegExp;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
4
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
5
+ * This software is released under MIT license.
6
+ * The full license information can be found in LICENSE in the root directory of this project.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.escapeRegExp = escapeRegExp;
10
+ exports.wordBoundaryRegex = wordBoundaryRegex;
11
+ exports.prefixNegativeLookaheadRegex = prefixNegativeLookaheadRegex;
12
+ /** Escapes all regex special characters in a literal string. */
13
+ function escapeRegExp(str) {
14
+ return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
15
+ }
16
+ /**
17
+ * Builds a regex that matches the literal string only at whole-identifier
18
+ * boundaries (\b), preventing partial matches inside longer names.
19
+ * The `g` flag is set so the regex can be reused with lastIndex reset.
20
+ */
21
+ function wordBoundaryRegex(literal) {
22
+ return new RegExp(`\\b${escapeRegExp(literal)}\\b`, 'g');
23
+ }
24
+ /**
25
+ * Builds a regex that matches the literal string only when it is NOT
26
+ * immediately followed by a hyphen or word character.
27
+ * Used for CSS custom properties to prevent `--clr-foo` from matching
28
+ * inside `--clr-foo-extra`.
29
+ * The `g` flag is set so the regex can be reused with lastIndex reset.
30
+ */
31
+ function prefixNegativeLookaheadRegex(literal) {
32
+ return new RegExp(`${escapeRegExp(literal)}(?![-\\w])`, 'g');
33
+ }
34
+ //# sourceMappingURL=regexp-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"regexp-utils.js","sourceRoot":"","sources":["../../../../../projects/angular/schematics/ng-update/utils/regexp-utils.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAGH,oCAEC;AAOD,8CAEC;AASD,oEAEC;AAvBD,gEAAgE;AAChE,SAAgB,YAAY,CAAC,GAAW;IACtC,OAAO,GAAG,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AACpD,CAAC;AAED;;;;GAIG;AACH,SAAgB,iBAAiB,CAAC,OAAe;IAC/C,OAAO,IAAI,MAAM,CAAC,MAAM,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,4BAA4B,CAAC,OAAe;IAC1D,OAAO,IAAI,MAAM,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;AAC/D,CAAC"}
@@ -0,0 +1,2 @@
1
+ declare const _default: import("vite").UserConfig;
2
+ export default _default;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
4
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
5
+ * This software is released under MIT license.
6
+ * The full license information can be found in LICENSE in the root directory of this project.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ const config_1 = require("vitest/config");
10
+ exports.default = (0, config_1.defineConfig)({
11
+ test: {
12
+ root: 'projects/angular/schematics',
13
+ include: ['**/*.vitest.ts'],
14
+ globals: true,
15
+ },
16
+ });
17
+ //# sourceMappingURL=vitest.config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vitest.config.js","sourceRoot":"","sources":["../../../projects/angular/schematics/vitest.config.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAEH,0CAA6C;AAE7C,kBAAe,IAAA,qBAAY,EAAC;IAC1B,IAAI,EAAE;QACJ,IAAI,EAAE,6BAA6B;QACnC,OAAO,EAAE,CAAC,gBAAgB,CAAC;QAC3B,OAAO,EAAE,IAAI;KACd;CACF,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { AfterContentInit, AfterViewInit, ElementRef, TemplateRef, RendererFactory2, Renderer2, EventEmitter, ViewContainerRef, Injector, ChangeDetectorRef, OnInit, OnDestroy, QueryList, DoCheck, IterableDiffers, TrackByFunction } from '@angular/core';
2
+ import { AfterContentInit, AfterViewInit, ElementRef, TemplateRef, RendererFactory2, Renderer2, EventEmitter, QueryList, ViewContainerRef, Injector, ChangeDetectorRef, NgZone, OnInit, OnDestroy, DoCheck, IterableDiffers, TrackByFunction } from '@angular/core';
3
3
  import * as rxjs from 'rxjs';
4
4
  import { Observable } from 'rxjs';
5
5
  import * as i9 from '@angular/forms';
@@ -24,7 +24,7 @@ declare class ComboboxContainerService {
24
24
 
25
25
  declare class ClrComboboxContainer extends ClrAbstractContainer implements AfterContentInit, AfterViewInit {
26
26
  private containerService;
27
- private el;
27
+ el: ElementRef<HTMLElement>;
28
28
  controlContainer: ElementRef<HTMLElement>;
29
29
  constructor(layoutService: LayoutService, controlClassService: ControlClassService, ngControlService: NgControlService, containerService: ComboboxContainerService, el: ElementRef<HTMLElement>);
30
30
  ngAfterContentInit(): void;
@@ -34,6 +34,7 @@ declare class ClrComboboxContainer extends ClrAbstractContainer implements After
34
34
  }
35
35
 
36
36
  type ClrComboboxIdentityFunction<T> = (item: T) => any;
37
+ type ClrComboboxResolverFunction<T> = (input: string) => T;
37
38
  declare abstract class ComboboxModel<T> {
38
39
  model: T | T[];
39
40
  displayField?: string;
@@ -61,7 +62,7 @@ declare class ClrOptionSelected<T> {
61
62
  declare class OptionSelectionService<T> {
62
63
  loading: boolean;
63
64
  editable: boolean;
64
- filtering: boolean;
65
+ showSelectAll: boolean;
65
66
  selectionModel: ComboboxModel<T>;
66
67
  inputChanged: Observable<string>;
67
68
  showAllOptions: boolean;
@@ -69,6 +70,7 @@ declare class OptionSelectionService<T> {
69
70
  private _displayField;
70
71
  private _inputChanged;
71
72
  private _selectionChanged;
73
+ private _selectAllRequested;
72
74
  constructor();
73
75
  get displayField(): string;
74
76
  set displayField(value: string);
@@ -78,11 +80,19 @@ declare class OptionSelectionService<T> {
78
80
  get multiselectable(): boolean;
79
81
  get identityFn(): ClrComboboxIdentityFunction<T>;
80
82
  set identityFn(value: ClrComboboxIdentityFunction<T>);
83
+ get selectAllRequested(): Observable<void>;
84
+ requestSelectAll(): void;
85
+ editableResolver: ClrComboboxResolverFunction<T>;
81
86
  select(item: T): void;
82
87
  toggle(item: T): void;
88
+ selectMany(items: T[]): void;
89
+ unselectMany(items: T[]): void;
83
90
  unselect(item: T): void;
91
+ /**
92
+ * Checks whether all given items are currently selected, using identityFn for comparison.
93
+ */
94
+ containsAll(items: T[]): boolean;
84
95
  setSelectionValue(value: T | T[]): void;
85
- parseStringToModel(value: string): T;
86
96
  private _identityFn;
87
97
  private valuesEqualByIdentity;
88
98
  static ɵfac: i0.ɵɵFactoryDeclaration<OptionSelectionService<any>, never>;
@@ -125,6 +135,7 @@ declare class ComboboxFocusHandler<T> {
125
135
  focusInput(): void;
126
136
  focusFirstActive(): void;
127
137
  addOptionValues(options: OptionData<T>[]): void;
138
+ focusOption(option: OptionData<T>): void;
128
139
  private handleFocusSubscription;
129
140
  private moveFocusTo;
130
141
  private openAndMoveTo;
@@ -155,6 +166,8 @@ declare class ClrCombobox<T> extends WrappedFormControl<ClrComboboxContainer> im
155
166
  private platformId;
156
167
  private focusHandler;
157
168
  private cdr;
169
+ private zone;
170
+ private container;
158
171
  placeholder: string;
159
172
  clrInputChange: EventEmitter<string>;
160
173
  clrOpenChange: rxjs.Observable<boolean>;
@@ -165,17 +178,30 @@ declare class ClrCombobox<T> extends WrappedFormControl<ClrComboboxContainer> im
165
178
  textbox: ElementRef<HTMLInputElement>;
166
179
  trigger: ElementRef<HTMLButtonElement>;
167
180
  optionSelected: ClrOptionSelected<T>;
181
+ truncationButton: ElementRef;
182
+ wrapper: ElementRef;
183
+ calculationPills: QueryList<ElementRef<HTMLElement>>;
168
184
  focused: boolean;
169
185
  popoverPosition: ClrPopoverPosition;
170
186
  protected index: number;
171
187
  protected popoverType: ClrPopoverType;
188
+ protected containerWidth: any;
189
+ protected selectionExpanded: boolean;
190
+ protected calculatedLimit: number | undefined;
191
+ protected shouldCalculate: boolean;
192
+ protected isTotalSelection: boolean;
193
+ private resizeObserver;
194
+ private containerWidthChange;
172
195
  private options;
173
196
  private _searchText;
174
197
  private onTouchedCallback;
175
198
  private onChangeCallback;
176
- constructor(vcr: ViewContainerRef, injector: Injector, control: NgControl, renderer: Renderer2, el: ElementRef<HTMLElement>, optionSelectionService: OptionSelectionService<T>, commonStrings: ClrCommonStringsService, popoverService: ClrPopoverService, containerService: ComboboxContainerService, platformId: any, focusHandler: ComboboxFocusHandler<T>, cdr: ChangeDetectorRef);
199
+ constructor(vcr: ViewContainerRef, injector: Injector, control: NgControl, renderer: Renderer2, el: ElementRef<HTMLElement>, optionSelectionService: OptionSelectionService<T>, commonStrings: ClrCommonStringsService, popoverService: ClrPopoverService, containerService: ComboboxContainerService, platformId: any, focusHandler: ComboboxFocusHandler<T>, cdr: ChangeDetectorRef, zone: NgZone, container: ClrComboboxContainer);
200
+ get showSelectAll(): boolean;
201
+ set showSelectAll(value: boolean);
177
202
  get editable(): boolean;
178
203
  set editable(value: boolean);
204
+ set editableResolver(value: ClrComboboxResolverFunction<T> | undefined);
179
205
  set identityFn(value: ClrComboboxIdentityFunction<T>);
180
206
  get multiSelect(): boolean | string;
181
207
  set multiSelect(value: boolean | string);
@@ -189,9 +215,15 @@ declare class ClrCombobox<T> extends WrappedFormControl<ClrComboboxContainer> im
189
215
  get ariaOwns(): string;
190
216
  get ariaDescribedBySelection(): string;
191
217
  get displayField(): string;
218
+ get showAllText(): string;
219
+ get allSelectedText(): string;
220
+ get showIndividualPills(): boolean;
221
+ get showTruncationToggle(): boolean;
192
222
  private get disabled();
193
223
  ngAfterContentInit(): void;
194
224
  ngAfterViewInit(): void;
225
+ ngOnDestroy(): void;
226
+ clearSelection(): void;
195
227
  onKeyUp(event: KeyboardEvent): void;
196
228
  inputId(): string;
197
229
  loadingStateChange(state: ClrLoadingState): void;
@@ -207,12 +239,18 @@ declare class ClrCombobox<T> extends WrappedFormControl<ClrComboboxContainer> im
207
239
  getActiveDescendant(): string;
208
240
  setDisabledState(): void;
209
241
  onWrapperClick(event: any): void;
242
+ toggleSelectionExpand(): void;
243
+ private initialiseObserver;
244
+ private calculateLimit;
245
+ private applyLimit;
246
+ private updateTotalSelection;
210
247
  private initializeSubscriptions;
211
248
  private updateInputValue;
212
249
  private updateControlValue;
213
250
  private getDisplayNames;
214
- static ɵfac: i0.ɵɵFactoryDeclaration<ClrCombobox<any>, [null, null, { optional: true; self: true; }, null, null, null, null, null, { optional: true; }, null, null, null]>;
215
- static ɵcmp: i0.ɵɵComponentDeclaration<ClrCombobox<any>, "clr-combobox", never, { "placeholder": { "alias": "placeholder"; "required": false; }; "editable": { "alias": "clrEditable"; "required": false; }; "identityFn": { "alias": "clrComboboxIdentityFn"; "required": false; }; "multiSelect": { "alias": "clrMulti"; "required": false; }; }, { "clrInputChange": "clrInputChange"; "clrOpenChange": "clrOpenChange"; "clrSelectionChange": "clrSelectionChange"; }, ["optionSelected", "options"], ["*"], false, [{ directive: typeof i1.ClrPopoverHostDirective; inputs: {}; outputs: {}; }]>;
251
+ static ɵfac: i0.ɵɵFactoryDeclaration<ClrCombobox<any>, [null, null, { optional: true; self: true; }, null, null, null, null, null, { optional: true; }, null, null, null, null, { optional: true; host: true; }]>;
252
+ static ɵcmp: i0.ɵɵComponentDeclaration<ClrCombobox<any>, "clr-combobox", never, { "placeholder": { "alias": "placeholder"; "required": false; }; "showSelectAll": { "alias": "showSelectAll"; "required": false; }; "editable": { "alias": "clrEditable"; "required": false; }; "editableResolver": { "alias": "clrEditableResolverFn"; "required": false; }; "identityFn": { "alias": "clrComboboxIdentityFn"; "required": false; }; "multiSelect": { "alias": "clrMulti"; "required": false; }; }, { "clrInputChange": "clrInputChange"; "clrOpenChange": "clrOpenChange"; "clrSelectionChange": "clrSelectionChange"; }, ["optionSelected", "options"], ["*"], false, [{ directive: typeof i1.ClrPopoverHostDirective; inputs: {}; outputs: {}; }]>;
253
+ static ngAcceptInputType_showSelectAll: unknown;
216
254
  }
217
255
 
218
256
  declare class ClrOption<T> implements OnInit {
@@ -236,6 +274,7 @@ declare class ClrOption<T> implements OnInit {
236
274
  static ɵcmp: i0.ɵɵComponentDeclaration<ClrOption<any>, "clr-option", never, { "optionId": { "alias": "id"; "required": false; }; "value": { "alias": "clrValue"; "required": false; }; }, {}, never, ["*"], false, never>;
237
275
  }
238
276
 
277
+ declare const SELECT_ALL_ID = "select-all-id";
239
278
  declare class ClrOptions<T> implements AfterViewInit, LoadingListener, OnDestroy {
240
279
  optionSelectionService: OptionSelectionService<T>;
241
280
  id: number;
@@ -248,7 +287,9 @@ declare class ClrOptions<T> implements AfterViewInit, LoadingListener, OnDestroy
248
287
  loading: boolean;
249
288
  _items: QueryList<ClrOption<T>>;
250
289
  private subscriptions;
290
+ private _selectAllOption;
251
291
  constructor(optionSelectionService: OptionSelectionService<T>, id: number, el: ElementRef<HTMLElement>, commonStrings: ClrCommonStringsService, focusHandler: ComboboxFocusHandler<T>, popoverService: ClrPopoverService, parentHost: ElementRef<HTMLElement>, document: any);
292
+ set selectAllBtn(value: ElementRef);
252
293
  get items(): QueryList<ClrOption<T>>;
253
294
  set items(items: QueryList<ClrOption<T>>);
254
295
  /**
@@ -257,10 +298,15 @@ declare class ClrOptions<T> implements AfterViewInit, LoadingListener, OnDestroy
257
298
  get emptyOptions(): boolean;
258
299
  get editable(): boolean;
259
300
  get noResultsElementId(): string;
301
+ get showSelectAll(): boolean;
302
+ get allVisibleSelected(): boolean;
303
+ get isSelectAllFocused(): boolean;
304
+ toggleSelectAll(event?: Event): void;
260
305
  ngAfterViewInit(): void;
261
306
  ngOnDestroy(): void;
262
307
  searchText(input: string): string;
263
308
  loadingStateChange(state: ClrLoadingState): void;
309
+ private updateFocusableItems;
264
310
  static ɵfac: i0.ɵɵFactoryDeclaration<ClrOptions<any>, [null, null, null, null, null, null, { optional: true; }, null]>;
265
311
  static ɵcmp: i0.ɵɵComponentDeclaration<ClrOptions<any>, "clr-options", never, { "optionsId": { "alias": "id"; "required": false; }; }, {}, ["items"], ["*"], false, never>;
266
312
  }
@@ -303,5 +349,5 @@ declare class ClrComboboxModule {
303
349
  static ɵinj: i0.ɵɵInjectorDeclaration<ClrComboboxModule>;
304
350
  }
305
351
 
306
- export { ClrCombobox, ClrComboboxContainer, ClrComboboxModule, ClrOption, ClrOptionGroup, ClrOptionItems, ClrOptionSelected, ClrOptions };
307
- export type { ClrComboboxIdentityFunction };
352
+ export { ClrCombobox, ClrComboboxContainer, ClrComboboxModule, ClrOption, ClrOptionGroup, ClrOptionItems, ClrOptionSelected, ClrOptions, SELECT_ALL_ID };
353
+ export type { ClrComboboxIdentityFunction, ClrComboboxResolverFunction };
@@ -1,7 +1,7 @@
1
1
  import * as i1 from '@clr/angular/utils';
2
2
  import { WillyWonka, OompaLoompa, ClrCommonStringsService, ClrStandaloneCdkTrapFocus } from '@clr/angular/utils';
3
3
  import * as i0 from '@angular/core';
4
- import { ChangeDetectorRef, OnDestroy, OnInit, ElementRef, Renderer2, Injector, Type } from '@angular/core';
4
+ import { ChangeDetectorRef, OnDestroy, OnInit, ElementRef, Renderer2, Injector, EnvironmentInjector, ApplicationRef, Type } from '@angular/core';
5
5
  import { Observable } from 'rxjs';
6
6
  import { RouterLinkActive } from '@angular/router';
7
7
  import * as i6 from '@angular/common';
@@ -92,12 +92,15 @@ declare class ClrNavLevel implements OnInit {
92
92
  private responsiveNavService;
93
93
  private elementRef;
94
94
  private renderer;
95
+ private injector;
96
+ private environmentInjector;
97
+ private appRef;
95
98
  _level: number;
96
99
  closeButtonAriaLabel: string;
97
100
  private _isOpen;
98
101
  private _document;
99
102
  private _subscription;
100
- constructor(platformId: any, cdkTrapFocus: ClrStandaloneCdkTrapFocus, responsiveNavService: ResponsiveNavigationService, elementRef: ElementRef<HTMLElement>, renderer: Renderer2, injector: Injector);
103
+ constructor(platformId: any, cdkTrapFocus: ClrStandaloneCdkTrapFocus, responsiveNavService: ResponsiveNavigationService, elementRef: ElementRef<HTMLElement>, renderer: Renderer2, injector: Injector, environmentInjector: EnvironmentInjector, appRef: ApplicationRef);
101
104
  get level(): number;
102
105
  get responsiveNavCodes(): ResponsiveNavCodes;
103
106
  get isOpen(): boolean;
@@ -113,6 +116,7 @@ declare class ClrNavLevel implements OnInit {
113
116
  protected showNavigation(): void;
114
117
  protected hideCloseButton(): void;
115
118
  protected showCloseButton(): void;
119
+ private createCloseButton;
116
120
  static ɵfac: i0.ɵɵFactoryDeclaration<ClrNavLevel, never>;
117
121
  static ɵdir: i0.ɵɵDirectiveDeclaration<ClrNavLevel, "[clr-nav-level]", never, { "_level": { "alias": "clr-nav-level"; "required": false; }; "closeButtonAriaLabel": { "alias": "closeAriaLabel"; "required": false; }; }, {}, never, never, false, [{ directive: typeof i1.ClrStandaloneCdkTrapFocus; inputs: {}; outputs: {}; }]>;
118
122
  }
@@ -441,6 +441,11 @@ interface ClrCommonStrings {
441
441
  comboboxSelected: string;
442
442
  comboboxNoResults: string;
443
443
  comboboxOpen: string;
444
+ comboboxSelectAll: string;
445
+ comboboxUnselectAll: string;
446
+ comboboxAllSelected: string;
447
+ comboboxShowAll: string;
448
+ comboboxShowLess: string;
444
449
  /**
445
450
  * Wizard: Screen-reader text for "step" (read before step number).
446
451
  */
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { EventEmitter, QueryList, TemplateRef, OnInit, OnDestroy, AfterContentInit, DoCheck, ElementRef, IterableDiffers } from '@angular/core';
2
+ import { EventEmitter, QueryList, TemplateRef, OnInit, OnDestroy, AfterContentInit, DoCheck, ElementRef, IterableDiffers, AfterViewInit } from '@angular/core';
3
3
  import { HeadingLevel, ClrCommonStringsService } from '@clr/angular/utils';
4
4
  import { Observable, Subscription } from 'rxjs';
5
5
  import * as i12 from '@angular/common';
@@ -7,6 +7,18 @@ import * as i13 from '@clr/angular/icon';
7
7
  import * as i14 from '@clr/angular/modal';
8
8
  import * as i15 from '@clr/angular/emphasis/alert';
9
9
 
10
+ declare enum ClrWizardFooterAlign {
11
+ START = "start",
12
+ END = "end"
13
+ }
14
+ declare function footerAlignAttribute(value: ClrWizardFooterAlign | string): ClrWizardFooterAlign;
15
+
16
+ declare enum ClrWizardStepnavLayout {
17
+ VERTICAL = "vertical",
18
+ HORIZONTAL = "horizontal"
19
+ }
20
+ declare function stepnavLayoutAttribute(value: ClrWizardStepnavLayout | string): ClrWizardStepnavLayout;
21
+
10
22
  declare class ButtonHubService {
11
23
  buttonsReady: boolean;
12
24
  private _previousBtnClicked;
@@ -870,6 +882,10 @@ declare class WizardNavigationService implements OnDestroy {
870
882
  * @memberof WizardNavigationService
871
883
  */
872
884
  wizardDisableStepnav: boolean;
885
+ /**
886
+ * The layout of the wizard stepnav, either 'vertical' or 'horizontal'.
887
+ */
888
+ stepnavLayout: ClrWizardStepnavLayout;
873
889
  /**
874
890
  * @memberof WizardNavigationService
875
891
  */
@@ -1117,6 +1133,31 @@ declare class HeaderActionService {
1117
1133
  static ɵprov: i0.ɵɵInjectableDeclaration<HeaderActionService>;
1118
1134
  }
1119
1135
 
1136
+ declare const DEFAULT_BUTTON_TYPES: any;
1137
+ declare const CUSTOM_BUTTON_TYPES: any;
1138
+ declare class ClrWizardButton {
1139
+ navService: WizardNavigationService;
1140
+ buttonService: ButtonHubService;
1141
+ type: string;
1142
+ disabled: boolean;
1143
+ hidden: boolean;
1144
+ wasClicked: EventEmitter<string>;
1145
+ constructor(navService: WizardNavigationService, buttonService: ButtonHubService);
1146
+ get isCancel(): boolean;
1147
+ get isNext(): boolean;
1148
+ get isPrevious(): boolean;
1149
+ get isFinish(): boolean;
1150
+ get isDanger(): boolean;
1151
+ get isPrimaryAction(): boolean;
1152
+ get _disabledAttribute(): string | null;
1153
+ get isDisabled(): boolean;
1154
+ get isHidden(): boolean;
1155
+ click(): void;
1156
+ private checkDefaultAndCustomType;
1157
+ static ɵfac: i0.ɵɵFactoryDeclaration<ClrWizardButton, never>;
1158
+ static ɵcmp: i0.ɵɵComponentDeclaration<ClrWizardButton, "clr-wizard-button", never, { "type": { "alias": "type"; "required": false; }; "disabled": { "alias": "clrWizardButtonDisabled"; "required": false; }; "hidden": { "alias": "clrWizardButtonHidden"; "required": false; }; }, { "wasClicked": "clrWizardButtonClicked"; }, never, ["*"], false, never>;
1159
+ }
1160
+
1120
1161
  declare class ClrWizardTitle {
1121
1162
  headingLevel: HeadingLevel;
1122
1163
  static ɵfac: i0.ɵɵFactoryDeclaration<ClrWizardTitle, never>;
@@ -1135,6 +1176,10 @@ declare class ClrWizard implements OnDestroy, AfterContentInit, DoCheck {
1135
1176
  * Set the aria-label for the stepnav section of the wizard. Set using `[clrWizardStepnavAriaLabel]` input.
1136
1177
  */
1137
1178
  stepnavAriaLabel: string;
1179
+ /**
1180
+ * Set the wizard stepnav layout to 'vertical' (default) or 'horizontal'. Set using `[clrWizardStepnavLayout]` input.
1181
+ */
1182
+ stepnavLayout: ClrWizardStepnavLayout;
1138
1183
  /**
1139
1184
  * Set the modal size of the wizard. Set using `[clrWizardSize]` input.
1140
1185
  */
@@ -1148,6 +1193,18 @@ declare class ClrWizard implements OnDestroy, AfterContentInit, DoCheck {
1148
1193
  * If you can't use this option, you will likely need to provide custom CSS to set the wizard's height and margins.
1149
1194
  */
1150
1195
  inPageFillContentArea: boolean;
1196
+ /**
1197
+ * Hide the wizard footer entirely. Set using `[clrWizardHideFooter]` input.
1198
+ * Useful when a nested wizard or stepper handles its own navigation.
1199
+ */
1200
+ hideFooter: boolean;
1201
+ /**
1202
+ * Align the footer buttons to 'start' (left) or 'end' (right).
1203
+ * By default, modal wizards align to 'end' and in-page wizards align to 'start'.
1204
+ * Nested wizards inherit the default unless this input is explicitly set.
1205
+ * Set using `[clrWizardFooterAlign]` input.
1206
+ */
1207
+ _footerAlign: ClrWizardFooterAlign | null;
1151
1208
  /**
1152
1209
  * Tells the modal part of the wizard whether it should have a close "X"
1153
1210
  * in the top right corner. Set using `[clrWizardClosable]` input.
@@ -1198,12 +1255,14 @@ declare class ClrWizard implements OnDestroy, AfterContentInit, DoCheck {
1198
1255
  onMovePrevious: EventEmitter<any>;
1199
1256
  pageTitle: ElementRef<HTMLElement>;
1200
1257
  pages: QueryList<ClrWizardPage>;
1258
+ wizardButtons: QueryList<ClrWizardButton>;
1201
1259
  headerActions: QueryList<ClrWizardHeaderAction>;
1202
1260
  _open: boolean;
1203
1261
  wizardId: string;
1204
1262
  protected wizardTitle: ClrWizardTitle;
1263
+ protected ClrWizardFooterAlign: typeof ClrWizardFooterAlign;
1264
+ protected ClrWizardStepnavLayout: typeof ClrWizardStepnavLayout;
1205
1265
  private readonly bodyElementRef;
1206
- private _title;
1207
1266
  private _forceForward;
1208
1267
  private _stopNext;
1209
1268
  private _stopCancel;
@@ -1211,10 +1270,7 @@ declare class ClrWizard implements OnDestroy, AfterContentInit, DoCheck {
1211
1270
  private _disableStepnav;
1212
1271
  private differ;
1213
1272
  private subscriptions;
1214
- private readonly modal;
1215
1273
  constructor(platformId: any, commonStrings: ClrCommonStringsService, navService: WizardNavigationService, pageCollection: PageCollectionService, buttonService: ButtonHubService, headerActionService: HeaderActionService, elementRef: ElementRef<HTMLElement>, differs: IterableDiffers);
1216
- get title(): ElementRef<HTMLElement>;
1217
- set title(title: ElementRef<HTMLElement>);
1218
1274
  /**
1219
1275
  * Resets page completed states when navigating backwards.
1220
1276
  * Set using `[clrWizardForceForwardNavigation]` input.
@@ -1268,6 +1324,9 @@ declare class ClrWizard implements OnDestroy, AfterContentInit, DoCheck {
1268
1324
  get isLast(): boolean;
1269
1325
  get isFirst(): boolean;
1270
1326
  get isInline(): boolean;
1327
+ get showHeader(): boolean;
1328
+ get showFooter(): boolean;
1329
+ get footerAlign(): ClrWizardFooterAlign;
1271
1330
  get stopModalAnimations(): boolean;
1272
1331
  ngAfterContentInit(): void;
1273
1332
  ngDoCheck(): void;
@@ -1370,13 +1429,32 @@ declare class ClrWizard implements OnDestroy, AfterContentInit, DoCheck {
1370
1429
  private initializeButtons;
1371
1430
  private emitWizardFinished;
1372
1431
  static ɵfac: i0.ɵɵFactoryDeclaration<ClrWizard, never>;
1373
- static ɵcmp: i0.ɵɵComponentDeclaration<ClrWizard, "clr-wizard", never, { "stepnavAriaLabel": { "alias": "clrWizardStepnavAriaLabel"; "required": false; }; "size": { "alias": "clrWizardSize"; "required": false; }; "inPage": { "alias": "clrWizardInPage"; "required": false; }; "inPageFillContentArea": { "alias": "clrWizardInPageFillContentArea"; "required": false; }; "closable": { "alias": "clrWizardClosable"; "required": false; }; "_stopModalAnimations": { "alias": "clrWizardPreventModalAnimation"; "required": false; }; "forceForward": { "alias": "clrWizardForceForwardNavigation"; "required": false; }; "clrWizardOpen": { "alias": "clrWizardOpen"; "required": false; }; "stopNext": { "alias": "clrWizardPreventDefaultNext"; "required": false; }; "stopCancel": { "alias": "clrWizardPreventDefaultCancel"; "required": false; }; "stopNavigation": { "alias": "clrWizardPreventNavigation"; "required": false; }; "disableStepnav": { "alias": "clrWizardDisableStepnav"; "required": false; }; }, { "_openChanged": "clrWizardOpenChange"; "onCancel": "clrWizardOnCancel"; "wizardFinished": "clrWizardOnFinish"; "onReset": "clrWizardOnReset"; "currentPageChange": "clrWizardCurrentPageChange"; "onMoveNext": "clrWizardOnNext"; "onMovePrevious": "clrWizardOnPrevious"; }, ["wizardTitle", "pages", "headerActions"], ["clr-wizard-title", "clr-wizard-header-action", "*", "clr-wizard-button"], false, never>;
1432
+ static ɵcmp: i0.ɵɵComponentDeclaration<ClrWizard, "clr-wizard", never, { "stepnavAriaLabel": { "alias": "clrWizardStepnavAriaLabel"; "required": false; }; "stepnavLayout": { "alias": "clrWizardStepnavLayout"; "required": false; }; "size": { "alias": "clrWizardSize"; "required": false; }; "inPage": { "alias": "clrWizardInPage"; "required": false; }; "inPageFillContentArea": { "alias": "clrWizardInPageFillContentArea"; "required": false; }; "hideFooter": { "alias": "clrWizardHideFooter"; "required": false; }; "_footerAlign": { "alias": "clrWizardFooterAlign"; "required": false; }; "closable": { "alias": "clrWizardClosable"; "required": false; }; "_stopModalAnimations": { "alias": "clrWizardPreventModalAnimation"; "required": false; }; "forceForward": { "alias": "clrWizardForceForwardNavigation"; "required": false; }; "clrWizardOpen": { "alias": "clrWizardOpen"; "required": false; }; "stopNext": { "alias": "clrWizardPreventDefaultNext"; "required": false; }; "stopCancel": { "alias": "clrWizardPreventDefaultCancel"; "required": false; }; "stopNavigation": { "alias": "clrWizardPreventNavigation"; "required": false; }; "disableStepnav": { "alias": "clrWizardDisableStepnav"; "required": false; }; }, { "_openChanged": "clrWizardOpenChange"; "onCancel": "clrWizardOnCancel"; "wizardFinished": "clrWizardOnFinish"; "onReset": "clrWizardOnReset"; "currentPageChange": "clrWizardCurrentPageChange"; "onMoveNext": "clrWizardOnNext"; "onMovePrevious": "clrWizardOnPrevious"; }, ["wizardTitle", "pages", "wizardButtons", "headerActions"], ["*", "clr-wizard-button", "clr-wizard-title", "clr-wizard-header-action"], false, never>;
1433
+ static ngAcceptInputType_stepnavLayout: ClrWizardStepnavLayout | string;
1434
+ static ngAcceptInputType__footerAlign: ClrWizardFooterAlign | string;
1374
1435
  }
1375
1436
 
1376
- declare class ClrWizardStepnav {
1437
+ declare class ClrWizardStepnav implements AfterViewInit, OnDestroy {
1377
1438
  pageService: PageCollectionService;
1439
+ private navService;
1440
+ private elementRef;
1378
1441
  label: string;
1379
- constructor(pageService: PageCollectionService);
1442
+ protected showScrollLeftButton: boolean;
1443
+ protected showScrollRightButton: boolean;
1444
+ private readonly stepnavItems;
1445
+ private subscription;
1446
+ private intersectionObserver;
1447
+ private firstItemVisible;
1448
+ private lastItemVisible;
1449
+ constructor(pageService: PageCollectionService, navService: WizardNavigationService, elementRef: ElementRef<HTMLElement>);
1450
+ protected get stepnavLayout(): ClrWizardStepnavLayout;
1451
+ ngAfterViewInit(): void;
1452
+ ngOnDestroy(): void;
1453
+ protected scrollLeft(): void;
1454
+ protected scrollRight(): void;
1455
+ private setupIntersectionObserver;
1456
+ private observeEdgeItems;
1457
+ private scroll;
1380
1458
  static ɵfac: i0.ɵɵFactoryDeclaration<ClrWizardStepnav, never>;
1381
1459
  static ɵcmp: i0.ɵɵComponentDeclaration<ClrWizardStepnav, "clr-wizard-stepnav", never, { "label": { "alias": "label"; "required": false; }; }, {}, never, never, false, never>;
1382
1460
  }
@@ -1385,7 +1463,7 @@ declare class ClrWizardStepnavItem implements OnInit, OnDestroy {
1385
1463
  navService: WizardNavigationService;
1386
1464
  pageCollection: PageCollectionService;
1387
1465
  commonStrings: ClrCommonStringsService;
1388
- private readonly elementRef;
1466
+ readonly elementRef: ElementRef<HTMLElement>;
1389
1467
  page: ClrWizardPage;
1390
1468
  private subscription;
1391
1469
  /**
@@ -1412,37 +1490,13 @@ declare class ClrWizardStepnavItem implements OnInit, OnDestroy {
1412
1490
  ngOnInit(): void;
1413
1491
  ngOnDestroy(): void;
1414
1492
  click(): void;
1493
+ protected scrollIntoView(): void;
1415
1494
  private pageGuard;
1416
1495
  private ensureCurrentStepIsScrolledIntoView;
1417
1496
  static ɵfac: i0.ɵɵFactoryDeclaration<ClrWizardStepnavItem, never>;
1418
1497
  static ɵcmp: i0.ɵɵComponentDeclaration<ClrWizardStepnavItem, "[clr-wizard-stepnav-item]", never, { "page": { "alias": "page"; "required": false; }; }, {}, never, ["*"], false, never>;
1419
1498
  }
1420
1499
 
1421
- declare const DEFAULT_BUTTON_TYPES: any;
1422
- declare const CUSTOM_BUTTON_TYPES: any;
1423
- declare class ClrWizardButton {
1424
- navService: WizardNavigationService;
1425
- buttonService: ButtonHubService;
1426
- type: string;
1427
- disabled: boolean;
1428
- hidden: boolean;
1429
- wasClicked: EventEmitter<string>;
1430
- constructor(navService: WizardNavigationService, buttonService: ButtonHubService);
1431
- get isCancel(): boolean;
1432
- get isNext(): boolean;
1433
- get isPrevious(): boolean;
1434
- get isFinish(): boolean;
1435
- get isDanger(): boolean;
1436
- get isPrimaryAction(): boolean;
1437
- get _disabledAttribute(): string | null;
1438
- get isDisabled(): boolean;
1439
- get isHidden(): boolean;
1440
- click(): void;
1441
- private checkDefaultAndCustomType;
1442
- static ɵfac: i0.ɵɵFactoryDeclaration<ClrWizardButton, never>;
1443
- static ɵcmp: i0.ɵɵComponentDeclaration<ClrWizardButton, "clr-wizard-button", never, { "type": { "alias": "type"; "required": false; }; "disabled": { "alias": "clrWizardButtonDisabled"; "required": false; }; "hidden": { "alias": "clrWizardButtonHidden"; "required": false; }; }, { "wasClicked": "clrWizardButtonClicked"; }, never, ["*"], false, never>;
1444
- }
1445
-
1446
1500
  declare const CLR_WIZARD_DIRECTIVES: any[];
1447
1501
  declare class ClrWizardModule {
1448
1502
  constructor();
@@ -1451,4 +1505,4 @@ declare class ClrWizardModule {
1451
1505
  static ɵinj: i0.ɵɵInjectorDeclaration<ClrWizardModule>;
1452
1506
  }
1453
1507
 
1454
- export { CLR_WIZARD_DIRECTIVES, CUSTOM_BUTTON_TYPES, ClrWizard, ClrWizardButton, ClrWizardHeaderAction, ClrWizardModule, ClrWizardPage, ClrWizardPageButtons, ClrWizardPageHeaderActions, ClrWizardPageNavTitle, ClrWizardPageTitle, ClrWizardStepnav, ClrWizardStepnavItem, ClrWizardTitle, DEFAULT_BUTTON_TYPES };
1508
+ export { CLR_WIZARD_DIRECTIVES, CUSTOM_BUTTON_TYPES, ClrWizard, ClrWizardButton, ClrWizardFooterAlign, ClrWizardHeaderAction, ClrWizardModule, ClrWizardPage, ClrWizardPageButtons, ClrWizardPageHeaderActions, ClrWizardPageNavTitle, ClrWizardPageTitle, ClrWizardStepnav, ClrWizardStepnavItem, ClrWizardStepnavLayout, ClrWizardTitle, DEFAULT_BUTTON_TYPES, footerAlignAttribute, stepnavLayoutAttribute };