@cute-widgets/base 20.0.4 → 21.0.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.
- package/CHANGELOG.md +18 -6
- package/fesm2022/cute-widgets-base-abstract.mjs +19 -29
- package/fesm2022/cute-widgets-base-abstract.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-alert.mjs +10 -10
- package/fesm2022/cute-widgets-base-alert.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-autocomplete.mjs +14 -14
- package/fesm2022/cute-widgets-base-autocomplete.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-badge.mjs +46 -14
- package/fesm2022/cute-widgets-base-badge.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-bottom-sheet.mjs +11 -11
- package/fesm2022/cute-widgets-base-bottom-sheet.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-button-toggle.mjs +61 -37
- package/fesm2022/cute-widgets-base-button-toggle.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-button.mjs +176 -112
- package/fesm2022/cute-widgets-base-button.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-card.mjs +40 -40
- package/fesm2022/cute-widgets-base-card.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-checkbox.mjs +28 -28
- package/fesm2022/cute-widgets-base-checkbox.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-chips.mjs +49 -61
- package/fesm2022/cute-widgets-base-chips.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-collapse.mjs +120 -132
- package/fesm2022/cute-widgets-base-collapse.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-core-datetime.mjs +11 -11
- package/fesm2022/cute-widgets-base-core-datetime.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-core-directives.mjs +21 -21
- package/fesm2022/cute-widgets-base-core-directives.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-core-error.mjs +6 -6
- package/fesm2022/cute-widgets-base-core-error.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-core-layout.mjs +13 -1
- package/fesm2022/cute-widgets-base-core-layout.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-core-line.mjs +7 -7
- package/fesm2022/cute-widgets-base-core-line.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-core-nav.mjs +30 -28
- package/fesm2022/cute-widgets-base-core-nav.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-core-observers.mjs +16 -16
- package/fesm2022/cute-widgets-base-core-observers.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-core-option.mjs +10 -10
- package/fesm2022/cute-widgets-base-core-option.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-core-pipes.mjs +6 -6
- package/fesm2022/cute-widgets-base-core-pipes.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-core-ripple.mjs +3 -3
- package/fesm2022/cute-widgets-base-core-ripple.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-core-theming.mjs +7 -7
- package/fesm2022/cute-widgets-base-core-theming.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-core-utils.mjs +3 -3
- package/fesm2022/cute-widgets-base-core-utils.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-core.mjs +50 -38
- package/fesm2022/cute-widgets-base-core.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-datepicker.mjs +100 -99
- package/fesm2022/cute-widgets-base-datepicker.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-dialog.mjs +170 -135
- package/fesm2022/cute-widgets-base-dialog.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-divider.mjs +7 -7
- package/fesm2022/cute-widgets-base-divider.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-expansion.mjs +27 -27
- package/fesm2022/cute-widgets-base-expansion.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-form-field.mjs +28 -28
- package/fesm2022/cute-widgets-base-form-field.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-grid-list.mjs +22 -22
- package/fesm2022/cute-widgets-base-grid-list.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-icon.mjs +10 -10
- package/fesm2022/cute-widgets-base-icon.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-input.mjs +7 -7
- package/fesm2022/cute-widgets-base-input.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-layout-container.mjs +10 -10
- package/fesm2022/cute-widgets-base-layout-container.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-layout-stack.mjs +13 -13
- package/fesm2022/cute-widgets-base-layout-stack.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-layout.mjs +23 -23
- package/fesm2022/cute-widgets-base-layout.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-list.mjs +56 -56
- package/fesm2022/cute-widgets-base-list.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-menu.mjs +581 -388
- package/fesm2022/cute-widgets-base-menu.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-navbar.mjs +101 -61
- package/fesm2022/cute-widgets-base-navbar.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-paginator.mjs +13 -13
- package/fesm2022/cute-widgets-base-paginator.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-progress.mjs +10 -10
- package/fesm2022/cute-widgets-base-progress.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-radio.mjs +11 -11
- package/fesm2022/cute-widgets-base-radio.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-select.mjs +11 -11
- package/fesm2022/cute-widgets-base-select.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-sidenav.mjs +26 -26
- package/fesm2022/cute-widgets-base-sidenav.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-slider.mjs +10 -10
- package/fesm2022/cute-widgets-base-slider.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-snack-bar.mjs +28 -28
- package/fesm2022/cute-widgets-base-snack-bar.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-sort.mjs +13 -13
- package/fesm2022/cute-widgets-base-sort.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-spinner.mjs +8 -8
- package/fesm2022/cute-widgets-base-spinner.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-stepper.mjs +40 -40
- package/fesm2022/cute-widgets-base-stepper.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-table.mjs +58 -66
- package/fesm2022/cute-widgets-base-table.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-tabs.mjs +100 -75
- package/fesm2022/cute-widgets-base-tabs.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-timepicker.mjs +34 -63
- package/fesm2022/cute-widgets-base-timepicker.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-toolbar.mjs +13 -13
- package/fesm2022/cute-widgets-base-toolbar.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-tooltip.mjs +10 -10
- package/fesm2022/cute-widgets-base-tooltip.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-tree.mjs +25 -25
- package/fesm2022/cute-widgets-base-tree.mjs.map +1 -1
- package/fesm2022/cute-widgets-base.mjs +4 -4
- package/package.json +121 -121
- package/{abstract/index.d.ts → types/cute-widgets-base-abstract.d.ts} +9 -3
- package/{autocomplete/index.d.ts → types/cute-widgets-base-autocomplete.d.ts} +2 -2
- package/{badge/index.d.ts → types/cute-widgets-base-badge.d.ts} +6 -5
- package/{bottom-sheet/index.d.ts → types/cute-widgets-base-bottom-sheet.d.ts} +1 -1
- package/{button-toggle/index.d.ts → types/cute-widgets-base-button-toggle.d.ts} +15 -5
- package/{button/index.d.ts → types/cute-widgets-base-button.d.ts} +44 -22
- package/{checkbox/index.d.ts → types/cute-widgets-base-checkbox.d.ts} +1 -1
- package/{chips/index.d.ts → types/cute-widgets-base-chips.d.ts} +1 -1
- package/types/cute-widgets-base-collapse.d.ts +98 -0
- package/{core/layout/index.d.ts → types/cute-widgets-base-core-layout.d.ts} +7 -1
- package/{core/nav/index.d.ts → types/cute-widgets-base-core-nav.d.ts} +2 -1
- package/{core/observers/index.d.ts → types/cute-widgets-base-core-observers.d.ts} +1 -1
- package/{core/option/index.d.ts → types/cute-widgets-base-core-option.d.ts} +1 -1
- package/{core/index.d.ts → types/cute-widgets-base-core.d.ts} +7 -1
- package/{datepicker/index.d.ts → types/cute-widgets-base-datepicker.d.ts} +2 -2
- package/{dialog/index.d.ts → types/cute-widgets-base-dialog.d.ts} +81 -57
- package/{expansion/index.d.ts → types/cute-widgets-base-expansion.d.ts} +4 -14
- package/{form-field/index.d.ts → types/cute-widgets-base-form-field.d.ts} +1 -1
- package/{icon/index.d.ts → types/cute-widgets-base-icon.d.ts} +1 -1
- package/{input/index.d.ts → types/cute-widgets-base-input.d.ts} +1 -1
- package/{menu/index.d.ts → types/cute-widgets-base-menu.d.ts} +202 -121
- package/{navbar/index.d.ts → types/cute-widgets-base-navbar.d.ts} +24 -9
- package/{paginator/index.d.ts → types/cute-widgets-base-paginator.d.ts} +2 -2
- package/{progress/index.d.ts → types/cute-widgets-base-progress.d.ts} +1 -1
- package/{radio/index.d.ts → types/cute-widgets-base-radio.d.ts} +2 -2
- package/{sidenav/index.d.ts → types/cute-widgets-base-sidenav.d.ts} +1 -1
- package/{snack-bar/index.d.ts → types/cute-widgets-base-snack-bar.d.ts} +1 -1
- package/{sort/index.d.ts → types/cute-widgets-base-sort.d.ts} +1 -1
- package/{table/index.d.ts → types/cute-widgets-base-table.d.ts} +1 -1
- package/{tabs/index.d.ts → types/cute-widgets-base-tabs.d.ts} +35 -14
- package/{tree/index.d.ts → types/cute-widgets-base-tree.d.ts} +2 -2
- package/collapse/index.d.ts +0 -97
- /package/{alert/index.d.ts → types/cute-widgets-base-alert.d.ts} +0 -0
- /package/{card/index.d.ts → types/cute-widgets-base-card.d.ts} +0 -0
- /package/{core/animation/index.d.ts → types/cute-widgets-base-core-animation.d.ts} +0 -0
- /package/{core/datetime/index.d.ts → types/cute-widgets-base-core-datetime.d.ts} +0 -0
- /package/{core/directives/index.d.ts → types/cute-widgets-base-core-directives.d.ts} +0 -0
- /package/{core/error/index.d.ts → types/cute-widgets-base-core-error.d.ts} +0 -0
- /package/{core/interfaces/index.d.ts → types/cute-widgets-base-core-interfaces.d.ts} +0 -0
- /package/{core/line/index.d.ts → types/cute-widgets-base-core-line.d.ts} +0 -0
- /package/{core/pipes/index.d.ts → types/cute-widgets-base-core-pipes.d.ts} +0 -0
- /package/{core/ripple/index.d.ts → types/cute-widgets-base-core-ripple.d.ts} +0 -0
- /package/{core/testing/index.d.ts → types/cute-widgets-base-core-testing.d.ts} +0 -0
- /package/{core/theming/index.d.ts → types/cute-widgets-base-core-theming.d.ts} +0 -0
- /package/{core/types/index.d.ts → types/cute-widgets-base-core-types.d.ts} +0 -0
- /package/{core/utils/index.d.ts → types/cute-widgets-base-core-utils.d.ts} +0 -0
- /package/{divider/index.d.ts → types/cute-widgets-base-divider.d.ts} +0 -0
- /package/{grid-list/index.d.ts → types/cute-widgets-base-grid-list.d.ts} +0 -0
- /package/{layout/container/index.d.ts → types/cute-widgets-base-layout-container.d.ts} +0 -0
- /package/{layout/stack/index.d.ts → types/cute-widgets-base-layout-stack.d.ts} +0 -0
- /package/{layout/index.d.ts → types/cute-widgets-base-layout.d.ts} +0 -0
- /package/{list/index.d.ts → types/cute-widgets-base-list.d.ts} +0 -0
- /package/{select/index.d.ts → types/cute-widgets-base-select.d.ts} +0 -0
- /package/{slider/index.d.ts → types/cute-widgets-base-slider.d.ts} +0 -0
- /package/{spinner/index.d.ts → types/cute-widgets-base-spinner.d.ts} +0 -0
- /package/{stepper/index.d.ts → types/cute-widgets-base-stepper.d.ts} +0 -0
- /package/{timepicker/index.d.ts → types/cute-widgets-base-timepicker.d.ts} +0 -0
- /package/{toolbar/index.d.ts → types/cute-widgets-base-toolbar.d.ts} +0 -0
- /package/{tooltip/index.d.ts → types/cute-widgets-base-tooltip.d.ts} +0 -0
- /package/{index.d.ts → types/cute-widgets-base.d.ts} +0 -0
|
@@ -1,51 +1,12 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
2
|
+
import { inject, NgZone, EventEmitter, booleanAttribute, Output, Input, Directive, ChangeDetectionStrategy, ViewEncapsulation, Component, NgModule } from '@angular/core';
|
|
3
|
+
import * as i1 from '@angular/cdk/accordion';
|
|
4
|
+
import { CdkAccordionItem } from '@angular/cdk/accordion';
|
|
5
|
+
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
6
|
+
import { CuteLayoutControl } from '@cute-widgets/base/abstract';
|
|
7
|
+
import { _animationsDisabled } from '@cute-widgets/base/core';
|
|
7
8
|
import { CommonModule } from '@angular/common';
|
|
8
9
|
|
|
9
|
-
/**
|
|
10
|
-
* @license Apache-2.0
|
|
11
|
-
*
|
|
12
|
-
* Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.
|
|
13
|
-
*
|
|
14
|
-
* You may not use this file except in compliance with the License
|
|
15
|
-
* that can be found at http://www.apache.org/licenses/LICENSE-2.0
|
|
16
|
-
*/
|
|
17
|
-
/** Time and timing curve for **collapse** animations. */
|
|
18
|
-
const CUTE_COLLAPSE_ANIMATION_TIMING = '225ms cubic-bezier(0.4,0.0,0.2,1)';
|
|
19
|
-
/**
|
|
20
|
-
* Animations used by the CuteWidgets` collapse element.
|
|
21
|
-
*/
|
|
22
|
-
const cuteCollapseAnimations = {
|
|
23
|
-
/** Animation that rotates the indicator arrow. */
|
|
24
|
-
/*
|
|
25
|
-
indicatorRotate: trigger('indicatorRotate', [
|
|
26
|
-
state('collapsed, void', style({transform: 'rotate(0deg)'})),
|
|
27
|
-
state('expanded', style({transform: 'rotate(180deg)'})),
|
|
28
|
-
transition(
|
|
29
|
-
'expanded <=> collapsed, void => collapsed',
|
|
30
|
-
animate(EXPANSION_PANEL_ANIMATION_TIMING),
|
|
31
|
-
),
|
|
32
|
-
]),
|
|
33
|
-
*/
|
|
34
|
-
/** Animation that expands and collapses the panel content. */
|
|
35
|
-
bodyExpansion: trigger('bodyExpansion', [
|
|
36
|
-
state('collapsed, void', style({ height: '0px', visibility: 'hidden' })),
|
|
37
|
-
state('collapsed-hor, void', style({ width: '0px', visibility: 'hidden' })),
|
|
38
|
-
// Clear the `visibility` while open, otherwise the content will be visible when placed in
|
|
39
|
-
// a parent that's `visibility: hidden`, because `visibility` doesn't apply to descendants
|
|
40
|
-
// that have a `visibility` of their own (see #27436).
|
|
41
|
-
state('expanded', style({ height: '*', visibility: '' })),
|
|
42
|
-
state('expanded-hor', style({ width: '*', visibility: '' })),
|
|
43
|
-
transition(
|
|
44
|
-
//'expanded <=> collapsed, expanded-hor <=> collapsed-hor, :enter',
|
|
45
|
-
'* => *, :enter, :leave', animate(CUTE_COLLAPSE_ANIMATION_TIMING))
|
|
46
|
-
]),
|
|
47
|
-
};
|
|
48
|
-
|
|
49
10
|
/**
|
|
50
11
|
* @license Apache-2.0
|
|
51
12
|
*
|
|
@@ -56,33 +17,21 @@ const cuteCollapseAnimations = {
|
|
|
56
17
|
*/
|
|
57
18
|
// Increasing integer for generating unique ids for checkbox components.
|
|
58
19
|
let nextUniqueId = 0;
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
set collapsed(value) {
|
|
67
|
-
if (value !== this._collapsed()) {
|
|
68
|
-
if (this.disableAnimation) {
|
|
69
|
-
(value ? this.beforeCollapse : this.beforeExpand).emit();
|
|
70
|
-
}
|
|
71
|
-
this._collapsed.set(value);
|
|
72
|
-
if (this.disableAnimation) {
|
|
73
|
-
(value ? this.afterCollapse : this.afterExpand).emit();
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
/** Weather the current state is _collapsed_ or _expanded_. Part of `Expandable` interface. */
|
|
78
|
-
get expanded() { return !this.collapsed; }
|
|
20
|
+
class CuteCollapseBase extends CuteLayoutControl {
|
|
21
|
+
/** Whether the `CuteCollapse` is expanded. */
|
|
22
|
+
get expanded() { return this._accordionItem.expanded; }
|
|
23
|
+
set expanded(value) { this._accordionItem.expanded = value; }
|
|
24
|
+
/** Whether the animation while collapsing/expanding should be disabled */
|
|
25
|
+
get disableAnimation() { return this._disableAnimation ?? this._animationsDisabled; }
|
|
26
|
+
set disableAnimation(value) { this._disableAnimation = value; }
|
|
79
27
|
constructor() {
|
|
80
28
|
super();
|
|
81
|
-
this.
|
|
29
|
+
this._ngZone = inject(NgZone);
|
|
30
|
+
this._accordionItem = inject(CdkAccordionItem);
|
|
31
|
+
this._animationsDisabled = _animationsDisabled();
|
|
32
|
+
this._cleanupTransitionHandlers = [];
|
|
82
33
|
/** Expanding/Collapsing directionality, _horizontal_ or _vertical_. Default is _vertical_. */
|
|
83
34
|
this.horizontal = false;
|
|
84
|
-
/** Whether the animation while collapsing/expanding should be disabled */
|
|
85
|
-
this.disableAnimation = false;
|
|
86
35
|
/** Event emitting before expand element */
|
|
87
36
|
this.beforeExpand = new EventEmitter();
|
|
88
37
|
/** Event emitting before collapse element */
|
|
@@ -91,81 +40,104 @@ class CuteCollapse extends CuteBaseControl {
|
|
|
91
40
|
this.afterExpand = new EventEmitter();
|
|
92
41
|
/** Event emitting after collapse element */
|
|
93
42
|
this.afterCollapse = new EventEmitter();
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
}
|
|
106
|
-
onAnimationEvent(event) {
|
|
107
|
-
if (event.fromState !== 'void') {
|
|
108
|
-
const toState = event.toState;
|
|
109
|
-
if (event.phaseName == "start") {
|
|
110
|
-
if (toState.startsWith('expanded')) {
|
|
111
|
-
this.beforeExpand.emit();
|
|
112
|
-
}
|
|
113
|
-
else if (toState.startsWith('collapsed')) {
|
|
114
|
-
this.beforeCollapse.emit();
|
|
115
|
-
}
|
|
43
|
+
this._transitionStartListener = (event) => {
|
|
44
|
+
if (event.target === this._nativeElement &&
|
|
45
|
+
(event.propertyName === 'grid-template-rows' || event.propertyName === 'grid-template-columns')) {
|
|
46
|
+
this._ngZone.run(() => {
|
|
47
|
+
if (this._accordionItem.expanded) {
|
|
48
|
+
this.beforeExpand.emit();
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
this.beforeCollapse.emit();
|
|
52
|
+
}
|
|
53
|
+
});
|
|
116
54
|
}
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
this.
|
|
123
|
-
|
|
55
|
+
};
|
|
56
|
+
this._transitionEndListener = (event) => {
|
|
57
|
+
if (event.target === this._nativeElement &&
|
|
58
|
+
(event.propertyName === 'grid-template-rows' || event.propertyName === 'grid-template-columns')) {
|
|
59
|
+
this._ngZone.run(() => {
|
|
60
|
+
if (this._accordionItem.expanded) {
|
|
61
|
+
this.afterExpand.emit();
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
this.afterCollapse.emit();
|
|
65
|
+
}
|
|
66
|
+
});
|
|
124
67
|
}
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
setDisabledState(newState, emitEvent) {
|
|
71
|
+
if (super.setDisabledState(newState, emitEvent)) {
|
|
72
|
+
this._accordionItem.disabled = coerceBooleanProperty(newState);
|
|
73
|
+
return true;
|
|
125
74
|
}
|
|
75
|
+
return false;
|
|
126
76
|
}
|
|
127
77
|
generateId() {
|
|
128
78
|
return `cute-collapse-${nextUniqueId++}`;
|
|
129
79
|
}
|
|
130
80
|
/** Gets the expanded state string. */
|
|
131
81
|
getState() {
|
|
132
|
-
return this.
|
|
82
|
+
return this._accordionItem.expanded ? 'expanded' : 'collapsed';
|
|
133
83
|
}
|
|
134
|
-
/**
|
|
84
|
+
/**
|
|
85
|
+
* @inheritDoc
|
|
86
|
+
* Part of `Expandable` interface.
|
|
87
|
+
*/
|
|
135
88
|
toggle() {
|
|
136
|
-
this.
|
|
89
|
+
this._accordionItem.toggle();
|
|
137
90
|
}
|
|
138
|
-
/**
|
|
91
|
+
/**
|
|
92
|
+
* @inheritDoc
|
|
93
|
+
* Part of `Expandable` interface.
|
|
94
|
+
*/
|
|
139
95
|
open() {
|
|
140
|
-
|
|
141
|
-
this.collapsed = false;
|
|
142
|
-
}
|
|
96
|
+
this._accordionItem.open();
|
|
143
97
|
}
|
|
144
|
-
/**
|
|
98
|
+
/**
|
|
99
|
+
* @inheritDoc
|
|
100
|
+
* Part of `Expandable` interface.
|
|
101
|
+
*/
|
|
145
102
|
close() {
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
103
|
+
this._accordionItem.close();
|
|
104
|
+
}
|
|
105
|
+
_setupAnimationEvents() {
|
|
106
|
+
// This method is defined separately, because we need to
|
|
107
|
+
// disable this logic in some internal components.
|
|
108
|
+
this._ngZone.runOutsideAngular(() => {
|
|
109
|
+
if (this.disableAnimation) {
|
|
110
|
+
this._accordionItem.opened.subscribe(() => this._ngZone.run(() => this.beforeExpand.emit()));
|
|
111
|
+
this._accordionItem.closed.subscribe(() => this._ngZone.run(() => this.beforeCollapse.emit()));
|
|
112
|
+
this._accordionItem.opened.subscribe(() => this._ngZone.run(() => this.afterExpand.emit()));
|
|
113
|
+
this._accordionItem.closed.subscribe(() => this._ngZone.run(() => this.afterCollapse.emit()));
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
setTimeout(() => {
|
|
117
|
+
const element = this._nativeElement;
|
|
118
|
+
this._cleanupTransitionHandlers.push(this._renderer.listen(element, 'transitionend', this._transitionEndListener), this._renderer.listen(element, 'transitionstart', this._transitionStartListener));
|
|
119
|
+
element.classList.add('cute-collapse-animations-enabled');
|
|
120
|
+
}, 200);
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
ngAfterContentInit() {
|
|
125
|
+
super.ngAfterContentInit();
|
|
126
|
+
this._setupAnimationEvents();
|
|
149
127
|
}
|
|
150
128
|
ngOnDestroy() {
|
|
151
129
|
super.ngOnDestroy();
|
|
152
|
-
this.
|
|
130
|
+
this._cleanupTransitionHandlers.forEach(cleanup => cleanup());
|
|
153
131
|
}
|
|
154
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
155
|
-
static { this.ɵ
|
|
132
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CuteCollapseBase, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
133
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "21.2.0", type: CuteCollapseBase, isStandalone: true, inputs: { expanded: ["expanded", "expanded", booleanAttribute], horizontal: ["horizontal", "horizontal", booleanAttribute], disableAnimation: ["disableAnimation", "disableAnimation", booleanAttribute] }, outputs: { beforeExpand: "beforeExpand", beforeCollapse: "beforeCollapse", afterExpand: "afterExpand", afterCollapse: "afterCollapse" }, usesInheritance: true, hostDirectives: [{ directive: i1.CdkAccordionItem, outputs: ["expandedChange", "expandedChange"] }], ngImport: i0 }); }
|
|
156
134
|
}
|
|
157
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
158
|
-
type:
|
|
159
|
-
args: [{
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
'[@bodyExpansion]': 'getState()+(horizontal?"-hor":"")',
|
|
164
|
-
'[@.disabled]': 'disableAnimation',
|
|
165
|
-
'(@bodyExpansion.start)': '_bodyAnimation$.next($event)',
|
|
166
|
-
'(@bodyExpansion.done)': '_bodyAnimation$.next($event)',
|
|
167
|
-
}, animations: [cuteCollapseAnimations.bodyExpansion], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, styles: [".cute-collapse{display:block}.ng-animating{overflow:hidden}\n"] }]
|
|
168
|
-
}], ctorParameters: () => [], propDecorators: { collapsed: [{
|
|
135
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CuteCollapseBase, decorators: [{
|
|
136
|
+
type: Directive,
|
|
137
|
+
args: [{
|
|
138
|
+
hostDirectives: [{ directive: CdkAccordionItem, outputs: ["expandedChange"] }],
|
|
139
|
+
}]
|
|
140
|
+
}], ctorParameters: () => [], propDecorators: { expanded: [{
|
|
169
141
|
type: Input,
|
|
170
142
|
args: [{ transform: booleanAttribute }]
|
|
171
143
|
}], horizontal: [{
|
|
@@ -183,6 +155,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
|
|
|
183
155
|
}], afterCollapse: [{
|
|
184
156
|
type: Output
|
|
185
157
|
}] } });
|
|
158
|
+
/**
|
|
159
|
+
* This collapse component is used to show and hide content.
|
|
160
|
+
* Buttons or anchors are used as triggers that are mapped to specific elements you toggle.
|
|
161
|
+
*/
|
|
162
|
+
class CuteCollapse extends CuteCollapseBase {
|
|
163
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CuteCollapse, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
164
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.0", type: CuteCollapse, isStandalone: true, selector: "cute-collapse", host: { properties: { "class": "\"cute-collapse-\"+(horizontal ? \"horizontal\" : \"vertical\")+\" \"+getState()", "id": "id || null" }, classAttribute: "cute-collapse" }, exportAs: ["cuteCollapse"], usesInheritance: true, ngImport: i0, template: "<div class=\"cute-collapse-content\" #content>\r\n <ng-content></ng-content>\r\n</div>\r\n", styles: [".cute-collapse{display:grid;width:100%;overflow:hidden}.cute-collapse .cute-collapse-content{min-height:0;overflow:hidden;transition:display .1s;transition-timing-function:ease-in-out;transition-behavior:allow-discrete;display:none}.cute-collapse.expanded .cute-collapse-content{display:block}.cute-collapse.collapsed .cute-collapse-content{display:none}.cute-collapse.cute-collapse-vertical{grid-template-rows:0fr}.cute-collapse.cute-collapse-vertical.expanded{grid-template-rows:1fr}.cute-collapse.cute-collapse-vertical.collapsed{grid-template-rows:0fr}.cute-collapse.cute-collapse-vertical.cute-collapse-animations-enabled{transition:grid-template-rows .2s}.cute-collapse.cute-collapse-horizontal{grid-template-columns:0fr}.cute-collapse.cute-collapse-horizontal.expanded{grid-template-columns:1fr}.cute-collapse.cute-collapse-horizontal.collapsed{grid-template-columns:0fr}.cute-collapse.cute-collapse-horizontal.cute-collapse-animations-enabled{transition:grid-template-columns .2s}.cute-collapse.cute-collapse-horizontal.cute-collapse-animations-enabled .cute-collapse-content{transition-duration:.2s}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
165
|
+
}
|
|
166
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CuteCollapse, decorators: [{
|
|
167
|
+
type: Component,
|
|
168
|
+
args: [{ selector: 'cute-collapse', exportAs: 'cuteCollapse', host: {
|
|
169
|
+
'class': 'cute-collapse',
|
|
170
|
+
'[class]': '"cute-collapse-"+(horizontal ? "horizontal" : "vertical")+" "+getState()',
|
|
171
|
+
'[id]': 'id || null',
|
|
172
|
+
}, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"cute-collapse-content\" #content>\r\n <ng-content></ng-content>\r\n</div>\r\n", styles: [".cute-collapse{display:grid;width:100%;overflow:hidden}.cute-collapse .cute-collapse-content{min-height:0;overflow:hidden;transition:display .1s;transition-timing-function:ease-in-out;transition-behavior:allow-discrete;display:none}.cute-collapse.expanded .cute-collapse-content{display:block}.cute-collapse.collapsed .cute-collapse-content{display:none}.cute-collapse.cute-collapse-vertical{grid-template-rows:0fr}.cute-collapse.cute-collapse-vertical.expanded{grid-template-rows:1fr}.cute-collapse.cute-collapse-vertical.collapsed{grid-template-rows:0fr}.cute-collapse.cute-collapse-vertical.cute-collapse-animations-enabled{transition:grid-template-rows .2s}.cute-collapse.cute-collapse-horizontal{grid-template-columns:0fr}.cute-collapse.cute-collapse-horizontal.expanded{grid-template-columns:1fr}.cute-collapse.cute-collapse-horizontal.collapsed{grid-template-columns:0fr}.cute-collapse.cute-collapse-horizontal.cute-collapse-animations-enabled{transition:grid-template-columns .2s}.cute-collapse.cute-collapse-horizontal.cute-collapse-animations-enabled .cute-collapse-content{transition-duration:.2s}\n"] }]
|
|
173
|
+
}] });
|
|
186
174
|
|
|
187
175
|
/**
|
|
188
176
|
* @license Apache-2.0
|
|
@@ -201,17 +189,17 @@ class CuteCollapseTrigger {
|
|
|
201
189
|
set collapseControl(collapse) {
|
|
202
190
|
this._collapseControl = collapse;
|
|
203
191
|
}
|
|
204
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
205
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
192
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CuteCollapseTrigger, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
193
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.0", type: CuteCollapseTrigger, isStandalone: true, selector: "[cuteCollapseTriggerFor]", inputs: { collapseControl: ["cuteCollapseTriggerFor", "collapseControl"] }, host: { listeners: { "click": "collapseControl?.toggle()" }, properties: { "class.collapsed": "!collapseControl?.expanded", "attr.aria-expanded": "collapseControl ? collapseControl.expanded : null", "attr.aria-controls": "collapseControl?.id || null" }, classAttribute: "cute-collapse-trigger" }, exportAs: ["cuteCollapseTrigger"], ngImport: i0 }); }
|
|
206
194
|
}
|
|
207
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
195
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CuteCollapseTrigger, decorators: [{
|
|
208
196
|
type: Directive,
|
|
209
197
|
args: [{
|
|
210
198
|
selector: '[cuteCollapseTriggerFor]',
|
|
211
199
|
exportAs: 'cuteCollapseTrigger',
|
|
212
200
|
host: {
|
|
213
201
|
'class': 'cute-collapse-trigger',
|
|
214
|
-
'[class.collapsed]': 'collapseControl?.
|
|
202
|
+
'[class.collapsed]': '!collapseControl?.expanded',
|
|
215
203
|
'[attr.aria-expanded]': 'collapseControl ? collapseControl.expanded : null',
|
|
216
204
|
'[attr.aria-controls]': 'collapseControl?.id || null',
|
|
217
205
|
'(click)': 'collapseControl?.toggle()',
|
|
@@ -236,13 +224,13 @@ const TYPES = [
|
|
|
236
224
|
CuteCollapseTrigger,
|
|
237
225
|
];
|
|
238
226
|
class CuteCollapseModule {
|
|
239
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
240
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
227
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CuteCollapseModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
228
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.0", ngImport: i0, type: CuteCollapseModule, imports: [CommonModule, CuteCollapse,
|
|
241
229
|
CuteCollapseTrigger], exports: [CuteCollapse,
|
|
242
230
|
CuteCollapseTrigger] }); }
|
|
243
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
231
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CuteCollapseModule, imports: [CommonModule] }); }
|
|
244
232
|
}
|
|
245
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
233
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CuteCollapseModule, decorators: [{
|
|
246
234
|
type: NgModule,
|
|
247
235
|
args: [{
|
|
248
236
|
imports: [CommonModule, ...TYPES],
|
|
@@ -255,5 +243,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
|
|
|
255
243
|
* Generated bundle index. Do not edit.
|
|
256
244
|
*/
|
|
257
245
|
|
|
258
|
-
export {
|
|
246
|
+
export { CuteCollapse, CuteCollapseBase, CuteCollapseModule, CuteCollapseTrigger };
|
|
259
247
|
//# sourceMappingURL=cute-widgets-base-collapse.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cute-widgets-base-collapse.mjs","sources":["../../../../projects/cute-widgets/base/collapse/src/collapse-animations.ts","../../../../projects/cute-widgets/base/collapse/src/collapse.component.ts","../../../../projects/cute-widgets/base/collapse/src/collapse-trigger.directive.ts","../../../../projects/cute-widgets/base/collapse/src/collapse.module.ts","../../../../projects/cute-widgets/base/collapse/cute-widgets-base-collapse.ts"],"sourcesContent":["/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n */\r\nimport {\r\n animate,\r\n AnimationTriggerMetadata,\r\n state,\r\n style,\r\n transition,\r\n trigger,\r\n} from '@angular/animations';\r\n\r\n/** Time and timing curve for **collapse** animations. */\r\nexport const CUTE_COLLAPSE_ANIMATION_TIMING = '225ms cubic-bezier(0.4,0.0,0.2,1)';\r\n\r\n/**\r\n * Animations used by the CuteWidgets` collapse element.\r\n */\r\nexport const cuteCollapseAnimations: {\r\n //readonly indicatorRotate: AnimationTriggerMetadata;\r\n readonly bodyExpansion: AnimationTriggerMetadata;\r\n} = {\r\n /** Animation that rotates the indicator arrow. */\r\n /*\r\n indicatorRotate: trigger('indicatorRotate', [\r\n state('collapsed, void', style({transform: 'rotate(0deg)'})),\r\n state('expanded', style({transform: 'rotate(180deg)'})),\r\n transition(\r\n 'expanded <=> collapsed, void => collapsed',\r\n animate(EXPANSION_PANEL_ANIMATION_TIMING),\r\n ),\r\n ]),\r\n */\r\n /** Animation that expands and collapses the panel content. */\r\n bodyExpansion: trigger('bodyExpansion', [\r\n state('collapsed, void', style({height: '0px', visibility: 'hidden'})),\r\n state('collapsed-hor, void', style({width: '0px', visibility: 'hidden'})),\r\n // Clear the `visibility` while open, otherwise the content will be visible when placed in\r\n // a parent that's `visibility: hidden`, because `visibility` doesn't apply to descendants\r\n // that have a `visibility` of their own (see #27436).\r\n state('expanded', style({height: '*', visibility: ''})),\r\n state('expanded-hor', style({width: '*', visibility: ''})),\r\n transition(\r\n //'expanded <=> collapsed, expanded-hor <=> collapsed-hor, :enter',\r\n '* => *, :enter, :leave',\r\n animate(CUTE_COLLAPSE_ANIMATION_TIMING),\r\n )\r\n ]),\r\n};\r\n","/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n */\r\nimport {\r\n booleanAttribute,\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input, OnDestroy,\r\n Output, signal,\r\n ViewEncapsulation\r\n} from \"@angular/core\";\r\nimport {CuteBaseControl, Expandable} from \"@cute-widgets/base/abstract\";\r\nimport {cuteCollapseAnimations} from \"./collapse-animations\";\r\nimport {Subject} from \"rxjs\";\r\nimport {distinctUntilChanged} from \"rxjs/operators\";\r\nimport {AnimationEvent} from \"@angular/animations\";\r\n\r\n// Increasing integer for generating unique ids for checkbox components.\r\nlet nextUniqueId = 0;\r\n\r\n/** Animation states */\r\nexport type CuteCollapseState = 'expanded' | 'collapsed';\r\n\r\n/**\r\n * This collapse component is used to show and hide content.\r\n * Buttons or anchors are used as triggers that are mapped to specific elements you toggle.\r\n */\r\n@Component({\r\n selector: 'cute-collapse',\r\n template: '<ng-content></ng-content>',\r\n styles: `\r\n .cute-collapse {display: block;}\r\n .ng-animating {overflow: hidden;}\r\n `,\r\n exportAs: 'cuteCollapse',\r\n host: {\r\n 'class': 'cute-collapse', // collapse',\r\n //'[class.show]': '!collapsed',\r\n '[id]': 'id || null',\r\n '[@bodyExpansion]': 'getState()+(horizontal?\"-hor\":\"\")',\r\n '[@.disabled]': 'disableAnimation',\r\n '(@bodyExpansion.start)': '_bodyAnimation$.next($event)',\r\n '(@bodyExpansion.done)': '_bodyAnimation$.next($event)',\r\n },\r\n animations: [cuteCollapseAnimations.bodyExpansion],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: true\r\n})\r\nexport class CuteCollapse extends CuteBaseControl implements Expandable, OnDestroy {\r\n\r\n /** Sets the element's current state to _collapsed_ or _expanded_ value. */\r\n @Input({transform: booleanAttribute})\r\n get collapsed(): boolean { return this._collapsed(); }\r\n set collapsed(value: boolean) {\r\n if (value !== this._collapsed()) {\r\n if (this.disableAnimation) {\r\n (value ? this.beforeCollapse : this.beforeExpand).emit();\r\n }\r\n this._collapsed.set(value);\r\n if (this.disableAnimation) {\r\n (value ? this.afterCollapse : this.afterExpand).emit();\r\n }\r\n }\r\n }\r\n private _collapsed = signal<boolean>(true);\r\n\r\n /** Expanding/Collapsing directionality, _horizontal_ or _vertical_. Default is _vertical_. */\r\n @Input({transform: booleanAttribute})\r\n horizontal: boolean = false;\r\n\r\n /** Whether the animation while collapsing/expanding should be disabled */\r\n @Input({transform: booleanAttribute})\r\n disableAnimation: boolean = false;\r\n\r\n /** Event emitting before expand element */\r\n @Output() readonly beforeExpand = new EventEmitter<void>();\r\n /** Event emitting before collapse element */\r\n @Output() readonly beforeCollapse = new EventEmitter<void>();\r\n\r\n /** Event emitting after expand element */\r\n @Output() readonly afterExpand = new EventEmitter<void>();\r\n /** Event emitting after collapse element */\r\n @Output() readonly afterCollapse = new EventEmitter<void>();\r\n\r\n /** Weather the current state is _collapsed_ or _expanded_. Part of `Expandable` interface. */\r\n public get expanded(): boolean { return !this.collapsed; }\r\n\r\n /** Stream of body animation events. */\r\n protected readonly _bodyAnimation$ = new Subject<AnimationEvent>();\r\n\r\n constructor() {\r\n super();\r\n\r\n // We need a Subject with distinctUntilChanged, because the `done` event\r\n // fires twice on some browsers. See https://github.com/angular/angular/issues/24084\r\n this._bodyAnimation$\r\n .pipe(\r\n distinctUntilChanged((x, y) => {\r\n return x.phaseName === y.phaseName && x.fromState === y.fromState && x.toState === y.toState;\r\n }),\r\n )\r\n .subscribe((event: AnimationEvent) => {\r\n this.onAnimationEvent(event);\r\n });\r\n }\r\n\r\n protected onAnimationEvent(event: AnimationEvent) {\r\n if (event.fromState !== 'void') {\r\n const toState = event.toState;\r\n if (event.phaseName == \"start\") {\r\n if (toState.startsWith('expanded')) {\r\n this.beforeExpand.emit();\r\n } else if (toState.startsWith('collapsed')) {\r\n this.beforeCollapse.emit();\r\n }\r\n } else if (event.phaseName == \"done\") {\r\n if (toState.startsWith('expanded')) {\r\n this.afterExpand.emit();\r\n } else if (toState.startsWith('collapsed')) {\r\n this.afterCollapse.emit();\r\n }\r\n }\r\n }\r\n }\r\n\r\n protected override generateId(): string {\r\n return `cute-collapse-${nextUniqueId++}`;\r\n }\r\n\r\n /** Gets the expanded state string. */\r\n getState(): CuteCollapseState {\r\n return this.collapsed ? 'collapsed' : 'expanded';\r\n }\r\n\r\n /** Part of `Expandable` interface */\r\n toggle(): void {\r\n this.collapsed = !this.collapsed;\r\n }\r\n\r\n /** Part of `Expandable` interface */\r\n open(): void {\r\n if (this.collapsed) {\r\n this.collapsed = false;\r\n }\r\n }\r\n\r\n /** Part of `Expandable` interface */\r\n close(): void {\r\n if (!this.collapsed) {\r\n this.collapsed = true;\r\n }\r\n }\r\n\r\n override ngOnDestroy() {\r\n super.ngOnDestroy();\r\n this._bodyAnimation$.complete();\r\n }\r\n\r\n}\r\n","/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n */\r\nimport {Directive, Input} from \"@angular/core\";\r\nimport {CuteCollapse} from \"./collapse.component\";\r\n\r\n@Directive({\r\n selector: '[cuteCollapseTriggerFor]',\r\n exportAs: 'cuteCollapseTrigger',\r\n host: {\r\n 'class': 'cute-collapse-trigger',\r\n '[class.collapsed]': 'collapseControl?.collapsed',\r\n '[attr.aria-expanded]': 'collapseControl ? collapseControl.expanded : null',\r\n '[attr.aria-controls]': 'collapseControl?.id || null',\r\n '(click)': 'collapseControl?.toggle()',\r\n },\r\n standalone: true,\r\n})\r\nexport class CuteCollapseTrigger {\r\n\r\n /** Reference to the `cute-collapse` component to toggle its visibility */\r\n @Input(\"cuteCollapseTriggerFor\")\r\n get collapseControl(): CuteCollapse | null {return this._collapseControl;}\r\n set collapseControl(collapse: CuteCollapse | null) {\r\n this._collapseControl = collapse;\r\n }\r\n private _collapseControl: CuteCollapse | null = null;\r\n\r\n}\r\n","/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n */\r\nimport {NgModule, Type} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {CuteCollapse} from \"./collapse.component\";\r\nimport {CuteCollapseTrigger} from \"./collapse-trigger.directive\";\r\n\r\nconst TYPES: (any | Type<any>)[] = [\r\n CuteCollapse,\r\n CuteCollapseTrigger,\r\n];\r\n\r\n@NgModule({\r\n imports: [CommonModule, ...TYPES],\r\n exports: TYPES,\r\n declarations: [],\r\n})\r\nexport class CuteCollapseModule {\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cute-widgets-base-collapse.mjs","sources":["../../../../projects/cute-widgets/base/collapse/src/collapse.component.ts","../../../../projects/cute-widgets/base/collapse/src/collapse.component.html","../../../../projects/cute-widgets/base/collapse/src/collapse-trigger.directive.ts","../../../../projects/cute-widgets/base/collapse/src/collapse.module.ts","../../../../projects/cute-widgets/base/collapse/cute-widgets-base-collapse.ts"],"sourcesContent":["/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n */\r\nimport {\r\n AfterContentInit,\r\n booleanAttribute,\r\n ChangeDetectionStrategy,\r\n Component, Directive,\r\n EventEmitter, inject,\r\n Input, NgZone,\r\n Output,\r\n ViewEncapsulation\r\n} from \"@angular/core\";\r\nimport {CdkAccordionItem} from '@angular/cdk/accordion';\r\nimport {BooleanInput, coerceBooleanProperty} from '@angular/cdk/coercion';\r\nimport {CuteLayoutControl, Expandable} from \"@cute-widgets/base/abstract\";\r\nimport {_animationsDisabled} from '@cute-widgets/base/core';\r\n\r\n// Increasing integer for generating unique ids for checkbox components.\r\nlet nextUniqueId = 0;\r\n\r\n/** Animation states */\r\nexport type CuteCollapseState = 'expanded' | 'collapsed';\r\n\r\n@Directive({\r\n hostDirectives: [{directive: CdkAccordionItem, outputs: [\"expandedChange\"]}],\r\n})\r\nexport abstract class CuteCollapseBase extends CuteLayoutControl implements Expandable, AfterContentInit {\r\n protected _ngZone = inject(NgZone);\r\n protected _accordionItem = inject(CdkAccordionItem);\r\n protected _animationsDisabled = _animationsDisabled();\r\n private _cleanupTransitionHandlers: (() => void)[] = [];\r\n\r\n /** Whether the `CuteCollapse` is expanded. */\r\n @Input({transform: booleanAttribute})\r\n get expanded(): boolean {return this._accordionItem.expanded;}\r\n set expanded(value: boolean) {this._accordionItem.expanded = value;}\r\n\r\n /** Expanding/Collapsing directionality, _horizontal_ or _vertical_. Default is _vertical_. */\r\n @Input({transform: booleanAttribute})\r\n horizontal: boolean = false;\r\n\r\n /** Whether the animation while collapsing/expanding should be disabled */\r\n @Input({transform: booleanAttribute})\r\n get disableAnimation(): boolean {return this._disableAnimation ?? this._animationsDisabled;}\r\n set disableAnimation(value: boolean) { this._disableAnimation = value; }\r\n private _disableAnimation: boolean | undefined;\r\n\r\n /** Event emitting before expand element */\r\n @Output() readonly beforeExpand = new EventEmitter<void>();\r\n /** Event emitting before collapse element */\r\n @Output() readonly beforeCollapse = new EventEmitter<void>();\r\n\r\n /** Event emitting after expand element */\r\n @Output() readonly afterExpand = new EventEmitter<void>();\r\n /** Event emitting after collapse element */\r\n @Output() readonly afterCollapse = new EventEmitter<void>();\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n protected override setDisabledState(newState: BooleanInput, emitEvent?: boolean): boolean {\r\n if (super.setDisabledState(newState, emitEvent)) {\r\n this._accordionItem.disabled = coerceBooleanProperty(newState);\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n protected override generateId(): string {\r\n return `cute-collapse-${nextUniqueId++}`;\r\n }\r\n\r\n /** Gets the expanded state string. */\r\n getState(): CuteCollapseState {\r\n return this._accordionItem.expanded ? 'expanded' : 'collapsed';\r\n }\r\n\r\n /**\r\n * @inheritDoc\r\n * Part of `Expandable` interface.\r\n */\r\n toggle(): void {\r\n this._accordionItem.toggle();\r\n }\r\n\r\n /**\r\n * @inheritDoc\r\n * Part of `Expandable` interface.\r\n */\r\n open(): void {\r\n this._accordionItem.open();\r\n }\r\n\r\n /**\r\n * @inheritDoc\r\n * Part of `Expandable` interface.\r\n */\r\n close(): void {\r\n this._accordionItem.close();\r\n }\r\n\r\n private _transitionStartListener = (event: TransitionEvent) => {\r\n if (event.target === this._nativeElement &&\r\n (event.propertyName === 'grid-template-rows' || event.propertyName === 'grid-template-columns')\r\n ) {\r\n this._ngZone.run(() => {\r\n if (this._accordionItem.expanded) {\r\n this.beforeExpand.emit();\r\n } else {\r\n this.beforeCollapse.emit();\r\n }\r\n });\r\n }\r\n }\r\n\r\n private _transitionEndListener = (event: TransitionEvent) => {\r\n if (event.target === this._nativeElement &&\r\n (event.propertyName === 'grid-template-rows' || event.propertyName === 'grid-template-columns')\r\n ) {\r\n this._ngZone.run(() => {\r\n if (this._accordionItem.expanded) {\r\n this.afterExpand.emit();\r\n } else {\r\n this.afterCollapse.emit();\r\n }\r\n });\r\n }\r\n }\r\n\r\n protected _setupAnimationEvents() {\r\n // This method is defined separately, because we need to\r\n // disable this logic in some internal components.\r\n this._ngZone.runOutsideAngular(() => {\r\n if (this.disableAnimation) {\r\n this._accordionItem.opened.subscribe(() => this._ngZone.run(() => this.beforeExpand.emit()));\r\n this._accordionItem.closed.subscribe(() => this._ngZone.run(() => this.beforeCollapse.emit()));\r\n this._accordionItem.opened.subscribe(() => this._ngZone.run(() => this.afterExpand.emit()));\r\n this._accordionItem.closed.subscribe(() => this._ngZone.run(() => this.afterCollapse.emit()));\r\n } else {\r\n setTimeout(() => {\r\n const element = this._nativeElement;\r\n this._cleanupTransitionHandlers.push(\r\n this._renderer.listen(element, 'transitionend', this._transitionEndListener),\r\n this._renderer.listen(element, 'transitionstart', this._transitionStartListener),\r\n );\r\n element.classList.add('cute-collapse-animations-enabled');\r\n }, 200);\r\n }\r\n });\r\n }\r\n\r\n override ngAfterContentInit() {\r\n super.ngAfterContentInit();\r\n this._setupAnimationEvents();\r\n }\r\n\r\n override ngOnDestroy() {\r\n super.ngOnDestroy();\r\n this._cleanupTransitionHandlers.forEach(cleanup => cleanup());\r\n }\r\n\r\n}\r\n\r\n/**\r\n * This collapse component is used to show and hide content.\r\n * Buttons or anchors are used as triggers that are mapped to specific elements you toggle.\r\n */\r\n@Component({\r\n selector: 'cute-collapse',\r\n templateUrl: './collapse.component.html',\r\n styleUrl: './collapse.component.scss',\r\n exportAs: 'cuteCollapse',\r\n host: {\r\n 'class': 'cute-collapse',\r\n '[class]': '\"cute-collapse-\"+(horizontal ? \"horizontal\" : \"vertical\")+\" \"+getState()',\r\n '[id]': 'id || null',\r\n },\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class CuteCollapse extends CuteCollapseBase {}\r\n","<div class=\"cute-collapse-content\" #content>\r\n <ng-content></ng-content>\r\n</div>\r\n","/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n */\r\nimport {Directive, Input} from \"@angular/core\";\r\nimport {Expandable} from '@cute-widgets/base/abstract';\r\n\r\n@Directive({\r\n selector: '[cuteCollapseTriggerFor]',\r\n exportAs: 'cuteCollapseTrigger',\r\n host: {\r\n 'class': 'cute-collapse-trigger',\r\n '[class.collapsed]': '!collapseControl?.expanded',\r\n '[attr.aria-expanded]': 'collapseControl ? collapseControl.expanded : null',\r\n '[attr.aria-controls]': 'collapseControl?.id || null',\r\n '(click)': 'collapseControl?.toggle()',\r\n },\r\n standalone: true,\r\n})\r\nexport class CuteCollapseTrigger {\r\n\r\n /** Reference to the `cute-collapse` component to toggle its visibility */\r\n @Input(\"cuteCollapseTriggerFor\")\r\n get collapseControl(): Expandable | null {return this._collapseControl;}\r\n set collapseControl(collapse: Expandable | null) {\r\n this._collapseControl = collapse;\r\n }\r\n private _collapseControl: Expandable | null = null;\r\n\r\n}\r\n","/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n */\r\nimport {NgModule, Type} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {CuteCollapse} from \"./collapse.component\";\r\nimport {CuteCollapseTrigger} from \"./collapse-trigger.directive\";\r\n\r\nconst TYPES: (any | Type<any>)[] = [\r\n CuteCollapse,\r\n CuteCollapseTrigger,\r\n];\r\n\r\n@NgModule({\r\n imports: [CommonModule, ...TYPES],\r\n exports: TYPES,\r\n declarations: [],\r\n})\r\nexport class CuteCollapseModule {\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -505,10 +505,10 @@ class NativeDateAdapter extends DateAdapter {
|
|
|
505
505
|
}
|
|
506
506
|
return null;
|
|
507
507
|
}
|
|
508
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
509
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
508
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NativeDateAdapter, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
509
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NativeDateAdapter }); }
|
|
510
510
|
}
|
|
511
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
511
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NativeDateAdapter, decorators: [{
|
|
512
512
|
type: Injectable
|
|
513
513
|
}], ctorParameters: () => [] });
|
|
514
514
|
/** Checks whether a number is within a certain range. */
|
|
@@ -532,22 +532,22 @@ const CUTE_NATIVE_DATE_FORMATS = {
|
|
|
532
532
|
};
|
|
533
533
|
|
|
534
534
|
class NativeDateModule {
|
|
535
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
536
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
537
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
535
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NativeDateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
536
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.0", ngImport: i0, type: NativeDateModule }); }
|
|
537
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NativeDateModule, providers: [{ provide: DateAdapter, useClass: NativeDateAdapter }] }); }
|
|
538
538
|
}
|
|
539
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
539
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NativeDateModule, decorators: [{
|
|
540
540
|
type: NgModule,
|
|
541
541
|
args: [{
|
|
542
542
|
providers: [{ provide: DateAdapter, useClass: NativeDateAdapter }],
|
|
543
543
|
}]
|
|
544
544
|
}] });
|
|
545
545
|
class CuteNativeDateModule {
|
|
546
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
547
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
548
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
546
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CuteNativeDateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
547
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.0", ngImport: i0, type: CuteNativeDateModule }); }
|
|
548
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CuteNativeDateModule, providers: [provideNativeDateAdapter()] }); }
|
|
549
549
|
}
|
|
550
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
550
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CuteNativeDateModule, decorators: [{
|
|
551
551
|
type: NgModule,
|
|
552
552
|
args: [{
|
|
553
553
|
providers: [provideNativeDateAdapter()],
|