Aggregated Export
An aggregated export is a syntactic construction that DevExtreme uses to group several imports into one (for instance, component-specific types).
Angular
Our codebase includes the following lines (for example, in DateBox source code):
import type * as DxDateBoxTypes from "devextreme/ui/date_box_types"; export { DxDateBoxTypes };
Here, import type
is used to import only types from a module, not the actual code that runs during runtime. * as DxDateBoxTypes
means "import everything" from the module "devextreme/ui/date_box_types"
and collect it under the name DxDateBoxTypes
.
Vue
Our codebase includes the following lines (for example, in DateBox source code):
import type * as DxDateBoxTypes from "devextreme/ui/date_box_types"; export { DxDateBoxTypes };
Here, import type
is used to import only types from a module, not the actual code that runs during runtime. * as DxDateBoxTypes
means "import everything" from the module "devextreme/ui/date_box_types"
and collect it under the name DxDateBoxTypes
.
React
Our codebase includes the following lines (for example, in DateBox source code):
import type * as DateBoxTypes from "devextreme/ui/date_box_types"; export { DateBoxTypes };
Here, import type
is used to import only types from a module, not the actual code that runs during runtime. * as DateBoxTypes
means "import everything" from the module "devextreme/ui/date_box_types"
and collect it under the name DateBoxTypes
.
The result is then exported, and this is the aggregated export that you can import in your application for every DevExtreme component.
Conditional Types
When navigating through DevExtreme sources, you can find conditional types like the following:
export type DxEvent<TNativeEvent = Event> = {} extends EventType ? (EventObject & TNativeEvent) : EventType; export type DxElement<T extends Element = HTMLElement> = {} extends Condition ? T : ElementWrapper<T>;
These conditional types enable integration with third-party libraries. You can ignore them.
jQuery
They resolve to JQuery types: JQuery<HTMLElement>
and JQueryEventObject
with a cancel
field.
Angular
They resolve to built-in browser types: a specific HTMLElement
or a browser Event
extended with DevExtreme’s EventObject
mixin.
Vue
They resolve to built-in browser types: a specific HTMLElement
or a browser Event
extended with DevExtreme’s EventObject
mixin.
React
They resolve to built-in browser types: a specific HTMLElement
or a browser Event
extended with DevExtreme’s EventObject
mixin.
If you have technical questions, please create a support ticket in the DevExpress Support Center.