@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,36 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { AfterViewInit, QueryList } from '@angular/core';
|
|
3
|
+
import { CuteLayoutControl } from '@cute-widgets/base/abstract';
|
|
4
|
+
import * as i1 from '@angular/common';
|
|
5
|
+
|
|
6
|
+
declare class CuteToolbarRow {
|
|
7
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CuteToolbarRow, never>;
|
|
8
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<CuteToolbarRow, "cute-toolbar-row", ["cuteToolbarRow"], {}, {}, never, never, true, never>;
|
|
9
|
+
}
|
|
10
|
+
declare class CuteToolbar extends CuteLayoutControl implements AfterViewInit {
|
|
11
|
+
private _platform;
|
|
12
|
+
private _document;
|
|
13
|
+
/** Reference to all toolbar row elements that have been projected. */
|
|
14
|
+
_toolbarRows: QueryList<CuteToolbarRow> | undefined;
|
|
15
|
+
constructor(...args: unknown[]);
|
|
16
|
+
generateId(): string;
|
|
17
|
+
ngAfterViewInit(): void;
|
|
18
|
+
/**
|
|
19
|
+
* Throws an exception when developers are attempting to combine the different toolbar row modes.
|
|
20
|
+
*/
|
|
21
|
+
private _checkToolbarMixedModes;
|
|
22
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CuteToolbar, never>;
|
|
23
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<CuteToolbar, "cute-toolbar", ["cuteToolbar"], {}, {}, ["_toolbarRows"], ["*", "cute-toolbar-row"], true, never>;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Throws an exception when attempting to combine the different toolbar row modes.
|
|
27
|
+
*/
|
|
28
|
+
declare function throwToolbarMixedModesError(): void;
|
|
29
|
+
|
|
30
|
+
declare class CuteToolbarModule {
|
|
31
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CuteToolbarModule, never>;
|
|
32
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<CuteToolbarModule, never, [typeof i1.CommonModule, typeof CuteToolbar, typeof CuteToolbarRow], [typeof CuteToolbar, typeof CuteToolbarRow]>;
|
|
33
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<CuteToolbarModule>;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export { CuteToolbar, CuteToolbarModule, CuteToolbarRow, throwToolbarMixedModesError };
|
|
@@ -0,0 +1,299 @@
|
|
|
1
|
+
import { BooleanInput, NumberInput } from '@angular/cdk/coercion';
|
|
2
|
+
import * as i0 from '@angular/core';
|
|
3
|
+
import { InjectionToken, OnDestroy, AfterViewInit, ElementRef } from '@angular/core';
|
|
4
|
+
import { Directionality } from '@angular/cdk/bidi';
|
|
5
|
+
import { ScrollStrategy, Overlay, OverlayRef, ConnectedPosition } from '@angular/cdk/overlay';
|
|
6
|
+
import { Observable } from 'rxjs';
|
|
7
|
+
import * as i1 from '@angular/common';
|
|
8
|
+
|
|
9
|
+
/** Possible positions for a tooltip. */
|
|
10
|
+
type TooltipPosition = 'left' | 'right' | 'above' | 'below' | 'before' | 'after';
|
|
11
|
+
/**
|
|
12
|
+
* Options for how the tooltip trigger should handle touch gestures.
|
|
13
|
+
* See `CuteTooltip.touchGestures` for more information.
|
|
14
|
+
*/
|
|
15
|
+
type TooltipTouchGestures = 'auto' | 'on' | 'off';
|
|
16
|
+
/** Possible visibility states of a tooltip. */
|
|
17
|
+
type TooltipVisibility = 'initial' | 'visible' | 'hidden';
|
|
18
|
+
/** Time in ms to throttle repositioning after scroll events. */
|
|
19
|
+
declare const SCROLL_THROTTLE_MS = 20;
|
|
20
|
+
/**
|
|
21
|
+
* Creates an error to be thrown if the user supplied an invalid tooltip position.
|
|
22
|
+
*/
|
|
23
|
+
declare function getCuteTooltipInvalidPositionError(position: string): Error;
|
|
24
|
+
/** Injection token that determines the scroll handling while a tooltip is visible. */
|
|
25
|
+
declare const CUTE_TOOLTIP_SCROLL_STRATEGY: InjectionToken<() => ScrollStrategy>;
|
|
26
|
+
/** @docs-private */
|
|
27
|
+
declare function CUTE_TOOLTIP_SCROLL_STRATEGY_FACTORY(overlay: Overlay): () => ScrollStrategy;
|
|
28
|
+
/** @docs-private */
|
|
29
|
+
declare const CUTE_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER: {
|
|
30
|
+
provide: InjectionToken<() => ScrollStrategy>;
|
|
31
|
+
deps: (typeof Overlay)[];
|
|
32
|
+
useFactory: typeof CUTE_TOOLTIP_SCROLL_STRATEGY_FACTORY;
|
|
33
|
+
};
|
|
34
|
+
/** @docs-private */
|
|
35
|
+
declare function CUTE_TOOLTIP_DEFAULT_OPTIONS_FACTORY(): CuteTooltipDefaultOptions;
|
|
36
|
+
/** Injection token to be used to override the default options for `cuteTooltip`. */
|
|
37
|
+
declare const CUTE_TOOLTIP_DEFAULT_OPTIONS: InjectionToken<CuteTooltipDefaultOptions>;
|
|
38
|
+
/** Default `cuteTooltip` options that can be overridden. */
|
|
39
|
+
interface CuteTooltipDefaultOptions {
|
|
40
|
+
/** Default delay when the tooltip is shown. */
|
|
41
|
+
showDelay: number;
|
|
42
|
+
/** Default delay when the tooltip is hidden. */
|
|
43
|
+
hideDelay: number;
|
|
44
|
+
/** Default delay when hiding the tooltip on a touch device. */
|
|
45
|
+
touchendHideDelay: number;
|
|
46
|
+
/** Time between the user putting the pointer on a tooltip trigger and the long press event being fired on a touch device. */
|
|
47
|
+
touchLongPressShowDelay?: number;
|
|
48
|
+
/** Default touch gesture handling for tooltips. */
|
|
49
|
+
touchGestures?: TooltipTouchGestures;
|
|
50
|
+
/** Default position for tooltips. */
|
|
51
|
+
position?: TooltipPosition;
|
|
52
|
+
/**
|
|
53
|
+
* Default value for whether tooltips should be positioned near the click or touch origin
|
|
54
|
+
* instead of outside the element bounding box.
|
|
55
|
+
*/
|
|
56
|
+
positionAtOrigin?: boolean;
|
|
57
|
+
/** Disables the ability for the user to interact with the tooltip element. */
|
|
58
|
+
disableTooltipInteractivity?: boolean;
|
|
59
|
+
/**
|
|
60
|
+
* Default classes to be applied to the tooltip. These default classes will not be applied if
|
|
61
|
+
* `tooltipClass` is defined directly on the tooltip element, as it will override the default.
|
|
62
|
+
*/
|
|
63
|
+
tooltipClass?: string | string[];
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Directive that attaches a tooltip to the host element. Animates the showing and
|
|
67
|
+
* hiding of a tooltip-provided position (defaults to below the element).
|
|
68
|
+
*
|
|
69
|
+
* https://material.io/design/components/tooltips.html
|
|
70
|
+
*/
|
|
71
|
+
declare class CuteTooltip implements OnDestroy, AfterViewInit {
|
|
72
|
+
private _overlay;
|
|
73
|
+
private _elementRef;
|
|
74
|
+
private _scrollDispatcher;
|
|
75
|
+
private _viewContainerRef;
|
|
76
|
+
private _ngZone;
|
|
77
|
+
private _platform;
|
|
78
|
+
private _ariaDescriber;
|
|
79
|
+
private _focusMonitor;
|
|
80
|
+
protected _dir: Directionality;
|
|
81
|
+
private _injector;
|
|
82
|
+
private _defaultOptions;
|
|
83
|
+
protected _overlayRef: OverlayRef | null;
|
|
84
|
+
protected _tooltipInstance: TooltipComponent | null;
|
|
85
|
+
private _portal;
|
|
86
|
+
private _viewInitialized;
|
|
87
|
+
private _pointerExitEventsInitialized;
|
|
88
|
+
private readonly _scrollStrategy;
|
|
89
|
+
private readonly _tooltipComponent;
|
|
90
|
+
private _viewportMargin;
|
|
91
|
+
private _currentPosition;
|
|
92
|
+
private readonly _cssClassPrefix;
|
|
93
|
+
private _ariaDescriptionPending;
|
|
94
|
+
private _dirSubscribed;
|
|
95
|
+
/** Allows the user to define the position of the tooltip relative to the parent element */
|
|
96
|
+
get position(): TooltipPosition;
|
|
97
|
+
set position(value: TooltipPosition);
|
|
98
|
+
private _position;
|
|
99
|
+
/**
|
|
100
|
+
* Whether tooltip should be relative to the click or touch origin
|
|
101
|
+
* instead of outside the element bounding box.
|
|
102
|
+
*/
|
|
103
|
+
get positionAtOrigin(): boolean;
|
|
104
|
+
set positionAtOrigin(value: BooleanInput);
|
|
105
|
+
private _positionAtOrigin;
|
|
106
|
+
/** Disables the display of the tooltip. */
|
|
107
|
+
get disabled(): boolean;
|
|
108
|
+
set disabled(value: BooleanInput);
|
|
109
|
+
private _disabled;
|
|
110
|
+
/** The default delay in ms before showing the tooltip after show is called */
|
|
111
|
+
get showDelay(): number;
|
|
112
|
+
set showDelay(value: NumberInput);
|
|
113
|
+
private _showDelay;
|
|
114
|
+
/** The default delay in ms before hiding the tooltip after hide is called */
|
|
115
|
+
get hideDelay(): number;
|
|
116
|
+
set hideDelay(value: NumberInput);
|
|
117
|
+
private _hideDelay;
|
|
118
|
+
/**
|
|
119
|
+
* How touch gestures should be handled by the tooltip. On touch devices the tooltip directive
|
|
120
|
+
* uses a long press gesture to show and hide; however, it can conflict with the native browser
|
|
121
|
+
* gestures. To work around the conflict, Angular Material disables native gestures on the
|
|
122
|
+
* trigger, but that might not be desirable on particular elements (e.g., inputs and draggable
|
|
123
|
+
* elements). The different values for this option configure the touch event handling as follows:
|
|
124
|
+
* - `auto` - Enables touch gestures for all elements, but tries to avoid conflicts with native
|
|
125
|
+
* browser gestures on particular elements. In particular, it allows text selection on inputs
|
|
126
|
+
* and textareas, and preserves the native browser dragging on elements marked as `draggable`.
|
|
127
|
+
* - `on` - Enables touch gestures for all elements and disables native
|
|
128
|
+
* browser gestures with no exceptions.
|
|
129
|
+
* - `off` - Disables touch gestures. Note that this will prevent the tooltip from
|
|
130
|
+
* showing on touch devices.
|
|
131
|
+
*/
|
|
132
|
+
touchGestures: TooltipTouchGestures;
|
|
133
|
+
/** The message to be displayed in the tooltip */
|
|
134
|
+
get message(): string;
|
|
135
|
+
set message(value: string);
|
|
136
|
+
private _message;
|
|
137
|
+
/** Classes to be passed to the tooltip. Supports the same syntax as `ngClass`. */
|
|
138
|
+
get tooltipClass(): string | string[] | Set<string> | {
|
|
139
|
+
[key: string]: any;
|
|
140
|
+
};
|
|
141
|
+
set tooltipClass(value: string | string[] | Set<string> | {
|
|
142
|
+
[key: string]: any;
|
|
143
|
+
});
|
|
144
|
+
private _tooltipClass;
|
|
145
|
+
/** Manually bound passive event listeners. */
|
|
146
|
+
private readonly _passiveListeners;
|
|
147
|
+
/** Reference to the current document. */
|
|
148
|
+
private _document;
|
|
149
|
+
/** The Timer started at the last `touchstart` event. */
|
|
150
|
+
private _touchstartTimeout;
|
|
151
|
+
/** Emits when the component is destroyed. */
|
|
152
|
+
private readonly _destroyed;
|
|
153
|
+
constructor(...args: unknown[]);
|
|
154
|
+
ngAfterViewInit(): void;
|
|
155
|
+
/**
|
|
156
|
+
* Dispose the tooltip when destroyed.
|
|
157
|
+
*/
|
|
158
|
+
ngOnDestroy(): void;
|
|
159
|
+
/** Shows the tooltip after the delay in ms, defaults to tooltip-delay-show or 0ms if no input */
|
|
160
|
+
show(delay?: number, origin?: {
|
|
161
|
+
x: number;
|
|
162
|
+
y: number;
|
|
163
|
+
}): void;
|
|
164
|
+
/** Hides the tooltip after the delay in ms, defaults to tooltip-delay-hide or 0ms if no input */
|
|
165
|
+
hide(delay?: number): void;
|
|
166
|
+
/** Shows/hides the tooltip */
|
|
167
|
+
toggle(origin?: {
|
|
168
|
+
x: number;
|
|
169
|
+
y: number;
|
|
170
|
+
}): void;
|
|
171
|
+
/** Returns true if the tooltip is currently visible to the user */
|
|
172
|
+
protected _isTooltipVisible(): boolean;
|
|
173
|
+
/** Create the overlay config and position strategy */
|
|
174
|
+
private _createOverlay;
|
|
175
|
+
/** Detaches the currently attached tooltip. */
|
|
176
|
+
private _detach;
|
|
177
|
+
/** Updates the position of the current tooltip. */
|
|
178
|
+
private _updatePosition;
|
|
179
|
+
/** Adds the configured offset to a position. Used as a hook for child classes. */
|
|
180
|
+
protected _addOffset(position: ConnectedPosition): ConnectedPosition;
|
|
181
|
+
/**
|
|
182
|
+
* Returns the origin position and a fallback position based on the user's position preference.
|
|
183
|
+
* The fallback position is the inverse of the origin (e.g. `'below' -> 'above'`).
|
|
184
|
+
*/
|
|
185
|
+
private _getOrigin;
|
|
186
|
+
/** Returns the overlay position and a fallback position based on the user's preference */
|
|
187
|
+
private _getOverlayPosition;
|
|
188
|
+
/** Updates the tooltip message and repositions the overlay according to the new message length */
|
|
189
|
+
private _updateTooltipMessage;
|
|
190
|
+
/** Updates the tooltip class */
|
|
191
|
+
private _setTooltipClass;
|
|
192
|
+
/** Inverts an overlay position. */
|
|
193
|
+
private _invertPosition;
|
|
194
|
+
/** Updates the class on the overlay panel based on the current position of the tooltip. */
|
|
195
|
+
private _updateCurrentPositionClass;
|
|
196
|
+
/** Binds the pointer events to the tooltip trigger. */
|
|
197
|
+
private _setupPointerEnterEventsIfNeeded;
|
|
198
|
+
private _setupPointerExitEventsIfNeeded;
|
|
199
|
+
private _addListeners;
|
|
200
|
+
private _platformSupportsMouseEvents;
|
|
201
|
+
/** Listener for the `wheel` event on the element. */
|
|
202
|
+
private _wheelListener;
|
|
203
|
+
/** Disables the native browser gestures, based on how the tooltip has been configured. */
|
|
204
|
+
private _disableNativeGesturesIfNecessary;
|
|
205
|
+
/** Updates the tooltip's ARIA description based on it current state. */
|
|
206
|
+
private _syncAriaDescription;
|
|
207
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CuteTooltip, never>;
|
|
208
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<CuteTooltip, "[cuteTooltip]", ["cuteTooltip"], { "position": { "alias": "cuteTooltipPosition"; "required": false; }; "positionAtOrigin": { "alias": "cuteTooltipPositionAtOrigin"; "required": false; }; "disabled": { "alias": "cuteTooltipDisabled"; "required": false; }; "showDelay": { "alias": "cuteTooltipShowDelay"; "required": false; }; "hideDelay": { "alias": "cuteTooltipHideDelay"; "required": false; }; "touchGestures": { "alias": "cuteTooltipTouchGestures"; "required": false; }; "message": { "alias": "cuteTooltip"; "required": false; }; "tooltipClass": { "alias": "cuteTooltipClass"; "required": false; }; }, {}, never, never, true, never>;
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Internal component that wraps the tooltip's content.
|
|
212
|
+
*/
|
|
213
|
+
declare class TooltipComponent implements OnDestroy {
|
|
214
|
+
private _changeDetectorRef;
|
|
215
|
+
protected _elementRef: ElementRef<HTMLElement>;
|
|
216
|
+
_isMultiline: boolean;
|
|
217
|
+
/** Message to display in the tooltip */
|
|
218
|
+
message: string | undefined;
|
|
219
|
+
/** Classes to be added to the tooltip. Supports the same syntax as `ngClass`. */
|
|
220
|
+
tooltipClass: string | string[] | Set<string> | {
|
|
221
|
+
[key: string]: any;
|
|
222
|
+
} | undefined;
|
|
223
|
+
/** The timeout ID of any current timer set to show the tooltip */
|
|
224
|
+
private _showTimeoutId;
|
|
225
|
+
/** The timeout ID of any current timer set to hide the tooltip */
|
|
226
|
+
private _hideTimeoutId;
|
|
227
|
+
/** Element that caused the tooltip to open. */
|
|
228
|
+
_triggerElement: HTMLElement | undefined;
|
|
229
|
+
/** Number of milliseconds to delay the closing sequence. */
|
|
230
|
+
_mouseLeaveHideDelay: number;
|
|
231
|
+
/** Whether animations are currently disabled. */
|
|
232
|
+
private _animationsDisabled;
|
|
233
|
+
/** Reference to the internal tooltip element. */
|
|
234
|
+
readonly _tooltip: ElementRef<HTMLElement> | undefined;
|
|
235
|
+
/** Whether interactions on the page should close the tooltip */
|
|
236
|
+
private _closeOnInteraction;
|
|
237
|
+
/** Whether the tooltip is currently visible. */
|
|
238
|
+
private _isVisible;
|
|
239
|
+
/** Subject for notifying that the tooltip has been hidden from the view */
|
|
240
|
+
private readonly _onHide;
|
|
241
|
+
/** Name of the show animation and the class that toggles it. */
|
|
242
|
+
private readonly _showAnimation;
|
|
243
|
+
/** Name of the hide animation and the class that toggles it. */
|
|
244
|
+
private readonly _hideAnimation;
|
|
245
|
+
constructor(...args: unknown[]);
|
|
246
|
+
/**
|
|
247
|
+
* Shows the tooltip with an animation originating from the provided origin
|
|
248
|
+
* @param delay Amount of milliseconds to the delay showing the tooltip.
|
|
249
|
+
*/
|
|
250
|
+
show(delay: number): void;
|
|
251
|
+
/**
|
|
252
|
+
* Begins the animation to hide the tooltip after the provided delay in ms.
|
|
253
|
+
* @param delay Amount of milliseconds to delay showing the tooltip.
|
|
254
|
+
*/
|
|
255
|
+
hide(delay: number): void;
|
|
256
|
+
/** Returns an observable that notifies when the tooltip has been hidden from view. */
|
|
257
|
+
afterHidden(): Observable<void>;
|
|
258
|
+
/** Whether the tooltip is being displayed. */
|
|
259
|
+
isVisible(): boolean;
|
|
260
|
+
ngOnDestroy(): void;
|
|
261
|
+
/**
|
|
262
|
+
* Interactions on the HTML body should close the tooltip immediately as defined in the
|
|
263
|
+
* material design spec.
|
|
264
|
+
* https://material.io/design/components/tooltips.html#behavior
|
|
265
|
+
*/
|
|
266
|
+
_handleBodyInteraction(): void;
|
|
267
|
+
/**
|
|
268
|
+
* Marks that the tooltip needs to be checked in the next change detection run.
|
|
269
|
+
* Mainly used for rendering the initial text before positioning a tooltip, which
|
|
270
|
+
* can be problematic in components with OnPush change detection.
|
|
271
|
+
*/
|
|
272
|
+
_markForCheck(): void;
|
|
273
|
+
_handleMouseLeave({ relatedTarget }: MouseEvent): void;
|
|
274
|
+
/**
|
|
275
|
+
* Callback for when the timeout in this.show() gets completed.
|
|
276
|
+
*/
|
|
277
|
+
protected _onShow(): void;
|
|
278
|
+
/** Whether the tooltip text has overflown to the next line */
|
|
279
|
+
private _isTooltipMultiline;
|
|
280
|
+
/** Event listener dispatched when an animation on the tooltip finishes. */
|
|
281
|
+
_handleAnimationEnd({ animationName }: AnimationEvent): void;
|
|
282
|
+
/** Cancels any pending animation sequences. */
|
|
283
|
+
_cancelPendingAnimations(): void;
|
|
284
|
+
/** Handles the cleanup after an animation has finished. */
|
|
285
|
+
private _finalizeAnimation;
|
|
286
|
+
/** Toggles the visibility of the tooltip element. */
|
|
287
|
+
private _toggleVisibility;
|
|
288
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TooltipComponent, never>;
|
|
289
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TooltipComponent, "cute-tooltip-component", never, {}, {}, never, never, true, never>;
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
declare class CuteTooltipModule {
|
|
293
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CuteTooltipModule, never>;
|
|
294
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<CuteTooltipModule, never, [typeof i1.CommonModule, typeof CuteTooltip], [typeof CuteTooltip]>;
|
|
295
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<CuteTooltipModule>;
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
export { CUTE_TOOLTIP_DEFAULT_OPTIONS, CUTE_TOOLTIP_DEFAULT_OPTIONS_FACTORY, CUTE_TOOLTIP_SCROLL_STRATEGY, CUTE_TOOLTIP_SCROLL_STRATEGY_FACTORY, CUTE_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER, CuteTooltip, CuteTooltipModule, SCROLL_THROTTLE_MS, TooltipComponent, getCuteTooltipInvalidPositionError };
|
|
299
|
+
export type { CuteTooltipDefaultOptions, TooltipPosition, TooltipTouchGestures, TooltipVisibility };
|
package/tree/index.d.ts
ADDED
|
@@ -0,0 +1,314 @@
|
|
|
1
|
+
import * as i1 from '@angular/cdk/tree';
|
|
2
|
+
import { CdkTreeNode, CdkTreeNodeDef, CdkNestedTreeNode, CdkTreeNodePadding, CdkTreeNodeOutlet, CdkTree, CdkTreeNodeToggle, TreeControl, FlatTreeControl } from '@angular/cdk/tree';
|
|
3
|
+
import * as i0 from '@angular/core';
|
|
4
|
+
import { OnInit, OnDestroy, AfterContentInit, ViewContainerRef, EventEmitter } from '@angular/core';
|
|
5
|
+
import { DataSource, CollectionViewer } from '@angular/cdk/collections';
|
|
6
|
+
import { Observable } from 'rxjs';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* @license Apache-2.0
|
|
10
|
+
*
|
|
11
|
+
* Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.
|
|
12
|
+
*
|
|
13
|
+
* You may not use this file except in compliance with the License
|
|
14
|
+
* that can be found at http://www.apache.org/licenses/LICENSE-2.0
|
|
15
|
+
*
|
|
16
|
+
* This code is a modification of the `@angular/material` original
|
|
17
|
+
* code licensed under MIT-style License (https://angular.dev/license).
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Wrapper for the CdkTree node with CuteWidget's design styles.
|
|
22
|
+
*/
|
|
23
|
+
declare class CuteTreeNode<T, K = T> extends CdkTreeNode<T, K> implements OnInit, OnDestroy {
|
|
24
|
+
/**
|
|
25
|
+
* The tabindex of the tree node.
|
|
26
|
+
*
|
|
27
|
+
* @deprecated By default CuteTreeNode manages focus using TreeKeyManager instead of tabIndex.
|
|
28
|
+
* Recommend to avoid setting tabIndex directly to prevent TreeKeyManager from getting into
|
|
29
|
+
* an unexpected state. Tabindex to be removed in a future version.
|
|
30
|
+
* @breaking-change 21.0.0 Remove this attribute.
|
|
31
|
+
*/
|
|
32
|
+
get tabIndexInputBinding(): number;
|
|
33
|
+
set tabIndexInputBinding(value: number);
|
|
34
|
+
private _tabIndexInputBinding;
|
|
35
|
+
/**
|
|
36
|
+
* The default tabindex of the tree node.
|
|
37
|
+
*
|
|
38
|
+
* @deprecated By default CuteTreeNode manages focus using TreeKeyManager instead of tabIndex.
|
|
39
|
+
* Recommend to avoid setting tabIndex directly to prevent TreeKeyManager form getting into
|
|
40
|
+
* an unexpected state. Tabindex to be removed in a future version.
|
|
41
|
+
* @breaking-change 21.0.0 Remove this attribute.
|
|
42
|
+
*/
|
|
43
|
+
defaultTabIndex: number;
|
|
44
|
+
protected _getTabindexAttribute(): number | null;
|
|
45
|
+
/**
|
|
46
|
+
* Whether the component is disabled.
|
|
47
|
+
*
|
|
48
|
+
* @deprecated This is an alias for `isDisabled`.
|
|
49
|
+
* @breaking-change 21.0.0 Remove this input
|
|
50
|
+
*/
|
|
51
|
+
get disabled(): boolean;
|
|
52
|
+
set disabled(value: boolean);
|
|
53
|
+
constructor(...args: unknown[]);
|
|
54
|
+
ngOnInit(): void;
|
|
55
|
+
ngOnDestroy(): void;
|
|
56
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CuteTreeNode<any, any>, never>;
|
|
57
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<CuteTreeNode<any, any>, "cute-tree-node", ["cuteTreeNode"], { "cdkTreeNodeTypeaheadLabel": { "alias": "cuteTreeNodeTypeaheadLabel"; "required": false; }; "tabIndexInputBinding": { "alias": "tabIndex"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "activation": "activation"; "expandedChange": "expandedChange"; }, never, never, true, never>;
|
|
58
|
+
static ngAcceptInputType_tabIndexInputBinding: unknown;
|
|
59
|
+
static ngAcceptInputType_disabled: unknown;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Wrapper for the CdkTree node definition with CuteWidgets' design styles.
|
|
63
|
+
* Captures the node's template and a `when` predicate that describes when this node should be used.
|
|
64
|
+
*/
|
|
65
|
+
declare class CuteTreeNodeDef<T> extends CdkTreeNodeDef<T> {
|
|
66
|
+
data: T | undefined;
|
|
67
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CuteTreeNodeDef<any>, never>;
|
|
68
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<CuteTreeNodeDef<any>, "[cuteTreeNodeDef]", never, { "when": { "alias": "cuteTreeNodeDefWhen"; "required": false; }; "data": { "alias": "cuteTreeNode"; "required": false; }; }, {}, never, never, true, never>;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Wrapper for the CdkTree nested node with CuteWidgets' design styles.
|
|
72
|
+
*/
|
|
73
|
+
declare class CuteNestedTreeNode<T, K = T> extends CdkNestedTreeNode<T, K> implements AfterContentInit, OnDestroy, OnInit {
|
|
74
|
+
node: T | undefined;
|
|
75
|
+
/**
|
|
76
|
+
* Whether the node is disabled.
|
|
77
|
+
*
|
|
78
|
+
* @deprecated This is an alias for `isDisabled`.
|
|
79
|
+
* @breaking-change 21.0.0 Remove this input
|
|
80
|
+
*/
|
|
81
|
+
get disabled(): boolean;
|
|
82
|
+
set disabled(value: boolean);
|
|
83
|
+
/** Tabindex of the node. */
|
|
84
|
+
get tabIndex(): number;
|
|
85
|
+
set tabIndex(value: number);
|
|
86
|
+
private _tabIndex;
|
|
87
|
+
ngOnInit(): void;
|
|
88
|
+
ngAfterContentInit(): void;
|
|
89
|
+
ngOnDestroy(): void;
|
|
90
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CuteNestedTreeNode<any, any>, never>;
|
|
91
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<CuteNestedTreeNode<any, any>, "cute-nested-tree-node", ["cuteNestedTreeNode"], { "node": { "alias": "cuteNestedTreeNode"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; }, { "activation": "activation"; "expandedChange": "expandedChange"; }, never, never, true, never>;
|
|
92
|
+
static ngAcceptInputType_disabled: unknown;
|
|
93
|
+
static ngAcceptInputType_tabIndex: unknown;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* @license Apache-2.0
|
|
98
|
+
*
|
|
99
|
+
* Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.
|
|
100
|
+
*
|
|
101
|
+
* You may not use this file except in compliance with the License
|
|
102
|
+
* that can be found at http://www.apache.org/licenses/LICENSE-2.0
|
|
103
|
+
*
|
|
104
|
+
* This code is a modification of the `@angular/material` original
|
|
105
|
+
* code licensed under MIT-style License (https://angular.dev/license).
|
|
106
|
+
*/
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* Wrapper for the CdkTree padding with **CuteWidgets** design styles.
|
|
110
|
+
*/
|
|
111
|
+
declare class CuteTreeNodePadding<T, K = T> extends CdkTreeNodePadding<T, K> {
|
|
112
|
+
/** The level of depth of the tree node. The padding will be `level * indent` pixels. */
|
|
113
|
+
get level(): number;
|
|
114
|
+
set level(value: number);
|
|
115
|
+
/** The indent for each level. Default number 40px from material design menu submenu spec. */
|
|
116
|
+
get indent(): number | string;
|
|
117
|
+
set indent(indent: number | string);
|
|
118
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CuteTreeNodePadding<any, any>, never>;
|
|
119
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<CuteTreeNodePadding<any, any>, "[cuteTreeNodePadding]", never, { "level": { "alias": "cuteTreeNodePadding"; "required": false; }; "indent": { "alias": "cuteTreeNodePaddingIndent"; "required": false; }; }, {}, never, never, true, never>;
|
|
120
|
+
static ngAcceptInputType_level: unknown;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* @license Apache-2.0
|
|
125
|
+
*
|
|
126
|
+
* Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.
|
|
127
|
+
*
|
|
128
|
+
* You may not use this file except in compliance with the License
|
|
129
|
+
* that can be found at http://www.apache.org/licenses/LICENSE-2.0
|
|
130
|
+
*
|
|
131
|
+
* This code is a modification of the `@angular/material` original
|
|
132
|
+
* code licensed under MIT-style License (https://angular.dev/license).
|
|
133
|
+
*/
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* Outlet for nested CdkNode. Put `[cuteTreeNodeOutlet]` on a tag to place children dataNodes
|
|
137
|
+
* inside the outlet.
|
|
138
|
+
*/
|
|
139
|
+
declare class CuteTreeNodeOutlet implements CdkTreeNodeOutlet {
|
|
140
|
+
readonly viewContainer: ViewContainerRef;
|
|
141
|
+
readonly _node: {} | null;
|
|
142
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CuteTreeNodeOutlet, never>;
|
|
143
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<CuteTreeNodeOutlet, "[cuteTreeNodeOutlet]", never, {}, {}, never, never, true, never>;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
* @license Apache-2.0
|
|
148
|
+
*
|
|
149
|
+
* Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.
|
|
150
|
+
*
|
|
151
|
+
* You may not use this file except in compliance with the License
|
|
152
|
+
* that can be found at http://www.apache.org/licenses/LICENSE-2.0
|
|
153
|
+
*
|
|
154
|
+
* This code is a modification of the `@angular/material` original
|
|
155
|
+
* code licensed under MIT-style License (https://angular.dev/license).
|
|
156
|
+
*/
|
|
157
|
+
|
|
158
|
+
/**
|
|
159
|
+
* Wrapper for the CdkTable with **CuteWidgets** design styles.
|
|
160
|
+
*/
|
|
161
|
+
declare class CuteTree<T, K = T> extends CdkTree<T, K> {
|
|
162
|
+
private _renderChanges;
|
|
163
|
+
/** Event emitted on each change in the rendered data. */
|
|
164
|
+
renderNodesChange: EventEmitter<T[]>;
|
|
165
|
+
_nodeOutlet: CuteTreeNodeOutlet;
|
|
166
|
+
constructor();
|
|
167
|
+
renderNodeChanges(data: T[]): void;
|
|
168
|
+
ngOnDestroy(): void;
|
|
169
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CuteTree<any, any>, never>;
|
|
170
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<CuteTree<any, any>, "cute-tree", ["cuteTree"], {}, { "renderNodesChange": "renderNodesChange"; }, never, never, true, never>;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
/**
|
|
174
|
+
* @license Apache-2.0
|
|
175
|
+
*
|
|
176
|
+
* Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.
|
|
177
|
+
*
|
|
178
|
+
* You may not use this file except in compliance with the License
|
|
179
|
+
* that can be found at http://www.apache.org/licenses/LICENSE-2.0
|
|
180
|
+
*
|
|
181
|
+
* This code is a modification of the `@angular/material` original
|
|
182
|
+
* code licensed under MIT-style License (https://angular.dev/license).
|
|
183
|
+
*/
|
|
184
|
+
|
|
185
|
+
/**
|
|
186
|
+
* Wrapper for the CdkTree's toggle with **CuteWidgets** design styles.
|
|
187
|
+
*/
|
|
188
|
+
declare class CuteTreeNodeToggle<T, K = T> extends CdkTreeNodeToggle<T, K> {
|
|
189
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CuteTreeNodeToggle<any, any>, never>;
|
|
190
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<CuteTreeNodeToggle<any, any>, "[cuteTreeNodeToggle]", never, { "recursive": { "alias": "cuteTreeNodeToggleRecursive"; "required": false; }; }, {}, never, never, true, never>;
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
/**
|
|
194
|
+
* @license Apache-2.0
|
|
195
|
+
*
|
|
196
|
+
* Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.
|
|
197
|
+
*
|
|
198
|
+
* You may not use this file except in compliance with the License
|
|
199
|
+
* that can be found at http://www.apache.org/licenses/LICENSE-2.0
|
|
200
|
+
*
|
|
201
|
+
* This code is a modification of the `@angular/material` original
|
|
202
|
+
* code licensed under MIT-style License (https://angular.dev/license).
|
|
203
|
+
*/
|
|
204
|
+
|
|
205
|
+
/**
|
|
206
|
+
* Tree flattener to convert a normal type of node to node with children & level information.
|
|
207
|
+
* Transform nested nodes of type `T` to flattened nodes of type `F`.
|
|
208
|
+
*
|
|
209
|
+
* For example, the input data of type `T` is nested, and contains its children data:
|
|
210
|
+
* SomeNode: {
|
|
211
|
+
* key: 'Fruits',
|
|
212
|
+
* children: [
|
|
213
|
+
* NodeOne: {
|
|
214
|
+
* key: 'Apple',
|
|
215
|
+
* },
|
|
216
|
+
* NodeTwo: {
|
|
217
|
+
* key: 'Pear',
|
|
218
|
+
* }
|
|
219
|
+
* ]
|
|
220
|
+
* }
|
|
221
|
+
* After flattener flatten the tree, the structure will become
|
|
222
|
+
* SomeNode: {
|
|
223
|
+
* key: 'Fruits',
|
|
224
|
+
* expandable: true,
|
|
225
|
+
* level: 1
|
|
226
|
+
* },
|
|
227
|
+
* NodeOne: {
|
|
228
|
+
* key: 'Apple',
|
|
229
|
+
* expandable: false,
|
|
230
|
+
* level: 2
|
|
231
|
+
* },
|
|
232
|
+
* NodeTwo: {
|
|
233
|
+
* key: 'Pear',
|
|
234
|
+
* expandable: false,
|
|
235
|
+
* level: 2
|
|
236
|
+
* }
|
|
237
|
+
* and the output flattened type is `F` with additional information.
|
|
238
|
+
*/
|
|
239
|
+
declare class CuteTreeFlattener<T, F, K = F> {
|
|
240
|
+
transformFunction: (node: T, level: number) => F;
|
|
241
|
+
getLevel: (node: F) => number;
|
|
242
|
+
isExpandable: (node: F) => boolean;
|
|
243
|
+
getChildren: (node: T) => Observable<T[]> | T[] | undefined | null;
|
|
244
|
+
constructor(transformFunction: (node: T, level: number) => F, getLevel: (node: F) => number, isExpandable: (node: F) => boolean, getChildren: (node: T) => Observable<T[]> | T[] | undefined | null);
|
|
245
|
+
private _flattenNode;
|
|
246
|
+
private _flattenChildren;
|
|
247
|
+
/**
|
|
248
|
+
* Flatten a list of node type T to a flattened version of node F.
|
|
249
|
+
* Please note that type T may be nested, and the length of `structuredData` may be different
|
|
250
|
+
* from that of a returned list `F[]`.
|
|
251
|
+
*/
|
|
252
|
+
flattenNodes(structuredData: T[]): F[];
|
|
253
|
+
/**
|
|
254
|
+
* Expand flattened node with current expansion status.
|
|
255
|
+
* The returned list may have different length.
|
|
256
|
+
*/
|
|
257
|
+
expandFlattenedNodes(nodes: F[], treeControl: TreeControl<F, K>): F[];
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* Data source for a flat tree.
|
|
261
|
+
* The data source needs to handle expansion/collapsion of the tree node and change the data feed
|
|
262
|
+
* to `CuteTree`.
|
|
263
|
+
* The nested tree nodes of type `T` are flattened through `CuteTreeFlattener`, and converted
|
|
264
|
+
* to type `F` for `CuteTree` to consume.
|
|
265
|
+
*/
|
|
266
|
+
declare class CuteTreeFlatDataSource<T, F, K = F> extends DataSource<F> {
|
|
267
|
+
private _treeControl;
|
|
268
|
+
private _treeFlattener;
|
|
269
|
+
private readonly _flattenedData;
|
|
270
|
+
private readonly _expandedData;
|
|
271
|
+
get data(): T[];
|
|
272
|
+
set data(value: T[]);
|
|
273
|
+
private readonly _data;
|
|
274
|
+
constructor(_treeControl: FlatTreeControl<F, K>, _treeFlattener: CuteTreeFlattener<T, F, K>, initialData?: T[]);
|
|
275
|
+
connect(collectionViewer: CollectionViewer): Observable<F[]>;
|
|
276
|
+
disconnect(): void;
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
/**
|
|
280
|
+
* @license Apache-2.0
|
|
281
|
+
*
|
|
282
|
+
* Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.
|
|
283
|
+
*
|
|
284
|
+
* You may not use this file except in compliance with the License
|
|
285
|
+
* that can be found at http://www.apache.org/licenses/LICENSE-2.0
|
|
286
|
+
*
|
|
287
|
+
* This code is a modification of the `@angular/material` original
|
|
288
|
+
* code licensed under MIT-style License (https://angular.dev/license).
|
|
289
|
+
*/
|
|
290
|
+
|
|
291
|
+
/**
|
|
292
|
+
* Data source for a nested tree.
|
|
293
|
+
*
|
|
294
|
+
* The data source for a nested tree doesn't have to consider node flattener, or the way to expand
|
|
295
|
+
* or collapse. The expansion/collapsion will be handled by TreeControl and each non-leaf node.
|
|
296
|
+
*/
|
|
297
|
+
declare class CuteTreeNestedDataSource<T> extends DataSource<T> {
|
|
298
|
+
/**
|
|
299
|
+
* Data for the nested tree
|
|
300
|
+
*/
|
|
301
|
+
get data(): T[];
|
|
302
|
+
set data(value: T[]);
|
|
303
|
+
private readonly _data;
|
|
304
|
+
connect(collectionViewer: CollectionViewer): Observable<T[]>;
|
|
305
|
+
disconnect(): void;
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
declare class CuteTreeModule {
|
|
309
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CuteTreeModule, never>;
|
|
310
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<CuteTreeModule, never, [typeof i1.CdkTreeModule, typeof CuteNestedTreeNode, typeof CuteTreeNodeDef, typeof CuteTreeNodePadding, typeof CuteTreeNodeToggle, typeof CuteTree, typeof CuteTreeNode, typeof CuteTreeNodeOutlet], [typeof CuteNestedTreeNode, typeof CuteTreeNodeDef, typeof CuteTreeNodePadding, typeof CuteTreeNodeToggle, typeof CuteTree, typeof CuteTreeNode, typeof CuteTreeNodeOutlet]>;
|
|
311
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<CuteTreeModule>;
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
export { CuteNestedTreeNode, CuteTree, CuteTreeFlatDataSource, CuteTreeFlattener, CuteTreeModule, CuteTreeNestedDataSource, CuteTreeNode, CuteTreeNodeDef, CuteTreeNodeOutlet, CuteTreeNodePadding, CuteTreeNodeToggle };
|