source: trip-planner-front/node_modules/@angular/material/datepicker/calendar-body.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: 6.6 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 { ElementRef, EventEmitter, NgZone, OnChanges, SimpleChanges, OnDestroy } from '@angular/core';
9/** Extra CSS classes that can be associated with a calendar cell. */
10export declare type MatCalendarCellCssClasses = string | string[] | Set<string> | {
11 [key: string]: any;
12};
13/** Function that can generate the extra classes that should be added to a calendar cell. */
14export declare type MatCalendarCellClassFunction<D> = (date: D, view: 'month' | 'year' | 'multi-year') => MatCalendarCellCssClasses;
15/**
16 * An internal class that represents the data corresponding to a single calendar cell.
17 * @docs-private
18 */
19export declare class MatCalendarCell<D = any> {
20 value: number;
21 displayValue: string;
22 ariaLabel: string;
23 enabled: boolean;
24 cssClasses: MatCalendarCellCssClasses;
25 compareValue: number;
26 rawValue?: D | undefined;
27 constructor(value: number, displayValue: string, ariaLabel: string, enabled: boolean, cssClasses?: MatCalendarCellCssClasses, compareValue?: number, rawValue?: D | undefined);
28}
29/** Event emitted when a date inside the calendar is triggered as a result of a user action. */
30export interface MatCalendarUserEvent<D> {
31 value: D;
32 event: Event;
33}
34/**
35 * An internal component used to display calendar data in a table.
36 * @docs-private
37 */
38export declare class MatCalendarBody implements OnChanges, OnDestroy {
39 private _elementRef;
40 private _ngZone;
41 /**
42 * Used to skip the next focus event when rendering the preview range.
43 * We need a flag like this, because some browsers fire focus events asynchronously.
44 */
45 private _skipNextFocus;
46 /** The label for the table. (e.g. "Jan 2017"). */
47 label: string;
48 /** The cells to display in the table. */
49 rows: MatCalendarCell[][];
50 /** The value in the table that corresponds to today. */
51 todayValue: number;
52 /** Start value of the selected date range. */
53 startValue: number;
54 /** End value of the selected date range. */
55 endValue: number;
56 /** The minimum number of free cells needed to fit the label in the first row. */
57 labelMinRequiredCells: number;
58 /** The number of columns in the table. */
59 numCols: number;
60 /** The cell number of the active cell in the table. */
61 activeCell: number;
62 /** Whether a range is being selected. */
63 isRange: boolean;
64 /**
65 * The aspect ratio (width / height) to use for the cells in the table. This aspect ratio will be
66 * maintained even as the table resizes.
67 */
68 cellAspectRatio: number;
69 /** Start of the comparison range. */
70 comparisonStart: number | null;
71 /** End of the comparison range. */
72 comparisonEnd: number | null;
73 /** Start of the preview range. */
74 previewStart: number | null;
75 /** End of the preview range. */
76 previewEnd: number | null;
77 /** Emits when a new value is selected. */
78 readonly selectedValueChange: EventEmitter<MatCalendarUserEvent<number>>;
79 /** Emits when the preview has changed as a result of a user action. */
80 readonly previewChange: EventEmitter<MatCalendarUserEvent<MatCalendarCell<any> | null>>;
81 /** The number of blank cells to put at the beginning for the first row. */
82 _firstRowOffset: number;
83 /** Padding for the individual date cells. */
84 _cellPadding: string;
85 /** Width of an individual cell. */
86 _cellWidth: string;
87 constructor(_elementRef: ElementRef<HTMLElement>, _ngZone: NgZone);
88 /** Called when a cell is clicked. */
89 _cellClicked(cell: MatCalendarCell, event: MouseEvent): void;
90 /** Returns whether a cell should be marked as selected. */
91 _isSelected(value: number): boolean;
92 ngOnChanges(changes: SimpleChanges): void;
93 ngOnDestroy(): void;
94 /** Returns whether a cell is active. */
95 _isActiveCell(rowIndex: number, colIndex: number): boolean;
96 /** Focuses the active cell after the microtask queue is empty. */
97 _focusActiveCell(movePreview?: boolean): void;
98 /** Gets whether a value is the start of the main range. */
99 _isRangeStart(value: number): boolean;
100 /** Gets whether a value is the end of the main range. */
101 _isRangeEnd(value: number): boolean;
102 /** Gets whether a value is within the currently-selected range. */
103 _isInRange(value: number): boolean;
104 /** Gets whether a value is the start of the comparison range. */
105 _isComparisonStart(value: number): boolean;
106 /** Whether the cell is a start bridge cell between the main and comparison ranges. */
107 _isComparisonBridgeStart(value: number, rowIndex: number, colIndex: number): boolean;
108 /** Whether the cell is an end bridge cell between the main and comparison ranges. */
109 _isComparisonBridgeEnd(value: number, rowIndex: number, colIndex: number): boolean;
110 /** Gets whether a value is the end of the comparison range. */
111 _isComparisonEnd(value: number): boolean;
112 /** Gets whether a value is within the current comparison range. */
113 _isInComparisonRange(value: number): boolean;
114 /**
115 * Gets whether a value is the same as the start and end of the comparison range.
116 * For context, the functions that we use to determine whether something is the start/end of
117 * a range don't allow for the start and end to be on the same day, because we'd have to use
118 * much more specific CSS selectors to style them correctly in all scenarios. This is fine for
119 * the regular range, because when it happens, the selected styles take over and still show where
120 * the range would've been, however we don't have these selected styles for a comparison range.
121 * This function is used to apply a class that serves the same purpose as the one for selected
122 * dates, but it only applies in the context of a comparison range.
123 */
124 _isComparisonIdentical(value: number): boolean;
125 /** Gets whether a value is the start of the preview range. */
126 _isPreviewStart(value: number): boolean;
127 /** Gets whether a value is the end of the preview range. */
128 _isPreviewEnd(value: number): boolean;
129 /** Gets whether a value is inside the preview range. */
130 _isInPreview(value: number): boolean;
131 /**
132 * Event handler for when the user enters an element
133 * inside the calendar body (e.g. by hovering in or focus).
134 */
135 private _enterHandler;
136 /**
137 * Event handler for when the user's pointer leaves an element
138 * inside the calendar body (e.g. by hovering out or blurring).
139 */
140 private _leaveHandler;
141 /** Finds the MatCalendarCell that corresponds to a DOM node. */
142 private _getCellFromElement;
143}
Note: See TracBrowser for help on using the repository browser.