From 9b17a26d9e4bb639cfc589da61597577aa498190 Mon Sep 17 00:00:00 2001 From: Mikhail Preyskurantov <5574159+mpreyskurantov@users.noreply.github.com> Date: Thu, 7 May 2026 17:40:51 +0300 Subject: [PATCH 1/6] d.ts: FirstDayOfWeek -> DayOfWeek --- .../js/__internal/scheduler/header/types.ts | 6 +++--- .../js/__internal/scheduler/m_scheduler.ts | 8 ++++---- .../js/__internal/ui/calendar/calendar.views.ts | 4 ++-- packages/devextreme/js/common.d.ts | 13 ++++++++++++- packages/devextreme/js/ui/calendar.d.ts | 6 +++--- packages/devextreme/js/ui/gantt.d.ts | 4 ++-- packages/devextreme/js/ui/scheduler.d.ts | 14 ++++++-------- packages/devextreme/ts/aliases.d.ts | 6 ++++++ 8 files changed, 38 insertions(+), 23 deletions(-) diff --git a/packages/devextreme/js/__internal/scheduler/header/types.ts b/packages/devextreme/js/__internal/scheduler/header/types.ts index 3da8d5eac4d9..16233691c5aa 100644 --- a/packages/devextreme/js/__internal/scheduler/header/types.ts +++ b/packages/devextreme/js/__internal/scheduler/header/types.ts @@ -1,4 +1,4 @@ -import type { FirstDayOfWeek } from '@js/common'; +import type { DayOfWeek } from '@js/common'; import type { ValueChangedEvent } from '@js/ui/calendar'; import type { NormalizedView, SafeSchedulerOptions } from '../utils/options/types'; @@ -15,7 +15,7 @@ export interface HeaderOptions { tabIndex?: number; focusStateEnabled?: boolean; useDropDownViewSwitcher: boolean; - firstDayOfWeek?: FirstDayOfWeek; + firstDayOfWeek?: DayOfWeek; toolbar: SafeSchedulerOptions['toolbar']; onCurrentViewChange: (name: string) => void; onCurrentDateChange: (date: Date) => void; @@ -38,7 +38,7 @@ export interface HeaderCalendarOptions { value: Date; min?: Date; max?: Date; - firstDayOfWeek?: FirstDayOfWeek; + firstDayOfWeek?: DayOfWeek; focusStateEnabled?: boolean; tabIndex?: number; onValueChanged?: (e: ValueChangedEvent) => void; diff --git a/packages/devextreme/js/__internal/scheduler/m_scheduler.ts b/packages/devextreme/js/__internal/scheduler/m_scheduler.ts index ac9f7ced27be..9ccfdc1142b8 100644 --- a/packages/devextreme/js/__internal/scheduler/m_scheduler.ts +++ b/packages/devextreme/js/__internal/scheduler/m_scheduler.ts @@ -29,7 +29,7 @@ import { hasWindow } from '@js/core/utils/window'; import DataHelperMixin from '@js/data_helper'; import { custom as customDialog } from '@js/ui/dialog'; import type { - Appointment, AppointmentTooltipShowingEvent, FirstDayOfWeek, Occurrence, + Appointment, AppointmentTooltipShowingEvent, DayOfWeek, Occurrence, Properties as SchedulerProperties, } from '@js/ui/scheduler'; import errors from '@js/ui/widget/ui.errors'; @@ -2279,10 +2279,10 @@ class Scheduler extends SchedulerOptionsBaseWidget { return this._layoutManager.getOccurrences(startDate, endDate, rawAppointments); } - getFirstDayOfWeek(): FirstDayOfWeek { + getFirstDayOfWeek(): DayOfWeek { return isDefined(this.getViewOption('firstDayOfWeek')) - ? this.getViewOption('firstDayOfWeek') as FirstDayOfWeek - : dateLocalization.firstDayOfWeekIndex() as FirstDayOfWeek; + ? this.getViewOption('firstDayOfWeek') as DayOfWeek + : dateLocalization.firstDayOfWeekIndex() as DayOfWeek; } private validateKeyFieldIfAgendaExist() { diff --git a/packages/devextreme/js/__internal/ui/calendar/calendar.views.ts b/packages/devextreme/js/__internal/ui/calendar/calendar.views.ts index 984a33758e94..ee55cec31e05 100644 --- a/packages/devextreme/js/__internal/ui/calendar/calendar.views.ts +++ b/packages/devextreme/js/__internal/ui/calendar/calendar.views.ts @@ -6,7 +6,7 @@ import $ from '@js/core/renderer'; import dateUtils from '@js/core/utils/date'; import dateSerialization from '@js/core/utils/date_serialization'; import type { - CalendarSelectionMode, FirstDayOfWeek, WeekNumberRule, + CalendarSelectionMode, DayOfWeek, WeekNumberRule, } from '@js/ui/calendar'; import type { BaseViewProperties } from './calendar.base_view'; @@ -25,7 +25,7 @@ const WEEK_NUMBER_TEXT = 'WeekNumber'; export interface MonthViewProperties extends BaseViewProperties { showWeekNumbers: boolean; - firstDayOfWeek?: FirstDayOfWeek; + firstDayOfWeek?: DayOfWeek; weekNumberRule?: WeekNumberRule; diff --git a/packages/devextreme/js/common.d.ts b/packages/devextreme/js/common.d.ts index 4764813ebcdc..f7e6df0b81fe 100644 --- a/packages/devextreme/js/common.d.ts +++ b/packages/devextreme/js/common.d.ts @@ -259,11 +259,22 @@ export type ExportFormat = 'GIF' | 'JPEG' | 'PDF' | 'PNG' | 'SVG'; */ export type FieldChooserLayout = 0 | 1 | 2; +// #region deprecated in v26.1 + +/** + * @public + * @namespace DevExpress.common + * @deprecated Use the DayOfWeek type instead + */ +export type FirstDayOfWeek = DayOfWeek; + +// #endregion + /** * @public * @namespace DevExpress.common */ -export type FirstDayOfWeek = 0 | 1 | 2 | 3 | 4 | 5 | 6; +export type DayOfWeek = 0 | 1 | 2 | 3 | 4 | 5 | 6; /** * @public diff --git a/packages/devextreme/js/ui/calendar.d.ts b/packages/devextreme/js/ui/calendar.d.ts index 1eeddebe0716..904f4e8e9e05 100644 --- a/packages/devextreme/js/ui/calendar.d.ts +++ b/packages/devextreme/js/ui/calendar.d.ts @@ -13,7 +13,7 @@ import { import { template, - FirstDayOfWeek, + DayOfWeek, DateLike, } from '../common'; @@ -23,7 +23,7 @@ import Editor, { } from './editor/editor'; export { - FirstDayOfWeek, + DayOfWeek, DateLike, }; @@ -129,7 +129,7 @@ export interface dxCalendarOptions extends EditorOptions { * @default undefined * @public */ - firstDayOfWeek?: FirstDayOfWeek | undefined; + firstDayOfWeek?: DayOfWeek | undefined; /** * @docid * @default true &for(desktop) diff --git a/packages/devextreme/js/ui/gantt.d.ts b/packages/devextreme/js/ui/gantt.d.ts index a4a19036acf9..45d5faed6310 100644 --- a/packages/devextreme/js/ui/gantt.d.ts +++ b/packages/devextreme/js/ui/gantt.d.ts @@ -32,7 +32,7 @@ import { import { template, - FirstDayOfWeek, + DayOfWeek, SingleMultipleOrNone, ToolbarItemLocation, } from '../common'; @@ -978,7 +978,7 @@ export interface dxGanttOptions extends WidgetOptions { * @default undefined * @public */ - firstDayOfWeek?: FirstDayOfWeek | undefined; + firstDayOfWeek?: DayOfWeek | undefined; /** * @docid * @default null diff --git a/packages/devextreme/js/ui/scheduler.d.ts b/packages/devextreme/js/ui/scheduler.d.ts index 109972867606..20944943b8bf 100644 --- a/packages/devextreme/js/ui/scheduler.d.ts +++ b/packages/devextreme/js/ui/scheduler.d.ts @@ -5,7 +5,7 @@ import { import { template, - FirstDayOfWeek, + DayOfWeek, Orientation, ScrollMode, ToolbarItemLocation, @@ -66,7 +66,7 @@ export interface TargetedAppointmentInfo { } export { - FirstDayOfWeek, + DayOfWeek, Orientation, ScrollMode, }; @@ -81,8 +81,6 @@ export type SnapToCellsMode = 'always' | 'auto' | 'never'; export type RecurrenceEditMode = 'dialog' | 'occurrence' | 'series'; /** @public */ export type AppointmentFormIconsShowMode = 'both' | 'main' | 'recurrence' | 'none'; -/** @public */ -export type DayOfWeek = 0 | 1 | 2 | 3 | 4 | 5 | 6; /** * @docid @@ -697,13 +695,13 @@ export interface dxSchedulerOptions extends WidgetOptions { * @default undefined * @public */ - firstDayOfWeek?: FirstDayOfWeek | undefined; + firstDayOfWeek?: DayOfWeek | undefined; /** * @docid * @default undefined * @public */ - hiddenWeekDays?: Array; + hiddenWeekDays?: Array | undefined; /** * @docid * @default true &for(desktop) @@ -1113,12 +1111,12 @@ export interface dxSchedulerOptions extends WidgetOptions { * @docid * @default undefined */ - firstDayOfWeek?: FirstDayOfWeek | undefined; + firstDayOfWeek?: DayOfWeek | undefined; /** * @docid * @default undefined */ - hiddenWeekDays?: Array; + hiddenWeekDays?: Array | undefined; /** * @docid * @default false diff --git a/packages/devextreme/ts/aliases.d.ts b/packages/devextreme/ts/aliases.d.ts index 4484af09af53..e5fe43acee04 100644 --- a/packages/devextreme/ts/aliases.d.ts +++ b/packages/devextreme/ts/aliases.d.ts @@ -945,3 +945,9 @@ declare namespace DevExpress.utils { declare namespace DevExpress.ui { export type Format = common.core.localization.Format; } + +// 26.1 +declare namespace DevExpress.common { + /** @deprecated Use DevExpress.common.DayOfWeek instead */ + export type FirstDayOfWeek = DayOfWeek; +} From e757f259788c5b5109ab2b678f59077b6b405a4e Mon Sep 17 00:00:00 2001 From: Mikhail Preyskurantov <5574159+mpreyskurantov@users.noreply.github.com> Date: Thu, 7 May 2026 19:43:48 +0300 Subject: [PATCH 2/6] d.ts: regenerate-all --- .../devextreme-angular/src/common/index.ts | 1 + packages/devextreme-angular/src/index.ts | 1 + .../src/ui/calendar/index.ts | 8 +++---- .../ui/date-box/nested/calendar-options.ts | 6 ++--- .../date-range-box/nested/calendar-options.ts | 6 ++--- .../devextreme-angular/src/ui/gantt/index.ts | 8 +++---- .../src/ui/nested/base/calendar-options.ts | 6 ++--- .../src/ui/nested/view-dxi.ts | 6 ++--- .../src/ui/scheduler/index.ts | 22 +++++++++---------- .../src/ui/scheduler/nested/view-dxi.ts | 12 +++++----- packages/devextreme-react/src/common/index.ts | 1 + packages/devextreme-react/src/date-box.ts | 4 ++-- .../devextreme-react/src/date-range-box.ts | 4 ++-- packages/devextreme-react/src/scheduler.ts | 8 +++---- packages/devextreme-vue/src/calendar.ts | 4 ++-- packages/devextreme-vue/src/common/index.ts | 1 + packages/devextreme-vue/src/date-box.ts | 4 ++-- packages/devextreme-vue/src/date-range-box.ts | 4 ++-- packages/devextreme-vue/src/gantt.ts | 4 ++-- packages/devextreme-vue/src/scheduler.ts | 7 +++--- packages/devextreme/js/ui/calendar_types.d.ts | 2 +- .../devextreme/js/ui/scheduler_types.d.ts | 3 +-- packages/devextreme/ts/dx.all.d.ts | 21 +++++++++++------- 23 files changed, 75 insertions(+), 68 deletions(-) diff --git a/packages/devextreme-angular/src/common/index.ts b/packages/devextreme-angular/src/common/index.ts index 9178bd3f0999..8f0cda9f4a6e 100644 --- a/packages/devextreme-angular/src/common/index.ts +++ b/packages/devextreme-angular/src/common/index.ts @@ -25,6 +25,7 @@ export type { DataStructure, DataType, DateLike, + DayOfWeek, DefaultOptionsRule, Direction, DisplayMode, diff --git a/packages/devextreme-angular/src/index.ts b/packages/devextreme-angular/src/index.ts index 626595bf5b85..65432c562db2 100644 --- a/packages/devextreme-angular/src/index.ts +++ b/packages/devextreme-angular/src/index.ts @@ -109,6 +109,7 @@ export namespace Common { export type DataStructure = import('devextreme/common').DataStructure; export type DataType = import('devextreme/common').DataType; export type DateLike = import('devextreme/common').DateLike; + export type DayOfWeek = import('devextreme/common').DayOfWeek; export type DefaultOptionsRule = import('devextreme/common').DefaultOptionsRule; export type Direction = import('devextreme/common').Direction; export type DisplayMode = import('devextreme/common').DisplayMode; diff --git a/packages/devextreme-angular/src/ui/calendar/index.ts b/packages/devextreme-angular/src/ui/calendar/index.ts index 6bbcb9f26494..137ebc5bc9f8 100644 --- a/packages/devextreme-angular/src/ui/calendar/index.ts +++ b/packages/devextreme-angular/src/ui/calendar/index.ts @@ -23,7 +23,7 @@ import { import type { DisabledDate, CalendarZoomLevel, DisposingEvent, InitializedEvent, OptionChangedEvent, ValueChangedEvent, CalendarSelectionMode, WeekNumberRule } from 'devextreme/ui/calendar'; -import type { FirstDayOfWeek, ValidationMessageMode, Position, ValidationStatus } from 'devextreme/common'; +import type { DayOfWeek, ValidationMessageMode, Position, ValidationStatus } from 'devextreme/common'; import DxCalendar from 'devextreme/ui/calendar'; @@ -168,10 +168,10 @@ export class DxCalendarComponent extends DxComponent implements OnDestroy, Contr */ @Input() - get firstDayOfWeek(): FirstDayOfWeek | undefined { + get firstDayOfWeek(): DayOfWeek | undefined { return this._getOption('firstDayOfWeek'); } - set firstDayOfWeek(value: FirstDayOfWeek | undefined) { + set firstDayOfWeek(value: DayOfWeek | undefined) { this._setOption('firstDayOfWeek', value); } @@ -635,7 +635,7 @@ export class DxCalendarComponent extends DxComponent implements OnDestroy, Contr * This member supports the internal infrastructure and is not intended to be used directly from your code. */ - @Output() firstDayOfWeekChange: EventEmitter; + @Output() firstDayOfWeekChange: EventEmitter; /** diff --git a/packages/devextreme-angular/src/ui/date-box/nested/calendar-options.ts b/packages/devextreme-angular/src/ui/date-box/nested/calendar-options.ts index a515cacca4d8..2ed403d02ea2 100644 --- a/packages/devextreme-angular/src/ui/date-box/nested/calendar-options.ts +++ b/packages/devextreme-angular/src/ui/date-box/nested/calendar-options.ts @@ -17,7 +17,7 @@ import { import type { DisabledDate, CalendarZoomLevel, DisposingEvent, InitializedEvent, OptionChangedEvent, ValueChangedEvent, CalendarSelectionMode, WeekNumberRule } from 'devextreme/ui/calendar'; -import type { FirstDayOfWeek, ValidationMessageMode, Position, ValidationStatus } from 'devextreme/common'; +import type { DayOfWeek, ValidationMessageMode, Position, ValidationStatus } from 'devextreme/common'; import { DxIntegrationModule, @@ -91,10 +91,10 @@ export class DxoDateBoxCalendarOptionsComponent extends NestedOption implements } @Input() - get firstDayOfWeek(): FirstDayOfWeek | undefined { + get firstDayOfWeek(): DayOfWeek | undefined { return this._getOption('firstDayOfWeek'); } - set firstDayOfWeek(value: FirstDayOfWeek | undefined) { + set firstDayOfWeek(value: DayOfWeek | undefined) { this._setOption('firstDayOfWeek', value); } diff --git a/packages/devextreme-angular/src/ui/date-range-box/nested/calendar-options.ts b/packages/devextreme-angular/src/ui/date-range-box/nested/calendar-options.ts index 8b1d190a47ed..963d1af9e858 100644 --- a/packages/devextreme-angular/src/ui/date-range-box/nested/calendar-options.ts +++ b/packages/devextreme-angular/src/ui/date-range-box/nested/calendar-options.ts @@ -17,7 +17,7 @@ import { import type { DisabledDate, CalendarZoomLevel, DisposingEvent, InitializedEvent, OptionChangedEvent, ValueChangedEvent, CalendarSelectionMode, WeekNumberRule } from 'devextreme/ui/calendar'; -import type { FirstDayOfWeek, ValidationMessageMode, Position, ValidationStatus } from 'devextreme/common'; +import type { DayOfWeek, ValidationMessageMode, Position, ValidationStatus } from 'devextreme/common'; import { DxIntegrationModule, @@ -91,10 +91,10 @@ export class DxoDateRangeBoxCalendarOptionsComponent extends NestedOption implem } @Input() - get firstDayOfWeek(): FirstDayOfWeek | undefined { + get firstDayOfWeek(): DayOfWeek | undefined { return this._getOption('firstDayOfWeek'); } - set firstDayOfWeek(value: FirstDayOfWeek | undefined) { + set firstDayOfWeek(value: DayOfWeek | undefined) { this._setOption('firstDayOfWeek', value); } diff --git a/packages/devextreme-angular/src/ui/gantt/index.ts b/packages/devextreme-angular/src/ui/gantt/index.ts index ee06dd58f3fa..57a0edb4cda1 100644 --- a/packages/devextreme-angular/src/ui/gantt/index.ts +++ b/packages/devextreme-angular/src/ui/gantt/index.ts @@ -25,7 +25,7 @@ import { import type { dxGanttColumn, dxGanttContextMenu, dxGanttFilterRow, dxGanttHeaderFilter, ContentReadyEvent, ContextMenuPreparingEvent, CustomCommandEvent, DependencyDeletedEvent, DependencyDeletingEvent, DependencyInsertedEvent, DependencyInsertingEvent, DisposingEvent, InitializedEvent, OptionChangedEvent, ResourceAssignedEvent, ResourceAssigningEvent, ResourceDeletedEvent, ResourceDeletingEvent, ResourceInsertedEvent, ResourceInsertingEvent, ResourceManagerDialogShowingEvent, ResourceUnassignedEvent, ResourceUnassigningEvent, ScaleCellPreparedEvent, SelectionChangedEvent, TaskClickEvent, TaskDblClickEvent, TaskDeletedEvent, TaskDeletingEvent, TaskEditDialogShowingEvent, TaskInsertedEvent, TaskInsertingEvent, TaskMovingEvent, TaskUpdatedEvent, TaskUpdatingEvent, GanttScaleType, dxGanttSorting, dxGanttStripLine, GanttTaskTitlePosition, dxGanttToolbar } from 'devextreme/ui/gantt'; import type { default as DataSource, DataSourceOptions } from 'devextreme/data/data_source'; import type { Store } from 'devextreme/data/store'; -import type { FirstDayOfWeek } from 'devextreme/common'; +import type { DayOfWeek } from 'devextreme/common'; import DxGantt from 'devextreme/ui/gantt'; @@ -277,10 +277,10 @@ export class DxGanttComponent extends DxComponent implements OnDestroy, OnChange */ @Input() - get firstDayOfWeek(): FirstDayOfWeek | undefined { + get firstDayOfWeek(): DayOfWeek | undefined { return this._getOption('firstDayOfWeek'); } - set firstDayOfWeek(value: FirstDayOfWeek | undefined) { + set firstDayOfWeek(value: DayOfWeek | undefined) { this._setOption('firstDayOfWeek', value); } @@ -991,7 +991,7 @@ export class DxGanttComponent extends DxComponent implements OnDestroy, OnChange * This member supports the internal infrastructure and is not intended to be used directly from your code. */ - @Output() firstDayOfWeekChange: EventEmitter; + @Output() firstDayOfWeekChange: EventEmitter; /** diff --git a/packages/devextreme-angular/src/ui/nested/base/calendar-options.ts b/packages/devextreme-angular/src/ui/nested/base/calendar-options.ts index cdccbe7ae374..c270b8a4c610 100644 --- a/packages/devextreme-angular/src/ui/nested/base/calendar-options.ts +++ b/packages/devextreme-angular/src/ui/nested/base/calendar-options.ts @@ -5,7 +5,7 @@ import { Component, } from '@angular/core'; -import type { FirstDayOfWeek, Position, ValidationMessageMode, ValidationStatus } from 'devextreme/common'; +import type { DayOfWeek, Position, ValidationMessageMode, ValidationStatus } from 'devextreme/common'; import type { CalendarSelectionMode, CalendarZoomLevel, DisposingEvent, InitializedEvent, OptionChangedEvent, ValueChangedEvent, WeekNumberRule } from 'devextreme/ui/calendar'; @Component({ @@ -61,10 +61,10 @@ export abstract class DxoCalendarOptions extends NestedOption { this._setOption('elementAttr', value); } - get firstDayOfWeek(): FirstDayOfWeek | undefined { + get firstDayOfWeek(): DayOfWeek | undefined { return this._getOption('firstDayOfWeek'); } - set firstDayOfWeek(value: FirstDayOfWeek | undefined) { + set firstDayOfWeek(value: DayOfWeek | undefined) { this._setOption('firstDayOfWeek', value); } diff --git a/packages/devextreme-angular/src/ui/nested/view-dxi.ts b/packages/devextreme-angular/src/ui/nested/view-dxi.ts index 7b600cf8058b..d1f67d6b03c7 100644 --- a/packages/devextreme-angular/src/ui/nested/view-dxi.ts +++ b/packages/devextreme-angular/src/ui/nested/view-dxi.ts @@ -12,7 +12,7 @@ import { -import type { FirstDayOfWeek, Orientation } from 'devextreme/common'; +import type { DayOfWeek, Orientation } from 'devextreme/common'; import type { AllDayPanelMode, CellAppointmentsLimit, dxSchedulerScrolling, ViewType } from 'devextreme/ui/scheduler'; import { @@ -110,10 +110,10 @@ export class DxiViewComponent extends CollectionNestedOption { } @Input() - get firstDayOfWeek(): FirstDayOfWeek | undefined { + get firstDayOfWeek(): DayOfWeek | undefined { return this._getOption('firstDayOfWeek'); } - set firstDayOfWeek(value: FirstDayOfWeek | undefined) { + set firstDayOfWeek(value: DayOfWeek | undefined) { this._setOption('firstDayOfWeek', value); } diff --git a/packages/devextreme-angular/src/ui/scheduler/index.ts b/packages/devextreme-angular/src/ui/scheduler/index.ts index 184ae4cdf270..57f11fdf79e9 100644 --- a/packages/devextreme-angular/src/ui/scheduler/index.ts +++ b/packages/devextreme-angular/src/ui/scheduler/index.ts @@ -24,11 +24,11 @@ import { import type dxSortable from 'devextreme/ui/sortable'; import type dxDraggable from 'devextreme/ui/draggable'; -import type { default as dxScheduler, AllDayPanelMode, ViewType, dxSchedulerAppointment, AppointmentFormProperties, DayOfWeek, CellAppointmentsLimit, AppointmentAddedEvent, AppointmentAddingEvent, AppointmentClickEvent, AppointmentContextMenuEvent, AppointmentDblClickEvent, AppointmentDeletedEvent, AppointmentDeletingEvent, AppointmentFormOpeningEvent, AppointmentRenderedEvent, AppointmentTooltipShowingEvent, AppointmentUpdatedEvent, AppointmentUpdatingEvent, CellClickEvent, CellContextMenuEvent, ContentReadyEvent, DisposingEvent, InitializedEvent, OptionChangedEvent, SelectionEndEvent, RecurrenceEditMode, dxSchedulerScrolling, SnapToCellsMode, dxSchedulerToolbar } from 'devextreme/ui/scheduler'; +import type { default as dxScheduler, AllDayPanelMode, ViewType, dxSchedulerAppointment, AppointmentFormProperties, CellAppointmentsLimit, AppointmentAddedEvent, AppointmentAddingEvent, AppointmentClickEvent, AppointmentContextMenuEvent, AppointmentDblClickEvent, AppointmentDeletedEvent, AppointmentDeletingEvent, AppointmentFormOpeningEvent, AppointmentRenderedEvent, AppointmentTooltipShowingEvent, AppointmentUpdatedEvent, AppointmentUpdatingEvent, CellClickEvent, CellContextMenuEvent, ContentReadyEvent, DisposingEvent, InitializedEvent, OptionChangedEvent, SelectionEndEvent, RecurrenceEditMode, dxSchedulerScrolling, SnapToCellsMode, dxSchedulerToolbar } from 'devextreme/ui/scheduler'; import type { event } from 'devextreme/events/events.types'; import type { default as DataSource, DataSourceOptions } from 'devextreme/data/data_source'; import type { Store } from 'devextreme/data/store'; -import type { FirstDayOfWeek, Orientation } from 'devextreme/common'; +import type { DayOfWeek, Orientation } from 'devextreme/common'; import DxScheduler from 'devextreme/ui/scheduler'; @@ -454,10 +454,10 @@ export class DxSchedulerComponent extends DxComponent implements OnDestroy, OnCh */ @Input() - get firstDayOfWeek(): FirstDayOfWeek | undefined { + get firstDayOfWeek(): DayOfWeek | undefined { return this._getOption('firstDayOfWeek'); } - set firstDayOfWeek(value: FirstDayOfWeek | undefined) { + set firstDayOfWeek(value: DayOfWeek | undefined) { this._setOption('firstDayOfWeek', value); } @@ -516,10 +516,10 @@ export class DxSchedulerComponent extends DxComponent implements OnDestroy, OnCh @Input() - get hiddenWeekDays(): Array { + get hiddenWeekDays(): Array | undefined { return this._getOption('hiddenWeekDays'); } - set hiddenWeekDays(value: Array) { + set hiddenWeekDays(value: Array | undefined) { this._setOption('hiddenWeekDays', value); } @@ -903,10 +903,10 @@ export class DxSchedulerComponent extends DxComponent implements OnDestroy, OnCh */ @Input() - get views(): Array | string> | { agendaDuration?: number, allDayPanelMode?: AllDayPanelMode, appointmentCollectorTemplate?: any, appointmentTemplate?: any, appointmentTooltipTemplate?: any, cellDuration?: number, dataCellTemplate?: any, dateCellTemplate?: any, endDayHour?: number, firstDayOfWeek?: FirstDayOfWeek | undefined, groupByDate?: boolean, groupOrientation?: Orientation, groups?: Array, hiddenWeekDays?: Array, intervalCount?: number, maxAppointmentsPerCell?: CellAppointmentsLimit | number, name?: string | undefined, offset?: number, resourceCellTemplate?: any, scrolling?: dxSchedulerScrolling, snapToCellsMode?: SnapToCellsMode, startDate?: Date | number | string | undefined, startDayHour?: number, timeCellTemplate?: any, type?: undefined | ViewType }[] { + get views(): Array | string> | { agendaDuration?: number, allDayPanelMode?: AllDayPanelMode, appointmentCollectorTemplate?: any, appointmentTemplate?: any, appointmentTooltipTemplate?: any, cellDuration?: number, dataCellTemplate?: any, dateCellTemplate?: any, endDayHour?: number, firstDayOfWeek?: DayOfWeek | undefined, groupByDate?: boolean, groupOrientation?: Orientation, groups?: Array, hiddenWeekDays?: Array | undefined, intervalCount?: number, maxAppointmentsPerCell?: CellAppointmentsLimit | number, name?: string | undefined, offset?: number, resourceCellTemplate?: any, scrolling?: dxSchedulerScrolling, snapToCellsMode?: SnapToCellsMode, startDate?: Date | number | string | undefined, startDayHour?: number, timeCellTemplate?: any, type?: undefined | ViewType }[] { return this._getOption('views'); } - set views(value: Array | string> | { agendaDuration?: number, allDayPanelMode?: AllDayPanelMode, appointmentCollectorTemplate?: any, appointmentTemplate?: any, appointmentTooltipTemplate?: any, cellDuration?: number, dataCellTemplate?: any, dateCellTemplate?: any, endDayHour?: number, firstDayOfWeek?: FirstDayOfWeek | undefined, groupByDate?: boolean, groupOrientation?: Orientation, groups?: Array, hiddenWeekDays?: Array, intervalCount?: number, maxAppointmentsPerCell?: CellAppointmentsLimit | number, name?: string | undefined, offset?: number, resourceCellTemplate?: any, scrolling?: dxSchedulerScrolling, snapToCellsMode?: SnapToCellsMode, startDate?: Date | number | string | undefined, startDayHour?: number, timeCellTemplate?: any, type?: undefined | ViewType }[]) { + set views(value: Array | string> | { agendaDuration?: number, allDayPanelMode?: AllDayPanelMode, appointmentCollectorTemplate?: any, appointmentTemplate?: any, appointmentTooltipTemplate?: any, cellDuration?: number, dataCellTemplate?: any, dateCellTemplate?: any, endDayHour?: number, firstDayOfWeek?: DayOfWeek | undefined, groupByDate?: boolean, groupOrientation?: Orientation, groups?: Array, hiddenWeekDays?: Array | undefined, intervalCount?: number, maxAppointmentsPerCell?: CellAppointmentsLimit | number, name?: string | undefined, offset?: number, resourceCellTemplate?: any, scrolling?: dxSchedulerScrolling, snapToCellsMode?: SnapToCellsMode, startDate?: Date | number | string | undefined, startDayHour?: number, timeCellTemplate?: any, type?: undefined | ViewType }[]) { this._setOption('views', value); } @@ -1261,7 +1261,7 @@ export class DxSchedulerComponent extends DxComponent implements OnDestroy, OnCh * This member supports the internal infrastructure and is not intended to be used directly from your code. */ - @Output() firstDayOfWeekChange: EventEmitter; + @Output() firstDayOfWeekChange: EventEmitter; /** @@ -1296,7 +1296,7 @@ export class DxSchedulerComponent extends DxComponent implements OnDestroy, OnCh * This member supports the internal infrastructure and is not intended to be used directly from your code. */ - @Output() hiddenWeekDaysChange: EventEmitter>; + @Output() hiddenWeekDaysChange: EventEmitter | undefined>; /** @@ -1506,7 +1506,7 @@ export class DxSchedulerComponent extends DxComponent implements OnDestroy, OnCh * This member supports the internal infrastructure and is not intended to be used directly from your code. */ - @Output() viewsChange: EventEmitter | string> | { agendaDuration?: number, allDayPanelMode?: AllDayPanelMode, appointmentCollectorTemplate?: any, appointmentTemplate?: any, appointmentTooltipTemplate?: any, cellDuration?: number, dataCellTemplate?: any, dateCellTemplate?: any, endDayHour?: number, firstDayOfWeek?: FirstDayOfWeek | undefined, groupByDate?: boolean, groupOrientation?: Orientation, groups?: Array, hiddenWeekDays?: Array, intervalCount?: number, maxAppointmentsPerCell?: CellAppointmentsLimit | number, name?: string | undefined, offset?: number, resourceCellTemplate?: any, scrolling?: dxSchedulerScrolling, snapToCellsMode?: SnapToCellsMode, startDate?: Date | number | string | undefined, startDayHour?: number, timeCellTemplate?: any, type?: undefined | ViewType }[]>; + @Output() viewsChange: EventEmitter | string> | { agendaDuration?: number, allDayPanelMode?: AllDayPanelMode, appointmentCollectorTemplate?: any, appointmentTemplate?: any, appointmentTooltipTemplate?: any, cellDuration?: number, dataCellTemplate?: any, dateCellTemplate?: any, endDayHour?: number, firstDayOfWeek?: DayOfWeek | undefined, groupByDate?: boolean, groupOrientation?: Orientation, groups?: Array, hiddenWeekDays?: Array | undefined, intervalCount?: number, maxAppointmentsPerCell?: CellAppointmentsLimit | number, name?: string | undefined, offset?: number, resourceCellTemplate?: any, scrolling?: dxSchedulerScrolling, snapToCellsMode?: SnapToCellsMode, startDate?: Date | number | string | undefined, startDayHour?: number, timeCellTemplate?: any, type?: undefined | ViewType }[]>; /** diff --git a/packages/devextreme-angular/src/ui/scheduler/nested/view-dxi.ts b/packages/devextreme-angular/src/ui/scheduler/nested/view-dxi.ts index 56e066cf2185..0db621792163 100644 --- a/packages/devextreme-angular/src/ui/scheduler/nested/view-dxi.ts +++ b/packages/devextreme-angular/src/ui/scheduler/nested/view-dxi.ts @@ -12,8 +12,8 @@ import { -import type { AllDayPanelMode, DayOfWeek, CellAppointmentsLimit, dxSchedulerScrolling, SnapToCellsMode, ViewType } from 'devextreme/ui/scheduler'; -import type { FirstDayOfWeek, Orientation } from 'devextreme/common'; +import type { AllDayPanelMode, CellAppointmentsLimit, dxSchedulerScrolling, SnapToCellsMode, ViewType } from 'devextreme/ui/scheduler'; +import type { DayOfWeek, Orientation } from 'devextreme/common'; import { DxIntegrationModule, @@ -110,10 +110,10 @@ export class DxiSchedulerViewComponent extends CollectionNestedOption { } @Input() - get firstDayOfWeek(): FirstDayOfWeek | undefined { + get firstDayOfWeek(): DayOfWeek | undefined { return this._getOption('firstDayOfWeek'); } - set firstDayOfWeek(value: FirstDayOfWeek | undefined) { + set firstDayOfWeek(value: DayOfWeek | undefined) { this._setOption('firstDayOfWeek', value); } @@ -142,10 +142,10 @@ export class DxiSchedulerViewComponent extends CollectionNestedOption { } @Input() - get hiddenWeekDays(): Array { + get hiddenWeekDays(): Array | undefined { return this._getOption('hiddenWeekDays'); } - set hiddenWeekDays(value: Array) { + set hiddenWeekDays(value: Array | undefined) { this._setOption('hiddenWeekDays', value); } diff --git a/packages/devextreme-react/src/common/index.ts b/packages/devextreme-react/src/common/index.ts index 7d771c9b6d79..1c6fbe7d5a60 100644 --- a/packages/devextreme-react/src/common/index.ts +++ b/packages/devextreme-react/src/common/index.ts @@ -25,6 +25,7 @@ export type { DataStructure, DataType, DateLike, + DayOfWeek, DefaultOptionsRule, Direction, DisplayMode, diff --git a/packages/devextreme-react/src/date-box.ts b/packages/devextreme-react/src/date-box.ts index 2ad7ce6de57c..6e7880649947 100644 --- a/packages/devextreme-react/src/date-box.ts +++ b/packages/devextreme-react/src/date-box.ts @@ -12,7 +12,7 @@ import type { ChangeEvent, ClosedEvent, ContentReadyEvent, CopyEvent, CutEvent, import type { ContentReadyEvent as ButtonContentReadyEvent, DisposingEvent as ButtonDisposingEvent, InitializedEvent as ButtonInitializedEvent, dxButtonOptions, OptionChangedEvent as ButtonOptionChangedEvent, ClickEvent } from "devextreme/ui/button"; import type { DisposingEvent as CalendarDisposingEvent, InitializedEvent as CalendarInitializedEvent, ValueChangedEvent as CalendarValueChangedEvent, DisabledDate, CalendarZoomLevel, OptionChangedEvent, CalendarSelectionMode, WeekNumberRule } from "devextreme/ui/calendar"; import type { AnimationConfig, CollisionResolution, PositionConfig, AnimationState, AnimationType, CollisionResolutionCombination } from "devextreme/common/core/animation"; -import type { HorizontalAlignment, VerticalAlignment, TextEditorButtonLocation, template, FirstDayOfWeek, ValidationMessageMode, Position as CommonPosition, ValidationStatus, Format, PositionAlignment, Direction, ButtonStyle, ButtonType, ToolbarItemLocation, ToolbarItemComponent } from "devextreme/common"; +import type { HorizontalAlignment, VerticalAlignment, TextEditorButtonLocation, template, DayOfWeek, ValidationMessageMode, Position as CommonPosition, ValidationStatus, Format, PositionAlignment, Direction, ButtonStyle, ButtonType, ToolbarItemLocation, ToolbarItemComponent } from "devextreme/common"; import type { event } from "devextreme/events/events.types"; import type { EventInfo } from "devextreme/common/core/events"; import type { Component } from "devextreme/core/component"; @@ -209,7 +209,7 @@ type ICalendarOptionsProps = React.PropsWithChildren<{ disabled?: boolean; disabledDates?: Array | ((data: DisabledDate) => boolean); elementAttr?: Record; - firstDayOfWeek?: FirstDayOfWeek | undefined; + firstDayOfWeek?: DayOfWeek | undefined; focusStateEnabled?: boolean; height?: number | string | undefined; hint?: string | undefined; diff --git a/packages/devextreme-react/src/date-range-box.ts b/packages/devextreme-react/src/date-range-box.ts index 734ed4f60eae..c50293fffbf2 100644 --- a/packages/devextreme-react/src/date-range-box.ts +++ b/packages/devextreme-react/src/date-range-box.ts @@ -12,7 +12,7 @@ import type { ChangeEvent, ClosedEvent, ContentReadyEvent, CopyEvent, CutEvent, import type { ContentReadyEvent as ButtonContentReadyEvent, DisposingEvent as ButtonDisposingEvent, InitializedEvent as ButtonInitializedEvent, dxButtonOptions, OptionChangedEvent as ButtonOptionChangedEvent, ClickEvent } from "devextreme/ui/button"; import type { DisposingEvent as CalendarDisposingEvent, InitializedEvent as CalendarInitializedEvent, ValueChangedEvent as CalendarValueChangedEvent, DisabledDate, CalendarZoomLevel, OptionChangedEvent, CalendarSelectionMode, WeekNumberRule } from "devextreme/ui/calendar"; import type { AnimationConfig, CollisionResolution, PositionConfig, AnimationState, AnimationType, CollisionResolutionCombination } from "devextreme/common/core/animation"; -import type { HorizontalAlignment, VerticalAlignment, TextEditorButtonLocation, template, FirstDayOfWeek, ValidationMessageMode, Position as CommonPosition, ValidationStatus, Format, PositionAlignment, Direction, ButtonStyle, ButtonType, ToolbarItemLocation, ToolbarItemComponent } from "devextreme/common"; +import type { HorizontalAlignment, VerticalAlignment, TextEditorButtonLocation, template, DayOfWeek, ValidationMessageMode, Position as CommonPosition, ValidationStatus, Format, PositionAlignment, Direction, ButtonStyle, ButtonType, ToolbarItemLocation, ToolbarItemComponent } from "devextreme/common"; import type { event } from "devextreme/events/events.types"; import type { EventInfo } from "devextreme/common/core/events"; import type { Component } from "devextreme/core/component"; @@ -214,7 +214,7 @@ type ICalendarOptionsProps = React.PropsWithChildren<{ disabled?: boolean; disabledDates?: Array | ((data: DisabledDate) => boolean); elementAttr?: Record; - firstDayOfWeek?: FirstDayOfWeek | undefined; + firstDayOfWeek?: DayOfWeek | undefined; focusStateEnabled?: boolean; height?: number | string | undefined; hint?: string | undefined; diff --git a/packages/devextreme-react/src/scheduler.ts b/packages/devextreme-react/src/scheduler.ts index 3ad14a3c79d8..978ea1be3715 100644 --- a/packages/devextreme-react/src/scheduler.ts +++ b/packages/devextreme-react/src/scheduler.ts @@ -8,13 +8,13 @@ import dxScheduler, { import { Component as BaseComponent, IHtmlOptions, ComponentRef, NestedComponentMeta } from "./core/component"; import NestedOption from "./core/nested-option"; -import type { ViewType, AppointmentAddedEvent, AppointmentAddingEvent, AppointmentClickEvent, AppointmentContextMenuEvent, AppointmentDblClickEvent, AppointmentDeletedEvent, AppointmentDeletingEvent, AppointmentFormOpeningEvent, AppointmentRenderedEvent, AppointmentTooltipShowingEvent, AppointmentUpdatedEvent, AppointmentUpdatingEvent, CellClickEvent, CellContextMenuEvent, ContentReadyEvent, DisposingEvent, InitializedEvent, SelectionEndEvent, AppointmentFormProperties, AppointmentFormIconsShowMode, SchedulerPredefinedToolbarItem, DateNavigatorItemProperties, SchedulerPredefinedDateNavigatorItem, dxSchedulerToolbarItem, AllDayPanelMode, AppointmentCollectorTemplateData, AppointmentTemplateData, AppointmentTooltipTemplateData, DayOfWeek, CellAppointmentsLimit, dxSchedulerScrolling, SnapToCellsMode } from "devextreme/ui/scheduler"; +import type { ViewType, AppointmentAddedEvent, AppointmentAddingEvent, AppointmentClickEvent, AppointmentContextMenuEvent, AppointmentDblClickEvent, AppointmentDeletedEvent, AppointmentDeletingEvent, AppointmentFormOpeningEvent, AppointmentRenderedEvent, AppointmentTooltipShowingEvent, AppointmentUpdatedEvent, AppointmentUpdatingEvent, CellClickEvent, CellContextMenuEvent, ContentReadyEvent, DisposingEvent, InitializedEvent, SelectionEndEvent, AppointmentFormProperties, AppointmentFormIconsShowMode, SchedulerPredefinedToolbarItem, DateNavigatorItemProperties, SchedulerPredefinedDateNavigatorItem, dxSchedulerToolbarItem, AllDayPanelMode, AppointmentCollectorTemplateData, AppointmentTemplateData, AppointmentTooltipTemplateData, CellAppointmentsLimit, dxSchedulerScrolling, SnapToCellsMode } from "devextreme/ui/scheduler"; import type { ContentReadyEvent as ButtonContentReadyEvent, DisposingEvent as ButtonDisposingEvent, InitializedEvent as ButtonInitializedEvent, dxButtonOptions, ClickEvent, OptionChangedEvent } from "devextreme/ui/button"; import type { ContentReadyEvent as FormContentReadyEvent, DisposingEvent as FormDisposingEvent, InitializedEvent as FormInitializedEvent, FormItemType, FormPredefinedButtonItem, OptionChangedEvent as FormOptionChangedEvent, dxFormSimpleItem, dxFormGroupItem, dxFormTabbedItem, dxFormEmptyItem, dxFormButtonItem, LabelLocation, FormLabelMode, EditorEnterKeyEvent, FieldDataChangedEvent, SmartPastedEvent, SmartPastingEvent, FormItemComponent } from "devextreme/ui/form"; import type { ContentReadyEvent as ButtonGroupContentReadyEvent, DisposingEvent as ButtonGroupDisposingEvent, InitializedEvent as ButtonGroupInitializedEvent, OptionChangedEvent as ButtonGroupOptionChangedEvent, dxButtonGroupItem, ItemClickEvent, SelectionChangedEvent } from "devextreme/ui/button_group"; import type { ContentReadyEvent as TabPanelContentReadyEvent, DisposingEvent as TabPanelDisposingEvent, InitializedEvent as TabPanelInitializedEvent, OptionChangedEvent as TabPanelOptionChangedEvent, dxTabPanelOptions, ItemClickEvent as TabPanelItemClickEvent, SelectionChangedEvent as TabPanelSelectionChangedEvent, dxTabPanelItem, ItemContextMenuEvent, ItemHoldEvent, ItemRenderedEvent, SelectionChangingEvent, TitleClickEvent, TitleHoldEvent, TitleRenderedEvent } from "devextreme/ui/tab_panel"; import type { event } from "devextreme/events/events.types"; -import type { ValidationRuleType, HorizontalAlignment, VerticalAlignment, ButtonStyle, template, ButtonType, ComparisonOperator, Mode, ToolbarItemLocation, ToolbarItemComponent, SingleMultipleOrNone, ScrollMode, TabsIconPosition, TabsStyle, Position, FirstDayOfWeek, Orientation } from "devextreme/common"; +import type { ValidationRuleType, HorizontalAlignment, VerticalAlignment, ButtonStyle, template, ButtonType, ComparisonOperator, Mode, ToolbarItemLocation, ToolbarItemComponent, SingleMultipleOrNone, ScrollMode, TabsIconPosition, TabsStyle, Position, DayOfWeek, Orientation } from "devextreme/common"; import type { AIIntegration } from "devextreme/common/ai-integration"; import type { CollectionWidgetItem } from "devextreme/ui/collection/ui.collection_widget.base"; import type { LocateInMenuMode, ShowTextMode } from "devextreme/ui/toolbar"; @@ -1451,11 +1451,11 @@ type IViewProps = React.PropsWithChildren<{ dataCellTemplate?: ((itemData: any, itemIndex: number, itemElement: any) => string | any) | template; dateCellTemplate?: ((itemData: any, itemIndex: number, itemElement: any) => string | any) | template; endDayHour?: number; - firstDayOfWeek?: FirstDayOfWeek | undefined; + firstDayOfWeek?: DayOfWeek | undefined; groupByDate?: boolean; groupOrientation?: Orientation; groups?: Array; - hiddenWeekDays?: Array; + hiddenWeekDays?: Array | undefined; intervalCount?: number; maxAppointmentsPerCell?: CellAppointmentsLimit | number; name?: string | undefined; diff --git a/packages/devextreme-vue/src/calendar.ts b/packages/devextreme-vue/src/calendar.ts index 2a73546d7502..ad126171c867 100644 --- a/packages/devextreme-vue/src/calendar.ts +++ b/packages/devextreme-vue/src/calendar.ts @@ -13,7 +13,7 @@ import { WeekNumberRule, } from "devextreme/ui/calendar"; import { - FirstDayOfWeek, + DayOfWeek, ValidationMessageMode, Position, ValidationStatus, @@ -76,7 +76,7 @@ const componentConfig = { disabled: Boolean, disabledDates: [Array, Function] as PropType | (((data: DisabledDate) => boolean))>, elementAttr: Object as PropType>, - firstDayOfWeek: Number as PropType, + firstDayOfWeek: Number as PropType, focusStateEnabled: Boolean, height: [Number, String], hint: String, diff --git a/packages/devextreme-vue/src/common/index.ts b/packages/devextreme-vue/src/common/index.ts index 7d771c9b6d79..1c6fbe7d5a60 100644 --- a/packages/devextreme-vue/src/common/index.ts +++ b/packages/devextreme-vue/src/common/index.ts @@ -25,6 +25,7 @@ export type { DataStructure, DataType, DateLike, + DayOfWeek, DefaultOptionsRule, Direction, DisplayMode, diff --git a/packages/devextreme-vue/src/date-box.ts b/packages/devextreme-vue/src/date-box.ts index a576e9be9fb8..5025dce0b230 100644 --- a/packages/devextreme-vue/src/date-box.ts +++ b/packages/devextreme-vue/src/date-box.ts @@ -19,7 +19,7 @@ import { HorizontalAlignment, VerticalAlignment, TextEditorButtonLocation, - FirstDayOfWeek, + DayOfWeek, PositionAlignment, Direction, ButtonStyle, @@ -503,7 +503,7 @@ const DxCalendarOptionsConfig = { disabled: Boolean, disabledDates: [Array, Function] as PropType | (((data: DisabledDate) => boolean))>, elementAttr: Object as PropType>, - firstDayOfWeek: Number as PropType, + firstDayOfWeek: Number as PropType, focusStateEnabled: Boolean, height: [Number, String], hint: String, diff --git a/packages/devextreme-vue/src/date-range-box.ts b/packages/devextreme-vue/src/date-range-box.ts index af22436586c6..22d9b7fd35d9 100644 --- a/packages/devextreme-vue/src/date-range-box.ts +++ b/packages/devextreme-vue/src/date-range-box.ts @@ -18,7 +18,7 @@ import { HorizontalAlignment, VerticalAlignment, TextEditorButtonLocation, - FirstDayOfWeek, + DayOfWeek, PositionAlignment, Direction, ButtonStyle, @@ -512,7 +512,7 @@ const DxCalendarOptionsConfig = { disabled: Boolean, disabledDates: [Array, Function] as PropType | (((data: DisabledDate) => boolean))>, elementAttr: Object as PropType>, - firstDayOfWeek: Number as PropType, + firstDayOfWeek: Number as PropType, focusStateEnabled: Boolean, height: [Number, String], hint: String, diff --git a/packages/devextreme-vue/src/gantt.ts b/packages/devextreme-vue/src/gantt.ts index ce0163779b4d..cc7a558701e3 100644 --- a/packages/devextreme-vue/src/gantt.ts +++ b/packages/devextreme-vue/src/gantt.ts @@ -52,7 +52,7 @@ import { dxGanttToolbarItem, } from "devextreme/ui/gantt"; import { - FirstDayOfWeek, + DayOfWeek, HorizontalAlignment, DataType, Format as CommonFormat, @@ -181,7 +181,7 @@ const componentConfig = { elementAttr: Object as PropType>, endDateRange: Date, filterRow: Object as PropType>, - firstDayOfWeek: Number as PropType, + firstDayOfWeek: Number as PropType, focusStateEnabled: Boolean, headerFilter: Object as PropType>, height: [Number, String], diff --git a/packages/devextreme-vue/src/scheduler.ts b/packages/devextreme-vue/src/scheduler.ts index 3cd552f72157..a8bcca7114cc 100644 --- a/packages/devextreme-vue/src/scheduler.ts +++ b/packages/devextreme-vue/src/scheduler.ts @@ -10,7 +10,6 @@ import { AllDayPanelMode, ViewType, dxSchedulerAppointment, - DayOfWeek, CellAppointmentsLimit, AppointmentAddedEvent, AppointmentAddingEvent, @@ -48,7 +47,7 @@ import { Store, } from "devextreme/data/store"; import { - FirstDayOfWeek, + DayOfWeek, ValidationRuleType, HorizontalAlignment, VerticalAlignment, @@ -247,7 +246,7 @@ const componentConfig = { endDateExpr: String, endDateTimeZoneExpr: String, endDayHour: Number, - firstDayOfWeek: Number as PropType, + firstDayOfWeek: Number as PropType, focusStateEnabled: Boolean, groupByDate: Boolean, groups: Array as PropType>, @@ -1805,7 +1804,7 @@ const DxViewConfig = { dataCellTemplate: {}, dateCellTemplate: {}, endDayHour: Number, - firstDayOfWeek: Number as PropType, + firstDayOfWeek: Number as PropType, groupByDate: Boolean, groupOrientation: String as PropType, groups: Array as PropType>, diff --git a/packages/devextreme/js/ui/calendar_types.d.ts b/packages/devextreme/js/ui/calendar_types.d.ts index 9714c348df9d..d9371f533b81 100644 --- a/packages/devextreme/js/ui/calendar_types.d.ts +++ b/packages/devextreme/js/ui/calendar_types.d.ts @@ -1,5 +1,5 @@ export { - FirstDayOfWeek, + DayOfWeek, DateLike, CalendarZoomLevel, CalendarSelectionMode, diff --git a/packages/devextreme/js/ui/scheduler_types.d.ts b/packages/devextreme/js/ui/scheduler_types.d.ts index 0ec1ada7a862..7f303749f1f6 100644 --- a/packages/devextreme/js/ui/scheduler_types.d.ts +++ b/packages/devextreme/js/ui/scheduler_types.d.ts @@ -1,5 +1,5 @@ export { - FirstDayOfWeek, + DayOfWeek, Orientation, ScrollMode, AllDayPanelMode, @@ -7,7 +7,6 @@ export { SnapToCellsMode, RecurrenceEditMode, AppointmentFormIconsShowMode, - DayOfWeek, AppointmentFormProperties, ViewType, SchedulerScrollToAlign, diff --git a/packages/devextreme/ts/dx.all.d.ts b/packages/devextreme/ts/dx.all.d.ts index 2b8b4fdbfd7b..760834ea59b2 100644 --- a/packages/devextreme/ts/dx.all.d.ts +++ b/packages/devextreme/ts/dx.all.d.ts @@ -1298,6 +1298,8 @@ declare module DevExpress.common { | 'object' | 'datetime'; export type DateLike = Date | number | string | null; + + export type DayOfWeek = 0 | 1 | 2 | 3 | 4 | 5 | 6; export type Direction = 'bottom' | 'left' | 'right' | 'top'; export type DisplayMode = 'adaptive' | 'compact' | 'full'; export type DragDirection = 'both' | 'horizontal' | 'vertical'; @@ -1332,7 +1334,11 @@ declare module DevExpress.common { */ type ExternalFormat = Intl.DateTimeFormatOptions | Intl.NumberFormatOptions; export type FieldChooserLayout = 0 | 1 | 2; - export type FirstDayOfWeek = 0 | 1 | 2 | 3 | 4 | 5 | 6; + + /** + * @deprecated Use the DayOfWeek type instead + */ + export type FirstDayOfWeek = DayOfWeek; export type Format = | 'billions' | 'currency' @@ -10241,7 +10247,7 @@ declare module DevExpress.ui { /** * [descr:dxCalendarOptions.firstDayOfWeek] */ - firstDayOfWeek?: DevExpress.common.FirstDayOfWeek | undefined; + firstDayOfWeek?: DevExpress.common.DayOfWeek | undefined; /** * [descr:dxCalendarOptions.focusStateEnabled] */ @@ -21116,7 +21122,7 @@ declare module DevExpress.ui { /** * [descr:dxGanttOptions.firstDayOfWeek] */ - firstDayOfWeek?: DevExpress.common.FirstDayOfWeek | undefined; + firstDayOfWeek?: DevExpress.common.DayOfWeek | undefined; /** * [descr:dxGanttOptions.tasks] */ @@ -26388,7 +26394,6 @@ declare module DevExpress.ui { readonly endDate: Date; readonly text: string; }; - export type DayOfWeek = 0 | 1 | 2 | 3 | 4 | 5 | 6; /** * [descr:_ui_scheduler_DisposingEvent] */ @@ -26733,11 +26738,11 @@ declare module DevExpress.ui { /** * [descr:dxSchedulerOptions.firstDayOfWeek] */ - firstDayOfWeek?: DevExpress.common.FirstDayOfWeek | undefined; + firstDayOfWeek?: DevExpress.common.DayOfWeek | undefined; /** * [descr:dxSchedulerOptions.hiddenWeekDays] */ - hiddenWeekDays?: Array; + hiddenWeekDays?: Array | undefined; /** * [descr:dxSchedulerOptions.focusStateEnabled] */ @@ -27074,11 +27079,11 @@ declare module DevExpress.ui { /** * [descr:dxSchedulerOptions.views.firstDayOfWeek] */ - firstDayOfWeek?: DevExpress.common.FirstDayOfWeek | undefined; + firstDayOfWeek?: DevExpress.common.DayOfWeek | undefined; /** * [descr:dxSchedulerOptions.views.hiddenWeekDays] */ - hiddenWeekDays?: Array; + hiddenWeekDays?: Array | undefined; /** * [descr:dxSchedulerOptions.views.groupByDate] */ From e72f2450ebe2c0feb34cd63b602db17952c236bb Mon Sep 17 00:00:00 2001 From: Mikhail Preyskurantov <5574159+mpreyskurantov@users.noreply.github.com> Date: Thu, 7 May 2026 19:57:16 +0300 Subject: [PATCH 3/6] aspnet: FirstDayOfWeek -> System.DayOfWeek --- packages/devextreme-metadata/aspnet/enums.ts | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/packages/devextreme-metadata/aspnet/enums.ts b/packages/devextreme-metadata/aspnet/enums.ts index 06b836478f6b..06c672dca88b 100644 --- a/packages/devextreme-metadata/aspnet/enums.ts +++ b/packages/devextreme-metadata/aspnet/enums.ts @@ -421,16 +421,6 @@ export const enumItemRenamings = { 'datetime': 'DateTime', }, - 'FirstDayOfWeek': { - '0': 'Sunday', - '1': 'Monday', - '2': 'Tuesday', - '3': 'Wednesday', - '4': 'Thursday', - '5': 'Friday', - '6': 'Saturday', - }, - 'GaugeOverlappingBehavior': { 'first': 'HideFirstLabel', 'last': 'HideLastLabel', From 436a6c9b7ce2fb11abe884ab6e5f905612c8b7c4 Mon Sep 17 00:00:00 2001 From: Mikhail Preyskurantov <5574159+mpreyskurantov@users.noreply.github.com> Date: Thu, 7 May 2026 20:27:32 +0300 Subject: [PATCH 4/6] Duplicate identifier 'FirstDayOfWeek'. file: artifacts/ts/dx.all.d.ts --- packages/devextreme-angular/src/common/index.ts | 1 - packages/devextreme-angular/src/index.ts | 1 - packages/devextreme-react/src/common/index.ts | 1 - packages/devextreme-vue/src/common/index.ts | 1 - packages/devextreme/js/common.d.ts | 1 - packages/devextreme/ts/dx.all.d.ts | 5 ----- 6 files changed, 10 deletions(-) diff --git a/packages/devextreme-angular/src/common/index.ts b/packages/devextreme-angular/src/common/index.ts index 8f0cda9f4a6e..375875b005c0 100644 --- a/packages/devextreme-angular/src/common/index.ts +++ b/packages/devextreme-angular/src/common/index.ts @@ -36,7 +36,6 @@ export type { EmailRule, ExportFormat, FieldChooserLayout, - FirstDayOfWeek, FloatingActionButtonDirection, Format, GlobalConfig, diff --git a/packages/devextreme-angular/src/index.ts b/packages/devextreme-angular/src/index.ts index 65432c562db2..f554c4c15f77 100644 --- a/packages/devextreme-angular/src/index.ts +++ b/packages/devextreme-angular/src/index.ts @@ -120,7 +120,6 @@ export namespace Common { export type EmailRule = import('devextreme/common').EmailRule; export type ExportFormat = import('devextreme/common').ExportFormat; export type FieldChooserLayout = import('devextreme/common').FieldChooserLayout; - export type FirstDayOfWeek = import('devextreme/common').FirstDayOfWeek; export type FloatingActionButtonDirection = import('devextreme/common').FloatingActionButtonDirection; export type Format = import('devextreme/common').Format; export type GlobalConfig = import('devextreme/common').GlobalConfig; diff --git a/packages/devextreme-react/src/common/index.ts b/packages/devextreme-react/src/common/index.ts index 1c6fbe7d5a60..7e115c93c543 100644 --- a/packages/devextreme-react/src/common/index.ts +++ b/packages/devextreme-react/src/common/index.ts @@ -36,7 +36,6 @@ export type { EmailRule, ExportFormat, FieldChooserLayout, - FirstDayOfWeek, FloatingActionButtonDirection, Format, GlobalConfig, diff --git a/packages/devextreme-vue/src/common/index.ts b/packages/devextreme-vue/src/common/index.ts index 1c6fbe7d5a60..7e115c93c543 100644 --- a/packages/devextreme-vue/src/common/index.ts +++ b/packages/devextreme-vue/src/common/index.ts @@ -36,7 +36,6 @@ export type { EmailRule, ExportFormat, FieldChooserLayout, - FirstDayOfWeek, FloatingActionButtonDirection, Format, GlobalConfig, diff --git a/packages/devextreme/js/common.d.ts b/packages/devextreme/js/common.d.ts index f7e6df0b81fe..ec8d0be37b62 100644 --- a/packages/devextreme/js/common.d.ts +++ b/packages/devextreme/js/common.d.ts @@ -262,7 +262,6 @@ export type FieldChooserLayout = 0 | 1 | 2; // #region deprecated in v26.1 /** - * @public * @namespace DevExpress.common * @deprecated Use the DayOfWeek type instead */ diff --git a/packages/devextreme/ts/dx.all.d.ts b/packages/devextreme/ts/dx.all.d.ts index 760834ea59b2..de0cae8e955a 100644 --- a/packages/devextreme/ts/dx.all.d.ts +++ b/packages/devextreme/ts/dx.all.d.ts @@ -1334,11 +1334,6 @@ declare module DevExpress.common { */ type ExternalFormat = Intl.DateTimeFormatOptions | Intl.NumberFormatOptions; export type FieldChooserLayout = 0 | 1 | 2; - - /** - * @deprecated Use the DayOfWeek type instead - */ - export type FirstDayOfWeek = DayOfWeek; export type Format = | 'billions' | 'currency' From bae91f192ea809e8e2c4aeaf5fa5235bcb7f302f Mon Sep 17 00:00:00 2001 From: Mikhail Preyskurantov <5574159+mpreyskurantov@users.noreply.github.com> Date: Thu, 7 May 2026 21:51:58 +0300 Subject: [PATCH 5/6] re-consider prev: keep FirstDayOfWeek as public to have to in common and components' bags re-exports (our own demos failed), try to avoid prev error with aliases.d.ts (no more) + dx.all.d.ts --- packages/devextreme-angular/src/common/index.ts | 1 + packages/devextreme-angular/src/index.ts | 1 + packages/devextreme-react/src/common/index.ts | 1 + packages/devextreme-vue/src/common/index.ts | 1 + packages/devextreme/js/common.d.ts | 1 + packages/devextreme/js/ui/calendar.d.ts | 2 ++ packages/devextreme/js/ui/calendar_types.d.ts | 1 + packages/devextreme/js/ui/scheduler.d.ts | 2 ++ packages/devextreme/js/ui/scheduler_types.d.ts | 1 + packages/devextreme/ts/aliases.d.ts | 8 ++++---- packages/devextreme/ts/dx.all.d.ts | 5 +++++ 11 files changed, 20 insertions(+), 4 deletions(-) diff --git a/packages/devextreme-angular/src/common/index.ts b/packages/devextreme-angular/src/common/index.ts index 375875b005c0..8f0cda9f4a6e 100644 --- a/packages/devextreme-angular/src/common/index.ts +++ b/packages/devextreme-angular/src/common/index.ts @@ -36,6 +36,7 @@ export type { EmailRule, ExportFormat, FieldChooserLayout, + FirstDayOfWeek, FloatingActionButtonDirection, Format, GlobalConfig, diff --git a/packages/devextreme-angular/src/index.ts b/packages/devextreme-angular/src/index.ts index f554c4c15f77..65432c562db2 100644 --- a/packages/devextreme-angular/src/index.ts +++ b/packages/devextreme-angular/src/index.ts @@ -120,6 +120,7 @@ export namespace Common { export type EmailRule = import('devextreme/common').EmailRule; export type ExportFormat = import('devextreme/common').ExportFormat; export type FieldChooserLayout = import('devextreme/common').FieldChooserLayout; + export type FirstDayOfWeek = import('devextreme/common').FirstDayOfWeek; export type FloatingActionButtonDirection = import('devextreme/common').FloatingActionButtonDirection; export type Format = import('devextreme/common').Format; export type GlobalConfig = import('devextreme/common').GlobalConfig; diff --git a/packages/devextreme-react/src/common/index.ts b/packages/devextreme-react/src/common/index.ts index 7e115c93c543..1c6fbe7d5a60 100644 --- a/packages/devextreme-react/src/common/index.ts +++ b/packages/devextreme-react/src/common/index.ts @@ -36,6 +36,7 @@ export type { EmailRule, ExportFormat, FieldChooserLayout, + FirstDayOfWeek, FloatingActionButtonDirection, Format, GlobalConfig, diff --git a/packages/devextreme-vue/src/common/index.ts b/packages/devextreme-vue/src/common/index.ts index 7e115c93c543..1c6fbe7d5a60 100644 --- a/packages/devextreme-vue/src/common/index.ts +++ b/packages/devextreme-vue/src/common/index.ts @@ -36,6 +36,7 @@ export type { EmailRule, ExportFormat, FieldChooserLayout, + FirstDayOfWeek, FloatingActionButtonDirection, Format, GlobalConfig, diff --git a/packages/devextreme/js/common.d.ts b/packages/devextreme/js/common.d.ts index ec8d0be37b62..f7e6df0b81fe 100644 --- a/packages/devextreme/js/common.d.ts +++ b/packages/devextreme/js/common.d.ts @@ -262,6 +262,7 @@ export type FieldChooserLayout = 0 | 1 | 2; // #region deprecated in v26.1 /** + * @public * @namespace DevExpress.common * @deprecated Use the DayOfWeek type instead */ diff --git a/packages/devextreme/js/ui/calendar.d.ts b/packages/devextreme/js/ui/calendar.d.ts index 904f4e8e9e05..92798c901546 100644 --- a/packages/devextreme/js/ui/calendar.d.ts +++ b/packages/devextreme/js/ui/calendar.d.ts @@ -14,6 +14,7 @@ import { import { template, DayOfWeek, + FirstDayOfWeek, DateLike, } from '../common'; @@ -24,6 +25,7 @@ import Editor, { export { DayOfWeek, + FirstDayOfWeek, DateLike, }; diff --git a/packages/devextreme/js/ui/calendar_types.d.ts b/packages/devextreme/js/ui/calendar_types.d.ts index d9371f533b81..57ee48dd004e 100644 --- a/packages/devextreme/js/ui/calendar_types.d.ts +++ b/packages/devextreme/js/ui/calendar_types.d.ts @@ -1,5 +1,6 @@ export { DayOfWeek, + FirstDayOfWeek, DateLike, CalendarZoomLevel, CalendarSelectionMode, diff --git a/packages/devextreme/js/ui/scheduler.d.ts b/packages/devextreme/js/ui/scheduler.d.ts index 20944943b8bf..e7bcc32063fd 100644 --- a/packages/devextreme/js/ui/scheduler.d.ts +++ b/packages/devextreme/js/ui/scheduler.d.ts @@ -6,6 +6,7 @@ import { import { template, DayOfWeek, + FirstDayOfWeek, Orientation, ScrollMode, ToolbarItemLocation, @@ -67,6 +68,7 @@ export interface TargetedAppointmentInfo { export { DayOfWeek, + FirstDayOfWeek, Orientation, ScrollMode, }; diff --git a/packages/devextreme/js/ui/scheduler_types.d.ts b/packages/devextreme/js/ui/scheduler_types.d.ts index 7f303749f1f6..e3a266157b91 100644 --- a/packages/devextreme/js/ui/scheduler_types.d.ts +++ b/packages/devextreme/js/ui/scheduler_types.d.ts @@ -1,5 +1,6 @@ export { DayOfWeek, + FirstDayOfWeek, Orientation, ScrollMode, AllDayPanelMode, diff --git a/packages/devextreme/ts/aliases.d.ts b/packages/devextreme/ts/aliases.d.ts index e5fe43acee04..336651a733dc 100644 --- a/packages/devextreme/ts/aliases.d.ts +++ b/packages/devextreme/ts/aliases.d.ts @@ -947,7 +947,7 @@ declare namespace DevExpress.ui { } // 26.1 -declare namespace DevExpress.common { - /** @deprecated Use DevExpress.common.DayOfWeek instead */ - export type FirstDayOfWeek = DayOfWeek; -} +// declare namespace DevExpress.common { +// /** @deprecated Use DevExpress.common.DayOfWeek instead */ +// export type FirstDayOfWeek = DayOfWeek; +// } diff --git a/packages/devextreme/ts/dx.all.d.ts b/packages/devextreme/ts/dx.all.d.ts index de0cae8e955a..760834ea59b2 100644 --- a/packages/devextreme/ts/dx.all.d.ts +++ b/packages/devextreme/ts/dx.all.d.ts @@ -1334,6 +1334,11 @@ declare module DevExpress.common { */ type ExternalFormat = Intl.DateTimeFormatOptions | Intl.NumberFormatOptions; export type FieldChooserLayout = 0 | 1 | 2; + + /** + * @deprecated Use the DayOfWeek type instead + */ + export type FirstDayOfWeek = DayOfWeek; export type Format = | 'billions' | 'currency' From bba006d22c78c75b3560d3402dcb20092ce8d4ea Mon Sep 17 00:00:00 2001 From: Mikhail Preyskurantov <5574159+mpreyskurantov@users.noreply.github.com> Date: Thu, 7 May 2026 22:38:33 +0300 Subject: [PATCH 6/6] demos: lint ts (2) (error 'FirstDayOfWeek' is deprecated. Use the DayOfWeek type instead deprecation/deprecation) --- apps/demos/Demos/Calendar/Overview/React/App.tsx | 2 +- apps/demos/Demos/Calendar/Overview/Vue/App.vue | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/demos/Demos/Calendar/Overview/React/App.tsx b/apps/demos/Demos/Calendar/Overview/React/App.tsx index 1d3be3942546..7ff45cb65299 100644 --- a/apps/demos/Demos/Calendar/Overview/React/App.tsx +++ b/apps/demos/Demos/Calendar/Overview/React/App.tsx @@ -31,7 +31,7 @@ export default function App() { const [useCellTemplate, setUseCellTemplate] = useState(null); const [disabled, setDisabled] = useState(false); const [showWeekNumbers, setShowWeekNumbers] = useState(false); - const [firstDay, setFirstDay] = useState(0); + const [firstDay, setFirstDay] = useState(0); const [weekNumberRule, setWeekNumberRule] = useState('auto'); const onCurrentValueChange = useCallback( diff --git a/apps/demos/Demos/Calendar/Overview/Vue/App.vue b/apps/demos/Demos/Calendar/Overview/Vue/App.vue index 63ca95ebe5a2..a036f5de3c82 100644 --- a/apps/demos/Demos/Calendar/Overview/Vue/App.vue +++ b/apps/demos/Demos/Calendar/Overview/Vue/App.vue @@ -90,7 +90,7 @@ const currentValue = ref(new Date()); const cellTemplate = ref('cell'); const disabled = ref(false); const showWeekNumbers = ref(false); -const firstDay = ref(0); +const firstDay = ref(0); const weekNumberRule = ref('auto'); const weekDays = [ { id: 0, text: 'Sunday' },