@clr/angular 17.4.0 → 17.5.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 (71) hide show
  1. package/accordion/accordion-panel.d.ts +11 -3
  2. package/clarity.api.md +150 -51
  3. package/esm2020/accordion/accordion-panel.mjs +25 -7
  4. package/esm2020/accordion/stepper/stepper-panel.mjs +2 -2
  5. package/esm2020/data/datagrid/built-in/filters/datagrid-numeric-filter.mjs +1 -1
  6. package/esm2020/data/datagrid/datagrid-column-toggle.mjs +1 -1
  7. package/esm2020/data/datagrid/datagrid-footer.mjs +1 -1
  8. package/esm2020/data/datagrid/datagrid-page-size.mjs +1 -1
  9. package/esm2020/data/datagrid/datagrid-row.mjs +9 -11
  10. package/esm2020/data/datagrid/datagrid-virtual-scroll.directive.mjs +58 -6
  11. package/esm2020/data/datagrid/datagrid.mjs +1 -1
  12. package/esm2020/forms/checkbox/checkbox-container.mjs +1 -1
  13. package/esm2020/forms/checkbox/checkbox-wrapper.mjs +1 -1
  14. package/esm2020/forms/combobox/combobox-container.mjs +1 -1
  15. package/esm2020/forms/common/control-container.mjs +1 -1
  16. package/esm2020/forms/common/label.mjs +34 -5
  17. package/esm2020/forms/datalist/datalist-container.mjs +1 -1
  18. package/esm2020/forms/datepicker/date-container.mjs +1 -1
  19. package/esm2020/forms/datepicker/day.mjs +4 -1
  20. package/esm2020/forms/file-input/file-input-container.mjs +3 -3
  21. package/esm2020/forms/file-input/file-input.mjs +3 -2
  22. package/esm2020/forms/input/input-container.mjs +1 -1
  23. package/esm2020/forms/password/password-container.mjs +1 -1
  24. package/esm2020/forms/radio/radio-container.mjs +1 -1
  25. package/esm2020/forms/radio/radio-wrapper.mjs +1 -1
  26. package/esm2020/forms/range/range-container.mjs +1 -1
  27. package/esm2020/forms/select/select-container.mjs +1 -1
  28. package/esm2020/forms/textarea/textarea-container.mjs +1 -1
  29. package/esm2020/layout/breadcrumbs/breadcrumb-item.mjs +24 -0
  30. package/esm2020/layout/breadcrumbs/breadcrumbs.constants.mjs +8 -0
  31. package/esm2020/layout/breadcrumbs/breadcrumbs.mjs +46 -0
  32. package/esm2020/layout/breadcrumbs/breadcrumbs.module.mjs +28 -0
  33. package/esm2020/layout/breadcrumbs/index.mjs +10 -0
  34. package/esm2020/layout/breadcrumbs/model/breadcrumbs.model.mjs +8 -0
  35. package/esm2020/layout/index.mjs +2 -1
  36. package/esm2020/layout/layout.module.mjs +5 -4
  37. package/esm2020/layout/tabs/index.mjs +3 -1
  38. package/esm2020/layout/tabs/tab-action.directive.mjs +22 -0
  39. package/esm2020/layout/tabs/tabs-actions.mjs +39 -0
  40. package/esm2020/layout/tabs/tabs.mjs +26 -7
  41. package/esm2020/layout/tabs/tabs.module.mjs +9 -1
  42. package/esm2020/popover/signpost/index.mjs +2 -1
  43. package/esm2020/popover/signpost/signpost-content.mjs +10 -5
  44. package/esm2020/popover/signpost/signpost-title.mjs +21 -0
  45. package/esm2020/popover/signpost/signpost.module.mjs +15 -3
  46. package/esm2020/utils/i18n/common-strings.default.mjs +5 -2
  47. package/esm2020/utils/i18n/common-strings.interface.mjs +1 -1
  48. package/fesm2015/clr-angular.mjs +16873 -16552
  49. package/fesm2015/clr-angular.mjs.map +1 -1
  50. package/fesm2020/clr-angular.mjs +16833 -16516
  51. package/fesm2020/clr-angular.mjs.map +1 -1
  52. package/forms/common/label.d.ts +11 -1
  53. package/layout/breadcrumbs/breadcrumb-item.d.ts +5 -0
  54. package/layout/breadcrumbs/breadcrumbs.constants.d.ts +1 -0
  55. package/layout/breadcrumbs/breadcrumbs.d.ts +17 -0
  56. package/layout/breadcrumbs/breadcrumbs.module.d.ts +12 -0
  57. package/layout/breadcrumbs/index.d.ts +3 -0
  58. package/layout/breadcrumbs/model/breadcrumbs.model.d.ts +9 -0
  59. package/layout/index.d.ts +1 -0
  60. package/layout/layout.module.d.ts +2 -1
  61. package/layout/tabs/index.d.ts +3 -0
  62. package/layout/tabs/tab-action.directive.d.ts +5 -0
  63. package/layout/tabs/tabs-actions.d.ts +7 -0
  64. package/layout/tabs/tabs.d.ts +5 -2
  65. package/layout/tabs/tabs.module.d.ts +10 -8
  66. package/package.json +5 -5
  67. package/popover/signpost/index.d.ts +1 -0
  68. package/popover/signpost/signpost-content.d.ts +2 -1
  69. package/popover/signpost/signpost-title.d.ts +5 -0
  70. package/popover/signpost/signpost.module.d.ts +6 -5
  71. package/utils/i18n/common-strings.interface.d.ts +2 -0
@@ -9,7 +9,10 @@ export declare class ClrLabel implements OnInit, OnDestroy {
9
9
  private ngControlService;
10
10
  private renderer;
11
11
  private el;
12
+ idInput: string;
13
+ idAttr: string;
12
14
  forAttr: string;
15
+ private signpost;
13
16
  private enableGrid;
14
17
  private subscriptions;
15
18
  constructor(controlIdService: ControlIdService, layoutService: LayoutService, ngControlService: NgControlService, renderer: Renderer2, el: ElementRef<HTMLLabelElement>);
@@ -17,6 +20,13 @@ export declare class ClrLabel implements OnInit, OnDestroy {
17
20
  ngOnInit(): void;
18
21
  ngOnDestroy(): void;
19
22
  disableGrid(): void;
23
+ /**
24
+ * Allowing signposts inside labels to work without disabling default behavior. <label> is spreading a click event to its children so signposts get
25
+ * automatically closed once clicked inside a <label>.
26
+ * @param event
27
+ */
28
+ private onClick;
29
+ private preventDefaultOnSignpostTarget;
20
30
  static ɵfac: i0.ɵɵFactoryDeclaration<ClrLabel, [{ optional: true; }, { optional: true; }, { optional: true; }, null, null]>;
21
- static ɵdir: i0.ɵɵDirectiveDeclaration<ClrLabel, "label", never, { "forAttr": "for"; }, {}, never, never, false, never>;
31
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ClrLabel, "label", never, { "idInput": "id"; "forAttr": "for"; }, {}, ["signpost"], never, false, never>;
22
32
  }
@@ -0,0 +1,5 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class ClrBreadcrumbItem {
3
+ static ɵfac: i0.ɵɵFactoryDeclaration<ClrBreadcrumbItem, never>;
4
+ static ɵcmp: i0.ɵɵComponentDeclaration<ClrBreadcrumbItem, "clr-breadcrumb-item", never, {}, {}, never, ["*"], false, never>;
5
+ }
@@ -0,0 +1 @@
1
+ export declare const MAX_DISPLAY_ITEMS = 3;
@@ -0,0 +1,17 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ import { ClrCommonStringsService } from '../../utils/i18n/common-strings.service';
3
+ import { BreadcrumbItem } from './model/breadcrumbs.model';
4
+ import * as i0 from "@angular/core";
5
+ export declare class ClrBreadcrumbs {
6
+ protected commonStrings: ClrCommonStringsService;
7
+ isExpanded: boolean;
8
+ items: BreadcrumbItem[];
9
+ clrBreadcrumbItemClick: EventEmitter<BreadcrumbItem>;
10
+ protected limit: number;
11
+ protected max: number;
12
+ constructor(commonStrings: ClrCommonStringsService);
13
+ protected expand(): void;
14
+ protected handleItemClick(breadcrumb: BreadcrumbItem): void;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<ClrBreadcrumbs, never>;
16
+ static ɵcmp: i0.ɵɵComponentDeclaration<ClrBreadcrumbs, "clr-breadcrumbs", never, { "items": "items"; }, { "clrBreadcrumbItemClick": "clrBreadcrumbItemClick"; }, never, never, false, never>;
17
+ }
@@ -0,0 +1,12 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./breadcrumbs";
3
+ import * as i2 from "./breadcrumb-item";
4
+ import * as i3 from "@angular/common";
5
+ import * as i4 from "../../icon/icon.module";
6
+ import * as i5 from "../../utils/host-wrapping/host-wrapping.module";
7
+ import * as i6 from "@angular/router";
8
+ export declare class ClrBreadcrumbsModule {
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<ClrBreadcrumbsModule, never>;
10
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ClrBreadcrumbsModule, [typeof i1.ClrBreadcrumbs, typeof i2.ClrBreadcrumbItem], [typeof i3.CommonModule, typeof i4.ClrIconModule, typeof i5.ClrHostWrappingModule, typeof i6.RouterModule], [typeof i1.ClrBreadcrumbs]>;
11
+ static ɵinj: i0.ɵɵInjectorDeclaration<ClrBreadcrumbsModule>;
12
+ }
@@ -0,0 +1,3 @@
1
+ export * from './breadcrumbs';
2
+ export * from './breadcrumb-item';
3
+ export * from './breadcrumbs.module';
@@ -0,0 +1,9 @@
1
+ export interface BreadcrumbItem {
2
+ label: string;
3
+ href?: string;
4
+ routerLink?: string;
5
+ queryParams?: {
6
+ [key: string]: string;
7
+ };
8
+ target?: string;
9
+ }
package/layout/index.d.ts CHANGED
@@ -3,3 +3,4 @@ export * from './main-container/index';
3
3
  export * from './nav/index';
4
4
  export * from './tabs/index';
5
5
  export * from './vertical-nav/index';
6
+ export * from './breadcrumbs/index';
@@ -3,8 +3,9 @@ import * as i1 from "./main-container/main-container.module";
3
3
  import * as i2 from "./nav/navigation.module";
4
4
  import * as i3 from "./tabs/tabs.module";
5
5
  import * as i4 from "./vertical-nav/vertical-nav.module";
6
+ import * as i5 from "./breadcrumbs/breadcrumbs.module";
6
7
  export declare class ClrLayoutModule {
7
8
  static ɵfac: i0.ɵɵFactoryDeclaration<ClrLayoutModule, never>;
8
- static ɵmod: i0.ɵɵNgModuleDeclaration<ClrLayoutModule, never, never, [typeof i1.ClrMainContainerModule, typeof i2.ClrNavigationModule, typeof i3.ClrTabsModule, typeof i4.ClrVerticalNavModule]>;
9
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ClrLayoutModule, never, never, [typeof i1.ClrMainContainerModule, typeof i2.ClrNavigationModule, typeof i3.ClrTabsModule, typeof i4.ClrVerticalNavModule, typeof i5.ClrBreadcrumbsModule]>;
9
10
  static ɵinj: i0.ɵɵInjectorDeclaration<ClrLayoutModule>;
10
11
  }
@@ -1,8 +1,11 @@
1
1
  export * from './tabs';
2
+ export * from './tabs-actions';
2
3
  export * from './tab';
3
4
  export * from './tab-content';
4
5
  export * from './tab-overflow-content';
5
6
  export * from './tab-link.directive';
7
+ export * from './tab-action.directive';
6
8
  export * from './tabs.module';
9
+ export { ClrTabsActionsPosition } from './tabs-actions';
7
10
  export { TabsWillyWonka as ÇlrTabsWillyWonka } from './chocolate/tabs-willy-wonka';
8
11
  export { ActiveOompaLoompa as ÇlrActiveOompaLoompa } from './chocolate/active-oompa-loompa';
@@ -0,0 +1,5 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class ClrTabAction {
3
+ static ɵfac: i0.ɵɵFactoryDeclaration<ClrTabAction, never>;
4
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ClrTabAction, "[clrTabAction]", never, {}, {}, never, never, false, never>;
5
+ }
@@ -0,0 +1,7 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare type ClrTabsActionsPosition = 'left' | 'right';
3
+ export declare class ClrTabsActions {
4
+ position: ClrTabsActionsPosition;
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<ClrTabsActions, never>;
6
+ static ɵcmp: i0.ɵɵComponentDeclaration<ClrTabsActions, "clr-tabs-actions", never, { "position": "position"; }, {}, never, ["*"], false, never>;
7
+ }
@@ -1,4 +1,4 @@
1
- import { AfterContentInit, ElementRef, OnDestroy } from '@angular/core';
1
+ import { AfterContentInit, ElementRef, OnDestroy, QueryList } from '@angular/core';
2
2
  import { IfActiveService } from '../../utils/conditional/if-active.service';
3
3
  import { ClrKeyFocus } from '../../utils/focus/key-focus/key-focus';
4
4
  import { ClrCommonStringsService } from '../../utils/i18n/common-strings.service';
@@ -17,6 +17,7 @@ export declare class ClrTabs implements AfterContentInit, OnDestroy {
17
17
  tabLinkElements: HTMLElement[];
18
18
  _mousedown: boolean;
19
19
  keyFocus: ClrKeyFocus;
20
+ tabsActions: QueryList<ElementRef>;
20
21
  private tabs;
21
22
  private subscriptions;
22
23
  private _tabOverflowEl;
@@ -41,7 +42,9 @@ export declare class ClrTabs implements AfterContentInit, OnDestroy {
41
42
  closeOnFocusOut(event: FocusEvent): void;
42
43
  closeOnEscapeKey(): void;
43
44
  closeOnOutsideClick(event: Event, tabOverflowTrigger: HTMLElement): void;
45
+ private setTabLinkElements;
44
46
  private listenForTabLinkChanges;
47
+ private listedForTabsActionsChanges;
45
48
  static ɵfac: i0.ɵɵFactoryDeclaration<ClrTabs, never>;
46
- static ɵcmp: i0.ɵɵComponentDeclaration<ClrTabs, "clr-tabs", never, { "layout": "clrLayout"; }, {}, ["tabs"], never, false, [{ directive: typeof i1.ClrPopoverHostDirective; inputs: {}; outputs: {}; }]>;
49
+ static ɵcmp: i0.ɵɵComponentDeclaration<ClrTabs, "clr-tabs", never, { "layout": "clrLayout"; }, {}, ["tabsActions", "tabs"], ["clr-tabs-actions"], false, [{ directive: typeof i1.ClrPopoverHostDirective; inputs: {}; outputs: {}; }]>;
47
50
  }
@@ -5,17 +5,19 @@ import * as i2 from "./tab";
5
5
  import * as i3 from "./tabs";
6
6
  import * as i4 from "./tab-overflow-content";
7
7
  import * as i5 from "./tab-link.directive";
8
- import * as i6 from "./chocolate/tabs-willy-wonka";
9
- import * as i7 from "./chocolate/active-oompa-loompa";
10
- import * as i8 from "@angular/common";
11
- import * as i9 from "../../utils/conditional/conditional.module";
12
- import * as i10 from "../../icon/icon.module";
13
- import * as i11 from "../../utils/template-ref/template-ref.module";
14
- import * as i12 from "../../utils/focus/key-focus/key-focus.module";
8
+ import * as i6 from "./tab-action.directive";
9
+ import * as i7 from "./tabs-actions";
10
+ import * as i8 from "./chocolate/tabs-willy-wonka";
11
+ import * as i9 from "./chocolate/active-oompa-loompa";
12
+ import * as i10 from "@angular/common";
13
+ import * as i11 from "../../utils/conditional/conditional.module";
14
+ import * as i12 from "../../icon/icon.module";
15
+ import * as i13 from "../../utils/template-ref/template-ref.module";
16
+ import * as i14 from "../../utils/focus/key-focus/key-focus.module";
15
17
  export declare const CLR_TABS_DIRECTIVES: Type<any>[];
16
18
  export declare class ClrTabsModule {
17
19
  constructor();
18
20
  static ɵfac: i0.ɵɵFactoryDeclaration<ClrTabsModule, never>;
19
- static ɵmod: i0.ɵɵNgModuleDeclaration<ClrTabsModule, [typeof i1.ClrTabContent, typeof i2.ClrTab, typeof i3.ClrTabs, typeof i4.ClrTabOverflowContent, typeof i5.ClrTabLink, typeof i6.TabsWillyWonka, typeof i7.ActiveOompaLoompa], [typeof i8.CommonModule, typeof i9.ClrConditionalModule, typeof i10.ClrIconModule, typeof i11.ClrTemplateRefModule, typeof i12.ClrKeyFocusModule], [typeof i1.ClrTabContent, typeof i2.ClrTab, typeof i3.ClrTabs, typeof i4.ClrTabOverflowContent, typeof i5.ClrTabLink, typeof i6.TabsWillyWonka, typeof i7.ActiveOompaLoompa, typeof i9.ClrConditionalModule]>;
21
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ClrTabsModule, [typeof i1.ClrTabContent, typeof i2.ClrTab, typeof i3.ClrTabs, typeof i4.ClrTabOverflowContent, typeof i5.ClrTabLink, typeof i6.ClrTabAction, typeof i7.ClrTabsActions, typeof i8.TabsWillyWonka, typeof i9.ActiveOompaLoompa], [typeof i10.CommonModule, typeof i11.ClrConditionalModule, typeof i12.ClrIconModule, typeof i13.ClrTemplateRefModule, typeof i14.ClrKeyFocusModule], [typeof i1.ClrTabContent, typeof i2.ClrTab, typeof i3.ClrTabs, typeof i4.ClrTabOverflowContent, typeof i5.ClrTabLink, typeof i6.ClrTabAction, typeof i7.ClrTabsActions, typeof i8.TabsWillyWonka, typeof i9.ActiveOompaLoompa, typeof i11.ClrConditionalModule]>;
20
22
  static ɵinj: i0.ɵɵInjectorDeclaration<ClrTabsModule>;
21
23
  }
package/package.json CHANGED
@@ -18,11 +18,11 @@
18
18
  "url": "https://github.com/vmware-clarity/ng-clarity/issues"
19
19
  },
20
20
  "peerDependencies": {
21
- "@angular/cdk": "15 || 16 || 17 || 18",
22
- "@angular/common": "15 || 16 || 17 || 18",
23
- "@angular/core": "15 || 16 || 17 || 18",
21
+ "@angular/cdk": "15 || 16 || 17 || 18 || 19",
22
+ "@angular/common": "15 || 16 || 17 || 18 || 19",
23
+ "@angular/core": "15 || 16 || 17 || 18 || 19",
24
24
  "@cds/core": ">= 6.9.2",
25
- "@clr/ui": "17.4.0"
25
+ "@clr/ui": "17.5.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.4.0"
50
+ "version": "17.5.0"
51
51
  }
@@ -1,4 +1,5 @@
1
1
  export * from './signpost';
2
2
  export * from './signpost-content';
3
+ export * from './signpost-title';
3
4
  export * from './signpost-trigger';
4
5
  export * from './signpost.module';
@@ -8,6 +8,7 @@ export declare class ClrSignpostContent extends AbstractPopover implements OnDes
8
8
  commonStrings: ClrCommonStringsService;
9
9
  private signpostFocusManager;
10
10
  private platformId;
11
+ signpostCloseAriaLabel: string;
11
12
  signpostContentId: string;
12
13
  private document;
13
14
  private _position;
@@ -52,5 +53,5 @@ export declare class ClrSignpostContent extends AbstractPopover implements OnDes
52
53
  close(): void;
53
54
  ngOnDestroy(): void;
54
55
  static ɵfac: i0.ɵɵFactoryDeclaration<ClrSignpostContent, [null, { optional: true; }, null, null, null, null, null]>;
55
- static ɵcmp: i0.ɵɵComponentDeclaration<ClrSignpostContent, "clr-signpost-content", never, { "position": "clrPosition"; }, {}, never, ["*"], false, never>;
56
+ static ɵcmp: i0.ɵɵComponentDeclaration<ClrSignpostContent, "clr-signpost-content", never, { "signpostCloseAriaLabel": "clrSignpostCloseAriaLabel"; "position": "clrPosition"; }, {}, never, ["clr-signpost-title", "*"], false, never>;
56
57
  }
@@ -0,0 +1,5 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class ClrSignpostTitle {
3
+ static ɵfac: i0.ɵɵFactoryDeclaration<ClrSignpostTitle, never>;
4
+ static ɵcmp: i0.ɵɵComponentDeclaration<ClrSignpostTitle, "clr-signpost-title", never, {}, {}, never, ["*"], false, never>;
5
+ }
@@ -3,14 +3,15 @@ import * as i0 from "@angular/core";
3
3
  import * as i1 from "./signpost";
4
4
  import * as i2 from "./signpost-content";
5
5
  import * as i3 from "./signpost-trigger";
6
- import * as i4 from "@angular/common";
7
- import * as i5 from "../../icon/icon.module";
8
- import * as i6 from "../../utils/focus/focus-on-view-init/focus-on-view-init.module";
9
- import * as i7 from "../../utils/conditional/conditional.module";
6
+ import * as i4 from "./signpost-title";
7
+ import * as i5 from "@angular/common";
8
+ import * as i6 from "../../icon/icon.module";
9
+ import * as i7 from "../../utils/focus/focus-on-view-init/focus-on-view-init.module";
10
+ import * as i8 from "../../utils/conditional/conditional.module";
10
11
  export declare const CLR_SIGNPOST_DIRECTIVES: Type<any>[];
11
12
  export declare class ClrSignpostModule {
12
13
  constructor();
13
14
  static ɵfac: i0.ɵɵFactoryDeclaration<ClrSignpostModule, never>;
14
- static ɵmod: i0.ɵɵNgModuleDeclaration<ClrSignpostModule, [typeof i1.ClrSignpost, typeof i2.ClrSignpostContent, typeof i3.ClrSignpostTrigger], [typeof i4.CommonModule, typeof i5.ClrIconModule, typeof i6.ClrFocusOnViewInitModule], [typeof i1.ClrSignpost, typeof i2.ClrSignpostContent, typeof i3.ClrSignpostTrigger, typeof i7.ClrConditionalModule]>;
15
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ClrSignpostModule, [typeof i1.ClrSignpost, typeof i2.ClrSignpostContent, typeof i3.ClrSignpostTrigger, typeof i4.ClrSignpostTitle], [typeof i5.CommonModule, typeof i6.ClrIconModule, typeof i7.ClrFocusOnViewInitModule], [typeof i1.ClrSignpost, typeof i2.ClrSignpostContent, typeof i3.ClrSignpostTrigger, typeof i4.ClrSignpostTitle, typeof i8.ClrConditionalModule]>;
15
16
  static ɵinj: i0.ɵɵInjectorDeclaration<ClrSignpostModule>;
16
17
  }
@@ -284,4 +284,6 @@ export interface ClrCommonStrings {
284
284
  clearFiles: string;
285
285
  selectedTreeNode: string;
286
286
  unselectedTreeNode: string;
287
+ breadcrumbsLabel: string;
288
+ expandBreadcrumbsLabel: string;
287
289
  }