@clr/angular 17.8.1 → 17.10.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 (54) hide show
  1. package/clarity.api.md +100 -50
  2. package/data/datagrid/datagrid-row.d.ts +6 -4
  3. package/data/datagrid/datagrid-virtual-scroll.directive.d.ts +9 -2
  4. package/data/datagrid/datagrid.d.ts +11 -3
  5. package/data/datagrid/index.d.ts +1 -0
  6. package/data/datagrid/interfaces/key-nav-grid-strategy.interface.d.ts +11 -0
  7. package/data/datagrid/interfaces/virtual-scroll-data-range.interface.d.ts +5 -0
  8. package/data/datagrid/providers/items.d.ts +1 -0
  9. package/data/datagrid/utils/key-navigation-grid.controller.d.ts +1 -16
  10. package/data/datagrid/utils/key-navigation-strategies/default.d.ts +15 -0
  11. package/data/datagrid/utils/key-navigation-strategies/expanded-columns-row.d.ts +14 -0
  12. package/data/datagrid/utils/key-navigation-strategies/expanded-row.d.ts +14 -0
  13. package/data/datagrid/utils/key-navigation-utils.d.ts +22 -0
  14. package/data/tree-view/tree-node.d.ts +0 -1
  15. package/esm2020/data/datagrid/datagrid-column.mjs +8 -12
  16. package/esm2020/data/datagrid/datagrid-row.mjs +30 -10
  17. package/esm2020/data/datagrid/datagrid-virtual-scroll.directive.mjs +45 -10
  18. package/esm2020/data/datagrid/datagrid.mjs +48 -17
  19. package/esm2020/data/datagrid/index.mjs +2 -1
  20. package/esm2020/data/datagrid/interfaces/key-nav-grid-strategy.interface.mjs +8 -0
  21. package/esm2020/data/datagrid/interfaces/virtual-scroll-data-range.interface.mjs +8 -0
  22. package/esm2020/data/datagrid/providers/items.mjs +5 -1
  23. package/esm2020/data/datagrid/utils/key-navigation-grid.controller.mjs +18 -243
  24. package/esm2020/data/datagrid/utils/key-navigation-strategies/default.mjs +132 -0
  25. package/esm2020/data/datagrid/utils/key-navigation-strategies/expanded-columns-row.mjs +132 -0
  26. package/esm2020/data/datagrid/utils/key-navigation-strategies/expanded-row.mjs +168 -0
  27. package/esm2020/data/datagrid/utils/key-navigation-utils.mjs +108 -0
  28. package/esm2020/data/tree-view/tree-node.mjs +3 -6
  29. package/esm2020/forms/checkbox/checkbox.mjs +5 -2
  30. package/esm2020/forms/number-input/number-input.module.mjs +3 -3
  31. package/esm2020/layout/breadcrumbs/breadcrumbs.mjs +2 -2
  32. package/esm2020/modal/modal.mjs +7 -4
  33. package/esm2020/popover/common/popover.mjs +2 -2
  34. package/esm2020/utils/animations/constants.mjs +7 -1
  35. package/esm2020/utils/animations/expandable-animation/base-expandable-animation.mjs +38 -0
  36. package/esm2020/utils/animations/expandable-animation/expandable-animation.directive.mjs +56 -0
  37. package/esm2020/utils/animations/expandable-animation/expandable-animation.mjs +10 -32
  38. package/esm2020/utils/animations/expandable-animation/expandable-animation.module.mjs +3 -2
  39. package/esm2020/utils/animations/expandable-animation/index.mjs +4 -2
  40. package/esm2020/utils/focus/focusable-item/basic-focusable-item.service.mjs +2 -2
  41. package/esm2020/wizard/wizard.mjs +29 -6
  42. package/fesm2015/clr-angular.mjs +915 -426
  43. package/fesm2015/clr-angular.mjs.map +1 -1
  44. package/fesm2020/clr-angular.mjs +936 -445
  45. package/fesm2020/clr-angular.mjs.map +1 -1
  46. package/modal/modal.d.ts +3 -2
  47. package/package.json +2 -2
  48. package/utils/animations/constants.d.ts +1 -0
  49. package/utils/animations/expandable-animation/base-expandable-animation.d.ts +13 -0
  50. package/utils/animations/expandable-animation/expandable-animation.d.ts +2 -6
  51. package/utils/animations/expandable-animation/expandable-animation.directive.d.ts +16 -0
  52. package/utils/animations/expandable-animation/expandable-animation.module.d.ts +3 -2
  53. package/utils/animations/expandable-animation/index.d.ts +1 -0
  54. package/wizard/wizard.d.ts +12 -2
package/modal/modal.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { AnimationEvent } from '@angular/animations';
2
- import { ElementRef, EventEmitter, OnChanges, OnDestroy, SimpleChange } from '@angular/core';
2
+ import { ElementRef, EventEmitter, OnChanges, OnDestroy, SimpleChange, TemplateRef } from '@angular/core';
3
3
  import { ClrCommonStringsService } from '../utils/i18n/common-strings.service';
4
4
  import { ScrollingService } from '../utils/scrolling/scrolling-service';
5
5
  import { ClrModalConfigurationService } from './modal-configuration.service';
@@ -23,6 +23,7 @@ export declare class ClrModal implements OnChanges, OnDestroy {
23
23
  altClose: EventEmitter<boolean>;
24
24
  labelledBy: string;
25
25
  bypassScrollService: boolean;
26
+ protected readonly modalContentTemplate: TemplateRef<any>;
26
27
  private readonly bodyElementRef;
27
28
  constructor(_scrollingService: ScrollingService, commonStrings: ClrCommonStringsService, modalStackService: ModalStackService, configuration: ClrModalConfigurationService);
28
29
  get fadeMove(): string;
@@ -38,5 +39,5 @@ export declare class ClrModal implements OnChanges, OnDestroy {
38
39
  fadeDone(e: AnimationEvent): void;
39
40
  scrollTop(): void;
40
41
  static ɵfac: i0.ɵɵFactoryDeclaration<ClrModal, never>;
41
- static ɵcmp: i0.ɵɵComponentDeclaration<ClrModal, "clr-modal", never, { "_open": "clrModalOpen"; "closable": "clrModalClosable"; "closeButtonAriaLabel": "clrModalCloseButtonAriaLabel"; "size": "clrModalSize"; "staticBackdrop": "clrModalStaticBackdrop"; "skipAnimation": "clrModalSkipAnimation"; "stopClose": "clrModalPreventClose"; "labelledBy": "clrModalLabelledById"; "bypassScrollService": "clrModalOverrideScrollService"; }, { "_openChanged": "clrModalOpenChange"; "altClose": "clrModalAlternateClose"; }, never, [".modal-nav", ".leading-button", ".modal-title", ".modal-body", ".modal-footer"], false, never>;
42
+ static ɵcmp: i0.ɵɵComponentDeclaration<ClrModal, "clr-modal", never, { "_open": "clrModalOpen"; "closable": "clrModalClosable"; "closeButtonAriaLabel": "clrModalCloseButtonAriaLabel"; "size": "clrModalSize"; "staticBackdrop": "clrModalStaticBackdrop"; "skipAnimation": "clrModalSkipAnimation"; "stopClose": "clrModalPreventClose"; "labelledBy": "clrModalLabelledById"; "bypassScrollService": "clrModalOverrideScrollService"; }, { "_openChanged": "clrModalOpenChange"; "altClose": "clrModalAlternateClose"; }, ["modalContentTemplate"], [".leading-button", ".modal-title", ".modal-body", ".modal-footer"], false, never>;
42
43
  }
package/package.json CHANGED
@@ -22,7 +22,7 @@
22
22
  "@angular/common": "15 || 16 || 17 || 18 || 19",
23
23
  "@angular/core": "15 || 16 || 17 || 18 || 19",
24
24
  "@cds/core": ">= 6.9.2",
25
- "@clr/ui": "17.8.1"
25
+ "@clr/ui": "17.10.0"
26
26
  },
27
27
  "module": "fesm2015/clr-angular.mjs",
28
28
  "es2020": "fesm2020/clr-angular.mjs",
@@ -47,5 +47,5 @@
47
47
  "dependencies": {
48
48
  "tslib": "^2.3.0"
49
49
  },
50
- "version": "17.8.1"
50
+ "version": "17.10.0"
51
51
  }
@@ -1 +1,2 @@
1
1
  export declare const defaultAnimationTiming = "0.2s ease-in-out";
2
+ export declare const defaultExpandAnimation: import("@angular/animations").AnimationReferenceMetadata;
@@ -0,0 +1,13 @@
1
+ import { ElementRef, Renderer2 } from '@angular/core';
2
+ import { DomAdapter } from '../../dom-adapter/dom-adapter';
3
+ export declare class BaseExpandableAnimation {
4
+ protected element: ElementRef<HTMLElement>;
5
+ protected domAdapter: DomAdapter;
6
+ protected renderer: Renderer2;
7
+ startHeight: number;
8
+ constructor(element: ElementRef<HTMLElement>, domAdapter: DomAdapter, renderer: Renderer2);
9
+ updateStartHeight(): void;
10
+ initAnimationEffects(): void;
11
+ cleanupAnimationEffects(cancelAnimations?: boolean): void;
12
+ private cancelElementAnimations;
13
+ }
@@ -1,13 +1,10 @@
1
1
  import { AnimationEvent } from '@angular/animations';
2
2
  import { ElementRef, Renderer2 } from '@angular/core';
3
3
  import { DomAdapter } from '../../dom-adapter/dom-adapter';
4
+ import { BaseExpandableAnimation } from './base-expandable-animation';
4
5
  import * as i0 from "@angular/core";
5
- export declare class ClrExpandableAnimation {
6
- private element;
7
- private domAdapter;
8
- private renderer;
6
+ export declare class ClrExpandableAnimation extends BaseExpandableAnimation {
9
7
  clrExpandTrigger: boolean;
10
- startHeight: number;
11
8
  constructor(element: ElementRef<HTMLElement>, domAdapter: DomAdapter, renderer: Renderer2);
12
9
  get expandAnimation(): {
13
10
  value: boolean;
@@ -17,7 +14,6 @@ export declare class ClrExpandableAnimation {
17
14
  };
18
15
  animationStart(event: AnimationEvent): void;
19
16
  animationDone(event: AnimationEvent): void;
20
- updateStartHeight(): void;
21
17
  static ɵfac: i0.ɵɵFactoryDeclaration<ClrExpandableAnimation, never>;
22
18
  static ɵcmp: i0.ɵɵComponentDeclaration<ClrExpandableAnimation, "clr-expandable-animation", never, { "clrExpandTrigger": "clrExpandTrigger"; }, {}, never, ["*"], false, never>;
23
19
  }
@@ -0,0 +1,16 @@
1
+ import { AnimationBuilder } from '@angular/animations';
2
+ import { ElementRef, OnChanges, OnDestroy, Renderer2, SimpleChanges } from '@angular/core';
3
+ import { DomAdapter } from '../../dom-adapter/dom-adapter';
4
+ import { BaseExpandableAnimation } from './base-expandable-animation';
5
+ import * as i0 from "@angular/core";
6
+ export declare class ClrExpandableAnimationDirective extends BaseExpandableAnimation implements OnChanges, OnDestroy {
7
+ private builder;
8
+ expanded: boolean;
9
+ private player;
10
+ constructor(element: ElementRef<HTMLElement>, domAdapter: DomAdapter, renderer: Renderer2, builder: AnimationBuilder);
11
+ ngOnChanges(changes: SimpleChanges): void;
12
+ ngOnDestroy(): void;
13
+ playAnimation(): void;
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<ClrExpandableAnimationDirective, never>;
15
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ClrExpandableAnimationDirective, "[clrExpandableAnimation]", never, { "expanded": "clrExpandableAnimation"; }, {}, never, never, false, never>;
16
+ }
@@ -1,8 +1,9 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import * as i1 from "./expandable-animation";
3
- import * as i2 from "@angular/common";
3
+ import * as i2 from "./expandable-animation.directive";
4
+ import * as i3 from "@angular/common";
4
5
  export declare class ClrExpandableAnimationModule {
5
6
  static ɵfac: i0.ɵɵFactoryDeclaration<ClrExpandableAnimationModule, never>;
6
- static ɵmod: i0.ɵɵNgModuleDeclaration<ClrExpandableAnimationModule, [typeof i1.ClrExpandableAnimation], [typeof i2.CommonModule], [typeof i1.ClrExpandableAnimation]>;
7
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ClrExpandableAnimationModule, [typeof i1.ClrExpandableAnimation, typeof i2.ClrExpandableAnimationDirective], [typeof i3.CommonModule], [typeof i1.ClrExpandableAnimation, typeof i2.ClrExpandableAnimationDirective]>;
7
8
  static ɵinj: i0.ɵɵInjectorDeclaration<ClrExpandableAnimationModule>;
8
9
  }
@@ -1,3 +1,4 @@
1
1
  import { Type } from '@angular/core';
2
2
  export * from './expandable-animation';
3
+ export * from './base-expandable-animation';
3
4
  export declare const EXPANDABLE_ANIMATION_DIRECTIVES: Type<any>[];
@@ -10,7 +10,7 @@ import { ClrWizardTitle } from './wizard-title';
10
10
  import * as i0 from "@angular/core";
11
11
  export declare class ClrWizard implements OnDestroy, AfterContentInit, DoCheck {
12
12
  private platformId;
13
- private commonStrings;
13
+ commonStrings: ClrCommonStringsService;
14
14
  navService: WizardNavigationService;
15
15
  pageCollection: PageCollectionService;
16
16
  buttonService: ButtonHubService;
@@ -24,6 +24,15 @@ export declare class ClrWizard implements OnDestroy, AfterContentInit, DoCheck {
24
24
  * Set the modal size of the wizard. Set using `[clrWizardSize]` input.
25
25
  */
26
26
  size: string;
27
+ /**
28
+ * Enable "in page" wizard. Set using `[clrWizardInPage]` input.
29
+ */
30
+ inPage: boolean;
31
+ /**
32
+ * Make an "in page" wizard fill the `.content-area`. Set using `[clrWizardInPageFillContentArea]` input.
33
+ * If you can't use this option, you will likely need to provide custom CSS to set the wizard's height and margins.
34
+ */
35
+ inPageFillContentArea: boolean;
27
36
  /**
28
37
  * Tells the modal part of the wizard whether it should have a close "X"
29
38
  * in the top right corner. Set using `[clrWizardClosable]` input.
@@ -78,6 +87,7 @@ export declare class ClrWizard implements OnDestroy, AfterContentInit, DoCheck {
78
87
  _open: boolean;
79
88
  wizardId: string;
80
89
  protected wizardTitle: ClrWizardTitle;
90
+ private readonly bodyElementRef;
81
91
  private _forceForward;
82
92
  private _stopNext;
83
93
  private _stopCancel;
@@ -242,5 +252,5 @@ export declare class ClrWizard implements OnDestroy, AfterContentInit, DoCheck {
242
252
  private initializeButtons;
243
253
  private emitWizardFinished;
244
254
  static ɵfac: i0.ɵɵFactoryDeclaration<ClrWizard, never>;
245
- static ɵcmp: i0.ɵɵComponentDeclaration<ClrWizard, "clr-wizard", never, { "stepnavAriaLabel": "clrWizardStepnavAriaLabel"; "size": "clrWizardSize"; "closable": "clrWizardClosable"; "_stopModalAnimations": "clrWizardPreventModalAnimation"; "forceForward": "clrWizardForceForwardNavigation"; "clrWizardOpen": "clrWizardOpen"; "stopNext": "clrWizardPreventDefaultNext"; "stopCancel": "clrWizardPreventDefaultCancel"; "stopNavigation": "clrWizardPreventNavigation"; "disableStepnav": "clrWizardDisableStepnav"; }, { "_openChanged": "clrWizardOpenChange"; "onCancel": "clrWizardOnCancel"; "wizardFinished": "clrWizardOnFinish"; "onReset": "clrWizardOnReset"; "currentPageChanged": "clrWizardCurrentPageChanged"; "onMoveNext": "clrWizardOnNext"; "onMovePrevious": "clrWizardOnPrevious"; }, ["wizardTitle", "pages", "headerActions"], ["clr-wizard-title", "clr-wizard-header-action", "*", "clr-wizard-button"], false, never>;
255
+ static ɵcmp: i0.ɵɵComponentDeclaration<ClrWizard, "clr-wizard", never, { "stepnavAriaLabel": "clrWizardStepnavAriaLabel"; "size": "clrWizardSize"; "inPage": "clrWizardInPage"; "inPageFillContentArea": "clrWizardInPageFillContentArea"; "closable": "clrWizardClosable"; "_stopModalAnimations": "clrWizardPreventModalAnimation"; "forceForward": "clrWizardForceForwardNavigation"; "clrWizardOpen": "clrWizardOpen"; "stopNext": "clrWizardPreventDefaultNext"; "stopCancel": "clrWizardPreventDefaultCancel"; "stopNavigation": "clrWizardPreventNavigation"; "disableStepnav": "clrWizardDisableStepnav"; }, { "_openChanged": "clrWizardOpenChange"; "onCancel": "clrWizardOnCancel"; "wizardFinished": "clrWizardOnFinish"; "onReset": "clrWizardOnReset"; "currentPageChanged": "clrWizardCurrentPageChanged"; "onMoveNext": "clrWizardOnNext"; "onMovePrevious": "clrWizardOnPrevious"; }, ["wizardTitle", "pages", "headerActions"], ["clr-wizard-title", "clr-wizard-header-action", "*", "clr-wizard-button"], false, never>;
246
256
  }