@cute-widgets/base 20.0.1
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 +1 -0
- package/LICENSE.md +191 -0
- package/README.md +190 -0
- package/abstract/index.d.ts +327 -0
- package/alert/index.d.ts +68 -0
- package/autocomplete/index.d.ts +442 -0
- package/badge/index.d.ts +26 -0
- package/bottom-sheet/index.d.ts +231 -0
- package/button/index.d.ts +182 -0
- package/button-toggle/index.d.ts +225 -0
- package/card/index.d.ts +163 -0
- package/checkbox/index.d.ts +174 -0
- package/chips/index.d.ts +963 -0
- package/collapse/index.d.ts +97 -0
- package/core/animation/index.d.ts +43 -0
- package/core/datetime/index.d.ts +404 -0
- package/core/directives/index.d.ts +168 -0
- package/core/error/index.d.ts +74 -0
- package/core/index.d.ts +1039 -0
- package/core/interfaces/index.d.ts +114 -0
- package/core/layout/index.d.ts +53 -0
- package/core/line/index.d.ts +37 -0
- package/core/nav/index.d.ts +321 -0
- package/core/observers/index.d.ts +124 -0
- package/core/option/index.d.ts +185 -0
- package/core/pipes/index.d.ts +53 -0
- package/core/ripple/index.d.ts +66 -0
- package/core/testing/index.d.ts +154 -0
- package/core/theming/index.d.ts +118 -0
- package/core/types/index.d.ts +53 -0
- package/core/utils/index.d.ts +129 -0
- package/cute-widgets-base-20.0.1.tgz +0 -0
- package/datepicker/index.d.ts +1817 -0
- package/dialog/index.d.ts +484 -0
- package/divider/index.d.ts +24 -0
- package/expansion/README.md +8 -0
- package/expansion/index.d.ts +308 -0
- package/fesm2022/cute-widgets-base-abstract.mjs +547 -0
- package/fesm2022/cute-widgets-base-abstract.mjs.map +1 -0
- package/fesm2022/cute-widgets-base-alert.mjs +198 -0
- package/fesm2022/cute-widgets-base-alert.mjs.map +1 -0
- package/fesm2022/cute-widgets-base-autocomplete.mjs +1217 -0
- package/fesm2022/cute-widgets-base-autocomplete.mjs.map +1 -0
- package/fesm2022/cute-widgets-base-badge.mjs +75 -0
- package/fesm2022/cute-widgets-base-badge.mjs.map +1 -0
- package/fesm2022/cute-widgets-base-bottom-sheet.mjs +416 -0
- package/fesm2022/cute-widgets-base-bottom-sheet.mjs.map +1 -0
- package/fesm2022/cute-widgets-base-button-toggle.mjs +640 -0
- package/fesm2022/cute-widgets-base-button-toggle.mjs.map +1 -0
- package/fesm2022/cute-widgets-base-button.mjs +546 -0
- package/fesm2022/cute-widgets-base-button.mjs.map +1 -0
- package/fesm2022/cute-widgets-base-card.mjs +471 -0
- package/fesm2022/cute-widgets-base-card.mjs.map +1 -0
- package/fesm2022/cute-widgets-base-checkbox.mjs +390 -0
- package/fesm2022/cute-widgets-base-checkbox.mjs.map +1 -0
- package/fesm2022/cute-widgets-base-chips.mjs +2360 -0
- package/fesm2022/cute-widgets-base-chips.mjs.map +1 -0
- package/fesm2022/cute-widgets-base-collapse.mjs +259 -0
- package/fesm2022/cute-widgets-base-collapse.mjs.map +1 -0
- package/fesm2022/cute-widgets-base-core-animation.mjs +53 -0
- package/fesm2022/cute-widgets-base-core-animation.mjs.map +1 -0
- package/fesm2022/cute-widgets-base-core-datetime.mjs +568 -0
- package/fesm2022/cute-widgets-base-core-datetime.mjs.map +1 -0
- package/fesm2022/cute-widgets-base-core-directives.mjs +404 -0
- package/fesm2022/cute-widgets-base-core-directives.mjs.map +1 -0
- package/fesm2022/cute-widgets-base-core-error.mjs +105 -0
- package/fesm2022/cute-widgets-base-core-error.mjs.map +1 -0
- package/fesm2022/cute-widgets-base-core-interfaces.mjs +22 -0
- package/fesm2022/cute-widgets-base-core-interfaces.mjs.map +1 -0
- package/fesm2022/cute-widgets-base-core-layout.mjs +74 -0
- package/fesm2022/cute-widgets-base-core-layout.mjs.map +1 -0
- package/fesm2022/cute-widgets-base-core-line.mjs +87 -0
- package/fesm2022/cute-widgets-base-core-line.mjs.map +1 -0
- package/fesm2022/cute-widgets-base-core-nav.mjs +863 -0
- package/fesm2022/cute-widgets-base-core-nav.mjs.map +1 -0
- package/fesm2022/cute-widgets-base-core-observers.mjs +304 -0
- package/fesm2022/cute-widgets-base-core-observers.mjs.map +1 -0
- package/fesm2022/cute-widgets-base-core-option.mjs +373 -0
- package/fesm2022/cute-widgets-base-core-option.mjs.map +1 -0
- package/fesm2022/cute-widgets-base-core-pipes.mjs +97 -0
- package/fesm2022/cute-widgets-base-core-pipes.mjs.map +1 -0
- package/fesm2022/cute-widgets-base-core-ripple.mjs +172 -0
- package/fesm2022/cute-widgets-base-core-ripple.mjs.map +1 -0
- package/fesm2022/cute-widgets-base-core-testing.mjs +210 -0
- package/fesm2022/cute-widgets-base-core-testing.mjs.map +1 -0
- package/fesm2022/cute-widgets-base-core-theming.mjs +314 -0
- package/fesm2022/cute-widgets-base-core-theming.mjs.map +1 -0
- package/fesm2022/cute-widgets-base-core-types.mjs +22 -0
- package/fesm2022/cute-widgets-base-core-types.mjs.map +1 -0
- package/fesm2022/cute-widgets-base-core-utils.mjs +257 -0
- package/fesm2022/cute-widgets-base-core-utils.mjs.map +1 -0
- package/fesm2022/cute-widgets-base-core.mjs +1600 -0
- package/fesm2022/cute-widgets-base-core.mjs.map +1 -0
- package/fesm2022/cute-widgets-base-datepicker.mjs +4827 -0
- package/fesm2022/cute-widgets-base-datepicker.mjs.map +1 -0
- package/fesm2022/cute-widgets-base-dialog.mjs +1046 -0
- package/fesm2022/cute-widgets-base-dialog.mjs.map +1 -0
- package/fesm2022/cute-widgets-base-divider.mjs +86 -0
- package/fesm2022/cute-widgets-base-divider.mjs.map +1 -0
- package/fesm2022/cute-widgets-base-expansion.mjs +623 -0
- package/fesm2022/cute-widgets-base-expansion.mjs.map +1 -0
- package/fesm2022/cute-widgets-base-form-field.mjs +969 -0
- package/fesm2022/cute-widgets-base-form-field.mjs.map +1 -0
- package/fesm2022/cute-widgets-base-grid-list.mjs +715 -0
- package/fesm2022/cute-widgets-base-grid-list.mjs.map +1 -0
- package/fesm2022/cute-widgets-base-icon.mjs +1105 -0
- package/fesm2022/cute-widgets-base-icon.mjs.map +1 -0
- package/fesm2022/cute-widgets-base-input.mjs +726 -0
- package/fesm2022/cute-widgets-base-input.mjs.map +1 -0
- package/fesm2022/cute-widgets-base-layout-container.mjs +95 -0
- package/fesm2022/cute-widgets-base-layout-container.mjs.map +1 -0
- package/fesm2022/cute-widgets-base-layout-stack.mjs +166 -0
- package/fesm2022/cute-widgets-base-layout-stack.mjs.map +1 -0
- package/fesm2022/cute-widgets-base-layout.mjs +250 -0
- package/fesm2022/cute-widgets-base-layout.mjs.map +1 -0
- package/fesm2022/cute-widgets-base-list.mjs +1557 -0
- package/fesm2022/cute-widgets-base-list.mjs.map +1 -0
- package/fesm2022/cute-widgets-base-menu.mjs +1283 -0
- package/fesm2022/cute-widgets-base-menu.mjs.map +1 -0
- package/fesm2022/cute-widgets-base-navbar.mjs +359 -0
- package/fesm2022/cute-widgets-base-navbar.mjs.map +1 -0
- package/fesm2022/cute-widgets-base-paginator.mjs +485 -0
- package/fesm2022/cute-widgets-base-paginator.mjs.map +1 -0
- package/fesm2022/cute-widgets-base-progress.mjs +321 -0
- package/fesm2022/cute-widgets-base-progress.mjs.map +1 -0
- package/fesm2022/cute-widgets-base-radio.mjs +637 -0
- package/fesm2022/cute-widgets-base-radio.mjs.map +1 -0
- package/fesm2022/cute-widgets-base-select.mjs +1208 -0
- package/fesm2022/cute-widgets-base-select.mjs.map +1 -0
- package/fesm2022/cute-widgets-base-sidenav.mjs +1095 -0
- package/fesm2022/cute-widgets-base-sidenav.mjs.map +1 -0
- package/fesm2022/cute-widgets-base-slider.mjs +99 -0
- package/fesm2022/cute-widgets-base-slider.mjs.map +1 -0
- package/fesm2022/cute-widgets-base-snack-bar.mjs +897 -0
- package/fesm2022/cute-widgets-base-snack-bar.mjs.map +1 -0
- package/fesm2022/cute-widgets-base-sort.mjs +639 -0
- package/fesm2022/cute-widgets-base-sort.mjs.map +1 -0
- package/fesm2022/cute-widgets-base-spinner.mjs +154 -0
- package/fesm2022/cute-widgets-base-spinner.mjs.map +1 -0
- package/fesm2022/cute-widgets-base-stepper.mjs +673 -0
- package/fesm2022/cute-widgets-base-stepper.mjs.map +1 -0
- package/fesm2022/cute-widgets-base-table.mjs +1023 -0
- package/fesm2022/cute-widgets-base-table.mjs.map +1 -0
- package/fesm2022/cute-widgets-base-tabs.mjs +729 -0
- package/fesm2022/cute-widgets-base-tabs.mjs.map +1 -0
- package/fesm2022/cute-widgets-base-timepicker.mjs +965 -0
- package/fesm2022/cute-widgets-base-timepicker.mjs.map +1 -0
- package/fesm2022/cute-widgets-base-toolbar.mjs +120 -0
- package/fesm2022/cute-widgets-base-toolbar.mjs.map +1 -0
- package/fesm2022/cute-widgets-base-tooltip.mjs +947 -0
- package/fesm2022/cute-widgets-base-tooltip.mjs.map +1 -0
- package/fesm2022/cute-widgets-base-tree.mjs +598 -0
- package/fesm2022/cute-widgets-base-tree.mjs.map +1 -0
- package/fesm2022/cute-widgets-base.mjs +68 -0
- package/fesm2022/cute-widgets-base.mjs.map +1 -0
- package/form-field/index.d.ts +401 -0
- package/grid-list/index.d.ts +361 -0
- package/icon/index.d.ts +477 -0
- package/index.d.ts +3 -0
- package/input/index.d.ts +256 -0
- package/layout/container/index.d.ts +31 -0
- package/layout/index.d.ts +78 -0
- package/layout/stack/index.d.ts +52 -0
- package/list/index.d.ts +659 -0
- package/menu/index.d.ts +497 -0
- package/navbar/index.d.ts +91 -0
- package/package.json +279 -0
- package/paginator/index.d.ts +216 -0
- package/progress/index.d.ts +130 -0
- package/radio/index.d.ts +259 -0
- package/select/index.d.ts +426 -0
- package/sidenav/index.d.ts +369 -0
- package/slider/index.d.ts +48 -0
- package/snack-bar/index.d.ts +374 -0
- package/sort/index.d.ts +334 -0
- package/spinner/index.d.ts +70 -0
- package/stepper/index.d.ts +295 -0
- package/table/index.d.ts +395 -0
- package/tabs/index.d.ts +307 -0
- package/timepicker/index.d.ts +350 -0
- package/toolbar/index.d.ts +36 -0
- package/tooltip/index.d.ts +299 -0
- package/tree/index.d.ts +314 -0
|
@@ -0,0 +1,369 @@
|
|
|
1
|
+
import { FocusOrigin } from '@angular/cdk/a11y';
|
|
2
|
+
import { BooleanInput, NumberInput } from '@angular/cdk/coercion';
|
|
3
|
+
import * as i2 from '@angular/cdk/scrolling';
|
|
4
|
+
import { CdkScrollable } from '@angular/cdk/scrolling';
|
|
5
|
+
import * as i0 from '@angular/core';
|
|
6
|
+
import { InjectionToken, AfterContentInit, DoCheck, OnDestroy, QueryList, AfterViewInit, EventEmitter, ElementRef } from '@angular/core';
|
|
7
|
+
import { Subject, Observable } from 'rxjs';
|
|
8
|
+
import { CuteLayoutControl, Expandable } from '@cute-widgets/base/abstract';
|
|
9
|
+
import * as i1 from '@angular/common';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* @license Apache-2.0
|
|
13
|
+
*
|
|
14
|
+
* Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.
|
|
15
|
+
*
|
|
16
|
+
* You may not use this file except in compliance with the License
|
|
17
|
+
* that can be found at http://www.apache.org/licenses/LICENSE-2.0
|
|
18
|
+
*
|
|
19
|
+
* This code is a modification of the `@angular/material` original
|
|
20
|
+
* code licensed under MIT-style License (https://angular.dev/license).
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Throws an exception when two CuteDrawer are matching the same position.
|
|
25
|
+
*/
|
|
26
|
+
declare function throwCuteDuplicatedDrawerError(position: string): void;
|
|
27
|
+
/** Options for where to set focus to automatically on dialog open */
|
|
28
|
+
type AutoFocusTarget = 'dialog' | 'first-tabbable' | 'first-heading';
|
|
29
|
+
/** Result of the toggle promise that indicates the state of the drawer. */
|
|
30
|
+
type CuteDrawerToggleResult = 'open' | 'close';
|
|
31
|
+
/** Drawer and SideNav display modes. */
|
|
32
|
+
type CuteDrawerMode = 'over' | 'push' | 'side';
|
|
33
|
+
/** Configures whether drawers should use auto sizing by default. */
|
|
34
|
+
declare const CUTE_DRAWER_DEFAULT_AUTOSIZE: InjectionToken<boolean>;
|
|
35
|
+
/**
|
|
36
|
+
* Used to provide a drawer container to a drawer while avoiding circular references.
|
|
37
|
+
*/
|
|
38
|
+
declare const CUTE_DRAWER_CONTAINER: InjectionToken<unknown>;
|
|
39
|
+
/**
|
|
40
|
+
* The main content of the 'cute-drawer' component
|
|
41
|
+
*/
|
|
42
|
+
declare class CuteDrawerContent extends CdkScrollable implements AfterContentInit {
|
|
43
|
+
private _platform;
|
|
44
|
+
private _changeDetectorRef;
|
|
45
|
+
_container: CuteDrawerContainer;
|
|
46
|
+
protected generateId(): string;
|
|
47
|
+
constructor(...args: unknown[]);
|
|
48
|
+
ngAfterContentInit(): void;
|
|
49
|
+
/** Determines whether the content element should be hidden from the user. */
|
|
50
|
+
protected _shouldBeHidden(): boolean;
|
|
51
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CuteDrawerContent, never>;
|
|
52
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<CuteDrawerContent, "cute-drawer-content", never, {}, {}, never, ["*"], true, never>;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* This component corresponds to a drawer that can be opened on the drawer container.
|
|
56
|
+
*/
|
|
57
|
+
declare class CuteDrawer extends CuteLayoutControl implements Expandable, AfterViewInit, OnDestroy {
|
|
58
|
+
private _focusTrapFactory;
|
|
59
|
+
private _focusMonitor;
|
|
60
|
+
private _platform;
|
|
61
|
+
private _ngZone;
|
|
62
|
+
private readonly _interactivityChecker;
|
|
63
|
+
private _doc;
|
|
64
|
+
_container?: CuteDrawerContainer | null | undefined;
|
|
65
|
+
private _focusTrap;
|
|
66
|
+
private _elementFocusedBeforeDrawerWasOpened;
|
|
67
|
+
private _eventCleanups;
|
|
68
|
+
/** Whether the view of the component has been attached. */
|
|
69
|
+
private _isAttached;
|
|
70
|
+
/** Anchor node used to restore the drawer to its initial position. */
|
|
71
|
+
private _anchor;
|
|
72
|
+
/** Subject that emits when the component has been destroyed. */
|
|
73
|
+
protected readonly _destroyed: Subject<void>;
|
|
74
|
+
/** The side that the drawer is attached to. */
|
|
75
|
+
get position(): 'start' | 'end';
|
|
76
|
+
set position(value: 'start' | 'end');
|
|
77
|
+
private _position;
|
|
78
|
+
/** Mode of the drawer; one of 'over', 'push' or 'side'. */
|
|
79
|
+
get mode(): CuteDrawerMode;
|
|
80
|
+
set mode(value: CuteDrawerMode);
|
|
81
|
+
private _mode;
|
|
82
|
+
/** Whether the drawer can be closed with the escape key or by clicking on the backdrop. */
|
|
83
|
+
get disableClose(): boolean;
|
|
84
|
+
set disableClose(value: BooleanInput);
|
|
85
|
+
private _disableClose;
|
|
86
|
+
/**
|
|
87
|
+
* Whether the drawer should focus the first focusable element automatically when opened.
|
|
88
|
+
* Defaults to false in when `mode` is set to `side`, otherwise defaults to `true`. If explicitly
|
|
89
|
+
* enabled, focus will be moved into the sidenav in `side` mode as well.
|
|
90
|
+
* @breaking-change 14.0.0 Remove boolean option from autoFocus. Use string or AutoFocusTarget
|
|
91
|
+
* instead.
|
|
92
|
+
*/
|
|
93
|
+
get autoFocus(): AutoFocusTarget | string | boolean;
|
|
94
|
+
set autoFocus(value: AutoFocusTarget | string | BooleanInput);
|
|
95
|
+
private _autoFocus;
|
|
96
|
+
/**
|
|
97
|
+
* Whether the drawer is opened. We overload this because we trigger an event when it
|
|
98
|
+
* starts or ends.
|
|
99
|
+
*/
|
|
100
|
+
get opened(): boolean;
|
|
101
|
+
set opened(value: BooleanInput);
|
|
102
|
+
private _opened;
|
|
103
|
+
/** How the sidenav was opened (keypress, mouse click etc.) */
|
|
104
|
+
private _openedVia;
|
|
105
|
+
/** Emits whenever the drawer has started animating. */
|
|
106
|
+
readonly _animationStarted: Subject<unknown>;
|
|
107
|
+
/** Emits whenever the drawer is done animating. */
|
|
108
|
+
readonly _animationEnd: Subject<unknown>;
|
|
109
|
+
/** Event emitted when the drawer open state is changed. */
|
|
110
|
+
readonly openedChange: EventEmitter<boolean>;
|
|
111
|
+
/** Event emitted when the drawer has been opened. */
|
|
112
|
+
readonly _openedStream: Observable<void>;
|
|
113
|
+
/** Event emitted when the drawer has started opening. */
|
|
114
|
+
readonly openedStart: Observable<void>;
|
|
115
|
+
/** Event emitted when the drawer has been closed. */
|
|
116
|
+
readonly _closedStream: Observable<void>;
|
|
117
|
+
/** Event emitted when the drawer has started closing. */
|
|
118
|
+
readonly closedStart: Observable<void>;
|
|
119
|
+
/** Event emitted when the drawer's position changes. */
|
|
120
|
+
readonly onPositionChanged: EventEmitter<void>;
|
|
121
|
+
/** Reference to the inner element that contains all the content. */
|
|
122
|
+
_content: ElementRef<HTMLElement> | undefined;
|
|
123
|
+
/** Implementation of `Expandable` interface */
|
|
124
|
+
get expanded(): boolean;
|
|
125
|
+
/**
|
|
126
|
+
* An observable that emits when the drawer mode changes. This is used by the drawer container to know
|
|
127
|
+
* when to when the mode changes, so it can adapt the margins on the content.
|
|
128
|
+
*/
|
|
129
|
+
readonly _modeChanged: Subject<void>;
|
|
130
|
+
private _injector;
|
|
131
|
+
protected generateId(): string;
|
|
132
|
+
constructor(...args: unknown[]);
|
|
133
|
+
/**
|
|
134
|
+
* Focuses the provided element. If the element is not focusable, it will add a tabIndex
|
|
135
|
+
* attribute to forcefully focus it. The attribute is removed after focus is moved.
|
|
136
|
+
* @param element The element to focus.
|
|
137
|
+
* @param options
|
|
138
|
+
*/
|
|
139
|
+
private _forceFocus;
|
|
140
|
+
/**
|
|
141
|
+
* Focuses the first element that matches the given selector within the focus trap.
|
|
142
|
+
* @param selector The CSS selector for the element to set focus to.
|
|
143
|
+
* @param options
|
|
144
|
+
*/
|
|
145
|
+
private _focusByCssSelector;
|
|
146
|
+
/**
|
|
147
|
+
* Moves focus into the drawer. Note that this works even if
|
|
148
|
+
* the focus trap is disabled in `side` mode.
|
|
149
|
+
*/
|
|
150
|
+
private _takeFocus;
|
|
151
|
+
/**
|
|
152
|
+
* Restores focus to the element that was originally focused when the drawer opened.
|
|
153
|
+
* If no element was focused at that time, the focus will be restored to the drawer.
|
|
154
|
+
*/
|
|
155
|
+
private _restoreFocus;
|
|
156
|
+
/** Whether focus is currently within the drawer. */
|
|
157
|
+
private _isFocusWithinDrawer;
|
|
158
|
+
ngAfterViewInit(): void;
|
|
159
|
+
ngOnDestroy(): void;
|
|
160
|
+
/**
|
|
161
|
+
* Open the drawer.
|
|
162
|
+
* @param openedVia Whether the drawer was opened by a key press, mouse click or programmatically.
|
|
163
|
+
* Used for focus management after the sidenav is closed.
|
|
164
|
+
*/
|
|
165
|
+
open(openedVia?: FocusOrigin): Promise<CuteDrawerToggleResult>;
|
|
166
|
+
/** Close the drawer. */
|
|
167
|
+
close(): Promise<CuteDrawerToggleResult>;
|
|
168
|
+
/** Closes the drawer with context that the backdrop was clicked. */
|
|
169
|
+
_closeViaBackdropClick(): Promise<CuteDrawerToggleResult>;
|
|
170
|
+
/**
|
|
171
|
+
* Toggle this drawer.
|
|
172
|
+
* @param isOpen Whether the drawer should be open.
|
|
173
|
+
* @param openedVia Whether the drawer was opened by a key press, mouse click or programmatically.
|
|
174
|
+
* Used for focus management after the sidenav is closed.
|
|
175
|
+
*/
|
|
176
|
+
toggle(isOpen?: boolean, openedVia?: FocusOrigin): Promise<CuteDrawerToggleResult>;
|
|
177
|
+
/**
|
|
178
|
+
* Toggles the opened state of the drawer.
|
|
179
|
+
* @param isOpen Whether the drawer should open or close.
|
|
180
|
+
* @param restoreFocus Whether focus should be restored on close.
|
|
181
|
+
* @param focusOrigin Origin to use when restoring focus.
|
|
182
|
+
*/
|
|
183
|
+
private _setOpen;
|
|
184
|
+
/** Toggles whether the drawer is currently animating. */
|
|
185
|
+
private _setIsAnimating;
|
|
186
|
+
_getWidth(): number;
|
|
187
|
+
/** Updates the enabled state of the focus trap. */
|
|
188
|
+
private _updateFocusTrapState;
|
|
189
|
+
/**
|
|
190
|
+
* Updates the position of the drawer in the DOM. We need to move the element around ourselves
|
|
191
|
+
* when it's in the `end` position so that it comes after the content and the visual order
|
|
192
|
+
* matches the tab order. We also need to be able to move it back to `start` if the sidenav
|
|
193
|
+
* started off as `end` and was changed to `start`.
|
|
194
|
+
*/
|
|
195
|
+
private _updatePositionInParent;
|
|
196
|
+
/** Event handler for animation events. */
|
|
197
|
+
private _handleTransitionEvent;
|
|
198
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CuteDrawer, never>;
|
|
199
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<CuteDrawer, "cute-drawer", ["cuteDrawer"], { "position": { "alias": "position"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "disableClose": { "alias": "disableClose"; "required": false; }; "autoFocus": { "alias": "autoFocus"; "required": false; }; "opened": { "alias": "opened"; "required": false; }; }, { "openedChange": "openedChange"; "_openedStream": "opened"; "openedStart": "openedStart"; "_closedStream": "closed"; "closedStart": "closedStart"; "onPositionChanged": "positionChanged"; }, never, ["*"], true, never>;
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* `<cute-drawer-container>` component.
|
|
203
|
+
*
|
|
204
|
+
* This is the parent component to one or two `<cute-drawer>`s that validates the state internally
|
|
205
|
+
* and coordinates the backdrop and content styling.
|
|
206
|
+
*/
|
|
207
|
+
declare class CuteDrawerContainer extends CuteLayoutControl implements AfterContentInit, DoCheck, OnDestroy {
|
|
208
|
+
private _dir;
|
|
209
|
+
private _element;
|
|
210
|
+
private _ngZone;
|
|
211
|
+
private _animationDisabled;
|
|
212
|
+
_transitionsEnabled: boolean;
|
|
213
|
+
/** All drawers in the container. Includes drawers from inside nested containers. */
|
|
214
|
+
_allDrawers: QueryList<CuteDrawer> | undefined;
|
|
215
|
+
/** Drawers that belong to this container. */
|
|
216
|
+
_drawers: QueryList<CuteDrawer>;
|
|
217
|
+
_content: CuteDrawerContent | undefined;
|
|
218
|
+
_userContent: CuteDrawerContent | undefined;
|
|
219
|
+
/** The drawer child with the `start` position. */
|
|
220
|
+
get start(): CuteDrawer | null;
|
|
221
|
+
/** The drawer child with the `end` position. */
|
|
222
|
+
get end(): CuteDrawer | null;
|
|
223
|
+
/**
|
|
224
|
+
* Whether to automatically resize the container whenever
|
|
225
|
+
* the size of its drawers changes.
|
|
226
|
+
*
|
|
227
|
+
* **Use at your own risk!** Enabling this option can cause layout thrashing by measuring
|
|
228
|
+
* the drawers on every change detection cycle. Can be configured globally via the
|
|
229
|
+
* `CUTE_DRAWER_DEFAULT_AUTOSIZE` token.
|
|
230
|
+
*/
|
|
231
|
+
get autosize(): boolean;
|
|
232
|
+
set autosize(value: BooleanInput);
|
|
233
|
+
private _autosize;
|
|
234
|
+
/**
|
|
235
|
+
* Whether the drawer container should have a backdrop while one of the `sidenav`s is open.
|
|
236
|
+
* If explicitly set to `true`, the backdrop will be enabled for drawers in the `side`
|
|
237
|
+
* mode as well.
|
|
238
|
+
*/
|
|
239
|
+
get hasBackdrop(): boolean;
|
|
240
|
+
set hasBackdrop(value: BooleanInput);
|
|
241
|
+
_backdropOverride: boolean | null;
|
|
242
|
+
/** Event emitted when the drawer backdrop is clicked. */
|
|
243
|
+
readonly backdropClick: EventEmitter<void>;
|
|
244
|
+
/** The drawer at the start/end position, independent of a direction. */
|
|
245
|
+
private _start;
|
|
246
|
+
private _end;
|
|
247
|
+
/**
|
|
248
|
+
* The drawer at the left/right. When a direction changes, these will change as well.
|
|
249
|
+
* They're used as aliases for the above to set the left/right style properly.
|
|
250
|
+
* In LTR, _left == _start and _right == _end.
|
|
251
|
+
* In RTL, _left == _end and _right == _start.
|
|
252
|
+
*/
|
|
253
|
+
private _left;
|
|
254
|
+
private _right;
|
|
255
|
+
/** Emits on every ngDoCheck. Used for debouncing reflows. */
|
|
256
|
+
private readonly _doCheckSubject;
|
|
257
|
+
/** Subject that emits when the component has been destroyed. */
|
|
258
|
+
private readonly _destroyed;
|
|
259
|
+
/**
|
|
260
|
+
* Margins to be applied to the content. These are used to push / shrink the drawer content when a
|
|
261
|
+
* drawer is open. We use margin rather than transform even for push mode because transform breaks
|
|
262
|
+
* fixed position elements inside of the transformed element.
|
|
263
|
+
*/
|
|
264
|
+
_contentMargins: {
|
|
265
|
+
left: number | null;
|
|
266
|
+
right: number | null;
|
|
267
|
+
};
|
|
268
|
+
readonly _contentMarginChanges: Subject<{
|
|
269
|
+
left: number | null;
|
|
270
|
+
right: number | null;
|
|
271
|
+
}>;
|
|
272
|
+
/** Reference to the CdkScrollable instance that wraps the scrollable content. */
|
|
273
|
+
get scrollable(): CdkScrollable;
|
|
274
|
+
protected generateId(): string;
|
|
275
|
+
private _injector;
|
|
276
|
+
constructor(...args: unknown[]);
|
|
277
|
+
ngAfterContentInit(): void;
|
|
278
|
+
ngOnDestroy(): void;
|
|
279
|
+
/** Calls `open` of both start and end drawers */
|
|
280
|
+
open(): void;
|
|
281
|
+
/** Calls `close` of both start and end drawers */
|
|
282
|
+
close(): void;
|
|
283
|
+
/**
|
|
284
|
+
* Recalculates and updates the inline styles for the content. Note that this should be used
|
|
285
|
+
* sparingly, because it causes a reflow.
|
|
286
|
+
*/
|
|
287
|
+
updateContentMargins(): void;
|
|
288
|
+
ngDoCheck(): void;
|
|
289
|
+
/**
|
|
290
|
+
* Subscribes to drawer events in order to set a class on the main container element when the
|
|
291
|
+
* drawer is open and the backdrop is visible. This ensures any overflow on the container element
|
|
292
|
+
* is properly hidden.
|
|
293
|
+
*/
|
|
294
|
+
private _watchDrawerToggle;
|
|
295
|
+
/**
|
|
296
|
+
* Subscribes to drawer onPositionChanged event in order to
|
|
297
|
+
* re-validate drawers when the position changes.
|
|
298
|
+
*/
|
|
299
|
+
private _watchDrawerPosition;
|
|
300
|
+
/** Subscribes to changes in drawer mode so we can run change detection. */
|
|
301
|
+
private _watchDrawerMode;
|
|
302
|
+
/** Toggles the 'cute-drawer-opened' class on the main 'cute-drawer-container' element. */
|
|
303
|
+
private _setContainerClass;
|
|
304
|
+
/** Validate the state of the drawer children components. */
|
|
305
|
+
private _validateDrawers;
|
|
306
|
+
/** Whether the container is being pushed to the side by one of the drawers. */
|
|
307
|
+
private _isPushed;
|
|
308
|
+
_onBackdropClicked(): void;
|
|
309
|
+
_closeModalDrawersViaBackdrop(): void;
|
|
310
|
+
_isShowingBackdrop(): boolean;
|
|
311
|
+
private _isDrawerOpen;
|
|
312
|
+
private _drawerHasBackdrop;
|
|
313
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CuteDrawerContainer, never>;
|
|
314
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<CuteDrawerContainer, "cute-drawer-container", ["cuteDrawerContainer"], { "autosize": { "alias": "autosize"; "required": false; }; "hasBackdrop": { "alias": "hasBackdrop"; "required": false; }; }, { "backdropClick": "backdropClick"; }, ["_content", "_allDrawers"], ["cute-drawer", "cute-drawer-content", "*"], true, never>;
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
/**
|
|
318
|
+
* @license Apache-2.0
|
|
319
|
+
*
|
|
320
|
+
* Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.
|
|
321
|
+
*
|
|
322
|
+
* You may not use this file except in compliance with the License
|
|
323
|
+
* that can be found at http://www.apache.org/licenses/LICENSE-2.0
|
|
324
|
+
*
|
|
325
|
+
* This code is a modification of the `@angular/material` original
|
|
326
|
+
* code licensed under MIT-style License (https://angular.dev/license).
|
|
327
|
+
*/
|
|
328
|
+
|
|
329
|
+
declare class CuteSidenavContent extends CuteDrawerContent {
|
|
330
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CuteSidenavContent, never>;
|
|
331
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<CuteSidenavContent, "cute-sidenav-content", never, {}, {}, never, ["*"], true, never>;
|
|
332
|
+
}
|
|
333
|
+
declare class CuteSidenav extends CuteDrawer {
|
|
334
|
+
/** Whether the sidenav is fixed in the viewport. */
|
|
335
|
+
get fixedInViewport(): boolean;
|
|
336
|
+
set fixedInViewport(value: BooleanInput);
|
|
337
|
+
private _fixedInViewport;
|
|
338
|
+
/**
|
|
339
|
+
* The gap between the top of the sidenav and the top of the viewport when the sidenav is in fixed
|
|
340
|
+
* mode.
|
|
341
|
+
*/
|
|
342
|
+
get fixedTopGap(): number;
|
|
343
|
+
set fixedTopGap(value: NumberInput);
|
|
344
|
+
private _fixedTopGap;
|
|
345
|
+
/**
|
|
346
|
+
* The gap between the bottom of the sidenav and the bottom of the viewport when the sidenav is in
|
|
347
|
+
* fixed mode.
|
|
348
|
+
*/
|
|
349
|
+
get fixedBottomGap(): number;
|
|
350
|
+
set fixedBottomGap(value: NumberInput);
|
|
351
|
+
private _fixedBottomGap;
|
|
352
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CuteSidenav, never>;
|
|
353
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<CuteSidenav, "cute-sidenav", ["cuteSidenav"], { "fixedInViewport": { "alias": "fixedInViewport"; "required": false; }; "fixedTopGap": { "alias": "fixedTopGap"; "required": false; }; "fixedBottomGap": { "alias": "fixedBottomGap"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
354
|
+
}
|
|
355
|
+
declare class CuteSidenavContainer extends CuteDrawerContainer {
|
|
356
|
+
_allDrawers: QueryList<CuteSidenav>;
|
|
357
|
+
_content: CuteSidenavContent;
|
|
358
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CuteSidenavContainer, never>;
|
|
359
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<CuteSidenavContainer, "cute-sidenav-container", ["cuteSidenavContainer"], {}, {}, ["_content", "_allDrawers"], ["cute-sidenav", "cute-sidenav-content", "*"], true, never>;
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
declare class CuteSidenavModule {
|
|
363
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CuteSidenavModule, never>;
|
|
364
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<CuteSidenavModule, never, [typeof i1.CommonModule, typeof i2.CdkScrollableModule, typeof CuteDrawer, typeof CuteDrawerContainer, typeof CuteDrawerContent, typeof CuteSidenav, typeof CuteSidenavContainer, typeof CuteSidenavContent], [typeof CuteDrawer, typeof CuteDrawerContainer, typeof CuteDrawerContent, typeof CuteSidenav, typeof CuteSidenavContainer, typeof CuteSidenavContent]>;
|
|
365
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<CuteSidenavModule>;
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
export { CUTE_DRAWER_CONTAINER, CUTE_DRAWER_DEFAULT_AUTOSIZE, CuteDrawer, CuteDrawerContainer, CuteDrawerContent, CuteSidenav, CuteSidenavContainer, CuteSidenavContent, CuteSidenavModule, throwCuteDuplicatedDrawerError };
|
|
369
|
+
export type { AutoFocusTarget, CuteDrawerMode, CuteDrawerToggleResult };
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { InjectionToken } from '@angular/core';
|
|
3
|
+
import { CuteInput } from '@cute-widgets/base/input';
|
|
4
|
+
import * as i1 from '@angular/common';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* @license Apache-2.0
|
|
8
|
+
*
|
|
9
|
+
* Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.
|
|
10
|
+
*
|
|
11
|
+
* You may not use this file except in compliance with the License
|
|
12
|
+
* that can be found at http://www.apache.org/licenses/LICENSE-2.0
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Injection token that can be used for a `CuteSlider` to provide itself as a
|
|
17
|
+
* parent to the `CuteSliderThumb` and `CuteSliderRangeThumb`.
|
|
18
|
+
* Used primarily to avoid circular imports.
|
|
19
|
+
* @docs-private
|
|
20
|
+
*/
|
|
21
|
+
declare const CUTE_SLIDER: InjectionToken<CuteSlider>;
|
|
22
|
+
declare class CuteSlider {
|
|
23
|
+
constructor();
|
|
24
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CuteSlider, never>;
|
|
25
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<CuteSlider, "cute-slider", ["cuteSlider"], {}, {}, never, ["*"], true, never>;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Directive that adds slider-specific behaviors to an input element inside `<cute-slider>`.
|
|
30
|
+
* Up to two may be placed inside a `<cute-slider>`.
|
|
31
|
+
*
|
|
32
|
+
* If one is used, the selector `cuteSliderThumb` must be used, and the outcome will be a normal
|
|
33
|
+
* slider. If two are used, the selectors `cuteSliderStartThumb` and `cuteSliderEndThumb` must be
|
|
34
|
+
* used, and the outcome will be a range slider with two slider thumbs.
|
|
35
|
+
*/
|
|
36
|
+
declare class CuteSliderThumb extends CuteInput {
|
|
37
|
+
constructor();
|
|
38
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CuteSliderThumb, never>;
|
|
39
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<CuteSliderThumb, "input[cuteSliderThumb]", ["cuteSliderThumb"], {}, {}, never, never, true, never>;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
declare class CuteSliderModule {
|
|
43
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CuteSliderModule, never>;
|
|
44
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<CuteSliderModule, never, [typeof i1.CommonModule, typeof CuteSlider, typeof CuteSliderThumb], [typeof CuteSlider, typeof CuteSliderThumb]>;
|
|
45
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<CuteSliderModule>;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export { CUTE_SLIDER, CuteSlider, CuteSliderModule, CuteSliderThumb };
|