igx-date-range-picker Component

March 30, 2026 ยท View on GitHub

The igx-date-range-picker component allows you to select a range of dates from a calendar UI or editable input fields.

A getting started guide can be found here.

Dependencies

In order to use the igx-date-range-picker component you must import the BrowserAnimationModule once in your application:

import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
@NgModule({
	imports: [
		...
        BrowserAnimationsModule
        ...
	]
})
export class AppModule { }

Usage

Import the IgxDateRangePickerModule in the module that you want to use it in:

import { IgxDateRangePickerModule } from 'igniteui-angular';

@NgModule({
    imports: [IgxDateRangePickerModule]
})
export class AppModule { }

As for the component that you want to use igx-date-range-picker in, import IgxDateRangePickerComponent:

import { IgxDateRangePickerComponent, DateRange } from 'igniteui-angular';

@Component({
    selector: 'my-component',
    template: `<igx-date-range-picker [(ngModel)]="range"></igx-date-range-picker>`,

})
export class MyComponent {
    @ViewChild(IgxDateRangePickerComponent, { read: IgxDateRangePickerComponent })
    public dateRange: IgxDateRangePickerComponent;
    public range: DateRange;
}

The default initialization produces a single readonly input:

<igx-date-range-picker [(ngModel)]="range"></igx-date-range-picker>

With IgxDateRangeStartComponent, IgxDateRangeEndComponent and IgxDateTimeEditorDirective two editable inputs can be projected:

<igx-date-range-picker>
    <igx-date-range-start>
        <input igxInput igxDateTimeEditor [(ngModel)]="range.start">
    </igx-date-range-start>
    <igx-date-range-end>
        <input igxInput igxDateTimeEditor [(ngModel)]="range.end">
    </igx-date-range-end>
</igx-date-range-picker>

IgxDateRangePickerComponent supports templating of its calendar icon:

The default template:

<igx-date-range-picker>
    <igx-picker-toggle igxPrefix>
        <igx-icon>calendar_view_day</igx-icon>
    </igx-picker-toggle>
</igx-date-range-picker>

With projected inputs:

<igx-date-range-picker>
    <igx-date-range-start>
        <igx-picker-toggle igxPrefix>
            <igx-icon>calendar_view_day</igx-icon>
        </igx-picker-toggle>
    </igx-date-range-start>
    <igx-date-range-end>
    </igx-date-range-end>
</igx-date-range-picker>

IgxDateRangePicker with first day of the week set to Monday and handler when a range selection is made:

<igx-date-range-picker [weekStart]="2" (valueChange)="onRangeSelected($event)"></igx-date-range-picker>

IgxDateRangePicker that opens a calendar with more than 2 views and also hides days that are not part of each month:

<igx-date-range-picker [displayMonthsCount]="5" [hideOutsideDays]="'true'"></igx-date-range-picker>

IgxDateRangePicker in a drop-down mode.

<igx-date-range-picker [mode]="'dropdown'"></igx-date-range-picker>

API

Inputs

NameTypeDescription
doneButtonTextstringChanges the default text of the done button. It will show up only in dialog mode. Default value is Done.
displayMonthsCountnumberSets the number displayed month views. Default is 2.
formatterfunction => stringApplies a custom formatter function on the selected or passed date.
hideOutsideDaysbooleanSets whether dates that are not part of the current month will be displayed. Default value is false.
localestringGets the locale of the calendar. Default value is "en".
modePickerInteractionModeSets whether IgxDateRangePickerComponent is in dialog or dropdown mode. Default is dialog
minValueDate | stringThe minimum value in a valid range.
maxValueDate | stringThe maximum value in a valid range.
outletIgxOverlayOutletDirective | ElementRefDeprecated Gets/Sets the container used for the popup element.
overlaySettingsOverlaySettingsChanges the default overlay settings used by the IgxDateRangePickerComponent.
placeholderstringSets the placeholder for single-input IgxDateRangePickerComponent.
weekStartnumberSets the start day of the week. Can be assigned to a numeric value or to WEEKDAYS enum value.
showWeekNumbersnumberShows or hides week numbers.

Outputs

NameDescriptionCancelableEmitted with
valueChangeEmitted when the picker's value changes. Used for two-way binding.falseDateRange
openingEmitted when the calendar starts opening, cancelable.trueIBaseCancelableBrowserEventArgs
openedEmitted when the IgxDateRangePickerComponent is opened.falseIBaseEventArgs
closingEmitted when the calendar starts closing, cancelable.trueIBaseCancelableBrowserEventArgs
closedEmitted when the IgxDateRangePickerComponent is closed.falseIBaseEventArgs

Methods

NameArgumentsReturn TypeDescription
openn/avoidOpens the date picker's dropdown or dialog.
closen/avoidCloses the date picker's dropdown or dialog.
valuen/aDateRangeGets/sets the currently selected value / range from the calendar.
selectstartDate, endDatevoidSelects a range of dates, clears previous selection.