@esri/calcite-components
Version:
Web Components for Esri's Calcite Design System.
119 lines (118 loc) • 7.32 kB
TypeScript
/// <reference path="../../index.d.ts" />
import type { PublicLitElement as LitElement } from "@arcgis/lumina";
import type { NumberingSystem } from "../../utils/locale.js";
import type { HeadingLevel } from "../functional/Heading.js";
/**
* @cssproperty [--calcite-date-picker-border-color] - Specifies the component's border color.
* @cssproperty [--calcite-date-picker-corner-radius] - Specifies the component's border radius.
* @cssproperty [--calcite-date-picker-range-calendar-divider-color] - When `range` is `true`, specifies the divider color between the component's calendars.
* @cssproperty [--calcite-date-picker-week-header-text-color] - Specifies the text color of the component's week header.
* @cssproperty [--calcite-date-picker-header-action-background-color] - Specifies the background color of component`s header actions.
* @cssproperty [--calcite-date-picker-header-action-background-color-hover] - Specifies the background color of component`s header actions when hovered.
* @cssproperty [--calcite-date-picker-header-action-background-color-press] - Specifies the background color of component`s header actions when pressed.
* @cssproperty [--calcite-date-picker-header-action-text-color] - Specifies the text color of the component's header actions.
* @cssproperty [--calcite-date-picker-header-action-text-color-press] - Specifies the text color of the component's header actions when pressed.
* @cssproperty [--calcite-date-picker-year-text-color] - Specifies the text color of the component's year and suffix.
* @cssproperty [--calcite-date-picker-month-select-font-size] - Specifies the font size of the component's month selector.
* @cssproperty [--calcite-date-picker-month-select-text-color] - Specifies the text color of the component's month selector.
* @cssproperty [--calcite-date-picker-month-select-icon-color] - Specifies the icon color of the component's month selector.
* @cssproperty [--calcite-date-picker-month-select-icon-color-hover] - Specifies the icon color of the component's month selector when hovered.
* @cssproperty [--calcite-date-picker-day-background-color] - Specifies the background color of the component's day elements.
* @cssproperty [--calcite-date-picker-day-background-color-hover] - Specifies the background color of the component's day elements when hovered.
* @cssproperty [--calcite-date-picker-day-text-color] - Specifies the text color of the component's day elements.
* @cssproperty [--calcite-date-picker-day-text-color-hover] - Specifies the text color of the component's day elements when hovered.
* @cssproperty [--calcite-date-picker-current-day-text-color] - Specifies the text color of the component's current day.
* @cssproperty [--calcite-date-picker-day-background-color-selected] - Specifies the background color of the component's selected day.
* @cssproperty [--calcite-date-picker-day-text-color-selected] - Specifies the text color of the component's selected day elements.
* @cssproperty [--calcite-date-picker-day-range-text-color] - Specifies the text color of component's selected day range.
* @cssproperty [--calcite-date-picker-day-range-background-color] - Specifies the background color the component's selected day range.
* @cssproperty [--calcite-date-picker-day-outside-range-background-color-hover] - Specifies the background color of the component's day elements outside the current range when hovered.
* @cssproperty [--calcite-date-picker-day-outside-range-text-color-hover] - Specifies the text color of the component's day elements outside the current range when hovered.
*/
export abstract class DatePicker extends LitElement {
/** Specifies the component's active date. */
accessor activeDate: Date;
/** When `range` is `true`, specifies the active `range`. Where `"start"` specifies the starting range date and `"end"` the ending range date. */
accessor activeRange: "start" | "end";
/**
* When `range` is `true`, specifies the number of calendars displayed.
*
* @default 2
*/
accessor calendars: 1 | 2;
/** Specifies the heading level number of the component's `heading` for proper document structure, without affecting visual styling. */
accessor headingLevel: HeadingLevel;
/**
* Defines the component's layout.
*
* @default "horizontal"
*/
accessor layout: "horizontal" | "vertical";
/**
* When the component resides in a form,
* specifies the latest allowed date (`"yyyy-mm-dd"`).
*/
accessor max: string;
/** Specifies the latest allowed date as a full date object (`new Date("yyyy-mm-dd")`). */
accessor maxAsDate: Date;
/** Overrides individual strings used by the component. */
accessor messageOverrides: {
nextMonth?: string;
prevMonth?: string;
monthMenu?: string;
yearMenu?: string;
year?: string;
};
/**
* When the component resides in a form,
* specifies the earliest allowed date (`"yyyy-mm-dd"`).
*/
accessor min: string;
/** Specifies the earliest allowed date as a full date object (`new Date("yyyy-mm-dd")`). */
accessor minAsDate: Date;
/**
* Specifies the component's month style.
*
* @default "wide"
*/
accessor monthStyle: "abbreviated" | "wide";
/** Specifies the Unicode numeral system used by the component for localization. This property cannot be dynamically changed. */
accessor numberingSystem: NumberingSystem;
/**
* When `true`, disables the default behavior on the third click of narrowing or extending the range and instead starts a new range.
*
* @default false
*/
accessor proximitySelectionDisabled: boolean;
/**
* When `true`, activates the component's range mode to allow a start and end date.
*
* @default false
*/
accessor range: boolean;
/**
* Specifies the size of the component.
*
* @default "m"
*/
accessor scale: "s" | "m" | "l";
/** Specifies the selected date as a string (`"yyyy-mm-dd"`), or an array of strings for `range` values (`["yyyy-mm-dd", "yyyy-mm-dd"]`). */
accessor value: string | string[];
/** Specifies the selected date as a full date object (`new Date("yyyy-mm-dd")`), or an array containing full date objects (`[new Date("yyyy-mm-dd"), new Date("yyyy-mm-dd")]`). */
accessor valueAsDate: Date | Date[];
/**
* Sets focus on the component's first focusable element.
*
* @param options - When specified an optional object customizes the component's focusing process. When `preventScroll` is `true`, scrolling will not occur on the component.
* @mdn [focus(options)](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus#options)
*/
setFocus(options?: FocusOptions): Promise<void>;
/** Fires when a user changes the component's date. For `range` events, use `calciteDatePickerRangeChange`. */
readonly calciteDatePickerChange: import("@arcgis/lumina").TargetedEvent<this, void>;
/** Fires when a user changes the component's date `range`. For components without `range` use `calciteDatePickerChange`. */
readonly calciteDatePickerRangeChange: import("@arcgis/lumina").TargetedEvent<this, void>;
readonly "@eventTypes": {
calciteDatePickerChange: DatePicker["calciteDatePickerChange"]["detail"];
calciteDatePickerRangeChange: DatePicker["calciteDatePickerRangeChange"]["detail"];
};
}