diff --git a/.github/workflows/demos_visual_tests_frameworks.yml b/.github/workflows/demos_visual_tests_frameworks.yml
index 5c9f0efb20a9..0899f7e7b152 100644
--- a/.github/workflows/demos_visual_tests_frameworks.yml
+++ b/.github/workflows/demos_visual_tests_frameworks.yml
@@ -302,41 +302,12 @@ jobs:
- name: Install tgz
run: pnpm add -w ./devextreme-installer.tgz ./devextreme-dist-installer.tgz ./devextreme-react-installer.tgz ./devextreme-vue-installer.tgz ./devextreme-angular-installer.tgz
- - name: Run lint on all demos
- if: github.event_name != 'pull_request' || contains(github.event.pull_request.labels.*.name, 'force all tests')
+ - name: Run lint
working-directory: apps/demos
env:
CHANGEDFILEINFOSPATH: changed-files.json
DEBUG: 'eslint:cli-engine,stylelint:standalone'
- run: pnpx nx lint
-
- - name: Run lint on changed demos
- if: github.event_name == 'pull_request' && !contains(github.event.pull_request.labels.*.name, 'force all tests')
- working-directory: apps/demos
- env:
- DEBUG: 'eslint:cli-engine,stylelint:standalone'
- run: |
- pnpx nx lint-non-demos
-
- if [ -f "changed-files.json" ]; then
- echo "Running lint-demos on changed files"
- CHANGED_DEMOS=$(jq -r '.[].filename' changed-files.json \
- | grep '^apps/demos/Demos/' \
- | sed 's|^apps/demos/||' \
- | while read f; do
- [ -f "$f" ] && echo "$f"
- done \
- | tr '\n' ' ')
- if [ ! -z "$CHANGED_DEMOS" ]; then
- echo "Changed demo files: $CHANGED_DEMOS"
- pnpx eslint $CHANGED_DEMOS
- else
- echo "No demo files changed, skipping lint-demos"
- fi
- else
- echo "changed-files.json not found"
- pnpm run lint-demos
- fi
+ run: pnpx nx lint-non-demos
check_generated_demos:
name: ${{ matrix.name }}
@@ -435,7 +406,7 @@ jobs:
fail-fast: false
matrix:
CONSTEL: [react(1/4), react(2/4), react(3/4), react(4/4), vue(1/4), vue(2/4), vue(3/4), vue(4/4), angular(1/4), angular(2/4), angular(3/4), angular(4/4)]
- THEME: ['generic.light', 'material.blue.light', 'fluent.blue.light']
+ THEME: ['fluent.blue.light']
runs-on: ubuntu-22.04
name: testcafe-${{ matrix.CONSTEL }}-${{ matrix.THEME }}
diff --git a/apps/demos/Demos/Common/EditorAppearanceVariants/test-code.js b/apps/demos/Demos/Common/EditorAppearanceVariants/test-code.js
index 952de1fa6cb8..bdad65c3ea3d 100644
--- a/apps/demos/Demos/Common/EditorAppearanceVariants/test-code.js
+++ b/apps/demos/Demos/Common/EditorAppearanceVariants/test-code.js
@@ -2,6 +2,5 @@ testUtils.importAnd(() => 'devextreme/animation/fx', () => DevExpress.fx, (fx) =
fx.off = true;
return testUtils
- .postponeUntilFound('.dx-texteditor-with-label.dx-invalid', 100, 10000)
- .then(() => testUtils.postpone(200));
+ .postponeUntilFound('.dx-texteditor-with-label.dx-invalid', 100, 5000);
});
diff --git a/apps/demos/Demos/DataGrid/CellEditing/Angular/app/app.component.html b/apps/demos/Demos/DataGrid/CellEditing/Angular/app/app.component.html
index 50ae88421e25..01a3cec6c205 100644
--- a/apps/demos/Demos/DataGrid/CellEditing/Angular/app/app.component.html
+++ b/apps/demos/Demos/DataGrid/CellEditing/Angular/app/app.component.html
@@ -33,6 +33,7 @@
[disabled]="!selectedItemKeys.length"
icon="trash"
text="Delete Selected Records"
+ stylingMode="text"
>
diff --git a/apps/demos/Demos/DataGrid/CellEditing/React/App.tsx b/apps/demos/Demos/DataGrid/CellEditing/React/App.tsx
index 3d0cfb5219c3..3b7ae2c0bc96 100644
--- a/apps/demos/Demos/DataGrid/CellEditing/React/App.tsx
+++ b/apps/demos/Demos/DataGrid/CellEditing/React/App.tsx
@@ -59,7 +59,8 @@ const App = () => {
onClick={deleteRecords}
icon="trash"
disabled={!selectedItemKeys.length}
- text="Delete Selected Records" />
+ text="Delete Selected Records"
+ stylingMode="text" />
diff --git a/apps/demos/Demos/DataGrid/CellEditing/ReactJs/App.js b/apps/demos/Demos/DataGrid/CellEditing/ReactJs/App.js
index 241c2225052c..09696588e6e8 100644
--- a/apps/demos/Demos/DataGrid/CellEditing/ReactJs/App.js
+++ b/apps/demos/Demos/DataGrid/CellEditing/ReactJs/App.js
@@ -85,6 +85,7 @@ const App = () => {
icon="trash"
disabled={!selectedItemKeys.length}
text="Delete Selected Records"
+ stylingMode="text"
/>
diff --git a/apps/demos/Demos/DataGrid/CellEditing/Vue/App.vue b/apps/demos/Demos/DataGrid/CellEditing/Vue/App.vue
index 581ed3362186..0ae627f04310 100644
--- a/apps/demos/Demos/DataGrid/CellEditing/Vue/App.vue
+++ b/apps/demos/Demos/DataGrid/CellEditing/Vue/App.vue
@@ -57,6 +57,7 @@
:disabled="!selectedItemKeys.length"
icon="trash"
text="Delete Selected Records"
+ stylingMode="text"
/>
diff --git a/apps/demos/Demos/DataGrid/MultipleRecordSelectionAPI/Angular/app/app.component.html b/apps/demos/Demos/DataGrid/MultipleRecordSelectionAPI/Angular/app/app.component.html
index cf74c72d57c8..0ef0250c2ca8 100644
--- a/apps/demos/Demos/DataGrid/MultipleRecordSelectionAPI/Angular/app/app.component.html
+++ b/apps/demos/Demos/DataGrid/MultipleRecordSelectionAPI/Angular/app/app.component.html
@@ -31,6 +31,7 @@
diff --git a/apps/demos/Demos/DataGrid/MultipleRecordSelectionAPI/React/App.tsx b/apps/demos/Demos/DataGrid/MultipleRecordSelectionAPI/React/App.tsx
index 38e74f2a7bf8..c1b6a077eb5e 100644
--- a/apps/demos/Demos/DataGrid/MultipleRecordSelectionAPI/React/App.tsx
+++ b/apps/demos/Demos/DataGrid/MultipleRecordSelectionAPI/React/App.tsx
@@ -80,6 +80,7 @@ const App = () => {
disabled={!selectedRowKeys.length}
onClick={onClearButtonClicked}
text="Clear Selection"
+ stylingMode="text"
/>
diff --git a/apps/demos/Demos/DataGrid/MultipleRecordSelectionAPI/ReactJs/App.js b/apps/demos/Demos/DataGrid/MultipleRecordSelectionAPI/ReactJs/App.js
index 96578062f16b..89ec387a7116 100644
--- a/apps/demos/Demos/DataGrid/MultipleRecordSelectionAPI/ReactJs/App.js
+++ b/apps/demos/Demos/DataGrid/MultipleRecordSelectionAPI/ReactJs/App.js
@@ -89,6 +89,7 @@ const App = () => {
disabled={!selectedRowKeys.length}
onClick={onClearButtonClicked}
text="Clear Selection"
+ stylingMode="text"
/>
diff --git a/apps/demos/Demos/DataGrid/MultipleRecordSelectionAPI/Vue/App.vue b/apps/demos/Demos/DataGrid/MultipleRecordSelectionAPI/Vue/App.vue
index 3900f92b3aa8..a44c5da26895 100644
--- a/apps/demos/Demos/DataGrid/MultipleRecordSelectionAPI/Vue/App.vue
+++ b/apps/demos/Demos/DataGrid/MultipleRecordSelectionAPI/Vue/App.vue
@@ -50,6 +50,7 @@
diff --git a/apps/demos/testing/etalons/Gantt-TaskTemplate (fluent.blue.light).png b/apps/demos/testing/etalons/Gantt-TaskTemplate (fluent.blue.light).png
index f0ddf6f1ac5f..1e3db8531aff 100644
Binary files a/apps/demos/testing/etalons/Gantt-TaskTemplate (fluent.blue.light).png and b/apps/demos/testing/etalons/Gantt-TaskTemplate (fluent.blue.light).png differ
diff --git a/apps/demos/testing/etalons/Gantt-TaskTemplate (material.blue.light).png b/apps/demos/testing/etalons/Gantt-TaskTemplate (material.blue.light).png
index 30f406b27ec0..c93119f19d39 100644
Binary files a/apps/demos/testing/etalons/Gantt-TaskTemplate (material.blue.light).png and b/apps/demos/testing/etalons/Gantt-TaskTemplate (material.blue.light).png differ
diff --git a/apps/demos/testing/etalons/Gantt-TaskTemplate.png b/apps/demos/testing/etalons/Gantt-TaskTemplate.png
index 5a26d764f09e..59dbf1c494da 100644
Binary files a/apps/demos/testing/etalons/Gantt-TaskTemplate.png and b/apps/demos/testing/etalons/Gantt-TaskTemplate.png differ
diff --git a/apps/demos/testing/etalons/Gantt-Validation (fluent.blue.light).png b/apps/demos/testing/etalons/Gantt-Validation (fluent.blue.light).png
index 52a6e5d5e0b1..a06ee474be37 100644
Binary files a/apps/demos/testing/etalons/Gantt-Validation (fluent.blue.light).png and b/apps/demos/testing/etalons/Gantt-Validation (fluent.blue.light).png differ
diff --git a/apps/demos/testing/etalons/Gantt-Validation (material.blue.light).png b/apps/demos/testing/etalons/Gantt-Validation (material.blue.light).png
index 1243bfe9d975..12945139a61e 100644
Binary files a/apps/demos/testing/etalons/Gantt-Validation (material.blue.light).png and b/apps/demos/testing/etalons/Gantt-Validation (material.blue.light).png differ
diff --git a/apps/demos/testing/etalons/Gantt-Validation.png b/apps/demos/testing/etalons/Gantt-Validation.png
index 7c23ad6479c8..79fdf493a2cb 100644
Binary files a/apps/demos/testing/etalons/Gantt-Validation.png and b/apps/demos/testing/etalons/Gantt-Validation.png differ
diff --git a/apps/demos/testing/skipped-tests.js b/apps/demos/testing/skipped-tests.js
index 58ac1812dc40..f48b3df46da2 100644
--- a/apps/demos/testing/skipped-tests.js
+++ b/apps/demos/testing/skipped-tests.js
@@ -3,236 +3,47 @@ import { THEME } from '../utils/visual-tests/helpers/theme-utils';
export const skippedTests = {
jQuery: {
Charts: [
+ { demo: 'AjaxRequest', themes: [THEME.material] },
{ demo: 'ServerSideDataProcessing', themes: [THEME.material] },
- { demo: 'SpiderWeb', themes: [THEME.material] }, // NOTE: Requires preload font, which not work in testcafe
- ],
- Gantt: [
- { demo: 'TaskTemplate', themes: [THEME.generic, THEME.material, THEME.fluent] },
- { demo: 'Validation', themes: [THEME.generic, THEME.material, THEME.fluent] },
- ],
- Map: [
- { demo: 'ProvidersAndTypes', themes: [THEME.generic, THEME.material, THEME.fluent] },
- { demo: 'Markers', themes: [THEME.generic, THEME.material, THEME.fluent] },
- { demo: 'Routes', themes: [THEME.generic, THEME.material, THEME.fluent] },
+ // NOTE: Requires preload font, which not work in testcafe
+ { demo: 'SpiderWeb', themes: [THEME.material] },
],
+ // Gantt: ['TaskTemplate', 'Validation'],
+ Map: ['ProvidersAndTypes', 'Markers', 'Routes'],
},
Angular: {
+ Common: ['PopupAndNotificationsOverview'],
+ Gantt: ['TaskTemplate', 'Validation'],
DataGrid: [
- { demo: 'EditStateManagement', themes: [THEME.generic] },
+ // jQuery demo uses a different show-checkboxes mode
{ demo: 'MultipleRecordSelectionModes', themes: [THEME.fluent] },
- { demo: 'Toolbar', themes: [THEME.fluent, THEME.material] },
- { demo: 'SignalRService', themes: [THEME.fluent, THEME.material] },
- { demo: 'CellEditing', themes: [THEME.material] },
- { demo: 'MultipleRecordSelectionAPI', themes: [THEME.material] },
- { demo: 'RemoteGrouping', themes: [THEME.generic] },
- ],
- Charts: [
- { demo: 'Overview', themes: [THEME.material] },
- { demo: 'Strips', themes: [THEME.material] },
- { demo: 'Bubble', themes: [THEME.material] },
- { demo: 'PointImage', themes: [THEME.material] },
- { demo: 'BiDirectionalBarChart', themes: [THEME.material] },
- { demo: 'CustomizePointsAndLabels', themes: [THEME.material] },
- { demo: 'ClientSideDataProcessing', themes: [THEME.material] },
- { demo: 'ServerSideDataProcessing', themes: [THEME.material] },
- { demo: 'MultiplePointSelection', themes: [THEME.material] },
- { demo: 'EqualSizePies', themes: [THEME.material] },
- { demo: 'Selection', themes: [THEME.material] },
- { demo: 'CustomMapData', themes: [THEME.material] },
- { demo: 'MultipleSeriesSelection', themes: [THEME.material] },
- { demo: 'DiscreteAxisZoomingAndScrolling', themes: [THEME.material] },
- { demo: 'PointSelectionAPI', themes: [THEME.material] },
- { demo: 'SpiderWeb', themes: [THEME.material] }, // NOTE: Requires preload font, which not work in testcafe
- ],
- Map: [
- { demo: 'ProvidersAndTypes', themes: [THEME.generic, THEME.material, THEME.fluent] },
- { demo: 'Markers', themes: [THEME.generic, THEME.material, THEME.fluent] },
- { demo: 'Routes', themes: [THEME.generic, THEME.material, THEME.fluent] },
- ],
- PivotGrid: [
- { demo: 'Overview', themes: [THEME.material] },
- { demo: 'ChartIntegration', themes: [THEME.material] },
- ],
- TreeList: [
- { demo: 'BatchEditing', themes: [THEME.material] },
- { demo: 'RowEditing', themes: [THEME.material] },
- { demo: 'PopupEditing', themes: [THEME.material] },
- { demo: 'FormEditing', themes: [THEME.material] },
- { demo: 'CellEditing', themes: [THEME.material] },
- { demo: 'Resizing', themes: [THEME.material] },
- ],
- Gauges: [
- { demo: 'ScaleLabelFormatting', themes: [THEME.material] },
- { demo: 'RangeBarBaseValue', themes: [THEME.material] },
- { demo: 'DifferentValueIndicatorTypesLinearGauge', themes: [THEME.material] },
- { demo: 'SubvalueIndicatorTextFormatting', themes: [THEME.material] },
- { demo: 'DifferentValueIndicatorTypes', themes: [THEME.material] },
- ],
- RangeSelector: [
- { demo: 'DiscreteScale', themes: [THEME.material] },
- ],
- Gantt: [
- { demo: 'ContextMenu', themes: [THEME.material] },
- { demo: 'TaskTemplate', themes: [THEME.generic, THEME.material, THEME.fluent] },
- { demo: 'Validation', themes: [THEME.generic, THEME.material, THEME.fluent] },
- ],
- VectorMap: [
- { demo: 'Palette', themes: [THEME.material] },
- { demo: 'Overview', themes: [THEME.material] },
- { demo: 'PieMarkers', themes: [THEME.material] },
- { demo: 'Legend', themes: [THEME.material] },
- { demo: 'CustomAnnotations', themes: [THEME.material] },
- { demo: 'CustomProjection', themes: [THEME.material] },
- { demo: 'MultipleLayers', themes: [THEME.material] },
- { demo: 'TooltipsCustomization', themes: [THEME.material] },
- { demo: 'CustomMapData', themes: [THEME.material] },
+ { demo: 'SignalRService', themes: [THEME.fluent] },
],
+ Map: ['ProvidersAndTypes', 'Markers', 'Routes'],
},
React: {
- Charts: [
- { demo: 'EqualSizePies', themes: [THEME.material] },
- { demo: 'CustomAnnotations', themes: [THEME.material] },
- { demo: 'ClientSideDataProcessing', themes: [THEME.material] },
- { demo: 'ServerSideDataProcessing', themes: [THEME.material] },
- { demo: 'SubvalueIndicatorTextFormatting', themes: [THEME.material] },
- { demo: 'SpiderWeb', themes: [THEME.material] }, // NOTE: Requires preload font, which not work in testcafe
- ],
DataGrid: [
- { demo: 'SignalRService', themes: [THEME.material, THEME.fluent] },
- { demo: 'EditStateManagement', themes: [THEME.material] },
+ // jQuery demo uses a different show-checkboxes mode
{ demo: 'MultipleRecordSelectionModes', themes: [THEME.fluent] },
- { demo: 'Toolbar', themes: [THEME.fluent, THEME.material] },
- { demo: 'MultipleRecordSelectionAPI', themes: [THEME.material] },
- { demo: 'CellEditing', themes: [THEME.material] },
- ],
- TreeList: [
- { demo: 'Resizing', themes: [THEME.material] },
- { demo: 'Overview', themes: [THEME.material] },
- ],
- Gantt: [
- { demo: 'Validation', themes: [THEME.generic, THEME.material, THEME.fluent] },
- { demo: 'ContextMenu', themes: [THEME.material] },
+ { demo: 'Toolbar', themes: [THEME.fluent] },
+ { demo: 'SignalRService', themes: [THEME.fluent] },
],
Scheduler: [
// NOTE: 'GroupByDate' demo has problems with rendering
- { demo: 'GroupByDate', themes: [THEME.fluent, THEME.material] },
- ],
- List: [
- { demo: 'Search', themes: [THEME.material] },
- { demo: 'DragAndDrop', themes: [THEME.fluent, THEME.material] },
- ],
- Map: [
- { demo: 'ProvidersAndTypes', themes: [THEME.generic, THEME.material, THEME.fluent] },
- { demo: 'Markers', themes: [THEME.generic, THEME.material, THEME.fluent] },
- { demo: 'Routes', themes: [THEME.generic, THEME.material, THEME.fluent] },
- ],
- VectorMap: [
- { demo: 'Overview', themes: [THEME.material] },
- { demo: 'PieMarkers', themes: [THEME.material] },
- { demo: 'CustomAnnotations', themes: [THEME.material] },
- { demo: 'CustomMapData', themes: [THEME.material] },
- { demo: 'CustomProjection', themes: [THEME.material] },
- { demo: 'Legend', themes: [THEME.material] },
- { demo: 'MultipleLayers', themes: [THEME.material] },
- { demo: 'Palette', themes: [THEME.material] },
- { demo: 'TooltipsCustomization', themes: [THEME.material] },
- ],
- RangeSelector: [
- { demo: 'DiscreteScale', themes: [THEME.material] },
- { demo: 'Calculation', themes: [THEME.material] },
- ],
- PivotGrid: [
- { demo: 'ExcelJSCellCustomization', themes: [THEME.material] },
- { demo: 'Customization', themes: [THEME.material] },
- ],
- Gauges: [
- { demo: 'SubvalueIndicatorTextFormatting', themes: [THEME.material] },
- { demo: 'SubvalueIndicatorsRuntimeCustomization', themes: [THEME.material] },
- { demo: 'DifferentValueIndicatorTypesLinearGauge', themes: [THEME.material] },
- { demo: 'ScaleLabelFormatting', themes: [THEME.material] },
+ { demo: 'GroupByDate', themes: [THEME.fluent] },
],
+ Map: ['ProvidersAndTypes', 'Markers', 'Routes'],
+ Gantt: ['Validation'],
},
Vue: {
- Charts: [
- { demo: 'TilingAlgorithms', themes: [THEME.material] },
- { demo: 'ExportAndPrintingAPI', themes: [THEME.material] },
- { demo: 'DiscreteAxisZoomingAndScrolling', themes: [THEME.material] },
- { demo: 'Line', themes: [THEME.material] },
- { demo: 'Spline', themes: [THEME.material] },
- { demo: 'Colorization', themes: [THEME.material] },
- { demo: 'SignalRService', themes: [THEME.material] },
- { demo: 'PointsAggregation', themes: [THEME.material] },
- { demo: 'SubvalueIndicatorTextFormatting', themes: [THEME.material] },
- { demo: 'ResolveLabelOverlap', themes: [THEME.material] },
- { demo: 'ClientSideDataProcessing', themes: [THEME.material] },
- { demo: 'ServerSideDataProcessing', themes: [THEME.material] },
- { demo: 'EqualSizePies', themes: [THEME.material] },
- { demo: 'Palette', themes: [THEME.material] },
- { demo: 'SpiderWeb', themes: [THEME.material] }, // NOTE: Requires preload font, which not work in testcafe
- ],
+ Common: ['PopupAndNotificationsOverview'],
+ Charts: ['PointsAggregation'],
DataGrid: [
- { demo: 'SignalRService', themes: [THEME.fluent, THEME.material] },
- { demo: 'EditStateManagement', themes: [THEME.material] },
- { demo: 'Toolbar', themes: [THEME.fluent, THEME.material] },
+ // jQuery demo uses a different show-checkboxes mode
{ demo: 'MultipleRecordSelectionModes', themes: [THEME.fluent] },
- { demo: 'FilteringAPI', themes: [THEME.material] },
- { demo: 'Filtering', themes: [THEME.fluent] },
- { demo: 'MultipleRecordSelectionAPI', themes: [THEME.material] },
- { demo: 'DeferredSelection', themes: [THEME.material] },
- { demo: 'CellEditing', themes: [THEME.material] },
- { demo: 'PopupEditing', themes: [THEME.generic] },
- { demo: 'RecordPaging', themes: [THEME.generic] },
- ],
- FileManager: [
- { demo: 'BindingToFileSystem', themes: [THEME.material] },
- { demo: 'CustomThumbnails', themes: [THEME.generic] },
- ],
- FilterBuilder: [
- { demo: 'Customization', themes: [THEME.material] },
- ],
- TreeList: [
- { demo: 'Overview', themes: [THEME.material] },
- { demo: 'MultipleRowSelection', themes: [THEME.material] },
- { demo: 'Resizing', themes: [THEME.material] },
- ],
- Map: [
- { demo: 'ProvidersAndTypes', themes: [THEME.generic, THEME.material, THEME.fluent] },
- { demo: 'Markers', themes: [THEME.generic, THEME.material, THEME.fluent] },
- { demo: 'Routes', themes: [THEME.generic, THEME.material, THEME.fluent] },
- ],
- Gauges: [
- { demo: 'Overview', themes: [THEME.material] },
- { demo: 'SubvalueIndicatorsRuntimeCustomization', themes: [THEME.material] },
- { demo: 'ScaleLabelFormatting', themes: [THEME.material] },
- { demo: 'SubvalueIndicatorTextFormatting', themes: [THEME.material] },
- { demo: 'DifferentValueIndicatorTypes', themes: [THEME.material] },
- { demo: 'DifferentValueIndicatorTypesLinearGauge', themes: [THEME.material] },
- ],
- RangeSelector: [
- { demo: 'Calculation', themes: [THEME.material] },
- { demo: 'DiscreteScale', themes: [THEME.material] },
- ],
- PivotGrid: [
- { demo: 'Overview', themes: [THEME.material] },
- { demo: 'Customization', themes: [THEME.material] },
- ],
- VectorMap: [
- { demo: 'CustomProjection', themes: [THEME.material] },
- { demo: 'Spline', themes: [THEME.material] },
- { demo: 'CustomAnnotations', themes: [THEME.material] },
- { demo: 'Palette', themes: [THEME.material] },
- { demo: 'Overview', themes: [THEME.material] },
- { demo: 'PieMarkers', themes: [THEME.material] },
- { demo: 'TooltipsCustomization', themes: [THEME.material] },
- { demo: 'MultipleLayers', themes: [THEME.material] },
- { demo: 'CustomMapData', themes: [THEME.material] },
- { demo: 'Legend', themes: [THEME.material] },
- ],
- Gantt: [
- { demo: 'ContextMenu', themes: [THEME.material] },
- { demo: 'Validation', themes: [THEME.generic, THEME.material, THEME.fluent] },
- { demo: 'TaskTemplate', themes: [THEME.generic, THEME.material, THEME.fluent] },
+ { demo: 'SignalRService', themes: [THEME.fluent] },
],
- Pagination: ['Overview'],
+ Map: ['ProvidersAndTypes', 'Markers', 'Routes'],
+ Gantt: ['Validation'],
},
};
diff --git a/apps/demos/testing/widgets/charts/etalons/charts_drag (fluent.blue.light)_mask.png b/apps/demos/testing/widgets/charts/etalons/charts_drag (fluent.blue.light)_mask.png
new file mode 100644
index 000000000000..f2b6fd941dfa
Binary files /dev/null and b/apps/demos/testing/widgets/charts/etalons/charts_drag (fluent.blue.light)_mask.png differ
diff --git a/apps/demos/testing/widgets/charts/etalons/charts_drag_mask.png b/apps/demos/testing/widgets/charts/etalons/charts_drag_mask.png
new file mode 100644
index 000000000000..62a984875634
Binary files /dev/null and b/apps/demos/testing/widgets/charts/etalons/charts_drag_mask.png differ
diff --git a/apps/demos/testing/widgets/common/etalons/common_editor_appearance_variants_outlined_static_desktop (fluent.blue.light).png b/apps/demos/testing/widgets/common/etalons/common_editor_appearance_variants_outlined_static_desktop (fluent.blue.light).png
index 10c9d675237e..7ff3bf938a41 100644
Binary files a/apps/demos/testing/widgets/common/etalons/common_editor_appearance_variants_outlined_static_desktop (fluent.blue.light).png and b/apps/demos/testing/widgets/common/etalons/common_editor_appearance_variants_outlined_static_desktop (fluent.blue.light).png differ
diff --git a/apps/demos/testing/widgets/datagrid/etalons/datagrid_advanced_master_detail_view_4_desktop (fluent.blue.light).png b/apps/demos/testing/widgets/datagrid/etalons/datagrid_advanced_master_detail_view_4_desktop (fluent.blue.light).png
index cb53a92bd9c7..c7cd2bce223d 100644
Binary files a/apps/demos/testing/widgets/datagrid/etalons/datagrid_advanced_master_detail_view_4_desktop (fluent.blue.light).png and b/apps/demos/testing/widgets/datagrid/etalons/datagrid_advanced_master_detail_view_4_desktop (fluent.blue.light).png differ
diff --git a/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_insert_row_1_desktop (fluent.blue.light).png b/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_insert_row_1_desktop (fluent.blue.light).png
index e09e5282bf54..cfeed1128d55 100644
Binary files a/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_insert_row_1_desktop (fluent.blue.light).png and b/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_insert_row_1_desktop (fluent.blue.light).png differ
diff --git a/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_insert_row_1_desktop (material.blue.light).png b/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_insert_row_1_desktop (material.blue.light).png
index 53eb1e283c07..679516fea130 100644
Binary files a/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_insert_row_1_desktop (material.blue.light).png and b/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_insert_row_1_desktop (material.blue.light).png differ
diff --git a/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_insert_row_2_desktop (fluent.blue.light).png b/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_insert_row_2_desktop (fluent.blue.light).png
index ec90a49a8f42..455ffdd55f1f 100644
Binary files a/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_insert_row_2_desktop (fluent.blue.light).png and b/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_insert_row_2_desktop (fluent.blue.light).png differ
diff --git a/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_insert_row_2_desktop (material.blue.light).png b/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_insert_row_2_desktop (material.blue.light).png
index 46f8596dac67..977d7c316084 100644
Binary files a/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_insert_row_2_desktop (material.blue.light).png and b/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_insert_row_2_desktop (material.blue.light).png differ
diff --git a/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_insert_row_3_desktop (fluent.blue.light).png b/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_insert_row_3_desktop (fluent.blue.light).png
new file mode 100644
index 000000000000..199209fd0854
Binary files /dev/null and b/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_insert_row_3_desktop (fluent.blue.light).png differ
diff --git a/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_insert_row_3_desktop (material.blue.light).png b/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_insert_row_3_desktop (material.blue.light).png
new file mode 100644
index 000000000000..c6bbfed49965
Binary files /dev/null and b/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_insert_row_3_desktop (material.blue.light).png differ
diff --git a/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_insert_row_4_desktop (fluent.blue.light).png b/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_insert_row_4_desktop (fluent.blue.light).png
new file mode 100644
index 000000000000..23d3f4c3c065
Binary files /dev/null and b/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_insert_row_4_desktop (fluent.blue.light).png differ
diff --git a/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_insert_row_4_desktop (material.blue.light).png b/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_insert_row_4_desktop (material.blue.light).png
new file mode 100644
index 000000000000..64315cd44e9a
Binary files /dev/null and b/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_insert_row_4_desktop (material.blue.light).png differ
diff --git a/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_insert_row_4_desktop (material.blue.light)_mask.png b/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_insert_row_4_desktop (material.blue.light)_mask.png
new file mode 100644
index 000000000000..85ed121e7d39
Binary files /dev/null and b/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_insert_row_4_desktop (material.blue.light)_mask.png differ
diff --git a/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_insert_row_4_desktop_mask.png b/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_insert_row_4_desktop_mask.png
index cb3a880a82b5..7822f6d56d27 100644
Binary files a/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_insert_row_4_desktop_mask.png and b/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_insert_row_4_desktop_mask.png differ
diff --git a/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_insert_row_5_desktop (fluent.blue.light).png b/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_insert_row_5_desktop (fluent.blue.light).png
new file mode 100644
index 000000000000..199209fd0854
Binary files /dev/null and b/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_insert_row_5_desktop (fluent.blue.light).png differ
diff --git a/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_insert_row_5_desktop (material.blue.light).png b/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_insert_row_5_desktop (material.blue.light).png
new file mode 100644
index 000000000000..c6bbfed49965
Binary files /dev/null and b/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_insert_row_5_desktop (material.blue.light).png differ
diff --git a/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_insert_row_5_desktop_mask.png b/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_insert_row_5_desktop_mask.png
deleted file mode 100644
index abac4dececee..000000000000
Binary files a/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_insert_row_5_desktop_mask.png and /dev/null differ
diff --git a/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_insert_row_6_desktop (fluent.blue.light).png b/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_insert_row_6_desktop (fluent.blue.light).png
new file mode 100644
index 000000000000..5fad7536ec0a
Binary files /dev/null and b/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_insert_row_6_desktop (fluent.blue.light).png differ
diff --git a/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_insert_row_6_desktop (material.blue.light).png b/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_insert_row_6_desktop (material.blue.light).png
new file mode 100644
index 000000000000..efb74cdcfae6
Binary files /dev/null and b/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_insert_row_6_desktop (material.blue.light).png differ
diff --git a/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_remove_row_1_desktop (fluent.blue.light).png b/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_remove_row_1_desktop (fluent.blue.light).png
new file mode 100644
index 000000000000..30d34125a404
Binary files /dev/null and b/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_remove_row_1_desktop (fluent.blue.light).png differ
diff --git a/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_remove_row_1_desktop (material.blue.light).png b/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_remove_row_1_desktop (material.blue.light).png
new file mode 100644
index 000000000000..969c3f41bf20
Binary files /dev/null and b/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_remove_row_1_desktop (material.blue.light).png differ
diff --git a/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_remove_row_2_desktop (fluent.blue.light).png b/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_remove_row_2_desktop (fluent.blue.light).png
new file mode 100644
index 000000000000..8099a013b1f5
Binary files /dev/null and b/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_remove_row_2_desktop (fluent.blue.light).png differ
diff --git a/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_remove_row_2_desktop (material.blue.light).png b/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_remove_row_2_desktop (material.blue.light).png
new file mode 100644
index 000000000000..c9c06a440f18
Binary files /dev/null and b/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_remove_row_2_desktop (material.blue.light).png differ
diff --git a/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_update_row_1_desktop (fluent.blue.light).png b/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_update_row_1_desktop (fluent.blue.light).png
new file mode 100644
index 000000000000..816ebc1984f2
Binary files /dev/null and b/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_update_row_1_desktop (fluent.blue.light).png differ
diff --git a/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_update_row_1_desktop (material.blue.light).png b/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_update_row_1_desktop (material.blue.light).png
new file mode 100644
index 000000000000..3c536fd01f1c
Binary files /dev/null and b/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_update_row_1_desktop (material.blue.light).png differ
diff --git a/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_update_row_1_desktop_mask.png b/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_update_row_1_desktop_mask.png
deleted file mode 100644
index ccf60a8ac4e8..000000000000
Binary files a/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_update_row_1_desktop_mask.png and /dev/null differ
diff --git a/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_update_row_2_desktop (fluent.blue.light).png b/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_update_row_2_desktop (fluent.blue.light).png
new file mode 100644
index 000000000000..19b37e2cfdb2
Binary files /dev/null and b/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_update_row_2_desktop (fluent.blue.light).png differ
diff --git a/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_update_row_2_desktop (material.blue.light).png b/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_update_row_2_desktop (material.blue.light).png
new file mode 100644
index 000000000000..38bbd967dddd
Binary files /dev/null and b/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_update_row_2_desktop (material.blue.light).png differ
diff --git a/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_update_row_2_desktop_mask.png b/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_update_row_2_desktop_mask.png
deleted file mode 100644
index 4600c0d44a54..000000000000
Binary files a/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_update_row_2_desktop_mask.png and /dev/null differ
diff --git a/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_update_row_3_desktop (fluent.blue.light).png b/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_update_row_3_desktop (fluent.blue.light).png
new file mode 100644
index 000000000000..199209fd0854
Binary files /dev/null and b/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_update_row_3_desktop (fluent.blue.light).png differ
diff --git a/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_update_row_3_desktop (material.blue.light).png b/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_update_row_3_desktop (material.blue.light).png
new file mode 100644
index 000000000000..c6bbfed49965
Binary files /dev/null and b/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_update_row_3_desktop (material.blue.light).png differ
diff --git a/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_update_row_4_desktop (fluent.blue.light).png b/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_update_row_4_desktop (fluent.blue.light).png
new file mode 100644
index 000000000000..19b37e2cfdb2
Binary files /dev/null and b/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_update_row_4_desktop (fluent.blue.light).png differ
diff --git a/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_update_row_4_desktop (material.blue.light).png b/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_update_row_4_desktop (material.blue.light).png
new file mode 100644
index 000000000000..38bbd967dddd
Binary files /dev/null and b/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_update_row_4_desktop (material.blue.light).png differ
diff --git a/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_update_row_4_desktop_mask.png b/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_update_row_4_desktop_mask.png
deleted file mode 100644
index 4600c0d44a54..000000000000
Binary files a/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_update_row_4_desktop_mask.png and /dev/null differ
diff --git a/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_update_row_5_desktop (fluent.blue.light).png b/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_update_row_5_desktop (fluent.blue.light).png
new file mode 100644
index 000000000000..44578086282d
Binary files /dev/null and b/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_update_row_5_desktop (fluent.blue.light).png differ
diff --git a/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_update_row_5_desktop (material.blue.light).png b/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_update_row_5_desktop (material.blue.light).png
new file mode 100644
index 000000000000..b375943ba588
Binary files /dev/null and b/apps/demos/testing/widgets/datagrid/etalons/datagrid_edit_state_management_update_row_5_desktop (material.blue.light).png differ
diff --git a/apps/demos/testing/widgets/datagrid/etalons/datagrid_multiple_record_selection_and_API_2_desktop (fluent.blue.light).png b/apps/demos/testing/widgets/datagrid/etalons/datagrid_multiple_record_selection_and_API_2_desktop (fluent.blue.light).png
index f61feeba3f56..301d008e8c1d 100644
Binary files a/apps/demos/testing/widgets/datagrid/etalons/datagrid_multiple_record_selection_and_API_2_desktop (fluent.blue.light).png and b/apps/demos/testing/widgets/datagrid/etalons/datagrid_multiple_record_selection_and_API_2_desktop (fluent.blue.light).png differ
diff --git a/apps/demos/testing/widgets/datagrid/etalons/datagrid_multiple_record_selection_and_API_4_desktop (fluent.blue.light).png b/apps/demos/testing/widgets/datagrid/etalons/datagrid_multiple_record_selection_and_API_4_desktop (fluent.blue.light).png
index 421a7ac9dd0b..4a20fd1da751 100644
Binary files a/apps/demos/testing/widgets/datagrid/etalons/datagrid_multiple_record_selection_and_API_4_desktop (fluent.blue.light).png and b/apps/demos/testing/widgets/datagrid/etalons/datagrid_multiple_record_selection_and_API_4_desktop (fluent.blue.light).png differ
diff --git a/apps/demos/testing/widgets/datagrid/etalons/datagrid_row_editing_and_editing_events_2_desktop (fluent.blue.light).png b/apps/demos/testing/widgets/datagrid/etalons/datagrid_row_editing_and_editing_events_2_desktop (fluent.blue.light).png
new file mode 100644
index 000000000000..66420b7ac90f
Binary files /dev/null and b/apps/demos/testing/widgets/datagrid/etalons/datagrid_row_editing_and_editing_events_2_desktop (fluent.blue.light).png differ
diff --git a/apps/demos/testing/widgets/datagrid/etalons/datagrid_row_editing_and_editing_events_3_desktop (fluent.blue.light).png b/apps/demos/testing/widgets/datagrid/etalons/datagrid_row_editing_and_editing_events_3_desktop (fluent.blue.light).png
new file mode 100644
index 000000000000..8f7b095d2f66
Binary files /dev/null and b/apps/demos/testing/widgets/datagrid/etalons/datagrid_row_editing_and_editing_events_3_desktop (fluent.blue.light).png differ
diff --git a/apps/demos/testing/widgets/datagrid/etalons/datagrid_row_editing_and_editing_events_4_desktop (fluent.blue.light).png b/apps/demos/testing/widgets/datagrid/etalons/datagrid_row_editing_and_editing_events_4_desktop (fluent.blue.light).png
new file mode 100644
index 000000000000..416601506cff
Binary files /dev/null and b/apps/demos/testing/widgets/datagrid/etalons/datagrid_row_editing_and_editing_events_4_desktop (fluent.blue.light).png differ
diff --git a/apps/demos/testing/widgets/datagrid/etalons/datagrid_row_editing_and_editing_events_5_desktop (fluent.blue.light).png b/apps/demos/testing/widgets/datagrid/etalons/datagrid_row_editing_and_editing_events_5_desktop (fluent.blue.light).png
new file mode 100644
index 000000000000..3212cfa029ec
Binary files /dev/null and b/apps/demos/testing/widgets/datagrid/etalons/datagrid_row_editing_and_editing_events_5_desktop (fluent.blue.light).png differ
diff --git a/apps/demos/testing/widgets/datagrid/etalons/datagrid_row_editing_and_editing_events_6_desktop (fluent.blue.light).png b/apps/demos/testing/widgets/datagrid/etalons/datagrid_row_editing_and_editing_events_6_desktop (fluent.blue.light).png
new file mode 100644
index 000000000000..416601506cff
Binary files /dev/null and b/apps/demos/testing/widgets/datagrid/etalons/datagrid_row_editing_and_editing_events_6_desktop (fluent.blue.light).png differ
diff --git a/apps/demos/testing/widgets/datagrid/etalons/datagrid_row_editing_and_editing_events_7_desktop (fluent.blue.light).png b/apps/demos/testing/widgets/datagrid/etalons/datagrid_row_editing_and_editing_events_7_desktop (fluent.blue.light).png
new file mode 100644
index 000000000000..377b46f987b1
Binary files /dev/null and b/apps/demos/testing/widgets/datagrid/etalons/datagrid_row_editing_and_editing_events_7_desktop (fluent.blue.light).png differ
diff --git a/apps/demos/testing/widgets/datagrid/etalons/datagrid_row_editing_and_editing_events_8_desktop (fluent.blue.light).png b/apps/demos/testing/widgets/datagrid/etalons/datagrid_row_editing_and_editing_events_8_desktop (fluent.blue.light).png
new file mode 100644
index 000000000000..a40e70a61677
Binary files /dev/null and b/apps/demos/testing/widgets/datagrid/etalons/datagrid_row_editing_and_editing_events_8_desktop (fluent.blue.light).png differ
diff --git a/apps/demos/testing/widgets/list/etalons/List after change selectionMode to multiple (material.blue.light).png b/apps/demos/testing/widgets/list/etalons/List after change selectionMode to multiple (material.blue.light).png
index 51f7428b6eb1..63fd76b16d86 100644
Binary files a/apps/demos/testing/widgets/list/etalons/List after change selectionMode to multiple (material.blue.light).png and b/apps/demos/testing/widgets/list/etalons/List after change selectionMode to multiple (material.blue.light).png differ
diff --git a/apps/demos/utils/axe-reporter/reporter.ts b/apps/demos/utils/axe-reporter/reporter.ts
index 45346d96b762..2d6eba23e505 100644
--- a/apps/demos/utils/axe-reporter/reporter.ts
+++ b/apps/demos/utils/axe-reporter/reporter.ts
@@ -33,7 +33,7 @@ function simplifyResults(r) {
export function createMdReport({ testName, results }) {
// eslint-disable-next-line max-len
- const mdString = mustache.render(template, { testName, results: simplifyResults(results) });
+ const mdString = mustache?.render(template, { testName, results: simplifyResults(results) }) || '';
if (!existsSync(reportDir)) {
mkdirSync(reportDir, { recursive: true });
diff --git a/apps/demos/utils/visual-tests/matrix-test-helper.ts b/apps/demos/utils/visual-tests/matrix-test-helper.ts
index b355f237fe68..07f295edd697 100644
--- a/apps/demos/utils/visual-tests/matrix-test-helper.ts
+++ b/apps/demos/utils/visual-tests/matrix-test-helper.ts
@@ -1,6 +1,6 @@
import { readFileSync, existsSync, writeFileSync } from 'fs';
import { join } from 'path';
-import { ClientFunction, Selector } from 'testcafe';
+import { ClientFunction } from 'testcafe';
import { THEME } from './helpers/theme-utils';
import { gitHubIgnored } from './github-ignored-list';
@@ -201,14 +201,15 @@ export function shouldRunTestAtIndex(testIndex) {
const SKIPPED_TESTS = {
jQuery: {
Charts: [
+ { demo: 'Overview', themes: [THEME.material] },
+ { demo: 'AreaSelectionZooming', themes: [THEME.material] },
{ demo: 'ZoomingAndScrollingAPI', themes: [THEME.material] },
{ demo: 'TooltipCustomization', themes: [THEME.material] },
{ demo: 'LegendMarkersCustomization', themes: [THEME.material] },
+ { demo: 'PieResolveLabelOverlap', themes: [THEME.material] },
],
DataGrid: [
{ demo: 'CellEditing', themes: [THEME.material] },
- // This test works only in simulated scrolling strategy!
- { demo: 'EditStateManagement', themes: [THEME.fluent, THEME.material] },
{ demo: 'MultipleRecordSelectionAPI', themes: [THEME.material] },
// Scroll to const value. Not enough for other themes, because the height of elements is different.
{ demo: 'RemoteGrouping', themes: [THEME.fluent, THEME.material] },
@@ -225,143 +226,25 @@ const SKIPPED_TESTS = {
]
},
Angular: {
- Common: [
- { demo: 'PopupAndNotificationsOverview', themes: [THEME.generic, THEME.material, THEME.fluent] },
- ],
- Charts: [
- { demo: 'Overview', themes: [THEME.material] },
- { demo: 'Crosshair', themes: [THEME.material] },
- { demo: 'CustomAnnotations', themes: [THEME.material] },
- { demo: 'LoadDataOnDemand', themes: [THEME.material] },
- { demo: 'LegendMarkersCustomization', themes: [THEME.material] },
- { demo: 'PieResolveLabelOverlap', themes: [THEME.material] },
- { demo: 'ZoomingAndScrollingAPI', themes: [THEME.material] },
- { demo: 'AreaSelectionZooming', themes: [THEME.material] },
- { demo: 'TooltipCustomization', themes: [THEME.material] },
- { demo: 'ExportCustomMarkup', themes: [THEME.material] },
- { demo: 'PopupEditing', themes: [THEME.material] },
- ],
- DataGrid: [
- { demo: 'Appearance', themes: [THEME.generic, THEME.material, THEME.fluent] },
- { demo: 'AdvancedMasterDetailView', themes: [THEME.generic, THEME.material, THEME.fluent] },
- { demo: 'BatchEditing', themes: [THEME.generic, THEME.material, THEME.fluent] },
- { demo: 'AjaxRequest', themes: [THEME.generic, THEME.material, THEME.fluent] },
- { demo: 'InfiniteScrolling', themes: [THEME.generic, THEME.material, THEME.fluent] },
- { demo: 'MasterDetailView', themes: [THEME.generic, THEME.material, THEME.fluent] },
- { demo: 'SimpleArray', themes: [THEME.generic, THEME.material, THEME.fluent] },
- { demo: 'MasterDetailAPI', themes: [THEME.generic, THEME.material, THEME.fluent] },
- { demo: 'DataValidation', themes: [THEME.generic, THEME.material, THEME.fluent] },
- { demo: 'MultipleSorting', themes: [THEME.generic, THEME.material, THEME.fluent] },
- { demo: 'OdataService', themes: [THEME.generic, THEME.material, THEME.fluent] },
- { demo: 'NewRecordPosition', themes: [THEME.generic, THEME.material, THEME.fluent] },
- { demo: 'Filtering', themes: [THEME.generic, THEME.material, THEME.fluent] },
- { demo: 'FilteringAPI', themes: [THEME.generic, THEME.material, THEME.fluent] },
- { demo: 'GroupSummaries', themes: [THEME.generic, THEME.material, THEME.fluent] },
- { demo: 'RecordPaging', themes: [THEME.generic, THEME.material, THEME.fluent] },
- { demo: 'RowSelection', themes: [THEME.generic, THEME.material, THEME.fluent] },
- { demo: 'MultipleSelection', themes: [THEME.material, THEME.fluent] },
- { demo: 'CellEditing', themes: [THEME.generic, THEME.fluent, THEME.material] },
- { demo: 'MultipleRecordSelectionAPI', themes: [THEME.generic, THEME.fluent, THEME.material] },
- { demo: 'RemoteGrouping', themes: [THEME.generic, THEME.fluent, THEME.material] },
- { demo: 'RowEditing', themes: [THEME.generic, THEME.fluent, THEME.material] },
- { demo: 'EditStateManagement', themes: [THEME.generic, THEME.fluent, THEME.material] },
- { demo: 'RecordGrouping', themes: [THEME.generic, THEME.material, THEME.fluent] },
- { demo: 'Toolbar', themes: [THEME.generic, THEME.material, THEME.fluent] },
- { demo: 'StatePersistence', themes: [THEME.generic, THEME.fluent, THEME.material] },
- ],
- Scheduler: [
- // NOTE: Context menu appearance is different in comparison to other frameworks
- { demo: 'ContextMenu', themes: [THEME.generic, THEME.fluent, THEME.material] },
- ],
- Sortable: [
- { demo: 'Kanban', themes: [THEME.generic, THEME.material, THEME.fluent] },
- ],
- PivotGrid: [
- { demo: 'IntegratedFieldChooser', themes: [THEME.generic, THEME.material, THEME.fluent] },
- ],
- FileUploader: [
- { demo: 'CustomDropzone', themes: [THEME.generic, THEME.material, THEME.fluent] },
- ],
- VectorMap: [
- { demo: 'TooltipsCustomization', themes: [THEME.material] },
- ],
+ DataGrid: ['EditStateManagement', 'Toolbar', 'RemoteGrouping'],
+ Scheduler: ['ContextMenu'],
+ FileUploader: ['CustomDropzone']
},
Vue: {
- Common: [
- { demo: 'PopupAndNotificationsOverview', themes: [THEME.generic, THEME.material, THEME.fluent] },
- ],
- Charts: [
- { demo: 'Overview', themes: [THEME.material] },
- { demo: 'ZoomingAndScrollingAPI', themes: [THEME.material] },
- { demo: 'AreaSelectionZooming', themes: [THEME.material] },
- { demo: 'LegendMarkersCustomization', themes: [THEME.material] },
- { demo: 'CustomAnnotations', themes: [THEME.material] },
- { demo: 'PieResolveLabelOverlap', themes: [THEME.material] },
- { demo: 'Crosshair', themes: [THEME.material] },
- ],
- VectorMap: [
- { demo: 'TooltipsCustomization', themes: [THEME.material] },
- ],
- DataGrid: [
- { demo: 'BatchEditing', themes: [THEME.fluent] },
- { demo: 'NewRecordPosition', themes: [THEME.fluent] },
- { demo: 'CellEditing', themes: [THEME.fluent, THEME.material] },
- { demo: 'MultipleRecordSelectionAPI', themes: [THEME.fluent, THEME.material] },
- { demo: 'RemoteGrouping', themes: [THEME.fluent, THEME.material] },
- { demo: 'RowEditing', themes: [THEME.generic, THEME.fluent, THEME.material] },
- { demo: 'EditStateManagement', themes: [THEME.generic, THEME.fluent, THEME.material] },
- { demo: 'FilteringAPI', themes: [THEME.material] },
- { demo: 'PopupEditing', themes: [THEME.generic] },
- { demo: 'Toolbar', themes: [THEME.generic, THEME.fluent, THEME.material] },
- { demo: 'StatePersistence', themes: [THEME.generic, THEME.fluent, THEME.material] },
- ],
- FileUploader: [
- { demo: 'CustomDropzone', themes: [THEME.generic, THEME.material, THEME.fluent] },
- ],
+ Common: ['PopupAndNotificationsOverview'],
Scheduler: [
- // NOTE: Context menu item position is different across themes
- { demo: 'ContextMenu', themes: [THEME.generic, THEME.fluent, THEME.material] },
+ // NOTE: Context menu item position is different across themes
+ { demo: 'ContextMenu', themes: [THEME.fluent] },
],
+ DataGrid: ['EditStateManagement', 'Toolbar', 'RemoteGrouping'],
+ FileUploader: ['CustomDropzone']
},
React: {
- Common: [
- { demo: 'PopupAndNotificationsOverview', themes: [THEME.generic, THEME.material, THEME.fluent] },
- ],
- Charts: [
- { demo: 'Overview', themes: [THEME.material] },
- { demo: 'PieResolveLabelOverlap', themes: [THEME.material] },
- { demo: 'ZoomingAndScrollingAPI', themes: [THEME.material] },
- { demo: 'Crosshair', themes: [THEME.material] },
- { demo: 'CustomAnnotations', themes: [THEME.material] },
- { demo: 'LegendMarkersCustomization', themes: [THEME.material] },
- ],
- DataGrid: [
- { demo: 'BatchEditing', themes: [THEME.fluent] },
- { demo: 'NewRecordPosition', themes: [THEME.fluent] },
- { demo: 'CellEditing', themes: [THEME.fluent, THEME.material] },
- { demo: 'MultipleRecordSelectionAPI', themes: [THEME.fluent, THEME.material] },
- { demo: 'RemoteGrouping', themes: [THEME.fluent, THEME.material] },
- { demo: 'RowEditing', themes: [THEME.generic, THEME.fluent, THEME.material] },
- { demo: 'EditStateManagement', themes: [THEME.generic, THEME.fluent, THEME.material] },
- { demo: 'Filtering', themes: [THEME.fluent, THEME.material] },
- { demo: 'RecordGrouping', themes: [THEME.material] },
- { demo: 'Toolbar', themes: [THEME.generic, THEME.fluent, THEME.material] },
- { demo: 'StatePersistence', themes: [THEME.generic, THEME.fluent, THEME.material] },
- ],
Scheduler: [
- // NOTE: Context menu item position is different across themes
- { demo: 'ContextMenu', themes: [THEME.generic, THEME.fluent, THEME.material] },
- ],
- FileUploader: [
- { demo: 'CustomDropzone', themes: [THEME.generic, THEME.material, THEME.fluent] },
- ],
- Form: [
- // Flaky issue: Source image size does not match target size
- { demo: 'ItemCustomization', themes: [THEME.generic] },
- ],
- VectorMap: [
- { demo: 'TooltipsCustomization', themes: [THEME.material] },
+ { demo: 'ContextMenu', themes: [THEME.fluent] },
],
+ DataGrid: ['EditStateManagement', 'Toolbar', 'RemoteGrouping'],
+ FileUploader: ['CustomDropzone']
},
};
diff --git a/e2e/testcafe-devextreme/tests/editors/overlays/etalons/Popover_bottom_toolbar_menu,rtlEnabled=true (material-blue-light).png b/e2e/testcafe-devextreme/tests/editors/overlays/etalons/Popover_bottom_toolbar_menu,rtlEnabled=true (material-blue-light).png
index d5846d4e606e..f1c075d04ad0 100644
Binary files a/e2e/testcafe-devextreme/tests/editors/overlays/etalons/Popover_bottom_toolbar_menu,rtlEnabled=true (material-blue-light).png and b/e2e/testcafe-devextreme/tests/editors/overlays/etalons/Popover_bottom_toolbar_menu,rtlEnabled=true (material-blue-light).png differ
diff --git a/e2e/testcafe-devextreme/tests/editors/overlays/etalons/Popover_top_toolbar_menu,rtlEnabled=false (material-blue-light).png b/e2e/testcafe-devextreme/tests/editors/overlays/etalons/Popover_top_toolbar_menu,rtlEnabled=false (material-blue-light).png
index d94f32f38642..277fd0672390 100644
Binary files a/e2e/testcafe-devextreme/tests/editors/overlays/etalons/Popover_top_toolbar_menu,rtlEnabled=false (material-blue-light).png and b/e2e/testcafe-devextreme/tests/editors/overlays/etalons/Popover_top_toolbar_menu,rtlEnabled=false (material-blue-light).png differ
diff --git a/e2e/testcafe-devextreme/tests/editors/overlays/etalons/Popup_top_toolbar_menu,rtlEnabled=true (material-blue-light).png b/e2e/testcafe-devextreme/tests/editors/overlays/etalons/Popup_top_toolbar_menu,rtlEnabled=true (material-blue-light).png
index a371d0d0d8c0..f69e6f874689 100644
Binary files a/e2e/testcafe-devextreme/tests/editors/overlays/etalons/Popup_top_toolbar_menu,rtlEnabled=true (material-blue-light).png and b/e2e/testcafe-devextreme/tests/editors/overlays/etalons/Popup_top_toolbar_menu,rtlEnabled=true (material-blue-light).png differ
diff --git a/e2e/testcafe-devextreme/tests/editors/overlays/toolbarIntegration.ts b/e2e/testcafe-devextreme/tests/editors/overlays/toolbarIntegration.ts
index b577e9925d09..79638d362b3e 100644
--- a/e2e/testcafe-devextreme/tests/editors/overlays/toolbarIntegration.ts
+++ b/e2e/testcafe-devextreme/tests/editors/overlays/toolbarIntegration.ts
@@ -8,7 +8,7 @@ import url from '../../../helpers/getPageUrl';
import { createWidget } from '../../../helpers/createWidget';
import { safeSizeTest } from '../../../helpers/safeSizeTest';
-fixture`Popup_toolbar`
+fixture.disablePageReloads`Popup_toolbar`
.page(url(__dirname, '../../container.html'));
const COMPONENT_SELECTOR = '#container';
diff --git a/e2e/testcafe-devextreme/tests/treeList/selection.ts b/e2e/testcafe-devextreme/tests/treeList/selection.ts
index 7af582d19262..0d2cbe1feaa5 100644
--- a/e2e/testcafe-devextreme/tests/treeList/selection.ts
+++ b/e2e/testcafe-devextreme/tests/treeList/selection.ts
@@ -6,7 +6,7 @@ import url from '../../helpers/getPageUrl';
import { createWidget } from '../../helpers/createWidget';
import { tasksApiMock } from './apiMocks/tasksApiMock';
-fixture`Selection`
+fixture.disablePageReloads`Selection`
.page(url(__dirname, '../container.html'));
// T1109666