@cute-widgets/base 20.0.4 → 20.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/CHANGELOG.md +11 -6
  2. package/abstract/index.d.ts +8 -2
  3. package/button/index.d.ts +44 -22
  4. package/button-toggle/index.d.ts +8 -4
  5. package/collapse/index.d.ts +49 -48
  6. package/core/index.d.ts +7 -1
  7. package/core/layout/index.d.ts +7 -1
  8. package/dialog/index.d.ts +81 -57
  9. package/fesm2022/cute-widgets-base-abstract.mjs +4 -14
  10. package/fesm2022/cute-widgets-base-abstract.mjs.map +1 -1
  11. package/fesm2022/cute-widgets-base-button-toggle.mjs +36 -29
  12. package/fesm2022/cute-widgets-base-button-toggle.mjs.map +1 -1
  13. package/fesm2022/cute-widgets-base-button.mjs +163 -99
  14. package/fesm2022/cute-widgets-base-button.mjs.map +1 -1
  15. package/fesm2022/cute-widgets-base-chips.mjs +0 -12
  16. package/fesm2022/cute-widgets-base-chips.mjs.map +1 -1
  17. package/fesm2022/cute-widgets-base-collapse.mjs +114 -126
  18. package/fesm2022/cute-widgets-base-collapse.mjs.map +1 -1
  19. package/fesm2022/cute-widgets-base-core-layout.mjs +13 -1
  20. package/fesm2022/cute-widgets-base-core-layout.mjs.map +1 -1
  21. package/fesm2022/cute-widgets-base-core-theming.mjs +1 -1
  22. package/fesm2022/cute-widgets-base-core-theming.mjs.map +1 -1
  23. package/fesm2022/cute-widgets-base-core.mjs +14 -2
  24. package/fesm2022/cute-widgets-base-core.mjs.map +1 -1
  25. package/fesm2022/cute-widgets-base-dialog.mjs +152 -117
  26. package/fesm2022/cute-widgets-base-dialog.mjs.map +1 -1
  27. package/fesm2022/cute-widgets-base-menu.mjs +5 -27
  28. package/fesm2022/cute-widgets-base-menu.mjs.map +1 -1
  29. package/fesm2022/cute-widgets-base-navbar.mjs +82 -42
  30. package/fesm2022/cute-widgets-base-navbar.mjs.map +1 -1
  31. package/fesm2022/cute-widgets-base-paginator.mjs +4 -4
  32. package/fesm2022/cute-widgets-base-paginator.mjs.map +1 -1
  33. package/fesm2022/cute-widgets-base-tabs.mjs +86 -61
  34. package/fesm2022/cute-widgets-base-tabs.mjs.map +1 -1
  35. package/fesm2022/cute-widgets-base.mjs +1 -1
  36. package/navbar/index.d.ts +24 -9
  37. package/package.json +13 -13
  38. package/paginator/index.d.ts +2 -2
  39. package/tabs/index.d.ts +35 -14
package/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
+ ## Changes in version 20.0.5 (2026-02-15)
2
+
3
+ ### Fixes
4
+ * Fixed incorrect display of disabled states in the `CuteButtonToggle` and `CuteButtonToggleGroup` components.
5
+ * Auto scrolling has been fixed for new dynamic `CuteTab` in the vertical header positions.
6
+
7
+ ### Improvements
8
+ * Changing a page number in `CutePaginator` now works more smoothly.
9
+ * `CuteDialog` is now more compatible with Angular Material's dialog component.
10
+ * `CuteTabs` and `CuteCollapse` now work with native CSS animations.
11
+
1
12
  ## Changes in version 20.0.4 (2026-01-30)
2
13
 
3
- ---
4
14
  ### Fixes:
5
15
  * The internal markup of `CuteCardBody` and `CuteCardSubtitle` has been changed.
6
16
  * The type of `sort` parameter in `CuteTableDataSource#sortData` has been changed to `Sort` interface.
@@ -13,23 +23,18 @@
13
23
  * `CuteChips` have become more cute.
14
24
  * The `bsBreakpoints` object has been completely redesigned.
15
25
 
16
-
17
26
  ## Changes in version 20.0.3 (2026-01-12)
18
27
 
19
- ---
20
28
  * Multiple cosmetic changes.
21
29
 
22
30
  ## Changes in version 20.0.2 (2025-12-30)
23
31
 
24
- ---
25
32
  * `cute-select` now uses native CSS animation.
26
33
 
27
34
  ## Changes in version 20.0.1 (2025-12-26)
28
35
 
29
- ---
30
36
  * Small changes.
31
37
 
32
38
  ## Version 20.0.0
33
39
 
34
- ---
35
40
  * Initial version.
@@ -216,10 +216,16 @@ declare abstract class CuteBaseControl implements CuteWidget, OnInit, AfterViewI
216
216
  */
217
217
 
218
218
  interface Expandable {
219
+ /** Id of the `Expandable` component. */
220
+ id?: string;
221
+ /** Changes the expanded state of the `Expandable` component. */
222
+ expanded: boolean | Signal<boolean>;
223
+ /** Sets the expanded state of the `Expandable` component to _true_. */
219
224
  open(): void;
225
+ /** Sets the expanded state of the `Expandable` component to _false_. */
220
226
  close(): void;
227
+ /** Toggles the expanded state of the `Expandable` component. */
221
228
  toggle(): void;
222
- expanded: boolean | Signal<boolean>;
223
229
  }
224
230
 
225
231
  /**
@@ -310,7 +316,7 @@ declare abstract class CuteInputDropdownControl extends CuteInputControl impleme
310
316
 
311
317
  declare abstract class CuteLayoutControl extends CuteBaseControl {
312
318
  protected breakpointObserver: BreakpointObserver;
313
- private _subscription;
319
+ private _bpSubscription;
314
320
  /** Returns CSS-class list */
315
321
  protected get classList(): string;
316
322
  /** Clears floated content within a container */
package/button/index.d.ts CHANGED
@@ -1,24 +1,13 @@
1
+ import * as _cute_widgets_base_button from '@cute-widgets/base/button';
1
2
  import * as i0 from '@angular/core';
2
- import { DoCheck, NgZone, InjectionToken, QueryList } from '@angular/core';
3
+ import { DoCheck, NgZone, InjectionToken, QueryList, EventEmitter } from '@angular/core';
3
4
  import { CuteFocusableControl } from '@cute-widgets/base/abstract';
4
5
  import { RelativeSize7, ThemeColor, toThemeColor } from '@cute-widgets/base/core';
5
6
  import { Ripple } from '@cute-widgets/base/core/ripple';
6
- import { RelativeSize5 } from '@cute-widgets/base/core/types';
7
7
  import { BooleanInput } from '@angular/cdk/coercion';
8
+ import { RelativeSize5 } from '@cute-widgets/base/core/types';
8
9
  import * as i1 from '@angular/common';
9
10
 
10
- /**
11
- * @license Apache-2.0
12
- *
13
- * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.
14
- *
15
- * You may not use this file except in compliance with the License
16
- * that can be found at http://www.apache.org/licenses/LICENSE-2.0
17
- *
18
- * This code is a modification of the `@angular/material` original
19
- * code licensed under MIT-style License (https://angular.dev/license).
20
- */
21
-
22
11
  /** Button's appearance style */
23
12
  type CuteButtonStyle = "base-button" | "flat-button" | "outline-button" | "raised-button" | "pill-button" | "circle-button" | "close-button" | "icon-button" | "fab-button"
24
13
  /** Appearance styles for Angular Material compatibility */
@@ -29,6 +18,8 @@ interface CuteButtonConfig {
29
18
  disabledInteractive?: boolean;
30
19
  /** Default palette color to apply to buttons. */
31
20
  color?: ThemeColor;
21
+ /** Whether to enable text wrapping. */
22
+ wrapText?: boolean;
32
23
  }
33
24
  /** Injection token that can be used to provide the default options the button component. */
34
25
  declare const CUTE_BUTTON_CONFIG: InjectionToken<CuteButtonConfig>;
@@ -43,6 +34,7 @@ declare abstract class CuteButtonBase extends CuteFocusableControl implements Do
43
34
  private _destroyed$;
44
35
  protected readonly _ripple: Ripple;
45
36
  protected readonly _ngZone: NgZone;
37
+ protected readonly _group: _cute_widgets_base_button.CuteButtonGroup | null;
46
38
  protected readonly _isAnchor: boolean;
47
39
  private _icons;
48
40
  /** Button's appearance style in the following format: `{style}-button`. */
@@ -52,8 +44,8 @@ declare abstract class CuteButtonBase extends CuteFocusableControl implements Do
52
44
  private _buttonStyle;
53
45
  /** Relative size of the Button. */
54
46
  magnitude: RelativeSize7 | undefined;
55
- /** Whether to enable label wrapping. */
56
- wrapLabel: boolean;
47
+ /** Whether to enable text wrapping. */
48
+ wrapText: boolean;
57
49
  /** Whether to disable the ripple effect on button clicking. */
58
50
  get disableRipple(): boolean;
59
51
  set disableRipple(value: boolean);
@@ -95,7 +87,7 @@ declare abstract class CuteButtonBase extends CuteFocusableControl implements Do
95
87
  protected generateId(): string;
96
88
  protected _getTabIndex(): number | undefined;
97
89
  private _setupAsAnchor;
98
- protected setDisabledState(newState: boolean): boolean;
90
+ protected setDisabledState(newState: BooleanInput): boolean;
99
91
  private _savedTabIndex;
100
92
  protected _getAriaDisabled(): boolean | null;
101
93
  protected _getDisabledAttribute(): true | null;
@@ -111,8 +103,8 @@ declare abstract class CuteButtonBase extends CuteFocusableControl implements Do
111
103
  private _onMouseEvent;
112
104
  private _launchRipple;
113
105
  static ɵfac: i0.ɵɵFactoryDeclaration<CuteButtonBase, never>;
114
- static ɵdir: i0.ɵɵDirectiveDeclaration<CuteButtonBase, never, never, { "inputButtonStyle": { "alias": "cuteButton"; "required": false; }; "magnitude": { "alias": "magnitude"; "required": false; }; "wrapLabel": { "alias": "wrapLabel"; "required": false; }; "disableRipple": { "alias": "disableRipple"; "required": false; }; "ariaDisabled": { "alias": "aria-disabled"; "required": false; }; "withAriaExpandedIndicator": { "alias": "withAriaExpandedIndicator"; "required": false; }; "disabledInteractive": { "alias": "disabledInteractive"; "required": false; }; "visuallyHiddenLabel": { "alias": "visuallyHiddenLabel"; "required": false; }; }, {}, ["_icons"], never, true, never>;
115
- static ngAcceptInputType_wrapLabel: unknown;
106
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CuteButtonBase, never, never, { "inputButtonStyle": { "alias": "cuteButton"; "required": false; }; "magnitude": { "alias": "magnitude"; "required": false; }; "wrapText": { "alias": "wrapText"; "required": false; }; "disableRipple": { "alias": "disableRipple"; "required": false; }; "ariaDisabled": { "alias": "aria-disabled"; "required": false; }; "withAriaExpandedIndicator": { "alias": "withAriaExpandedIndicator"; "required": false; }; "disabledInteractive": { "alias": "disabledInteractive"; "required": false; }; "visuallyHiddenLabel": { "alias": "visuallyHiddenLabel"; "required": false; }; }, {}, ["_icons"], never, true, never>;
107
+ static ngAcceptInputType_wrapText: unknown;
116
108
  static ngAcceptInputType_ariaDisabled: unknown;
117
109
  static ngAcceptInputType_withAriaExpandedIndicator: unknown;
118
110
  static ngAcceptInputType_disabledInteractive: unknown;
@@ -134,10 +126,17 @@ declare class CuteButton extends CuteButtonBase {
134
126
  * that can be found at http://www.apache.org/licenses/LICENSE-2.0
135
127
  */
136
128
 
129
+ /**
130
+ * Injection token that can be used to reference instances of `CuteButtonGroup`.
131
+ * It serves as an alternative token to the actual `CuteButtonGroup` class which
132
+ * could cause unnecessary retention of the class and its component metadata.
133
+ */
134
+ declare const CUTE_BUTTON_GROUP: InjectionToken<CuteButtonGroup>;
137
135
  /**
138
136
  * Group a series of buttons together on a single line or stack them in a vertical column.
139
137
  */
140
138
  declare class CuteButtonGroup extends CuteFocusableControl {
139
+ #private;
141
140
  /** Whether to place the nested buttons in the vertical direction. */
142
141
  vertical: boolean;
143
142
  /** The relative size of the buttons group. */
@@ -150,18 +149,41 @@ declare class CuteButtonGroup extends CuteFocusableControl {
150
149
  protected get buttonSmallBinding(): boolean;
151
150
  /** Child buttons. */
152
151
  _buttons: QueryList<CuteButtonBase> | undefined;
152
+ /** Raised when the disabled state of a component group changes. */
153
+ disabledChange: EventEmitter<boolean>;
153
154
  constructor();
154
155
  protected generateId(): string;
155
156
  protected setDisabledState(newState: BooleanInput, emitEvent?: boolean): boolean;
156
157
  ngAfterContentInit(): void;
158
+ ngOnDestroy(): void;
159
+ /** Marks all the child button toggles to be checked. */
160
+ protected _markButtonsForCheck(): void;
157
161
  static ɵfac: i0.ɵɵFactoryDeclaration<CuteButtonGroup, never>;
158
- static ɵdir: i0.ɵɵDirectiveDeclaration<CuteButtonGroup, "cute-button-group", ["cuteButtonGroup"], { "vertical": { "alias": "vertical"; "required": false; }; "magnitude": { "alias": "magnitude"; "required": false; }; "buttonStyle": { "alias": "buttonStyle"; "required": false; }; }, {}, ["_buttons"], never, true, never>;
162
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CuteButtonGroup, "cute-button-group", ["cuteButtonGroup"], { "vertical": { "alias": "vertical"; "required": false; }; "magnitude": { "alias": "magnitude"; "required": false; }; "buttonStyle": { "alias": "buttonStyle"; "required": false; }; }, { "disabledChange": "disabledChange"; }, ["_buttons"], never, true, never>;
159
163
  static ngAcceptInputType_vertical: unknown;
160
164
  }
161
165
 
166
+ /**
167
+ * @license Apache-2.0
168
+ *
169
+ * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.
170
+ *
171
+ * You may not use this file except in compliance with the License
172
+ * that can be found at http://www.apache.org/licenses/LICENSE-2.0
173
+ */
174
+
175
+ /**
176
+ * Injection token that can be used to reference instances of `CuteButtonToolbar`.
177
+ * It serves as an alternative token to the actual `CuteButtonToolbar` class which
178
+ * could cause unnecessary retention of the class and its component metadata.
179
+ */
180
+ declare const CUTE_BUTTON_TOOLBAR: InjectionToken<CuteButtonToolbar>;
181
+ /**
182
+ * Combines sets of button groups into button toolbars for more complex components.
183
+ */
162
184
  declare class CuteButtonToolbar extends CuteFocusableControl {
163
185
  private _gap;
164
- /** The gutter between buttons */
186
+ /** The gutter between button groups. */
165
187
  get gap(): number;
166
188
  set gap(value: number);
167
189
  magnitude: RelativeSize5 | undefined;
@@ -179,5 +201,5 @@ declare class CuteButtonModule {
179
201
  static ɵinj: i0.ɵɵInjectorDeclaration<CuteButtonModule>;
180
202
  }
181
203
 
182
- export { CUTE_BUTTON_BASE, CUTE_BUTTON_CONFIG, CuteButton, CuteButtonBase, CuteButtonGroup, CuteButtonModule, CuteButtonToolbar };
204
+ export { CUTE_BUTTON_BASE, CUTE_BUTTON_CONFIG, CUTE_BUTTON_GROUP, CUTE_BUTTON_TOOLBAR, CuteButton, CuteButtonBase, CuteButtonGroup, CuteButtonModule, CuteButtonToolbar };
183
205
  export type { CuteButtonConfig, CuteButtonStyle };
@@ -3,6 +3,7 @@ import { OnInit, AfterContentInit, QueryList, EventEmitter, InjectionToken, OnDe
3
3
  import { CuteButtonGroup, CuteButtonStyle, CuteButtonBase } from '@cute-widgets/base/button';
4
4
  import { ControlValueAccessor } from '@angular/forms';
5
5
  import { Direction } from '@angular/cdk/bidi';
6
+ import { BooleanInput } from '@angular/cdk/coercion';
6
7
  import { toThemeColor } from '@cute-widgets/base/core';
7
8
  import * as i1 from '@angular/common';
8
9
 
@@ -89,6 +90,12 @@ declare class CuteButtonToggleGroup extends CuteButtonGroup implements ControlVa
89
90
  ngAfterContentInit(): void;
90
91
  /** Initializes the tabindex attribute using the radio pattern. */
91
92
  private _initializeTabIndex;
93
+ /**
94
+ * Implemented as part of ControlValueAccessor.
95
+ *
96
+ * @inheritDoc
97
+ */
98
+ setDisabledState(newState: BooleanInput, emitEvent?: boolean): boolean;
92
99
  /**
93
100
  * Sets the model value. Implemented as part of ControlValueAccessor.
94
101
  * @param value Value to be set to the model.
@@ -96,7 +103,6 @@ declare class CuteButtonToggleGroup extends CuteButtonGroup implements ControlVa
96
103
  writeValue(value: any): void;
97
104
  registerOnChange(fn: (value: any) => void): void;
98
105
  registerOnTouched(fn: any): void;
99
- setDisabledState(isDisabled: boolean): boolean;
100
106
  /** Handle keydown event calling to single-select button toggle. */
101
107
  protected _keydown(event: KeyboardEvent): void;
102
108
  /** Dispatch change event with current selection and group value. */
@@ -123,8 +129,6 @@ declare class CuteButtonToggleGroup extends CuteButtonGroup implements ControlVa
123
129
  private _selectValue;
124
130
  /** Syncs up the group's value with the model and emits the change event. */
125
131
  private _updateModelValue;
126
- /** Marks all the child button toggles to be checked. */
127
- private _markButtonsForCheck;
128
132
  static ɵfac: i0.ɵɵFactoryDeclaration<CuteButtonToggleGroup, never>;
129
133
  static ɵdir: i0.ɵɵDirectiveDeclaration<CuteButtonToggleGroup, "cute-button-toggle-group", ["cuteButtonToggleGroup"], { "name": { "alias": "name"; "required": false; }; "value": { "alias": "value"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "disabledInteractive": { "alias": "disabledInteractive"; "required": false; }; "hideSingleSelectionIndicator": { "alias": "hideSingleSelectionIndicator"; "required": false; }; "hideMultipleSelectionIndicator": { "alias": "hideMultipleSelectionIndicator"; "required": false; }; }, { "valueChange": "valueChange"; "change": "change"; }, ["_buttonToggles"], never, true, never>;
130
134
  static ngAcceptInputType_multiple: unknown;
@@ -180,7 +184,7 @@ declare class CuteButtonToggle extends CuteButtonBase implements OnInit, OnDestr
180
184
  private _animationDisabled;
181
185
  protected _multiple: boolean;
182
186
  /** The parent button toggle group (exclusive selection). Optional. */
183
- protected readonly buttonToggleGroup: CuteButtonToggleGroup;
187
+ protected readonly buttonToggleGroup: CuteButtonToggleGroup | null;
184
188
  /** Unique ID for the underlying `button` element. */
185
189
  get buttonId(): string;
186
190
  get inputButtonStyle(): Extract<CuteButtonStyle, "outlined" | "outline-button">;
@@ -1,9 +1,10 @@
1
1
  import * as i0 from '@angular/core';
2
- import { OnDestroy, EventEmitter } from '@angular/core';
3
- import { CuteBaseControl, Expandable } from '@cute-widgets/base/abstract';
4
- import { Subject } from 'rxjs';
5
- import { AnimationEvent, AnimationTriggerMetadata } from '@angular/animations';
6
- import * as i1 from '@angular/common';
2
+ import { AfterContentInit, NgZone, EventEmitter } from '@angular/core';
3
+ import * as i1 from '@angular/cdk/accordion';
4
+ import { CdkAccordionItem } from '@angular/cdk/accordion';
5
+ import { BooleanInput } from '@angular/cdk/coercion';
6
+ import { CuteLayoutControl, Expandable } from '@cute-widgets/base/abstract';
7
+ import * as i1$1 from '@angular/common';
7
8
 
8
9
  /**
9
10
  * @license Apache-2.0
@@ -16,19 +17,20 @@ import * as i1 from '@angular/common';
16
17
 
17
18
  /** Animation states */
18
19
  type CuteCollapseState = 'expanded' | 'collapsed';
19
- /**
20
- * This collapse component is used to show and hide content.
21
- * Buttons or anchors are used as triggers that are mapped to specific elements you toggle.
22
- */
23
- declare class CuteCollapse extends CuteBaseControl implements Expandable, OnDestroy {
24
- /** Sets the element's current state to _collapsed_ or _expanded_ value. */
25
- get collapsed(): boolean;
26
- set collapsed(value: boolean);
27
- private _collapsed;
20
+ declare abstract class CuteCollapseBase extends CuteLayoutControl implements Expandable, AfterContentInit {
21
+ protected _ngZone: NgZone;
22
+ protected _accordionItem: CdkAccordionItem;
23
+ protected _animationsDisabled: boolean;
24
+ private _cleanupTransitionHandlers;
25
+ /** Whether the `CuteCollapse` is expanded. */
26
+ get expanded(): boolean;
27
+ set expanded(value: boolean);
28
28
  /** Expanding/Collapsing directionality, _horizontal_ or _vertical_. Default is _vertical_. */
29
29
  horizontal: boolean;
30
30
  /** Whether the animation while collapsing/expanding should be disabled */
31
- disableAnimation: boolean;
31
+ get disableAnimation(): boolean;
32
+ set disableAnimation(value: boolean);
33
+ private _disableAnimation;
32
34
  /** Event emitting before expand element */
33
35
  readonly beforeExpand: EventEmitter<void>;
34
36
  /** Event emitting before collapse element */
@@ -37,61 +39,60 @@ declare class CuteCollapse extends CuteBaseControl implements Expandable, OnDest
37
39
  readonly afterExpand: EventEmitter<void>;
38
40
  /** Event emitting after collapse element */
39
41
  readonly afterCollapse: EventEmitter<void>;
40
- /** Weather the current state is _collapsed_ or _expanded_. Part of `Expandable` interface. */
41
- get expanded(): boolean;
42
- /** Stream of body animation events. */
43
- protected readonly _bodyAnimation$: Subject<AnimationEvent>;
44
42
  constructor();
45
- protected onAnimationEvent(event: AnimationEvent): void;
43
+ protected setDisabledState(newState: BooleanInput, emitEvent?: boolean): boolean;
46
44
  protected generateId(): string;
47
45
  /** Gets the expanded state string. */
48
46
  getState(): CuteCollapseState;
49
- /** Part of `Expandable` interface */
47
+ /**
48
+ * @inheritDoc
49
+ * Part of `Expandable` interface.
50
+ */
50
51
  toggle(): void;
51
- /** Part of `Expandable` interface */
52
+ /**
53
+ * @inheritDoc
54
+ * Part of `Expandable` interface.
55
+ */
52
56
  open(): void;
53
- /** Part of `Expandable` interface */
57
+ /**
58
+ * @inheritDoc
59
+ * Part of `Expandable` interface.
60
+ */
54
61
  close(): void;
62
+ private _transitionStartListener;
63
+ private _transitionEndListener;
64
+ protected _setupAnimationEvents(): void;
65
+ ngAfterContentInit(): void;
55
66
  ngOnDestroy(): void;
56
- static ɵfac: i0.ɵɵFactoryDeclaration<CuteCollapse, never>;
57
- static ɵcmp: i0.ɵɵComponentDeclaration<CuteCollapse, "cute-collapse", ["cuteCollapse"], { "collapsed": { "alias": "collapsed"; "required": false; }; "horizontal": { "alias": "horizontal"; "required": false; }; "disableAnimation": { "alias": "disableAnimation"; "required": false; }; }, { "beforeExpand": "beforeExpand"; "beforeCollapse": "beforeCollapse"; "afterExpand": "afterExpand"; "afterCollapse": "afterCollapse"; }, never, ["*"], true, never>;
58
- static ngAcceptInputType_collapsed: unknown;
67
+ static ɵfac: i0.ɵɵFactoryDeclaration<CuteCollapseBase, never>;
68
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CuteCollapseBase, never, never, { "expanded": { "alias": "expanded"; "required": false; }; "horizontal": { "alias": "horizontal"; "required": false; }; "disableAnimation": { "alias": "disableAnimation"; "required": false; }; }, { "beforeExpand": "beforeExpand"; "beforeCollapse": "beforeCollapse"; "afterExpand": "afterExpand"; "afterCollapse": "afterCollapse"; }, never, never, true, [{ directive: typeof i1.CdkAccordionItem; inputs: {}; outputs: { "expandedChange": "expandedChange"; }; }]>;
69
+ static ngAcceptInputType_expanded: unknown;
59
70
  static ngAcceptInputType_horizontal: unknown;
60
71
  static ngAcceptInputType_disableAnimation: unknown;
61
72
  }
73
+ /**
74
+ * This collapse component is used to show and hide content.
75
+ * Buttons or anchors are used as triggers that are mapped to specific elements you toggle.
76
+ */
77
+ declare class CuteCollapse extends CuteCollapseBase {
78
+ static ɵfac: i0.ɵɵFactoryDeclaration<CuteCollapse, never>;
79
+ static ɵcmp: i0.ɵɵComponentDeclaration<CuteCollapse, "cute-collapse", ["cuteCollapse"], {}, {}, never, ["*"], true, never>;
80
+ }
62
81
 
63
82
  declare class CuteCollapseTrigger {
64
83
  /** Reference to the `cute-collapse` component to toggle its visibility */
65
- get collapseControl(): CuteCollapse | null;
66
- set collapseControl(collapse: CuteCollapse | null);
84
+ get collapseControl(): Expandable | null;
85
+ set collapseControl(collapse: Expandable | null);
67
86
  private _collapseControl;
68
87
  static ɵfac: i0.ɵɵFactoryDeclaration<CuteCollapseTrigger, never>;
69
88
  static ɵdir: i0.ɵɵDirectiveDeclaration<CuteCollapseTrigger, "[cuteCollapseTriggerFor]", ["cuteCollapseTrigger"], { "collapseControl": { "alias": "cuteCollapseTriggerFor"; "required": false; }; }, {}, never, never, true, never>;
70
89
  }
71
90
 
72
- /**
73
- * @license Apache-2.0
74
- *
75
- * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.
76
- *
77
- * You may not use this file except in compliance with the License
78
- * that can be found at http://www.apache.org/licenses/LICENSE-2.0
79
- */
80
-
81
- /** Time and timing curve for **collapse** animations. */
82
- declare const CUTE_COLLAPSE_ANIMATION_TIMING = "225ms cubic-bezier(0.4,0.0,0.2,1)";
83
- /**
84
- * Animations used by the CuteWidgets` collapse element.
85
- */
86
- declare const cuteCollapseAnimations: {
87
- readonly bodyExpansion: AnimationTriggerMetadata;
88
- };
89
-
90
91
  declare class CuteCollapseModule {
91
92
  static ɵfac: i0.ɵɵFactoryDeclaration<CuteCollapseModule, never>;
92
- static ɵmod: i0.ɵɵNgModuleDeclaration<CuteCollapseModule, never, [typeof i1.CommonModule, typeof CuteCollapse, typeof CuteCollapseTrigger], [typeof CuteCollapse, typeof CuteCollapseTrigger]>;
93
+ static ɵmod: i0.ɵɵNgModuleDeclaration<CuteCollapseModule, never, [typeof i1$1.CommonModule, typeof CuteCollapse, typeof CuteCollapseTrigger], [typeof CuteCollapse, typeof CuteCollapseTrigger]>;
93
94
  static ɵinj: i0.ɵɵInjectorDeclaration<CuteCollapseModule>;
94
95
  }
95
96
 
96
- export { CUTE_COLLAPSE_ANIMATION_TIMING, CuteCollapse, CuteCollapseModule, CuteCollapseTrigger, cuteCollapseAnimations };
97
+ export { CuteCollapse, CuteCollapseBase, CuteCollapseModule, CuteCollapseTrigger };
97
98
  export type { CuteCollapseState };
package/core/index.d.ts CHANGED
@@ -95,7 +95,13 @@ declare const bsBreakpoints: {
95
95
  * @param code Bootstrap's breakpoint abbreviation.
96
96
  * @returns Media query string or _undefined_ if the code has an unknown value.
97
97
  */
98
- getQuery(code: string): string | undefined;
98
+ getMediaQuery(code: string): string | undefined;
99
+ /**
100
+ * Returns the media query string array for the specified breakpoint one or more symbols.
101
+ * @param codes Bootstrap's breakpoint abbreviation list.
102
+ * @returns Media query string array for each specified code of breakpoint.
103
+ */
104
+ getMediaQueries(codes: string | string[]): string[];
99
105
  /**
100
106
  * Gets the name of the media-query by its value.
101
107
  * @param query The media-query text.
@@ -48,7 +48,13 @@ declare const bsBreakpoints: {
48
48
  * @param code Bootstrap's breakpoint abbreviation.
49
49
  * @returns Media query string or _undefined_ if the code has an unknown value.
50
50
  */
51
- getQuery(code: string): string | undefined;
51
+ getMediaQuery(code: string): string | undefined;
52
+ /**
53
+ * Returns the media query string array for the specified breakpoint one or more symbols.
54
+ * @param codes Bootstrap's breakpoint abbreviation list.
55
+ * @returns Media query string array for each specified code of breakpoint.
56
+ */
57
+ getMediaQueries(codes: string | string[]): string[];
52
58
  /**
53
59
  * Gets the name of the media-query by its value.
54
60
  * @param query The media-query text.
package/dialog/index.d.ts CHANGED
@@ -1,27 +1,15 @@
1
1
  import * as i0 from '@angular/core';
2
- import { ViewContainerRef, Injector, OnDestroy, EventEmitter, ComponentRef, OnInit, TemplateRef, InjectionToken, OnChanges, ElementRef, SimpleChanges } from '@angular/core';
3
- import { HorizontalEdge, LayoutBreakpoint } from '@cute-widgets/base/core/types';
2
+ import { ViewContainerRef, Injector, OnDestroy, EventEmitter, ComponentRef, OnInit, OnChanges, SimpleChanges, InjectionToken, TemplateRef } from '@angular/core';
4
3
  import { DragAxis, CdkDrag } from '@angular/cdk/drag-drop';
5
4
  import { Direction } from '@angular/cdk/bidi';
6
5
  import { ScrollStrategy, OverlayRef, ComponentType } from '@angular/cdk/overlay';
6
+ import { LayoutBreakpoint, HorizontalEdge } from '@cute-widgets/base/core/types';
7
7
  import { DialogConfig, CdkDialogContainer, DialogRef, Dialog } from '@angular/cdk/dialog';
8
8
  import { ComponentPortal } from '@angular/cdk/portal';
9
9
  import { FocusOrigin } from '@angular/cdk/a11y';
10
10
  import { Observable, Subject } from 'rxjs';
11
11
  import * as i1 from '@angular/common';
12
12
 
13
- declare class CuteDialogBody {
14
- static ɵfac: i0.ɵɵFactoryDeclaration<CuteDialogBody, never>;
15
- static ɵdir: i0.ɵɵDirectiveDeclaration<CuteDialogBody, "cute-dialog-body, [cute-dialog-body], [cuteDialogBody], cute-dialog-content, [cute-dialog-content], [cuteDialogContent] ", ["cuteDialogBody"], {}, {}, never, never, true, never>;
16
- }
17
-
18
- declare class CuteDialogFooter {
19
- /** Horizontal alignment of the footer's content */
20
- align: HorizontalEdge | 'center';
21
- static ɵfac: i0.ɵɵFactoryDeclaration<CuteDialogFooter, never>;
22
- static ɵdir: i0.ɵɵDirectiveDeclaration<CuteDialogFooter, "cute-dialog-footer, [cute-dialog-footer], [cuteDialogFooter], cute-dialog-actions, [cute-dialog-actions], [cuteDialogActions] ", ["cuteDialogFooter", "cuteDialogActions"], { "align": { "alias": "align"; "required": false; }; }, {}, never, never, true, never>;
23
- }
24
-
25
13
  /**
26
14
  * @license Apache-2.0
27
15
  *
@@ -89,7 +77,7 @@ declare class CuteDialogConfig<D = any> {
89
77
  minWidth?: number | string;
90
78
  /** Min-height of the dialog. If a number is provided, assumes pixel units. */
91
79
  minHeight?: number | string;
92
- /** Max-width of the dialog. If a number is provided, assumes pixel units. Defaults to 80vw. */
80
+ /** Max-width of the dialog. If a number is provided, assumes pixel units. */
93
81
  maxWidth?: number | string;
94
82
  /** Max-height of the dialog. If a number is provided, assumes pixel units. */
95
83
  maxHeight?: number | string;
@@ -253,12 +241,6 @@ declare class CuteDialogHeader implements OnInit {
253
241
  static ngAcceptInputType_draggable: unknown;
254
242
  }
255
243
 
256
- declare class CuteDialogTitle {
257
- id: unknown;
258
- static ɵfac: i0.ɵɵFactoryDeclaration<CuteDialogTitle, never>;
259
- static ɵdir: i0.ɵɵDirectiveDeclaration<CuteDialogTitle, "[cute-dialog-title], [cuteDialogTitle]", ["cuteDialogTitle"], { "id": { "alias": "id"; "required": false; }; }, {}, never, never, true, never>;
260
- }
261
-
262
244
  /**
263
245
  * @license Apache-2.0
264
246
  *
@@ -283,7 +265,7 @@ declare enum CuteDialogState {
283
265
  declare class CuteDialogRef<T, R = any> {
284
266
  private _ref;
285
267
  private _config;
286
- protected _containerInstance: CuteDialogContainer;
268
+ _containerInstance: CuteDialogContainer;
287
269
  /** The instance of component opened into the dialog. */
288
270
  componentInstance: T | undefined;
289
271
  /**
@@ -365,6 +347,82 @@ declare class CuteDialogRef<T, R = any> {
365
347
  */
366
348
  declare function _closeDialogVia<R>(ref: CuteDialogRef<R>, interactionType: FocusOrigin, result?: R): void;
367
349
 
350
+ /**
351
+ * @license Apache-2.0
352
+ *
353
+ * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.
354
+ *
355
+ * You may not use this file except in compliance with the License
356
+ * that can be found at http://www.apache.org/licenses/LICENSE-2.0
357
+ *
358
+ * This code is a modification of the `@angular/material` original
359
+ * code licensed under MIT-style License (https://angular.dev/license).
360
+ */
361
+
362
+ /**
363
+ * Button that will close the current dialog.
364
+ */
365
+ declare class CuteDialogClose implements OnInit, OnChanges {
366
+ dialogRef: CuteDialogRef<any, any>;
367
+ private _elementRef;
368
+ private _dialog;
369
+ /** Screen-reader label for the button. */
370
+ ariaLabel: string | undefined;
371
+ /** Default to "button" to prevent accidental form submits. */
372
+ type: 'submit' | 'button' | 'reset';
373
+ /** Dialog close input. */
374
+ dialogResult: any;
375
+ _cuteDialogClose: any;
376
+ constructor(...args: unknown[]);
377
+ ngOnInit(): void;
378
+ ngOnChanges(changes: SimpleChanges): void;
379
+ protected _onButtonClick(event: MouseEvent): void;
380
+ static ɵfac: i0.ɵɵFactoryDeclaration<CuteDialogClose, never>;
381
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CuteDialogClose, "[cute-dialog-close], [cuteDialogClose]", ["cuteDialogClose"], { "ariaLabel": { "alias": "aria-label"; "required": false; }; "type": { "alias": "type"; "required": false; }; "dialogResult": { "alias": "cute-dialog-close"; "required": false; }; "_cuteDialogClose": { "alias": "cuteDialogClose"; "required": false; }; }, {}, never, never, true, never>;
382
+ }
383
+ declare abstract class CuteDialogLayoutSection implements OnInit, OnDestroy {
384
+ protected _dialogRef: CuteDialogRef<any, any>;
385
+ private _elementRef;
386
+ private _dialog;
387
+ protected abstract _onAdd(): void;
388
+ protected abstract _onRemove(): void;
389
+ ngOnInit(): void;
390
+ ngOnDestroy(): void;
391
+ static ɵfac: i0.ɵɵFactoryDeclaration<CuteDialogLayoutSection, never>;
392
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CuteDialogLayoutSection, never, never, {}, {}, never, never, true, never>;
393
+ }
394
+ /**
395
+ * Title of a dialog element. Stays fixed to the top of the dialog when scrolling.
396
+ */
397
+ declare class CuteDialogTitle extends CuteDialogLayoutSection {
398
+ protected _header: CuteDialogHeader | null;
399
+ id: string;
400
+ constructor();
401
+ protected _onAdd(): void;
402
+ protected _onRemove(): void;
403
+ static ɵfac: i0.ɵɵFactoryDeclaration<CuteDialogTitle, never>;
404
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CuteDialogTitle, "[cute-dialog-title], [cuteDialogTitle]", ["cuteDialogTitle"], { "id": { "alias": "id"; "required": false; }; }, {}, never, never, true, never>;
405
+ }
406
+ /**
407
+ * Scrollable content container of a dialog.
408
+ */
409
+ declare class CuteDialogBody {
410
+ static ɵfac: i0.ɵɵFactoryDeclaration<CuteDialogBody, never>;
411
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CuteDialogBody, "cute-dialog-body, [cute-dialog-body], [cuteDialogBody], cute-dialog-content, [cute-dialog-content], [cuteDialogContent] ", ["cuteDialogBody"], {}, {}, never, never, true, never>;
412
+ }
413
+ /**
414
+ * Container for the bottom action buttons in a dialog.
415
+ * Stays fixed to the bottom when scrolling.
416
+ */
417
+ declare class CuteDialogFooter extends CuteDialogLayoutSection {
418
+ /** Horizontal alignment of the footer's content */
419
+ align: HorizontalEdge | 'center';
420
+ protected _onAdd(): void;
421
+ protected _onRemove(): void;
422
+ static ɵfac: i0.ɵɵFactoryDeclaration<CuteDialogFooter, never>;
423
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CuteDialogFooter, "cute-dialog-footer, [cute-dialog-footer], [cuteDialogFooter], cute-dialog-actions, [cute-dialog-actions], [cuteDialogActions] ", ["cuteDialogFooter", "cuteDialogActions"], { "align": { "alias": "align"; "required": false; }; }, {}, never, never, true, never>;
424
+ }
425
+
368
426
  /**
369
427
  * @license Apache-2.0
370
428
  *
@@ -440,45 +498,11 @@ declare class CuteDialog implements OnDestroy {
440
498
  static ɵprov: i0.ɵɵInjectableDeclaration<CuteDialog>;
441
499
  }
442
500
 
443
- /**
444
- * @license Apache-2.0
445
- *
446
- * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.
447
- *
448
- * You may not use this file except in compliance with the License
449
- * that can be found at http://www.apache.org/licenses/LICENSE-2.0
450
- *
451
- * This code is a modification of the `@angular/material` original
452
- * code licensed under MIT-style License (https://angular.dev/license).
453
- */
454
-
455
- /**
456
- * Button that will close the current dialog.
457
- */
458
- declare class CuteDialogClose implements OnInit, OnChanges {
459
- dialogRef: CuteDialogRef<any>;
460
- private _elementRef;
461
- private _dialog;
462
- /** Screen-reader label for the button. */
463
- ariaLabel: string | undefined;
464
- /** Default to "button" to prevent accidental form submits. */
465
- type: 'submit' | 'button' | 'reset';
466
- /** Dialog close input. */
467
- dialogResult: any;
468
- _cuteDialogClose: any;
469
- constructor(dialogRef: CuteDialogRef<any>, _elementRef: ElementRef<HTMLElement>, _dialog: CuteDialog);
470
- ngOnInit(): void;
471
- ngOnChanges(changes: SimpleChanges): void;
472
- protected _onButtonClick(event: MouseEvent): void;
473
- static ɵfac: i0.ɵɵFactoryDeclaration<CuteDialogClose, [{ optional: true; }, null, null]>;
474
- static ɵdir: i0.ɵɵDirectiveDeclaration<CuteDialogClose, "[cute-dialog-close], [cuteDialogClose]", ["cuteDialogClose"], { "ariaLabel": { "alias": "aria-label"; "required": false; }; "type": { "alias": "type"; "required": false; }; "dialogResult": { "alias": "cute-dialog-close"; "required": false; }; "_cuteDialogClose": { "alias": "cuteDialogClose"; "required": false; }; }, {}, never, never, true, never>;
475
- }
476
-
477
501
  declare class CuteDialogModule {
478
502
  static ɵfac: i0.ɵɵFactoryDeclaration<CuteDialogModule, never>;
479
503
  static ɵmod: i0.ɵɵNgModuleDeclaration<CuteDialogModule, never, [typeof i1.CommonModule, typeof CuteDialogBody, typeof CuteDialogClose, typeof CuteDialogFooter, typeof CuteDialogHeader, typeof CuteDialogTitle, typeof CuteDialogContainer], [typeof CuteDialogBody, typeof CuteDialogClose, typeof CuteDialogFooter, typeof CuteDialogHeader, typeof CuteDialogTitle, typeof CuteDialogContainer]>;
480
504
  static ɵinj: i0.ɵɵInjectorDeclaration<CuteDialogModule>;
481
505
  }
482
506
 
483
- export { CUTE_DIALOG_DATA, CUTE_DIALOG_DEFAULT_OPTIONS, CUTE_DIALOG_SCROLL_STRATEGY, CuteDialog, CuteDialogBody, CuteDialogClose, CuteDialogConfig, CuteDialogContainer, CuteDialogFooter, CuteDialogHeader, CuteDialogModule, CuteDialogRef, CuteDialogState, CuteDialogTitle, _closeDialogVia };
507
+ export { CUTE_DIALOG_DATA, CUTE_DIALOG_DEFAULT_OPTIONS, CUTE_DIALOG_SCROLL_STRATEGY, CuteDialog, CuteDialogBody, CuteDialogClose, CuteDialogConfig, CuteDialogContainer, CuteDialogFooter, CuteDialogHeader, CuteDialogLayoutSection, CuteDialogModule, CuteDialogRef, CuteDialogState, CuteDialogTitle, _closeDialogVia };
484
508
  export type { AutoFocusTarget, DialogFullScreenStrategy, DialogPosition, DialogRole };