source: trip-planner-front/node_modules/@angular/material/datepicker/datepicker-base.d.ts@ 8d391a1

Last change on this file since 8d391a1 was 6a3a178, checked in by Ema <ema_spirova@…>, 3 years ago

initial commit

  • Property mode set to 100644
File size: 12.4 KB
Line 
1/**
2 * @license
3 * Copyright Google LLC All Rights Reserved.
4 *
5 * Use of this source code is governed by an MIT-style license that can be
6 * found in the LICENSE file at https://angular.io/license
7 */
8import { Directionality } from '@angular/cdk/bidi';
9import { BooleanInput } from '@angular/cdk/coercion';
10import { Overlay, ScrollStrategy } from '@angular/cdk/overlay';
11import { ComponentType, TemplatePortal } from '@angular/cdk/portal';
12import { AfterViewInit, ElementRef, EventEmitter, InjectionToken, NgZone, OnDestroy, ViewContainerRef, ChangeDetectorRef, OnChanges, SimpleChanges, OnInit } from '@angular/core';
13import { CanColor, DateAdapter, ThemePalette } from '@angular/material/core';
14import { Subject, Observable } from 'rxjs';
15import { MatCalendar, MatCalendarView } from './calendar';
16import { MatCalendarUserEvent, MatCalendarCellClassFunction } from './calendar-body';
17import { DateFilterFn } from './datepicker-input-base';
18import { ExtractDateTypeFromSelection, MatDateSelectionModel, DateRange } from './date-selection-model';
19import { MatDateRangeSelectionStrategy } from './date-range-selection-strategy';
20import { MatDatepickerIntl } from './datepicker-intl';
21/** Injection token that determines the scroll handling while the calendar is open. */
22export declare const MAT_DATEPICKER_SCROLL_STRATEGY: InjectionToken<() => ScrollStrategy>;
23/** @docs-private */
24export declare function MAT_DATEPICKER_SCROLL_STRATEGY_FACTORY(overlay: Overlay): () => ScrollStrategy;
25/** Possible positions for the datepicker dropdown along the X axis. */
26export declare type DatepickerDropdownPositionX = 'start' | 'end';
27/** Possible positions for the datepicker dropdown along the Y axis. */
28export declare type DatepickerDropdownPositionY = 'above' | 'below';
29/** @docs-private */
30export declare const MAT_DATEPICKER_SCROLL_STRATEGY_FACTORY_PROVIDER: {
31 provide: InjectionToken<() => ScrollStrategy>;
32 deps: (typeof Overlay)[];
33 useFactory: typeof MAT_DATEPICKER_SCROLL_STRATEGY_FACTORY;
34};
35/** @docs-private */
36declare const _MatDatepickerContentBase: import("@angular/material/core/common-behaviors/constructor").Constructor<CanColor> & import("@angular/material/core/common-behaviors/constructor").AbstractConstructor<CanColor> & {
37 new (_elementRef: ElementRef): {
38 _elementRef: ElementRef;
39 };
40};
41/**
42 * Component used as the content for the datepicker overlay. We use this instead of using
43 * MatCalendar directly as the content so we can control the initial focus. This also gives us a
44 * place to put additional features of the overlay that are not part of the calendar itself in the
45 * future. (e.g. confirmation buttons).
46 * @docs-private
47 */
48export declare class MatDatepickerContent<S, D = ExtractDateTypeFromSelection<S>> extends _MatDatepickerContentBase implements OnInit, AfterViewInit, OnDestroy, CanColor {
49 private _changeDetectorRef;
50 private _globalModel;
51 private _dateAdapter;
52 private _rangeSelectionStrategy;
53 private _subscriptions;
54 private _model;
55 /** Reference to the internal calendar component. */
56 _calendar: MatCalendar<D>;
57 /** Reference to the datepicker that created the overlay. */
58 datepicker: MatDatepickerBase<any, S, D>;
59 /** Start of the comparison range. */
60 comparisonStart: D | null;
61 /** End of the comparison range. */
62 comparisonEnd: D | null;
63 /** Whether the datepicker is above or below the input. */
64 _isAbove: boolean;
65 /** Current state of the animation. */
66 _animationState: 'enter-dropdown' | 'enter-dialog' | 'void';
67 /** Emits when an animation has finished. */
68 readonly _animationDone: Subject<void>;
69 /** Text for the close button. */
70 _closeButtonText: string;
71 /** Whether the close button currently has focus. */
72 _closeButtonFocused: boolean;
73 /** Portal with projected action buttons. */
74 _actionsPortal: TemplatePortal | null;
75 constructor(elementRef: ElementRef, _changeDetectorRef: ChangeDetectorRef, _globalModel: MatDateSelectionModel<S, D>, _dateAdapter: DateAdapter<D>, _rangeSelectionStrategy: MatDateRangeSelectionStrategy<D>, intl: MatDatepickerIntl);
76 ngOnInit(): void;
77 ngAfterViewInit(): void;
78 ngOnDestroy(): void;
79 _handleUserSelection(event: MatCalendarUserEvent<D | null>): void;
80 _startExitAnimation(): void;
81 _getSelected(): D | DateRange<D> | null;
82 /** Applies the current pending selection to the global model. */
83 _applyPendingSelection(): void;
84}
85/** Form control that can be associated with a datepicker. */
86export interface MatDatepickerControl<D> {
87 getStartValue(): D | null;
88 getThemePalette(): ThemePalette;
89 min: D | null;
90 max: D | null;
91 disabled: boolean;
92 dateFilter: DateFilterFn<D>;
93 getConnectedOverlayOrigin(): ElementRef;
94 getOverlayLabelId(): string | null;
95 stateChanges: Observable<void>;
96}
97/** A datepicker that can be attached to a {@link MatDatepickerControl}. */
98export interface MatDatepickerPanel<C extends MatDatepickerControl<D>, S, D = ExtractDateTypeFromSelection<S>> {
99 /** Stream that emits whenever the date picker is closed. */
100 closedStream: EventEmitter<void>;
101 /** Color palette to use on the datepicker's calendar. */
102 color: ThemePalette;
103 /** The input element the datepicker is associated with. */
104 datepickerInput: C;
105 /** Whether the datepicker pop-up should be disabled. */
106 disabled: boolean;
107 /** The id for the datepicker's calendar. */
108 id: string;
109 /** Whether the datepicker is open. */
110 opened: boolean;
111 /** Stream that emits whenever the date picker is opened. */
112 openedStream: EventEmitter<void>;
113 /** Emits when the datepicker's state changes. */
114 stateChanges: Subject<void>;
115 /** Opens the datepicker. */
116 open(): void;
117 /** Register an input with the datepicker. */
118 registerInput(input: C): MatDateSelectionModel<S, D>;
119}
120/** Base class for a datepicker. */
121export declare abstract class MatDatepickerBase<C extends MatDatepickerControl<D>, S, D = ExtractDateTypeFromSelection<S>> implements MatDatepickerPanel<C, S, D>, OnDestroy, OnChanges {
122 private _overlay;
123 private _ngZone;
124 private _viewContainerRef;
125 private _dateAdapter;
126 private _dir;
127 private _model;
128 private _scrollStrategy;
129 private _inputStateChanges;
130 /** An input indicating the type of the custom header component for the calendar, if set. */
131 calendarHeaderComponent: ComponentType<any>;
132 /** The date to open the calendar to initially. */
133 get startAt(): D | null;
134 set startAt(value: D | null);
135 private _startAt;
136 /** The view that the calendar should start in. */
137 startView: 'month' | 'year' | 'multi-year';
138 /** Color palette to use on the datepicker's calendar. */
139 get color(): ThemePalette;
140 set color(value: ThemePalette);
141 _color: ThemePalette;
142 /**
143 * Whether the calendar UI is in touch mode. In touch mode the calendar opens in a dialog rather
144 * than a dropdown and elements have more padding to allow for bigger touch targets.
145 */
146 get touchUi(): boolean;
147 set touchUi(value: boolean);
148 private _touchUi;
149 /** Whether the datepicker pop-up should be disabled. */
150 get disabled(): boolean;
151 set disabled(value: boolean);
152 private _disabled;
153 /** Preferred position of the datepicker in the X axis. */
154 xPosition: DatepickerDropdownPositionX;
155 /** Preferred position of the datepicker in the Y axis. */
156 yPosition: DatepickerDropdownPositionY;
157 /**
158 * Whether to restore focus to the previously-focused element when the calendar is closed.
159 * Note that automatic focus restoration is an accessibility feature and it is recommended that
160 * you provide your own equivalent, if you decide to turn it off.
161 */
162 get restoreFocus(): boolean;
163 set restoreFocus(value: boolean);
164 private _restoreFocus;
165 /**
166 * Emits selected year in multiyear view.
167 * This doesn't imply a change on the selected date.
168 */
169 readonly yearSelected: EventEmitter<D>;
170 /**
171 * Emits selected month in year view.
172 * This doesn't imply a change on the selected date.
173 */
174 readonly monthSelected: EventEmitter<D>;
175 /**
176 * Emits when the current view changes.
177 */
178 readonly viewChanged: EventEmitter<MatCalendarView>;
179 /** Function that can be used to add custom CSS classes to dates. */
180 dateClass: MatCalendarCellClassFunction<D>;
181 /** Emits when the datepicker has been opened. */
182 readonly openedStream: EventEmitter<void>;
183 /** Emits when the datepicker has been closed. */
184 readonly closedStream: EventEmitter<void>;
185 /**
186 * Classes to be passed to the date picker panel.
187 * Supports string and string array values, similar to `ngClass`.
188 */
189 get panelClass(): string | string[];
190 set panelClass(value: string | string[]);
191 private _panelClass;
192 /** Whether the calendar is open. */
193 get opened(): boolean;
194 set opened(value: boolean);
195 private _opened;
196 /** The id for the datepicker calendar. */
197 id: string;
198 /** The minimum selectable date. */
199 _getMinDate(): D | null;
200 /** The maximum selectable date. */
201 _getMaxDate(): D | null;
202 _getDateFilter(): DateFilterFn<D>;
203 /** A reference to the overlay into which we've rendered the calendar. */
204 private _overlayRef;
205 /** Reference to the component instance rendered in the overlay. */
206 private _componentRef;
207 /** The element that was focused before the datepicker was opened. */
208 private _focusedElementBeforeOpen;
209 /** Unique class that will be added to the backdrop so that the test harnesses can look it up. */
210 private _backdropHarnessClass;
211 /** Currently-registered actions portal. */
212 private _actionsPortal;
213 /** The input element this datepicker is associated with. */
214 datepickerInput: C;
215 /** Emits when the datepicker's state changes. */
216 readonly stateChanges: Subject<void>;
217 constructor(
218 /**
219 * @deprecated `_dialog` parameter is no longer being used and it will be removed.
220 * @breaking-change 13.0.0
221 */
222 _dialog: any, _overlay: Overlay, _ngZone: NgZone, _viewContainerRef: ViewContainerRef, scrollStrategy: any, _dateAdapter: DateAdapter<D>, _dir: Directionality,
223 /**
224 * @deprecated No longer being used. To be removed.
225 * @breaking-change 13.0.0
226 */
227 _document: any, _model: MatDateSelectionModel<S, D>);
228 ngOnChanges(changes: SimpleChanges): void;
229 ngOnDestroy(): void;
230 /** Selects the given date */
231 select(date: D): void;
232 /** Emits the selected year in multiyear view */
233 _selectYear(normalizedYear: D): void;
234 /** Emits selected month in year view */
235 _selectMonth(normalizedMonth: D): void;
236 /** Emits changed view */
237 _viewChanged(view: MatCalendarView): void;
238 /**
239 * Register an input with this datepicker.
240 * @param input The datepicker input to register with this datepicker.
241 * @returns Selection model that the input should hook itself up to.
242 */
243 registerInput(input: C): MatDateSelectionModel<S, D>;
244 /**
245 * Registers a portal containing action buttons with the datepicker.
246 * @param portal Portal to be registered.
247 */
248 registerActions(portal: TemplatePortal): void;
249 /**
250 * Removes a portal containing action buttons from the datepicker.
251 * @param portal Portal to be removed.
252 */
253 removeActions(portal: TemplatePortal): void;
254 /** Open the calendar. */
255 open(): void;
256 /** Close the calendar. */
257 close(): void;
258 /** Applies the current pending selection on the overlay to the model. */
259 _applyPendingSelection(): void;
260 /** Forwards relevant values from the datepicker to the datepicker content inside the overlay. */
261 protected _forwardContentValues(instance: MatDatepickerContent<S, D>): void;
262 /** Opens the overlay with the calendar. */
263 private _openOverlay;
264 /** Destroys the current overlay. */
265 private _destroyOverlay;
266 /** Gets a position strategy that will open the calendar as a dropdown. */
267 private _getDialogStrategy;
268 /** Gets a position strategy that will open the calendar as a dropdown. */
269 private _getDropdownStrategy;
270 /** Sets the positions of the datepicker in dropdown mode based on the current configuration. */
271 private _setConnectedPositions;
272 /** Gets an observable that will emit when the overlay is supposed to be closed. */
273 private _getCloseStream;
274 static ngAcceptInputType_disabled: BooleanInput;
275 static ngAcceptInputType_opened: BooleanInput;
276 static ngAcceptInputType_touchUi: BooleanInput;
277 static ngAcceptInputType_restoreFocus: BooleanInput;
278}
279export {};
Note: See TracBrowser for help on using the repository browser.