cmat 0.0.42 → 0.0.44

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 (92) hide show
  1. package/animations/dropdown.css +16 -0
  2. package/animations/expand-collapse.css +27 -0
  3. package/animations/fade.css +105 -0
  4. package/animations/shake.css +9 -0
  5. package/animations/slide.css +71 -0
  6. package/animations/zoom.css +21 -0
  7. package/components/drawer/index.d.ts +2 -2
  8. package/components/image-viewer/index.d.ts +9 -17
  9. package/components/material-datetimepicker/index.d.ts +19 -13
  10. package/components/navigation/index.d.ts +0 -2
  11. package/components/password-strength/index.d.ts +7 -2
  12. package/components/popover/index.d.ts +3 -3
  13. package/fesm2022/cmat-components-adapter.mjs +9 -9
  14. package/fesm2022/cmat-components-breadcrumb.mjs +9 -9
  15. package/fesm2022/cmat-components-card.mjs +4 -5
  16. package/fesm2022/cmat-components-card.mjs.map +1 -1
  17. package/fesm2022/cmat-components-carousel.mjs +12 -12
  18. package/fesm2022/cmat-components-cascade.mjs +10 -11
  19. package/fesm2022/cmat-components-cascade.mjs.map +1 -1
  20. package/fesm2022/cmat-components-chip-input.mjs +3 -3
  21. package/fesm2022/cmat-components-custom-formly.mjs +88 -88
  22. package/fesm2022/cmat-components-custom-formly.mjs.map +1 -1
  23. package/fesm2022/cmat-components-date-range.mjs +3 -3
  24. package/fesm2022/cmat-components-drawer.mjs +28 -39
  25. package/fesm2022/cmat-components-drawer.mjs.map +1 -1
  26. package/fesm2022/cmat-components-fullscreen.mjs +3 -3
  27. package/fesm2022/cmat-components-highlight.mjs +6 -6
  28. package/fesm2022/cmat-components-image-viewer.mjs +49 -73
  29. package/fesm2022/cmat-components-image-viewer.mjs.map +1 -1
  30. package/fesm2022/cmat-components-json-editor.mjs +3 -3
  31. package/fesm2022/cmat-components-knob-input.mjs +3 -3
  32. package/fesm2022/cmat-components-masonry.mjs +4 -5
  33. package/fesm2022/cmat-components-masonry.mjs.map +1 -1
  34. package/fesm2022/cmat-components-material-color-picker.mjs +4 -5
  35. package/fesm2022/cmat-components-material-color-picker.mjs.map +1 -1
  36. package/fesm2022/cmat-components-material-datetimepicker.mjs +130 -111
  37. package/fesm2022/cmat-components-material-datetimepicker.mjs.map +1 -1
  38. package/fesm2022/cmat-components-navigation.mjs +75 -100
  39. package/fesm2022/cmat-components-navigation.mjs.map +1 -1
  40. package/fesm2022/cmat-components-opt-input.mjs +3 -3
  41. package/fesm2022/cmat-components-org-chart.mjs +9 -9
  42. package/fesm2022/cmat-components-pagination.mjs +12 -12
  43. package/fesm2022/cmat-components-password-strength.mjs +69 -163
  44. package/fesm2022/cmat-components-password-strength.mjs.map +1 -1
  45. package/fesm2022/cmat-components-popover.mjs +16 -11
  46. package/fesm2022/cmat-components-popover.mjs.map +1 -1
  47. package/fesm2022/cmat-components-progress-bar.mjs +3 -3
  48. package/fesm2022/cmat-components-qrcode.mjs +3 -3
  49. package/fesm2022/cmat-components-rating.mjs +3 -3
  50. package/fesm2022/cmat-components-select-search.mjs +9 -9
  51. package/fesm2022/cmat-components-select-table.mjs +3 -3
  52. package/fesm2022/cmat-components-select-tree.mjs +3 -3
  53. package/fesm2022/cmat-components-speed-dial.mjs +9 -9
  54. package/fesm2022/cmat-components-timeline.mjs +12 -12
  55. package/fesm2022/cmat-components-toast.mjs +9 -9
  56. package/fesm2022/cmat-components-transfer-picker.mjs +18 -18
  57. package/fesm2022/cmat-components-treetable.mjs +6 -6
  58. package/fesm2022/cmat-components-upload.mjs +9 -9
  59. package/fesm2022/cmat-directives-animate-on-scroll.mjs +6 -6
  60. package/fesm2022/cmat-directives-arrow-cursor.mjs +3 -3
  61. package/fesm2022/cmat-directives-autofocus.mjs +3 -3
  62. package/fesm2022/cmat-directives-data-exporter.mjs +21 -21
  63. package/fesm2022/cmat-directives-debounce.mjs +9 -9
  64. package/fesm2022/cmat-directives-digit-only.mjs +6 -6
  65. package/fesm2022/cmat-directives-equal-validator.mjs +3 -3
  66. package/fesm2022/cmat-lib-mock-api.mjs +6 -6
  67. package/fesm2022/cmat-pipes-bytes.mjs +3 -3
  68. package/fesm2022/cmat-pipes-date-format.mjs +3 -3
  69. package/fesm2022/cmat-pipes-find-by-key.mjs +3 -3
  70. package/fesm2022/cmat-pipes-group-by.mjs +3 -3
  71. package/fesm2022/cmat-pipes-keys.mjs +3 -3
  72. package/fesm2022/cmat-pipes-secure.mjs +3 -3
  73. package/fesm2022/cmat-pipes-uppercase.mjs +3 -3
  74. package/fesm2022/cmat-services-alert.mjs +3 -3
  75. package/fesm2022/cmat-services-config.mjs +6 -6
  76. package/fesm2022/cmat-services-confirmation.mjs +6 -6
  77. package/fesm2022/cmat-services-data.mjs +3 -3
  78. package/fesm2022/cmat-services-export-as.mjs +3 -3
  79. package/fesm2022/cmat-services-loading.mjs +6 -6
  80. package/fesm2022/cmat-services-local-storage.mjs +3 -3
  81. package/fesm2022/cmat-services-media-watcher.mjs +3 -3
  82. package/fesm2022/cmat-services-platform.mjs +3 -3
  83. package/fesm2022/cmat-services-splash-screen.mjs +3 -3
  84. package/fesm2022/cmat-services-title.mjs +3 -3
  85. package/fesm2022/cmat-services-translation.mjs +3 -3
  86. package/fesm2022/cmat-services-utils.mjs +3 -3
  87. package/package.json +56 -61
  88. package/styles/overrides/angular-material.scss +8 -3
  89. package/styles/themes.scss +8 -3
  90. package/animations/index.d.ts +0 -5
  91. package/fesm2022/cmat-animations.mjs +0 -466
  92. package/fesm2022/cmat-animations.mjs.map +0 -1
@@ -0,0 +1,16 @@
1
+ .dropdown-animation {
2
+ opacity: 0;
3
+ height: 0;
4
+ border: 0;
5
+ padding: 0;
6
+ visibility: hidden;
7
+ transition: all 250ms ease-out;
8
+ }
9
+
10
+ .dropdown-animation.open {
11
+ opacity: 1;
12
+ height: inherit;
13
+ border: inherit;
14
+ padding: inherit;
15
+ visibility: inherit;
16
+ }
@@ -0,0 +1,27 @@
1
+ .expand-collapse-animation {
2
+ display: grid !important;
3
+ grid-template-rows: 1fr;
4
+ overflow: hidden;
5
+ transition: grid-template-rows 225ms cubic-bezier(0.4, 0, 0.2, 1);
6
+
7
+ @starting-style {
8
+ grid-template-rows: 0fr;
9
+ }
10
+
11
+ &>div {
12
+ min-height: 0;
13
+ transition: opacity 225ms ease-in-out;
14
+ }
15
+ }
16
+
17
+ .expand-collapse-animation.collapsed {
18
+ grid-template-rows: 0fr;
19
+
20
+ &>div {
21
+ opacity: 0;
22
+ }
23
+ }
24
+
25
+ .expand-collapse-animation-leaving {
26
+ grid-template-rows: 0fr;
27
+ }
@@ -0,0 +1,105 @@
1
+ .fade-in-animation {
2
+ opacity: 1;
3
+ transition: opacity 225ms cubic-bezier(0.0, 0.0, 0.2, 1);
4
+
5
+ @starting-style {
6
+ opacity: 0;
7
+ }
8
+ }
9
+
10
+ .fade-in-top-animation {
11
+ opacity: 1;
12
+ transform: translate3d(0, 0, 0);
13
+ transition: all 225ms cubic-bezier(0.0, 0.0, 0.2, 1);
14
+
15
+ @starting-style {
16
+ opacity: 0;
17
+ transform: translate3d(0, -100%, 0);
18
+ }
19
+ }
20
+
21
+ .fade-in-bottom-animation {
22
+ opacity: 1;
23
+ transform: translate3d(0, 0, 0);
24
+ transition: all 225ms cubic-bezier(0.0, 0.0, 0.2, 1);
25
+
26
+ @starting-style {
27
+ opacity: 0;
28
+ transform: translate3d(0, 100%, 0);
29
+ }
30
+ }
31
+
32
+ .fade-in-left-animation {
33
+ opacity: 1;
34
+ transform: translate3d(0, 0, 0);
35
+ transition: all 225ms cubic-bezier(0.0, 0.0, 0.2, 1);
36
+
37
+ @starting-style {
38
+ opacity: 0;
39
+ transform: translate3d(-100%, 0, 0);
40
+ }
41
+ }
42
+
43
+ .fade-in-right-animation {
44
+ opacity: 1;
45
+ transform: translate3d(0, 0, 0);
46
+ transition: all 225ms cubic-bezier(0.0, 0.0, 0.2, 1);
47
+
48
+ @starting-style {
49
+ opacity: 0;
50
+ transform: translate3d(100%, 0, 0);
51
+ }
52
+ }
53
+
54
+ .fade-out-animation {
55
+ opacity: 0;
56
+ transition: opacity 195ms cubic-bezier(0.4, 0.0, 1, 1);
57
+
58
+ @starting-style {
59
+ opacity: 1;
60
+ }
61
+ }
62
+
63
+ .fade-out-top-animation {
64
+ opacity: 0;
65
+ transform: translate3d(0, -100%, 0);
66
+ transition: all 195ms cubic-bezier(0.4, 0.0, 1, 1);
67
+
68
+ @starting-style {
69
+ opacity: 1;
70
+ transform: translate3d(0, 0, 0);
71
+ }
72
+ }
73
+
74
+ .fade-out-bottom-animation {
75
+ opacity: 0;
76
+ transform: translate3d(0, 100%, 0);
77
+ transition: all 195ms cubic-bezier(0.4, 0.0, 1, 1);
78
+
79
+ @starting-style {
80
+ opacity: 1;
81
+ transform: translate3d(0, 0, 0);
82
+ }
83
+ }
84
+
85
+ .fade-out-left-animation {
86
+ opacity: 0;
87
+ transform: translate3d(-100%, 0, 0);
88
+ transition: all 195ms cubic-bezier(0.4, 0.0, 1, 1);
89
+
90
+ @starting-style {
91
+ opacity: 1;
92
+ transform: translate3d(0, 0, 0);
93
+ }
94
+ }
95
+
96
+ .fade-out-right-animation {
97
+ opacity: 0;
98
+ transform: translate3d(100%, 0, 0);
99
+ transition: all 195ms cubic-bezier(0.4, 0.0, 1, 1);
100
+
101
+ @starting-style {
102
+ opacity: 1;
103
+ transform: translate3d(0, 0, 0);
104
+ }
105
+ }
@@ -0,0 +1,9 @@
1
+ .shake-animation {
2
+ animation: shake 0.8s cubic-bezier(0.455, 0.03, 0.515, 0.955);
3
+ }
4
+
5
+ @keyframes shake {
6
+ 0%, 100% { transform: translate3d(0, 0, 0); }
7
+ 10%, 30%, 50%, 70%, 90% { transform: translate3d(-10px, 0, 0); }
8
+ 20%, 40%, 60%, 80% { transform: translate3d(10px, 0, 0); }
9
+ }
@@ -0,0 +1,71 @@
1
+ .slide-in-top-animation {
2
+ transform: translate3d(0, 0, 0);
3
+ transition: all 225ms cubic-bezier(0.0, 0.0, 0.2, 1);
4
+
5
+ @starting-style {
6
+ transform: translate3d(0, -100%, 0);
7
+ }
8
+ }
9
+
10
+ .slide-in-bottom-animation {
11
+ transform: translate3d(0, 0, 0);
12
+ transition: all 225ms cubic-bezier(0.0, 0.0, 0.2, 1);
13
+
14
+ @starting-style {
15
+ transform: translate3d(0, 100%, 0);
16
+ }
17
+ }
18
+
19
+ .slide-in-left-animation {
20
+ transform: translate3d(0, 0, 0);
21
+ transition: all 225ms cubic-bezier(0.0, 0.0, 0.2, 1);
22
+
23
+ @starting-style {
24
+ transform: translate3d(-100%, 0, 0);
25
+ }
26
+ }
27
+
28
+ .slide-in-right-animation {
29
+ transform: translate3d(0, 0, 0);
30
+ transition: all 225ms cubic-bezier(0.0, 0.0, 0.2, 1);
31
+
32
+ @starting-style {
33
+ transform: translate3d(100%, 0, 0);
34
+ }
35
+ }
36
+
37
+ .slide-out-top-animation {
38
+ transform: translate3d(0, -100%, 0);
39
+ transition: all 195ms cubic-bezier(0.4, 0.0, 1, 1);
40
+
41
+ @starting-style {
42
+ transform: translate3d(0, 0, 0);
43
+ }
44
+ }
45
+
46
+ .slide-out-bottom-animation {
47
+ transform: translate3d(0, 100%, 0);
48
+ transition: all 195ms cubic-bezier(0.4, 0.0, 1, 1);
49
+
50
+ @starting-style {
51
+ transform: translate3d(0, 0, 0);
52
+ }
53
+ }
54
+
55
+ .slide-out-left-animation {
56
+ transform: translate3d(-100%, 0, 0);
57
+ transition: all 195ms cubic-bezier(0.4, 0.0, 1, 1);
58
+
59
+ @starting-style {
60
+ transform: translate3d(0, 0, 0);
61
+ }
62
+ }
63
+
64
+ .slide-out-right-animation {
65
+ transform: translate3d(100%, 0, 0);
66
+ transition: all 195ms cubic-bezier(0.4, 0.0, 1, 1);
67
+
68
+ @starting-style {
69
+ transform: translate3d(0, 0, 0);
70
+ }
71
+ }
@@ -0,0 +1,21 @@
1
+ .zoom-in-animation {
2
+ opacity: 1;
3
+ transform: scale(1);
4
+ transition: all 225ms cubic-bezier(0.0, 0.0, 0.2, 1);
5
+
6
+ @starting-style {
7
+ opacity: 0;
8
+ transform: scale(0.5);
9
+ }
10
+ }
11
+
12
+ .zoom-out-animation {
13
+ opacity: 0;
14
+ transform: scale(0.5);
15
+ transition: all 195ms cubic-bezier(0.4, 0.0, 1, 1);
16
+
17
+ @starting-style {
18
+ opacity: 1;
19
+ transform: scale(1);
20
+ }
21
+ }
@@ -19,14 +19,14 @@ declare class CmatDrawerComponent implements OnChanges, OnInit, OnDestroy {
19
19
  readonly modeChanged: EventEmitter<CmatDrawerMode>;
20
20
  readonly openedChanged: EventEmitter<boolean>;
21
21
  readonly positionChanged: EventEmitter<CmatDrawerPosition>;
22
- private _animationBuilder;
23
22
  private _elementRef;
24
23
  private _renderer2;
25
24
  private _cmatDrawerService;
26
25
  private _animationsEnabled;
27
26
  private _hovered;
28
27
  private _overlay;
29
- private _player;
28
+ private _overlayClickDestroyFn;
29
+ private _changeDetectorRef;
30
30
  get classList(): any;
31
31
  get styleList(): any;
32
32
  onMouseenter(): void;
@@ -1,4 +1,3 @@
1
- import { AnimationEvent } from '@angular/animations';
2
1
  import * as i0 from '@angular/core';
3
2
  import { ElementRef, TemplateRef, EventEmitter } from '@angular/core';
4
3
  import { SafeUrl } from '@angular/platform-browser';
@@ -22,14 +21,6 @@ declare class CmatImageComponent {
22
21
  * 启动预览功能。
23
22
  */
24
23
  preview: boolean;
25
- /**
26
- * 切换时显示动画
27
- */
28
- showTransitionOptions: string;
29
- /**
30
- * 切换时隐藏动画
31
- */
32
- hideTransitionOptions: string;
33
24
  /**
34
25
  * 监听预览显示/隐藏.
35
26
  */
@@ -38,21 +29,24 @@ declare class CmatImageComponent {
38
29
  * 如果加载图像文件时发生错误,则会触发此事件.
39
30
  */
40
31
  imageErrorEvent: EventEmitter<Event>;
41
- mask: ElementRef | undefined;
42
- previewButton: ElementRef | undefined;
43
- closeButton: ElementRef | undefined;
44
32
  el: ElementRef<any>;
45
33
  maskVisible: boolean;
46
34
  previewVisible: boolean;
47
35
  rotate: number;
48
36
  scale: number;
49
- container: HTMLElement | void | null | undefined;
50
- wrapper: HTMLElement | void | null | undefined;
37
+ private _loadingPreview;
38
+ private _closePreviewByEscape;
51
39
  private _document;
52
40
  private _changeDetectorRef;
53
41
  private _zoomSettings;
54
42
  get isZoomOutDisabled(): boolean;
55
43
  get isZoomInDisabled(): boolean;
44
+ private _mask?;
45
+ set mask(value: ElementRef<HTMLDivElement> | undefined);
46
+ private _previewButton?;
47
+ set previewButton(value: ElementRef<HTMLButtonElement> | undefined);
48
+ private _closeButton?;
49
+ set closeButton(value: ElementRef<HTMLButtonElement> | undefined);
56
50
  onKeydownHandler(): void;
57
51
  onImageClick(): void;
58
52
  onMaskKeydown(event: KeyboardEvent): void;
@@ -61,8 +55,6 @@ declare class CmatImageComponent {
61
55
  rotateLeft(): void;
62
56
  zoomIn(): void;
63
57
  zoomOut(): void;
64
- onAnimationStart(event: AnimationEvent): void;
65
- onAnimationEnd(event: AnimationEvent): void;
66
58
  handleToolbarClick(event: MouseEvent): void;
67
59
  appendContainer(): void;
68
60
  imagePreviewStyle(): {
@@ -71,7 +63,7 @@ declare class CmatImageComponent {
71
63
  closePreview(): void;
72
64
  imageError(event: Event): void;
73
65
  static ɵfac: i0.ɵɵFactoryDeclaration<CmatImageComponent, never>;
74
- static ɵcmp: i0.ɵɵComponentDeclaration<CmatImageComponent, "cmat-image", never, { "imageClass": { "alias": "imageClass"; "required": false; }; "imageStyle": { "alias": "imageStyle"; "required": false; }; "src": { "alias": "src"; "required": false; }; "srcSet": { "alias": "srcSet"; "required": false; }; "previewImageSrc": { "alias": "previewImageSrc"; "required": false; }; "previewImageSrcSet": { "alias": "previewImageSrcSet"; "required": false; }; "alt": { "alias": "alt"; "required": false; }; "width": { "alias": "width"; "required": false; }; "height": { "alias": "height"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "appendTo": { "alias": "appendTo"; "required": false; }; "preview": { "alias": "preview"; "required": false; }; "showTransitionOptions": { "alias": "showTransitionOptions"; "required": false; }; "hideTransitionOptions": { "alias": "hideTransitionOptions"; "required": false; }; }, { "previewShowChange": "previewShowChange"; "imageErrorEvent": "imageErrorEvent"; }, never, never, true, never>;
66
+ static ɵcmp: i0.ɵɵComponentDeclaration<CmatImageComponent, "cmat-image", never, { "imageClass": { "alias": "imageClass"; "required": false; }; "imageStyle": { "alias": "imageStyle"; "required": false; }; "src": { "alias": "src"; "required": false; }; "srcSet": { "alias": "srcSet"; "required": false; }; "previewImageSrc": { "alias": "previewImageSrc"; "required": false; }; "previewImageSrcSet": { "alias": "previewImageSrcSet"; "required": false; }; "alt": { "alias": "alt"; "required": false; }; "width": { "alias": "width"; "required": false; }; "height": { "alias": "height"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "appendTo": { "alias": "appendTo"; "required": false; }; "preview": { "alias": "preview"; "required": false; }; }, { "previewShowChange": "previewShowChange"; "imageErrorEvent": "imageErrorEvent"; }, never, never, true, never>;
75
67
  static ngAcceptInputType_preview: unknown;
76
68
  }
77
69
 
@@ -127,6 +127,7 @@ declare class CmatDatetimepickerCalendarComponent<D> implements AfterContentInit
127
127
  private _intl;
128
128
  private _adapter;
129
129
  private _dateFormats;
130
+ private _changeDetectorRef;
130
131
  private _currentView;
131
132
  private _intlChanges;
132
133
  private _clampedActiveDate;
@@ -136,6 +137,7 @@ declare class CmatDatetimepickerCalendarComponent<D> implements AfterContentInit
136
137
  private _minDate;
137
138
  private _maxDate;
138
139
  private _timeInput;
140
+ private _calendarAnimationListener;
139
141
  constructor();
140
142
  get type(): CmatDatetimepickerType;
141
143
  set type(value: CmatDatetimepickerType);
@@ -209,7 +211,7 @@ declare class CmatDatetimepickerCalendarComponent<D> implements AfterContentInit
209
211
  /** Whether the next period button is enabled. */
210
212
  nextEnabled(): boolean;
211
213
  focusActiveCell(): void;
212
- calendarStateDone(): void;
214
+ calendarStateDone(event: AnimationEvent): void;
213
215
  /** Whether the two dates represent the same view in the current view mode (month or year). */
214
216
  private _isSameView;
215
217
  /** Handles keydown events on the calendar body when calendar is in month view. */
@@ -384,12 +386,6 @@ declare const CMAT_DATETIMEPICKER_SCROLL_STRATEGY_FACTORY_PROVIDER: {
384
386
  deps: (typeof Overlay)[];
385
387
  useFactory: typeof CMAT_DATETIMEPICKER_SCROLL_STRATEGY_FACTORY;
386
388
  };
387
- /**
388
- * Component used as the content for the datepicker dialog and popup. We use this instead of using
389
- * MatCalendar directly as the content so we can control the initial focus. This also gives us a
390
- * place to put additional features of the popup that are not part of the calendar itself in the
391
- * future. (e.g. confirmation buttons).
392
- */
393
389
  declare class CmatDatetimepickerContentComponent<D> implements OnInit, AfterContentInit, OnDestroy {
394
390
  _calendar: CmatDatetimepickerCalendarComponent<D>;
395
391
  color: ThemePalette;
@@ -397,13 +393,14 @@ declare class CmatDatetimepickerContentComponent<D> implements OnInit, AfterCont
397
393
  /** Whether the datetimepicker is above or below the input. */
398
394
  isAbove: boolean;
399
395
  /** Current state of the animation. */
400
- animationState: 'enter-dropdown' | 'enter-dialog' | 'void';
396
+ animationState: 'enter-dropdown' | 'enter-dialog' | 'leave';
401
397
  /** Emits when an animation has finished. */
402
398
  readonly animationDone: Subject<void>;
403
399
  /** Id of the label for the `role="dialog"` element. */
404
400
  dialogLabelId: string | null;
405
401
  protected _elementRef: ElementRef<any>;
406
402
  private _changeDetectorRef;
403
+ private _animationEndListener;
407
404
  ngOnInit(): void;
408
405
  ngAfterContentInit(): void;
409
406
  startExitAnimation(): void;
@@ -533,7 +530,7 @@ declare class CmatDatetimepickerComponent<D> implements OnDestroy {
533
530
  select(date: D): void;
534
531
  viewChange(type: CmatCalendarView): void;
535
532
  /**
536
- * Forwards relevant values from the datetimepicker to the
533
+ * relevant values from the datetimepicker to the
537
534
  * datetimepicker content inside the overlay.
538
535
  */
539
536
  private _forwardContentValues;
@@ -643,7 +640,7 @@ declare class CmatDatetimepickerToggleComponent<D> implements AfterContentInit,
643
640
  /**
644
641
  * An internal component used to display a single month in the datepicker.
645
642
  */
646
- declare class CmatDatetimepickerMonthViewComponent<D> implements AfterContentInit {
643
+ declare class CmatDatetimepickerMonthViewComponent<D> implements AfterContentInit, OnDestroy {
647
644
  type: CmatDatetimepickerType;
648
645
  userSelection: EventEmitter<void>;
649
646
  /** A function used to filter which dates are selectable. */
@@ -671,6 +668,9 @@ declare class CmatDatetimepickerMonthViewComponent<D> implements AfterContentIni
671
668
  private _dateFormats;
672
669
  private _activeDate;
673
670
  private _selected;
671
+ private _elementRef;
672
+ private _changeDetectorRef;
673
+ private _calendarAnimationListener;
674
674
  constructor();
675
675
  /**
676
676
  * The date to display in this month view (everything other than the month and year is ignored).
@@ -681,9 +681,10 @@ declare class CmatDatetimepickerMonthViewComponent<D> implements AfterContentIni
681
681
  get selected(): D;
682
682
  set selected(value: D);
683
683
  ngAfterContentInit(): void;
684
+ ngOnDestroy(): void;
684
685
  /** Handles when a new date is selected. */
685
686
  dateSelected(date: number): void;
686
- calendarStateDone(): void;
687
+ calendarStateDone(event: AnimationEvent): void;
687
688
  /** Initializes this month view. */
688
689
  private _init;
689
690
  /** Creates MdCalendarCells for the dates in this month. */
@@ -701,7 +702,7 @@ declare class CmatDatetimepickerMonthViewComponent<D> implements AfterContentIni
701
702
  /**
702
703
  * An internal component used to display a single year in the datepicker.
703
704
  */
704
- declare class CmatDatetimepickerYearViewComponent<D> implements AfterContentInit {
705
+ declare class CmatDatetimepickerYearViewComponent<D> implements AfterContentInit, OnDestroy {
705
706
  userSelection: EventEmitter<void>;
706
707
  type: CmatDatetimepickerType;
707
708
  /** A function used to filter which dates are selectable. */
@@ -724,6 +725,9 @@ declare class CmatDatetimepickerYearViewComponent<D> implements AfterContentInit
724
725
  private _dateFormats;
725
726
  private _activeDate;
726
727
  private _selected;
728
+ private _changeDetectorRef;
729
+ private _elementRef;
730
+ private _calendarAnimationListener;
727
731
  constructor();
728
732
  /** The date to display in this year view (everything other than the year is ignored). */
729
733
  get activeDate(): D;
@@ -732,9 +736,10 @@ declare class CmatDatetimepickerYearViewComponent<D> implements AfterContentInit
732
736
  get selected(): D;
733
737
  set selected(value: D);
734
738
  ngAfterContentInit(): void;
739
+ ngOnDestroy(): void;
735
740
  /** Handles when a new month is selected. */
736
741
  monthSelected(month: number): void;
737
- calendarStateDone(): void;
742
+ calendarStateDone(event: AnimationEvent): void;
738
743
  /** Initializes this month view. */
739
744
  private _init;
740
745
  /**
@@ -746,6 +751,7 @@ declare class CmatDatetimepickerYearViewComponent<D> implements AfterContentInit
746
751
  private _createCellForMonth;
747
752
  /** Whether the given month is enabled. */
748
753
  private _isMonthEnabled;
754
+ private _changeCalendarState;
749
755
  static ɵfac: i0.ɵɵFactoryDeclaration<CmatDatetimepickerYearViewComponent<any>, never>;
750
756
  static ɵcmp: i0.ɵɵComponentDeclaration<CmatDatetimepickerYearViewComponent<any>, "cmat-datetimepicker-year-view", ["cmatDatetimepickerYearView"], { "type": { "alias": "type"; "required": false; }; "dateFilter": { "alias": "dateFilter"; "required": false; }; "activeDate": { "alias": "activeDate"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; }, { "userSelection": "userSelection"; "selectedChange": "selectedChange"; }, never, never, true, never>;
751
757
  }
@@ -83,7 +83,6 @@ declare class CmatVerticalNavigationComponent implements OnChanges, OnInit, Afte
83
83
  onCollapsableItemCollapsed: ReplaySubject<CmatNavigationItem>;
84
84
  onCollapsableItemExpanded: ReplaySubject<CmatNavigationItem>;
85
85
  onRefreshed: ReplaySubject<boolean>;
86
- private _animationBuilder;
87
86
  private _changeDetectorRef;
88
87
  private _elementRef;
89
88
  private _renderer2;
@@ -96,7 +95,6 @@ declare class CmatVerticalNavigationComponent implements OnChanges, OnInit, Afte
96
95
  private readonly _handleOverlayClick;
97
96
  private _hovered;
98
97
  private _overlay;
99
- private _player;
100
98
  private _scrollStrategy;
101
99
  private _unsubscribeAll;
102
100
  constructor();
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { OnInit, OnChanges, EventEmitter, SimpleChanges } from '@angular/core';
2
+ import { OnInit, OnChanges, EventEmitter, SimpleChanges, AfterViewInit } from '@angular/core';
3
3
  import { AbstractControl, ValidatorFn, FormControl } from '@angular/forms';
4
4
  import { ThemePalette } from '@angular/material/core';
5
5
 
@@ -75,7 +75,7 @@ declare class CmatPasswordStrengthComponent implements OnInit, OnChanges {
75
75
  static ɵcmp: i0.ɵɵComponentDeclaration<CmatPasswordStrengthComponent, "cmat-password-strength", ["cmatPasswordStrength"], { "password": { "alias": "password"; "required": false; }; "externalError": { "alias": "externalError"; "required": false; }; "enableLengthRule": { "alias": "enableLengthRule"; "required": false; }; "enableLowerCaseLetterRule": { "alias": "enableLowerCaseLetterRule"; "required": false; }; "enableUpperCaseLetterRule": { "alias": "enableUpperCaseLetterRule"; "required": false; }; "enableDigitRule": { "alias": "enableDigitRule"; "required": false; }; "enableSpecialCharRule": { "alias": "enableSpecialCharRule"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "customValidator": { "alias": "customValidator"; "required": false; }; "warnThreshold": { "alias": "warnThreshold"; "required": false; }; "accentThreshold": { "alias": "accentThreshold"; "required": false; }; }, { "strengthChanged": "strengthChanged"; }, never, never, true, never>;
76
76
  }
77
77
 
78
- declare class CmatPasswordStrengthInfoComponent implements OnInit {
78
+ declare class CmatPasswordStrengthInfoComponent implements OnInit, AfterViewInit {
79
79
  passwordComponent: CmatPasswordStrengthComponent;
80
80
  enableScoreInfo: boolean;
81
81
  lowerCaseCriteriaMsg: string;
@@ -84,7 +84,12 @@ declare class CmatPasswordStrengthInfoComponent implements OnInit {
84
84
  specialCharsCriteriaMsg: string;
85
85
  customCharsCriteriaMsg: string;
86
86
  minCharsCriteriaMsg: string;
87
+ pageLoaded: boolean;
88
+ private _changeDetectorRef;
87
89
  ngOnInit(): void;
90
+ ngAfterViewInit(): void;
91
+ getEnterIndex(itemType: string): number;
92
+ getLeaveIndex(itemType: string): number;
88
93
  static ɵfac: i0.ɵɵFactoryDeclaration<CmatPasswordStrengthInfoComponent, never>;
89
94
  static ɵcmp: i0.ɵɵComponentDeclaration<CmatPasswordStrengthInfoComponent, "cmat-password-strength-info", ["cmatPasswordStrengthInfo"], { "passwordComponent": { "alias": "passwordComponent"; "required": false; }; "enableScoreInfo": { "alias": "enableScoreInfo"; "required": false; }; "lowerCaseCriteriaMsg": { "alias": "lowerCaseCriteriaMsg"; "required": false; }; "upperCaseCriteriaMsg": { "alias": "upperCaseCriteriaMsg"; "required": false; }; "digitsCriteriaMsg": { "alias": "digitsCriteriaMsg"; "required": false; }; "specialCharsCriteriaMsg": { "alias": "specialCharsCriteriaMsg"; "required": false; }; "customCharsCriteriaMsg": { "alias": "customCharsCriteriaMsg"; "required": false; }; "minCharsCriteriaMsg": { "alias": "minCharsCriteriaMsg"; "required": false; }; }, {}, never, never, true, never>;
90
95
  }
@@ -1,7 +1,6 @@
1
- import { AnimationEvent } from '@angular/animations';
2
1
  import { BooleanInput } from '@angular/cdk/coercion';
3
2
  import * as i0 from '@angular/core';
4
- import { TemplateRef, EventEmitter, ElementRef, OnDestroy, AfterViewInit } from '@angular/core';
3
+ import { TemplateRef, EventEmitter, ElementRef, OnDestroy, OnChanges, AfterViewInit, SimpleChanges } from '@angular/core';
5
4
  import { Direction } from '@angular/cdk/bidi';
6
5
  import { Subject } from 'rxjs';
7
6
 
@@ -171,7 +170,7 @@ declare class CmatPopoverComponent implements CmatPopoverPanel, OnDestroy {
171
170
  * This directive is intended to be used in conjunction with an cmat-popover tag. It is
172
171
  * responsible for toggling the display of the provided popover instance.
173
172
  */
174
- declare class CmatPopoverTriggerDirective implements AfterViewInit, OnDestroy {
173
+ declare class CmatPopoverTriggerDirective implements OnChanges, AfterViewInit, OnDestroy {
175
174
  ariaHaspopup: boolean;
176
175
  /** References the popover instance that the trigger is associated with. */
177
176
  popover: CmatPopoverPanel;
@@ -208,6 +207,7 @@ declare class CmatPopoverTriggerDirective implements AfterViewInit, OnDestroy {
208
207
  onMouseEnter(): void;
209
208
  onMouseLeave(): void;
210
209
  handleMousedown(event: MouseEvent): void;
210
+ ngOnChanges(changes: SimpleChanges): void;
211
211
  ngAfterViewInit(): void;
212
212
  ngOnDestroy(): void;
213
213
  /** Toggles the popover between the open and closed states. */
@@ -250,10 +250,10 @@ class CNativeDatetimeAdapter extends DatetimeAdapter {
250
250
  }
251
251
  return result;
252
252
  }
253
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: CNativeDatetimeAdapter, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
254
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: CNativeDatetimeAdapter }); }
253
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: CNativeDatetimeAdapter, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
254
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: CNativeDatetimeAdapter }); }
255
255
  }
256
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: CNativeDatetimeAdapter, decorators: [{
256
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: CNativeDatetimeAdapter, decorators: [{
257
257
  type: Injectable
258
258
  }], ctorParameters: () => [] });
259
259
 
@@ -355,10 +355,10 @@ class DayjsDatetimeAdapter extends DatetimeAdapter {
355
355
  _getDateInNextMonth(date) {
356
356
  return super.clone(date).date(1).add(1, 'month');
357
357
  }
358
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: DayjsDatetimeAdapter, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
359
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: DayjsDatetimeAdapter }); }
358
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: DayjsDatetimeAdapter, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
359
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: DayjsDatetimeAdapter }); }
360
360
  }
361
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: DayjsDatetimeAdapter, decorators: [{
361
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: DayjsDatetimeAdapter, decorators: [{
362
362
  type: Injectable
363
363
  }], ctorParameters: () => [] });
364
364
 
@@ -556,10 +556,10 @@ class DayjsDateAdapter extends DateAdapter {
556
556
  dayjs.extend(localeData);
557
557
  this.setLocale(dateLocale);
558
558
  }
559
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: DayjsDateAdapter, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
560
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: DayjsDateAdapter }); }
559
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: DayjsDateAdapter, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
560
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: DayjsDateAdapter }); }
561
561
  }
562
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: DayjsDateAdapter, decorators: [{
562
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: DayjsDateAdapter, decorators: [{
563
563
  type: Injectable
564
564
  }], ctorParameters: () => [] });
565
565
 
@@ -12,10 +12,10 @@ import { Subject, BehaviorSubject } from 'rxjs';
12
12
  * Usage: refer to the demo - app.component.html
13
13
  */
14
14
  class CmatBreadcrumbItemDirective {
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: CmatBreadcrumbItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
16
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.1.7", type: CmatBreadcrumbItemDirective, isStandalone: true, selector: "[cmatBreadcrumbItem]", ngImport: i0 }); }
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: CmatBreadcrumbItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
16
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.2.4", type: CmatBreadcrumbItemDirective, isStandalone: true, selector: "[cmatBreadcrumbItem]", ngImport: i0 }); }
17
17
  }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: CmatBreadcrumbItemDirective, decorators: [{
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: CmatBreadcrumbItemDirective, decorators: [{
19
19
  type: Directive,
20
20
  args: [{
21
21
  selector: '[cmatBreadcrumbItem]'
@@ -338,10 +338,10 @@ class CmatBreadcrumbService {
338
338
  }
339
339
  return config || {};
340
340
  }
341
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: CmatBreadcrumbService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
342
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: CmatBreadcrumbService, providedIn: 'root' }); }
341
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: CmatBreadcrumbService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
342
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: CmatBreadcrumbService, providedIn: 'root' }); }
343
343
  }
344
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: CmatBreadcrumbService, decorators: [{
344
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: CmatBreadcrumbService, decorators: [{
345
345
  type: Injectable,
346
346
  args: [{
347
347
  providedIn: 'root',
@@ -412,10 +412,10 @@ class CmatBreadcrumbComponent {
412
412
  };
413
413
  })));
414
414
  }
415
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: CmatBreadcrumbComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
416
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.7", type: CmatBreadcrumbComponent, isStandalone: true, selector: "cmat-breadcrumb", inputs: { autoGenerate: "autoGenerate", preserveQueryParams: "preserveQueryParams", preserveFragment: "preserveFragment", class: "class", anchorTarget: "anchorTarget", separator: "separator" }, queries: [{ propertyName: "itemTemplate", first: true, predicate: CmatBreadcrumbItemDirective, descendants: true, read: TemplateRef }], exportAs: ["cmatBreadcrumb"], ngImport: i0, template: "<nav aria-label=\"breadcrumb\" class=\"m-0\" [ngClass]=\"class\">\r\n <ol class=\"flex items-center flex-wrap m-0 p-0\">\r\n @for (\r\n breadcrumb of breadcrumbs$ | async; track\r\n $index; let isLast = $last; let isFirst = $first; let index = $index; let count = $count) {\r\n <li class=\"list-none\">\r\n @if (!isLast) {\r\n <a class=\"cmat-breadcrumb-link\"\r\n rel=\"noopener noreferrer\"\r\n [ngClass]=\"{ 'pointer-events-none cursor-not-allowed': breadcrumb.disable }\" [attr.aria-disabled]=\"breadcrumb.disable\"\r\n [attr.tabIndex]=\"breadcrumb.disable ? -1 : 0\" [routerLink]=\"\r\n breadcrumb.routeInterceptor\r\n ? breadcrumb.routeInterceptor( breadcrumb,breadcrumb.routeLink)\r\n : breadcrumb.routeLink\" [queryParams]=\"preserveQueryParams ? breadcrumb.queryParams : undefined\"\r\n [fragment]=\"preserveFragment ? breadcrumb.fragment : undefined\"\r\n [target]=\"anchorTarget ? anchorTarget : '_self'\">\r\n <ng-container *ngTemplateOutlet=\"\r\n itemTemplate;\r\n context: {\r\n $implicit: breadcrumb.label,\r\n info: breadcrumb.info,\r\n last: isLast,\r\n first: isFirst,\r\n index: index,\r\n count: count\r\n }\r\n \"></ng-container>\r\n @if (!itemTemplate) {\r\n {{\r\n breadcrumb.label\r\n }}\r\n }\r\n </a>\r\n }\r\n @if (isLast) {\r\n <span class=\"flex items-center\">\r\n <ng-container *ngTemplateOutlet=\"\r\n itemTemplate;\r\n context: {\r\n $implicit: breadcrumb.label,\r\n info: breadcrumb.info,\r\n last: isLast,\r\n first: isFirst,\r\n index: index,\r\n count: count\r\n }\r\n \"></ng-container>\r\n @if (!itemTemplate) {\r\n {{\r\n breadcrumb.label\r\n }}\r\n }\r\n </span>\r\n }\r\n </li>\r\n @if (!isLast) {\r\n <li class=\"flex select-none mx-4\" aria-hidden=\"true\" role=\"separator\">\r\n <ng-container *ngTemplateOutlet=\"separatorTemplate\"></ng-container>\r\n @if (separatorTemplate===null) {\r\n {{ separator }}\r\n }\r\n </li>\r\n }\r\n}\r\n</ol>\r\n</nav>", styles: ["cmat-breadcrumb .cmat-breadcrumb-link{display:flex;align-items:center;white-space:nowrap;color:inherit;text-decoration:none;transition:text-decoration .3s;cursor:pointer}cmat-breadcrumb .cmat-breadcrumb-link:hover{text-decoration-line:underline}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
415
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: CmatBreadcrumbComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
416
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.2.4", type: CmatBreadcrumbComponent, isStandalone: true, selector: "cmat-breadcrumb", inputs: { autoGenerate: "autoGenerate", preserveQueryParams: "preserveQueryParams", preserveFragment: "preserveFragment", class: "class", anchorTarget: "anchorTarget", separator: "separator" }, queries: [{ propertyName: "itemTemplate", first: true, predicate: CmatBreadcrumbItemDirective, descendants: true, read: TemplateRef }], exportAs: ["cmatBreadcrumb"], ngImport: i0, template: "<nav aria-label=\"breadcrumb\" class=\"m-0\" [ngClass]=\"class\">\r\n <ol class=\"flex items-center flex-wrap m-0 p-0\">\r\n @for (\r\n breadcrumb of breadcrumbs$ | async; track\r\n $index; let isLast = $last; let isFirst = $first; let index = $index; let count = $count) {\r\n <li class=\"list-none\">\r\n @if (!isLast) {\r\n <a class=\"cmat-breadcrumb-link\"\r\n rel=\"noopener noreferrer\"\r\n [ngClass]=\"{ 'pointer-events-none cursor-not-allowed': breadcrumb.disable }\" [attr.aria-disabled]=\"breadcrumb.disable\"\r\n [attr.tabIndex]=\"breadcrumb.disable ? -1 : 0\" [routerLink]=\"\r\n breadcrumb.routeInterceptor\r\n ? breadcrumb.routeInterceptor( breadcrumb,breadcrumb.routeLink)\r\n : breadcrumb.routeLink\" [queryParams]=\"preserveQueryParams ? breadcrumb.queryParams : undefined\"\r\n [fragment]=\"preserveFragment ? breadcrumb.fragment : undefined\"\r\n [target]=\"anchorTarget ? anchorTarget : '_self'\">\r\n <ng-container *ngTemplateOutlet=\"\r\n itemTemplate;\r\n context: {\r\n $implicit: breadcrumb.label,\r\n info: breadcrumb.info,\r\n last: isLast,\r\n first: isFirst,\r\n index: index,\r\n count: count\r\n }\r\n \"></ng-container>\r\n @if (!itemTemplate) {\r\n {{\r\n breadcrumb.label\r\n }}\r\n }\r\n </a>\r\n }\r\n @if (isLast) {\r\n <span class=\"flex items-center\">\r\n <ng-container *ngTemplateOutlet=\"\r\n itemTemplate;\r\n context: {\r\n $implicit: breadcrumb.label,\r\n info: breadcrumb.info,\r\n last: isLast,\r\n first: isFirst,\r\n index: index,\r\n count: count\r\n }\r\n \"></ng-container>\r\n @if (!itemTemplate) {\r\n {{\r\n breadcrumb.label\r\n }}\r\n }\r\n </span>\r\n }\r\n </li>\r\n @if (!isLast) {\r\n <li class=\"flex select-none mx-4\" aria-hidden=\"true\" role=\"separator\">\r\n <ng-container *ngTemplateOutlet=\"separatorTemplate\"></ng-container>\r\n @if (separatorTemplate===null) {\r\n {{ separator }}\r\n }\r\n </li>\r\n }\r\n}\r\n</ol>\r\n</nav>", styles: ["cmat-breadcrumb .cmat-breadcrumb-link{display:flex;align-items:center;white-space:nowrap;color:inherit;text-decoration:none;transition:text-decoration .3s;cursor:pointer}cmat-breadcrumb .cmat-breadcrumb-link:hover{text-decoration-line:underline}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
417
417
  }
418
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: CmatBreadcrumbComponent, decorators: [{
418
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: CmatBreadcrumbComponent, decorators: [{
419
419
  type: Component,
420
420
  args: [{ selector: 'cmat-breadcrumb', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: 'cmatBreadcrumb', imports: [NgClass, AsyncPipe, RouterLink, NgTemplateOutlet], template: "<nav aria-label=\"breadcrumb\" class=\"m-0\" [ngClass]=\"class\">\r\n <ol class=\"flex items-center flex-wrap m-0 p-0\">\r\n @for (\r\n breadcrumb of breadcrumbs$ | async; track\r\n $index; let isLast = $last; let isFirst = $first; let index = $index; let count = $count) {\r\n <li class=\"list-none\">\r\n @if (!isLast) {\r\n <a class=\"cmat-breadcrumb-link\"\r\n rel=\"noopener noreferrer\"\r\n [ngClass]=\"{ 'pointer-events-none cursor-not-allowed': breadcrumb.disable }\" [attr.aria-disabled]=\"breadcrumb.disable\"\r\n [attr.tabIndex]=\"breadcrumb.disable ? -1 : 0\" [routerLink]=\"\r\n breadcrumb.routeInterceptor\r\n ? breadcrumb.routeInterceptor( breadcrumb,breadcrumb.routeLink)\r\n : breadcrumb.routeLink\" [queryParams]=\"preserveQueryParams ? breadcrumb.queryParams : undefined\"\r\n [fragment]=\"preserveFragment ? breadcrumb.fragment : undefined\"\r\n [target]=\"anchorTarget ? anchorTarget : '_self'\">\r\n <ng-container *ngTemplateOutlet=\"\r\n itemTemplate;\r\n context: {\r\n $implicit: breadcrumb.label,\r\n info: breadcrumb.info,\r\n last: isLast,\r\n first: isFirst,\r\n index: index,\r\n count: count\r\n }\r\n \"></ng-container>\r\n @if (!itemTemplate) {\r\n {{\r\n breadcrumb.label\r\n }}\r\n }\r\n </a>\r\n }\r\n @if (isLast) {\r\n <span class=\"flex items-center\">\r\n <ng-container *ngTemplateOutlet=\"\r\n itemTemplate;\r\n context: {\r\n $implicit: breadcrumb.label,\r\n info: breadcrumb.info,\r\n last: isLast,\r\n first: isFirst,\r\n index: index,\r\n count: count\r\n }\r\n \"></ng-container>\r\n @if (!itemTemplate) {\r\n {{\r\n breadcrumb.label\r\n }}\r\n }\r\n </span>\r\n }\r\n </li>\r\n @if (!isLast) {\r\n <li class=\"flex select-none mx-4\" aria-hidden=\"true\" role=\"separator\">\r\n <ng-container *ngTemplateOutlet=\"separatorTemplate\"></ng-container>\r\n @if (separatorTemplate===null) {\r\n {{ separator }}\r\n }\r\n </li>\r\n }\r\n}\r\n</ol>\r\n</nav>", styles: ["cmat-breadcrumb .cmat-breadcrumb-link{display:flex;align-items:center;white-space:nowrap;color:inherit;text-decoration:none;transition:text-decoration .3s;cursor:pointer}cmat-breadcrumb .cmat-breadcrumb-link:hover{text-decoration-line:underline}\n"] }]
421
421
  }], propDecorators: { itemTemplate: [{