Test header

diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/T1257970-datagrid-menu-icon-contrast (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/T1257970-datagrid-menu-icon-contrast (fluent-next.blue.light).png new file mode 100644 index 000000000000..064d63bc428e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/T1257970-datagrid-menu-icon-contrast (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/T1286345-datagrid-menu-icon-when-focused (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/T1286345-datagrid-menu-icon-when-focused (fluent-next.blue.light).png new file mode 100644 index 000000000000..0c2944c43197 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/T1286345-datagrid-menu-icon-when-focused (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/adaptive-row (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/adaptive-row (fluent-next.blue.light).png new file mode 100644 index 000000000000..1b393d6f877c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/adaptive-row (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/batch-editing-mode-edit_cell (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/batch-editing-mode-edit_cell (fluent-next.blue.light).png new file mode 100644 index 000000000000..3a9fbf23df2b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/batch-editing-mode-edit_cell (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/context-menu (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/context-menu (fluent-next.blue.light).png new file mode 100644 index 000000000000..82766b0c99ad Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/context-menu (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/error-row (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/error-row (fluent-next.blue.light).png new file mode 100644 index 000000000000..e352d29e565d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/error-row (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/export-button (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/export-button (fluent-next.blue.light).png new file mode 100644 index 000000000000..d2d911f2eeb4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/export-button (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/filter-builder (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/filter-builder (fluent-next.blue.light).png new file mode 100644 index 000000000000..8de1f58fd05e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/filter-builder (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/filter-panel (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/filter-panel (fluent-next.blue.light).png new file mode 100644 index 000000000000..a5832c5b87fd Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/filter-panel (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/filter-row-menu (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/filter-row-menu (fluent-next.blue.light).png new file mode 100644 index 000000000000..b32c63c18e5f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/filter-row-menu (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/fixed-columns (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/fixed-columns (fluent-next.blue.light).png new file mode 100644 index 000000000000..26e89015834f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/fixed-columns (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/focused-row (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/focused-row (fluent-next.blue.light).png new file mode 100644 index 000000000000..360a6ebf381f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/focused-row (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/form-editing-mode (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/form-editing-mode (fluent-next.blue.light).png new file mode 100644 index 000000000000..f6068dcdc664 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/form-editing-mode (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/grouping-and-summary (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/grouping-and-summary (fluent-next.blue.light).png new file mode 100644 index 000000000000..59a2806bd686 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/grouping-and-summary (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/header-filter-menu (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/header-filter-menu (fluent-next.blue.light).png new file mode 100644 index 000000000000..8ba3cc42c195 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/header-filter-menu (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/no-data (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/no-data (fluent-next.blue.light).png new file mode 100644 index 000000000000..d4db36d87710 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/no-data (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/paging-compact-display-mode (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/paging-compact-display-mode (fluent-next.blue.light).png new file mode 100644 index 000000000000..99ed92b00389 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/paging-compact-display-mode (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/paging-full-display-mode (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/paging-full-display-mode (fluent-next.blue.light).png new file mode 100644 index 000000000000..473419c7dfdb Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/paging-full-display-mode (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/popup-editing-mode (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/popup-editing-mode (fluent-next.blue.light).png new file mode 100644 index 000000000000..ba219442a12f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/popup-editing-mode (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/row-drag-and-drop (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/row-drag-and-drop (fluent-next.blue.light).png new file mode 100644 index 000000000000..1919e5e0d650 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/row-drag-and-drop (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/row-edit-state-with-useIcons=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/row-edit-state-with-useIcons=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..9935a2bc8636 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/row-edit-state-with-useIcons=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/row-edit-state-with-useIcons=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/row-edit-state-with-useIcons=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..ddfcc3e1750c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/row-edit-state-with-useIcons=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/row-editing-mode (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/row-editing-mode (fluent-next.blue.light).png new file mode 100644 index 000000000000..8f839823f2af Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/row-editing-mode (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/row-editing-mode-delete_row (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/row-editing-mode-delete_row (fluent-next.blue.light).png new file mode 100644 index 000000000000..f7812ff7c051 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/row-editing-mode-delete_row (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/row-editing-mode-modified_cell (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/row-editing-mode-modified_cell (fluent-next.blue.light).png new file mode 100644 index 000000000000..3fc76e5b26e1 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/row-editing-mode-modified_cell (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/row-editing-mode-with-useIcons=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/row-editing-mode-with-useIcons=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..f1b847494ced Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/row-editing-mode-with-useIcons=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/row-editing-mode-with-useIcons=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/row-editing-mode-with-useIcons=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..e2aaff65842c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/row-editing-mode-with-useIcons=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/search-panel (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/search-panel (fluent-next.blue.light).png new file mode 100644 index 000000000000..e55faf630f8a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/search-panel (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/search-panel-highlight (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/search-panel-highlight (fluent-next.blue.light).png new file mode 100644 index 000000000000..59fe8ef83dd9 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/search-panel-highlight (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/selection (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/selection (fluent-next.blue.light).png new file mode 100644 index 000000000000..3f433722d33e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/selection (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/sorting-and-group-panel (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/sorting-and-group-panel (fluent-next.blue.light).png new file mode 100644 index 000000000000..72d521a691bb Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/sorting-and-group-panel (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/validation-in-cell-editing-mode (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/validation-in-cell-editing-mode (fluent-next.blue.light).png new file mode 100644 index 000000000000..ac268a106886 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/accessibility/etalons/validation-in-cell-editing-mode (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/aiAssistant/etalons/datagrid-ai-assistant-empty-state (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/aiAssistant/etalons/datagrid-ai-assistant-empty-state (fluent-next.blue.light).png new file mode 100644 index 000000000000..1957a56ab17e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/aiAssistant/etalons/datagrid-ai-assistant-empty-state (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/aiAssistant/etalons/datagrid-ai-assistant-error-state (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/aiAssistant/etalons/datagrid-ai-assistant-error-state (fluent-next.blue.light).png new file mode 100644 index 000000000000..493b41a0b4b5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/aiAssistant/etalons/datagrid-ai-assistant-error-state (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/aiAssistant/etalons/datagrid-ai-assistant-failure-with-aborted-command (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/aiAssistant/etalons/datagrid-ai-assistant-failure-with-aborted-command (fluent-next.blue.light).png new file mode 100644 index 000000000000..19c9209b7031 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/aiAssistant/etalons/datagrid-ai-assistant-failure-with-aborted-command (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/aiAssistant/etalons/datagrid-ai-assistant-failure-with-error-command (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/aiAssistant/etalons/datagrid-ai-assistant-failure-with-error-command (fluent-next.blue.light).png new file mode 100644 index 000000000000..c25e2a444f8b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/aiAssistant/etalons/datagrid-ai-assistant-failure-with-error-command (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/aiAssistant/etalons/datagrid-ai-assistant-multiple-messages (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/aiAssistant/etalons/datagrid-ai-assistant-multiple-messages (fluent-next.blue.light).png new file mode 100644 index 000000000000..45798ab1c5ea Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/aiAssistant/etalons/datagrid-ai-assistant-multiple-messages (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/aiAssistant/etalons/datagrid-ai-assistant-pending-state (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/aiAssistant/etalons/datagrid-ai-assistant-pending-state (fluent-next.blue.light).png new file mode 100644 index 000000000000..714d7218261d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/aiAssistant/etalons/datagrid-ai-assistant-pending-state (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/aiAssistant/etalons/datagrid-ai-assistant-success-multiple-commands (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/aiAssistant/etalons/datagrid-ai-assistant-success-multiple-commands (fluent-next.blue.light).png new file mode 100644 index 000000000000..b4d05fea0269 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/aiAssistant/etalons/datagrid-ai-assistant-success-multiple-commands (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/aiAssistant/etalons/datagrid-ai-assistant-success-state (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/aiAssistant/etalons/datagrid-ai-assistant-success-state (fluent-next.blue.light).png new file mode 100644 index 000000000000..7b015e25e87a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/aiAssistant/etalons/datagrid-ai-assistant-success-state (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/aiAssistant/visual.ts b/e2e/testcafe-devextreme/tests/dataGrid/common/aiAssistant/visual.ts index 8a2f4d9dbe45..08b528fc171a 100644 --- a/e2e/testcafe-devextreme/tests/dataGrid/common/aiAssistant/visual.ts +++ b/e2e/testcafe-devextreme/tests/dataGrid/common/aiAssistant/visual.ts @@ -3,6 +3,7 @@ import DataGrid from 'devextreme-testcafe-models/dataGrid'; import url from '../../../../helpers/getPageUrl'; import { createWidget } from '../../../../helpers/createWidget'; import { testScreenshot } from '../../../../helpers/themeUtils'; +import { insertStylesheetRulesToPage, removeStylesheetRulesFromPage } from '../../../../helpers/domUtils'; fixture`Ai Assistant.Visual` .page(url(__dirname, '../../../container-ai-integration.html')); @@ -64,8 +65,12 @@ test('AI Assistant popup - pending state', async (t) => { await t.expect(aiChat.getPendingMessages().exists).ok(); + await insertStylesheetRulesToPage('.dx-progressbar-animating-container { animation: none !important; background-position-x: 0 !important; }'); + await testScreenshot(t, takeScreenshot, 'datagrid-ai-assistant-pending-state.png', { element: aiChat.content }); + await removeStylesheetRulesFromPage(); + await t .expect(compareResults.isValid()) .ok(compareResults.errorMessages()); diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/aiColumn/etalons/datagrid__ai-column(alignment=center_rtlEnabled=false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/aiColumn/etalons/datagrid__ai-column(alignment=center_rtlEnabled=false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..0b4a9349e3e0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/aiColumn/etalons/datagrid__ai-column(alignment=center_rtlEnabled=false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/aiColumn/etalons/datagrid__ai-column(alignment=center_rtlEnabled=true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/aiColumn/etalons/datagrid__ai-column(alignment=center_rtlEnabled=true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..e3b9df901e99 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/aiColumn/etalons/datagrid__ai-column(alignment=center_rtlEnabled=true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/aiColumn/etalons/datagrid__ai-column(alignment=left_rtlEnabled=false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/aiColumn/etalons/datagrid__ai-column(alignment=left_rtlEnabled=false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..bde1686025ed Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/aiColumn/etalons/datagrid__ai-column(alignment=left_rtlEnabled=false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/aiColumn/etalons/datagrid__ai-column(alignment=left_rtlEnabled=true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/aiColumn/etalons/datagrid__ai-column(alignment=left_rtlEnabled=true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..81609ace3c37 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/aiColumn/etalons/datagrid__ai-column(alignment=left_rtlEnabled=true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/aiColumn/etalons/datagrid__ai-column(alignment=right_rtlEnabled=false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/aiColumn/etalons/datagrid__ai-column(alignment=right_rtlEnabled=false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..a409a8c3d64a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/aiColumn/etalons/datagrid__ai-column(alignment=right_rtlEnabled=false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/aiColumn/etalons/datagrid__ai-column(alignment=right_rtlEnabled=true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/aiColumn/etalons/datagrid__ai-column(alignment=right_rtlEnabled=true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..562fc620144e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/aiColumn/etalons/datagrid__ai-column(alignment=right_rtlEnabled=true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/aiColumn/etalons/datagrid__ai-column-and-sticky-columns__context-menu (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/aiColumn/etalons/datagrid__ai-column-and-sticky-columns__context-menu (fluent-next.blue.light).png new file mode 100644 index 000000000000..7eeccb3d7cae Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/aiColumn/etalons/datagrid__ai-column-and-sticky-columns__context-menu (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/aiColumn/etalons/datagrid__ai-column-and-sticky-columns__context-menu-when-allowFixing-false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/aiColumn/etalons/datagrid__ai-column-and-sticky-columns__context-menu-when-allowFixing-false (fluent-next.blue.light).png new file mode 100644 index 000000000000..9cada4c43efa Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/aiColumn/etalons/datagrid__ai-column-and-sticky-columns__context-menu-when-allowFixing-false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/aiColumn/etalons/datagrid__ai-column__column-resizing(wordWrapEnabled=true)-1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/aiColumn/etalons/datagrid__ai-column__column-resizing(wordWrapEnabled=true)-1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..7f3f0678035d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/aiColumn/etalons/datagrid__ai-column__column-resizing(wordWrapEnabled=true)-1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/aiColumn/etalons/datagrid__ai-column__column-resizing(wordWrapEnabled=true)-2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/aiColumn/etalons/datagrid__ai-column__column-resizing(wordWrapEnabled=true)-2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..553030ad4316 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/aiColumn/etalons/datagrid__ai-column__column-resizing(wordWrapEnabled=true)-2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/aiColumn/etalons/datagrid__ai-column__default (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/aiColumn/etalons/datagrid__ai-column__default (fluent-next.blue.light).png new file mode 100644 index 000000000000..bde1686025ed Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/aiColumn/etalons/datagrid__ai-column__default (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/aiColumn/etalons/datagrid__ai-column__dragging (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/aiColumn/etalons/datagrid__ai-column__dragging (fluent-next.blue.light).png new file mode 100644 index 000000000000..ffffc5bfbf67 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/aiColumn/etalons/datagrid__ai-column__dragging (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/aiColumn/etalons/datagrid__ai-column__focused-dropdown-button (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/aiColumn/etalons/datagrid__ai-column__focused-dropdown-button (fluent-next.blue.light).png new file mode 100644 index 000000000000..9bba0e258ab4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/aiColumn/etalons/datagrid__ai-column__focused-dropdown-button (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/aiColumn/etalons/datagrid__ai-column_dropdown-button-menu(alignment=center_rtlEnabled=false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/aiColumn/etalons/datagrid__ai-column_dropdown-button-menu(alignment=center_rtlEnabled=false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..b594ffe964e0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/aiColumn/etalons/datagrid__ai-column_dropdown-button-menu(alignment=center_rtlEnabled=false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/aiColumn/etalons/datagrid__ai-column_dropdown-button-menu(alignment=center_rtlEnabled=true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/aiColumn/etalons/datagrid__ai-column_dropdown-button-menu(alignment=center_rtlEnabled=true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..36d2160e9568 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/aiColumn/etalons/datagrid__ai-column_dropdown-button-menu(alignment=center_rtlEnabled=true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/aiColumn/etalons/datagrid__ai-column_dropdown-button-menu(alignment=left_rtlEnabled=false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/aiColumn/etalons/datagrid__ai-column_dropdown-button-menu(alignment=left_rtlEnabled=false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..0d24ffbb04e4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/aiColumn/etalons/datagrid__ai-column_dropdown-button-menu(alignment=left_rtlEnabled=false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/aiColumn/etalons/datagrid__ai-column_dropdown-button-menu(alignment=left_rtlEnabled=true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/aiColumn/etalons/datagrid__ai-column_dropdown-button-menu(alignment=left_rtlEnabled=true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..9722b3ab3562 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/aiColumn/etalons/datagrid__ai-column_dropdown-button-menu(alignment=left_rtlEnabled=true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/aiColumn/etalons/datagrid__ai-column_dropdown-button-menu(alignment=right_rtlEnabled=false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/aiColumn/etalons/datagrid__ai-column_dropdown-button-menu(alignment=right_rtlEnabled=false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..569bc741476f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/aiColumn/etalons/datagrid__ai-column_dropdown-button-menu(alignment=right_rtlEnabled=false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/aiColumn/etalons/datagrid__ai-column_dropdown-button-menu(alignment=right_rtlEnabled=true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/aiColumn/etalons/datagrid__ai-column_dropdown-button-menu(alignment=right_rtlEnabled=true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..b1f61333b379 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/aiColumn/etalons/datagrid__ai-column_dropdown-button-menu(alignment=right_rtlEnabled=true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/aiColumn/virtualScrolling.functional.ts b/e2e/testcafe-devextreme/tests/dataGrid/common/aiColumn/virtualScrolling.functional.ts index 5ea0b4c8bb8a..d1085aa9667a 100644 --- a/e2e/testcafe-devextreme/tests/dataGrid/common/aiColumn/virtualScrolling.functional.ts +++ b/e2e/testcafe-devextreme/tests/dataGrid/common/aiColumn/virtualScrolling.functional.ts @@ -8,6 +8,10 @@ fixture`Ai Column.Virtual Scrolling.Functional` const DATA_GRID_SELECTOR = '#container'; +const CLASS = { + loadPanelContent: 'dx-loadpanel-content', +}; + const checkAIColumnTexts = async ( t: TestController, component: DataGrid, @@ -61,7 +65,7 @@ test('DataGrid should send an AI request for rendered rows after scrolling witho await t .expect(dataGrid.isReady()) .ok() - .expect(dataGrid.getLoadPanel().isVisible()) + .expect(dataGrid.element.find(`.${CLASS.loadPanelContent}`).visible) .notOk(); await checkAIColumnTexts(t, dataGrid, 11); @@ -88,7 +92,7 @@ test('DataGrid should send an AI request for rendered rows after scrolling witho await t .expect(dataGrid.isReady()) .ok() - .expect(dataGrid.getLoadPanel().isVisible()) + .expect(dataGrid.element.find(`.${CLASS.loadPanelContent}`).visible) .notOk(); await checkAIColumnTexts(t, dataGrid, 12); }) @@ -168,7 +172,7 @@ test('DataGrid should send an AI request for rendered rows after scrolling with await t .expect(dataGrid.isReady()) .ok() - .expect(dataGrid.getLoadPanel().isVisible()) + .expect(dataGrid.element.find(`.${CLASS.loadPanelContent}`).visible) .notOk(); await checkAIColumnTexts(t, dataGrid, 11); @@ -195,7 +199,7 @@ test('DataGrid should send an AI request for rendered rows after scrolling with await t .expect(dataGrid.isReady()) .ok() - .expect(dataGrid.getLoadPanel().isVisible()) + .expect(dataGrid.element.find(`.${CLASS.loadPanelContent}`).visible) .notOk(); await checkAIColumnTexts(t, dataGrid, 12); }) diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/bandColumns/etalons/band-columns_after-runtime-update (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/bandColumns/etalons/band-columns_after-runtime-update (fluent-next.blue.light).png new file mode 100644 index 000000000000..dbdcfc6296c3 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/bandColumns/etalons/band-columns_after-runtime-update (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/bandColumns/etalons/band-columns_before-runtime-update (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/bandColumns/etalons/band-columns_before-runtime-update (fluent-next.blue.light).png new file mode 100644 index 000000000000..aebe1a043376 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/bandColumns/etalons/band-columns_before-runtime-update (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/columnReordering/etalons/column-separator-with-expand-columns (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/columnReordering/etalons/column-separator-with-expand-columns (fluent-next.blue.light).png new file mode 100644 index 000000000000..5bc515a9dc86 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/columnReordering/etalons/column-separator-with-expand-columns (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/columnReordering/etalons/dragging_grouped_column_to_same_position (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/columnReordering/etalons/dragging_grouped_column_to_same_position (fluent-next.blue.light).png new file mode 100644 index 000000000000..e19f74b8b44b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/columnReordering/etalons/dragging_grouped_column_to_same_position (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/columnReordering/etalons/headerRow-highlight-on-drag (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/columnReordering/etalons/headerRow-highlight-on-drag (fluent-next.blue.light).png new file mode 100644 index 000000000000..88c499d3cfe6 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/columnReordering/etalons/headerRow-highlight-on-drag (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/columnResizing/etalons/column-separator-1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/columnResizing/etalons/column-separator-1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..9b5f741102ab Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/columnResizing/etalons/column-separator-1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/columnResizing/etalons/column-separator-2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/columnResizing/etalons/column-separator-2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..6e21e858b74e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/columnResizing/etalons/column-separator-2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/columnResizing/etalons/column-separator-3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/columnResizing/etalons/column-separator-3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..805c438c3c0e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/columnResizing/etalons/column-separator-3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/columnResizing/etalons/column-separator-4 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/columnResizing/etalons/column-separator-4 (fluent-next.blue.light).png new file mode 100644 index 000000000000..805c438c3c0e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/columnResizing/etalons/column-separator-4 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/columnResizing/etalons/column-separator-5 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/columnResizing/etalons/column-separator-5 (fluent-next.blue.light).png new file mode 100644 index 000000000000..8cf1e713e9fd Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/columnResizing/etalons/column-separator-5 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/columnResizing/etalons/column-separator-6 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/columnResizing/etalons/column-separator-6 (fluent-next.blue.light).png new file mode 100644 index 000000000000..e4e8e69f98f3 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/columnResizing/etalons/column-separator-6 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/columnResizing/etalons/column-separator-7 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/columnResizing/etalons/column-separator-7 (fluent-next.blue.light).png new file mode 100644 index 000000000000..3f3c98673bd7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/columnResizing/etalons/column-separator-7 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/columnResizing/etalons/column-separator-8 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/columnResizing/etalons/column-separator-8 (fluent-next.blue.light).png new file mode 100644 index 000000000000..a7cee71ae94c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/columnResizing/etalons/column-separator-8 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/columnResizing/etalons/column-separator-9 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/columnResizing/etalons/column-separator-9 (fluent-next.blue.light).png new file mode 100644 index 000000000000..805c438c3c0e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/columnResizing/etalons/column-separator-9 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/T1179114-grid-edit-custom-button when-useicons-is-false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/T1179114-grid-edit-custom-button when-useicons-is-false (fluent-next.blue.light).png new file mode 100644 index 000000000000..7f31025ecbdb Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/T1179114-grid-edit-custom-button when-useicons-is-false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/T1179114-grid-edit-custom-button when-useicons-is-true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/T1179114-grid-edit-custom-button when-useicons-is-true (fluent-next.blue.light).png new file mode 100644 index 000000000000..c40104de7aae Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/T1179114-grid-edit-custom-button when-useicons-is-true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/T1250405-canceled-rows-hidden (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/T1250405-canceled-rows-hidden (fluent-next.blue.light).png new file mode 100644 index 000000000000..ff71978da272 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/T1250405-canceled-rows-hidden (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/grid-adaptive-checkbox (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/grid-adaptive-checkbox (fluent-next.blue.light).png new file mode 100644 index 000000000000..31bb10fff644 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/grid-adaptive-checkbox (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/grid-adaptive-item-text (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/grid-adaptive-item-text (fluent-next.blue.light).png new file mode 100644 index 000000000000..854fd4ee07bc Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/grid-adaptive-item-text (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/grid-checkbox-outline (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/grid-checkbox-outline (fluent-next.blue.light).png new file mode 100644 index 000000000000..6eb3c6231e27 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/grid-checkbox-outline (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/grid-editing-with-onSaving-T1201724 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/grid-editing-with-onSaving-T1201724 (fluent-next.blue.light).png new file mode 100644 index 000000000000..6d9c2f222d3a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/grid-editing-with-onSaving-T1201724 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/grid-form-editing-T1193894 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/grid-form-editing-T1193894 (fluent-next.blue.light).png new file mode 100644 index 000000000000..ac5183a9590b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/grid-form-editing-T1193894 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/grid-form-editing-with-color-box (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/grid-form-editing-with-color-box (fluent-next.blue.light).png new file mode 100644 index 000000000000..f1a1b5974201 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/grid-form-editing-with-color-box (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/grid-new-row_position-first_scroll-mode-standard_top-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/grid-new-row_position-first_scroll-mode-standard_top-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..a5a734d5eb18 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/grid-new-row_position-first_scroll-mode-standard_top-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/grid-new-row_position-last_scroll-mode-standard_top-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/grid-new-row_position-last_scroll-mode-standard_top-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..b065e24e86b5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/grid-new-row_position-last_scroll-mode-standard_top-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/grid-new-row_position-pageBottom_scroll-mode-standard_top-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/grid-new-row_position-pageBottom_scroll-mode-standard_top-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..b065e24e86b5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/grid-new-row_position-pageBottom_scroll-mode-standard_top-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/grid-new-row_position-pageBottom_scroll-mode-virtual_top-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/grid-new-row_position-pageBottom_scroll-mode-virtual_top-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..01f893d85152 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/grid-new-row_position-pageBottom_scroll-mode-virtual_top-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/grid-new-row_position-pageTop_scroll-mode-standard_top-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/grid-new-row_position-pageTop_scroll-mode-standard_top-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..a5a734d5eb18 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/grid-new-row_position-pageTop_scroll-mode-standard_top-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/grid-new-row_position-pageTop_scroll-mode-virtual_top-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/grid-new-row_position-pageTop_scroll-mode-virtual_top-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..a5a734d5eb18 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/grid-new-row_position-pageTop_scroll-mode-virtual_top-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/grid-new-row_position-viewportBottom_scroll-mode-standard_top-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/grid-new-row_position-viewportBottom_scroll-mode-standard_top-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..01f893d85152 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/grid-new-row_position-viewportBottom_scroll-mode-standard_top-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/grid-new-row_position-viewportBottom_scroll-mode-standard_top-162 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/grid-new-row_position-viewportBottom_scroll-mode-standard_top-162 (fluent-next.blue.light).png new file mode 100644 index 000000000000..a6da23418b61 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/grid-new-row_position-viewportBottom_scroll-mode-standard_top-162 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/grid-new-row_position-viewportBottom_scroll-mode-virtual_top-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/grid-new-row_position-viewportBottom_scroll-mode-virtual_top-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..01f893d85152 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/grid-new-row_position-viewportBottom_scroll-mode-virtual_top-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/grid-new-row_position-viewportBottom_scroll-mode-virtual_top-162 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/grid-new-row_position-viewportBottom_scroll-mode-virtual_top-162 (fluent-next.blue.light).png new file mode 100644 index 000000000000..a6da23418b61 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/grid-new-row_position-viewportBottom_scroll-mode-virtual_top-162 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/grid-new-row_position-viewportTop_scroll-mode-standard_top-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/grid-new-row_position-viewportTop_scroll-mode-standard_top-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..a5a734d5eb18 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/grid-new-row_position-viewportTop_scroll-mode-standard_top-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/grid-new-row_position-viewportTop_scroll-mode-standard_top-162 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/grid-new-row_position-viewportTop_scroll-mode-standard_top-162 (fluent-next.blue.light).png new file mode 100644 index 000000000000..a830424a73e6 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/grid-new-row_position-viewportTop_scroll-mode-standard_top-162 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/grid-new-row_position-viewportTop_scroll-mode-virtual_top-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/grid-new-row_position-viewportTop_scroll-mode-virtual_top-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..a5a734d5eb18 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/grid-new-row_position-viewportTop_scroll-mode-virtual_top-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/grid-new-row_position-viewportTop_scroll-mode-virtual_top-162 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/grid-new-row_position-viewportTop_scroll-mode-virtual_top-162 (fluent-next.blue.light).png new file mode 100644 index 000000000000..a830424a73e6 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/grid-new-row_position-viewportTop_scroll-mode-virtual_top-162 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/grid-popup-editing-checkbox (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/grid-popup-editing-checkbox (fluent-next.blue.light).png new file mode 100644 index 000000000000..80d984c2799b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/grid-popup-editing-checkbox (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/grid-popup-editing-grid (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/grid-popup-editing-grid (fluent-next.blue.light).png new file mode 100644 index 000000000000..2a7aa45ea3a6 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/grid-popup-editing-grid (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/newRowPosition-pageBottom-add-row-to-bottom (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/newRowPosition-pageBottom-add-row-to-bottom (fluent-next.blue.light).png new file mode 100644 index 000000000000..ee5105c7c0d1 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/newRowPosition-pageBottom-add-row-to-bottom (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/popup-edit-form (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/popup-edit-form (fluent-next.blue.light).png new file mode 100644 index 000000000000..5cb526ab905c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/popup-edit-form (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/popup-edit-form-with-initial-editrowkey (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/popup-edit-form-with-initial-editrowkey (fluent-next.blue.light).png new file mode 100644 index 000000000000..4c10fddeea9e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/editing/etalons/popup-edit-form-with-initial-editrowkey (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/T1046688.searchPanel (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/T1046688.searchPanel (fluent-next.blue.light).png new file mode 100644 index 000000000000..cb144b475a17 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/T1046688.searchPanel (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/T1089634-virtual-scrolling-1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/T1089634-virtual-scrolling-1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..d2ebbf5d1fd5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/T1089634-virtual-scrolling-1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/T1089634-virtual-scrolling-2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/T1089634-virtual-scrolling-2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..6bf0f284538e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/T1089634-virtual-scrolling-2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/T1089634-virtual-scrolling-3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/T1089634-virtual-scrolling-3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..ba8bec7c2448 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/T1089634-virtual-scrolling-3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/T1136896-virtual-scrolling_editing-buttons (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/T1136896-virtual-scrolling_editing-buttons (fluent-next.blue.light).png new file mode 100644 index 000000000000..21a9f424cd90 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/T1136896-virtual-scrolling_editing-buttons (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/T1141405-grid-select-all (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/T1141405-grid-select-all (fluent-next.blue.light).png new file mode 100644 index 000000000000..99ae4ec4376c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/T1141405-grid-select-all (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/T1194796-row-alternation-with-grouping-and-virtual-scrolling (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/T1194796-row-alternation-with-grouping-and-virtual-scrolling (fluent-next.blue.light).png new file mode 100644 index 000000000000..628e3e2b005b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/T1194796-row-alternation-with-grouping-and-virtual-scrolling (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/T1219785-column-chooser-1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/T1219785-column-chooser-1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..38f05686c902 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/T1219785-column-chooser-1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/T1219785-column-chooser-2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/T1219785-column-chooser-2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..f6c8effde005 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/T1219785-column-chooser-2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/T1219785-column-chooser-3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/T1219785-column-chooser-3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..c2b4465d246e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/T1219785-column-chooser-3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/T1228720-grid-tagbox-on-edit (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/T1228720-grid-tagbox-on-edit (fluent-next.blue.light).png new file mode 100644 index 000000000000..08490da59289 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/T1228720-grid-tagbox-on-edit (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/T1240079 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/T1240079 (fluent-next.blue.light).png new file mode 100644 index 000000000000..523d45dadd4d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/T1240079 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/T1270354-virtual-native-scrolling-with-grouping-and-summary (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/T1270354-virtual-native-scrolling-with-grouping-and-summary (fluent-next.blue.light).png new file mode 100644 index 000000000000..afa773fd85f4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/T1270354-virtual-native-scrolling-with-grouping-and-summary (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/T1270354-virtual-simulated-scrolling-with-grouping-and-summary (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/T1270354-virtual-simulated-scrolling-with-grouping-and-summary (fluent-next.blue.light).png new file mode 100644 index 000000000000..b36e16159957 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/T1270354-virtual-simulated-scrolling-with-grouping-and-summary (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/ai-column__toast__at-the-right-position (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/ai-column__toast__at-the-right-position (fluent-next.blue.light).png new file mode 100644 index 000000000000..ca1eda079e1b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/ai-column__toast__at-the-right-position (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/column-chooser-checkbox-alignment-plain-structure (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/column-chooser-checkbox-alignment-plain-structure (fluent-next.blue.light).png new file mode 100644 index 000000000000..96407d344a7d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/column-chooser-checkbox-alignment-plain-structure (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/column-chooser-checkbox-alignment-tree-structure (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/column-chooser-checkbox-alignment-tree-structure (fluent-next.blue.light).png new file mode 100644 index 000000000000..fd72c9cf9ee3 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/column-chooser-checkbox-alignment-tree-structure (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/column-chooser-dragAndDrop-mode (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/column-chooser-dragAndDrop-mode (fluent-next.blue.light).png new file mode 100644 index 000000000000..a4fe9996b3fc Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/column-chooser-dragAndDrop-mode (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/column-chooser-select-mode (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/column-chooser-select-mode (fluent-next.blue.light).png new file mode 100644 index 000000000000..d31015abc00a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/column-chooser-select-mode (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/compact-pager (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/compact-pager (fluent-next.blue.light).png new file mode 100644 index 000000000000..c85f75cefc4e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/compact-pager (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/disabled-export-in-menu_when-no-columns-visible (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/disabled-export-in-menu_when-no-columns-visible (fluent-next.blue.light).png new file mode 100644 index 000000000000..e7f1de6bd4da Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/disabled-export-in-menu_when-no-columns-visible (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/disabled-export_when-no-columns-visible (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/disabled-export_when-no-columns-visible (fluent-next.blue.light).png new file mode 100644 index 000000000000..027937e60fe5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/disabled-export_when-no-columns-visible (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/disabled-toolbar-buttons (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/disabled-toolbar-buttons (fluent-next.blue.light).png new file mode 100644 index 000000000000..592cd4250cb5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/disabled-toolbar-buttons (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/empty-column-chooser (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/empty-column-chooser (fluent-next.blue.light).png new file mode 100644 index 000000000000..f9e0e5528af2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/empty-column-chooser (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/grid-column-lines-alignment-master-grid-horizontal-scrolling (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/grid-column-lines-alignment-master-grid-horizontal-scrolling (fluent-next.blue.light).png new file mode 100644 index 000000000000..1eff8607c1f0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/grid-column-lines-alignment-master-grid-horizontal-scrolling (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/grid-export-dropdown-button (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/grid-export-dropdown-button (fluent-next.blue.light).png new file mode 100644 index 000000000000..f5f2752f1d8e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/grid-export-dropdown-button (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/grid-export-dropdown-button-in-menu (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/grid-export-dropdown-button-in-menu (fluent-next.blue.light).png new file mode 100644 index 000000000000..a256038acc71 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/grid-export-dropdown-button-in-menu (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/grid-export-one-button (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/grid-export-one-button (fluent-next.blue.light).png new file mode 100644 index 000000000000..9b8932836bc8 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/grid-export-one-button (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/grid-export-one-button-in-menu (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/grid-export-one-button-in-menu (fluent-next.blue.light).png new file mode 100644 index 000000000000..8f76c1cc0597 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/grid-export-one-button-in-menu (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/grid-export-one-button-pdf (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/grid-export-one-button-pdf (fluent-next.blue.light).png new file mode 100644 index 000000000000..13cfc25043e2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/grid-export-one-button-pdf (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/grid-header-row-scrollbar-padding (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/grid-header-row-scrollbar-padding (fluent-next.blue.light).png new file mode 100644 index 000000000000..a3845d42d9dd Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/grid-header-row-scrollbar-padding (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/grid-headers-scroller-spacing-border (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/grid-headers-scroller-spacing-border (fluent-next.blue.light).png new file mode 100644 index 000000000000..352b0df10636 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/grid-headers-scroller-spacing-border (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/grid-headers-scroller-spacing-border-rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/grid-headers-scroller-spacing-border-rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..93202808adfe Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/grid-headers-scroller-spacing-border-rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/grid-infinite-scrolling-T1152498 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/grid-infinite-scrolling-T1152498 (fluent-next.blue.light).png new file mode 100644 index 000000000000..d58d87da7697 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/grid-infinite-scrolling-T1152498 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/grid-toolbar-dropdown-menu (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/grid-toolbar-dropdown-menu (fluent-next.blue.light).png new file mode 100644 index 000000000000..e2b5c77173f2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/grid-toolbar-dropdown-menu (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/grid-virtual-scrolling-T1129252 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/grid-virtual-scrolling-T1129252 (fluent-next.blue.light).png new file mode 100644 index 000000000000..d0162e929863 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/grid-virtual-scrolling-T1129252 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/grid-virtual-scrolling-T1152498 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/grid-virtual-scrolling-T1152498 (fluent-next.blue.light).png new file mode 100644 index 000000000000..1d2552f5c68f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/grid-virtual-scrolling-T1152498 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/grid-virtual-scrolling_with_fixed_columns-T1166649 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/grid-virtual-scrolling_with_fixed_columns-T1166649 (fluent-next.blue.light).png new file mode 100644 index 000000000000..2fcd1fbecf74 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/grid-virtual-scrolling_with_fixed_columns-T1166649 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/group-summary-focused (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/group-summary-focused (fluent-next.blue.light).png new file mode 100644 index 000000000000..5dd8a203d823 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/group-summary-focused (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/group-summary-when-grouped-column-has-showWhenGrouped (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/group-summary-when-grouped-column-has-showWhenGrouped (fluent-next.blue.light).png new file mode 100644 index 000000000000..0c97c426ea6c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/group-summary-when-grouped-column-has-showWhenGrouped (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/invisible-toolbar-buttons (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/invisible-toolbar-buttons (fluent-next.blue.light).png new file mode 100644 index 000000000000..ca6094756fbf Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/invisible-toolbar-buttons (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/pager-compact (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/pager-compact (fluent-next.blue.light).png new file mode 100644 index 000000000000..23f5df9857fe Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/pager-compact (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/pager-full-allpages (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/pager-full-allpages (fluent-next.blue.light).png new file mode 100644 index 000000000000..dacc7bbb6f6e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/pager-full-allpages (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/pager-resize-large (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/pager-resize-large (fluent-next.blue.light).png new file mode 100644 index 000000000000..b9a9b27a876b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/pager-resize-large (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/pager-resize-large-enlarge (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/pager-resize-large-enlarge (fluent-next.blue.light).png new file mode 100644 index 000000000000..b9a9b27a876b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/pager-resize-large-enlarge (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/pager-resize-large-noinfo (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/pager-resize-large-noinfo (fluent-next.blue.light).png new file mode 100644 index 000000000000..42df11acd971 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/pager-resize-large-noinfo (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/pager-resize-large-noinfo-enlarge (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/pager-resize-large-noinfo-enlarge (fluent-next.blue.light).png new file mode 100644 index 000000000000..42df11acd971 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/pager-resize-large-noinfo-enlarge (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/pager-resize-nobutton-large (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/pager-resize-nobutton-large (fluent-next.blue.light).png new file mode 100644 index 000000000000..4f6859cf3920 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/pager-resize-nobutton-large (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/pager-resize-nobutton-large-enlarge (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/pager-resize-nobutton-large-enlarge (fluent-next.blue.light).png new file mode 100644 index 000000000000..4f6859cf3920 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/pager-resize-nobutton-large-enlarge (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/pager-resize-nobutton-large-noinfo (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/pager-resize-nobutton-large-noinfo (fluent-next.blue.light).png new file mode 100644 index 000000000000..63970ca2b359 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/pager-resize-nobutton-large-noinfo (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/pager-resize-nobutton-large-noinfo-enlarge (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/pager-resize-nobutton-large-noinfo-enlarge (fluent-next.blue.light).png new file mode 100644 index 000000000000..63970ca2b359 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/pager-resize-nobutton-large-noinfo-enlarge (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/pager-resize-nobutton-small (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/pager-resize-nobutton-small (fluent-next.blue.light).png new file mode 100644 index 000000000000..741fd319bf14 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/pager-resize-nobutton-small (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/pager-resize-small (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/pager-resize-small (fluent-next.blue.light).png new file mode 100644 index 000000000000..aa8a16d81909 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/pager-resize-small (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/total-summary-focused (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/total-summary-focused (fluent-next.blue.light).png new file mode 100644 index 000000000000..d34150d01c92 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/total-summary-focused (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/total-summary-focused-with-sticky (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/total-summary-focused-with-sticky (fluent-next.blue.light).png new file mode 100644 index 000000000000..d0f9fdbebf8f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/etalons/total-summary-focused-with-sticky (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/filterPanel/etalons/dataGrid-filterPanel-popup (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/filterPanel/etalons/dataGrid-filterPanel-popup (fluent-next.blue.light).png new file mode 100644 index 000000000000..ad648e19bd9d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/filterPanel/etalons/dataGrid-filterPanel-popup (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/filterPanel/etalons/dataGrid-filterPanel-popup-focused (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/filterPanel/etalons/dataGrid-filterPanel-popup-focused (fluent-next.blue.light).png new file mode 100644 index 000000000000..7760f7b801d1 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/filterPanel/etalons/dataGrid-filterPanel-popup-focused (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/filterPanel/etalons/dataGrid-filterPanel-popup.-with-editor-popup (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/filterPanel/etalons/dataGrid-filterPanel-popup.-with-editor-popup (fluent-next.blue.light).png new file mode 100644 index 000000000000..e8a6977d2989 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/filterPanel/etalons/dataGrid-filterPanel-popup.-with-editor-popup (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/filterRow/etalons/T1072609 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/filterRow/etalons/T1072609 (fluent-next.blue.light).png new file mode 100644 index 000000000000..d6f3edb56444 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/filterRow/etalons/T1072609 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/filterRow/etalons/T1163100_change-icon_columns-fixed-band_scrolling-usual (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/filterRow/etalons/T1163100_change-icon_columns-fixed-band_scrolling-usual (fluent-next.blue.light).png new file mode 100644 index 000000000000..81c075d59a85 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/filterRow/etalons/T1163100_change-icon_columns-fixed-band_scrolling-usual (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/filterRow/etalons/T1163100_change-icon_columns-fixed-band_scrolling-virtual (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/filterRow/etalons/T1163100_change-icon_columns-fixed-band_scrolling-virtual (fluent-next.blue.light).png new file mode 100644 index 000000000000..81c075d59a85 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/filterRow/etalons/T1163100_change-icon_columns-fixed-band_scrolling-virtual (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/filterRow/etalons/T1163100_change-icon_columns-fixed-usual_scrolling-usual (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/filterRow/etalons/T1163100_change-icon_columns-fixed-usual_scrolling-usual (fluent-next.blue.light).png new file mode 100644 index 000000000000..ca9f82f23543 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/filterRow/etalons/T1163100_change-icon_columns-fixed-usual_scrolling-usual (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/filterRow/etalons/T1163100_change-icon_columns-fixed-usual_scrolling-virtual (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/filterRow/etalons/T1163100_change-icon_columns-fixed-usual_scrolling-virtual (fluent-next.blue.light).png new file mode 100644 index 000000000000..ca9f82f23543 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/filterRow/etalons/T1163100_change-icon_columns-fixed-usual_scrolling-virtual (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/filterRow/etalons/T1163100_change-icon_columns-usual-band_scrolling-usual (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/filterRow/etalons/T1163100_change-icon_columns-usual-band_scrolling-usual (fluent-next.blue.light).png new file mode 100644 index 000000000000..8d3a0dfdd0a3 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/filterRow/etalons/T1163100_change-icon_columns-usual-band_scrolling-usual (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/filterRow/etalons/T1163100_change-icon_columns-usual-band_scrolling-virtual (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/filterRow/etalons/T1163100_change-icon_columns-usual-band_scrolling-virtual (fluent-next.blue.light).png new file mode 100644 index 000000000000..8d3a0dfdd0a3 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/filterRow/etalons/T1163100_change-icon_columns-usual-band_scrolling-virtual (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/filterRow/etalons/T1163100_change-icon_columns-usual-usual_scrolling-usual (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/filterRow/etalons/T1163100_change-icon_columns-usual-usual_scrolling-usual (fluent-next.blue.light).png new file mode 100644 index 000000000000..8dab6237372b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/filterRow/etalons/T1163100_change-icon_columns-usual-usual_scrolling-usual (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/filterRow/etalons/T1163100_change-icon_columns-usual-usual_scrolling-virtual (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/filterRow/etalons/T1163100_change-icon_columns-usual-usual_scrolling-virtual (fluent-next.blue.light).png new file mode 100644 index 000000000000..8dab6237372b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/filterRow/etalons/T1163100_change-icon_columns-usual-usual_scrolling-virtual (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/filterRow/etalons/filter-row-filter-range-hide-on-scroll (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/filterRow/etalons/filter-row-filter-range-hide-on-scroll (fluent-next.blue.light).png new file mode 100644 index 000000000000..825ea4cdffc5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/filterRow/etalons/filter-row-filter-range-hide-on-scroll (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/filterRow/etalons/filter-row-focus-overlay (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/filterRow/etalons/filter-row-focus-overlay (fluent-next.blue.light).png new file mode 100644 index 000000000000..57f8d95a9851 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/filterRow/etalons/filter-row-focus-overlay (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/filterRow/etalons/filter-row-overlay (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/filterRow/etalons/filter-row-overlay (fluent-next.blue.light).png new file mode 100644 index 000000000000..6121f6853632 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/filterRow/etalons/filter-row-overlay (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/filtering/etalons/filter-method-with-case-sensitive-1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/filtering/etalons/filter-method-with-case-sensitive-1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..45b69758d29d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/filtering/etalons/filter-method-with-case-sensitive-1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/filtering/etalons/filter-method-with-case-sensitive-2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/filtering/etalons/filter-method-with-case-sensitive-2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..d2299efec417 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/filtering/etalons/filter-method-with-case-sensitive-2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/filtering/etalons/filtering-via-option-method-with-case-sensitive-1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/filtering/etalons/filtering-via-option-method-with-case-sensitive-1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..45b69758d29d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/filtering/etalons/filtering-via-option-method-with-case-sensitive-1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/filtering/etalons/filtering-via-option-method-with-case-sensitive-2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/filtering/etalons/filtering-via-option-method-with-case-sensitive-2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..d2299efec417 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/filtering/etalons/filtering-via-option-method-with-case-sensitive-2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/fixedColumns/etalons/T1148937-grid-hover-row-1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/fixedColumns/etalons/T1148937-grid-hover-row-1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..810b26ddfc96 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/fixedColumns/etalons/T1148937-grid-hover-row-1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/fixedColumns/etalons/T1148937-grid-hover-row-2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/fixedColumns/etalons/T1148937-grid-hover-row-2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..05fb021eff97 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/fixedColumns/etalons/T1148937-grid-hover-row-2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/fixedColumns/etalons/T1177143-right-fixed-column-with-no-width-columns-1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/fixedColumns/etalons/T1177143-right-fixed-column-with-no-width-columns-1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..545f95e7184c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/fixedColumns/etalons/T1177143-right-fixed-column-with-no-width-columns-1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/fixedColumns/etalons/T1177143-right-fixed-column-with-no-width-columns-2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/fixedColumns/etalons/T1177143-right-fixed-column-with-no-width-columns-2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..0463cd041228 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/fixedColumns/etalons/T1177143-right-fixed-column-with-no-width-columns-2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/fixedColumns/etalons/T1180834-grid-hover-row-after-scrolling-1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/fixedColumns/etalons/T1180834-grid-hover-row-after-scrolling-1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..c58a4180f049 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/fixedColumns/etalons/T1180834-grid-hover-row-after-scrolling-1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/fixedColumns/etalons/T1180834-grid-hover-row-after-scrolling-2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/fixedColumns/etalons/T1180834-grid-hover-row-after-scrolling-2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..815d9f220358 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/fixedColumns/etalons/T1180834-grid-hover-row-after-scrolling-2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/fixedColumns/etalons/T1193153-layout-with-fixed-and-band-columns-1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/fixedColumns/etalons/T1193153-layout-with-fixed-and-band-columns-1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..74c149cdcf4e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/fixedColumns/etalons/T1193153-layout-with-fixed-and-band-columns-1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/fixedColumns/etalons/T1193153-layout-with-fixed-and-band-columns-2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/fixedColumns/etalons/T1193153-layout-with-fixed-and-band-columns-2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..c7226a52b0e3 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/fixedColumns/etalons/T1193153-layout-with-fixed-and-band-columns-2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/fixedColumns/etalons/T1317623-expand-columns-with-band-columns (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/fixedColumns/etalons/T1317623-expand-columns-with-band-columns (fluent-next.blue.light).png new file mode 100644 index 000000000000..d4f0eb1e6344 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/fixedColumns/etalons/T1317623-expand-columns-with-band-columns (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/fixedColumns/etalons/T1317623-horizontal-scroll-with-fixed-band-columns (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/fixedColumns/etalons/T1317623-horizontal-scroll-with-fixed-band-columns (fluent-next.blue.light).png new file mode 100644 index 000000000000..a0126cab3964 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/fixedColumns/etalons/T1317623-horizontal-scroll-with-fixed-band-columns (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/fixedColumns/etalons/T1322380-unfix-column-via-context-menu (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/fixedColumns/etalons/T1322380-unfix-column-via-context-menu (fluent-next.blue.light).png new file mode 100644 index 000000000000..f167f6ea3960 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/fixedColumns/etalons/T1322380-unfix-column-via-context-menu (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/focus/etalons/focus-edit-cell_after-lookup-change (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/focus/etalons/focus-edit-cell_after-lookup-change (fluent-next.blue.light).png new file mode 100644 index 000000000000..b1b3192f5990 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/focus/etalons/focus-edit-cell_after-lookup-change (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/focus/etalons/focus-edit-cell_after-text-editor-change (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/focus/etalons/focus-edit-cell_after-text-editor-change (fluent-next.blue.light).png new file mode 100644 index 000000000000..e3587471ee08 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/focus/etalons/focus-edit-cell_after-text-editor-change (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/focus/focusedRow/etalons/focused-row-invalid-cells (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/focus/focusedRow/etalons/focused-row-invalid-cells (fluent-next.blue.light).png new file mode 100644 index 000000000000..21b9ace0bfb4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/focus/focusedRow/etalons/focused-row-invalid-cells (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/focus/focusedRow/etalons/focused-row-link-background (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/focus/focusedRow/etalons/focused-row-link-background (fluent-next.blue.light).png new file mode 100644 index 000000000000..2d556ef721bb Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/focus/focusedRow/etalons/focused-row-link-background (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/focus/focusedRow/etalons/focused-row_markup (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/focus/focusedRow/etalons/focused-row_markup (fluent-next.blue.light).png new file mode 100644 index 000000000000..d57bfa720ae2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/focus/focusedRow/etalons/focused-row_markup (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/focus/focusedRow/etalons/focused-row_under_group=-1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/focus/focusedRow/etalons/focused-row_under_group=-1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..dc1e1479f84b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/focus/focusedRow/etalons/focused-row_under_group=-1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/focus/focusedRow/etalons/focused-row_under_group=null (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/focus/focusedRow/etalons/focused-row_under_group=null (fluent-next.blue.light).png new file mode 100644 index 000000000000..3f4325a911f7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/focus/focusedRow/etalons/focused-row_under_group=null (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/focus/focusedRow/etalons/focused-row_under_group=test (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/focus/focusedRow/etalons/focused-row_under_group=test (fluent-next.blue.light).png new file mode 100644 index 000000000000..879239b5d688 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/focus/focusedRow/etalons/focused-row_under_group=test (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/focus/focusedRow/etalons/focused-row_under_group=undefined (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/focus/focusedRow/etalons/focused-row_under_group=undefined (fluent-next.blue.light).png new file mode 100644 index 000000000000..7ff9d415983f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/focus/focusedRow/etalons/focused-row_under_group=undefined (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/focus/focusedRow/etalons/focused-row_under_group_when_data-items_have_items-property (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/focus/focusedRow/etalons/focused-row_under_group_when_data-items_have_items-property (fluent-next.blue.light).png new file mode 100644 index 000000000000..2ea38b231404 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/focus/focusedRow/etalons/focused-row_under_group_when_data-items_have_items-property (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/grouping/etalons/T1155453-collapsed-groups (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/grouping/etalons/T1155453-collapsed-groups (fluent-next.blue.light).png new file mode 100644 index 000000000000..b34404a23638 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/grouping/etalons/T1155453-collapsed-groups (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/grouping/etalons/T1155453-collapsed-groups-with-fixed-content (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/grouping/etalons/T1155453-collapsed-groups-with-fixed-content (fluent-next.blue.light).png new file mode 100644 index 000000000000..d1e2700dc891 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/grouping/etalons/T1155453-collapsed-groups-with-fixed-content (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/grouping/etalons/T1155453-expanded-groups (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/grouping/etalons/T1155453-expanded-groups (fluent-next.blue.light).png new file mode 100644 index 000000000000..764312011167 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/grouping/etalons/T1155453-expanded-groups (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/grouping/etalons/T1155453-expanded-groups-with-fixed-content (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/grouping/etalons/T1155453-expanded-groups-with-fixed-content (fluent-next.blue.light).png new file mode 100644 index 000000000000..664661c770c0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/grouping/etalons/T1155453-expanded-groups-with-fixed-content (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/grouping/etalons/T1237863_datagrid-grouping_and_filtering (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/grouping/etalons/T1237863_datagrid-grouping_and_filtering (fluent-next.blue.light).png new file mode 100644 index 000000000000..a47ecd38aa41 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/grouping/etalons/T1237863_datagrid-grouping_and_filtering (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/grouping/etalons/continued_group-collapse_icon-T1201981 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/grouping/etalons/continued_group-collapse_icon-T1201981 (fluent-next.blue.light).png new file mode 100644 index 000000000000..e1c86514c76d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/grouping/etalons/continued_group-collapse_icon-T1201981 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/grouping/etalons/empty-header-message-with-selection-enabled (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/grouping/etalons/empty-header-message-with-selection-enabled (fluent-next.blue.light).png new file mode 100644 index 000000000000..9eabce5df328 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/grouping/etalons/empty-header-message-with-selection-enabled (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/grouping/etalons/expanded-groups-content (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/grouping/etalons/expanded-groups-content (fluent-next.blue.light).png new file mode 100644 index 000000000000..53c7fda97395 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/grouping/etalons/expanded-groups-content (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/grouping/etalons/group-panel-message-align (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/grouping/etalons/group-panel-message-align (fluent-next.blue.light).png new file mode 100644 index 000000000000..a996addffeb1 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/grouping/etalons/group-panel-message-align (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/grouping/etalons/group-panel_loaded_first-page (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/grouping/etalons/group-panel_loaded_first-page (fluent-next.blue.light).png new file mode 100644 index 000000000000..5f8a54295601 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/grouping/etalons/group-panel_loaded_first-page (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/grouping/etalons/group-panel_loaded_page-end (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/grouping/etalons/group-panel_loaded_page-end (fluent-next.blue.light).png new file mode 100644 index 000000000000..72a90b8e78e0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/grouping/etalons/group-panel_loaded_page-end (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/grouping/etalons/group-panel_loaded_second-page (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/grouping/etalons/group-panel_loaded_second-page (fluent-next.blue.light).png new file mode 100644 index 000000000000..9957c7f46028 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/grouping/etalons/group-panel_loaded_second-page (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/grouping/etalons/group-panel_restored_first-page (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/grouping/etalons/group-panel_restored_first-page (fluent-next.blue.light).png new file mode 100644 index 000000000000..5f8a54295601 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/grouping/etalons/group-panel_restored_first-page (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/grouping/etalons/group-panel_restored_page-end (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/grouping/etalons/group-panel_restored_page-end (fluent-next.blue.light).png new file mode 100644 index 000000000000..72a90b8e78e0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/grouping/etalons/group-panel_restored_page-end (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/grouping/etalons/group-panel_restored_second-page (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/grouping/etalons/group-panel_restored_second-page (fluent-next.blue.light).png new file mode 100644 index 000000000000..9957c7f46028 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/grouping/etalons/group-panel_restored_second-page (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/grouping/etalons/groupingPanel (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/grouping/etalons/groupingPanel (fluent-next.blue.light).png new file mode 100644 index 000000000000..3e7a8ef7d713 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/grouping/etalons/groupingPanel (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/headerFilter/etalons/T1251768-header-filter-double-quotes (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/headerFilter/etalons/T1251768-header-filter-double-quotes (fluent-next.blue.light).png new file mode 100644 index 000000000000..947ac756d478 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/headerFilter/etalons/T1251768-header-filter-double-quotes (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/headerFilter/etalons/T1273020-header-filter-with-case-sensitive-1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/headerFilter/etalons/T1273020-header-filter-with-case-sensitive-1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..3c3420f446d2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/headerFilter/etalons/T1273020-header-filter-with-case-sensitive-1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/headerFilter/etalons/T1273020-header-filter-with-case-sensitive-2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/headerFilter/etalons/T1273020-header-filter-with-case-sensitive-2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..1ea0ad8f92ae Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/headerFilter/etalons/T1273020-header-filter-with-case-sensitive-2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/headerFilter/etalons/grid-header-filter-popup-T1156848 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/headerFilter/etalons/grid-header-filter-popup-T1156848 (fluent-next.blue.light).png new file mode 100644 index 000000000000..ffbaacb355d7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/headerFilter/etalons/grid-header-filter-popup-T1156848 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/headerFilter/etalons/header-filter-icon-clear-filter (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/headerFilter/etalons/header-filter-icon-clear-filter (fluent-next.blue.light).png new file mode 100644 index 000000000000..60f0ff02d91c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/headerFilter/etalons/header-filter-icon-clear-filter (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/headerFilter/etalons/header-filter-popup (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/headerFilter/etalons/header-filter-popup (fluent-next.blue.light).png new file mode 100644 index 000000000000..0d82b856c21b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/headerFilter/etalons/header-filter-popup (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/adaptive-row-closed-via-keyboard (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/adaptive-row-closed-via-keyboard (fluent-next.blue.light).png new file mode 100644 index 000000000000..f7efad79805e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/adaptive-row-closed-via-keyboard (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/adaptive-row-opened-via-keyboard (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/adaptive-row-opened-via-keyboard (fluent-next.blue.light).png new file mode 100644 index 000000000000..7fa746451c55 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/adaptive-row-opened-via-keyboard (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/cell-focus-showEditorAlways-T1196539 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/cell-focus-showEditorAlways-T1196539 (fluent-next.blue.light).png new file mode 100644 index 000000000000..db27a4f66799 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/cell-focus-showEditorAlways-T1196539 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/cell_focus_after_column_reordering_when_data_cell_was_focused (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/cell_focus_after_column_reordering_when_data_cell_was_focused (fluent-next.blue.light).png new file mode 100644 index 000000000000..858a0120c2a3 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/cell_focus_after_column_reordering_when_data_cell_was_focused (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/data-grid_keyboard-navigation-custom-button-focused (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/data-grid_keyboard-navigation-custom-button-focused (fluent-next.blue.light).png new file mode 100644 index 000000000000..99ede3db9951 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/data-grid_keyboard-navigation-custom-button-focused (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/data-grid_keyboard-navigation-custom-buttons-cell-focused (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/data-grid_keyboard-navigation-custom-buttons-cell-focused (fluent-next.blue.light).png new file mode 100644 index 000000000000..503bd95487c6 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/data-grid_keyboard-navigation-custom-buttons-cell-focused (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/data-grid_keyboard-navigation-data-cell-focused (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/data-grid_keyboard-navigation-data-cell-focused (fluent-next.blue.light).png new file mode 100644 index 000000000000..c9b3ba0f5640 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/data-grid_keyboard-navigation-data-cell-focused (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/data-grid_keyboard-navigation-header-cell-focused (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/data-grid_keyboard-navigation-header-cell-focused (fluent-next.blue.light).png new file mode 100644 index 000000000000..91b70d45ce98 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/data-grid_keyboard-navigation-header-cell-focused (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/data-grid_keyboard-navigation-input-text-focused (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/data-grid_keyboard-navigation-input-text-focused (fluent-next.blue.light).png new file mode 100644 index 000000000000..e1d44f69ff9e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/data-grid_keyboard-navigation-input-text-focused (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/edit-cell-keypress-with-custom-cell-template_template-div (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/edit-cell-keypress-with-custom-cell-template_template-div (fluent-next.blue.light).png new file mode 100644 index 000000000000..d1f6846fc53b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/edit-cell-keypress-with-custom-cell-template_template-div (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/edit-cell-keypress-with-custom-cell-template_template-input (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/edit-cell-keypress-with-custom-cell-template_template-input (fluent-next.blue.light).png new file mode 100644 index 000000000000..5501061eb6e4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/edit-cell-keypress-with-custom-cell-template_template-input (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/focus-position-when-second-adaptive-row-opened (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/focus-position-when-second-adaptive-row-opened (fluent-next.blue.light).png new file mode 100644 index 000000000000..9abf13c78750 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/focus-position-when-second-adaptive-row-opened (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/focus_first_cell_in_first_row_when_pressing_Ctrl_+_Home_key (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/focus_first_cell_in_first_row_when_pressing_Ctrl_+_Home_key (fluent-next.blue.light).png new file mode 100644 index 000000000000..fb9f42415a73 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/focus_first_cell_in_first_row_when_pressing_Ctrl_+_Home_key (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/focus_first_cell_in_row_that_contains_focus_when_pressing_Home_key (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/focus_first_cell_in_row_that_contains_focus_when_pressing_Home_key (fluent-next.blue.light).png new file mode 100644 index 000000000000..2e25363e5466 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/focus_first_cell_in_row_that_contains_focus_when_pressing_Home_key (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/focus_last_cell_in_last_row_when_pressing_Ctrl_+_End_key (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/focus_last_cell_in_last_row_when_pressing_Ctrl_+_End_key (fluent-next.blue.light).png new file mode 100644 index 000000000000..0d376478ab3f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/focus_last_cell_in_last_row_when_pressing_Ctrl_+_End_key (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/focus_last_cell_in_row_that_contains_focus_when_pressing_End_key (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/focus_last_cell_in_row_that_contains_focus_when_pressing_End_key (fluent-next.blue.light).png new file mode 100644 index 000000000000..553d6034fe1e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/focus_last_cell_in_row_that_contains_focus_when_pressing_End_key (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/group_column_via_context_menu_when_showWhenGrouped_is_true_1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/group_column_via_context_menu_when_showWhenGrouped_is_true_1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..f028b7e5ae1a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/group_column_via_context_menu_when_showWhenGrouped_is_true_1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/group_column_via_context_menu_when_showWhenGrouped_is_true_2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/group_column_via_context_menu_when_showWhenGrouped_is_true_2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..ac487ba3f9e4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/group_column_via_context_menu_when_showWhenGrouped_is_true_2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/group_column_via_keyboard_when_showWhenGrouped_is_true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/group_column_via_keyboard_when_showWhenGrouped_is_true (fluent-next.blue.light).png new file mode 100644 index 000000000000..595471c4c0fd Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/group_column_via_keyboard_when_showWhenGrouped_is_true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/group_last_column_via_context_menu_1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/group_last_column_via_context_menu_1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..8c66fe9951fd Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/group_last_column_via_context_menu_1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/group_last_column_via_context_menu_2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/group_last_column_via_context_menu_2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..f1be5fc16471 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/group_last_column_via_context_menu_2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/group_last_column_via_keyboard (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/group_last_column_via_keyboard (fluent-next.blue.light).png new file mode 100644 index 000000000000..ac54d07cbf9a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/group_last_column_via_keyboard (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/group_second_column_via_context_menu_1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/group_second_column_via_context_menu_1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..7d1ad0d6e61d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/group_second_column_via_context_menu_1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/group_second_column_via_context_menu_2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/group_second_column_via_context_menu_2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..34e14b2a6088 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/group_second_column_via_context_menu_2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/group_second_column_via_keyboard (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/group_second_column_via_keyboard (fluent-next.blue.light).png new file mode 100644 index 000000000000..e8ba0a0faf2d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/group_second_column_via_keyboard (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/group_single_column_via_context_menu_1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/group_single_column_via_context_menu_1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..0b870529b4c5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/group_single_column_via_context_menu_1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/group_single_column_via_context_menu_2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/group_single_column_via_context_menu_2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..c8bd140d1843 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/group_single_column_via_context_menu_2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/group_single_column_via_keyboard (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/group_single_column_via_keyboard (fluent-next.blue.light).png new file mode 100644 index 000000000000..4b835514870f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/group_single_column_via_keyboard (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/native_scrolling_-_auto_scroll_to_left_when_column_reordering (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/native_scrolling_-_auto_scroll_to_left_when_column_reordering (fluent-next.blue.light).png new file mode 100644 index 000000000000..6fd4c43a6cfc Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/native_scrolling_-_auto_scroll_to_left_when_column_reordering (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/native_scrolling_-_auto_scroll_to_left_when_virtual_columns_are_enabled (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/native_scrolling_-_auto_scroll_to_left_when_virtual_columns_are_enabled (fluent-next.blue.light).png new file mode 100644 index 000000000000..a44588a09731 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/native_scrolling_-_auto_scroll_to_left_when_virtual_columns_are_enabled (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/native_scrolling_-_auto_scroll_to_right_when_column_reordering (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/native_scrolling_-_auto_scroll_to_right_when_column_reordering (fluent-next.blue.light).png new file mode 100644 index 000000000000..45362029b758 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/native_scrolling_-_auto_scroll_to_right_when_column_reordering (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/native_scrolling_-_auto_scroll_to_right_when_virtual_columns_are_enabled (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/native_scrolling_-_auto_scroll_to_right_when_virtual_columns_are_enabled (fluent-next.blue.light).png new file mode 100644 index 000000000000..bbee4a57558b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/native_scrolling_-_auto_scroll_to_right_when_virtual_columns_are_enabled (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/native_scrolling_-_navigate_to_first_cell_row_dragging__virtual_scrolling__virtual_columns (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/native_scrolling_-_navigate_to_first_cell_row_dragging__virtual_scrolling__virtual_columns (fluent-next.blue.light).png new file mode 100644 index 000000000000..21a834d18126 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/native_scrolling_-_navigate_to_first_cell_row_dragging__virtual_scrolling__virtual_columns (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/native_scrolling_-_navigate_to_last_cell_row_dragging__virtual_scrolling__virtual_columns (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/native_scrolling_-_navigate_to_last_cell_row_dragging__virtual_scrolling__virtual_columns (fluent-next.blue.light).png new file mode 100644 index 000000000000..e38f7ff0221f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/native_scrolling_-_navigate_to_last_cell_row_dragging__virtual_scrolling__virtual_columns (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/navigate_to_first_cell_in_first_row_when_pressing_Ctrl_+_Home_key_1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/navigate_to_first_cell_in_first_row_when_pressing_Ctrl_+_Home_key_1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..7f09f6287d5d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/navigate_to_first_cell_in_first_row_when_pressing_Ctrl_+_Home_key_1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/navigate_to_first_cell_in_first_row_when_pressing_Ctrl_+_Home_key_2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/navigate_to_first_cell_in_first_row_when_pressing_Ctrl_+_Home_key_2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..525e3dd2b394 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/navigate_to_first_cell_in_first_row_when_pressing_Ctrl_+_Home_key_2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/navigate_to_first_cell_in_first_row_when_virtual_scrolling_and_columns_are_enabled_1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/navigate_to_first_cell_in_first_row_when_virtual_scrolling_and_columns_are_enabled_1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..47237ddac1f2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/navigate_to_first_cell_in_first_row_when_virtual_scrolling_and_columns_are_enabled_1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/navigate_to_first_cell_in_first_row_when_virtual_scrolling_and_columns_are_enabled_2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/navigate_to_first_cell_in_first_row_when_virtual_scrolling_and_columns_are_enabled_2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..eda382f2b682 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/navigate_to_first_cell_in_first_row_when_virtual_scrolling_and_columns_are_enabled_2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/navigate_to_first_cell_in_first_row_when_virtual_scrolling_is_enabled_1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/navigate_to_first_cell_in_first_row_when_virtual_scrolling_is_enabled_1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..293f55c97640 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/navigate_to_first_cell_in_first_row_when_virtual_scrolling_is_enabled_1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/navigate_to_first_cell_in_first_row_when_virtual_scrolling_is_enabled_2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/navigate_to_first_cell_in_first_row_when_virtual_scrolling_is_enabled_2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..525e3dd2b394 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/navigate_to_first_cell_in_first_row_when_virtual_scrolling_is_enabled_2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/navigate_to_first_cell_in_row_that_contains_focus_when_adaptivity_is_enabled (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/navigate_to_first_cell_in_row_that_contains_focus_when_adaptivity_is_enabled (fluent-next.blue.light).png new file mode 100644 index 000000000000..32dff02f39d4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/navigate_to_first_cell_in_row_that_contains_focus_when_adaptivity_is_enabled (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/navigate_to_first_cell_in_row_that_contains_focus_when_pressing_Home_key (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/navigate_to_first_cell_in_row_that_contains_focus_when_pressing_Home_key (fluent-next.blue.light).png new file mode 100644 index 000000000000..525e3dd2b394 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/navigate_to_first_cell_in_row_that_contains_focus_when_pressing_Home_key (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/navigate_to_first_cell_in_row_that_contains_focus_when_row_dragging_is_enabled (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/navigate_to_first_cell_in_row_that_contains_focus_when_row_dragging_is_enabled (fluent-next.blue.light).png new file mode 100644 index 000000000000..ae1f5c15e48c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/navigate_to_first_cell_in_row_that_contains_focus_when_row_dragging_is_enabled (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/navigate_to_first_cell_in_row_that_contains_focus_when_virtual_columns_are_enabled (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/navigate_to_first_cell_in_row_that_contains_focus_when_virtual_columns_are_enabled (fluent-next.blue.light).png new file mode 100644 index 000000000000..525e3dd2b394 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/navigate_to_first_cell_in_row_that_contains_focus_when_virtual_columns_are_enabled (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/navigate_to_last_cell_in_last_row_when_pressing_Ctrl_+_End_key (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/navigate_to_last_cell_in_last_row_when_pressing_Ctrl_+_End_key (fluent-next.blue.light).png new file mode 100644 index 000000000000..ad7c189a5f31 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/navigate_to_last_cell_in_last_row_when_pressing_Ctrl_+_End_key (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/navigate_to_last_cell_in_last_row_when_virtual_scrolling_and_columns_are_enabled (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/navigate_to_last_cell_in_last_row_when_virtual_scrolling_and_columns_are_enabled (fluent-next.blue.light).png new file mode 100644 index 000000000000..66b6170e839a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/navigate_to_last_cell_in_last_row_when_virtual_scrolling_and_columns_are_enabled (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/navigate_to_last_cell_in_last_row_when_virtual_scrolling_is_enabled (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/navigate_to_last_cell_in_last_row_when_virtual_scrolling_is_enabled (fluent-next.blue.light).png new file mode 100644 index 000000000000..6cd4454646dc Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/navigate_to_last_cell_in_last_row_when_virtual_scrolling_is_enabled (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/navigate_to_last_cell_in_row_that_contains_focus_when_adaptivity_is_enabled (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/navigate_to_last_cell_in_row_that_contains_focus_when_adaptivity_is_enabled (fluent-next.blue.light).png new file mode 100644 index 000000000000..4bae04d21247 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/navigate_to_last_cell_in_row_that_contains_focus_when_adaptivity_is_enabled (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/navigate_to_last_cell_in_row_that_contains_focus_when_focusedRowEnabled_is_true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/navigate_to_last_cell_in_row_that_contains_focus_when_focusedRowEnabled_is_true (fluent-next.blue.light).png new file mode 100644 index 000000000000..9a7361e6e661 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/navigate_to_last_cell_in_row_that_contains_focus_when_focusedRowEnabled_is_true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/navigate_to_last_cell_in_row_that_contains_focus_when_pressing_End_key (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/navigate_to_last_cell_in_row_that_contains_focus_when_pressing_End_key (fluent-next.blue.light).png new file mode 100644 index 000000000000..140196847077 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/navigate_to_last_cell_in_row_that_contains_focus_when_pressing_End_key (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/navigate_to_last_cell_in_row_that_contains_focus_when_virtual_columns_are_enabled (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/navigate_to_last_cell_in_row_that_contains_focus_when_virtual_columns_are_enabled (fluent-next.blue.light).png new file mode 100644 index 000000000000..5c404dcd6c34 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/navigate_to_last_cell_in_row_that_contains_focus_when_virtual_columns_are_enabled (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/navigation_should_not_work_when_pressing_End_when_row_is_in_edit_state (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/navigation_should_not_work_when_pressing_End_when_row_is_in_edit_state (fluent-next.blue.light).png new file mode 100644 index 000000000000..3d671352d9f4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/navigation_should_not_work_when_pressing_End_when_row_is_in_edit_state (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_band_column_to_left (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_band_column_to_left (fluent-next.blue.light).png new file mode 100644 index 000000000000..1b172b1428ac Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_band_column_to_left (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_band_column_to_right (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_band_column_to_right (fluent-next.blue.light).png new file mode 100644 index 000000000000..9f457665ac29 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_band_column_to_right (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_column_to_left_via_context_menu_when_rtlEnabled_=_false_1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_column_to_left_via_context_menu_when_rtlEnabled_=_false_1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..ccfc2384b0ed Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_column_to_left_via_context_menu_when_rtlEnabled_=_false_1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_column_to_left_via_context_menu_when_rtlEnabled_=_false_2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_column_to_left_via_context_menu_when_rtlEnabled_=_false_2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..aaef61398f7e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_column_to_left_via_context_menu_when_rtlEnabled_=_false_2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_column_to_left_via_context_menu_when_rtlEnabled_=_true_1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_column_to_left_via_context_menu_when_rtlEnabled_=_true_1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..6aa5ad2fb873 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_column_to_left_via_context_menu_when_rtlEnabled_=_true_1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_column_to_left_via_context_menu_when_rtlEnabled_=_true_2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_column_to_left_via_context_menu_when_rtlEnabled_=_true_2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..fda9b5ced067 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_column_to_left_via_context_menu_when_rtlEnabled_=_true_2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_column_to_left_when_rtlEnabled_=_false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_column_to_left_when_rtlEnabled_=_false (fluent-next.blue.light).png new file mode 100644 index 000000000000..3e98cce53105 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_column_to_left_when_rtlEnabled_=_false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_column_to_left_when_rtlEnabled_=_true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_column_to_left_when_rtlEnabled_=_true (fluent-next.blue.light).png new file mode 100644 index 000000000000..ad6050ad8341 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_column_to_left_when_rtlEnabled_=_true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_column_to_left_when_there_are_hidden_columns (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_column_to_left_when_there_are_hidden_columns (fluent-next.blue.light).png new file mode 100644 index 000000000000..51a54ab2e927 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_column_to_left_when_there_are_hidden_columns (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_column_to_left_when_there_is_command_column (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_column_to_left_when_there_is_command_column (fluent-next.blue.light).png new file mode 100644 index 000000000000..0800f654fbb4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_column_to_left_when_there_is_command_column (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_column_to_right_via_context_menu_when_rtlEnabled_=_false_1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_column_to_right_via_context_menu_when_rtlEnabled_=_false_1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..920d32b00e3a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_column_to_right_via_context_menu_when_rtlEnabled_=_false_1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_column_to_right_via_context_menu_when_rtlEnabled_=_false_2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_column_to_right_via_context_menu_when_rtlEnabled_=_false_2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..c37f2489c0a0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_column_to_right_via_context_menu_when_rtlEnabled_=_false_2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_column_to_right_via_context_menu_when_rtlEnabled_=_true_1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_column_to_right_via_context_menu_when_rtlEnabled_=_true_1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..e7b3788737f8 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_column_to_right_via_context_menu_when_rtlEnabled_=_true_1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_column_to_right_via_context_menu_when_rtlEnabled_=_true_2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_column_to_right_via_context_menu_when_rtlEnabled_=_true_2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..ee65e3df2f67 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_column_to_right_via_context_menu_when_rtlEnabled_=_true_2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_column_to_right_when_rtlEnabled_=_false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_column_to_right_when_rtlEnabled_=_false (fluent-next.blue.light).png new file mode 100644 index 000000000000..cc580d370985 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_column_to_right_when_rtlEnabled_=_false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_column_to_right_when_rtlEnabled_=_true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_column_to_right_when_rtlEnabled_=_true (fluent-next.blue.light).png new file mode 100644 index 000000000000..587fb1d71241 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_column_to_right_when_rtlEnabled_=_true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_column_to_right_when_there_are_hidden_columns (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_column_to_right_when_there_are_hidden_columns (fluent-next.blue.light).png new file mode 100644 index 000000000000..4c1a7184c868 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_column_to_right_when_there_are_hidden_columns (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_column_to_right_when_there_is_command_column (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_column_to_right_when_there_is_command_column (fluent-next.blue.light).png new file mode 100644 index 000000000000..1f1c446579f6 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_column_to_right_when_there_is_command_column (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_column_via_context_menu_when_allowColumnReordering_is_false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_column_via_context_menu_when_allowColumnReordering_is_false (fluent-next.blue.light).png new file mode 100644 index 000000000000..26da367c6186 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_column_via_context_menu_when_allowColumnReordering_is_false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_column_when_allowColumnReordering_is_false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_column_when_allowColumnReordering_is_false (fluent-next.blue.light).png new file mode 100644 index 000000000000..1fc3b99466be Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_column_when_allowColumnReordering_is_false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_column_when_allowColumnReordering_is_false_and_group_panel_is_visible (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_column_when_allowColumnReordering_is_false_and_group_panel_is_visible (fluent-next.blue.light).png new file mode 100644 index 000000000000..9e117966a59c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_column_when_allowColumnReordering_is_false_and_group_panel_is_visible (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_column_when_there_are_async_templates_and_renderAsync_=_false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_column_when_there_are_async_templates_and_renderAsync_=_false (fluent-next.blue.light).png new file mode 100644 index 000000000000..5e2ef63fe44e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_column_when_there_are_async_templates_and_renderAsync_=_false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_column_when_there_are_async_templates_and_renderAsync_=_true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_column_when_there_are_async_templates_and_renderAsync_=_true (fluent-next.blue.light).png new file mode 100644 index 000000000000..5e2ef63fe44e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_column_when_there_are_async_templates_and_renderAsync_=_true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_column_with_allowReordering_is_false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_column_with_allowReordering_is_false (fluent-next.blue.light).png new file mode 100644 index 000000000000..1fc3b99466be Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_column_with_allowReordering_is_false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_custom_command_column_to_left (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_custom_command_column_to_left (fluent-next.blue.light).png new file mode 100644 index 000000000000..916ea0aa50a8 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_custom_command_column_to_left (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_custom_command_column_to_right (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_custom_command_column_to_right (fluent-next.blue.light).png new file mode 100644 index 000000000000..af6e56aed762 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_custom_command_column_to_right (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_custom_command_column_to_right_via_context_menu_1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_custom_command_column_to_right_via_context_menu_1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..070856935d8f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_custom_command_column_to_right_via_context_menu_1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_custom_command_column_to_right_via_context_menu_2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_custom_command_column_to_right_via_context_menu_2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..3d502e74aca9 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_custom_command_column_to_right_via_context_menu_2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_fixed_left_column_to_left (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_fixed_left_column_to_left (fluent-next.blue.light).png new file mode 100644 index 000000000000..1015d83fd81c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_fixed_left_column_to_left (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_fixed_left_column_to_left_via_context_menu_1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_fixed_left_column_to_left_via_context_menu_1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..a341f4a786ad Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_fixed_left_column_to_left_via_context_menu_1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_fixed_left_column_to_left_via_context_menu_2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_fixed_left_column_to_left_via_context_menu_2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..c03bd128b7ee Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_fixed_left_column_to_left_via_context_menu_2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_fixed_left_column_to_right (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_fixed_left_column_to_right (fluent-next.blue.light).png new file mode 100644 index 000000000000..3eb97311c4b1 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_fixed_left_column_to_right (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_fixed_left_column_to_right_via_context_menu_1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_fixed_left_column_to_right_via_context_menu_1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..8653d94a12c7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_fixed_left_column_to_right_via_context_menu_1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_fixed_left_column_to_right_via_context_menu_2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_fixed_left_column_to_right_via_context_menu_2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..4f0e9f4bae28 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_fixed_left_column_to_right_via_context_menu_2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_fixed_nested_column_to_left (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_fixed_nested_column_to_left (fluent-next.blue.light).png new file mode 100644 index 000000000000..745a20b9f676 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_fixed_nested_column_to_left (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_fixed_nested_column_to_right (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_fixed_nested_column_to_right (fluent-next.blue.light).png new file mode 100644 index 000000000000..57311c55e053 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_fixed_nested_column_to_right (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_fixed_right_column_to_left (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_fixed_right_column_to_left (fluent-next.blue.light).png new file mode 100644 index 000000000000..666b65f52b19 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_fixed_right_column_to_left (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_fixed_right_column_to_left_via_context_menu_1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_fixed_right_column_to_left_via_context_menu_1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..ec4a83ce2f7a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_fixed_right_column_to_left_via_context_menu_1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_fixed_right_column_to_left_via_context_menu_2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_fixed_right_column_to_left_via_context_menu_2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..4733818fe2d2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_fixed_right_column_to_left_via_context_menu_2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_fixed_right_column_to_right (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_fixed_right_column_to_right (fluent-next.blue.light).png new file mode 100644 index 000000000000..dd472df1c76a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_fixed_right_column_to_right (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_fixed_right_column_to_right_via_context_menu_1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_fixed_right_column_to_right_via_context_menu_1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..19923ca64585 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_fixed_right_column_to_right_via_context_menu_1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_fixed_right_column_to_right_via_context_menu_2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_fixed_right_column_to_right_via_context_menu_2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..289125cfe837 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_fixed_right_column_to_right_via_context_menu_2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_fixed_right_column_to_right_when_there_is_command_column_on_right (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_fixed_right_column_to_right_when_there_is_command_column_on_right (fluent-next.blue.light).png new file mode 100644 index 000000000000..7e6a5da2718b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_fixed_right_column_to_right_when_there_is_command_column_on_right (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_fixed_right_column_to_right_when_there_is_custom_command_column_on_right (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_fixed_right_column_to_right_when_there_is_custom_command_column_on_right (fluent-next.blue.light).png new file mode 100644 index 000000000000..1658da6423af Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_fixed_right_column_to_right_when_there_is_custom_command_column_on_right (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_group_column_to_left_via_context_menu_when_rtlEnabled_=_false_1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_group_column_to_left_via_context_menu_when_rtlEnabled_=_false_1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..893902d04075 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_group_column_to_left_via_context_menu_when_rtlEnabled_=_false_1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_group_column_to_left_via_context_menu_when_rtlEnabled_=_false_2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_group_column_to_left_via_context_menu_when_rtlEnabled_=_false_2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..2905e5a1ecfd Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_group_column_to_left_via_context_menu_when_rtlEnabled_=_false_2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_group_column_to_left_via_context_menu_when_rtlEnabled_=_true_1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_group_column_to_left_via_context_menu_when_rtlEnabled_=_true_1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..c6c591f55524 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_group_column_to_left_via_context_menu_when_rtlEnabled_=_true_1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_group_column_to_left_via_context_menu_when_rtlEnabled_=_true_2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_group_column_to_left_via_context_menu_when_rtlEnabled_=_true_2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..a1361074d1b8 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_group_column_to_left_via_context_menu_when_rtlEnabled_=_true_2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_group_column_to_left_when_rtlEnabled_=_false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_group_column_to_left_when_rtlEnabled_=_false (fluent-next.blue.light).png new file mode 100644 index 000000000000..97305e096790 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_group_column_to_left_when_rtlEnabled_=_false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_group_column_to_left_when_rtlEnabled_=_true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_group_column_to_left_when_rtlEnabled_=_true (fluent-next.blue.light).png new file mode 100644 index 000000000000..390902e7b4bb Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_group_column_to_left_when_rtlEnabled_=_true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_group_column_to_right_via_context_menu_when_rtlEnabled_=_false_1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_group_column_to_right_via_context_menu_when_rtlEnabled_=_false_1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..4b029a4aecba Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_group_column_to_right_via_context_menu_when_rtlEnabled_=_false_1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_group_column_to_right_via_context_menu_when_rtlEnabled_=_false_2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_group_column_to_right_via_context_menu_when_rtlEnabled_=_false_2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..2ab09af383c6 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_group_column_to_right_via_context_menu_when_rtlEnabled_=_false_2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_group_column_to_right_via_context_menu_when_rtlEnabled_=_true_1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_group_column_to_right_via_context_menu_when_rtlEnabled_=_true_1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..c9343bac9af7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_group_column_to_right_via_context_menu_when_rtlEnabled_=_true_1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_group_column_to_right_via_context_menu_when_rtlEnabled_=_true_2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_group_column_to_right_via_context_menu_when_rtlEnabled_=_true_2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..61d11dba0fa6 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_group_column_to_right_via_context_menu_when_rtlEnabled_=_true_2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_group_column_to_right_when_rtlEnabled_=_false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_group_column_to_right_when_rtlEnabled_=_false (fluent-next.blue.light).png new file mode 100644 index 000000000000..748a4510f126 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_group_column_to_right_when_rtlEnabled_=_false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_group_column_to_right_when_rtlEnabled_=_true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_group_column_to_right_when_rtlEnabled_=_true (fluent-next.blue.light).png new file mode 100644 index 000000000000..88873b5a7b1c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_group_column_to_right_when_rtlEnabled_=_true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_group_column_via_context_menu_when_group_panel_allowColumnDragging_is_false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_group_column_via_context_menu_when_group_panel_allowColumnDragging_is_false (fluent-next.blue.light).png new file mode 100644 index 000000000000..dae9a14a46a8 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_group_column_via_context_menu_when_group_panel_allowColumnDragging_is_false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_group_column_when_group_panel_allowColumnDragging_is_false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_group_column_when_group_panel_allowColumnDragging_is_false (fluent-next.blue.light).png new file mode 100644 index 000000000000..3c11a13bdf4a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_group_column_when_group_panel_allowColumnDragging_is_false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_group_column_when_onKeyDown_args_handled_=_true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_group_column_when_onKeyDown_args_handled_=_true (fluent-next.blue.light).png new file mode 100644 index 000000000000..3c11a13bdf4a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_group_column_when_onKeyDown_args_handled_=_true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_group_column_with_allowGrouping_is_false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_group_column_with_allowGrouping_is_false (fluent-next.blue.light).png new file mode 100644 index 000000000000..3c11a13bdf4a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_group_column_with_allowGrouping_is_false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_nested_column_to_left (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_nested_column_to_left (fluent-next.blue.light).png new file mode 100644 index 000000000000..133df09c3899 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_nested_column_to_left (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_nested_column_to_left_via_context_menu_1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_nested_column_to_left_via_context_menu_1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..85aceb4ac631 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_nested_column_to_left_via_context_menu_1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_nested_column_to_left_via_context_menu_2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_nested_column_to_left_via_context_menu_2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..2ad9a4a8995c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_nested_column_to_left_via_context_menu_2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_nested_column_to_right (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_nested_column_to_right (fluent-next.blue.light).png new file mode 100644 index 000000000000..219d1d573cfe Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_nested_column_to_right (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_nested_column_to_right_via_context_menu_1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_nested_column_to_right_via_context_menu_1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..a748554c1445 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_nested_column_to_right_via_context_menu_1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_nested_column_to_right_via_context_menu_2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_nested_column_to_right_via_context_menu_2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..6d0a712d58a9 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_nested_column_to_right_via_context_menu_2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_sticky_column_to_left (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_sticky_column_to_left (fluent-next.blue.light).png new file mode 100644 index 000000000000..2f568eec1faf Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_sticky_column_to_left (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_sticky_column_to_right (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_sticky_column_to_right (fluent-next.blue.light).png new file mode 100644 index 000000000000..c43e1febc596 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/reorder_sticky_column_to_right (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/simulated_scrolling_-_auto_scroll_to_left_when_column_reordering (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/simulated_scrolling_-_auto_scroll_to_left_when_column_reordering (fluent-next.blue.light).png new file mode 100644 index 000000000000..73058c7ce4ee Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/simulated_scrolling_-_auto_scroll_to_left_when_column_reordering (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/simulated_scrolling_-_auto_scroll_to_left_when_virtual_columns_are_enabled (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/simulated_scrolling_-_auto_scroll_to_left_when_virtual_columns_are_enabled (fluent-next.blue.light).png new file mode 100644 index 000000000000..1769f3cd80d1 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/simulated_scrolling_-_auto_scroll_to_left_when_virtual_columns_are_enabled (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/simulated_scrolling_-_auto_scroll_to_right_when_column_reordering (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/simulated_scrolling_-_auto_scroll_to_right_when_column_reordering (fluent-next.blue.light).png new file mode 100644 index 000000000000..bdb8b443ea01 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/simulated_scrolling_-_auto_scroll_to_right_when_column_reordering (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/simulated_scrolling_-_auto_scroll_to_right_when_virtual_columns_are_enabled (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/simulated_scrolling_-_auto_scroll_to_right_when_virtual_columns_are_enabled (fluent-next.blue.light).png new file mode 100644 index 000000000000..f151c962ade1 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/simulated_scrolling_-_auto_scroll_to_right_when_virtual_columns_are_enabled (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/simulated_scrolling_-_navigate_to_first_cell_row_dragging__virtual_scrolling__virtual_columns (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/simulated_scrolling_-_navigate_to_first_cell_row_dragging__virtual_scrolling__virtual_columns (fluent-next.blue.light).png new file mode 100644 index 000000000000..0feddddbd56b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/simulated_scrolling_-_navigate_to_first_cell_row_dragging__virtual_scrolling__virtual_columns (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/simulated_scrolling_-_navigate_to_last_cell_row_dragging__virtual_scrolling__virtual_columns (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/simulated_scrolling_-_navigate_to_last_cell_row_dragging__virtual_scrolling__virtual_columns (fluent-next.blue.light).png new file mode 100644 index 000000000000..dd276d9223ca Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/simulated_scrolling_-_navigate_to_last_cell_row_dragging__virtual_scrolling__virtual_columns (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/ungroup_all_columns_via_context_menu_1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/ungroup_all_columns_via_context_menu_1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..89a818ae8938 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/ungroup_all_columns_via_context_menu_1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/ungroup_all_columns_via_context_menu_2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/ungroup_all_columns_via_context_menu_2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..0a211b350481 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/ungroup_all_columns_via_context_menu_2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/ungroup_all_columns_via_context_menu_when_showWhenGrouped_is_true_1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/ungroup_all_columns_via_context_menu_when_showWhenGrouped_is_true_1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..fbb112ebdff3 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/ungroup_all_columns_via_context_menu_when_showWhenGrouped_is_true_1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/ungroup_all_columns_via_context_menu_when_showWhenGrouped_is_true_2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/ungroup_all_columns_via_context_menu_when_showWhenGrouped_is_true_2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..b8e91fe34ee0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/ungroup_all_columns_via_context_menu_when_showWhenGrouped_is_true_2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/ungroup_all_columns_when_pressing_Shift_+_Alt_+_G (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/ungroup_all_columns_when_pressing_Shift_+_Alt_+_G (fluent-next.blue.light).png new file mode 100644 index 000000000000..430565c65e79 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/ungroup_all_columns_when_pressing_Shift_+_Alt_+_G (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/ungroup_all_columns_when_pressing_Shift_+_Alt_+_G_on_header (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/ungroup_all_columns_when_pressing_Shift_+_Alt_+_G_on_header (fluent-next.blue.light).png new file mode 100644 index 000000000000..0162c0b01f4e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/ungroup_all_columns_when_pressing_Shift_+_Alt_+_G_on_header (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/ungroup_column_via_context_menu_when_showWhenGrouped_is_true_1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/ungroup_column_via_context_menu_when_showWhenGrouped_is_true_1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..d57536457da7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/ungroup_column_via_context_menu_when_showWhenGrouped_is_true_1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/ungroup_column_via_context_menu_when_showWhenGrouped_is_true_2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/ungroup_column_via_context_menu_when_showWhenGrouped_is_true_2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..3ad470bd99ed Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/ungroup_column_via_context_menu_when_showWhenGrouped_is_true_2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/ungroup_column_when_pressing_Ctrl_+_Shift_+_G (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/ungroup_column_when_pressing_Ctrl_+_Shift_+_G (fluent-next.blue.light).png new file mode 100644 index 000000000000..81f6b66baf1e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/ungroup_column_when_pressing_Ctrl_+_Shift_+_G (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/ungroup_column_when_pressing_ctrl_+_shift_+_g_if_showWhenGrouped_is_true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/ungroup_column_when_pressing_ctrl_+_shift_+_g_if_showWhenGrouped_is_true (fluent-next.blue.light).png new file mode 100644 index 000000000000..fdbd82afd098 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/ungroup_column_when_pressing_ctrl_+_shift_+_g_if_showWhenGrouped_is_true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/ungroup_column_when_pressing_delete (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/ungroup_column_when_pressing_delete (fluent-next.blue.light).png new file mode 100644 index 000000000000..a5239bf263a2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/ungroup_column_when_pressing_delete (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/ungroup_last_column_via_context_menu_1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/ungroup_last_column_via_context_menu_1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..4341b4de81b5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/ungroup_last_column_via_context_menu_1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/ungroup_last_column_via_context_menu_2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/ungroup_last_column_via_context_menu_2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..c4bb3cd63e31 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/ungroup_last_column_via_context_menu_2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/ungroup_last_column_when_pressing_backspace (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/ungroup_last_column_when_pressing_backspace (fluent-next.blue.light).png new file mode 100644 index 000000000000..ee598b33d450 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/ungroup_last_column_when_pressing_backspace (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/ungroup_second_column_via_context_menu_1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/ungroup_second_column_via_context_menu_1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..d3d2f345f0fa Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/ungroup_second_column_via_context_menu_1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/ungroup_second_column_via_context_menu_2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/ungroup_second_column_via_context_menu_2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..e8a562c91d25 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/ungroup_second_column_via_context_menu_2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/ungroup_second_column_when_pressing_backspace (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/ungroup_second_column_when_pressing_backspace (fluent-next.blue.light).png new file mode 100644 index 000000000000..2702d4973b43 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/ungroup_second_column_when_pressing_backspace (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/ungroup_single_column_on_backspace_when_there_is_command_column (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/ungroup_single_column_on_backspace_when_there_is_command_column (fluent-next.blue.light).png new file mode 100644 index 000000000000..5cc427a1b5ba Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/ungroup_single_column_on_backspace_when_there_is_command_column (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/ungroup_single_column_via_context_menu_1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/ungroup_single_column_via_context_menu_1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..22fed319a5ac Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/ungroup_single_column_via_context_menu_1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/ungroup_single_column_via_context_menu_2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/ungroup_single_column_via_context_menu_2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..d171dc63488d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/ungroup_single_column_via_context_menu_2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/ungroup_single_column_when_pressing_backspace (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/ungroup_single_column_when_pressing_backspace (fluent-next.blue.light).png new file mode 100644 index 000000000000..430565c65e79 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/etalons/ungroup_single_column_when_pressing_backspace (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/markup/etalons/T1293839-grid-no-data-text-rendered (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/markup/etalons/T1293839-grid-no-data-text-rendered (fluent-next.blue.light).png new file mode 100644 index 000000000000..0d0886b5083d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/markup/etalons/T1293839-grid-no-data-text-rendered (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/markup/etalons/T838734_alternate-rows-same-size (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/markup/etalons/T838734_alternate-rows-same-size (fluent-next.blue.light).png new file mode 100644 index 000000000000..0f845246097c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/markup/etalons/T838734_alternate-rows-same-size (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/markup/etalons/datagrid-deleted-row-height-no-row-lines-and-fixed-column (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/markup/etalons/datagrid-deleted-row-height-no-row-lines-and-fixed-column (fluent-next.blue.light).png new file mode 100644 index 000000000000..12c60b6ab62e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/markup/etalons/datagrid-deleted-row-height-no-row-lines-and-fixed-column (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/markup/etalons/datagrid-deleted-row-height-no-row-lines-and-no-fixed-column (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/markup/etalons/datagrid-deleted-row-height-no-row-lines-and-no-fixed-column (fluent-next.blue.light).png new file mode 100644 index 000000000000..ab44a6360e0b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/markup/etalons/datagrid-deleted-row-height-no-row-lines-and-no-fixed-column (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/markup/etalons/datagrid-deleted-row-height-row-lines-and-fixed-column (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/markup/etalons/datagrid-deleted-row-height-row-lines-and-fixed-column (fluent-next.blue.light).png new file mode 100644 index 000000000000..fe008e49345f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/markup/etalons/datagrid-deleted-row-height-row-lines-and-fixed-column (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/markup/etalons/datagrid-deleted-row-height-row-lines-and-no-fixed-column (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/markup/etalons/datagrid-deleted-row-height-row-lines-and-no-fixed-column (fluent-next.blue.light).png new file mode 100644 index 000000000000..5b217c3dc803 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/markup/etalons/datagrid-deleted-row-height-row-lines-and-no-fixed-column (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/markup/etalons/grid-no-data-text-position (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/markup/etalons/grid-no-data-text-position (fluent-next.blue.light).png new file mode 100644 index 000000000000..69a19d7160fc Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/markup/etalons/grid-no-data-text-position (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/markup/etalons/icon-sizes (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/markup/etalons/icon-sizes (fluent-next.blue.light).png new file mode 100644 index 000000000000..4a0a5d0eccb1 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/markup/etalons/icon-sizes (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/masterDetail/etalons/T1045321 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/masterDetail/etalons/T1045321 (fluent-next.blue.light).png new file mode 100644 index 000000000000..fba5c820898f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/masterDetail/etalons/T1045321 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/masterDetail/etalons/T1113525.page-size-select (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/masterDetail/etalons/T1113525.page-size-select (fluent-next.blue.light).png new file mode 100644 index 000000000000..985a85d15e01 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/masterDetail/etalons/T1113525.page-size-select (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/masterDetail/etalons/T1159578-master-detail-with-renderAsync-1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/masterDetail/etalons/T1159578-master-detail-with-renderAsync-1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..40ee8c64fd0f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/masterDetail/etalons/T1159578-master-detail-with-renderAsync-1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/masterDetail/etalons/T1159578-master-detail-with-renderAsync-2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/masterDetail/etalons/T1159578-master-detail-with-renderAsync-2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..fa356d4b8492 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/masterDetail/etalons/T1159578-master-detail-with-renderAsync-2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/masterDetail/etalons/T1167889-master-detail-with-scrolling.useNative=false-1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/masterDetail/etalons/T1167889-master-detail-with-scrolling.useNative=false-1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..33fb472f0461 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/masterDetail/etalons/T1167889-master-detail-with-scrolling.useNative=false-1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/masterDetail/etalons/T1167889-master-detail-with-scrolling.useNative=false-2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/masterDetail/etalons/T1167889-master-detail-with-scrolling.useNative=false-2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..155483a11ad2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/masterDetail/etalons/T1167889-master-detail-with-scrolling.useNative=false-2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/masterDetail/etalons/T1167889-master-detail-with-scrolling.useNative=false-3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/masterDetail/etalons/T1167889-master-detail-with-scrolling.useNative=false-3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..33fb472f0461 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/masterDetail/etalons/T1167889-master-detail-with-scrolling.useNative=false-3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/masterDetail/etalons/T1167889-master-detail-with-scrolling.useNative=true-1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/masterDetail/etalons/T1167889-master-detail-with-scrolling.useNative=true-1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..33fb472f0461 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/masterDetail/etalons/T1167889-master-detail-with-scrolling.useNative=true-1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/masterDetail/etalons/T1167889-master-detail-with-scrolling.useNative=true-2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/masterDetail/etalons/T1167889-master-detail-with-scrolling.useNative=true-2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..155483a11ad2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/masterDetail/etalons/T1167889-master-detail-with-scrolling.useNative=true-2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/masterDetail/etalons/T1167889-master-detail-with-scrolling.useNative=true-3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/masterDetail/etalons/T1167889-master-detail-with-scrolling.useNative=true-3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..33fb472f0461 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/masterDetail/etalons/T1167889-master-detail-with-scrolling.useNative=true-3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/rowDragging/etalons/T1179218-virtual-scrolling-dragging-row (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/rowDragging/etalons/T1179218-virtual-scrolling-dragging-row (fluent-next.blue.light).png new file mode 100644 index 000000000000..5649619958e7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/rowDragging/etalons/T1179218-virtual-scrolling-dragging-row (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/sorting/etalons/T1237863_datagrid-sorting_and_filtering (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/sorting/etalons/T1237863_datagrid-sorting_and_filtering (fluent-next.blue.light).png new file mode 100644 index 000000000000..95963d1eb842 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/sorting/etalons/T1237863_datagrid-sorting_and_filtering (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/sorting/etalons/datagrid-alphabetical-icons-should-be-correct (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/sorting/etalons/datagrid-alphabetical-icons-should-be-correct (fluent-next.blue.light).png new file mode 100644 index 000000000000..8d78ad519f95 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/sorting/etalons/datagrid-alphabetical-icons-should-be-correct (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/stateStoring/etalons/T1188828-state-storing-with-selected-row-keys (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/stateStoring/etalons/T1188828-state-storing-with-selected-row-keys (fluent-next.blue.light).png new file mode 100644 index 000000000000..df492943a308 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/stateStoring/etalons/T1188828-state-storing-with-selected-row-keys (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/validation/etalons/Invalid-message-word-wrapping (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/validation/etalons/Invalid-message-word-wrapping (fluent-next.blue.light).png new file mode 100644 index 000000000000..14536b85cc3a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/validation/etalons/Invalid-message-word-wrapping (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/validation/etalons/validation-message-shown-after-master-detail-collapse (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/validation/etalons/validation-message-shown-after-master-detail-collapse (fluent-next.blue.light).png new file mode 100644 index 000000000000..7a1780d362bf Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/validation/etalons/validation-message-shown-after-master-detail-collapse (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/validation/etalons/validation-popup (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/validation/etalons/validation-popup (fluent-next.blue.light).png new file mode 100644 index 000000000000..f481e7840d49 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/validation/etalons/validation-popup (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/validation/etalons/validation-popup_master-detail (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/validation/etalons/validation-popup_master-detail (fluent-next.blue.light).png new file mode 100644 index 000000000000..9ccbd4cc2910 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/validation/etalons/validation-popup_master-detail (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/validation/etalons/validation-popup_master-detail_after-scroll (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/validation/etalons/validation-popup_master-detail_after-scroll (fluent-next.blue.light).png new file mode 100644 index 000000000000..c524c957203a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/validation/etalons/validation-popup_master-detail_after-scroll (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/validation/etalons/validation-popup_master-detail_fixed-column (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/validation/etalons/validation-popup_master-detail_fixed-column (fluent-next.blue.light).png new file mode 100644 index 000000000000..8dc191686ad0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/validation/etalons/validation-popup_master-detail_fixed-column (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/validation/etalons/validation-popup_master-detail_fixed-column_after-scroll (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/validation/etalons/validation-popup_master-detail_fixed-column_after-scroll (fluent-next.blue.light).png new file mode 100644 index 000000000000..ef80a3a679d5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/validation/etalons/validation-popup_master-detail_fixed-column_after-scroll (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/virtualColumns/etalons/T1090735-grid-virtual-columns (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/virtualColumns/etalons/T1090735-grid-virtual-columns (fluent-next.blue.light).png new file mode 100644 index 000000000000..d0d6c511c492 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/virtualColumns/etalons/T1090735-grid-virtual-columns (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/virtualColumns/etalons/T1176160-master-detail-with-virtual-columns-and-useNative=false-1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/virtualColumns/etalons/T1176160-master-detail-with-virtual-columns-and-useNative=false-1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..b5f6b95dd3c7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/virtualColumns/etalons/T1176160-master-detail-with-virtual-columns-and-useNative=false-1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/virtualColumns/etalons/T1176160-master-detail-with-virtual-columns-and-useNative=false-2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/virtualColumns/etalons/T1176160-master-detail-with-virtual-columns-and-useNative=false-2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..a23faad80f74 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/virtualColumns/etalons/T1176160-master-detail-with-virtual-columns-and-useNative=false-2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/virtualColumns/etalons/T1176160-master-detail-with-virtual-columns-and-useNative=true-1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/virtualColumns/etalons/T1176160-master-detail-with-virtual-columns-and-useNative=true-1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..af8624ba7aea Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/virtualColumns/etalons/T1176160-master-detail-with-virtual-columns-and-useNative=true-1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/virtualColumns/etalons/T1176160-master-detail-with-virtual-columns-and-useNative=true-2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/virtualColumns/etalons/T1176160-master-detail-with-virtual-columns-and-useNative=true-2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..d0a76a1328ab Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/virtualColumns/etalons/T1176160-master-detail-with-virtual-columns-and-useNative=true-2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/virtualColumns/etalons/T1176161-master-detail-with-virtual-columns-1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/virtualColumns/etalons/T1176161-master-detail-with-virtual-columns-1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..a6156e1335a2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/virtualColumns/etalons/T1176161-master-detail-with-virtual-columns-1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/virtualColumns/etalons/T1176161-master-detail-with-virtual-columns-2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/virtualColumns/etalons/T1176161-master-detail-with-virtual-columns-2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..929a9d228e2c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/virtualColumns/etalons/T1176161-master-detail-with-virtual-columns-2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/virtualColumns/etalons/T1221369_fixed-summary-with-virtual-cols_0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/virtualColumns/etalons/T1221369_fixed-summary-with-virtual-cols_0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..7c4f8689688d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/virtualColumns/etalons/T1221369_fixed-summary-with-virtual-cols_0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/virtualColumns/etalons/T1221369_fixed-summary-with-virtual-cols_1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/virtualColumns/etalons/T1221369_fixed-summary-with-virtual-cols_1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..844a891b4c69 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/virtualColumns/etalons/T1221369_fixed-summary-with-virtual-cols_1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/virtualColumns/etalons/T1221369_fixed-summary-with-virtual-cols_2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/virtualColumns/etalons/T1221369_fixed-summary-with-virtual-cols_2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..7c4f8689688d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/virtualColumns/etalons/T1221369_fixed-summary-with-virtual-cols_2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/virtualColumns/etalons/T1260472-async-render-after-horizontal-scrolling (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/virtualColumns/etalons/T1260472-async-render-after-horizontal-scrolling (fluent-next.blue.light).png new file mode 100644 index 000000000000..19eaa5cfd6de Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/virtualColumns/etalons/T1260472-async-render-after-horizontal-scrolling (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/virtualColumns/etalons/T1260472-async-render-during-horizontal-scrolling (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/virtualColumns/etalons/T1260472-async-render-during-horizontal-scrolling (fluent-next.blue.light).png new file mode 100644 index 000000000000..430ba8abcee3 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/virtualColumns/etalons/T1260472-async-render-during-horizontal-scrolling (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/virtualColumns/etalons/T1319173__datagrid__virtual-columns__repaintChangesOnly=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/virtualColumns/etalons/T1319173__datagrid__virtual-columns__repaintChangesOnly=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..e78aac03ee2b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/virtualColumns/etalons/T1319173__datagrid__virtual-columns__repaintChangesOnly=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/virtualColumns/etalons/data-grid__virtual-columns__column-chooser (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/virtualColumns/etalons/data-grid__virtual-columns__column-chooser (fluent-next.blue.light).png new file mode 100644 index 000000000000..89308174b61e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/virtualColumns/etalons/data-grid__virtual-columns__column-chooser (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/virtualColumns/etalons/data-grid__virtual-columns__grouping (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/virtualColumns/etalons/data-grid__virtual-columns__grouping (fluent-next.blue.light).png new file mode 100644 index 000000000000..94b7a1adbd26 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/virtualColumns/etalons/data-grid__virtual-columns__grouping (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/virtualColumns/etalons/data-grid__virtual-columns__reoder (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/virtualColumns/etalons/data-grid__virtual-columns__reoder (fluent-next.blue.light).png new file mode 100644 index 000000000000..1fd0074d51fb Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/virtualColumns/etalons/data-grid__virtual-columns__reoder (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/common/virtualColumns/etalons/grid-virtual-columns-after-reinit (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/common/virtualColumns/etalons/grid-virtual-columns-after-reinit (fluent-next.blue.light).png new file mode 100644 index 000000000000..4a116506b5a4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/common/virtualColumns/etalons/grid-virtual-columns-after-reinit (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/T1269088_grid_with_fixed_columns_and_without_data (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/T1269088_grid_with_fixed_columns_and_without_data (fluent-next.blue.light).png new file mode 100644 index 000000000000..75314783c5d5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/T1269088_grid_with_fixed_columns_and_without_data (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/T1279722_band_sticky_columns-headers_with_filter_row_and_grouped_column_(rtl=false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/T1279722_band_sticky_columns-headers_with_filter_row_and_grouped_column_(rtl=false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..8ca3b88a0653 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/T1279722_band_sticky_columns-headers_with_filter_row_and_grouped_column_(rtl=false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/T1279722_band_sticky_columns-headers_with_filter_row_and_grouped_column_(rtl=true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/T1279722_band_sticky_columns-headers_with_filter_row_and_grouped_column_(rtl=true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..2b35aaf3ac65 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/T1279722_band_sticky_columns-headers_with_filter_row_and_grouped_column_(rtl=true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/T1303134_boolean_column_checkboxes_with_fixed_columns (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/T1303134_boolean_column_checkboxes_with_fixed_columns (fluent-next.blue.light).png new file mode 100644 index 000000000000..74460f3489c1 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/T1303134_boolean_column_checkboxes_with_fixed_columns (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/adaptability_fixed_columns_with_small_grid_width_(rtlEnabled_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/adaptability_fixed_columns_with_small_grid_width_(rtlEnabled_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..4a43b67df96f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/adaptability_fixed_columns_with_small_grid_width_(rtlEnabled_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/adaptability_fixed_columns_with_small_grid_width_(rtlEnabled_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/adaptability_fixed_columns_with_small_grid_width_(rtlEnabled_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..2b8420496b0d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/adaptability_fixed_columns_with_small_grid_width_(rtlEnabled_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/adaptability_sticky_columns_with_adaptive_detail_row_1_(rtlEnabled_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/adaptability_sticky_columns_with_adaptive_detail_row_1_(rtlEnabled_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..a7c17d862d8b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/adaptability_sticky_columns_with_adaptive_detail_row_1_(rtlEnabled_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/adaptability_sticky_columns_with_adaptive_detail_row_1_(rtlEnabled_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/adaptability_sticky_columns_with_adaptive_detail_row_1_(rtlEnabled_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..87b76d726a54 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/adaptability_sticky_columns_with_adaptive_detail_row_1_(rtlEnabled_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/adaptability_sticky_columns_with_adaptive_detail_row_2_(rtlEnabled_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/adaptability_sticky_columns_with_adaptive_detail_row_2_(rtlEnabled_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..a0a30958ea38 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/adaptability_sticky_columns_with_adaptive_detail_row_2_(rtlEnabled_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/adaptability_sticky_columns_with_adaptive_detail_row_2_(rtlEnabled_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/adaptability_sticky_columns_with_adaptive_detail_row_2_(rtlEnabled_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..bca51f8de503 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/adaptability_sticky_columns_with_adaptive_detail_row_2_(rtlEnabled_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/adaptability_sticky_columns_with_sticky_positions_1_(rtlEnabled_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/adaptability_sticky_columns_with_sticky_positions_1_(rtlEnabled_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..9b23c26989f2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/adaptability_sticky_columns_with_sticky_positions_1_(rtlEnabled_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/adaptability_sticky_columns_with_sticky_positions_1_(rtlEnabled_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/adaptability_sticky_columns_with_sticky_positions_1_(rtlEnabled_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..a31983275a41 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/adaptability_sticky_columns_with_sticky_positions_1_(rtlEnabled_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/adaptability_sticky_columns_with_sticky_positions_2_(rtlEnabled_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/adaptability_sticky_columns_with_sticky_positions_2_(rtlEnabled_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..46b3f586d7ac Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/adaptability_sticky_columns_with_sticky_positions_2_(rtlEnabled_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/adaptability_sticky_columns_with_sticky_positions_2_(rtlEnabled_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/adaptability_sticky_columns_with_sticky_positions_2_(rtlEnabled_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..a31983275a41 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/adaptability_sticky_columns_with_sticky_positions_2_(rtlEnabled_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/adaptability_sticky_columns_with_sticky_positions_and_hiding_priority_1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/adaptability_sticky_columns_with_sticky_positions_and_hiding_priority_1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..9b23c26989f2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/adaptability_sticky_columns_with_sticky_positions_and_hiding_priority_1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/adaptability_sticky_columns_with_sticky_positions_and_hiding_priority_2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/adaptability_sticky_columns_with_sticky_positions_and_hiding_priority_2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..46b3f586d7ac Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/adaptability_sticky_columns_with_sticky_positions_and_hiding_priority_2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/banded_hidden_column_between_sticky_column_and_left_fixed_column_1_(rtlEnabled_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/banded_hidden_column_between_sticky_column_and_left_fixed_column_1_(rtlEnabled_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..1bcc73fdb915 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/banded_hidden_column_between_sticky_column_and_left_fixed_column_1_(rtlEnabled_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/banded_hidden_column_between_sticky_column_and_left_fixed_column_1_(rtlEnabled_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/banded_hidden_column_between_sticky_column_and_left_fixed_column_1_(rtlEnabled_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..e7ec26129a0d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/banded_hidden_column_between_sticky_column_and_left_fixed_column_1_(rtlEnabled_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/banded_hidden_column_between_sticky_column_and_left_fixed_column_2_(rtlEnabled_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/banded_hidden_column_between_sticky_column_and_left_fixed_column_2_(rtlEnabled_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..12f9c8e30a81 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/banded_hidden_column_between_sticky_column_and_left_fixed_column_2_(rtlEnabled_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/banded_hidden_column_between_sticky_column_and_left_fixed_column_2_(rtlEnabled_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/banded_hidden_column_between_sticky_column_and_left_fixed_column_2_(rtlEnabled_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..9843f3b96b5f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/banded_hidden_column_between_sticky_column_and_left_fixed_column_2_(rtlEnabled_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/banded_hidden_column_between_sticky_column_and_right_fixed_column_1_(rtlEnabled_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/banded_hidden_column_between_sticky_column_and_right_fixed_column_1_(rtlEnabled_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..bb2648cf023d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/banded_hidden_column_between_sticky_column_and_right_fixed_column_1_(rtlEnabled_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/banded_hidden_column_between_sticky_column_and_right_fixed_column_1_(rtlEnabled_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/banded_hidden_column_between_sticky_column_and_right_fixed_column_1_(rtlEnabled_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..65cc673025a2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/banded_hidden_column_between_sticky_column_and_right_fixed_column_1_(rtlEnabled_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/banded_hidden_column_between_sticky_column_and_right_fixed_column_2_(rtlEnabled_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/banded_hidden_column_between_sticky_column_and_right_fixed_column_2_(rtlEnabled_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..3447eed82e03 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/banded_hidden_column_between_sticky_column_and_right_fixed_column_2_(rtlEnabled_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/banded_hidden_column_between_sticky_column_and_right_fixed_column_2_(rtlEnabled_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/banded_hidden_column_between_sticky_column_and_right_fixed_column_2_(rtlEnabled_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..8678f6dde4a5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/banded_hidden_column_between_sticky_column_and_right_fixed_column_2_(rtlEnabled_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/context_menu_and_virtual_columns_with_fixed_columns (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/context_menu_and_virtual_columns_with_fixed_columns (fluent-next.blue.light).png new file mode 100644 index 000000000000..9fdb2c6d6334 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/context_menu_and_virtual_columns_with_fixed_columns (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/datagrid_adaptive_item_focused (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/datagrid_adaptive_item_focused (fluent-next.blue.light).png new file mode 100644 index 000000000000..14f8f246b8d3 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/datagrid_adaptive_item_focused (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/datagrid_default_state_with_showRowLines=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/datagrid_default_state_with_showRowLines=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..f4cd2ad6e3f5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/datagrid_default_state_with_showRowLines=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/datagrid_default_state_with_showRowLines=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/datagrid_default_state_with_showRowLines=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..0b7f14a4bb6c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/datagrid_default_state_with_showRowLines=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/datagrid_group_footer_row_focused (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/datagrid_group_footer_row_focused (fluent-next.blue.light).png new file mode 100644 index 000000000000..5272f02a3e4f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/datagrid_group_footer_row_focused (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/datagrid_group_row_focused (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/datagrid_group_row_focused (fluent-next.blue.light).png new file mode 100644 index 000000000000..035cbb978cd1 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/datagrid_group_row_focused (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/datagrid_header_hover_with_fixed_columns (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/datagrid_header_hover_with_fixed_columns (fluent-next.blue.light).png new file mode 100644 index 000000000000..7c7d1ac2aa88 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/datagrid_header_hover_with_fixed_columns (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/datagrid_row_alt_with_fixed_columns (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/datagrid_row_alt_with_fixed_columns (fluent-next.blue.light).png new file mode 100644 index 000000000000..b1aaa8a5eced Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/datagrid_row_alt_with_fixed_columns (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/datagrid_row_hover_with_fixed_columns (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/datagrid_row_hover_with_fixed_columns (fluent-next.blue.light).png new file mode 100644 index 000000000000..88326ea143f9 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/datagrid_row_hover_with_fixed_columns (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/datagrid_selected_focused_edit_state_with_showRowLines=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/datagrid_selected_focused_edit_state_with_showRowLines=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..359d39e3cc7a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/datagrid_selected_focused_edit_state_with_showRowLines=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/datagrid_selected_focused_edit_state_with_showRowLines=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/datagrid_selected_focused_edit_state_with_showRowLines=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..87310b242e00 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/datagrid_selected_focused_edit_state_with_showRowLines=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/datagrid_sticky_columns_with_drag_and_drop (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/datagrid_sticky_columns_with_drag_and_drop (fluent-next.blue.light).png new file mode 100644 index 000000000000..036e2290f240 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/datagrid_sticky_columns_with_drag_and_drop (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/drag-icons-focused-selected-rows (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/drag-icons-focused-selected-rows (fluent-next.blue.light).png new file mode 100644 index 000000000000..4ef1384c5d31 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/drag-icons-focused-selected-rows (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/draggable_source_column_with_fixed_columns (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/draggable_source_column_with_fixed_columns (fluent-next.blue.light).png new file mode 100644 index 000000000000..5afc98d5ff64 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/draggable_source_column_with_fixed_columns (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/dragging_fixed_column_to_group_panel (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/dragging_fixed_column_to_group_panel (fluent-next.blue.light).png new file mode 100644 index 000000000000..0d1e005b8e2a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/dragging_fixed_column_to_group_panel (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/edit_cell_with_sticky_columns_1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/edit_cell_with_sticky_columns_1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..0ebdf6267c18 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/edit_cell_with_sticky_columns_1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/edit_cell_with_sticky_columns_2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/edit_cell_with_sticky_columns_2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..b40fa142838a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/edit_cell_with_sticky_columns_2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/edit_cell_with_validation_rule_and_fixed_columns_1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/edit_cell_with_validation_rule_and_fixed_columns_1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..d2e91f6cff02 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/edit_cell_with_validation_rule_and_fixed_columns_1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/edit_cell_with_validation_rule_and_fixed_columns_2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/edit_cell_with_validation_rule_and_fixed_columns_2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..f0e436662169 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/edit_cell_with_validation_rule_and_fixed_columns_2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/edit_fixed_cell_1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/edit_fixed_cell_1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..90210bd8a01f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/edit_fixed_cell_1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/edit_fixed_cell_2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/edit_fixed_cell_2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..56a8972201d7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/edit_fixed_cell_2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/edit_fixed_cell_with_sticky_position_1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/edit_fixed_cell_with_sticky_position_1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..7abe3bf9c404 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/edit_fixed_cell_with_sticky_position_1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/edit_fixed_cell_with_sticky_position_2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/edit_fixed_cell_with_sticky_position_2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..8ee23af6fe19 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/edit_fixed_cell_with_sticky_position_2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/edit_fixed_cell_with_sticky_position_and_validation_rule_1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/edit_fixed_cell_with_sticky_position_and_validation_rule_1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..ee8ac43a8dc2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/edit_fixed_cell_with_sticky_position_and_validation_rule_1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/edit_fixed_cell_with_sticky_position_and_validation_rule_2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/edit_fixed_cell_with_sticky_position_and_validation_rule_2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..3dfd84698895 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/edit_fixed_cell_with_sticky_position_and_validation_rule_2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/edit_fixed_cell_with_validation_rule_1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/edit_fixed_cell_with_validation_rule_1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..0b51e5455892 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/edit_fixed_cell_with_validation_rule_1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/edit_fixed_cell_with_validation_rule_2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/edit_fixed_cell_with_validation_rule_2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..dc3410a556bc Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/edit_fixed_cell_with_validation_rule_2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/edit_form_with_sticky_columns_1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/edit_form_with_sticky_columns_1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..adb00e6ef9ab Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/edit_form_with_sticky_columns_1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/edit_form_with_sticky_columns_2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/edit_form_with_sticky_columns_2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..b63493995368 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/edit_form_with_sticky_columns_2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/edit_last_unfixed_cell_with_validation_rule_1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/edit_last_unfixed_cell_with_validation_rule_1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..13fd38ae0bed Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/edit_last_unfixed_cell_with_validation_rule_1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/edit_last_unfixed_cell_with_validation_rule_2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/edit_last_unfixed_cell_with_validation_rule_2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..1f944db9c44d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/edit_last_unfixed_cell_with_validation_rule_2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/edit_row_with_sticky_columns_1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/edit_row_with_sticky_columns_1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..db5b66040ed9 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/edit_row_with_sticky_columns_1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/edit_row_with_sticky_columns_2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/edit_row_with_sticky_columns_2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..39a6d14aba43 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/edit_row_with_sticky_columns_2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/filter_row_with_sticky_and_band_columns_1_(showColumnHeaders_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/filter_row_with_sticky_and_band_columns_1_(showColumnHeaders_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..bd0f694a8683 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/filter_row_with_sticky_and_band_columns_1_(showColumnHeaders_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/filter_row_with_sticky_and_band_columns_2_(showColumnHeaders_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/filter_row_with_sticky_and_band_columns_2_(showColumnHeaders_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..14eaea6afe79 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/filter_row_with_sticky_and_band_columns_2_(showColumnHeaders_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/filter_row_with_sticky_columns_1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/filter_row_with_sticky_columns_1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..3ba0d6231955 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/filter_row_with_sticky_columns_1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/filter_row_with_sticky_columns_2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/filter_row_with_sticky_columns_2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..6a9a53d34a76 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/filter_row_with_sticky_columns_2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_and_command_columns_band_headers_navigation_by_tab_1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_and_command_columns_band_headers_navigation_by_tab_1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..93c6b27d3469 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_and_command_columns_band_headers_navigation_by_tab_1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_and_command_columns_band_headers_navigation_by_tab_2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_and_command_columns_band_headers_navigation_by_tab_2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..b5147ea6c503 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_and_command_columns_band_headers_navigation_by_tab_2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_columns_and_adaptability_headers_navigation_by_shift_and_tab_1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_columns_and_adaptability_headers_navigation_by_shift_and_tab_1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..03696998d574 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_columns_and_adaptability_headers_navigation_by_shift_and_tab_1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_columns_and_adaptability_headers_navigation_by_shift_and_tab_2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_columns_and_adaptability_headers_navigation_by_shift_and_tab_2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..a0daf40b2b86 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_columns_and_adaptability_headers_navigation_by_shift_and_tab_2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_columns_and_adaptability_headers_navigation_by_tab_1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_columns_and_adaptability_headers_navigation_by_tab_1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..7fa4159cbc56 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_columns_and_adaptability_headers_navigation_by_tab_1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_columns_and_adaptability_headers_navigation_by_tab_2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_columns_and_adaptability_headers_navigation_by_tab_2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..5d1a89af62c0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_columns_and_adaptability_headers_navigation_by_tab_2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_columns_band_headers_navigation_by_shift_and_tab_1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_columns_band_headers_navigation_by_shift_and_tab_1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..2e53c3dc8022 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_columns_band_headers_navigation_by_shift_and_tab_1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_columns_band_headers_navigation_by_shift_and_tab_2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_columns_band_headers_navigation_by_shift_and_tab_2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..833c2eab2d69 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_columns_band_headers_navigation_by_shift_and_tab_2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_columns_band_headers_navigation_by_tab_1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_columns_band_headers_navigation_by_tab_1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..ded3d0c9ef63 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_columns_band_headers_navigation_by_tab_1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_columns_band_headers_navigation_by_tab_2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_columns_band_headers_navigation_by_tab_2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..a169c0b46a70 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_columns_band_headers_navigation_by_tab_2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_columns_data_cells_navigation_by_shift_and_tab_1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_columns_data_cells_navigation_by_shift_and_tab_1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..671807bcd847 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_columns_data_cells_navigation_by_shift_and_tab_1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_columns_data_cells_navigation_by_shift_and_tab_2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_columns_data_cells_navigation_by_shift_and_tab_2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..719d7e89df3e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_columns_data_cells_navigation_by_shift_and_tab_2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_columns_data_cells_navigation_by_tab_1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_columns_data_cells_navigation_by_tab_1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..ebfd2cf2f18d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_columns_data_cells_navigation_by_tab_1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_columns_data_cells_navigation_by_tab_2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_columns_data_cells_navigation_by_tab_2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..55edfba3e67d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_columns_data_cells_navigation_by_tab_2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_columns_headers_navigation_by_shift_and_tab_1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_columns_headers_navigation_by_shift_and_tab_1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..0824c9d2899a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_columns_headers_navigation_by_shift_and_tab_1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_columns_headers_navigation_by_shift_and_tab_2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_columns_headers_navigation_by_shift_and_tab_2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..99cfbc708cbb Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_columns_headers_navigation_by_shift_and_tab_2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_columns_headers_navigation_by_tab_1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_columns_headers_navigation_by_tab_1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..5c08ced83cc5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_columns_headers_navigation_by_tab_1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_columns_headers_navigation_by_tab_2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_columns_headers_navigation_by_tab_2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..3fb8a01e24ea Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_columns_headers_navigation_by_tab_2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_columns_with_125%_zoom (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_columns_with_125%_zoom (fluent-next.blue.light).png new file mode 100644 index 000000000000..42387c07ba5c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_columns_with_125%_zoom (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_columns_with_150%_zoom (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_columns_with_150%_zoom (fluent-next.blue.light).png new file mode 100644 index 000000000000..0481b0c18e88 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_columns_with_150%_zoom (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_columns_with_90%_zoom (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_columns_with_90%_zoom (fluent-next.blue.light).png new file mode 100644 index 000000000000..855aabdaeeba Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_columns_with_90%_zoom (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_columns_with_horizontal_scrolling (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_columns_with_horizontal_scrolling (fluent-next.blue.light).png new file mode 100644 index 000000000000..331b2e079db3 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_columns_with_horizontal_scrolling (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_columns_with_virtual_scrolling_1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_columns_with_virtual_scrolling_1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..94a001248dfa Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_columns_with_virtual_scrolling_1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_columns_with_virtual_scrolling_2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_columns_with_virtual_scrolling_2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..94a001248dfa Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/fixed_columns_with_virtual_scrolling_2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/group_row_scrolling_all_collapsed_fixed_columns (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/group_row_scrolling_all_collapsed_fixed_columns (fluent-next.blue.light).png new file mode 100644 index 000000000000..4cf3f0b21347 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/group_row_scrolling_all_collapsed_fixed_columns (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/grouping-focused-group-row (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/grouping-focused-group-row (fluent-next.blue.light).png new file mode 100644 index 000000000000..2d41e72650dc Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/grouping-focused-group-row (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/grouping-focused-group-row-scroll (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/grouping-focused-group-row-scroll (fluent-next.blue.light).png new file mode 100644 index 000000000000..707c6d585dfe Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/grouping-focused-group-row-scroll (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/grouping-multiple-scroll-begin (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/grouping-multiple-scroll-begin (fluent-next.blue.light).png new file mode 100644 index 000000000000..787b78c9806e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/grouping-multiple-scroll-begin (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/grouping-multiple-scroll-center (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/grouping-multiple-scroll-center (fluent-next.blue.light).png new file mode 100644 index 000000000000..7a8f3e49ec0a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/grouping-multiple-scroll-center (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/grouping-multiple-scroll-end (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/grouping-multiple-scroll-end (fluent-next.blue.light).png new file mode 100644 index 000000000000..4e5bf3978267 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/grouping-multiple-scroll-end (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/grouping-overflow-cell (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/grouping-overflow-cell (fluent-next.blue.light).png new file mode 100644 index 000000000000..740418bdce4e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/grouping-overflow-cell (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/grouping-scroll-begin-rtl=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/grouping-scroll-begin-rtl=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..176f16014fb7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/grouping-scroll-begin-rtl=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/grouping-scroll-begin-rtl=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/grouping-scroll-begin-rtl=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..d26d6ba35a6d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/grouping-scroll-begin-rtl=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/grouping-scroll-center=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/grouping-scroll-center=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..66153a0ba928 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/grouping-scroll-center=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/grouping-scroll-center=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/grouping-scroll-center=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..021daad6e6a3 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/grouping-scroll-center=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/grouping-scroll-end=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/grouping-scroll-end=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..2c82e6a1b08b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/grouping-scroll-end=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/grouping-scroll-end=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/grouping-scroll-end=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..db0d872b2ffc Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/grouping-scroll-end=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/grouping-scroll-total_summary-rtl=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/grouping-scroll-total_summary-rtl=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..24822fda7e40 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/grouping-scroll-total_summary-rtl=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/grouping-scroll-total_summary-rtl=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/grouping-scroll-total_summary-rtl=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..7e859f2bb3fd Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/grouping-scroll-total_summary-rtl=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/grouping-scroll-total_summary_intersection-rtl=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/grouping-scroll-total_summary_intersection-rtl=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..f28e378f3a98 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/grouping-scroll-total_summary_intersection-rtl=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/grouping-scroll-total_summary_intersection-rtl=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/grouping-scroll-total_summary_intersection-rtl=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..6dc03b9955a5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/grouping-scroll-total_summary_intersection-rtl=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/header_row_highlight_with_fixed_columns (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/header_row_highlight_with_fixed_columns (fluent-next.blue.light).png new file mode 100644 index 000000000000..e89ef7373f4e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/header_row_highlight_with_fixed_columns (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/hidden_column_between_sticky_column_and_left_fixed_column_1_(rtlEnabled_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/hidden_column_between_sticky_column_and_left_fixed_column_1_(rtlEnabled_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..c535af9133c1 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/hidden_column_between_sticky_column_and_left_fixed_column_1_(rtlEnabled_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/hidden_column_between_sticky_column_and_left_fixed_column_1_(rtlEnabled_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/hidden_column_between_sticky_column_and_left_fixed_column_1_(rtlEnabled_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..d30b8e452f9f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/hidden_column_between_sticky_column_and_left_fixed_column_1_(rtlEnabled_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/hidden_column_between_sticky_column_and_left_fixed_column_2_(rtlEnabled_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/hidden_column_between_sticky_column_and_left_fixed_column_2_(rtlEnabled_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..ef96d17f58d2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/hidden_column_between_sticky_column_and_left_fixed_column_2_(rtlEnabled_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/hidden_column_between_sticky_column_and_left_fixed_column_2_(rtlEnabled_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/hidden_column_between_sticky_column_and_left_fixed_column_2_(rtlEnabled_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..172c29cf2544 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/hidden_column_between_sticky_column_and_left_fixed_column_2_(rtlEnabled_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/hidden_column_between_sticky_column_and_right_fixed_column_1_(rtlEnabled_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/hidden_column_between_sticky_column_and_right_fixed_column_1_(rtlEnabled_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..b80b0f2cb3e7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/hidden_column_between_sticky_column_and_right_fixed_column_1_(rtlEnabled_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/hidden_column_between_sticky_column_and_right_fixed_column_1_(rtlEnabled_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/hidden_column_between_sticky_column_and_right_fixed_column_1_(rtlEnabled_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..96a2c00605fa Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/hidden_column_between_sticky_column_and_right_fixed_column_1_(rtlEnabled_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/hidden_column_between_sticky_column_and_right_fixed_column_2_(rtlEnabled_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/hidden_column_between_sticky_column_and_right_fixed_column_2_(rtlEnabled_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..2f8778d07811 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/hidden_column_between_sticky_column_and_right_fixed_column_2_(rtlEnabled_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/hidden_column_between_sticky_column_and_right_fixed_column_2_(rtlEnabled_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/hidden_column_between_sticky_column_and_right_fixed_column_2_(rtlEnabled_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..6b01da055910 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/hidden_column_between_sticky_column_and_right_fixed_column_2_(rtlEnabled_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/masterdetail-after-resize (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/masterdetail-after-resize (fluent-next.blue.light).png new file mode 100644 index 000000000000..c68397ed71c3 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/masterdetail-after-resize (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/masterdetail-before-resize (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/masterdetail-before-resize (fluent-next.blue.light).png new file mode 100644 index 000000000000..1896886b4d04 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/masterdetail-before-resize (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/masterdetail-scroll-begin (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/masterdetail-scroll-begin (fluent-next.blue.light).png new file mode 100644 index 000000000000..1896886b4d04 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/masterdetail-scroll-begin (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/masterdetail-scroll-center (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/masterdetail-scroll-center (fluent-next.blue.light).png new file mode 100644 index 000000000000..40b62d880fb9 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/masterdetail-scroll-center (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/masterdetail-scroll-end (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/masterdetail-scroll-end (fluent-next.blue.light).png new file mode 100644 index 000000000000..8502c66eebcc Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/masterdetail-scroll-end (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/move_fixed_band_column_with_sticky_position_to_right (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/move_fixed_band_column_with_sticky_position_to_right (fluent-next.blue.light).png new file mode 100644 index 000000000000..a4f4054d61d1 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/move_fixed_band_column_with_sticky_position_to_right (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/move_fixed_column_with_sticky_position_to_right (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/move_fixed_column_with_sticky_position_to_right (fluent-next.blue.light).png new file mode 100644 index 000000000000..dafaa631c4f6 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/move_fixed_column_with_sticky_position_to_right (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/move_left_fixed_band_column_to_right (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/move_left_fixed_band_column_to_right (fluent-next.blue.light).png new file mode 100644 index 000000000000..8160407f3549 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/move_left_fixed_band_column_to_right (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/move_left_fixed_column_to_right (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/move_left_fixed_column_to_right (fluent-next.blue.light).png new file mode 100644 index 000000000000..ae63e2aac541 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/move_left_fixed_column_to_right (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/move_right_fixed_band_column_to_left (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/move_right_fixed_band_column_to_left (fluent-next.blue.light).png new file mode 100644 index 000000000000..be1a2b7bf30f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/move_right_fixed_band_column_to_left (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/move_right_fixed_column_to_left (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/move_right_fixed_column_to_left (fluent-next.blue.light).png new file mode 100644 index 000000000000..e836941971bc Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/move_right_fixed_column_to_left (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/multi_row_header_columns (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/multi_row_header_columns (fluent-next.blue.light).png new file mode 100644 index 000000000000..a49938c2ffd1 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/multi_row_header_columns (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/resize_first_fixed_column_with_left_position_1_(nextColumn_mode_and_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/resize_first_fixed_column_with_left_position_1_(nextColumn_mode_and_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..c4bff9caa64d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/resize_first_fixed_column_with_left_position_1_(nextColumn_mode_and_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/resize_first_fixed_column_with_left_position_1_(nextColumn_mode_and_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/resize_first_fixed_column_with_left_position_1_(nextColumn_mode_and_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..1cb34234a1a8 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/resize_first_fixed_column_with_left_position_1_(nextColumn_mode_and_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/resize_first_fixed_column_with_left_position_1_(widget_mode_and_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/resize_first_fixed_column_with_left_position_1_(widget_mode_and_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..b15155097842 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/resize_first_fixed_column_with_left_position_1_(widget_mode_and_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/resize_first_fixed_column_with_left_position_1_(widget_mode_and_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/resize_first_fixed_column_with_left_position_1_(widget_mode_and_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..629338588bbe Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/resize_first_fixed_column_with_left_position_1_(widget_mode_and_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/resize_first_fixed_column_with_left_position_2_(nextColumn_mode_and_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/resize_first_fixed_column_with_left_position_2_(nextColumn_mode_and_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..0e805d643c62 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/resize_first_fixed_column_with_left_position_2_(nextColumn_mode_and_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/resize_first_fixed_column_with_left_position_2_(nextColumn_mode_and_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/resize_first_fixed_column_with_left_position_2_(nextColumn_mode_and_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..56653d8b9af1 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/resize_first_fixed_column_with_left_position_2_(nextColumn_mode_and_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/resize_first_fixed_column_with_left_position_2_(widget_mode_and_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/resize_first_fixed_column_with_left_position_2_(widget_mode_and_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..4dbb08730d0e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/resize_first_fixed_column_with_left_position_2_(widget_mode_and_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/resize_first_fixed_column_with_left_position_2_(widget_mode_and_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/resize_first_fixed_column_with_left_position_2_(widget_mode_and_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..91f69cc4f5c4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/resize_first_fixed_column_with_left_position_2_(widget_mode_and_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/resize_first_fixed_column_with_right_position_1_(widget_mode_and_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/resize_first_fixed_column_with_right_position_1_(widget_mode_and_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..c8f260b8ccb7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/resize_first_fixed_column_with_right_position_1_(widget_mode_and_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/resize_first_fixed_column_with_right_position_1_(widget_mode_and_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/resize_first_fixed_column_with_right_position_1_(widget_mode_and_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..af4dfea9d00b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/resize_first_fixed_column_with_right_position_1_(widget_mode_and_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/resize_first_fixed_column_with_right_position_2_(widget_mode_and_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/resize_first_fixed_column_with_right_position_2_(widget_mode_and_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..a6892daefd61 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/resize_first_fixed_column_with_right_position_2_(widget_mode_and_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/resize_first_fixed_column_with_right_position_2_(widget_mode_and_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/resize_first_fixed_column_with_right_position_2_(widget_mode_and_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..d75e978b2c66 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/resize_first_fixed_column_with_right_position_2_(widget_mode_and_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/resize_second_fixed_column_with_right_position_1_(nextColumn_mode_and_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/resize_second_fixed_column_with_right_position_1_(nextColumn_mode_and_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..5efe1493d96d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/resize_second_fixed_column_with_right_position_1_(nextColumn_mode_and_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/resize_second_fixed_column_with_right_position_1_(nextColumn_mode_and_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/resize_second_fixed_column_with_right_position_1_(nextColumn_mode_and_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..c820b133d03b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/resize_second_fixed_column_with_right_position_1_(nextColumn_mode_and_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/resize_second_fixed_column_with_right_position_1_(widget_mode_and_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/resize_second_fixed_column_with_right_position_1_(widget_mode_and_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..b3912ab18224 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/resize_second_fixed_column_with_right_position_1_(widget_mode_and_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/resize_second_fixed_column_with_right_position_1_(widget_mode_and_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/resize_second_fixed_column_with_right_position_1_(widget_mode_and_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..c85f8a03aa08 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/resize_second_fixed_column_with_right_position_1_(widget_mode_and_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/resize_second_fixed_column_with_right_position_2_(nextColumn_mode_and_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/resize_second_fixed_column_with_right_position_2_(nextColumn_mode_and_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..76e4e7fbf72f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/resize_second_fixed_column_with_right_position_2_(nextColumn_mode_and_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/resize_second_fixed_column_with_right_position_2_(nextColumn_mode_and_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/resize_second_fixed_column_with_right_position_2_(nextColumn_mode_and_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..ca32e483ee72 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/resize_second_fixed_column_with_right_position_2_(nextColumn_mode_and_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/resize_second_fixed_column_with_right_position_2_(widget_mode_and_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/resize_second_fixed_column_with_right_position_2_(widget_mode_and_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..518e10bb847e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/resize_second_fixed_column_with_right_position_2_(widget_mode_and_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/resize_second_fixed_column_with_right_position_2_(widget_mode_and_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/resize_second_fixed_column_with_right_position_2_(widget_mode_and_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..f163ed8ca0c7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/resize_second_fixed_column_with_right_position_2_(widget_mode_and_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/row_selection_with_sticky_columns_1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/row_selection_with_sticky_columns_1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..a83e2becd58a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/row_selection_with_sticky_columns_1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/row_selection_with_sticky_columns_2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/row_selection_with_sticky_columns_2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..a137d230d812 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/row_selection_with_sticky_columns_2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/separator_position_with_fixed_column_on_right_(widget_mode_and_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/separator_position_with_fixed_column_on_right_(widget_mode_and_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..f42f716cd474 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/separator_position_with_fixed_column_on_right_(widget_mode_and_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/separator_position_with_fixed_column_on_right_(widget_mode_and_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/separator_position_with_fixed_column_on_right_(widget_mode_and_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..791f46b146d4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/separator_position_with_fixed_column_on_right_(widget_mode_and_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/separator_position_with_window_scroll_top_(widget_mode_and_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/separator_position_with_window_scroll_top_(widget_mode_and_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..9c72c0cbcee0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/separator_position_with_window_scroll_top_(widget_mode_and_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/separator_position_with_window_scroll_top_(widget_mode_and_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/separator_position_with_window_scroll_top_(widget_mode_and_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..14ec8e6f20c4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/separator_position_with_window_scroll_top_(widget_mode_and_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/simulated_scrollbar_with_sticky_columns_1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/simulated_scrollbar_with_sticky_columns_1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..c0f35436c0b5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/simulated_scrollbar_with_sticky_columns_1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/simulated_scrollbar_with_sticky_columns_2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/simulated_scrollbar_with_sticky_columns_2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..2f11ad00d9fc Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/simulated_scrollbar_with_sticky_columns_2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/sticky_columns_context_menu (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/sticky_columns_context_menu (fluent-next.blue.light).png new file mode 100644 index 000000000000..f1461129a5ec Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/sticky_columns_context_menu (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/vertical_scroll_and_fixed_column_with_validation_message_and_revert_button_1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/vertical_scroll_and_fixed_column_with_validation_message_and_revert_button_1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..248c4f15dd93 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/vertical_scroll_and_fixed_column_with_validation_message_and_revert_button_1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/vertical_scroll_and_fixed_column_with_validation_message_and_revert_button_2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/vertical_scroll_and_fixed_column_with_validation_message_and_revert_button_2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..ecc11ca57348 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/vertical_scroll_and_fixed_column_with_validation_message_and_revert_button_2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/vertical_scroll_and_focused_fixed_column_1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/vertical_scroll_and_focused_fixed_column_1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..d6f333bbf0e4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/vertical_scroll_and_focused_fixed_column_1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/vertical_scroll_and_focused_fixed_column_2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/vertical_scroll_and_focused_fixed_column_2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..ecc11ca57348 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/vertical_scroll_and_focused_fixed_column_2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/virtual_columns_with_grouping_expand_scroll_right (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/virtual_columns_with_grouping_expand_scroll_right (fluent-next.blue.light).png new file mode 100644 index 000000000000..964a12cf7f4f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/virtual_columns_with_grouping_expand_scroll_right (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/virtual_columns_with_grouping_scroll_right (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/virtual_columns_with_grouping_scroll_right (fluent-next.blue.light).png new file mode 100644 index 000000000000..9bfc5e3485d2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/virtual_columns_with_grouping_scroll_right (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/virtual_columns_with_nested_grouping_scroll_right (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/virtual_columns_with_nested_grouping_scroll_right (fluent-next.blue.light).png new file mode 100644 index 000000000000..559be60bb989 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/virtual_columns_with_nested_grouping_scroll_right (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/virtual_columns_with_sticky_columns_1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/virtual_columns_with_sticky_columns_1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..4168f610fec0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/virtual_columns_with_sticky_columns_1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/virtual_columns_with_sticky_columns_2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/virtual_columns_with_sticky_columns_2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..364aeba2e390 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/common/etalons/virtual_columns_with_sticky_columns_2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-1)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-1)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..a0179079b784 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-1)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-1)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-1)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..23242f999fcc Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-1)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-1)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-1)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..d0b46b09f577 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-1)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-1)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-1)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..d6ff6e5167e4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-1)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-1)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-1)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..03c3b8f0d396 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-1)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-1)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-1)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..253cc2d56a60 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-1)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-1)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-1)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..2c43bee04e6d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-1)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-1)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-1)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..f3f4e4385abe Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-1)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-10)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-10)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..4258ebdc9048 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-10)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-10)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-10)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..2a2f427e49c0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-10)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-10)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-10)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..ffdb50338f90 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-10)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-10)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-10)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..5c2e79d9104a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-10)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-10)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-10)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..b378cdf13fe6 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-10)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-10)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-10)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..6d59dd09b17e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-10)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-10)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-10)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..124881b2a331 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-10)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-10)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-10)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..aa2b8f415afc Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-10)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-11)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-11)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..ae2232c5c3da Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-11)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-11)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-11)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..1e4d2aa3928d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-11)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-11)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-11)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..298a89da0537 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-11)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-11)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-11)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..2db7659bf3e8 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-11)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-11)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-11)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..6eddb199124d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-11)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-11)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-11)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..ea22a500f789 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-11)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-11)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-11)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..c5f0bcf6769b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-11)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-11)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-11)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..451db08f4ffe Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-11)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-12)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-12)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..57d048c17483 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-12)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-12)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-12)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..d1b66c3daa18 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-12)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-12)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-12)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..730afe2f1300 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-12)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-12)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-12)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..5c7d8669d1a6 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-12)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-12)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-12)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..eff07b14d02b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-12)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-12)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-12)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..0accd5edf846 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-12)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-12)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-12)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..ba3f320ddddd Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-12)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-12)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-12)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..deb1a47e53b5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-12)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-13)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-13)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..a7f125bd922d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-13)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-13)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-13)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..7f4582d3fa77 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-13)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-13)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-13)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..bcc48b7f5482 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-13)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-13)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-13)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..b1123d726be8 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-13)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-13)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-13)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..88ecc8e884e6 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-13)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-13)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-13)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..98b76bcd6150 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-13)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-13)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-13)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..4288a8c3ce09 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-13)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-13)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-13)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..d7f821ebb8e7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-13)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-14)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-14)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..9089ec7c5c39 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-14)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-14)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-14)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..dc244b42f4c8 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-14)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-14)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-14)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..dd3dcccb910b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-14)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-14)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-14)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..1dba363ae5c1 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-14)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-14)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-14)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..7dd86ee9159b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-14)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-14)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-14)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..86566818f6e2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-14)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-14)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-14)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..7ce2215b673f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-14)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-14)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-14)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..4f1ff727fbd0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-14)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-2)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-2)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..7c8239e1db1a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-2)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-2)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-2)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..f3944209b40e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-2)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-2)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-2)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..d0e9a86f8ab2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-2)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-2)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-2)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..9cdc871eb6fb Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-2)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-2)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-2)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..9dd2607ee451 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-2)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-2)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-2)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..764af0ab61a7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-2)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-2)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-2)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..3f2ceedf0eab Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-2)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-2)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-2)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..401626753b26 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-2)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-3)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-3)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..58e8667efbef Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-3)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-3)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-3)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..742444818df5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-3)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-3)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-3)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..e40bf478e635 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-3)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-3)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-3)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..3c15c91e0acb Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-3)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-3)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-3)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..e3e0ef5f0115 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-3)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-3)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-3)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..485f83edcf44 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-3)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-3)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-3)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..57001ccb1b20 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-3)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-3)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-3)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..b7651a2af024 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-3)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-4)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-4)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..b2fbf4a2f3ad Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-4)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-4)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-4)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..b85ea133384e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-4)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-4)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-4)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..3cf53a582598 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-4)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-4)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-4)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..15c4ec506835 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-4)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-4)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-4)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..321348eee408 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-4)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-4)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-4)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..2e6b2c4b2e81 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-4)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-4)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-4)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..d9b8024dd733 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-4)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-4)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-4)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..b2825410e0b7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-4)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-5)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-5)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..70dc484875ef Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-5)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-5)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-5)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..482e1056a462 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-5)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-5)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-5)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..52fe7964d139 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-5)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-5)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-5)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..f41765f90ffc Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-5)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-5)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-5)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..5fdc26b01fcd Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-5)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-5)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-5)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..1d6456f582fe Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-5)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-5)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-5)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..9aa688f9d428 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-5)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-5)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-5)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..71cf1a76e63e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-5)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-6)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-6)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..63eba76e3167 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-6)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-6)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-6)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..528145b244c8 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-6)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-6)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-6)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..3b97134603b3 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-6)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-6)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-6)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..4cc41df16737 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-6)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-6)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-6)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..3ef330a95acd Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-6)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-6)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-6)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..eb10baa4c5cc Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-6)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-6)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-6)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..9f7baea1f0d0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-6)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-6)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-6)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..ff2bbed09b90 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-6)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-7)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-7)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..8f3eb695c008 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-7)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-7)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-7)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..74d0c5bbd950 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-7)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-7)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-7)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..8b85bd8bdab3 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-7)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-7)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-7)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..de1b712db7e6 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-7)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-7)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-7)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..3914a2ba61a6 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-7)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-7)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-7)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..a597974576ae Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-7)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-7)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-7)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..6d44859ee4cd Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-7)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-7)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-7)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..7a5d26440c61 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-7)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-8)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-8)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..227fee357fe4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-8)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-8)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-8)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..ca83b7c322c1 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-8)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-8)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-8)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..dbd9b213966d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-8)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-8)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-8)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..36cf05940633 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-8)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-8)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-8)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..3d7354a94a26 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-8)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-8)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-8)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..a5cbe0418f5e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-8)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-8)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-8)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..711bdeebffcb Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-8)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-8)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-8)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..d25e04e88338 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-8)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-9)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-9)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..80736054cf53 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-9)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-9)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-9)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..d71b0ef7a68c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-9)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-9)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-9)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..08a170bf98af Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-9)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-9)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-9)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..6096fc93ca8a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-9)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-9)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-9)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..d883d4f630ae Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-9)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-9)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-9)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..010a11c4ccbb Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-9)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-9)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-9)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..ce3b28455a95 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-9)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-9)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-9)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..03afa62ebbff Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-1-(case-9)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-1)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-1)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..2c61d0698018 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-1)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-1)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-1)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..6bd43862ce32 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-1)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-1)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-1)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..4c6d3544ef32 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-1)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-1)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-1)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..f3424004a577 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-1)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-1)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-1)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..f8f6fc3b775d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-1)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-1)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-1)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..f325e1680522 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-1)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-1)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-1)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..2893f07ee511 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-1)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-1)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-1)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..c17ae11cf9fa Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-1)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-10)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-10)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..34dc0e6e5561 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-10)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-10)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-10)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..82eb212055e8 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-10)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-10)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-10)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..f713721e1d19 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-10)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-10)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-10)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..bd3eaeddcb19 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-10)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-10)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-10)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..203eadd2956f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-10)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-10)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-10)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..1af8f0dc37a8 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-10)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-10)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-10)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..1003381e68f3 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-10)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-10)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-10)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..2074af4e05c2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-10)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-11)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-11)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..b938db481aea Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-11)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-11)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-11)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..7aca034d6200 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-11)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-11)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-11)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..9156fa8d7733 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-11)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-11)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-11)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..e9d876eba6b9 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-11)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-11)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-11)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..b0d4201bbd17 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-11)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-11)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-11)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..6e177b741683 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-11)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-11)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-11)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..97b044a3c8e0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-11)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-11)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-11)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..e9f28d7ddade Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-11)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-12)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-12)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..332f068a219b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-12)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-12)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-12)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..75443ea17c48 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-12)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-12)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-12)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..da06bd7e13a1 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-12)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-12)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-12)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..8d5da1a4df7a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-12)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-12)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-12)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..45a536132d83 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-12)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-12)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-12)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..cc857d661147 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-12)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-12)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-12)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..d20ca7b1d2ad Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-12)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-12)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-12)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..1d46ff53c437 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-12)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-13)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-13)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..189e3b742bc0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-13)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-13)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-13)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..aeac0e849aa1 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-13)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-13)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-13)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..0a2060791999 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-13)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-13)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-13)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..98be59265d05 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-13)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-13)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-13)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..c794491705f7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-13)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-13)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-13)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..fc066e04bcd0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-13)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-13)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-13)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..74e7fa322619 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-13)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-13)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-13)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..732680d8ee92 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-13)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-14)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-14)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..3dbb244bce35 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-14)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-14)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-14)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..7cffef9ffe14 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-14)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-14)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-14)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..d54b6a3b1c96 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-14)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-14)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-14)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..6417900897f0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-14)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-14)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-14)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..880b5a31a57a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-14)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-14)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-14)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..2a6ee45ab630 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-14)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-14)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-14)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..eeb27b353d7c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-14)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-14)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-14)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..0526c8d6f301 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-14)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-2)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-2)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..4190f9724997 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-2)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-2)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-2)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..6cfbb0585803 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-2)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-2)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-2)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..18fb6011bfaf Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-2)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-2)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-2)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..2c1433e02733 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-2)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-2)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-2)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..fc3628fdd027 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-2)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-2)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-2)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..94335f7a811c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-2)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-2)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-2)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..2af9b1ad2eaf Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-2)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-2)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-2)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..643a3e4d7c49 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-2)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-3)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-3)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..31a8c8bdcb12 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-3)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-3)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-3)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..bf72ee3950ff Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-3)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-3)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-3)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..a175e516a48c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-3)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-3)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-3)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..ad2b6f9dfdec Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-3)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-3)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-3)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..126a3909d921 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-3)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-3)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-3)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..329a85238113 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-3)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-3)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-3)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..d35fdaec5672 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-3)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-3)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-3)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..72e1853ee1df Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-3)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-4)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-4)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..62cd59147b37 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-4)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-4)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-4)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..ffeb0741b6ef Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-4)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-4)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-4)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..bb85d0299f3c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-4)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-4)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-4)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..817df78f66ef Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-4)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-4)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-4)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..6a6fc26e79ef Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-4)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-4)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-4)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..4a5f6b258101 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-4)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-4)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-4)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..d46aac3d2a1f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-4)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-4)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-4)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..ac375ce8963e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-4)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-5)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-5)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..8bd8011d2f30 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-5)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-5)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-5)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..c20f2d5c1e58 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-5)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-5)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-5)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..7bbac1391be5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-5)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-5)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-5)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..1afcfffe682f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-5)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-5)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-5)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..750bd39e33c7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-5)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-5)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-5)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..1f33584d534b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-5)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-5)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-5)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..c6e9a51fd7a9 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-5)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-5)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-5)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..ab3f128f5339 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-5)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-6)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-6)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..491f4e14ac3e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-6)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-6)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-6)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..5df052bc89dc Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-6)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-6)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-6)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..af7cb7857de1 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-6)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-6)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-6)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..1b96341c3f64 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-6)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-6)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-6)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..cd179c5ab15d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-6)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-6)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-6)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..720352732881 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-6)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-6)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-6)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..8201d433e787 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-6)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-6)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-6)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..c4b77e64975e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-6)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-7)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-7)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..2c61d0698018 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-7)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-7)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-7)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..2b072f90a2b8 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-7)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-7)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-7)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..4c6d3544ef32 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-7)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-7)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-7)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..3065f3edd86e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-7)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-7)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-7)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..f8f6fc3b775d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-7)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-7)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-7)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..d66ecdd26aa4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-7)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-7)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-7)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..2893f07ee511 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-7)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-7)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-7)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..b108254ef7e0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-7)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-8)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-8)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..18a4cb4f8914 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-8)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-8)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-8)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..a53120041010 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-8)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-8)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-8)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..e72aa1fa68f7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-8)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-8)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-8)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..c3dc1223dc65 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-8)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-8)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-8)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..97e25967c592 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-8)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-8)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-8)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..91245cf8ba56 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-8)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-8)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-8)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..a85577729606 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-8)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-8)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-8)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..9e2e06cd2bd3 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-8)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-9)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-9)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..606386a8b534 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-9)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-9)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-9)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..a4e0a20d79d3 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-9)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-9)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-9)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..ad0b3b5535f0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-9)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-9)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-9)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..4e4f49ccdc93 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-9)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-9)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-9)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..7b6e4e8cf146 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-9)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-9)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-9)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..96aa7b22ed65 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-9)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-9)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-9)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..833dd7b7f4e2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-9)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-9)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-9)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..950af2574144 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/band-columns-2-(case-9)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-position-1(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-position-1(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..e836b5f60ef1 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-position-1(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-position-1(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-position-1(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..2c4add0090e9 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-position-1(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-position-1(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-position-1(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..9b8fd3491d58 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-position-1(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-position-1(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-position-1(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..ae55759fb371 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-position-1(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-position-1(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-position-1(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..3fe813badcb4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-position-1(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-position-1(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-position-1(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..fad0af67653f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-position-1(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-position-1(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-position-1(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..9958900d0b99 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-position-1(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-position-1(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-position-1(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..2de1c5f0fe10 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-position-1(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-position-2(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-position-2(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..857c6cf9518c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-position-2(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-position-2(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-position-2(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..e83c634a8ba2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-position-2(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-position-2(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-position-2(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..78fb325366ac Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-position-2(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-position-2(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-position-2(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..a81596448418 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-position-2(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-position-2(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-position-2(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..e2d20c2b9e02 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-position-2(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-position-2(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-position-2(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..9d65dc3bc3ba Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-position-2(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-position-2(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-position-2(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..00302a595319 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-position-2(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-position-2(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-position-2(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..e9a2f03905d5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-position-2(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-positions-1(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-positions-1(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..e5f943b954c2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-positions-1(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-positions-1(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-positions-1(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..934b2cd789b4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-positions-1(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-positions-1(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-positions-1(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..83d8a468355b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-positions-1(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-positions-1(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-positions-1(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..7eb80478c7ec Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-positions-1(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-positions-1(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-positions-1(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..a3cf4159e0ba Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-positions-1(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-positions-1(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-positions-1(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..a45565de3f3a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-positions-1(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-positions-1(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-positions-1(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..39890a9f6673 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-positions-1(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-positions-1(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-positions-1(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..e7b640b24e89 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-positions-1(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-positions-2(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-positions-2(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..1c205bb7c28b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-positions-2(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-positions-2(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-positions-2(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..8d28e1556e8f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-positions-2(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-positions-2(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-positions-2(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..caf9ad134b69 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-positions-2(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-positions-2(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-positions-2(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..3a6d723934d1 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-positions-2(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-positions-2(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-positions-2(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..140f04d92b62 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-positions-2(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-positions-2(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-positions-2(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..96da0fd018ff Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-positions-2(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-positions-2(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-positions-2(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..5de6d443b358 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-positions-2(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-positions-2(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-positions-2(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..fe03a3223084 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-positions-2(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-sticky-positions-1(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-sticky-positions-1(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..1110494441a1 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-sticky-positions-1(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-sticky-positions-1(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-sticky-positions-1(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..743f35778ec3 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-sticky-positions-1(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-sticky-positions-1(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-sticky-positions-1(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..5db85ba1baa2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-sticky-positions-1(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-sticky-positions-1(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-sticky-positions-1(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..31649dbe9610 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-sticky-positions-1(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-sticky-positions-1(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-sticky-positions-1(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..650f5857b75d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-sticky-positions-1(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-sticky-positions-1(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-sticky-positions-1(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..96bdc5806bef Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-sticky-positions-1(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-sticky-positions-1(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-sticky-positions-1(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..f516c546face Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-sticky-positions-1(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-sticky-positions-1(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-sticky-positions-1(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..1880d86322a2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-sticky-positions-1(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-sticky-positions-2(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-sticky-positions-2(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..2b732e90fb6a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-sticky-positions-2(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-sticky-positions-2(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-sticky-positions-2(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..821cf355383d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-sticky-positions-2(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-sticky-positions-2(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-sticky-positions-2(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..dd85dc26b77c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-sticky-positions-2(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-sticky-positions-2(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-sticky-positions-2(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..c86d2a3e3b00 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-sticky-positions-2(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-sticky-positions-2(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-sticky-positions-2(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..1194415baa5b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-sticky-positions-2(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-sticky-positions-2(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-sticky-positions-2(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..66e5133ac1b6 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-sticky-positions-2(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-sticky-positions-2(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-sticky-positions-2(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..e54321dbc60e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-sticky-positions-2(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-sticky-positions-2(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-sticky-positions-2(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..7613073ef2e2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/left-right-sticky-positions-2(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/right-position-1(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/right-position-1(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..b242f04ac46b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/right-position-1(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/right-position-1(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/right-position-1(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..84b1348b7a48 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/right-position-1(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/right-position-1(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/right-position-1(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..947dbcb45b33 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/right-position-1(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/right-position-1(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/right-position-1(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..523fed243ca8 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/right-position-1(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/right-position-1(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/right-position-1(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..8242816dc7ee Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/right-position-1(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/right-position-1(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/right-position-1(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..c2da364710de Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/right-position-1(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/right-position-1(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/right-position-1(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..a02616057f25 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/right-position-1(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/right-position-1(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/right-position-1(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..fadd375225ed Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/right-position-1(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/right-position-2(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/right-position-2(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..8a56435a6422 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/right-position-2(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/right-position-2(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/right-position-2(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..9944aae718f6 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/right-position-2(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/right-position-2(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/right-position-2(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..b8249bae83b5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/right-position-2(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/right-position-2(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/right-position-2(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..c25e3406d9ad Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/right-position-2(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/right-position-2(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/right-position-2(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..be51bb356183 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/right-position-2(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/right-position-2(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/right-position-2(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..9a0cee5e98c5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/right-position-2(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/right-position-2(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/right-position-2(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..2047dd98450c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/right-position-2(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/right-position-2(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/right-position-2(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..69175fcbdc47 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/right-position-2(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-1)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-1)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..502c48950a33 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-1)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-1)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-1)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..f5ca1665746f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-1)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-1)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-1)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..6f568d2519b1 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-1)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-1)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-1)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..a560eb6c2c7f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-1)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-1)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-1)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..b4080d89a8f5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-1)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-1)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-1)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..0cb773c4f293 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-1)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-1)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-1)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..9bf636d52385 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-1)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-1)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-1)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..531379e19ab2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-1)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-2)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-2)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..57549bef0414 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-2)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-2)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-2)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..9b2ae02d0656 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-2)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-2)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-2)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..e9b952bcb649 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-2)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-2)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-2)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..b56501e6d0b3 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-2)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-2)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-2)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..9a350f79425c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-2)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-2)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-2)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..6fefba507630 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-2)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-2)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-2)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..4318878016db Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-2)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-2)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-2)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..a8932b83d710 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-2)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-3)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-3)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..57549bef0414 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-3)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-3)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-3)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..ef954ea0121d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-3)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-3)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-3)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..e9b952bcb649 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-3)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-3)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-3)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..abad50a6a0b7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-3)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-3)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-3)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..9a350f79425c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-3)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-3)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-3)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..9638c00cb461 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-3)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-3)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-3)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..4318878016db Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-3)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-3)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-3)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..4e9c6a609c02 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-1-(case-3)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-1)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-1)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..c81106396026 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-1)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-1)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-1)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..bb80d6c5a241 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-1)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-1)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-1)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..24a363c89fe7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-1)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-1)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-1)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..fe1a26f8b93a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-1)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-1)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-1)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..6cd88b4813d3 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-1)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-1)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-1)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..8f0dbe8d5283 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-1)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-1)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-1)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..87f0835be2c5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-1)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-1)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-1)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..fc15994f9354 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-1)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-2)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-2)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..9a2111d83f26 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-2)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-2)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-2)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..4543c0c91436 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-2)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-2)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-2)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..e2eec9ef50d9 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-2)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-2)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-2)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..1becaa4a2bc4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-2)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-2)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-2)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..19ae3c130056 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-2)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-2)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-2)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..91b6c7f4b41c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-2)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-2)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-2)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..cc48da425eb3 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-2)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-2)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-2)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..438c7fe989f1 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-2)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-3)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-3)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..9a2111d83f26 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-3)(cLines_=_false_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-3)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-3)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..73ff181f4ede Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-3)(cLines_=_false_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-3)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-3)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..e2eec9ef50d9 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-3)(cLines_=_false_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-3)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-3)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..fb8cf5ab6560 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-3)(cLines_=_false_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-3)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-3)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..19ae3c130056 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-3)(cLines_=_true_borders_=_false_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-3)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-3)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..bf6851257baa Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-3)(cLines_=_true_borders_=_false_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-3)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-3)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..cc48da425eb3 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-3)(cLines_=_true_borders_=_true_rtl_=_false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-3)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-3)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..19dc412e3f0d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/etalons/sticky-position-2-(case-3)(cLines_=_true_borders_=_true_rtl_=_true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/autocomplete/etalons/Autocomplete placeholder if value is not choosen (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/autocomplete/etalons/Autocomplete placeholder if value is not choosen (fluent-next.blue.light).png new file mode 100644 index 000000000000..46a80cec7b49 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/autocomplete/etalons/Autocomplete placeholder if value is not choosen (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar cell styles (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar cell styles (fluent-next.blue.light).png new file mode 100644 index 000000000000..8ede73b8450b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar cell styles (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar century view (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar century view (fluent-next.blue.light).png new file mode 100644 index 000000000000..27a90aa13d7e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar century view (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar century view cell styles (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar century view cell styles (fluent-next.blue.light).png new file mode 100644 index 000000000000..98cbfb664270 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar century view cell styles (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar century view in RTL mode (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar century view in RTL mode (fluent-next.blue.light).png new file mode 100644 index 000000000000..fca7f362de4f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar century view in RTL mode (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar century view with today button (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar century view with today button (fluent-next.blue.light).png new file mode 100644 index 000000000000..e5cb7be8d5b6 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar century view with today button (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar decade view (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar decade view (fluent-next.blue.light).png new file mode 100644 index 000000000000..31c0c13a73db Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar decade view (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar decade view cell styles (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar decade view cell styles (fluent-next.blue.light).png new file mode 100644 index 000000000000..3e4d55c6579e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar decade view cell styles (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar decade view in RTL mode (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar decade view in RTL mode (fluent-next.blue.light).png new file mode 100644 index 000000000000..7bcecf5b74f2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar decade view in RTL mode (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar decade view with today button (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar decade view with today button (fluent-next.blue.light).png new file mode 100644 index 000000000000..14882af7e86f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar decade view with today button (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar month view (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar month view (fluent-next.blue.light).png new file mode 100644 index 000000000000..9695461fcb69 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar month view (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar month view in RTL mode (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar month view in RTL mode (fluent-next.blue.light).png new file mode 100644 index 000000000000..bf98909d5a7d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar month view in RTL mode (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar month view with today button (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar month view with today button (fluent-next.blue.light).png new file mode 100644 index 000000000000..fc9e54a8cb8c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar month view with today button (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar today cell styles (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar today cell styles (fluent-next.blue.light).png new file mode 100644 index 000000000000..2fbe5f8edbd9 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar today cell styles (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar with disabled dates (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar with disabled dates (fluent-next.blue.light).png new file mode 100644 index 000000000000..de9c5f6db29e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar with disabled dates (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar with limit width (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar with limit width (fluent-next.blue.light).png new file mode 100644 index 000000000000..979750fea6a9 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar with limit width (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar with multiple selectionMode (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar with multiple selectionMode (fluent-next.blue.light).png new file mode 100644 index 000000000000..9d033bf4234c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar with multiple selectionMode (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar with multiview (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar with multiview (fluent-next.blue.light).png new file mode 100644 index 000000000000..39bfcfd1c346 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar with multiview (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar with range selection (maxZoomLevel=century) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar with range selection (maxZoomLevel=century) (fluent-next.blue.light).png new file mode 100644 index 000000000000..cf7de7f78b8f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar with range selection (maxZoomLevel=century) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar with range selection (maxZoomLevel=decade) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar with range selection (maxZoomLevel=decade) (fluent-next.blue.light).png new file mode 100644 index 000000000000..06227d3cda9a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar with range selection (maxZoomLevel=decade) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar with range selection (maxZoomLevel=year) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar with range selection (maxZoomLevel=year) (fluent-next.blue.light).png new file mode 100644 index 000000000000..e0fb8acad891 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar with range selection (maxZoomLevel=year) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar with range selectionMode (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar with range selectionMode (fluent-next.blue.light).png new file mode 100644 index 000000000000..8ff23322b2db Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar with range selectionMode (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar with showWeekNumbers (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar with showWeekNumbers (fluent-next.blue.light).png new file mode 100644 index 000000000000..e5b91f3a6d23 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar with showWeekNumbers (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar with showWeekNumbers and cell template (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar with showWeekNumbers and cell template (fluent-next.blue.light).png new file mode 100644 index 000000000000..d309bf20a747 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar with showWeekNumbers and cell template (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar with showWeekNumbers last week (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar with showWeekNumbers last week (fluent-next.blue.light).png new file mode 100644 index 000000000000..19a07bc4899c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar with showWeekNumbers last week (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar with showWeekNumbers rtl=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar with showWeekNumbers rtl=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..1904b357dccf Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar with showWeekNumbers rtl=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar year view (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar year view (fluent-next.blue.light).png new file mode 100644 index 000000000000..ae002cb24fb0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar year view (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar year view cell styles (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar year view cell styles (fluent-next.blue.light).png new file mode 100644 index 000000000000..e3a55936b762 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar year view cell styles (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar year view in RTL mode (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar year view in RTL mode (fluent-next.blue.light).png new file mode 100644 index 000000000000..ef74e022e2fb Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar year view in RTL mode (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar year view with today button (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar year view with today button (fluent-next.blue.light).png new file mode 100644 index 000000000000..68347fdb784c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Calendar year view with today button (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Week cell click selection (selectionMode=multiple) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Week cell click selection (selectionMode=multiple) (fluent-next.blue.light).png new file mode 100644 index 000000000000..b06ac7379cfc Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Week cell click selection (selectionMode=multiple) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Week cell click selection (selectionMode=range) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Week cell click selection (selectionMode=range) (fluent-next.blue.light).png new file mode 100644 index 000000000000..032fca9fccd7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/calendar/etalons/Week cell click selection (selectionMode=range) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/chat/etalons/Alertlist appearance in RTL mode (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Alertlist appearance in RTL mode (fluent-next.blue.light).png new file mode 100644 index 000000000000..8a03b5ae9a9b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Alertlist appearance in RTL mode (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/chat/etalons/Alertlist with long text in error (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Alertlist with long text in error (fluent-next.blue.light).png new file mode 100644 index 000000000000..2563e10f1349 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Alertlist with long text in error (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/chat/etalons/Alertlist with one error (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Alertlist with one error (fluent-next.blue.light).png new file mode 100644 index 000000000000..961709503239 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Alertlist with one error (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/chat/etalons/Avatar has correct position (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Avatar has correct position (fluent-next.blue.light).png new file mode 100644 index 000000000000..78dbdde96f9a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Avatar has correct position (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/chat/etalons/Avatar sizes do not affect indentation between bubbles (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Avatar sizes do not affect indentation between bubbles (fluent-next.blue.light).png new file mode 100644 index 000000000000..74328856582b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Avatar sizes do not affect indentation between bubbles (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/chat/etalons/Avatar with image (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Avatar with image (fluent-next.blue.light).png new file mode 100644 index 000000000000..3ce2f8158be5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Avatar with image (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/chat/etalons/Avatar with showAvatar set to false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Avatar with showAvatar set to false (fluent-next.blue.light).png new file mode 100644 index 000000000000..3eeb812331ab Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Avatar with showAvatar set to false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/chat/etalons/Avatar with two word initials (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Avatar with two word initials (fluent-next.blue.light).png new file mode 100644 index 000000000000..8f669f55d3a1 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Avatar with two word initials (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/chat/etalons/Bubble with files without text (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Bubble with files without text (fluent-next.blue.light).png new file mode 100644 index 000000000000..0d9a6cc5d87c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Bubble with files without text (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/chat/etalons/Bubbles with files (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Bubbles with files (fluent-next.blue.light).png new file mode 100644 index 000000000000..39c2adb86e16 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Bubbles with files (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/chat/etalons/Bubbles with images (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Bubbles with images (fluent-next.blue.light).png new file mode 100644 index 000000000000..cf1467759325 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Bubbles with images (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/chat/etalons/Bubbles with long text (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Bubbles with long text (fluent-next.blue.light).png new file mode 100644 index 000000000000..e0bb06a9f862 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Bubbles with long text (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/chat/etalons/Bubbles with long text with line breaks (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Bubbles with long text with line breaks (fluent-next.blue.light).png new file mode 100644 index 000000000000..9f0b6ebdf08a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Bubbles with long text with line breaks (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/chat/etalons/Confirmation popup is shown (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Confirmation popup is shown (fluent-next.blue.light).png new file mode 100644 index 000000000000..6805a64882ac Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Confirmation popup is shown (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/chat/etalons/Information row with long user name (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Information row with long user name (fluent-next.blue.light).png new file mode 100644 index 000000000000..d11f246eee1c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Information row with long user name (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/chat/etalons/MessageGroup with edited messages (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/chat/etalons/MessageGroup with edited messages (fluent-next.blue.light).png new file mode 100644 index 000000000000..38358d2c00d9 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/chat/etalons/MessageGroup with edited messages (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagebox when chat has focus (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagebox when chat has focus (fluent-next.blue.light).png new file mode 100644 index 000000000000..c12fc437b36c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagebox when chat has focus (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagebox when input contains long text (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagebox when input contains long text (fluent-next.blue.light).png new file mode 100644 index 000000000000..e8f3b63e33ea Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagebox when input contains long text (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagebox when input contains short text (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagebox when input contains short text (fluent-next.blue.light).png new file mode 100644 index 000000000000..b334710c8b18 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagebox when input contains short text (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagebox when send button has focus (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagebox when send button has focus (fluent-next.blue.light).png new file mode 100644 index 000000000000..821882a60c41 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagebox when send button has focus (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagebox with attachments and informer (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagebox with attachments and informer (fluent-next.blue.light).png new file mode 100644 index 000000000000..4dc8a475145c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagebox with attachments and informer (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagebox with editing preview (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagebox with editing preview (fluent-next.blue.light).png new file mode 100644 index 000000000000..849ef59e18a7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagebox with editing preview (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagegroup appearance in RTL mode (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagegroup appearance in RTL mode (fluent-next.blue.light).png new file mode 100644 index 000000000000..bd4d5753e474 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagegroup appearance in RTL mode (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagegroup appearance in disabled state (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagegroup appearance in disabled state (fluent-next.blue.light).png new file mode 100644 index 000000000000..6ca6857da439 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagegroup appearance in disabled state (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagegroup with 1 bubble (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagegroup with 1 bubble (fluent-next.blue.light).png new file mode 100644 index 000000000000..39a53b4d555f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagegroup with 1 bubble (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagegroup with 2 bubbles (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagegroup with 2 bubbles (fluent-next.blue.light).png new file mode 100644 index 000000000000..eced13b0ccc7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagegroup with 2 bubbles (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagegroup with 3 bubbles (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagegroup with 3 bubbles (fluent-next.blue.light).png new file mode 100644 index 000000000000..ec6a5fefa147 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagegroup with 3 bubbles (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagegroup with 4 bubbles (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagegroup with 4 bubbles (fluent-next.blue.light).png new file mode 100644 index 000000000000..1edf0db4dcd5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagegroup with 4 bubbles (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagelist empty in RTL mode (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagelist empty in RTL mode (fluent-next.blue.light).png new file mode 100644 index 000000000000..9beba586088c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagelist empty in RTL mode (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagelist empty in disabled state (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagelist empty in disabled state (fluent-next.blue.light).png new file mode 100644 index 000000000000..08ef97069a9e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagelist empty in disabled state (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagelist empty state (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagelist empty state (fluent-next.blue.light).png new file mode 100644 index 000000000000..dd460e458101 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagelist empty state (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagelist empty with limited dimensions (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagelist empty with limited dimensions (fluent-next.blue.light).png new file mode 100644 index 000000000000..0361cee26efc Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagelist empty with limited dimensions (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagelist scroll position after rendering in invisible container (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagelist scroll position after rendering in invisible container (fluent-next.blue.light).png new file mode 100644 index 000000000000..3e0bfcdf54ee Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagelist scroll position after rendering in invisible container (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagelist scrollbar middle position after typing in textarea (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagelist scrollbar middle position after typing in textarea (fluent-next.blue.light).png new file mode 100644 index 000000000000..37a062add848 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagelist scrollbar middle position after typing in textarea (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagelist scrollbar position after call renderMessage() (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagelist scrollbar position after call renderMessage() (fluent-next.blue.light).png new file mode 100644 index 000000000000..111a138cb2db Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagelist scrollbar position after call renderMessage() (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagelist scrollbar position after send (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagelist scrollbar position after send (fluent-next.blue.light).png new file mode 100644 index 000000000000..0c0485babef7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagelist scrollbar position after send (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagelist scrollbar position after typing in textarea (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagelist scrollbar position after typing in textarea (fluent-next.blue.light).png new file mode 100644 index 000000000000..4fa7738e2d02 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagelist scrollbar position after typing in textarea (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagelist with a lot of messages (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagelist with a lot of messages (fluent-next.blue.light).png new file mode 100644 index 000000000000..f7fe459f0137 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagelist with a lot of messages (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagelist with date headers (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagelist with date headers (fluent-next.blue.light).png new file mode 100644 index 000000000000..fb5151de92ed Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagelist with date headers (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagelist with editing context menu (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagelist with editing context menu (fluent-next.blue.light).png new file mode 100644 index 000000000000..3d629abd31fe Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagelist with editing context menu (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagelist with message template (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagelist with message template (fluent-next.blue.light).png new file mode 100644 index 000000000000..c3cb3b811b7d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagelist with message template (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagelist with message template after new message add (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagelist with message template after new message add (fluent-next.blue.light).png new file mode 100644 index 000000000000..858151af39d1 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagelist with message template after new message add (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagelist with message template and deleted messages (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagelist with message template and deleted messages (fluent-next.blue.light).png new file mode 100644 index 000000000000..1c132fef3980 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagelist with message template and deleted messages (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagelist with showDayHeaders, showUserName and showMessageTimestamp options set to false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagelist with showDayHeaders, showUserName and showMessageTimestamp options set to false (fluent-next.blue.light).png new file mode 100644 index 000000000000..7587a4d05abd Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagelist with showDayHeaders, showUserName and showMessageTimestamp options set to false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagelist without message template and with deleted messages (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagelist without message template and with deleted messages (fluent-next.blue.light).png new file mode 100644 index 000000000000..7389224798af Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Messagelist without message template and with deleted messages (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/chat/etalons/Typing indicator with 1 user (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Typing indicator with 1 user (fluent-next.blue.light).png new file mode 100644 index 000000000000..fad7710c919e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Typing indicator with 1 user (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/chat/etalons/Typing indicator with 2 users (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Typing indicator with 2 users (fluent-next.blue.light).png new file mode 100644 index 000000000000..8a407a1635c1 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Typing indicator with 2 users (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/chat/etalons/Typing indicator with 3 users (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Typing indicator with 3 users (fluent-next.blue.light).png new file mode 100644 index 000000000000..1810d190225b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Typing indicator with 3 users (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/chat/etalons/Typing indicator with 4 users (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Typing indicator with 4 users (fluent-next.blue.light).png new file mode 100644 index 000000000000..12f83f9433a4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Typing indicator with 4 users (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/chat/etalons/Typing indicator with a lot of items (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Typing indicator with a lot of items (fluent-next.blue.light).png new file mode 100644 index 000000000000..3e74a5a0385f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Typing indicator with a lot of items (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/chat/etalons/Typing indicator with emptyview (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Typing indicator with emptyview (fluent-next.blue.light).png new file mode 100644 index 000000000000..48a1af84523b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Typing indicator with emptyview (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/chat/etalons/Typing indicator with long name (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Typing indicator with long name (fluent-next.blue.light).png new file mode 100644 index 000000000000..a0d87f2b21e6 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Typing indicator with long name (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/chat/etalons/Typing indicator without name (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Typing indicator without name (fluent-next.blue.light).png new file mode 100644 index 000000000000..d64625e31c73 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/chat/etalons/Typing indicator without name (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/checkBox/etalons/CheckBox appearance (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/checkBox/etalons/CheckBox appearance (fluent-next.blue.light).png new file mode 100644 index 000000000000..658437ecdfa2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/checkBox/etalons/CheckBox appearance (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/checkBox/etalons/CheckBox appearance in scaled container, scale=0.67 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/checkBox/etalons/CheckBox appearance in scaled container, scale=0.67 (fluent-next.blue.light).png new file mode 100644 index 000000000000..5272bf107d1f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/checkBox/etalons/CheckBox appearance in scaled container, scale=0.67 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/checkBox/etalons/CheckBox appearance in scaled container, scale=1.15 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/checkBox/etalons/CheckBox appearance in scaled container, scale=1.15 (fluent-next.blue.light).png new file mode 100644 index 000000000000..38dd32029d06 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/checkBox/etalons/CheckBox appearance in scaled container, scale=1.15 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/checkBox/etalons/Checkbox states (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/checkBox/etalons/Checkbox states (fluent-next.blue.light).png new file mode 100644 index 000000000000..d7d3c6c6bf00 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/checkBox/etalons/Checkbox states (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/checkBox/etalons/Checkbox states with column count style (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/checkBox/etalons/Checkbox states with column count style (fluent-next.blue.light).png new file mode 100644 index 000000000000..105947cd8ac0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/checkBox/etalons/Checkbox states with column count style (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/checkBox/etalons/Checkbox validation message with bottom position (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/checkBox/etalons/Checkbox validation message with bottom position (fluent-next.blue.light).png new file mode 100644 index 000000000000..96a07f2be0bb Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/checkBox/etalons/Checkbox validation message with bottom position (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/checkBox/etalons/Checkbox validation message with left position (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/checkBox/etalons/Checkbox validation message with left position (fluent-next.blue.light).png new file mode 100644 index 000000000000..2bc7f103cc27 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/checkBox/etalons/Checkbox validation message with left position (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/checkBox/etalons/Checkbox validation message with right position (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/checkBox/etalons/Checkbox validation message with right position (fluent-next.blue.light).png new file mode 100644 index 000000000000..639c0fbeb3f7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/checkBox/etalons/Checkbox validation message with right position (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/checkBox/etalons/Checkbox validation message with top position (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/checkBox/etalons/Checkbox validation message with top position (fluent-next.blue.light).png new file mode 100644 index 000000000000..1e247abd881b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/checkBox/etalons/Checkbox validation message with top position (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/colorbox/etalons/Colorbox with placeholder (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/colorbox/etalons/Colorbox with placeholder (fluent-next.blue.light).png new file mode 100644 index 000000000000..b119cce12f2c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/colorbox/etalons/Colorbox with placeholder (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dateBox/etalons/DateBox render with buttons container (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dateBox/etalons/DateBox render with buttons container (fluent-next.blue.light).png new file mode 100644 index 000000000000..672b1c857692 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dateBox/etalons/DateBox render with buttons container (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dateBox/etalons/DateBox with datetime and opened AMPM select (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dateBox/etalons/DateBox with datetime and opened AMPM select (fluent-next.blue.light).png new file mode 100644 index 000000000000..1a491826f641 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dateBox/etalons/DateBox with datetime and opened AMPM select (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dateBox/etalons/DateBox with datetime and root element as container (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dateBox/etalons/DateBox with datetime and root element as container (fluent-next.blue.light).png new file mode 100644 index 000000000000..d176221705ea Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dateBox/etalons/DateBox with datetime and root element as container (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dateBox/etalons/Datebox (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dateBox/etalons/Datebox (fluent-next.blue.light).png new file mode 100644 index 000000000000..bda6832a8028 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dateBox/etalons/Datebox (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dateBox/etalons/Datebox active (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dateBox/etalons/Datebox active (fluent-next.blue.light).png new file mode 100644 index 000000000000..bda6832a8028 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dateBox/etalons/Datebox active (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dateBox/etalons/Datebox focused (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dateBox/etalons/Datebox focused (fluent-next.blue.light).png new file mode 100644 index 000000000000..a9cf8238fdb5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dateBox/etalons/Datebox focused (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dateBox/etalons/Datebox label symbols (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dateBox/etalons/Datebox label symbols (fluent-next.blue.light).png new file mode 100644 index 000000000000..eaa20eba9653 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dateBox/etalons/Datebox label symbols (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dateBox/etalons/Datebox validation message (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dateBox/etalons/Datebox validation message (fluent-next.blue.light).png new file mode 100644 index 000000000000..d932dbc70717 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dateBox/etalons/Datebox validation message (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dateBox/etalons/Datebox with calendar (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dateBox/etalons/Datebox with calendar (fluent-next.blue.light).png new file mode 100644 index 000000000000..304ea7fc7bbb Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dateBox/etalons/Datebox with calendar (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dateBox/etalons/Datebox with datetime (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dateBox/etalons/Datebox with datetime (fluent-next.blue.light).png new file mode 100644 index 000000000000..7bc55a572668 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dateBox/etalons/Datebox with datetime (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dateBox/etalons/Datebox with datetime without analog clock (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dateBox/etalons/Datebox with datetime without analog clock (fluent-next.blue.light).png new file mode 100644 index 000000000000..9b7cb668b34f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dateBox/etalons/Datebox with datetime without analog clock (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dateBox/etalons/Datebox with datetime without calendar (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dateBox/etalons/Datebox with datetime without calendar (fluent-next.blue.light).png new file mode 100644 index 000000000000..ef48461991f1 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dateBox/etalons/Datebox with datetime without calendar (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB appearance after change rtl mode in runtime (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB appearance after change rtl mode in runtime (fluent-next.blue.light).png new file mode 100644 index 000000000000..6a55d46b32a5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB appearance after change rtl mode in runtime (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB disabled dates after end date select (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB disabled dates after end date select (fluent-next.blue.light).png new file mode 100644 index 000000000000..0433d0d93e20 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB disabled dates after end date select (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB disabled dates before start date select (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB disabled dates before start date select (fluent-next.blue.light).png new file mode 100644 index 000000000000..9cda63162fab Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB disabled dates before start date select (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB disabled dates on end date input focus (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB disabled dates on end date input focus (fluent-next.blue.light).png new file mode 100644 index 000000000000..3cf6b94cfb25 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB disabled dates on end date input focus (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB disabled dates on popup opening (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB disabled dates on popup opening (fluent-next.blue.light).png new file mode 100644 index 000000000000..5181bb5ba330 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB disabled dates on popup opening (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB disabled dates on start date input focus (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB disabled dates on start date input focus (fluent-next.blue.light).png new file mode 100644 index 000000000000..d93f3a774074 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB disabled dates on start date input focus (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range cells, start in view and end in row & vise versa (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range cells, start in view and end in row & vise versa (fluent-next.blue.light).png new file mode 100644 index 000000000000..3a4e3c720e36 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range cells, start in view and end in row & vise versa (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range cells, start in view and in row & end in view and in row (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range cells, start in view and in row & end in view and in row (fluent-next.blue.light).png new file mode 100644 index 000000000000..579d9a1268fd Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range cells, start in view and in row & end in view and in row (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, endDate = startDate (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, endDate = startDate (fluent-next.blue.light).png new file mode 100644 index 000000000000..9aa033bdec7f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, endDate = startDate (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, endDate is cell inside row, hover is start in view (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, endDate is cell inside row, hover is start in view (fluent-next.blue.light).png new file mode 100644 index 000000000000..58f737f20fe4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, endDate is cell inside row, hover is start in view (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, endDate is end cell row, hover is end in view (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, endDate is end cell row, hover is end in view (fluent-next.blue.light).png new file mode 100644 index 000000000000..b5117de9f16e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, endDate is end cell row, hover is end in view (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, endDate is end in view & end cell row (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, endDate is end in view & end cell row (fluent-next.blue.light).png new file mode 100644 index 000000000000..75eba245ee16 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, endDate is end in view & end cell row (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, endDate is end in view & start row, hover is start row (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, endDate is end in view & start row, hover is start row (fluent-next.blue.light).png new file mode 100644 index 000000000000..00aae7271b34 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, endDate is end in view & start row, hover is start row (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, endDate is end in view, hover is start view & end row (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, endDate is end in view, hover is start view & end row (fluent-next.blue.light).png new file mode 100644 index 000000000000..31f8e1b2e1d9 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, endDate is end in view, hover is start view & end row (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, endDate is start in row, hover is end view & start row (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, endDate is start in row, hover is end view & start row (fluent-next.blue.light).png new file mode 100644 index 000000000000..516125a24edf Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, endDate is start in row, hover is end view & start row (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, endDate is start in view & start in row (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, endDate is start in view & start in row (fluent-next.blue.light).png new file mode 100644 index 000000000000..2c911df89f3e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, endDate is start in view & start in row (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, endDate is start in view, hover is end in row (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, endDate is start in view, hover is end in row (fluent-next.blue.light).png new file mode 100644 index 000000000000..8756d3f5e4ee Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, endDate is start in view, hover is end in row (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, endDate is start view & end cell row, hover inside row (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, endDate is start view & end cell row, hover inside row (fluent-next.blue.light).png new file mode 100644 index 000000000000..f6da6b521bd9 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, endDate is start view & end cell row, hover inside row (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, hover is end in view & end cell row (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, hover is end in view & end cell row (fluent-next.blue.light).png new file mode 100644 index 000000000000..b879fff53fa7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, hover is end in view & end cell row (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, hover is end in view & start in row (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, hover is end in view & start in row (fluent-next.blue.light).png new file mode 100644 index 000000000000..b7b44382b424 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, hover is end in view & start in row (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, hover is start in view & end cell row (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, hover is start in view & end cell row (fluent-next.blue.light).png new file mode 100644 index 000000000000..343c56cdf92c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, hover is start in view & end cell row (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, hover is start in view & start in row (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, hover is start in view & start in row (fluent-next.blue.light).png new file mode 100644 index 000000000000..79a70c6dcc63 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, hover is start in view & start in row (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, startDate cell is start in view & end cell row (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, startDate cell is start in view & end cell row (fluent-next.blue.light).png new file mode 100644 index 000000000000..9b057de7e005 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, startDate cell is start in view & end cell row (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, startDate inside row, hover is start in view & row (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, startDate inside row, hover is start in view & row (fluent-next.blue.light).png new file mode 100644 index 000000000000..caa3f2a1ed1c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, startDate inside row, hover is start in view & row (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, startDate is end cell row, hover is start in row (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, startDate is end cell row, hover is start in row (fluent-next.blue.light).png new file mode 100644 index 000000000000..ff7a8c66f549 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, startDate is end cell row, hover is start in row (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, startDate is end in view & row, hover inside row (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, startDate is end in view & row, hover inside row (fluent-next.blue.light).png new file mode 100644 index 000000000000..30ebe493d02f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, startDate is end in view & row, hover inside row (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, startDate is end in view & start row, hover is end row (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, startDate is end in view & start row, hover is end row (fluent-next.blue.light).png new file mode 100644 index 000000000000..5bdeb297f8cb Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, startDate is end in view & start row, hover is end row (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, startDate is end in view, hover inside row (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, startDate is end in view, hover inside row (fluent-next.blue.light).png new file mode 100644 index 000000000000..25fc1ea1f80a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, startDate is end in view, hover inside row (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, startDate is start in row, hover is start in view (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, startDate is start in row, hover is start in view (fluent-next.blue.light).png new file mode 100644 index 000000000000..382fcd87f948 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, startDate is start in row, hover is start in view (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, startDate is start in view, hover is end in view (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, startDate is start in view, hover is end in view (fluent-next.blue.light).png new file mode 100644 index 000000000000..647f68ed384b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, startDate is start in view, hover is end in view (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, startDate is start view & row, hover is end view & row (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, startDate is start view & row, hover is end view & row (fluent-next.blue.light).png new file mode 100644 index 000000000000..52d93aef59fb Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DRB range, startDate is start view & row, hover is end view & row (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DateRangeBox styles (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DateRangeBox styles (fluent-next.blue.light).png new file mode 100644 index 000000000000..593430dcb66e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DateRangeBox styles (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DateRangeBox with buttons container (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DateRangeBox with buttons container (fluent-next.blue.light).png new file mode 100644 index 000000000000..bb4bf4faab07 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/DateRangeBox with buttons container (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/Placeholder and label by default labelMode=floating (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/Placeholder and label by default labelMode=floating (fluent-next.blue.light).png new file mode 100644 index 000000000000..23a30948853b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/Placeholder and label by default labelMode=floating (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/Placeholder and label by default labelMode=hidden (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/Placeholder and label by default labelMode=hidden (fluent-next.blue.light).png new file mode 100644 index 000000000000..14f1c3cf487e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/Placeholder and label by default labelMode=hidden (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/Placeholder and label by default labelMode=outside (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/Placeholder and label by default labelMode=outside (fluent-next.blue.light).png new file mode 100644 index 000000000000..01f0c59ba1ea Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/Placeholder and label by default labelMode=outside (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/Placeholder and label by default labelMode=static (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/Placeholder and label by default labelMode=static (fluent-next.blue.light).png new file mode 100644 index 000000000000..c626288172ac Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/Placeholder and label by default labelMode=static (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/Placeholder and label on end date input labelMode=floating focus (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/Placeholder and label on end date input labelMode=floating focus (fluent-next.blue.light).png new file mode 100644 index 000000000000..d6650e5e7388 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/Placeholder and label on end date input labelMode=floating focus (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/Placeholder and label on end date input labelMode=hidden focus (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/Placeholder and label on end date input labelMode=hidden focus (fluent-next.blue.light).png new file mode 100644 index 000000000000..dffcded1b99e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/Placeholder and label on end date input labelMode=hidden focus (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/Placeholder and label on end date input labelMode=outside focus (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/Placeholder and label on end date input labelMode=outside focus (fluent-next.blue.light).png new file mode 100644 index 000000000000..27d6b6538a8f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/Placeholder and label on end date input labelMode=outside focus (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/Placeholder and label on end date input labelMode=static focus (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/Placeholder and label on end date input labelMode=static focus (fluent-next.blue.light).png new file mode 100644 index 000000000000..d6650e5e7388 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/Placeholder and label on end date input labelMode=static focus (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/Placeholder and label on start date input focus labelMode=floating (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/Placeholder and label on start date input focus labelMode=floating (fluent-next.blue.light).png new file mode 100644 index 000000000000..ac06a348b989 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/Placeholder and label on start date input focus labelMode=floating (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/Placeholder and label on start date input focus labelMode=hidden (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/Placeholder and label on start date input focus labelMode=hidden (fluent-next.blue.light).png new file mode 100644 index 000000000000..cfb3788415d1 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/Placeholder and label on start date input focus labelMode=hidden (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/Placeholder and label on start date input focus labelMode=outside (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/Placeholder and label on start date input focus labelMode=outside (fluent-next.blue.light).png new file mode 100644 index 000000000000..c15204492439 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/Placeholder and label on start date input focus labelMode=outside (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/Placeholder and label on start date input focus labelMode=static (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/Placeholder and label on start date input focus labelMode=static (fluent-next.blue.light).png new file mode 100644 index 000000000000..ac06a348b989 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/Placeholder and label on start date input focus labelMode=static (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/The validation message overlay position for DateRangeBox after opening (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/The validation message overlay position for DateRangeBox after opening (fluent-next.blue.light).png new file mode 100644 index 000000000000..d814f201b53b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/The validation message overlay position for DateRangeBox after opening (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/The validation message overlay position for DateRangeBox before opening (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/The validation message overlay position for DateRangeBox before opening (fluent-next.blue.light).png new file mode 100644 index 000000000000..f91b1bd19478 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dateRangeBox/etalons/The validation message overlay position for DateRangeBox before opening (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dropDownBox/etalons/Popup has correct height on the first opening (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dropDownBox/etalons/Popup has correct height on the first opening (fluent-next.blue.light).png new file mode 100644 index 000000000000..ac3eca6a4895 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dropDownBox/etalons/Popup has correct height on the first opening (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dropDownBox/etalons/T1245111-dropDownBox-resize (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dropDownBox/etalons/T1245111-dropDownBox-resize (fluent-next.blue.light).png new file mode 100644 index 000000000000..6f8eba0a01d9 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dropDownBox/etalons/T1245111-dropDownBox-resize (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dropDownButton/etalons/Button template, splitButton=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dropDownButton/etalons/Button template, splitButton=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..6dc16646984a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dropDownButton/etalons/Button template, splitButton=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dropDownButton/etalons/Button template, splitButton=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dropDownButton/etalons/Button template, splitButton=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..c16011cc8d36 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dropDownButton/etalons/Button template, splitButton=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dropDownButton/etalons/DropDownButton render (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dropDownButton/etalons/DropDownButton render (fluent-next.blue.light).png new file mode 100644 index 000000000000..662866d7cac8 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dropDownButton/etalons/DropDownButton render (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dropDownButton/etalons/DropDownButton render with fixed width (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dropDownButton/etalons/DropDownButton render with fixed width (fluent-next.blue.light).png new file mode 100644 index 000000000000..c9218cf5b2c0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dropDownButton/etalons/DropDownButton render with fixed width (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dropDownButton/etalons/DropDownButton render, type=danger (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dropDownButton/etalons/DropDownButton render, type=danger (fluent-next.blue.light).png new file mode 100644 index 000000000000..c66e51200eb2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dropDownButton/etalons/DropDownButton render, type=danger (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dropDownButton/etalons/DropDownButton render, type=default (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dropDownButton/etalons/DropDownButton render, type=default (fluent-next.blue.light).png new file mode 100644 index 000000000000..20fc931badb1 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dropDownButton/etalons/DropDownButton render, type=default (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/dropDownButton/etalons/DropDownButton render, type=success (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/dropDownButton/etalons/DropDownButton render, type=success (fluent-next.blue.light).png new file mode 100644 index 000000000000..331d1d151d50 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/dropDownButton/etalons/DropDownButton render, type=success (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/fileManager/etalons/drop down width (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/fileManager/etalons/drop down width (fluent-next.blue.light).png new file mode 100644 index 000000000000..7b264a0c9c2f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/fileManager/etalons/drop down width (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/fileUploader/etalons/fileuploader-show-filelist-false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/fileUploader/etalons/fileuploader-show-filelist-false (fluent-next.blue.light).png new file mode 100644 index 000000000000..bbcccbf83ac2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/fileUploader/etalons/fileuploader-show-filelist-false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/fileUploader/etalons/fileuploader-show-filelist-true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/fileUploader/etalons/fileuploader-show-filelist-true (fluent-next.blue.light).png new file mode 100644 index 000000000000..5ef3fb47b1af Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/fileUploader/etalons/fileuploader-show-filelist-true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/addImage/etalons/Image uploader from url appearance (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/addImage/etalons/Image uploader from url appearance (fluent-next.blue.light).png new file mode 100644 index 000000000000..f1b4a887f1a0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/addImage/etalons/Image uploader from url appearance (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/addImage/etalons/add-validated-url-image-by-click (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/addImage/etalons/add-validated-url-image-by-click (fluent-next.blue.light).png new file mode 100644 index 000000000000..60c5a7c48cff Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/addImage/etalons/add-validated-url-image-by-click (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/addImage/etalons/editor-add-url-image-after-updated (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/addImage/etalons/editor-add-url-image-after-updated (fluent-next.blue.light).png new file mode 100644 index 000000000000..d9bdaab3015e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/addImage/etalons/editor-add-url-image-after-updated (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/addImage/etalons/editor-add-url-image-before-updated (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/addImage/etalons/editor-add-url-image-before-updated (fluent-next.blue.light).png new file mode 100644 index 000000000000..60c5a7c48cff Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/addImage/etalons/editor-add-url-image-before-updated (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/addImage/etalons/editor-add-validated-url-image-by-enter (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/addImage/etalons/editor-add-validated-url-image-by-enter (fluent-next.blue.light).png new file mode 100644 index 000000000000..60c5a7c48cff Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/addImage/etalons/editor-add-validated-url-image-by-enter (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/addImage/etalons/editor-after-add-image-from-device (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/addImage/etalons/editor-after-add-image-from-device (fluent-next.blue.light).png new file mode 100644 index 000000000000..d044f6b2bbaf Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/addImage/etalons/editor-after-add-image-from-device (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/addImage/etalons/editor-after-click-add-button-and-validation (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/addImage/etalons/editor-after-click-add-button-and-validation (fluent-next.blue.light).png new file mode 100644 index 000000000000..417fa43a3c0c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/addImage/etalons/editor-after-click-add-button-and-validation (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/addImage/etalons/editor-before-click-add-button-and-validation (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/addImage/etalons/editor-before-click-add-button-and-validation (fluent-next.blue.light).png new file mode 100644 index 000000000000..3a78ec59041a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/addImage/etalons/editor-before-click-add-button-and-validation (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/addImage/etalons/editor-before-click-add-button-from-device (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/addImage/etalons/editor-before-click-add-button-from-device (fluent-next.blue.light).png new file mode 100644 index 000000000000..5ee8c90a57f0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/addImage/etalons/editor-before-click-add-button-from-device (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/addImage/etalons/htmleditor-with-toolbar (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/addImage/etalons/htmleditor-with-toolbar (fluent-next.blue.light).png new file mode 100644 index 000000000000..e3d6fef9f9ce Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/addImage/etalons/htmleditor-with-toolbar (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/addImage/etalons/htmleditor-with-toolbar-focused (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/addImage/etalons/htmleditor-with-toolbar-focused (fluent-next.blue.light).png new file mode 100644 index 000000000000..4605fa42452d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/addImage/etalons/htmleditor-with-toolbar-focused (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/addImage/etalons/htmleditor-without-toolbar (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/addImage/etalons/htmleditor-without-toolbar (fluent-next.blue.light).png new file mode 100644 index 000000000000..80e293e21c48 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/addImage/etalons/htmleditor-without-toolbar (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/addImage/etalons/htmleditor-without-toolbar-focused (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/addImage/etalons/htmleditor-without-toolbar-focused (fluent-next.blue.light).png new file mode 100644 index 000000000000..b3489d61ecf2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/addImage/etalons/htmleditor-without-toolbar-focused (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/addImage/etalons/tabpanel-in-htmleditor (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/addImage/etalons/tabpanel-in-htmleditor (fluent-next.blue.light).png new file mode 100644 index 000000000000..e30ee4418019 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/addImage/etalons/tabpanel-in-htmleditor (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/aiDialog/etalons/htmleditor-ai-dialog-ask-ai-result-ready-state (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/aiDialog/etalons/htmleditor-ai-dialog-ask-ai-result-ready-state (fluent-next.blue.light).png new file mode 100644 index 000000000000..ee79a775ef4f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/aiDialog/etalons/htmleditor-ai-dialog-ask-ai-result-ready-state (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/aiDialog/etalons/htmleditor-ai-dialog-asking-state (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/aiDialog/etalons/htmleditor-ai-dialog-asking-state (fluent-next.blue.light).png new file mode 100644 index 000000000000..b7f1dff7f5a0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/aiDialog/etalons/htmleditor-ai-dialog-asking-state (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/aiDialog/etalons/htmleditor-ai-dialog-error-state (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/aiDialog/etalons/htmleditor-ai-dialog-error-state (fluent-next.blue.light).png new file mode 100644 index 000000000000..08ad1d598012 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/aiDialog/etalons/htmleditor-ai-dialog-error-state (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/aiDialog/etalons/htmleditor-ai-dialog-error-state-on-small-screen (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/aiDialog/etalons/htmleditor-ai-dialog-error-state-on-small-screen (fluent-next.blue.light).png new file mode 100644 index 000000000000..902333bc7d91 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/aiDialog/etalons/htmleditor-ai-dialog-error-state-on-small-screen (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/aiDialog/etalons/htmleditor-ai-dialog-generating-state (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/aiDialog/etalons/htmleditor-ai-dialog-generating-state (fluent-next.blue.light).png new file mode 100644 index 000000000000..5cf18d2a77c0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/aiDialog/etalons/htmleditor-ai-dialog-generating-state (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/aiDialog/etalons/htmleditor-ai-dialog-generating-state-on-small-screen (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/aiDialog/etalons/htmleditor-ai-dialog-generating-state-on-small-screen (fluent-next.blue.light).png new file mode 100644 index 000000000000..4b4a09e2ae52 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/aiDialog/etalons/htmleditor-ai-dialog-generating-state-on-small-screen (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/aiDialog/etalons/htmleditor-ai-dialog-initial-state-on-small-screen (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/aiDialog/etalons/htmleditor-ai-dialog-initial-state-on-small-screen (fluent-next.blue.light).png new file mode 100644 index 000000000000..38e2a7a309e4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/aiDialog/etalons/htmleditor-ai-dialog-initial-state-on-small-screen (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/aiDialog/etalons/htmleditor-ai-dialog-initial-state-resize-window (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/aiDialog/etalons/htmleditor-ai-dialog-initial-state-resize-window (fluent-next.blue.light).png new file mode 100644 index 000000000000..1a2ff73db2b5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/aiDialog/etalons/htmleditor-ai-dialog-initial-state-resize-window (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/aiDialog/etalons/htmleditor-ai-dialog-initial-state-with-no-options (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/aiDialog/etalons/htmleditor-ai-dialog-initial-state-with-no-options (fluent-next.blue.light).png new file mode 100644 index 000000000000..01796ead615e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/aiDialog/etalons/htmleditor-ai-dialog-initial-state-with-no-options (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/aiDialog/etalons/htmleditor-ai-dialog-initial-state-with-options (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/aiDialog/etalons/htmleditor-ai-dialog-initial-state-with-options (fluent-next.blue.light).png new file mode 100644 index 000000000000..9fa745050fa4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/aiDialog/etalons/htmleditor-ai-dialog-initial-state-with-options (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/aiDialog/etalons/htmleditor-ai-dialog-result-ready-after-canceletion (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/aiDialog/etalons/htmleditor-ai-dialog-result-ready-after-canceletion (fluent-next.blue.light).png new file mode 100644 index 000000000000..45f64b292bba Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/aiDialog/etalons/htmleditor-ai-dialog-result-ready-after-canceletion (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/aiDialog/etalons/htmleditor-ai-dialog-result-ready-state-on-small-screen (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/aiDialog/etalons/htmleditor-ai-dialog-result-ready-state-on-small-screen (fluent-next.blue.light).png new file mode 100644 index 000000000000..d2b1c4d349ba Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/aiDialog/etalons/htmleditor-ai-dialog-result-ready-state-on-small-screen (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/aiDialog/etalons/htmleditor-ai-dialog-result-ready-state-with-long-result (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/aiDialog/etalons/htmleditor-ai-dialog-result-ready-state-with-long-result (fluent-next.blue.light).png new file mode 100644 index 000000000000..06f5205a8ad7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/aiDialog/etalons/htmleditor-ai-dialog-result-ready-state-with-long-result (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/aiDialog/etalons/htmleditor-ai-dialog-result-ready-state-with-short-result (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/aiDialog/etalons/htmleditor-ai-dialog-result-ready-state-with-short-result (fluent-next.blue.light).png new file mode 100644 index 000000000000..a8f9b8f32610 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/htmlEditor/dialogs/aiDialog/etalons/htmleditor-ai-dialog-result-ready-state-with-short-result (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/htmlEditor/etalons/htmleditor-ai-toolbar-item (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/htmlEditor/etalons/htmleditor-ai-toolbar-item (fluent-next.blue.light).png new file mode 100644 index 000000000000..69fa4ae30571 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/htmlEditor/etalons/htmleditor-ai-toolbar-item (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/htmlEditor/etalons/htmleditor-ai-toolbar-item-expanded (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/htmlEditor/etalons/htmleditor-ai-toolbar-item-expanded (fluent-next.blue.light).png new file mode 100644 index 000000000000..d5bfcd1acc7f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/htmlEditor/etalons/htmleditor-ai-toolbar-item-expanded (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/htmlEditor/etalons/htmleditor-ordered-list-appearance (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/htmlEditor/etalons/htmleditor-ordered-list-appearance (fluent-next.blue.light).png new file mode 100644 index 000000000000..0eaa3540d30c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/htmlEditor/etalons/htmleditor-ordered-list-appearance (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/htmlEditor/etalons/htmleditor-ordered-list-text-appearance (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/htmlEditor/etalons/htmleditor-ordered-list-text-appearance (fluent-next.blue.light).png new file mode 100644 index 000000000000..833ed731a091 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/htmlEditor/etalons/htmleditor-ordered-list-text-appearance (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/htmlEditor/etalons/htmleditor-with-toolbar (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/htmlEditor/etalons/htmleditor-with-toolbar (fluent-next.blue.light).png new file mode 100644 index 000000000000..e3d6fef9f9ce Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/htmlEditor/etalons/htmleditor-with-toolbar (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/htmlEditor/etalons/htmleditor-with-toolbar-focused (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/htmlEditor/etalons/htmleditor-with-toolbar-focused (fluent-next.blue.light).png new file mode 100644 index 000000000000..4605fa42452d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/htmlEditor/etalons/htmleditor-with-toolbar-focused (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/htmlEditor/etalons/htmleditor-without-toolbar (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/htmlEditor/etalons/htmleditor-without-toolbar (fluent-next.blue.light).png new file mode 100644 index 000000000000..80e293e21c48 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/htmlEditor/etalons/htmleditor-without-toolbar (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/htmlEditor/etalons/htmleditor-without-toolbar-focused (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/htmlEditor/etalons/htmleditor-without-toolbar-focused (fluent-next.blue.light).png new file mode 100644 index 000000000000..b3489d61ecf2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/htmlEditor/etalons/htmleditor-without-toolbar-focused (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/loadIndIcator/etalons/LoadIndicator with circle animation (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/loadIndIcator/etalons/LoadIndicator with circle animation (fluent-next.blue.light).png new file mode 100644 index 000000000000..db1ab4add458 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/loadIndIcator/etalons/LoadIndicator with circle animation (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/loadIndIcator/etalons/LoadIndicator with sparkle animation (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/loadIndIcator/etalons/LoadIndicator with sparkle animation (fluent-next.blue.light).png new file mode 100644 index 000000000000..de447c40e260 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/loadIndIcator/etalons/LoadIndicator with sparkle animation (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/lookup/etalons/Lookup appearance (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/lookup/etalons/Lookup appearance (fluent-next.blue.light).png new file mode 100644 index 000000000000..9f8120789eca Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/lookup/etalons/Lookup appearance (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/lookup/etalons/Lookup appearance with limited width (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/lookup/etalons/Lookup appearance with limited width (fluent-next.blue.light).png new file mode 100644 index 000000000000..1ee43471aa6d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/lookup/etalons/Lookup appearance with limited width (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/lookup/etalons/Lookup in loading (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/lookup/etalons/Lookup in loading (fluent-next.blue.light).png new file mode 100644 index 000000000000..f8525cc6f164 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/lookup/etalons/Lookup in loading (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/lookup/etalons/Lookup width adjust to fit its content (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/lookup/etalons/Lookup width adjust to fit its content (fluent-next.blue.light).png new file mode 100644 index 000000000000..fd35af87e4eb Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/lookup/etalons/Lookup width adjust to fit its content (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/lookup/etalons/Lookup with no found data (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/lookup/etalons/Lookup with no found data (fluent-next.blue.light).png new file mode 100644 index 000000000000..8c815a8d347b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/lookup/etalons/Lookup with no found data (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/numberBox/etalons/NumberBox label (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/numberBox/etalons/NumberBox label (fluent-next.blue.light).png new file mode 100644 index 000000000000..b350771ab073 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/numberBox/etalons/NumberBox label (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/numberBox/etalons/NumberBox render with buttons container (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/numberBox/etalons/NumberBox render with buttons container (fluent-next.blue.light).png new file mode 100644 index 000000000000..b5856b028ae8 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/numberBox/etalons/NumberBox render with buttons container (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/overlays/etalons/Dialog appearance (alert) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/overlays/etalons/Dialog appearance (alert) (fluent-next.blue.light).png new file mode 100644 index 000000000000..d4c5b5fd4014 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/overlays/etalons/Dialog appearance (alert) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/overlays/etalons/Dialog appearance (confirm) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/overlays/etalons/Dialog appearance (confirm) (fluent-next.blue.light).png new file mode 100644 index 000000000000..46136fcbc769 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/overlays/etalons/Dialog appearance (confirm) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/overlays/etalons/Dialog appearance (custom) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/overlays/etalons/Dialog appearance (custom) (fluent-next.blue.light).png new file mode 100644 index 000000000000..7504a3a21ea5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/overlays/etalons/Dialog appearance (custom) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/overlays/etalons/Popover_bottom_toolbar_menu,rtlEnabled=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/overlays/etalons/Popover_bottom_toolbar_menu,rtlEnabled=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..a7634a07dad3 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/overlays/etalons/Popover_bottom_toolbar_menu,rtlEnabled=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/overlays/etalons/Popover_bottom_toolbar_menu,rtlEnabled=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/overlays/etalons/Popover_bottom_toolbar_menu,rtlEnabled=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..dcdb9d816fe0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/overlays/etalons/Popover_bottom_toolbar_menu,rtlEnabled=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/overlays/etalons/Popover_top_toolbar_menu,rtlEnabled=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/overlays/etalons/Popover_top_toolbar_menu,rtlEnabled=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..fcd389e7a1be Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/overlays/etalons/Popover_top_toolbar_menu,rtlEnabled=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/overlays/etalons/Popover_top_toolbar_menu,rtlEnabled=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/overlays/etalons/Popover_top_toolbar_menu,rtlEnabled=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..eaa839149fb7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/overlays/etalons/Popover_top_toolbar_menu,rtlEnabled=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/overlays/etalons/Popup toolbars with wide elements and overflow menu after items rebinding (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/overlays/etalons/Popup toolbars with wide elements and overflow menu after items rebinding (fluent-next.blue.light).png new file mode 100644 index 000000000000..504c4b234e70 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/overlays/etalons/Popup toolbars with wide elements and overflow menu after items rebinding (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/overlays/etalons/Popup toolbars with wide elements and overflow menu before items rebinding (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/overlays/etalons/Popup toolbars with wide elements and overflow menu before items rebinding (fluent-next.blue.light).png new file mode 100644 index 000000000000..dbe05a0ab25d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/overlays/etalons/Popup toolbars with wide elements and overflow menu before items rebinding (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/overlays/etalons/Popup_bottom_toolbar_menu,rtlEnabled=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/overlays/etalons/Popup_bottom_toolbar_menu,rtlEnabled=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..f39284a346c9 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/overlays/etalons/Popup_bottom_toolbar_menu,rtlEnabled=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/overlays/etalons/Popup_bottom_toolbar_menu,rtlEnabled=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/overlays/etalons/Popup_bottom_toolbar_menu,rtlEnabled=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..ab4b9dd09e72 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/overlays/etalons/Popup_bottom_toolbar_menu,rtlEnabled=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/overlays/etalons/Popup_top_toolbar_menu,rtlEnabled=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/overlays/etalons/Popup_top_toolbar_menu,rtlEnabled=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..4f9cd1984ffa Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/overlays/etalons/Popup_top_toolbar_menu,rtlEnabled=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/overlays/etalons/Popup_top_toolbar_menu,rtlEnabled=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/overlays/etalons/Popup_top_toolbar_menu,rtlEnabled=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..83bd8488b55f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/overlays/etalons/Popup_top_toolbar_menu,rtlEnabled=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/overlays/etalons/Toasts (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/overlays/etalons/Toasts (fluent-next.blue.light).png new file mode 100644 index 000000000000..babfc2151c88 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/overlays/etalons/Toasts (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/overlays/etalons/Toolbar after items rebinding if it was hidden without items on init (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/overlays/etalons/Toolbar after items rebinding if it was hidden without items on init (fluent-next.blue.light).png new file mode 100644 index 000000000000..504c4b234e70 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/overlays/etalons/Toolbar after items rebinding if it was hidden without items on init (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/overlays/etalons/Toolbar after items rebinding if it was visible with items on init (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/overlays/etalons/Toolbar after items rebinding if it was visible with items on init (fluent-next.blue.light).png new file mode 100644 index 000000000000..504c4b234e70 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/overlays/etalons/Toolbar after items rebinding if it was visible with items on init (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/overlays/etalons/Toolbar before items rebinding if it was hidden without items on init (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/overlays/etalons/Toolbar before items rebinding if it was hidden without items on init (fluent-next.blue.light).png new file mode 100644 index 000000000000..dbe05a0ab25d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/overlays/etalons/Toolbar before items rebinding if it was hidden without items on init (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/overlays/etalons/Toolbar before items rebinding if it was visible with items on init (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/overlays/etalons/Toolbar before items rebinding if it was visible with items on init (fluent-next.blue.light).png new file mode 100644 index 000000000000..dbe05a0ab25d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/overlays/etalons/Toolbar before items rebinding if it was visible with items on init (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/radioGroup/etalons/RadioGroup horizontal validation (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/radioGroup/etalons/RadioGroup horizontal validation (fluent-next.blue.light).png new file mode 100644 index 000000000000..1bef5c4fdbe6 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/radioGroup/etalons/RadioGroup horizontal validation (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/radioGroup/etalons/RadioGroup in scaled container (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/radioGroup/etalons/RadioGroup in scaled container (fluent-next.blue.light).png new file mode 100644 index 000000000000..0d41efb9f35d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/radioGroup/etalons/RadioGroup in scaled container (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/selectBox/etalons/SelectBox Customize DropDown Button (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/selectBox/etalons/SelectBox Customize DropDown Button (fluent-next.blue.light).png new file mode 100644 index 000000000000..34f8b7d5d3b3 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/selectBox/etalons/SelectBox Customize DropDown Button (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/selectBox/etalons/SelectBox no data (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/selectBox/etalons/SelectBox no data (fluent-next.blue.light).png new file mode 100644 index 000000000000..ea4910a8cc34 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/selectBox/etalons/SelectBox no data (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/selectBox/etalons/SelectBox pagesize equal datasource items count (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/selectBox/etalons/SelectBox pagesize equal datasource items count (fluent-next.blue.light).png new file mode 100644 index 000000000000..ebe6577a8dae Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/selectBox/etalons/SelectBox pagesize equal datasource items count (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/selectBox/etalons/SelectBox pagesize less datasource items count (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/selectBox/etalons/SelectBox pagesize less datasource items count (fluent-next.blue.light).png new file mode 100644 index 000000000000..ebe6577a8dae Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/selectBox/etalons/SelectBox pagesize less datasource items count (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/selectBox/etalons/SelectBox pagesize more datasource items count (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/selectBox/etalons/SelectBox pagesize more datasource items count (fluent-next.blue.light).png new file mode 100644 index 000000000000..ebe6577a8dae Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/selectBox/etalons/SelectBox pagesize more datasource items count (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/selectBox/etalons/SelectBox placeholder after items change if value is not choosen (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/selectBox/etalons/SelectBox placeholder after items change if value is not choosen (fluent-next.blue.light).png new file mode 100644 index 000000000000..464d8e77cb9c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/selectBox/etalons/SelectBox placeholder after items change if value is not choosen (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/selectBox/etalons/SelectBox popup height after last page load (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/selectBox/etalons/SelectBox popup height after last page load (fluent-next.blue.light).png new file mode 100644 index 000000000000..f55736ca45d3 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/selectBox/etalons/SelectBox popup height after last page load (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/selectBox/etalons/SelectBox with label-labelMode=floating-stylingMode=filled (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/selectBox/etalons/SelectBox with label-labelMode=floating-stylingMode=filled (fluent-next.blue.light).png new file mode 100644 index 000000000000..eecd46054108 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/selectBox/etalons/SelectBox with label-labelMode=floating-stylingMode=filled (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/selectBox/etalons/SelectBox with label-labelMode=floating-stylingMode=outlined (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/selectBox/etalons/SelectBox with label-labelMode=floating-stylingMode=outlined (fluent-next.blue.light).png new file mode 100644 index 000000000000..39a5f07e56a5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/selectBox/etalons/SelectBox with label-labelMode=floating-stylingMode=outlined (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/selectBox/etalons/SelectBox with label-labelMode=floating-stylingMode=underlined (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/selectBox/etalons/SelectBox with label-labelMode=floating-stylingMode=underlined (fluent-next.blue.light).png new file mode 100644 index 000000000000..f545802bc811 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/selectBox/etalons/SelectBox with label-labelMode=floating-stylingMode=underlined (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/selectBox/etalons/SelectBox with label-labelMode=outside-stylingMode=filled (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/selectBox/etalons/SelectBox with label-labelMode=outside-stylingMode=filled (fluent-next.blue.light).png new file mode 100644 index 000000000000..924470d517aa Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/selectBox/etalons/SelectBox with label-labelMode=outside-stylingMode=filled (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/selectBox/etalons/SelectBox with label-labelMode=outside-stylingMode=outlined (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/selectBox/etalons/SelectBox with label-labelMode=outside-stylingMode=outlined (fluent-next.blue.light).png new file mode 100644 index 000000000000..97588d499827 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/selectBox/etalons/SelectBox with label-labelMode=outside-stylingMode=outlined (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/selectBox/etalons/SelectBox with label-labelMode=outside-stylingMode=underlined (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/selectBox/etalons/SelectBox with label-labelMode=outside-stylingMode=underlined (fluent-next.blue.light).png new file mode 100644 index 000000000000..53eec09f4a20 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/selectBox/etalons/SelectBox with label-labelMode=outside-stylingMode=underlined (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/selectBox/etalons/SelectBox with label-labelMode=static-stylingMode=filled (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/selectBox/etalons/SelectBox with label-labelMode=static-stylingMode=filled (fluent-next.blue.light).png new file mode 100644 index 000000000000..6569a5b1d0df Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/selectBox/etalons/SelectBox with label-labelMode=static-stylingMode=filled (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/selectBox/etalons/SelectBox with label-labelMode=static-stylingMode=outlined (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/selectBox/etalons/SelectBox with label-labelMode=static-stylingMode=outlined (fluent-next.blue.light).png new file mode 100644 index 000000000000..86efaf9f0dc0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/selectBox/etalons/SelectBox with label-labelMode=static-stylingMode=outlined (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/selectBox/etalons/SelectBox with label-labelMode=static-stylingMode=underlined (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/selectBox/etalons/SelectBox with label-labelMode=static-stylingMode=underlined (fluent-next.blue.light).png new file mode 100644 index 000000000000..f82bc2cf20b8 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/selectBox/etalons/SelectBox with label-labelMode=static-stylingMode=underlined (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/slider/etalons/slider-appearance (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/slider/etalons/slider-appearance (fluent-next.blue.light).png new file mode 100644 index 000000000000..395244f878f7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/slider/etalons/slider-appearance (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/tagBox/etalons/TagBox label with stylingMode=filled (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/tagBox/etalons/TagBox label with stylingMode=filled (fluent-next.blue.light).png new file mode 100644 index 000000000000..52ac6f6782e8 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/tagBox/etalons/TagBox label with stylingMode=filled (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/tagBox/etalons/TagBox label with stylingMode=filled,labelMode=floating (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/tagBox/etalons/TagBox label with stylingMode=filled,labelMode=floating (fluent-next.blue.light).png new file mode 100644 index 000000000000..27b9a201bbdf Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/tagBox/etalons/TagBox label with stylingMode=filled,labelMode=floating (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/tagBox/etalons/TagBox label with stylingMode=filled,labelMode=hidden (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/tagBox/etalons/TagBox label with stylingMode=filled,labelMode=hidden (fluent-next.blue.light).png new file mode 100644 index 000000000000..f0a94739e0c5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/tagBox/etalons/TagBox label with stylingMode=filled,labelMode=hidden (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/tagBox/etalons/TagBox label with stylingMode=filled,labelMode=outside (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/tagBox/etalons/TagBox label with stylingMode=filled,labelMode=outside (fluent-next.blue.light).png new file mode 100644 index 000000000000..349a6d5ff154 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/tagBox/etalons/TagBox label with stylingMode=filled,labelMode=outside (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/tagBox/etalons/TagBox label with stylingMode=filled,labelMode=static (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/tagBox/etalons/TagBox label with stylingMode=filled,labelMode=static (fluent-next.blue.light).png new file mode 100644 index 000000000000..27b9a201bbdf Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/tagBox/etalons/TagBox label with stylingMode=filled,labelMode=static (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/tagBox/etalons/TagBox label with stylingMode=outlined (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/tagBox/etalons/TagBox label with stylingMode=outlined (fluent-next.blue.light).png new file mode 100644 index 000000000000..c57b150def29 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/tagBox/etalons/TagBox label with stylingMode=outlined (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/tagBox/etalons/TagBox label with stylingMode=outlined,labelMode=floating (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/tagBox/etalons/TagBox label with stylingMode=outlined,labelMode=floating (fluent-next.blue.light).png new file mode 100644 index 000000000000..8dcf513e0334 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/tagBox/etalons/TagBox label with stylingMode=outlined,labelMode=floating (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/tagBox/etalons/TagBox label with stylingMode=outlined,labelMode=hidden (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/tagBox/etalons/TagBox label with stylingMode=outlined,labelMode=hidden (fluent-next.blue.light).png new file mode 100644 index 000000000000..0aabe4353f47 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/tagBox/etalons/TagBox label with stylingMode=outlined,labelMode=hidden (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/tagBox/etalons/TagBox label with stylingMode=outlined,labelMode=outside (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/tagBox/etalons/TagBox label with stylingMode=outlined,labelMode=outside (fluent-next.blue.light).png new file mode 100644 index 000000000000..c4445af4b7f3 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/tagBox/etalons/TagBox label with stylingMode=outlined,labelMode=outside (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/tagBox/etalons/TagBox label with stylingMode=outlined,labelMode=static (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/tagBox/etalons/TagBox label with stylingMode=outlined,labelMode=static (fluent-next.blue.light).png new file mode 100644 index 000000000000..8dcf513e0334 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/tagBox/etalons/TagBox label with stylingMode=outlined,labelMode=static (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/tagBox/etalons/TagBox label with stylingMode=underlined (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/tagBox/etalons/TagBox label with stylingMode=underlined (fluent-next.blue.light).png new file mode 100644 index 000000000000..b64e4b28bf67 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/tagBox/etalons/TagBox label with stylingMode=underlined (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/tagBox/etalons/TagBox label with stylingMode=underlined,labelMode=floating (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/tagBox/etalons/TagBox label with stylingMode=underlined,labelMode=floating (fluent-next.blue.light).png new file mode 100644 index 000000000000..fedc3da7143c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/tagBox/etalons/TagBox label with stylingMode=underlined,labelMode=floating (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/tagBox/etalons/TagBox label with stylingMode=underlined,labelMode=hidden (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/tagBox/etalons/TagBox label with stylingMode=underlined,labelMode=hidden (fluent-next.blue.light).png new file mode 100644 index 000000000000..ca7398ec314d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/tagBox/etalons/TagBox label with stylingMode=underlined,labelMode=hidden (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/tagBox/etalons/TagBox label with stylingMode=underlined,labelMode=outside (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/tagBox/etalons/TagBox label with stylingMode=underlined,labelMode=outside (fluent-next.blue.light).png new file mode 100644 index 000000000000..caecb02a631b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/tagBox/etalons/TagBox label with stylingMode=underlined,labelMode=outside (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/tagBox/etalons/TagBox label with stylingMode=underlined,labelMode=static (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/tagBox/etalons/TagBox label with stylingMode=underlined,labelMode=static (fluent-next.blue.light).png new file mode 100644 index 000000000000..fedc3da7143c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/tagBox/etalons/TagBox label with stylingMode=underlined,labelMode=static (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/tagBox/etalons/TagBox placeholder if value is not choosen (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/tagBox/etalons/TagBox placeholder if value is not choosen (fluent-next.blue.light).png new file mode 100644 index 000000000000..8884fd208b6b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/tagBox/etalons/TagBox placeholder if value is not choosen (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/tagBox/etalons/TagBox with selection controls (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/tagBox/etalons/TagBox with selection controls (fluent-next.blue.light).png new file mode 100644 index 000000000000..70be58d09a36 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/tagBox/etalons/TagBox with selection controls (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/textArea/etalons/TextArea appearance, height=5em & maxHeight=7em (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/textArea/etalons/TextArea appearance, height=5em & maxHeight=7em (fluent-next.blue.light).png new file mode 100644 index 000000000000..0b24dfc3bf3c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/textArea/etalons/TextArea appearance, height=5em & maxHeight=7em (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/textArea/etalons/TextArea appearance, height=7em & maxHeight=5em (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/textArea/etalons/TextArea appearance, height=7em & maxHeight=5em (fluent-next.blue.light).png new file mode 100644 index 000000000000..edf07a8b19aa Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/textArea/etalons/TextArea appearance, height=7em & maxHeight=5em (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/textArea/etalons/TextArea appearance, maxHeight is not defined (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/textArea/etalons/TextArea appearance, maxHeight is not defined (fluent-next.blue.light).png new file mode 100644 index 000000000000..f29f8d4660bb Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/textArea/etalons/TextArea appearance, maxHeight is not defined (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/textArea/etalons/TextArea appearance, maxHeight=5em (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/textArea/etalons/TextArea appearance, maxHeight=5em (fluent-next.blue.light).png new file mode 100644 index 000000000000..836d0432dad7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/textArea/etalons/TextArea appearance, maxHeight=5em (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/textArea/etalons/TextArea appearance, maxHeight=5em, font-size=12px (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/textArea/etalons/TextArea appearance, maxHeight=5em, font-size=12px (fluent-next.blue.light).png new file mode 100644 index 000000000000..836d0432dad7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/textArea/etalons/TextArea appearance, maxHeight=5em, font-size=12px (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/textArea/etalons/TextArea appearance, maxHeight=80px (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/textArea/etalons/TextArea appearance, maxHeight=80px (fluent-next.blue.light).png new file mode 100644 index 000000000000..de2fc0a8b824 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/textArea/etalons/TextArea appearance, maxHeight=80px (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/textArea/etalons/TextArea label after scroll (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/textArea/etalons/TextArea label after scroll (fluent-next.blue.light).png new file mode 100644 index 000000000000..ca7c0a68d767 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/textArea/etalons/TextArea label after scroll (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/textArea/etalons/TextArea with label-labelMode=floating-stylingMode=filled (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/textArea/etalons/TextArea with label-labelMode=floating-stylingMode=filled (fluent-next.blue.light).png new file mode 100644 index 000000000000..2b1eb672b740 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/textArea/etalons/TextArea with label-labelMode=floating-stylingMode=filled (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/textArea/etalons/TextArea with label-labelMode=floating-stylingMode=outlined (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/textArea/etalons/TextArea with label-labelMode=floating-stylingMode=outlined (fluent-next.blue.light).png new file mode 100644 index 000000000000..3f67eb9e6339 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/textArea/etalons/TextArea with label-labelMode=floating-stylingMode=outlined (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/textArea/etalons/TextArea with label-labelMode=floating-stylingMode=underlined (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/textArea/etalons/TextArea with label-labelMode=floating-stylingMode=underlined (fluent-next.blue.light).png new file mode 100644 index 000000000000..b3cde6d91978 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/textArea/etalons/TextArea with label-labelMode=floating-stylingMode=underlined (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/textArea/etalons/TextArea with label-labelMode=outside-stylingMode=filled (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/textArea/etalons/TextArea with label-labelMode=outside-stylingMode=filled (fluent-next.blue.light).png new file mode 100644 index 000000000000..4be9ae7fda31 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/textArea/etalons/TextArea with label-labelMode=outside-stylingMode=filled (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/textArea/etalons/TextArea with label-labelMode=outside-stylingMode=outlined (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/textArea/etalons/TextArea with label-labelMode=outside-stylingMode=outlined (fluent-next.blue.light).png new file mode 100644 index 000000000000..247b9930c3b8 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/textArea/etalons/TextArea with label-labelMode=outside-stylingMode=outlined (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/textArea/etalons/TextArea with label-labelMode=outside-stylingMode=underlined (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/textArea/etalons/TextArea with label-labelMode=outside-stylingMode=underlined (fluent-next.blue.light).png new file mode 100644 index 000000000000..975dc30080c8 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/textArea/etalons/TextArea with label-labelMode=outside-stylingMode=underlined (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/textArea/etalons/TextArea with label-labelMode=static-stylingMode=filled (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/textArea/etalons/TextArea with label-labelMode=static-stylingMode=filled (fluent-next.blue.light).png new file mode 100644 index 000000000000..17833a761678 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/textArea/etalons/TextArea with label-labelMode=static-stylingMode=filled (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/textArea/etalons/TextArea with label-labelMode=static-stylingMode=outlined (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/textArea/etalons/TextArea with label-labelMode=static-stylingMode=outlined (fluent-next.blue.light).png new file mode 100644 index 000000000000..9b90aa1dcd0c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/textArea/etalons/TextArea with label-labelMode=static-stylingMode=outlined (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/textArea/etalons/TextArea with label-labelMode=static-stylingMode=underlined (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/textArea/etalons/TextArea with label-labelMode=static-stylingMode=underlined (fluent-next.blue.light).png new file mode 100644 index 000000000000..2fd6a27edd77 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/textArea/etalons/TextArea with label-labelMode=static-stylingMode=underlined (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/textBox/etalons/Textbox render (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/textBox/etalons/Textbox render (fluent-next.blue.light).png new file mode 100644 index 000000000000..622b8c8e0f1b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/textBox/etalons/Textbox render (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/textBox/etalons/Textbox render with limited width (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/textBox/etalons/Textbox render with limited width (fluent-next.blue.light).png new file mode 100644 index 000000000000..2c5c9f6d5def Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/textBox/etalons/Textbox render with limited width (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/textBox/etalons/Textbox states (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/textBox/etalons/Textbox states (fluent-next.blue.light).png new file mode 100644 index 000000000000..27cc56303781 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/textBox/etalons/Textbox states (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/textBox/etalons/Textbox validation message (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/textBox/etalons/Textbox validation message (fluent-next.blue.light).png new file mode 100644 index 000000000000..e29dd2dbdc7f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/textBox/etalons/Textbox validation message (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/textBox/etalons/Textbox with buttons container (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/editors/textBox/etalons/Textbox with buttons container (fluent-next.blue.light).png new file mode 100644 index 000000000000..7045bc5db073 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/editors/textBox/etalons/Textbox with buttons container (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/editors/textBox/label.ts b/e2e/testcafe-devextreme/tests/editors/textBox/label.ts index d7d5a18d95a4..213bd8dade01 100644 --- a/e2e/testcafe-devextreme/tests/editors/textBox/label.ts +++ b/e2e/testcafe-devextreme/tests/editors/textBox/label.ts @@ -50,9 +50,24 @@ const createTextBox = async (options?: Properties, state?: string): Promise { test(`Label max-width should be changed after container width was changed, labelMode is ${labelMode}`, async (t) => { const textBox = new TextBox('#container'); @@ -97,11 +112,8 @@ test('Textbox render', async (t) => { .expect(compareResults.isValid()) .ok(compareResults.errorMessages()); }).before(async () => { - // eslint-disable-next-line no-restricted-syntax for (const stylingMode of stylingModes) { - // eslint-disable-next-line no-restricted-syntax for (const labelMode of visibleLabelModes) { - // eslint-disable-next-line no-restricted-syntax for (const placeholder of ['Placeholder', '']) { await createTextBox({ text: undefined, @@ -114,7 +126,7 @@ test('Textbox render', async (t) => { await createTextBox({ text: 'Text value' }); await createTextBox({ rtlEnabled: true }); } - // eslint-disable-next-line no-restricted-syntax + for (const placeholder of ['Placeholder', '']) { await createTextBox({ text: undefined, @@ -146,9 +158,8 @@ test('Textbox states', async (t) => { INVALID_STATE_CLASS, `${INVALID_STATE_CLASS} ${FOCUSED_STATE_CLASS}`, ]; - // eslint-disable-next-line no-restricted-syntax + for (const state of states) { - // eslint-disable-next-line no-restricted-syntax for (const placeholder of ['Placeholder', '']) { await createTextBox({ text: undefined, @@ -176,9 +187,7 @@ test('Textbox with buttons container', async (t) => { await insertStylesheetRulesToPage('#container .dx-widget { font-family: sans-serif }'); } - // eslint-disable-next-line no-restricted-syntax for (const stylingMode of stylingModes) { - // eslint-disable-next-line no-restricted-syntax for (const buttons of buttonsList) { await createTextBox({ stylingMode, buttons, showClearButton: true }); await createTextBox({ diff --git a/e2e/testcafe-devextreme/tests/navigation/accordion/etalons/Accordion items render (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/accordion/etalons/Accordion items render (fluent-next.blue.light).png new file mode 100644 index 000000000000..f61989d4c67a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/accordion/etalons/Accordion items render (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/accordion/etalons/Accordion with icon-only button (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/accordion/etalons/Accordion with icon-only button (fluent-next.blue.light).png new file mode 100644 index 000000000000..a01747d689e4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/accordion/etalons/Accordion with icon-only button (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/button/etalons/Button in rtl modes (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/button/etalons/Button in rtl modes (fluent-next.blue.light).png new file mode 100644 index 000000000000..a929989befc5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/button/etalons/Button in rtl modes (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/button/etalons/Button with svg icon as background (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/button/etalons/Button with svg icon as background (fluent-next.blue.light).png new file mode 100644 index 000000000000..ff7f833a6ebc Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/button/etalons/Button with svg icon as background (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/button/etalons/Buttons, stylingMode=contained (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/button/etalons/Buttons, stylingMode=contained (fluent-next.blue.light).png new file mode 100644 index 000000000000..0651072f4cb1 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/button/etalons/Buttons, stylingMode=contained (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/button/etalons/Buttons, stylingMode=contained (fluent.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/button/etalons/Buttons, stylingMode=contained (fluent.blue.light).png index 05514b236504..811d2c1fb1f3 100644 Binary files a/e2e/testcafe-devextreme/tests/navigation/button/etalons/Buttons, stylingMode=contained (fluent.blue.light).png and b/e2e/testcafe-devextreme/tests/navigation/button/etalons/Buttons, stylingMode=contained (fluent.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/button/etalons/Buttons, stylingMode=outlined (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/button/etalons/Buttons, stylingMode=outlined (fluent-next.blue.light).png new file mode 100644 index 000000000000..bec004f6ec22 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/button/etalons/Buttons, stylingMode=outlined (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/button/etalons/Buttons, stylingMode=outlined (fluent.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/button/etalons/Buttons, stylingMode=outlined (fluent.blue.light).png index ee8a856786e3..35341d2ab1aa 100644 Binary files a/e2e/testcafe-devextreme/tests/navigation/button/etalons/Buttons, stylingMode=outlined (fluent.blue.light).png and b/e2e/testcafe-devextreme/tests/navigation/button/etalons/Buttons, stylingMode=outlined (fluent.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/button/etalons/Buttons, stylingMode=text (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/button/etalons/Buttons, stylingMode=text (fluent-next.blue.light).png new file mode 100644 index 000000000000..8f4b06e3013c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/button/etalons/Buttons, stylingMode=text (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/button/etalons/Buttons, stylingMode=text (fluent.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/button/etalons/Buttons, stylingMode=text (fluent.blue.light).png index c3a17de4716d..3c0f34a6c5de 100644 Binary files a/e2e/testcafe-devextreme/tests/navigation/button/etalons/Buttons, stylingMode=text (fluent.blue.light).png and b/e2e/testcafe-devextreme/tests/navigation/button/etalons/Buttons, stylingMode=text (fluent.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/button/etalons/FAB is opened with two speed dial actions,label='',icon='' (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/button/etalons/FAB is opened with two speed dial actions,label='',icon='' (fluent-next.blue.light).png new file mode 100644 index 000000000000..601c1dba6e8c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/button/etalons/FAB is opened with two speed dial actions,label='',icon='' (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/button/etalons/FAB is opened with two speed dial actions,label='',icon='home' (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/button/etalons/FAB is opened with two speed dial actions,label='',icon='home' (fluent-next.blue.light).png new file mode 100644 index 000000000000..2e3245aeaaf0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/button/etalons/FAB is opened with two speed dial actions,label='',icon='home' (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/button/etalons/FAB is opened with two speed dial actions,label='Add Row',icon='' (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/button/etalons/FAB is opened with two speed dial actions,label='Add Row',icon='' (fluent-next.blue.light).png new file mode 100644 index 000000000000..17b3b180260e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/button/etalons/FAB is opened with two speed dial actions,label='Add Row',icon='' (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/button/etalons/FAB is opened with two speed dial actions,label='Add Row',icon='home' (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/button/etalons/FAB is opened with two speed dial actions,label='Add Row',icon='home' (fluent-next.blue.light).png new file mode 100644 index 000000000000..eea611272981 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/button/etalons/FAB is opened with two speed dial actions,label='Add Row',icon='home' (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/button/etalons/FAB with grid, position.of is #grid, after scrolling (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/button/etalons/FAB with grid, position.of is #grid, after scrolling (fluent-next.blue.light).png new file mode 100644 index 000000000000..4d2fc5d3a47c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/button/etalons/FAB with grid, position.of is #grid, after scrolling (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/button/etalons/FAB with grid, position.of is #grid, before scrolling (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/button/etalons/FAB with grid, position.of is #grid, before scrolling (fluent-next.blue.light).png new file mode 100644 index 000000000000..7c7b7d8f5907 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/button/etalons/FAB with grid, position.of is #grid, before scrolling (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/button/etalons/FAB with grid, position.of is undefined, after scrolling (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/button/etalons/FAB with grid, position.of is undefined, after scrolling (fluent-next.blue.light).png new file mode 100644 index 000000000000..7715b66d085d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/button/etalons/FAB with grid, position.of is undefined, after scrolling (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/button/etalons/FAB with grid, position.of is undefined, before scrolling (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/button/etalons/FAB with grid, position.of is undefined, before scrolling (fluent-next.blue.light).png new file mode 100644 index 000000000000..60d144087db0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/button/etalons/FAB with grid, position.of is undefined, before scrolling (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/button/etalons/FAB with one speed dial action button,label='',icon='' (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/button/etalons/FAB with one speed dial action button,label='',icon='' (fluent-next.blue.light).png new file mode 100644 index 000000000000..cb0d09aee9a5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/button/etalons/FAB with one speed dial action button,label='',icon='' (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/button/etalons/FAB with one speed dial action button,label='',icon='home' (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/button/etalons/FAB with one speed dial action button,label='',icon='home' (fluent-next.blue.light).png new file mode 100644 index 000000000000..32b586075af5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/button/etalons/FAB with one speed dial action button,label='',icon='home' (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/button/etalons/FAB with one speed dial action button,label='Add Row',icon='' (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/button/etalons/FAB with one speed dial action button,label='Add Row',icon='' (fluent-next.blue.light).png new file mode 100644 index 000000000000..53cc09753d03 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/button/etalons/FAB with one speed dial action button,label='Add Row',icon='' (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/button/etalons/FAB with one speed dial action button,label='Add Row',icon='home' (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/button/etalons/FAB with one speed dial action button,label='Add Row',icon='home' (fluent-next.blue.light).png new file mode 100644 index 000000000000..c7126c9aa8f0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/button/etalons/FAB with one speed dial action button,label='Add Row',icon='home' (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/button/etalons/FAB with two speed dial action buttons (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/button/etalons/FAB with two speed dial action buttons (fluent-next.blue.light).png new file mode 100644 index 000000000000..3573ec942a0f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/button/etalons/FAB with two speed dial action buttons (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/buttonGroup/etalons/ButtonGroup styling (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/buttonGroup/etalons/ButtonGroup styling (fluent-next.blue.light).png new file mode 100644 index 000000000000..1f529156fc41 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/buttonGroup/etalons/ButtonGroup styling (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/contextMenu/etalons/ContextMenu items render (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/contextMenu/etalons/ContextMenu items render (fluent-next.blue.light).png new file mode 100644 index 000000000000..e30addea36c3 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/contextMenu/etalons/ContextMenu items render (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/contextMenu/etalons/ContextMenu scrolling (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/contextMenu/etalons/ContextMenu scrolling (fluent-next.blue.light).png new file mode 100644 index 000000000000..f1e298e73a0e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/contextMenu/etalons/ContextMenu scrolling (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/contextMenu/etalons/ContextMenu selected focused item (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/contextMenu/etalons/ContextMenu selected focused item (fluent-next.blue.light).png new file mode 100644 index 000000000000..bf8d086a9551 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/contextMenu/etalons/ContextMenu selected focused item (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/drawer/etalons/Drawer hidden (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/drawer/etalons/Drawer hidden (fluent-next.blue.light).png new file mode 100644 index 000000000000..226d2ba403ce Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/drawer/etalons/Drawer hidden (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/drawer/etalons/Drawer z-index, Menu inside drawer, shading=true_container (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/drawer/etalons/Drawer z-index, Menu inside drawer, shading=true_container (fluent-next.blue.light).png new file mode 100644 index 000000000000..89f7a0b77703 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/drawer/etalons/Drawer z-index, Menu inside drawer, shading=true_container (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/drawer/etalons/Drawer z-index, Menu inside drawer, shading=true_popup (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/drawer/etalons/Drawer z-index, Menu inside drawer, shading=true_popup (fluent-next.blue.light).png new file mode 100644 index 000000000000..e97805f0685c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/drawer/etalons/Drawer z-index, Menu inside drawer, shading=true_popup (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/drawer/etalons/Drawer z-index, Menu outside drawer, shading=true_container (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/drawer/etalons/Drawer z-index, Menu outside drawer, shading=true_container (fluent-next.blue.light).png new file mode 100644 index 000000000000..7a2f66bdbf2d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/drawer/etalons/Drawer z-index, Menu outside drawer, shading=true_container (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/drawer/etalons/Drawer z-index, Menu outside drawer, shading=true_popup (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/drawer/etalons/Drawer z-index, Menu outside drawer, shading=true_popup (fluent-next.blue.light).png new file mode 100644 index 000000000000..c904e87fd6cb Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/drawer/etalons/Drawer z-index, Menu outside drawer, shading=true_popup (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/drawer/etalons/Drawer z-index, SelectBox inside drawer, shading=true_container (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/drawer/etalons/Drawer z-index, SelectBox inside drawer, shading=true_container (fluent-next.blue.light).png new file mode 100644 index 000000000000..d281f1170f29 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/drawer/etalons/Drawer z-index, SelectBox inside drawer, shading=true_container (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/drawer/etalons/Drawer z-index, SelectBox inside drawer, shading=true_popup (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/drawer/etalons/Drawer z-index, SelectBox inside drawer, shading=true_popup (fluent-next.blue.light).png new file mode 100644 index 000000000000..7fb3ee0480c5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/drawer/etalons/Drawer z-index, SelectBox inside drawer, shading=true_popup (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/drawer/etalons/Drawer z-index, SelectBox outside drawer, shading=true_container (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/drawer/etalons/Drawer z-index, SelectBox outside drawer, shading=true_container (fluent-next.blue.light).png new file mode 100644 index 000000000000..7325732887e4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/drawer/etalons/Drawer z-index, SelectBox outside drawer, shading=true_container (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/drawer/etalons/Drawer z-index, SelectBox outside drawer, shading=true_popup (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/drawer/etalons/Drawer z-index, SelectBox outside drawer, shading=true_popup (fluent-next.blue.light).png new file mode 100644 index 000000000000..4d899efe518d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/drawer/etalons/Drawer z-index, SelectBox outside drawer, shading=true_popup (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/drawer/etalons/Drawer, openedStateMode=overlap, shading=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/drawer/etalons/Drawer, openedStateMode=overlap, shading=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..491084388d11 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/drawer/etalons/Drawer, openedStateMode=overlap, shading=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/drawer/etalons/Drawer, openedStateMode=push, shading=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/drawer/etalons/Drawer, openedStateMode=push, shading=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..659647bd252d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/drawer/etalons/Drawer, openedStateMode=push, shading=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/drawer/etalons/Drawer, openedStateMode=shrink, shading=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/drawer/etalons/Drawer, openedStateMode=shrink, shading=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..713cfa0bad2b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/drawer/etalons/Drawer, openedStateMode=shrink, shading=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/drawer/etalons/Drawer, position=bottom, shading=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/drawer/etalons/Drawer, position=bottom, shading=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..c24f92491869 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/drawer/etalons/Drawer, position=bottom, shading=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/drawer/etalons/Drawer, position=left, shading=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/drawer/etalons/Drawer, position=left, shading=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..713cfa0bad2b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/drawer/etalons/Drawer, position=left, shading=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/drawer/etalons/Drawer, position=right, shading=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/drawer/etalons/Drawer, position=right, shading=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..0a54586b2a4b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/drawer/etalons/Drawer, position=right, shading=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/drawer/etalons/Drawer, position=top, shading=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/drawer/etalons/Drawer, position=top, shading=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..0e16ce3131c0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/drawer/etalons/Drawer, position=top, shading=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/form/etalons/Align items,lblMode=outside,alignInAllGrp=false,alignInGrp=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Align items,lblMode=outside,alignInAllGrp=false,alignInGrp=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..5d31b3bbc4a6 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Align items,lblMode=outside,alignInAllGrp=false,alignInGrp=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/form/etalons/Align items,lblMode=outside,alignInAllGrp=false,alignInGrp=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Align items,lblMode=outside,alignInAllGrp=false,alignInGrp=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..3d516d44cc1d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Align items,lblMode=outside,alignInAllGrp=false,alignInGrp=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/form/etalons/Align items,lblMode=outside,alignInAllGrp=true,alignInGrp=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Align items,lblMode=outside,alignInAllGrp=true,alignInGrp=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..5d31b3bbc4a6 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Align items,lblMode=outside,alignInAllGrp=true,alignInGrp=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/form/etalons/Align items,lblMode=outside,alignInAllGrp=true,alignInGrp=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Align items,lblMode=outside,alignInAllGrp=true,alignInGrp=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..5ce186397400 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Align items,lblMode=outside,alignInAllGrp=true,alignInGrp=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form color of the mark (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form color of the mark (fluent-next.blue.light).png new file mode 100644 index 000000000000..013660a6e63d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form color of the mark (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form item padding with screenByWidth=lg (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form item padding with screenByWidth=lg (fluent-next.blue.light).png new file mode 100644 index 000000000000..341d6dc20c16 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form item padding with screenByWidth=lg (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form item padding with screenByWidth=md (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form item padding with screenByWidth=md (fluent-next.blue.light).png new file mode 100644 index 000000000000..341d6dc20c16 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form item padding with screenByWidth=md (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form item padding with screenByWidth=xs (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form item padding with screenByWidth=xs (fluent-next.blue.light).png new file mode 100644 index 000000000000..a68ced029595 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form item padding with screenByWidth=xs (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form labels width after render in invisible container (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form labels width after render in invisible container (fluent-next.blue.light).png new file mode 100644 index 000000000000..48748040a062 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form labels width after render in invisible container (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form with labelLocation=left (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form with labelLocation=left (fluent-next.blue.light).png new file mode 100644 index 000000000000..26b8025fb167 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form with labelLocation=left (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form with labelLocation=right (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form with labelLocation=right (fluent-next.blue.light).png new file mode 100644 index 000000000000..d7981afbbbda Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form with labelLocation=right (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form with labelLocation=top (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form with labelLocation=top (fluent-next.blue.light).png new file mode 100644 index 000000000000..e0e663cd293f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form with labelLocation=top (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=false,lMode=floating,lLoc=left (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=false,lMode=floating,lLoc=left (fluent-next.blue.light).png new file mode 100644 index 000000000000..506f4e208838 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=false,lMode=floating,lLoc=left (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=false,lMode=floating,lLoc=right (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=false,lMode=floating,lLoc=right (fluent-next.blue.light).png new file mode 100644 index 000000000000..e48851387c19 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=false,lMode=floating,lLoc=right (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=false,lMode=floating,lLoc=top (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=false,lMode=floating,lLoc=top (fluent-next.blue.light).png new file mode 100644 index 000000000000..c864a603fad6 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=false,lMode=floating,lLoc=top (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=false,lMode=hidden,lLoc=left (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=false,lMode=hidden,lLoc=left (fluent-next.blue.light).png new file mode 100644 index 000000000000..79d9fc45b56a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=false,lMode=hidden,lLoc=left (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=false,lMode=hidden,lLoc=right (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=false,lMode=hidden,lLoc=right (fluent-next.blue.light).png new file mode 100644 index 000000000000..7240905fb04b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=false,lMode=hidden,lLoc=right (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=false,lMode=hidden,lLoc=top (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=false,lMode=hidden,lLoc=top (fluent-next.blue.light).png new file mode 100644 index 000000000000..2120da44b55b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=false,lMode=hidden,lLoc=top (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=false,lMode=outside,lLoc=left (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=false,lMode=outside,lLoc=left (fluent-next.blue.light).png new file mode 100644 index 000000000000..79d9fc45b56a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=false,lMode=outside,lLoc=left (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=false,lMode=outside,lLoc=right (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=false,lMode=outside,lLoc=right (fluent-next.blue.light).png new file mode 100644 index 000000000000..7240905fb04b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=false,lMode=outside,lLoc=right (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=false,lMode=outside,lLoc=top (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=false,lMode=outside,lLoc=top (fluent-next.blue.light).png new file mode 100644 index 000000000000..2120da44b55b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=false,lMode=outside,lLoc=top (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=false,lMode=static,lLoc=left (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=false,lMode=static,lLoc=left (fluent-next.blue.light).png new file mode 100644 index 000000000000..599f0f0a64dd Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=false,lMode=static,lLoc=left (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=false,lMode=static,lLoc=right (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=false,lMode=static,lLoc=right (fluent-next.blue.light).png new file mode 100644 index 000000000000..1bcd2b4c7ab8 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=false,lMode=static,lLoc=right (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=false,lMode=static,lLoc=top (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=false,lMode=static,lLoc=top (fluent-next.blue.light).png new file mode 100644 index 000000000000..b99d6f0e91ae Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=false,lMode=static,lLoc=top (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=true,lMode=floating,lLoc=left (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=true,lMode=floating,lLoc=left (fluent-next.blue.light).png new file mode 100644 index 000000000000..60e6fe6180a4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=true,lMode=floating,lLoc=left (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=true,lMode=floating,lLoc=right (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=true,lMode=floating,lLoc=right (fluent-next.blue.light).png new file mode 100644 index 000000000000..d3b044f32b7f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=true,lMode=floating,lLoc=right (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=true,lMode=floating,lLoc=top (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=true,lMode=floating,lLoc=top (fluent-next.blue.light).png new file mode 100644 index 000000000000..d094f473b94c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=true,lMode=floating,lLoc=top (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=true,lMode=hidden,lLoc=left (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=true,lMode=hidden,lLoc=left (fluent-next.blue.light).png new file mode 100644 index 000000000000..abec2302904b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=true,lMode=hidden,lLoc=left (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=true,lMode=hidden,lLoc=right (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=true,lMode=hidden,lLoc=right (fluent-next.blue.light).png new file mode 100644 index 000000000000..118a30565f29 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=true,lMode=hidden,lLoc=right (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=true,lMode=hidden,lLoc=top (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=true,lMode=hidden,lLoc=top (fluent-next.blue.light).png new file mode 100644 index 000000000000..d2dd271d9d58 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=true,lMode=hidden,lLoc=top (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=true,lMode=outside,lLoc=left (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=true,lMode=outside,lLoc=left (fluent-next.blue.light).png new file mode 100644 index 000000000000..abec2302904b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=true,lMode=outside,lLoc=left (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=true,lMode=outside,lLoc=right (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=true,lMode=outside,lLoc=right (fluent-next.blue.light).png new file mode 100644 index 000000000000..118a30565f29 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=true,lMode=outside,lLoc=right (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=true,lMode=outside,lLoc=top (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=true,lMode=outside,lLoc=top (fluent-next.blue.light).png new file mode 100644 index 000000000000..d2dd271d9d58 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=true,lMode=outside,lLoc=top (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=true,lMode=static,lLoc=left (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=true,lMode=static,lLoc=left (fluent-next.blue.light).png new file mode 100644 index 000000000000..ff2ddf970fb1 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=true,lMode=static,lLoc=left (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=true,lMode=static,lLoc=right (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=true,lMode=static,lLoc=right (fluent-next.blue.light).png new file mode 100644 index 000000000000..d593d3fecd1f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=true,lMode=static,lLoc=right (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=true,lMode=static,lLoc=top (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=true,lMode=static,lLoc=top (fluent-next.blue.light).png new file mode 100644 index 000000000000..ba3a57a62b03 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Form,rtl=true,lMode=static,lLoc=top (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/form/etalons/Group caption template (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Group caption template (fluent-next.blue.light).png new file mode 100644 index 000000000000..6c3cf0a7bff4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Group caption template (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/form/etalons/Item label position properties, labelMode=outside (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Item label position properties, labelMode=outside (fluent-next.blue.light).png new file mode 100644 index 000000000000..2a26112230de Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/form/etalons/Item label position properties, labelMode=outside (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/form/etalons/SimpleItem,item1_cSpan_1,item2_cSpan_2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/form/etalons/SimpleItem,item1_cSpan_1,item2_cSpan_2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..de29b6244ef2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/form/etalons/SimpleItem,item1_cSpan_1,item2_cSpan_2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/form/etalons/SimpleItem,item1_cSpan_2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/form/etalons/SimpleItem,item1_cSpan_2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..e05700243719 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/form/etalons/SimpleItem,item1_cSpan_2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/form/etalons/SimpleItem,item1_cSpan_2,item2_cSpan_1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/form/etalons/SimpleItem,item1_cSpan_2,item2_cSpan_1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..4f53300ced5a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/form/etalons/SimpleItem,item1_cSpan_2,item2_cSpan_1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/form/etalons/SimpleItem,item1_cSpan_2,item2_cSpan_2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/form/etalons/SimpleItem,item1_cSpan_2,item2_cSpan_2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..d9681285509a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/form/etalons/SimpleItem,item1_cSpan_2,item2_cSpan_2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/form/etalons/TabbedItem (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/form/etalons/TabbedItem (fluent-next.blue.light).png new file mode 100644 index 000000000000..ffe25557377b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/form/etalons/TabbedItem (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/form/etalons/colCount,rtl_false,itemsCount_1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/form/etalons/colCount,rtl_false,itemsCount_1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..81f0b82f76df Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/form/etalons/colCount,rtl_false,itemsCount_1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/form/etalons/colCount,rtl_false,itemsCount_2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/form/etalons/colCount,rtl_false,itemsCount_2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..7b3d18bff994 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/form/etalons/colCount,rtl_false,itemsCount_2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/form/etalons/colCount,rtl_false,itemsCount_3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/form/etalons/colCount,rtl_false,itemsCount_3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..d88d71de870b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/form/etalons/colCount,rtl_false,itemsCount_3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/form/etalons/colCount,rtl_false,itemsCount_4 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/form/etalons/colCount,rtl_false,itemsCount_4 (fluent-next.blue.light).png new file mode 100644 index 000000000000..0fbc08afb7c4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/form/etalons/colCount,rtl_false,itemsCount_4 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/form/etalons/colCount,rtl_false,itemsCount_5 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/form/etalons/colCount,rtl_false,itemsCount_5 (fluent-next.blue.light).png new file mode 100644 index 000000000000..8a324e72d804 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/form/etalons/colCount,rtl_false,itemsCount_5 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/form/etalons/colCount,rtl_false,itemsCount_6 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/form/etalons/colCount,rtl_false,itemsCount_6 (fluent-next.blue.light).png new file mode 100644 index 000000000000..1d7d8b75eba6 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/form/etalons/colCount,rtl_false,itemsCount_6 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/form/etalons/colCount,rtl_true,itemsCount_1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/form/etalons/colCount,rtl_true,itemsCount_1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..0a2b4ce6d596 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/form/etalons/colCount,rtl_true,itemsCount_1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/form/etalons/colCount,rtl_true,itemsCount_2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/form/etalons/colCount,rtl_true,itemsCount_2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..21e8409e4c4f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/form/etalons/colCount,rtl_true,itemsCount_2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/form/etalons/colCount,rtl_true,itemsCount_3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/form/etalons/colCount,rtl_true,itemsCount_3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..4fbbd1fef6e6 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/form/etalons/colCount,rtl_true,itemsCount_3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/form/etalons/colCount,rtl_true,itemsCount_4 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/form/etalons/colCount,rtl_true,itemsCount_4 (fluent-next.blue.light).png new file mode 100644 index 000000000000..0108cb3d2210 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/form/etalons/colCount,rtl_true,itemsCount_4 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/form/etalons/colCount,rtl_true,itemsCount_5 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/form/etalons/colCount,rtl_true,itemsCount_5 (fluent-next.blue.light).png new file mode 100644 index 000000000000..4b126baa5970 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/form/etalons/colCount,rtl_true,itemsCount_5 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/form/etalons/colCount,rtl_true,itemsCount_6 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/form/etalons/colCount,rtl_true,itemsCount_6 (fluent-next.blue.light).png new file mode 100644 index 000000000000..ba3da51d5ac3 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/form/etalons/colCount,rtl_true,itemsCount_6 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/form/etalons/form_validation_errors_after_resize (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/form/etalons/form_validation_errors_after_resize (fluent-next.blue.light).png new file mode 100644 index 000000000000..f8f3361aebf8 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/form/etalons/form_validation_errors_after_resize (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/gallery/etalons/Focused gallery. showIndicator=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/gallery/etalons/Focused gallery. showIndicator=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..ab31ff8d5beb Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/gallery/etalons/Focused gallery. showIndicator=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/gallery/etalons/Focused gallery. showIndicator=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/gallery/etalons/Focused gallery. showIndicator=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..6aec1b72cd9b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/gallery/etalons/Focused gallery. showIndicator=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/gallery/etalons/Gallery. showIndicator=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/gallery/etalons/Gallery. showIndicator=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..b2a5739d6644 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/gallery/etalons/Gallery. showIndicator=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/gallery/etalons/Gallery. showIndicator=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/gallery/etalons/Gallery. showIndicator=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..6aec1b72cd9b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/gallery/etalons/Gallery. showIndicator=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/list/etalons/Grouped list appearance with template (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/list/etalons/Grouped list appearance with template (fluent-next.blue.light).png new file mode 100644 index 000000000000..378cb6481091 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/list/etalons/Grouped list appearance with template (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/list/etalons/Grouped list appearance, header focused (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/list/etalons/Grouped list appearance, header focused (fluent-next.blue.light).png new file mode 100644 index 000000000000..93a06185e641 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/list/etalons/Grouped list appearance, header focused (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/list/etalons/Grouped list appearance, item focused, header hovered (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/list/etalons/Grouped list appearance, item focused, header hovered (fluent-next.blue.light).png new file mode 100644 index 000000000000..50b5a34faae9 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/list/etalons/Grouped list appearance, item focused, header hovered (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/list/etalons/Grouped list appearance,collapsibleGroups=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/list/etalons/Grouped list appearance,collapsibleGroups=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..eb61ff7ddf91 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/list/etalons/Grouped list appearance,collapsibleGroups=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/list/etalons/List delete button when item is focused (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/list/etalons/List delete button when item is focused (fluent-next.blue.light).png new file mode 100644 index 000000000000..d33bac136a02 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/list/etalons/List delete button when item is focused (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/list/etalons/List icon in button when item is focused (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/list/etalons/List icon in button when item is focused (fluent-next.blue.light).png new file mode 100644 index 000000000000..60678349db51 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/list/etalons/List icon in button when item is focused (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/list/etalons/List loading with first items invisible (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/list/etalons/List loading with first items invisible (fluent-next.blue.light).png new file mode 100644 index 000000000000..d4b3cfc7e40f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/list/etalons/List loading with first items invisible (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/list/etalons/List loading with last items invisible (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/list/etalons/List loading with last items invisible (fluent-next.blue.light).png new file mode 100644 index 000000000000..10a2e32fc7ed Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/list/etalons/List loading with last items invisible (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/list/etalons/List loading with middle items invisible (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/list/etalons/List loading with middle items invisible (fluent-next.blue.light).png new file mode 100644 index 000000000000..75e763d4a2cc Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/list/etalons/List loading with middle items invisible (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/list/etalons/List loading with part items invisible on loaded page (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/list/etalons/List loading with part items invisible on loaded page (fluent-next.blue.light).png new file mode 100644 index 000000000000..9d4071766c6d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/list/etalons/List loading with part items invisible on loaded page (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/list/etalons/List with search (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/list/etalons/List with search (fluent-next.blue.light).png new file mode 100644 index 000000000000..934ef4069f8d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/list/etalons/List with search (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Menu delimiter bottom collision, orientation=horizontal (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Menu delimiter bottom collision, orientation=horizontal (fluent-next.blue.light).png new file mode 100644 index 000000000000..cce541b83c93 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Menu delimiter bottom collision, orientation=horizontal (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Menu delimiter bottom collision, orientation=vertical (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Menu delimiter bottom collision, orientation=vertical (fluent-next.blue.light).png new file mode 100644 index 000000000000..d28534cd01fd Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Menu delimiter bottom collision, orientation=vertical (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Menu delimiter bottom right collision, orientation=horizontal (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Menu delimiter bottom right collision, orientation=horizontal (fluent-next.blue.light).png new file mode 100644 index 000000000000..f8b4096cec0c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Menu delimiter bottom right collision, orientation=horizontal (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Menu delimiter bottom right collision, orientation=vertical (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Menu delimiter bottom right collision, orientation=vertical (fluent-next.blue.light).png new file mode 100644 index 000000000000..6a2e30079c4c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Menu delimiter bottom right collision, orientation=vertical (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Menu delimiter right collision, orientation=horizontal (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Menu delimiter right collision, orientation=horizontal (fluent-next.blue.light).png new file mode 100644 index 000000000000..31e969b05818 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Menu delimiter right collision, orientation=horizontal (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Menu delimiter right collision, orientation=vertical (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Menu delimiter right collision, orientation=vertical (fluent-next.blue.light).png new file mode 100644 index 000000000000..e7444718eca3 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Menu delimiter right collision, orientation=vertical (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Menu delimiter, menu as toolbar item (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Menu delimiter, menu as toolbar item (fluent-next.blue.light).png new file mode 100644 index 000000000000..05fce336ddeb Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Menu delimiter, menu as toolbar item (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Menu delimiter, orientation=horizontal (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Menu delimiter, orientation=horizontal (fluent-next.blue.light).png new file mode 100644 index 000000000000..877a8e6e6e33 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Menu delimiter, orientation=horizontal (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Menu delimiter, orientation=horizontal, wide submenu (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Menu delimiter, orientation=horizontal, wide submenu (fluent-next.blue.light).png new file mode 100644 index 000000000000..829b0de68374 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Menu delimiter, orientation=horizontal, wide submenu (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Menu delimiter, orientation=vertical (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Menu delimiter, orientation=vertical (fluent-next.blue.light).png new file mode 100644 index 000000000000..8e967468eae6 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Menu delimiter, orientation=vertical (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Menu item with link and icon focused, adaptivityEnabled=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Menu item with link and icon focused, adaptivityEnabled=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..6fdba5f2a380 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Menu item with link and icon focused, adaptivityEnabled=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Menu item with link and icon focused, adaptivityEnabled=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Menu item with link and icon focused, adaptivityEnabled=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..4db0572ed34d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Menu item with link and icon focused, adaptivityEnabled=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Menu item with link focused, adaptivityEnabled=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Menu item with link focused, adaptivityEnabled=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..1c28a926d78b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Menu item with link focused, adaptivityEnabled=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Menu item with link focused, adaptivityEnabled=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Menu item with link focused, adaptivityEnabled=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..5b945f44f1fa Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Menu item with link focused, adaptivityEnabled=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Menu render items (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Menu render items (fluent-next.blue.light).png new file mode 100644 index 000000000000..6c74608e6043 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Menu render items (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Menu scrolling (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Menu scrolling (fluent-next.blue.light).png new file mode 100644 index 000000000000..9cb9080c12ef Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Menu scrolling (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Menu selected focused item (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Menu selected focused item (fluent-next.blue.light).png new file mode 100644 index 000000000000..41b3bb03b2d3 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/menu/etalons/Menu selected focused item (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/scrollable/etalons/Grid with scrollable wrapped in td,useNative=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/scrollable/etalons/Grid with scrollable wrapped in td,useNative=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..d510bd77ec18 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/scrollable/etalons/Grid with scrollable wrapped in td,useNative=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/scrollable/etalons/Grid with scrollable wrapped in td,useNative=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/scrollable/etalons/Grid with scrollable wrapped in td,useNative=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..d510bd77ec18 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/scrollable/etalons/Grid with scrollable wrapped in td,useNative=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/scrollable/etalons/Scroll position after show, useNative=false,rtl=false,useSimScrollbar=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/scrollable/etalons/Scroll position after show, useNative=false,rtl=false,useSimScrollbar=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..e78bc3e6451e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/scrollable/etalons/Scroll position after show, useNative=false,rtl=false,useSimScrollbar=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/scrollable/etalons/Scroll position after show, useNative=false,rtl=false,useSimScrollbar=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/scrollable/etalons/Scroll position after show, useNative=false,rtl=false,useSimScrollbar=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..e78bc3e6451e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/scrollable/etalons/Scroll position after show, useNative=false,rtl=false,useSimScrollbar=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/scrollable/etalons/Scroll position after show, useNative=false,rtl=true,useSimScrollbar=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/scrollable/etalons/Scroll position after show, useNative=false,rtl=true,useSimScrollbar=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..9b3488425466 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/scrollable/etalons/Scroll position after show, useNative=false,rtl=true,useSimScrollbar=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/scrollable/etalons/Scroll position after show, useNative=false,rtl=true,useSimScrollbar=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/scrollable/etalons/Scroll position after show, useNative=false,rtl=true,useSimScrollbar=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..9b3488425466 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/scrollable/etalons/Scroll position after show, useNative=false,rtl=true,useSimScrollbar=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/scrollable/etalons/Scroll position after show, useNative=true,rtl=false,useSimScrollbar=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/scrollable/etalons/Scroll position after show, useNative=true,rtl=false,useSimScrollbar=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..babc5ba91e09 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/scrollable/etalons/Scroll position after show, useNative=true,rtl=false,useSimScrollbar=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/scrollable/etalons/Scroll position after show, useNative=true,rtl=false,useSimScrollbar=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/scrollable/etalons/Scroll position after show, useNative=true,rtl=false,useSimScrollbar=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..974342016900 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/scrollable/etalons/Scroll position after show, useNative=true,rtl=false,useSimScrollbar=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/scrollable/etalons/Scroll position after show, useNative=true,rtl=true,useSimScrollbar=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/scrollable/etalons/Scroll position after show, useNative=true,rtl=true,useSimScrollbar=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..129ae1fcd600 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/scrollable/etalons/Scroll position after show, useNative=true,rtl=true,useSimScrollbar=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/scrollable/etalons/Scroll position after show, useNative=true,rtl=true,useSimScrollbar=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/scrollable/etalons/Scroll position after show, useNative=true,rtl=true,useSimScrollbar=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..974342016900 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/scrollable/etalons/Scroll position after show, useNative=true,rtl=true,useSimScrollbar=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/scrollable/etalons/Scroll position before hide, useNative=false,rtl=false,useSimScrollbar=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/scrollable/etalons/Scroll position before hide, useNative=false,rtl=false,useSimScrollbar=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..e78bc3e6451e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/scrollable/etalons/Scroll position before hide, useNative=false,rtl=false,useSimScrollbar=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/scrollable/etalons/Scroll position before hide, useNative=false,rtl=false,useSimScrollbar=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/scrollable/etalons/Scroll position before hide, useNative=false,rtl=false,useSimScrollbar=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..e78bc3e6451e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/scrollable/etalons/Scroll position before hide, useNative=false,rtl=false,useSimScrollbar=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/scrollable/etalons/Scroll position before hide, useNative=false,rtl=true,useSimScrollbar=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/scrollable/etalons/Scroll position before hide, useNative=false,rtl=true,useSimScrollbar=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..9b3488425466 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/scrollable/etalons/Scroll position before hide, useNative=false,rtl=true,useSimScrollbar=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/scrollable/etalons/Scroll position before hide, useNative=false,rtl=true,useSimScrollbar=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/scrollable/etalons/Scroll position before hide, useNative=false,rtl=true,useSimScrollbar=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..9b3488425466 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/scrollable/etalons/Scroll position before hide, useNative=false,rtl=true,useSimScrollbar=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/scrollable/etalons/Scroll position before hide, useNative=true,rtl=false,useSimScrollbar=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/scrollable/etalons/Scroll position before hide, useNative=true,rtl=false,useSimScrollbar=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..babc5ba91e09 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/scrollable/etalons/Scroll position before hide, useNative=true,rtl=false,useSimScrollbar=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/scrollable/etalons/Scroll position before hide, useNative=true,rtl=false,useSimScrollbar=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/scrollable/etalons/Scroll position before hide, useNative=true,rtl=false,useSimScrollbar=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..b3a746b5a9ac Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/scrollable/etalons/Scroll position before hide, useNative=true,rtl=false,useSimScrollbar=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/scrollable/etalons/Scroll position before hide, useNative=true,rtl=true,useSimScrollbar=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/scrollable/etalons/Scroll position before hide, useNative=true,rtl=true,useSimScrollbar=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..129ae1fcd600 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/scrollable/etalons/Scroll position before hide, useNative=true,rtl=true,useSimScrollbar=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/scrollable/etalons/Scroll position before hide, useNative=true,rtl=true,useSimScrollbar=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/scrollable/etalons/Scroll position before hide, useNative=true,rtl=true,useSimScrollbar=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..6a69970ad5a3 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/scrollable/etalons/Scroll position before hide, useNative=true,rtl=true,useSimScrollbar=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/scrollable/etalons/ScrollToElement with scaling scale(1.5),direction=both (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/scrollable/etalons/ScrollToElement with scaling scale(1.5),direction=both (fluent-next.blue.light).png new file mode 100644 index 000000000000..a8ae11cc4577 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/scrollable/etalons/ScrollToElement with scaling scale(1.5),direction=both (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/scrollable/etalons/ScrollToElement, element less container direction=both (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/scrollable/etalons/ScrollToElement, element less container direction=both (fluent-next.blue.light).png new file mode 100644 index 000000000000..9bc59b2569ee Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/scrollable/etalons/ScrollToElement, element less container direction=both (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/scrollable/etalons/ScrollToElement, element more container direction=both (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/scrollable/etalons/ScrollToElement, element more container direction=both (fluent-next.blue.light).png new file mode 100644 index 000000000000..9c9b34ce6b49 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/scrollable/etalons/ScrollToElement, element more container direction=both (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/splitter/etalons/Nested Splitter appearance, orientation='horizontal' (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/splitter/etalons/Nested Splitter appearance, orientation='horizontal' (fluent-next.blue.light).png new file mode 100644 index 000000000000..ac1c35fb639a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/splitter/etalons/Nested Splitter appearance, orientation='horizontal' (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/splitter/etalons/Nested Splitter appearance, orientation='vertical' (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/splitter/etalons/Nested Splitter appearance, orientation='vertical' (fluent-next.blue.light).png new file mode 100644 index 000000000000..e8d2a97936d2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/splitter/etalons/Nested Splitter appearance, orientation='vertical' (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/splitter/etalons/Splitter apearance - handle in active state (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/splitter/etalons/Splitter apearance - handle in active state (fluent-next.blue.light).png new file mode 100644 index 000000000000..76f249bc51bd Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/splitter/etalons/Splitter apearance - handle in active state (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/splitter/etalons/Splitter apearance - handle in focused state (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/splitter/etalons/Splitter apearance - handle in focused state (fluent-next.blue.light).png new file mode 100644 index 000000000000..76f249bc51bd Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/splitter/etalons/Splitter apearance - handle in focused state (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/splitter/etalons/Splitter apearance - handle in hover state (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/splitter/etalons/Splitter apearance - handle in hover state (fluent-next.blue.light).png new file mode 100644 index 000000000000..ad3662b65ee2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/splitter/etalons/Splitter apearance - handle in hover state (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/splitter/etalons/Splitter apearance - handle in inactive state (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/splitter/etalons/Splitter apearance - handle in inactive state (fluent-next.blue.light).png new file mode 100644 index 000000000000..79d76c3d5b41 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/splitter/etalons/Splitter apearance - handle in inactive state (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/splitter/etalons/Splitter apearance - handle in normal state (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/splitter/etalons/Splitter apearance - handle in normal state (fluent-next.blue.light).png new file mode 100644 index 000000000000..ad3662b65ee2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/splitter/etalons/Splitter apearance - handle in normal state (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/splitter/etalons/Splitter appearance, orientation='horizontal' (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/splitter/etalons/Splitter appearance, orientation='horizontal' (fluent-next.blue.light).png new file mode 100644 index 000000000000..ad3662b65ee2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/splitter/etalons/Splitter appearance, orientation='horizontal' (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/splitter/etalons/Splitter appearance, orientation='vertical' (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/splitter/etalons/Splitter appearance, orientation='vertical' (fluent-next.blue.light).png new file mode 100644 index 000000000000..30093041ddc5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/splitter/etalons/Splitter appearance, orientation='vertical' (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/splitter/etalons/Splitter in tab content after window resize, pane_1.size=`100px` (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/splitter/etalons/Splitter in tab content after window resize, pane_1.size=`100px` (fluent-next.blue.light).png new file mode 100644 index 000000000000..c959b5db1bfe Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/splitter/etalons/Splitter in tab content after window resize, pane_1.size=`100px` (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/splitter/etalons/Splitter in tab content, pane_1.size=`100px` (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/splitter/etalons/Splitter in tab content, pane_1.size=`100px` (fluent-next.blue.light).png new file mode 100644 index 000000000000..4f9bb18d2559 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/splitter/etalons/Splitter in tab content, pane_1.size=`100px` (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/stepper/etalons/Completed invalid step focused (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/stepper/etalons/Completed invalid step focused (fluent-next.blue.light).png new file mode 100644 index 000000000000..e6ebc5e8a6e9 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/stepper/etalons/Completed invalid step focused (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/stepper/etalons/Completed step focused (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/stepper/etalons/Completed step focused (fluent-next.blue.light).png new file mode 100644 index 000000000000..f75d818d0f24 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/stepper/etalons/Completed step focused (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/stepper/etalons/Completed valid step focused (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/stepper/etalons/Completed valid step focused (fluent-next.blue.light).png new file mode 100644 index 000000000000..b6d0b769ab88 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/stepper/etalons/Completed valid step focused (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/stepper/etalons/Stepper 1st step selected,selectOnFocus=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/stepper/etalons/Stepper 1st step selected,selectOnFocus=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..4e86efff884f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/stepper/etalons/Stepper 1st step selected,selectOnFocus=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/stepper/etalons/Stepper 1st step selected,selectOnFocus=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/stepper/etalons/Stepper 1st step selected,selectOnFocus=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..4e86efff884f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/stepper/etalons/Stepper 1st step selected,selectOnFocus=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/stepper/etalons/Stepper disabled invalid step focused,selectOnFocus=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/stepper/etalons/Stepper disabled invalid step focused,selectOnFocus=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..024c1b34cdd7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/stepper/etalons/Stepper disabled invalid step focused,selectOnFocus=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/stepper/etalons/Stepper disabled invalid step focused,selectOnFocus=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/stepper/etalons/Stepper disabled invalid step focused,selectOnFocus=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..4b7ac2f0a095 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/stepper/etalons/Stepper disabled invalid step focused,selectOnFocus=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/stepper/etalons/Stepper disabled step focused,selectOnFocus=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/stepper/etalons/Stepper disabled step focused,selectOnFocus=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..62da2c1e16a0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/stepper/etalons/Stepper disabled step focused,selectOnFocus=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/stepper/etalons/Stepper disabled step focused,selectOnFocus=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/stepper/etalons/Stepper disabled step focused,selectOnFocus=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..a90907beaeb2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/stepper/etalons/Stepper disabled step focused,selectOnFocus=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/stepper/etalons/Stepper disabled valid step focused,selectOnFocus=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/stepper/etalons/Stepper disabled valid step focused,selectOnFocus=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..1864856ae55f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/stepper/etalons/Stepper disabled valid step focused,selectOnFocus=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/stepper/etalons/Stepper disabled valid step focused,selectOnFocus=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/stepper/etalons/Stepper disabled valid step focused,selectOnFocus=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..2596a6caf90b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/stepper/etalons/Stepper disabled valid step focused,selectOnFocus=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/stepper/etalons/Stepper invalid step focused,selectOnFocus=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/stepper/etalons/Stepper invalid step focused,selectOnFocus=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..22106136fc1d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/stepper/etalons/Stepper invalid step focused,selectOnFocus=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/stepper/etalons/Stepper invalid step selected,selectOnFocus=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/stepper/etalons/Stepper invalid step selected,selectOnFocus=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..914cda805f3b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/stepper/etalons/Stepper invalid step selected,selectOnFocus=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/stepper/etalons/Stepper last step focused,selectOnFocus=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/stepper/etalons/Stepper last step focused,selectOnFocus=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..cf7cae11b9f2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/stepper/etalons/Stepper last step focused,selectOnFocus=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/stepper/etalons/Stepper last step selected,selectOnFocus=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/stepper/etalons/Stepper last step selected,selectOnFocus=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..3a1d7533f68c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/stepper/etalons/Stepper last step selected,selectOnFocus=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/stepper/etalons/Stepper orient=horizontal (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/stepper/etalons/Stepper orient=horizontal (fluent-next.blue.light).png new file mode 100644 index 000000000000..99576201c2f2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/stepper/etalons/Stepper orient=horizontal (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/stepper/etalons/Stepper orient=vertical (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/stepper/etalons/Stepper orient=vertical (fluent-next.blue.light).png new file mode 100644 index 000000000000..5f57e6f86ced Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/stepper/etalons/Stepper orient=vertical (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/stepper/etalons/Stepper text overflow orient=horizontal (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/stepper/etalons/Stepper text overflow orient=horizontal (fluent-next.blue.light).png new file mode 100644 index 000000000000..d8a80a2d080c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/stepper/etalons/Stepper text overflow orient=horizontal (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/stepper/etalons/Stepper text overflow orient=vertical (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/stepper/etalons/Stepper text overflow orient=vertical (fluent-next.blue.light).png new file mode 100644 index 000000000000..783ae252b139 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/stepper/etalons/Stepper text overflow orient=vertical (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/stepper/etalons/Stepper valid step focused,selectOnFocus=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/stepper/etalons/Stepper valid step focused,selectOnFocus=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..ac7dddf93eb8 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/stepper/etalons/Stepper valid step focused,selectOnFocus=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/stepper/etalons/Stepper valid step selected,selectOnFocus=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/stepper/etalons/Stepper valid step selected,selectOnFocus=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..79800a1d8d64 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/stepper/etalons/Stepper valid step selected,selectOnFocus=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/tabPanel/etalons/Nested TabPanel borders appearance,tabsPos=bottom (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/tabPanel/etalons/Nested TabPanel borders appearance,tabsPos=bottom (fluent-next.blue.light).png new file mode 100644 index 000000000000..c500be1cae66 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/tabPanel/etalons/Nested TabPanel borders appearance,tabsPos=bottom (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/tabPanel/etalons/Nested TabPanel borders appearance,tabsPos=left (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/tabPanel/etalons/Nested TabPanel borders appearance,tabsPos=left (fluent-next.blue.light).png new file mode 100644 index 000000000000..e7256fe2801b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/tabPanel/etalons/Nested TabPanel borders appearance,tabsPos=left (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/tabPanel/etalons/Nested TabPanel borders appearance,tabsPos=right (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/tabPanel/etalons/Nested TabPanel borders appearance,tabsPos=right (fluent-next.blue.light).png new file mode 100644 index 000000000000..b9a7ee8d217c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/tabPanel/etalons/Nested TabPanel borders appearance,tabsPos=right (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/tabPanel/etalons/Nested TabPanel borders appearance,tabsPos=top (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/tabPanel/etalons/Nested TabPanel borders appearance,tabsPos=top (fluent-next.blue.light).png new file mode 100644 index 000000000000..f95721315906 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/tabPanel/etalons/Nested TabPanel borders appearance,tabsPos=top (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/tabPanel/etalons/TabPanel borders with scrolling (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/tabPanel/etalons/TabPanel borders with scrolling (fluent-next.blue.light).png new file mode 100644 index 000000000000..e6ffd9f8bf8b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/tabPanel/etalons/TabPanel borders with scrolling (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/tabPanel/etalons/TabPanel borders without scrolling (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/tabPanel/etalons/TabPanel borders without scrolling (fluent-next.blue.light).png new file mode 100644 index 000000000000..b74f7a152581 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/tabPanel/etalons/TabPanel borders without scrolling (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/tabPanel/etalons/TabPanel focus borders (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/tabPanel/etalons/TabPanel focus borders (fluent-next.blue.light).png new file mode 100644 index 000000000000..fb6f701c6a8f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/tabPanel/etalons/TabPanel focus borders (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/tabPanel/etalons/TabPanel item focus when clicking on multiview (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/tabPanel/etalons/TabPanel item focus when clicking on multiview (fluent-next.blue.light).png new file mode 100644 index 000000000000..8b8f1429de82 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/tabPanel/etalons/TabPanel item focus when clicking on multiview (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/tabPanel/etalons/TabPanel left navigation button hovered (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/tabPanel/etalons/TabPanel left navigation button hovered (fluent-next.blue.light).png new file mode 100644 index 000000000000..e1f251c4cf91 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/tabPanel/etalons/TabPanel left navigation button hovered (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/tabPanel/etalons/TabPanel right navigation button hovered (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/tabPanel/etalons/TabPanel right navigation button hovered (fluent-next.blue.light).png new file mode 100644 index 000000000000..da155ab9cf2a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/tabPanel/etalons/TabPanel right navigation button hovered (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/tabPanel/etalons/TabPanel tabs min-width (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/tabPanel/etalons/TabPanel tabs min-width (fluent-next.blue.light).png new file mode 100644 index 000000000000..626db07be19c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/tabPanel/etalons/TabPanel tabs min-width (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/tabPanel/etalons/TabPanel text-overflow when tabs wrapper width is limited (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/tabPanel/etalons/TabPanel text-overflow when tabs wrapper width is limited (fluent-next.blue.light).png new file mode 100644 index 000000000000..35deb015582e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/tabPanel/etalons/TabPanel text-overflow when tabs wrapper width is limited (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/tabPanel/etalons/TabPanel text-overflow when tabsPosition is left (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/tabPanel/etalons/TabPanel text-overflow when tabsPosition is left (fluent-next.blue.light).png new file mode 100644 index 000000000000..86397d49ab4f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/tabPanel/etalons/TabPanel text-overflow when tabsPosition is left (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/tabPanel/etalons/TabPanel with single tab, tabPosition=left (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/tabPanel/etalons/TabPanel with single tab, tabPosition=left (fluent-next.blue.light).png new file mode 100644 index 000000000000..0c2ec2878a64 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/tabPanel/etalons/TabPanel with single tab, tabPosition=left (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/tabPanel/etalons/TabPanel with single tab, tabPosition=right (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/tabPanel/etalons/TabPanel with single tab, tabPosition=right (fluent-next.blue.light).png new file mode 100644 index 000000000000..c2b071475ee2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/tabPanel/etalons/TabPanel with single tab, tabPosition=right (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/tabPanel/etalons/TabPanel without focus,tabsPosition=bottom (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/tabPanel/etalons/TabPanel without focus,tabsPosition=bottom (fluent-next.blue.light).png new file mode 100644 index 000000000000..f5ea8f4f6218 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/tabPanel/etalons/TabPanel without focus,tabsPosition=bottom (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/tabPanel/etalons/TabPanel without focus,tabsPosition=left (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/tabPanel/etalons/TabPanel without focus,tabsPosition=left (fluent-next.blue.light).png new file mode 100644 index 000000000000..dac71823b8e5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/tabPanel/etalons/TabPanel without focus,tabsPosition=left (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/tabPanel/etalons/TabPanel without focus,tabsPosition=right (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/tabPanel/etalons/TabPanel without focus,tabsPosition=right (fluent-next.blue.light).png new file mode 100644 index 000000000000..e76a40518a5f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/tabPanel/etalons/TabPanel without focus,tabsPosition=right (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/tabPanel/etalons/TabPanel without focus,tabsPosition=top (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/tabPanel/etalons/TabPanel without focus,tabsPosition=top (fluent-next.blue.light).png new file mode 100644 index 000000000000..cc38f6bc1b54 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/tabPanel/etalons/TabPanel without focus,tabsPosition=top (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/tabs/etalons/Tabs background color (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/tabs/etalons/Tabs background color (fluent-next.blue.light).png new file mode 100644 index 000000000000..705b87b9b48b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/tabs/etalons/Tabs background color (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/tabs/etalons/Tabs disabled item focused (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/tabs/etalons/Tabs disabled item focused (fluent-next.blue.light).png new file mode 100644 index 000000000000..6be178a96662 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/tabs/etalons/Tabs disabled item focused (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/tabs/etalons/Tabs icon position,rtl=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/tabs/etalons/Tabs icon position,rtl=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..5148de5fe9cd Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/tabs/etalons/Tabs icon position,rtl=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/tabs/etalons/Tabs icon position,rtl=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/tabs/etalons/Tabs icon position,rtl=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..36b86d507d0d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/tabs/etalons/Tabs icon position,rtl=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/tabs/etalons/Tabs item active (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/tabs/etalons/Tabs item active (fluent-next.blue.light).png new file mode 100644 index 000000000000..2d83bfb75f44 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/tabs/etalons/Tabs item active (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/tabs/etalons/Tabs item focused (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/tabs/etalons/Tabs item focused (fluent-next.blue.light).png new file mode 100644 index 000000000000..d85150bc6ffe Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/tabs/etalons/Tabs item focused (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/tabs/etalons/Tabs item hovered (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/tabs/etalons/Tabs item hovered (fluent-next.blue.light).png new file mode 100644 index 000000000000..c2a3c7cd8e7a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/tabs/etalons/Tabs item hovered (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/tabs/etalons/Tabs item selected, orientation=horizontal, stylingMode=primary (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/tabs/etalons/Tabs item selected, orientation=horizontal, stylingMode=primary (fluent-next.blue.light).png new file mode 100644 index 000000000000..b0fe3fd0464e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/tabs/etalons/Tabs item selected, orientation=horizontal, stylingMode=primary (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/tabs/etalons/Tabs item selected, orientation=horizontal, stylingMode=secondary (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/tabs/etalons/Tabs item selected, orientation=horizontal, stylingMode=secondary (fluent-next.blue.light).png new file mode 100644 index 000000000000..8a530a837991 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/tabs/etalons/Tabs item selected, orientation=horizontal, stylingMode=secondary (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/tabs/etalons/Tabs item selected, orientation=vertical, stylingMode=primary (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/tabs/etalons/Tabs item selected, orientation=vertical, stylingMode=primary (fluent-next.blue.light).png new file mode 100644 index 000000000000..fa17ee7f2454 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/tabs/etalons/Tabs item selected, orientation=vertical, stylingMode=primary (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/tabs/etalons/Tabs item selected, orientation=vertical, stylingMode=secondary (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/tabs/etalons/Tabs item selected, orientation=vertical, stylingMode=secondary (fluent-next.blue.light).png new file mode 100644 index 000000000000..b9db3cce3eec Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/tabs/etalons/Tabs item selected, orientation=vertical, stylingMode=secondary (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/tabs/etalons/Tabs selected item active (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/tabs/etalons/Tabs selected item active (fluent-next.blue.light).png new file mode 100644 index 000000000000..5585a6123ee4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/tabs/etalons/Tabs selected item active (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/tabs/etalons/Tabs selected item hovered (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/tabs/etalons/Tabs selected item hovered (fluent-next.blue.light).png new file mode 100644 index 000000000000..11da06e2b5a7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/tabs/etalons/Tabs selected item hovered (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/tabs/etalons/Tabs text-overflow (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/tabs/etalons/Tabs text-overflow (fluent-next.blue.light).png new file mode 100644 index 000000000000..f69c49654b10 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/tabs/etalons/Tabs text-overflow (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/tabs/etalons/Tabs with width auto (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/tabs/etalons/Tabs with width auto (fluent-next.blue.light).png new file mode 100644 index 000000000000..db55b4772504 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/tabs/etalons/Tabs with width auto (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/tabs/etalons/Tabs without focus (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/tabs/etalons/Tabs without focus (fluent-next.blue.light).png new file mode 100644 index 000000000000..0c7bc2f71572 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/tabs/etalons/Tabs without focus (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar RTL focus border visible after keyboard navigation (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar RTL focus border visible after keyboard navigation (fluent-next.blue.light).png new file mode 100644 index 000000000000..1b4fe850b725 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar RTL focus border visible after keyboard navigation (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar RTL no focus border after mouse click (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar RTL no focus border after mouse click (fluent-next.blue.light).png new file mode 100644 index 000000000000..94287597411d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar RTL no focus border after mouse click (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar buttonGroup as custom template in menu (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar buttonGroup as custom template in menu (fluent-next.blue.light).png new file mode 100644 index 000000000000..cd4363c310a6 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar buttonGroup as custom template in menu (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar buttonGroup as custom template in menu active (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar buttonGroup as custom template in menu active (fluent-next.blue.light).png new file mode 100644 index 000000000000..a8edf5e0f0ad Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar buttonGroup as custom template in menu active (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar buttonGroup as custom template in menu focused (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar buttonGroup as custom template in menu focused (fluent-next.blue.light).png new file mode 100644 index 000000000000..c9d1442e3389 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar buttonGroup as custom template in menu focused (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar buttonGroup as custom template in menu hover (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar buttonGroup as custom template in menu hover (fluent-next.blue.light).png new file mode 100644 index 000000000000..c9d1442e3389 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar buttonGroup as custom template in menu hover (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar buttonGroup in menu (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar buttonGroup in menu (fluent-next.blue.light).png new file mode 100644 index 000000000000..f642c6bfd3d7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar buttonGroup in menu (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar buttonGroup in menu active (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar buttonGroup in menu active (fluent-next.blue.light).png new file mode 100644 index 000000000000..0120453f7393 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar buttonGroup in menu active (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar buttonGroup in menu focused (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar buttonGroup in menu focused (fluent-next.blue.light).png new file mode 100644 index 000000000000..6f7dd1e7e536 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar buttonGroup in menu focused (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar buttonGroup in menu hover (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar buttonGroup in menu hover (fluent-next.blue.light).png new file mode 100644 index 000000000000..6f7dd1e7e536 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar buttonGroup in menu hover (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar buttons as custom template in menu (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar buttons as custom template in menu (fluent-next.blue.light).png new file mode 100644 index 000000000000..f4a58a44018c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar buttons as custom template in menu (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar buttons as custom template in menu active (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar buttons as custom template in menu active (fluent-next.blue.light).png new file mode 100644 index 000000000000..2bd3e51f267c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar buttons as custom template in menu active (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar buttons as custom template in menu focused (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar buttons as custom template in menu focused (fluent-next.blue.light).png new file mode 100644 index 000000000000..53eb198ae0aa Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar buttons as custom template in menu focused (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar buttons as custom template in menu hover (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar buttons as custom template in menu hover (fluent-next.blue.light).png new file mode 100644 index 000000000000..53eb198ae0aa Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar buttons as custom template in menu hover (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar buttons in menu (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar buttons in menu (fluent-next.blue.light).png new file mode 100644 index 000000000000..1874b0ea43c3 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar buttons in menu (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar buttons in menu active (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar buttons in menu active (fluent-next.blue.light).png new file mode 100644 index 000000000000..f5468213fa70 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar buttons in menu active (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar buttons in menu focused (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar buttons in menu focused (fluent-next.blue.light).png new file mode 100644 index 000000000000..a798d8f7e1ac Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar buttons in menu focused (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar buttons in menu hover (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar buttons in menu hover (fluent-next.blue.light).png new file mode 100644 index 000000000000..a798d8f7e1ac Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar buttons in menu hover (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar focus border on item after Arrow-Home-End navigation with disabled items (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar focus border on item after Arrow-Home-End navigation with disabled items (fluent-next.blue.light).png new file mode 100644 index 000000000000..4ac39bc78248 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar focus border on item after Arrow-Home-End navigation with disabled items (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar menu popup above container rtl=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar menu popup above container rtl=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..728abd3530b9 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar menu popup above container rtl=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar menu popup above container rtl=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar menu popup above container rtl=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..4f2e331f00f7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar menu popup above container rtl=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar menu popup after window resize (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar menu popup after window resize (fluent-next.blue.light).png new file mode 100644 index 000000000000..d2bae5977480 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar menu popup after window resize (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar menu popup before window resize (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar menu popup before window resize (fluent-next.blue.light).png new file mode 100644 index 000000000000..d9612a74216d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar menu popup before window resize (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar menu popup collision with window border (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar menu popup collision with window border (fluent-next.blue.light).png new file mode 100644 index 000000000000..2206aa2a4f09 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar menu popup collision with window border (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar menu popup under container rtl=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar menu popup under container rtl=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..d9612a74216d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar menu popup under container rtl=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar menu popup under container rtl=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar menu popup under container rtl=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..bcfb05902298 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar menu popup under container rtl=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar nested widgets render in multiline rtl=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar nested widgets render in multiline rtl=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..7da83f448d58 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar nested widgets render in multiline rtl=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar nested widgets render in multiline rtl=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar nested widgets render in multiline rtl=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..4e6423ec66b0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar nested widgets render in multiline rtl=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar widgets render rtl=true,items[]locateInMenu=always (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar widgets render rtl=true,items[]locateInMenu=always (fluent-next.blue.light).png new file mode 100644 index 000000000000..1d1da184186d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar widgets render rtl=true,items[]locateInMenu=always (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar widgets render rtl=true,items[]locateInMenu=never (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar widgets render rtl=true,items[]locateInMenu=never (fluent-next.blue.light).png new file mode 100644 index 000000000000..c574409d79ef Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar widgets render rtl=true,items[]locateInMenu=never (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar widgets render,items[]locateInMenu=always (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar widgets render,items[]locateInMenu=always (fluent-next.blue.light).png new file mode 100644 index 000000000000..9d986794845e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar widgets render,items[]locateInMenu=always (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar widgets render,items[]locateInMenu=never (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar widgets render,items[]locateInMenu=never (fluent-next.blue.light).png new file mode 100644 index 000000000000..de0cabff4fac Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/toolbar/etalons/Toolbar widgets render,items[]locateInMenu=never (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/treeView/etalons/TreeView scrollable has correct height (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/treeView/etalons/TreeView scrollable has correct height (fluent-next.blue.light).png new file mode 100644 index 000000000000..59e69c48780a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/treeView/etalons/TreeView scrollable has correct height (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/treeView/etalons/TreeView selection showCheckBoxesMode=none,rtl=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/treeView/etalons/TreeView selection showCheckBoxesMode=none,rtl=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..18ea17ca0d16 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/treeView/etalons/TreeView selection showCheckBoxesMode=none,rtl=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/treeView/etalons/TreeView selection showCheckBoxesMode=none,rtl=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/treeView/etalons/TreeView selection showCheckBoxesMode=none,rtl=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..281a27859bd6 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/treeView/etalons/TreeView selection showCheckBoxesMode=none,rtl=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/treeView/etalons/TreeView selection showCheckBoxesMode=normal,rtl=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/treeView/etalons/TreeView selection showCheckBoxesMode=normal,rtl=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..685e21295e67 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/treeView/etalons/TreeView selection showCheckBoxesMode=normal,rtl=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/treeView/etalons/TreeView selection showCheckBoxesMode=normal,rtl=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/treeView/etalons/TreeView selection showCheckBoxesMode=normal,rtl=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..201ce86a7a37 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/treeView/etalons/TreeView selection showCheckBoxesMode=normal,rtl=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/treeView/etalons/TreeView selection showCheckBoxesMode=selectAll,rtl=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/treeView/etalons/TreeView selection showCheckBoxesMode=selectAll,rtl=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..c9feed12f4f6 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/treeView/etalons/TreeView selection showCheckBoxesMode=selectAll,rtl=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/treeView/etalons/TreeView selection showCheckBoxesMode=selectAll,rtl=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/treeView/etalons/TreeView selection showCheckBoxesMode=selectAll,rtl=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..dcf802f12811 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/treeView/etalons/TreeView selection showCheckBoxesMode=selectAll,rtl=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/treeView/etalons/Treeview checked CheckBox focus (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/treeView/etalons/Treeview checked CheckBox focus (fluent-next.blue.light).png new file mode 100644 index 000000000000..71ab6c0fdff4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/treeView/etalons/Treeview checked CheckBox focus (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/treeView/etalons/Treeview indeterminate CheckBox focus (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/treeView/etalons/Treeview indeterminate CheckBox focus (fluent-next.blue.light).png new file mode 100644 index 000000000000..72addc3aad45 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/treeView/etalons/Treeview indeterminate CheckBox focus (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/treeView/etalons/Treeview unchecked CheckBox focus (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/treeView/etalons/Treeview unchecked CheckBox focus (fluent-next.blue.light).png new file mode 100644 index 000000000000..66de688ced24 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/treeView/etalons/Treeview unchecked CheckBox focus (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/treeView/etalons/Treeview with custom icons showCheckBoxesMode=none (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/treeView/etalons/Treeview with custom icons showCheckBoxesMode=none (fluent-next.blue.light).png new file mode 100644 index 000000000000..01ac90adb37f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/treeView/etalons/Treeview with custom icons showCheckBoxesMode=none (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/navigation/treeView/etalons/Treeview with custom icons showCheckBoxesMode=normal (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/navigation/treeView/etalons/Treeview with custom icons showCheckBoxesMode=normal (fluent-next.blue.light).png new file mode 100644 index 000000000000..3f3138cc03c1 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/navigation/treeView/etalons/Treeview with custom icons showCheckBoxesMode=normal (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/a11y/etalons/month_day_number_contrast (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/a11y/etalons/month_day_number_contrast (fluent-next.blue.light).png new file mode 100644 index 000000000000..d893f57d4477 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/a11y/etalons/month_day_number_contrast (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/agenda/etalons/agenda-groups-adaptive-rtl=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/agenda/etalons/agenda-groups-adaptive-rtl=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..ddd6e6ed87a6 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/agenda/etalons/agenda-groups-adaptive-rtl=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/agenda/etalons/agenda-groups-adaptive-rtl=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/agenda/etalons/agenda-groups-adaptive-rtl=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..82fe3c52444e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/agenda/etalons/agenda-groups-adaptive-rtl=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/agenda/etalons/agenda-layout-appointment-state-click (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/agenda/etalons/agenda-layout-appointment-state-click (fluent-next.blue.light).png new file mode 100644 index 000000000000..105588ff9bc1 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/agenda/etalons/agenda-layout-appointment-state-click (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/agenda/etalons/agenda-layout-appointment-state-hover (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/agenda/etalons/agenda-layout-appointment-state-hover (fluent-next.blue.light).png new file mode 100644 index 000000000000..b16ef502cb57 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/agenda/etalons/agenda-layout-appointment-state-hover (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/agenda/etalons/agenda-layout-groups-rtl=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/agenda/etalons/agenda-layout-groups-rtl=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..04623dfea7d0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/agenda/etalons/agenda-layout-groups-rtl=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/agenda/etalons/agenda-layout-groups-rtl=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/agenda/etalons/agenda-layout-groups-rtl=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..826a56dd30d8 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/agenda/etalons/agenda-layout-groups-rtl=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/agenda/etalons/agenda-layout-rtl=false-resources=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/agenda/etalons/agenda-layout-rtl=false-resources=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..41d774cb81e3 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/agenda/etalons/agenda-layout-rtl=false-resources=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/agenda/etalons/agenda-layout-rtl=false-resources=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/agenda/etalons/agenda-layout-rtl=false-resources=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..9477b3e0b932 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/agenda/etalons/agenda-layout-rtl=false-resources=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/agenda/etalons/agenda-layout-rtl=true-resources=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/agenda/etalons/agenda-layout-rtl=true-resources=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..91df685b104b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/agenda/etalons/agenda-layout-rtl=true-resources=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/agenda/etalons/agenda-layout-rtl=true-resources=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/agenda/etalons/agenda-layout-rtl=true-resources=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..368edd156f8f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/agenda/etalons/agenda-layout-rtl=true-resources=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/agenda/etalons/agenda-without-groups-adaptive-rtl=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/agenda/etalons/agenda-without-groups-adaptive-rtl=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..1a1b6b50ebbf Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/agenda/etalons/agenda-without-groups-adaptive-rtl=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/agenda/etalons/agenda-without-groups-adaptive-rtl=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/agenda/etalons/agenda-without-groups-adaptive-rtl=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..ec3f5065c7ba Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/agenda/etalons/agenda-without-groups-adaptive-rtl=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/agenda/etalons/switch-to-agenda-without-appointments (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/agenda/etalons/switch-to-agenda-without-appointments (fluent-next.blue.light).png new file mode 100644 index 000000000000..303d67692919 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/agenda/etalons/switch-to-agenda-without-appointments (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/api/deleteRecurrence.ts b/e2e/testcafe-devextreme/tests/scheduler/common/api/deleteRecurrence.ts index 5f2de565c7db..2f15fe78db54 100644 --- a/e2e/testcafe-devextreme/tests/scheduler/common/api/deleteRecurrence.ts +++ b/e2e/testcafe-devextreme/tests/scheduler/common/api/deleteRecurrence.ts @@ -1,6 +1,7 @@ import Scheduler from 'devextreme-testcafe-models/scheduler'; import url from '../../../../helpers/getPageUrl'; import { createWidget } from '../../../../helpers/createWidget'; +import { getThemeName } from '../../../../helpers/themeUtils'; fixture.disablePageReloads`Scheduler API - deleteRecurrence` .page(url(__dirname, '../../../container.html')); @@ -63,19 +64,23 @@ test('should exclude from recurrence if mode is "occurrence"', async (t) => { .expect(scheduler.getAppointmentCount()) .eql(2); + // fluent-next narrowed the left column by 1px (65 -> 64) and raised the header by 2px + // (46 -> 48); the other themes were not touched + const isFluentNext = getThemeName() === 'fluent-next'; + const rect0 = await appointment0.element.boundingClientRect; await t .expect(rect0.left) - .within(318, 319) + .within(isFluentNext ? 317 : 318, isFluentNext ? 318 : 319) .expect(rect0.top) - .within(140, 141); + .within(isFluentNext ? 142 : 140, isFluentNext ? 143 : 141); const rect1 = await appointment1.element.boundingClientRect; await t .expect(rect1.left) .within(562, 563) .expect(rect1.top) - .within(140, 141); + .within(isFluentNext ? 142 : 140, isFluentNext ? 143 : 141); }).before(async () => createWidget( 'dxScheduler', { diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__main-form (recurring=false,allDay=false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__main-form (recurring=false,allDay=false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..7e11ac807319 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__main-form (recurring=false,allDay=false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__main-form (recurring=false,allDay=true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__main-form (recurring=false,allDay=true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..2a5098a6eac1 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__main-form (recurring=false,allDay=true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__main-form (recurring=true,allDay=false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__main-form (recurring=true,allDay=false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..f6bb9cf4ab85 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__main-form (recurring=true,allDay=false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__main-form (recurring=true,allDay=true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__main-form (recurring=true,allDay=true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..9c14677fd403 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__main-form (recurring=true,allDay=true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__main-form__icons-mode-none (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__main-form__icons-mode-none (fluent-next.blue.light).png new file mode 100644 index 000000000000..60ced385ab60 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__main-form__icons-mode-none (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__main-form__mobile (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__main-form__mobile (fluent-next.blue.light).png new file mode 100644 index 000000000000..cd0203f6f2ea Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__main-form__mobile (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__main-form__readonly (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__main-form__readonly (fluent-next.blue.light).png new file mode 100644 index 000000000000..504849a85ab5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__main-form__readonly (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__main-form__resource-with-multiple-selection (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__main-form__resource-with-multiple-selection (fluent-next.blue.light).png new file mode 100644 index 000000000000..81ea4e62a8c5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__main-form__resource-with-multiple-selection (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__main-form__startDate-calendar-opened (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__main-form__startDate-calendar-opened (fluent-next.blue.light).png new file mode 100644 index 000000000000..ae341a81d159 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__main-form__startDate-calendar-opened (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__main-form__with-labelMode-static (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__main-form__with-labelMode-static (fluent-next.blue.light).png new file mode 100644 index 000000000000..2ee396e1b10c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__main-form__with-labelMode-static (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__main-form__with-resources-and-timezones (recurring=false,allDay=false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__main-form__with-resources-and-timezones (recurring=false,allDay=false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..94118bad2678 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__main-form__with-resources-and-timezones (recurring=false,allDay=false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__main-form__with-resources-and-timezones (recurring=false,allDay=true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__main-form__with-resources-and-timezones (recurring=false,allDay=true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..6c8d3e27c600 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__main-form__with-resources-and-timezones (recurring=false,allDay=true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__main-form__with-resources-and-timezones (recurring=true,allDay=false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__main-form__with-resources-and-timezones (recurring=true,allDay=false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..5003b76704a8 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__main-form__with-resources-and-timezones (recurring=true,allDay=false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__main-form__with-resources-and-timezones (recurring=true,allDay=true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__main-form__with-resources-and-timezones (recurring=true,allDay=true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..1514b8a9ad58 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__main-form__with-resources-and-timezones (recurring=true,allDay=true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__main-form__with-resources-with-icons (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__main-form__with-resources-with-icons (fluent-next.blue.light).png new file mode 100644 index 000000000000..419ceb3c6c1e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__main-form__with-resources-with-icons (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__recurrence-form__daily (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__recurrence-form__daily (fluent-next.blue.light).png new file mode 100644 index 000000000000..5981b7e59b20 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__recurrence-form__daily (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__recurrence-form__daily (fluent-next.blue.light)_mask.png b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__recurrence-form__daily (fluent-next.blue.light)_mask.png new file mode 100644 index 000000000000..35ea1968a61c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__recurrence-form__daily (fluent-next.blue.light)_mask.png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__recurrence-form__hourly (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__recurrence-form__hourly (fluent-next.blue.light).png new file mode 100644 index 000000000000..5186aad333a7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__recurrence-form__hourly (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__recurrence-form__hourly (fluent-next.blue.light)_mask.png b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__recurrence-form__hourly (fluent-next.blue.light)_mask.png new file mode 100644 index 000000000000..35ea1968a61c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__recurrence-form__hourly (fluent-next.blue.light)_mask.png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__recurrence-form__mobile (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__recurrence-form__mobile (fluent-next.blue.light).png new file mode 100644 index 000000000000..11f64472faff Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__recurrence-form__mobile (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__recurrence-form__mobile (fluent-next.blue.light)_mask.png b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__recurrence-form__mobile (fluent-next.blue.light)_mask.png new file mode 100644 index 000000000000..02ad54490416 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__recurrence-form__mobile (fluent-next.blue.light)_mask.png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__recurrence-form__monthly (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__recurrence-form__monthly (fluent-next.blue.light).png new file mode 100644 index 000000000000..8655b3b3b2bb Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__recurrence-form__monthly (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__recurrence-form__monthly (fluent-next.blue.light)_mask.png b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__recurrence-form__monthly (fluent-next.blue.light)_mask.png new file mode 100644 index 000000000000..8b94200caf06 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__recurrence-form__monthly (fluent-next.blue.light)_mask.png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__recurrence-form__readonly (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__recurrence-form__readonly (fluent-next.blue.light).png new file mode 100644 index 000000000000..ad4ece5564c4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__recurrence-form__readonly (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__recurrence-form__readonly (fluent-next.blue.light)_mask.png b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__recurrence-form__readonly (fluent-next.blue.light)_mask.png new file mode 100644 index 000000000000..bf1f8ff5c902 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__recurrence-form__readonly (fluent-next.blue.light)_mask.png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__recurrence-form__weekly (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__recurrence-form__weekly (fluent-next.blue.light).png new file mode 100644 index 000000000000..7f87dbfb95c9 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__recurrence-form__weekly (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__recurrence-form__weekly (fluent-next.blue.light)_mask.png b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__recurrence-form__weekly (fluent-next.blue.light)_mask.png new file mode 100644 index 000000000000..bf1f8ff5c902 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__recurrence-form__weekly (fluent-next.blue.light)_mask.png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__recurrence-form__with-icons (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__recurrence-form__with-icons (fluent-next.blue.light).png new file mode 100644 index 000000000000..82bc3109175a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__recurrence-form__with-icons (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__recurrence-form__with-icons (fluent-next.blue.light)_mask.png b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__recurrence-form__with-icons (fluent-next.blue.light)_mask.png new file mode 100644 index 000000000000..a05e78aa6f4f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__recurrence-form__with-icons (fluent-next.blue.light)_mask.png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__recurrence-form__with-labelMode-static (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__recurrence-form__with-labelMode-static (fluent-next.blue.light).png new file mode 100644 index 000000000000..fb0a2b51ae46 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__recurrence-form__with-labelMode-static (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__recurrence-form__with-labelMode-static (fluent-next.blue.light)_mask.png b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__recurrence-form__with-labelMode-static (fluent-next.blue.light)_mask.png new file mode 100644 index 000000000000..444949756a45 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__recurrence-form__with-labelMode-static (fluent-next.blue.light)_mask.png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__recurrence-form__yearly (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__recurrence-form__yearly (fluent-next.blue.light).png new file mode 100644 index 000000000000..f7cf14e06ccd Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__recurrence-form__yearly (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__recurrence-form__yearly (fluent-next.blue.light)_mask.png b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__recurrence-form__yearly (fluent-next.blue.light)_mask.png new file mode 100644 index 000000000000..689c643dcbe8 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__recurrence-form__yearly (fluent-next.blue.light)_mask.png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__recurrence-settings-button__focus-state (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__recurrence-settings-button__focus-state (fluent-next.blue.light).png new file mode 100644 index 000000000000..3e95fdb313bf Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentForm/etalons/scheduler__appointment__recurrence-settings-button__focus-state (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointmentOverlapping/basic.ts b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentOverlapping/basic.ts index 16cf33d07b93..d6cf5c3a425e 100644 --- a/e2e/testcafe-devextreme/tests/scheduler/common/appointmentOverlapping/basic.ts +++ b/e2e/testcafe-devextreme/tests/scheduler/common/appointmentOverlapping/basic.ts @@ -2,6 +2,7 @@ import Scheduler from 'devextreme-testcafe-models/scheduler'; import url from '../../../../helpers/getPageUrl'; import { createWidget } from '../../../../helpers/createWidget'; import { Themes } from '../../../../helpers/themes'; +import { getThemeName } from '../../../../helpers/themeUtils'; fixture.disablePageReloads`Appointment overlapping in Scheduler` .page(url(__dirname, '../../../container.html')); @@ -93,7 +94,9 @@ test('Simple appointment should not overlap allDay appointment when specific wid await t .expect(scheduler.collectors.count).eql(1) - .expect(await element.getBoundingClientRectProperty('top')).eql(138.828125); + // fluent-next raised the header by 2px (46 -> 48); the other themes were not touched + .expect(await element.getBoundingClientRectProperty('top')) + .eql(getThemeName() === 'fluent-next' ? 140.828125 : 138.828125); }).before(async () => createWidget('dxScheduler', { ...SCHEDULER_DEFAULT_OPTIONS, dataSource: ALL_DAY_DATA, diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/allDay-unsorted-datasource (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/allDay-unsorted-datasource (fluent-next.blue.light).png new file mode 100644 index 000000000000..a351c533ceda Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/allDay-unsorted-datasource (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/midnight-next-month_all-day-appt_view=timelineDay_first (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/midnight-next-month_all-day-appt_view=timelineDay_first (fluent-next.blue.light).png new file mode 100644 index 000000000000..4431dea6f1b0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/midnight-next-month_all-day-appt_view=timelineDay_first (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/midnight-next-month_all-day-appt_view=timelineDay_second (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/midnight-next-month_all-day-appt_view=timelineDay_second (fluent-next.blue.light).png new file mode 100644 index 000000000000..8adca189001a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/midnight-next-month_all-day-appt_view=timelineDay_second (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/midnight-next-month_all-day-appt_view=timelineMonth_first (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/midnight-next-month_all-day-appt_view=timelineMonth_first (fluent-next.blue.light).png new file mode 100644 index 000000000000..6bfb841709dd Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/midnight-next-month_all-day-appt_view=timelineMonth_first (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/midnight-next-month_all-day-appt_view=timelineMonth_second (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/midnight-next-month_all-day-appt_view=timelineMonth_second (fluent-next.blue.light).png new file mode 100644 index 000000000000..f907b55a9cfd Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/midnight-next-month_all-day-appt_view=timelineMonth_second (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/midnight_all-day-appt_view=month_start=6_end=18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/midnight_all-day-appt_view=month_start=6_end=18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..f0fde6901ed0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/midnight_all-day-appt_view=month_start=6_end=18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/midnight_all-day-appt_view=month_start=6_end=undefined (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/midnight_all-day-appt_view=month_start=6_end=undefined (fluent-next.blue.light).png new file mode 100644 index 000000000000..f0fde6901ed0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/midnight_all-day-appt_view=month_start=6_end=undefined (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/midnight_all-day-appt_view=month_start=undefined_end=18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/midnight_all-day-appt_view=month_start=undefined_end=18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..f0fde6901ed0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/midnight_all-day-appt_view=month_start=undefined_end=18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/midnight_all-day-appt_view=month_start=undefined_end=undefined (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/midnight_all-day-appt_view=month_start=undefined_end=undefined (fluent-next.blue.light).png new file mode 100644 index 000000000000..f0fde6901ed0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/midnight_all-day-appt_view=month_start=undefined_end=undefined (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/midnight_all-day-appt_view=timelineDay_start=6_end=18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/midnight_all-day-appt_view=timelineDay_start=6_end=18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..8edfdee1d870 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/midnight_all-day-appt_view=timelineDay_start=6_end=18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/midnight_all-day-appt_view=timelineDay_start=6_end=undefined (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/midnight_all-day-appt_view=timelineDay_start=6_end=undefined (fluent-next.blue.light).png new file mode 100644 index 000000000000..b6497560abb5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/midnight_all-day-appt_view=timelineDay_start=6_end=undefined (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/midnight_all-day-appt_view=timelineDay_start=undefined_end=18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/midnight_all-day-appt_view=timelineDay_start=undefined_end=18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..e64c3d4e9317 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/midnight_all-day-appt_view=timelineDay_start=undefined_end=18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/midnight_all-day-appt_view=timelineDay_start=undefined_end=undefined (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/midnight_all-day-appt_view=timelineDay_start=undefined_end=undefined (fluent-next.blue.light).png new file mode 100644 index 000000000000..fe47bd21e913 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/midnight_all-day-appt_view=timelineDay_start=undefined_end=undefined (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/midnight_all-day-appt_view=timelineMonth_start=6_end=18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/midnight_all-day-appt_view=timelineMonth_start=6_end=18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..5abf249d4d51 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/midnight_all-day-appt_view=timelineMonth_start=6_end=18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/midnight_all-day-appt_view=timelineMonth_start=6_end=undefined (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/midnight_all-day-appt_view=timelineMonth_start=6_end=undefined (fluent-next.blue.light).png new file mode 100644 index 000000000000..5abf249d4d51 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/midnight_all-day-appt_view=timelineMonth_start=6_end=undefined (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/midnight_all-day-appt_view=timelineMonth_start=undefined_end=18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/midnight_all-day-appt_view=timelineMonth_start=undefined_end=18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..5abf249d4d51 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/midnight_all-day-appt_view=timelineMonth_start=undefined_end=18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/midnight_all-day-appt_view=timelineMonth_start=undefined_end=undefined (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/midnight_all-day-appt_view=timelineMonth_start=undefined_end=undefined (fluent-next.blue.light).png new file mode 100644 index 000000000000..5abf249d4d51 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/midnight_all-day-appt_view=timelineMonth_start=undefined_end=undefined (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/midnight_all-day-appt_view=week_start=6_end=18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/midnight_all-day-appt_view=week_start=6_end=18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..209b892e49bf Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/midnight_all-day-appt_view=week_start=6_end=18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/midnight_all-day-appt_view=week_start=6_end=undefined (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/midnight_all-day-appt_view=week_start=6_end=undefined (fluent-next.blue.light).png new file mode 100644 index 000000000000..d753ba7fe3cf Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/midnight_all-day-appt_view=week_start=6_end=undefined (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/midnight_all-day-appt_view=week_start=undefined_end=18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/midnight_all-day-appt_view=week_start=undefined_end=18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..170c5003582d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/midnight_all-day-appt_view=week_start=undefined_end=18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/midnight_all-day-appt_view=week_start=undefined_end=undefined (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/midnight_all-day-appt_view=week_start=undefined_end=undefined (fluent-next.blue.light).png new file mode 100644 index 000000000000..05c424e23e05 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/midnight_all-day-appt_view=week_start=undefined_end=undefined (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/timeline-work-week_all-day_appointments_skip_weekend (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/timeline-work-week_all-day_appointments_skip_weekend (fluent-next.blue.light).png new file mode 100644 index 000000000000..0452d266a4ab Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/timeline-work-week_all-day_appointments_skip_weekend (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/workweek_all-day_appointments_skip_weekend (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/workweek_all-day_appointments_skip_weekend (fluent-next.blue.light).png new file mode 100644 index 000000000000..d9f09fad9564 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/allDay/etalons/workweek_all-day_appointments_skip_weekend (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointments/etalons/adaptive_appts_view-month (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/etalons/adaptive_appts_view-month (fluent-next.blue.light).png new file mode 100644 index 000000000000..53d9b20b235e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/etalons/adaptive_appts_view-month (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointments/etalons/adaptive_appts_view-week (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/etalons/adaptive_appts_view-week (fluent-next.blue.light).png new file mode 100644 index 000000000000..53d9b20b235e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/etalons/adaptive_appts_view-week (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointments/etalons/adaptive_long-appts-without-all-day-panel_view-week (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/etalons/adaptive_long-appts-without-all-day-panel_view-week (fluent-next.blue.light).png new file mode 100644 index 000000000000..e21a4bcc40a0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/etalons/adaptive_long-appts-without-all-day-panel_view-week (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointments/etalons/multiday-appointment_month (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/etalons/multiday-appointment_month (fluent-next.blue.light).png new file mode 100644 index 000000000000..d3ce3a58434b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/etalons/multiday-appointment_month (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointments/etalons/multiday-appointment_timelineMonth (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/etalons/multiday-appointment_timelineMonth (fluent-next.blue.light).png new file mode 100644 index 000000000000..e608a38696a0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/etalons/multiday-appointment_timelineMonth (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointments/etalons/multiday-appointment_week (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/etalons/multiday-appointment_week (fluent-next.blue.light).png new file mode 100644 index 000000000000..c584d7c07c48 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/etalons/multiday-appointment_week (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointments/etalons/timeline-overlapping-appointments (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/etalons/timeline-overlapping-appointments (fluent-next.blue.light).png new file mode 100644 index 000000000000..00c1d1234584 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/etalons/timeline-overlapping-appointments (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointments/etalons/timelineMonth-appt-order (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/etalons/timelineMonth-appt-order (fluent-next.blue.light).png new file mode 100644 index 000000000000..10a56c66fe9d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/etalons/timelineMonth-appt-order (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/all-day-appointment-maxAppointmentsPerCell=1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/all-day-appointment-maxAppointmentsPerCell=1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..b0cdb9762053 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/all-day-appointment-maxAppointmentsPerCell=1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/all-day-appointment-maxAppointmentsPerCell=10 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/all-day-appointment-maxAppointmentsPerCell=10 (fluent-next.blue.light).png new file mode 100644 index 000000000000..d4bd0111a9ad Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/all-day-appointment-maxAppointmentsPerCell=10 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/all-day-appointment-maxAppointmentsPerCell=3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/all-day-appointment-maxAppointmentsPerCell=3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..0760c773919c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/all-day-appointment-maxAppointmentsPerCell=3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/all-day-appointment-maxAppointmentsPerCell=auto (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/all-day-appointment-maxAppointmentsPerCell=auto (fluent-next.blue.light).png new file mode 100644 index 000000000000..b0cdb9762053 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/all-day-appointment-maxAppointmentsPerCell=auto (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/all-day-appointment-maxAppointmentsPerCell=unlimited (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/all-day-appointment-maxAppointmentsPerCell=unlimited (fluent-next.blue.light).png new file mode 100644 index 000000000000..3808df58d237 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/all-day-appointment-maxAppointmentsPerCell=unlimited (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/day-appointment-maxAppointmentsPerCell=10 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/day-appointment-maxAppointmentsPerCell=10 (fluent-next.blue.light).png new file mode 100644 index 000000000000..d23fe87e474d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/day-appointment-maxAppointmentsPerCell=10 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/day-appointment-maxAppointmentsPerCell=3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/day-appointment-maxAppointmentsPerCell=3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..330c8aec99d9 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/day-appointment-maxAppointmentsPerCell=3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/day-appointment-maxAppointmentsPerCell=auto (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/day-appointment-maxAppointmentsPerCell=auto (fluent-next.blue.light).png new file mode 100644 index 000000000000..938761d8cb85 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/day-appointment-maxAppointmentsPerCell=auto (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/day-appointment-maxAppointmentsPerCell=unlimited (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/day-appointment-maxAppointmentsPerCell=unlimited (fluent-next.blue.light).png new file mode 100644 index 000000000000..a29b1aa9bb93 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/day-appointment-maxAppointmentsPerCell=unlimited (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/month-appointment-maxAppointmentsPerCell=1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/month-appointment-maxAppointmentsPerCell=1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..8957d02cebdb Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/month-appointment-maxAppointmentsPerCell=1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/month-appointment-maxAppointmentsPerCell=10 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/month-appointment-maxAppointmentsPerCell=10 (fluent-next.blue.light).png new file mode 100644 index 000000000000..0dde3f80466b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/month-appointment-maxAppointmentsPerCell=10 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/month-appointment-maxAppointmentsPerCell=3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/month-appointment-maxAppointmentsPerCell=3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..0be0fd327693 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/month-appointment-maxAppointmentsPerCell=3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/month-appointment-maxAppointmentsPerCell=auto (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/month-appointment-maxAppointmentsPerCell=auto (fluent-next.blue.light).png new file mode 100644 index 000000000000..0be0fd327693 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/month-appointment-maxAppointmentsPerCell=auto (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/month-appointment-maxAppointmentsPerCell=unlimited (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/month-appointment-maxAppointmentsPerCell=unlimited (fluent-next.blue.light).png new file mode 100644 index 000000000000..65e22ea135b3 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/month-appointment-maxAppointmentsPerCell=unlimited (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/timeline-appointment-maxAppointmentsPerCell=1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/timeline-appointment-maxAppointmentsPerCell=1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..5bca20223604 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/timeline-appointment-maxAppointmentsPerCell=1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/timeline-appointment-maxAppointmentsPerCell=10 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/timeline-appointment-maxAppointmentsPerCell=10 (fluent-next.blue.light).png new file mode 100644 index 000000000000..3359954d4bcf Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/timeline-appointment-maxAppointmentsPerCell=10 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/timeline-appointment-maxAppointmentsPerCell=20 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/timeline-appointment-maxAppointmentsPerCell=20 (fluent-next.blue.light).png new file mode 100644 index 000000000000..51d6e66826bc Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/timeline-appointment-maxAppointmentsPerCell=20 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/timeline-appointment-maxAppointmentsPerCell=3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/timeline-appointment-maxAppointmentsPerCell=3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..812c0978e7ee Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/timeline-appointment-maxAppointmentsPerCell=3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/timeline-appointment-maxAppointmentsPerCell=auto (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/timeline-appointment-maxAppointmentsPerCell=auto (fluent-next.blue.light).png new file mode 100644 index 000000000000..60d86c1c2e58 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/timeline-appointment-maxAppointmentsPerCell=auto (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/timeline-appointment-maxAppointmentsPerCell=unlimited (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/timeline-appointment-maxAppointmentsPerCell=unlimited (fluent-next.blue.light).png new file mode 100644 index 000000000000..86353e52a075 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/timeline-appointment-maxAppointmentsPerCell=unlimited (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/week-appointment-maxAppointmentsPerCell=10 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/week-appointment-maxAppointmentsPerCell=10 (fluent-next.blue.light).png new file mode 100644 index 000000000000..1adcb1965f09 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/week-appointment-maxAppointmentsPerCell=10 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/week-appointment-maxAppointmentsPerCell=3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/week-appointment-maxAppointmentsPerCell=3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..26c9b6dac560 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/week-appointment-maxAppointmentsPerCell=3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/week-appointment-maxAppointmentsPerCell=auto (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/week-appointment-maxAppointmentsPerCell=auto (fluent-next.blue.light).png new file mode 100644 index 000000000000..1646e172d4ca Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/week-appointment-maxAppointmentsPerCell=auto (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/week-appointment-maxAppointmentsPerCell=unlimited (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/week-appointment-maxAppointmentsPerCell=unlimited (fluent-next.blue.light).png new file mode 100644 index 000000000000..5df5a10c0c72 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/maxAppointmentsPerCell/etalons/week-appointment-maxAppointmentsPerCell=unlimited (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/appointments/workWeek/etalons/work_week_interval-2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/workWeek/etalons/work_week_interval-2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..eab9a82660be Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/appointments/workWeek/etalons/work_week_interval-2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/T1080232.ts b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/T1080232.ts index cfb8b4340c8a..fb40c5ed6e40 100644 --- a/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/T1080232.ts +++ b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/T1080232.ts @@ -17,7 +17,7 @@ test('it should correctly drag external item to the appointment after drag appoi await t .dragToElement(appt01.element, cell01, { speed: 0.5 }) .expect((await appt01.element.boundingClientRect).top) - .eql(183) + .eql((await cell01.boundingClientRect).top + (await cell01.boundingClientRect).height) .dragToElement(dragItem, appt02.element, { speed: 0.5 }) .expect(appt02.element.find('.dx-item-content').getAttribute('data-status')) .eql('Added'); diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/basic.ts b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/basic.ts index 2eb3f38bc28a..be3fc57a5eb1 100644 --- a/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/basic.ts +++ b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/basic.ts @@ -3,7 +3,7 @@ import Scheduler from 'devextreme-testcafe-models/scheduler'; import { dataSource } from './init/widget.data'; import createScheduler from './init/widget.setup'; import url from '../../../../helpers/getPageUrl'; -import { testScreenshot } from '../../../../helpers/themeUtils'; +import { testScreenshot, getThemeName } from '../../../../helpers/themeUtils'; fixture.disablePageReloads`Drag-and-drop appointments in the Scheduler basic views` .page(url(__dirname, '../../../container.html')); @@ -29,7 +29,10 @@ test('Drag-n-drop in the "month" view', async (t) => { await t .dragToElement(draggableAppointment.element, scheduler.getDateTableCell(0, 4)) - .expect(draggableAppointment.size.height).eql('23.8281px') + // fluent-next raised the header by 2px, so the month rows share 2px less and the + // appointment's share of a row shrinks: measured 23.75px against 23.8281px elsewhere + .expect(draggableAppointment.size.height) + .eql(getThemeName() === 'fluent-next' ? '23.75px' : '23.8281px') .expect(draggableAppointment.date.time) .eql('9:00 AM - 9:30 AM'); }).before(async () => createScheduler({ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/etalons/drag-n-drop-appointment-to-left-column (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/etalons/drag-n-drop-appointment-to-left-column (fluent-next.blue.light).png new file mode 100644 index 000000000000..d35547898dae Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/etalons/drag-n-drop-appointment-to-left-column (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/etalons/drag-n-drop-previous-day-cell (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/etalons/drag-n-drop-previous-day-cell (fluent-next.blue.light).png new file mode 100644 index 000000000000..3f0a7e32fca7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/etalons/drag-n-drop-previous-day-cell (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/etalons/drag-n-drop-to-left(T1017720) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/etalons/drag-n-drop-to-left(T1017720) (fluent-next.blue.light).png new file mode 100644 index 000000000000..fe1019076361 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/etalons/drag-n-drop-to-left(T1017720) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/etalons/drag-n-drop-to-right(T1017720) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/etalons/drag-n-drop-to-right(T1017720) (fluent-next.blue.light).png new file mode 100644 index 000000000000..afa4fe1c140f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/etalons/drag-n-drop-to-right(T1017720) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-'Appointment 2'-from-tooltip-in-week (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-'Appointment 2'-from-tooltip-in-week (fluent-next.blue.light).png new file mode 100644 index 000000000000..2f92e798286a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-'Appointment 2'-from-tooltip-in-week (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-'Appointment 3'-from-tooltip-in-week (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-'Appointment 3'-from-tooltip-in-week (fluent-next.blue.light).png new file mode 100644 index 000000000000..d33158234384 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-'Appointment 3'-from-tooltip-in-week (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-all-day-to-bottom (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-all-day-to-bottom (fluent-next.blue.light).png new file mode 100644 index 000000000000..aa1d8b582ff0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-all-day-to-bottom (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-all-day-to-left (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-all-day-to-left (fluent-next.blue.light).png new file mode 100644 index 000000000000..d77d3f7fe3bc Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-all-day-to-left (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-all-day-to-right (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-all-day-to-right (fluent-next.blue.light).png new file mode 100644 index 000000000000..1c040604ef03 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-all-day-to-right (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-all-day-to-top (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-all-day-to-top (fluent-next.blue.light).png new file mode 100644 index 000000000000..5ca98965560e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-all-day-to-top (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-blue-group (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-blue-group (fluent-next.blue.light).png new file mode 100644 index 000000000000..0a98b10d1132 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-blue-group (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-long-appoint-to-bottom (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-long-appoint-to-bottom (fluent-next.blue.light).png new file mode 100644 index 000000000000..9ac5529f8fb1 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-long-appoint-to-bottom (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-long-appoint-to-left (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-long-appoint-to-left (fluent-next.blue.light).png new file mode 100644 index 000000000000..9cde196a5856 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-long-appoint-to-left (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-long-appoint-to-right (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-long-appoint-to-right (fluent-next.blue.light).png new file mode 100644 index 000000000000..67b796423595 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-long-appoint-to-right (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-long-appoint-to-top (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-long-appoint-to-top (fluent-next.blue.light).png new file mode 100644 index 000000000000..9cde196a5856 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-long-appoint-to-top (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-mouse-offset-to-bottom (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-mouse-offset-to-bottom (fluent-next.blue.light).png new file mode 100644 index 000000000000..f18126e76ba6 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-mouse-offset-to-bottom (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-mouse-offset-to-left (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-mouse-offset-to-left (fluent-next.blue.light).png new file mode 100644 index 000000000000..f45f9155c760 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-mouse-offset-to-left (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-mouse-offset-to-right (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-mouse-offset-to-right (fluent-next.blue.light).png new file mode 100644 index 000000000000..c2ada021d7db Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-mouse-offset-to-right (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-mouse-offset-to-top (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-mouse-offset-to-top (fluent-next.blue.light).png new file mode 100644 index 000000000000..22ea2f5192cb Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-mouse-offset-to-top (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-small-appoint-to-bottom (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-small-appoint-to-bottom (fluent-next.blue.light).png new file mode 100644 index 000000000000..e49c4270199b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-small-appoint-to-bottom (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-small-appoint-to-left (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-small-appoint-to-left (fluent-next.blue.light).png new file mode 100644 index 000000000000..3bfa4dc9724b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-small-appoint-to-left (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-small-appoint-to-right (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-small-appoint-to-right (fluent-next.blue.light).png new file mode 100644 index 000000000000..d78cc9f07588 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-small-appoint-to-right (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-small-appoint-to-top (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-small-appoint-to-top (fluent-next.blue.light).png new file mode 100644 index 000000000000..3bfa4dc9724b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-small-appoint-to-top (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-timelineMonth-to-left (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-timelineMonth-to-left (fluent-next.blue.light).png new file mode 100644 index 000000000000..38b28b998949 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-timelineMonth-to-left (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-timelineMonth-to-right (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-timelineMonth-to-right (fluent-next.blue.light).png new file mode 100644 index 000000000000..39f876db5c5c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-timelineMonth-to-right (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-timelineWeek-to-left (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-timelineWeek-to-left (fluent-next.blue.light).png new file mode 100644 index 000000000000..31ce6d01930e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-timelineWeek-to-left (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-timelineWeek-to-right (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-timelineWeek-to-right (fluent-next.blue.light).png new file mode 100644 index 000000000000..ea4b3f903086 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-timelineWeek-to-right (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-to-bottom (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-to-bottom (fluent-next.blue.light).png new file mode 100644 index 000000000000..183ce1cf6f5d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-to-bottom (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-to-bottom-in-shifted-container (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-to-bottom-in-shifted-container (fluent-next.blue.light).png new file mode 100644 index 000000000000..4f417228493d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-to-bottom-in-shifted-container (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-to-left (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-to-left (fluent-next.blue.light).png new file mode 100644 index 000000000000..21273cb86e6b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-to-left (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-to-left-in-shifted-container (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-to-left-in-shifted-container (fluent-next.blue.light).png new file mode 100644 index 000000000000..c2e56542f65b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-to-left-in-shifted-container (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-to-orange-group (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-to-orange-group (fluent-next.blue.light).png new file mode 100644 index 000000000000..565eb5a696e9 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-to-orange-group (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-to-right (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-to-right (fluent-next.blue.light).png new file mode 100644 index 000000000000..6fb12a1f6ec0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-to-right (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-to-right-in-shifted-container (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-to-right-in-shifted-container (fluent-next.blue.light).png new file mode 100644 index 000000000000..6c13f0617e09 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-to-right-in-shifted-container (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-to-top (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-to-top (fluent-next.blue.light).png new file mode 100644 index 000000000000..223e85d26fa4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-to-top (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-to-top-in-shifted-container (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-to-top-in-shifted-container (fluent-next.blue.light).png new file mode 100644 index 000000000000..59d75bbaa54f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-to-top-in-shifted-container (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-within-cell-to-bottom (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-within-cell-to-bottom (fluent-next.blue.light).png new file mode 100644 index 000000000000..2b0607db5d0b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-within-cell-to-bottom (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-within-cell-to-left (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-within-cell-to-left (fluent-next.blue.light).png new file mode 100644 index 000000000000..21273cb86e6b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-within-cell-to-left (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-within-cell-to-right (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-within-cell-to-right (fluent-next.blue.light).png new file mode 100644 index 000000000000..21273cb86e6b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-n-drop-within-cell-to-right (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-short-app-min-dist-to-left (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-short-app-min-dist-to-left (fluent-next.blue.light).png new file mode 100644 index 000000000000..00f6ab30202a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-short-app-min-dist-to-left (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-short-app-to-right (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-short-app-to-right (fluent-next.blue.light).png new file mode 100644 index 000000000000..6f0128b11d84 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-short-app-to-right (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-short-app-to-right-on-next-cell (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-short-app-to-right-on-next-cell (fluent-next.blue.light).png new file mode 100644 index 000000000000..0c10699561b9 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/etalons/drag-short-app-to-right-on-next-cell (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/schedulerInContainer/etalons/dxScheduler-placed-in-dxTabPanel-drag-to-bottom (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/schedulerInContainer/etalons/dxScheduler-placed-in-dxTabPanel-drag-to-bottom (fluent-next.blue.light).png new file mode 100644 index 000000000000..e35aacaf3d02 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/schedulerInContainer/etalons/dxScheduler-placed-in-dxTabPanel-drag-to-bottom (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/schedulerInContainer/etalons/dxScheduler-placed-in-dxTabPanel-drag-to-right (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/schedulerInContainer/etalons/dxScheduler-placed-in-dxTabPanel-drag-to-right (fluent-next.blue.light).png new file mode 100644 index 000000000000..4473848b6644 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/schedulerInContainer/etalons/dxScheduler-placed-in-dxTabPanel-drag-to-right (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/schedulerInContainer/etalons/dxScheduler-placed-in-dxTabPanel-drag-to-top (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/schedulerInContainer/etalons/dxScheduler-placed-in-dxTabPanel-drag-to-top (fluent-next.blue.light).png new file mode 100644 index 000000000000..7fa932162902 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/schedulerInContainer/etalons/dxScheduler-placed-in-dxTabPanel-drag-to-top (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/schedulerInContainer/etalons/dxScheduler-placed-in-transform-container-drag-to-bottom (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/schedulerInContainer/etalons/dxScheduler-placed-in-transform-container-drag-to-bottom (fluent-next.blue.light).png new file mode 100644 index 000000000000..43321d1958ae Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/schedulerInContainer/etalons/dxScheduler-placed-in-transform-container-drag-to-bottom (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/schedulerInContainer/etalons/dxScheduler-placed-in-transform-container-drag-to-left (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/schedulerInContainer/etalons/dxScheduler-placed-in-transform-container-drag-to-left (fluent-next.blue.light).png new file mode 100644 index 000000000000..8a6c6eef735b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/schedulerInContainer/etalons/dxScheduler-placed-in-transform-container-drag-to-left (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/schedulerInContainer/etalons/dxScheduler-placed-in-transform-container-drag-to-right (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/schedulerInContainer/etalons/dxScheduler-placed-in-transform-container-drag-to-right (fluent-next.blue.light).png new file mode 100644 index 000000000000..47592dc91843 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/schedulerInContainer/etalons/dxScheduler-placed-in-transform-container-drag-to-right (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/schedulerInContainer/etalons/dxScheduler-placed-in-transform-container-drag-to-top (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/schedulerInContainer/etalons/dxScheduler-placed-in-transform-container-drag-to-top (fluent-next.blue.light).png new file mode 100644 index 000000000000..732a36703b78 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/dragAndDrop/outlookDragging/schedulerInContainer/etalons/dxScheduler-placed-in-transform-container-drag-to-top (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/etalons/save-appointment-loading-panel-screenshot (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/etalons/save-appointment-loading-panel-screenshot (fluent-next.blue.light).png new file mode 100644 index 000000000000..b8a09fd67464 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/etalons/save-appointment-loading-panel-screenshot (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/etalons/scheduler-after-hiding-and-resizing (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/etalons/scheduler-after-hiding-and-resizing (fluent-next.blue.light).png new file mode 100644 index 000000000000..90182ab29ac2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/etalons/scheduler-after-hiding-and-resizing (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/etalons/scheduler-appointments-should-update-color (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/etalons/scheduler-appointments-should-update-color (fluent-next.blue.light).png new file mode 100644 index 000000000000..0f8fce88fe9d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/etalons/scheduler-appointments-should-update-color (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/etalons/scheduler-week-cell-active-state (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/etalons/scheduler-week-cell-active-state (fluent-next.blue.light).png new file mode 100644 index 000000000000..42658bc9d1f9 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/etalons/scheduler-week-cell-active-state (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/etalons/scheduler-week-cell-hover-state (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/etalons/scheduler-week-cell-hover-state (fluent-next.blue.light).png new file mode 100644 index 000000000000..b45964c5fdd3 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/etalons/scheduler-week-cell-hover-state (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/etalons/scrollable-month-workspace (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/etalons/scrollable-month-workspace (fluent-next.blue.light).png new file mode 100644 index 000000000000..ec2a7f62cb2e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/etalons/scrollable-month-workspace (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/group-header-css-agenda-view-long-names (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/group-header-css-agenda-view-long-names (fluent-next.blue.light).png new file mode 100644 index 000000000000..aae888880858 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/group-header-css-agenda-view-long-names (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/group-header-css-group-by-date-long-names (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/group-header-css-group-by-date-long-names (fluent-next.blue.light).png new file mode 100644 index 000000000000..ea0bf2a38ff5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/group-header-css-group-by-date-long-names (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/group-header-css-horizontal-grouping-long-names (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/group-header-css-horizontal-grouping-long-names (fluent-next.blue.light).png new file mode 100644 index 000000000000..d4dee476f8a9 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/group-header-css-horizontal-grouping-long-names (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/group-header-css-vertical-grouping-long-names (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/group-header-css-vertical-grouping-long-names (fluent-next.blue.light).png new file mode 100644 index 000000000000..00466f714520 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/group-header-css-vertical-grouping-long-names (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/group-overflow-(month-horizontal-allDay-0-24) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/group-overflow-(month-horizontal-allDay-0-24) (fluent-next.blue.light).png new file mode 100644 index 000000000000..e4546891fe91 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/group-overflow-(month-horizontal-allDay-0-24) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/group-overflow-(month-horizontal-allDay-9-14) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/group-overflow-(month-horizontal-allDay-9-14) (fluent-next.blue.light).png new file mode 100644 index 000000000000..77f14683ba01 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/group-overflow-(month-horizontal-allDay-9-14) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/group-overflow-(month-horizontal-hidden-0-24) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/group-overflow-(month-horizontal-hidden-0-24) (fluent-next.blue.light).png new file mode 100644 index 000000000000..e4546891fe91 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/group-overflow-(month-horizontal-hidden-0-24) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/group-overflow-(month-horizontal-hidden-9-14) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/group-overflow-(month-horizontal-hidden-9-14) (fluent-next.blue.light).png new file mode 100644 index 000000000000..77f14683ba01 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/group-overflow-(month-horizontal-hidden-9-14) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/group-overflow-(month-vertical-allDay-0-24) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/group-overflow-(month-vertical-allDay-0-24) (fluent-next.blue.light).png new file mode 100644 index 000000000000..126f51dbc764 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/group-overflow-(month-vertical-allDay-0-24) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/group-overflow-(month-vertical-allDay-9-14) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/group-overflow-(month-vertical-allDay-9-14) (fluent-next.blue.light).png new file mode 100644 index 000000000000..58758907f653 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/group-overflow-(month-vertical-allDay-9-14) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/group-overflow-(month-vertical-hidden-0-24) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/group-overflow-(month-vertical-hidden-0-24) (fluent-next.blue.light).png new file mode 100644 index 000000000000..126f51dbc764 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/group-overflow-(month-vertical-hidden-0-24) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/group-overflow-(month-vertical-hidden-9-14) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/group-overflow-(month-vertical-hidden-9-14) (fluent-next.blue.light).png new file mode 100644 index 000000000000..58758907f653 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/group-overflow-(month-vertical-hidden-9-14) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/group-overflow-(week-horizontal-allDay-0-24) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/group-overflow-(week-horizontal-allDay-0-24) (fluent-next.blue.light).png new file mode 100644 index 000000000000..5c8727a98ef1 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/group-overflow-(week-horizontal-allDay-0-24) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/group-overflow-(week-horizontal-allDay-9-14) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/group-overflow-(week-horizontal-allDay-9-14) (fluent-next.blue.light).png new file mode 100644 index 000000000000..624e6ca29f3a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/group-overflow-(week-horizontal-allDay-9-14) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/group-overflow-(week-horizontal-hidden-0-24) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/group-overflow-(week-horizontal-hidden-0-24) (fluent-next.blue.light).png new file mode 100644 index 000000000000..5c8727a98ef1 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/group-overflow-(week-horizontal-hidden-0-24) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/group-overflow-(week-horizontal-hidden-9-14) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/group-overflow-(week-horizontal-hidden-9-14) (fluent-next.blue.light).png new file mode 100644 index 000000000000..624e6ca29f3a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/group-overflow-(week-horizontal-hidden-9-14) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/group-overflow-(week-vertical-allDay-0-24) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/group-overflow-(week-vertical-allDay-0-24) (fluent-next.blue.light).png new file mode 100644 index 000000000000..bfab37ab55e8 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/group-overflow-(week-vertical-allDay-0-24) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/group-overflow-(week-vertical-allDay-9-14) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/group-overflow-(week-vertical-allDay-9-14) (fluent-next.blue.light).png new file mode 100644 index 000000000000..1ae781c3d968 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/group-overflow-(week-vertical-allDay-9-14) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/group-overflow-(week-vertical-hidden-0-24) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/group-overflow-(week-vertical-hidden-0-24) (fluent-next.blue.light).png new file mode 100644 index 000000000000..bfab37ab55e8 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/group-overflow-(week-vertical-hidden-0-24) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/group-overflow-(week-vertical-hidden-9-14) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/group-overflow-(week-vertical-hidden-9-14) (fluent-next.blue.light).png new file mode 100644 index 000000000000..1ae781c3d968 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/group-overflow-(week-vertical-hidden-9-14) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/hierarchical-grouping(view=agenda-orientation=vertical) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/hierarchical-grouping(view=agenda-orientation=vertical) (fluent-next.blue.light).png new file mode 100644 index 000000000000..8df0be48d7f1 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/hierarchical-grouping(view=agenda-orientation=vertical) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/hierarchical-grouping(view=day-orientation=horizontal) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/hierarchical-grouping(view=day-orientation=horizontal) (fluent-next.blue.light).png new file mode 100644 index 000000000000..9fb14b2a8d52 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/hierarchical-grouping(view=day-orientation=horizontal) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/hierarchical-grouping(view=day-orientation=horizontal-rtl) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/hierarchical-grouping(view=day-orientation=horizontal-rtl) (fluent-next.blue.light).png new file mode 100644 index 000000000000..2b0bdd0bc3bd Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/hierarchical-grouping(view=day-orientation=horizontal-rtl) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/hierarchical-grouping(view=day-orientation=vertical) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/hierarchical-grouping(view=day-orientation=vertical) (fluent-next.blue.light).png new file mode 100644 index 000000000000..86891baa703b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/hierarchical-grouping(view=day-orientation=vertical) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/hierarchical-grouping(view=day-orientation=vertical-rtl) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/hierarchical-grouping(view=day-orientation=vertical-rtl) (fluent-next.blue.light).png new file mode 100644 index 000000000000..d1d1ec6553d4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/hierarchical-grouping(view=day-orientation=vertical-rtl) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/hierarchical-grouping(view=month-orientation=horizontal) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/hierarchical-grouping(view=month-orientation=horizontal) (fluent-next.blue.light).png new file mode 100644 index 000000000000..5da1aeb185f1 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/hierarchical-grouping(view=month-orientation=horizontal) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/hierarchical-grouping(view=month-orientation=vertical) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/hierarchical-grouping(view=month-orientation=vertical) (fluent-next.blue.light).png new file mode 100644 index 000000000000..b430aa727ea0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/hierarchical-grouping(view=month-orientation=vertical) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/hierarchical-grouping(view=timelineDay-orientation=horizontal) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/hierarchical-grouping(view=timelineDay-orientation=horizontal) (fluent-next.blue.light).png new file mode 100644 index 000000000000..c179d5ae2764 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/hierarchical-grouping(view=timelineDay-orientation=horizontal) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/hierarchical-grouping(view=timelineDay-orientation=vertical) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/hierarchical-grouping(view=timelineDay-orientation=vertical) (fluent-next.blue.light).png new file mode 100644 index 000000000000..b411596c902c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/hierarchical-grouping(view=timelineDay-orientation=vertical) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/hierarchical-grouping(view=timelineMonth-orientation=vertical) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/hierarchical-grouping(view=timelineMonth-orientation=vertical) (fluent-next.blue.light).png new file mode 100644 index 000000000000..1f0c6be5b942 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/hierarchical-grouping(view=timelineMonth-orientation=vertical) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/hierarchical-grouping(view=timelineWeek-orientation=vertical) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/hierarchical-grouping(view=timelineWeek-orientation=vertical) (fluent-next.blue.light).png new file mode 100644 index 000000000000..8e9585767711 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/hierarchical-grouping(view=timelineWeek-orientation=vertical) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/hierarchical-grouping(view=timelineWeek-orientation=vertical-rtl) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/hierarchical-grouping(view=timelineWeek-orientation=vertical-rtl) (fluent-next.blue.light).png new file mode 100644 index 000000000000..e7f79a6ab864 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/hierarchical-grouping(view=timelineWeek-orientation=vertical-rtl) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/hierarchical-grouping(view=week-orientation=horizontal) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/hierarchical-grouping(view=week-orientation=horizontal) (fluent-next.blue.light).png new file mode 100644 index 000000000000..54e4cc4b893d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/hierarchical-grouping(view=week-orientation=horizontal) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/hierarchical-grouping(view=week-orientation=vertical) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/hierarchical-grouping(view=week-orientation=vertical) (fluent-next.blue.light).png new file mode 100644 index 000000000000..5e89f307b355 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/hierarchical-grouping(view=week-orientation=vertical) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/hierarchical-grouping(view=workWeek-orientation=horizontal) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/hierarchical-grouping(view=workWeek-orientation=horizontal) (fluent-next.blue.light).png new file mode 100644 index 000000000000..2614871939cb Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/hierarchical-grouping(view=workWeek-orientation=horizontal) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/hierarchical-grouping(view=workWeek-orientation=vertical) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/hierarchical-grouping(view=workWeek-orientation=vertical) (fluent-next.blue.light).png new file mode 100644 index 000000000000..0069aad04239 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/hierarchical-grouping(view=workWeek-orientation=vertical) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/month-view_vertical-grouping_fist-app-part_T1122185 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/month-view_vertical-grouping_fist-app-part_T1122185 (fluent-next.blue.light).png new file mode 100644 index 000000000000..27c59c7b6205 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/month-view_vertical-grouping_fist-app-part_T1122185 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/month-view_vertical-grouping_last-app-part_T1122185 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/month-view_vertical-grouping_last-app-part_T1122185 (fluent-next.blue.light).png new file mode 100644 index 000000000000..576d999207bb Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/month-view_vertical-grouping_last-app-part_T1122185 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/month-view_vertical-grouping_middle-app-part_T1122185 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/month-view_vertical-grouping_middle-app-part_T1122185 (fluent-next.blue.light).png new file mode 100644 index 000000000000..ca8747495a5d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/month-view_vertical-grouping_middle-app-part_T1122185 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/scrolling-vertical (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/scrolling-vertical (fluent-next.blue.light).png new file mode 100644 index 000000000000..e9104bca8cfc Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/grouping/etalons/scrolling-vertical (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/T1306971__scheduler__horizontal-scrolling__after (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/T1306971__scheduler__horizontal-scrolling__after (fluent-next.blue.light).png new file mode 100644 index 000000000000..655bb22ec3d2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/T1306971__scheduler__horizontal-scrolling__after (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/T1306971__scheduler__horizontal-scrolling__before (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/T1306971__scheduler__horizontal-scrolling__before (fluent-next.blue.light).png new file mode 100644 index 000000000000..964861868474 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/T1306971__scheduler__horizontal-scrolling__before (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/calendar-state-after-next-button-click (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/calendar-state-after-next-button-click (fluent-next.blue.light).png new file mode 100644 index 000000000000..a2054c02ffe8 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/calendar-state-after-next-button-click (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/calendar-state-after-prev-button-click (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/calendar-state-after-prev-button-click (fluent-next.blue.light).png new file mode 100644 index 000000000000..052cd55045ab Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/calendar-state-after-prev-button-click (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/initial-calendar-state (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/initial-calendar-state (fluent-next.blue.light).png new file mode 100644 index 000000000000..b37e5ab3f394 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/initial-calendar-state (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/navigator-state-after-calendar-next-button-click (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/navigator-state-after-calendar-next-button-click (fluent-next.blue.light).png new file mode 100644 index 000000000000..bc8f70388b42 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/navigator-state-after-calendar-next-button-click (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/navigator-state-after-calendar-prev-button-click (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/navigator-state-after-calendar-prev-button-click (fluent-next.blue.light).png new file mode 100644 index 000000000000..51ac9867a775 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/navigator-state-after-calendar-prev-button-click (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/navigator-state-after-change-currentDate-option (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/navigator-state-after-change-currentDate-option (fluent-next.blue.light).png new file mode 100644 index 000000000000..a958031bcf9e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/navigator-state-after-change-currentDate-option (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/right-calendar-appearance (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/right-calendar-appearance (fluent-next.blue.light).png new file mode 100644 index 000000000000..67a8de6eb68b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/right-calendar-appearance (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/scheduler-custom toolbar (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/scheduler-custom toolbar (fluent-next.blue.light).png new file mode 100644 index 000000000000..28e513f46ace Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/scheduler-custom toolbar (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/scheduler-default toolbar (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/scheduler-default toolbar (fluent-next.blue.light).png new file mode 100644 index 000000000000..39e5f76fe794 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/scheduler-default toolbar (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/scheduler-disabled toolbar (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/scheduler-disabled toolbar (fluent-next.blue.light).png new file mode 100644 index 000000000000..cda60c48975b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/scheduler-disabled toolbar (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/scheduler-hidden-toolbar (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/scheduler-hidden-toolbar (fluent-next.blue.light).png new file mode 100644 index 000000000000..05258a36081c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/scheduler-hidden-toolbar (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/scheduler-multiline-false-toolbar (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/scheduler-multiline-false-toolbar (fluent-next.blue.light).png new file mode 100644 index 000000000000..a9dbb3d53b1f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/scheduler-multiline-false-toolbar (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/scheduler-multiline-true-toolbar (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/scheduler-multiline-true-toolbar (fluent-next.blue.light).png new file mode 100644 index 000000000000..f2f6ddaa340a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/scheduler-multiline-true-toolbar (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/scheduler-toolbar (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/scheduler-toolbar (fluent-next.blue.light).png new file mode 100644 index 000000000000..20356e31395f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/scheduler-toolbar (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/scheduler-toolbar with today (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/scheduler-toolbar with today (fluent-next.blue.light).png new file mode 100644 index 000000000000..b718673f93a2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/scheduler-toolbar with today (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/scheduler-toolbar-changed (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/scheduler-toolbar-changed (fluent-next.blue.light).png new file mode 100644 index 000000000000..e06f9a8f0d62 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/scheduler-toolbar-changed (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/scheduler-toolbar-changed-2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/scheduler-toolbar-changed-2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..a0fc250c977e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/scheduler-toolbar-changed-2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/scheduler-toolbar-item-option-changed (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/scheduler-toolbar-item-option-changed (fluent-next.blue.light).png new file mode 100644 index 000000000000..0a462deb8419 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/scheduler-toolbar-item-option-changed (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/scheduler-toolbar-items-changed (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/scheduler-toolbar-items-changed (fluent-next.blue.light).png new file mode 100644 index 000000000000..a0fc250c977e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/scheduler-toolbar-items-changed (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/scheduler-toolbar-location-changed (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/scheduler-toolbar-location-changed (fluent-next.blue.light).png new file mode 100644 index 000000000000..3c56f0a0db61 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/scheduler-toolbar-location-changed (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/scheduler-toolbar-menu (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/scheduler-toolbar-menu (fluent-next.blue.light).png new file mode 100644 index 000000000000..373a6d96a873 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/scheduler-toolbar-menu (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/scheduler-toolbar-property-changed (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/scheduler-toolbar-property-changed (fluent-next.blue.light).png new file mode 100644 index 000000000000..377cb05ffa6a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/scheduler-toolbar-property-changed (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/toolbar-without-view-switcher-(useDropDownViewSwitcher=false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/toolbar-without-view-switcher-(useDropDownViewSwitcher=false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..dc76ea850f94 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/toolbar-without-view-switcher-(useDropDownViewSwitcher=false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/toolbar-without-view-switcher-(useDropDownViewSwitcher=true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/toolbar-without-view-switcher-(useDropDownViewSwitcher=true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..dc76ea850f94 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/header/etalons/toolbar-without-view-switcher-(useDropDownViewSwitcher=true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=day-crossScrolling=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=day-crossScrolling=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..4aef28e82805 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=day-crossScrolling=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=day-crossScrolling=false-horizontal (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=day-crossScrolling=false-horizontal (fluent-next.blue.light).png new file mode 100644 index 000000000000..f090118c140a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=day-crossScrolling=false-horizontal (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=day-crossScrolling=false-horizontal-rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=day-crossScrolling=false-horizontal-rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..79cc5cc7b0d5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=day-crossScrolling=false-horizontal-rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=day-crossScrolling=false-rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=day-crossScrolling=false-rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..331e3465f7b5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=day-crossScrolling=false-rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=day-crossScrolling=false-vertical (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=day-crossScrolling=false-vertical (fluent-next.blue.light).png new file mode 100644 index 000000000000..f23b6afafe20 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=day-crossScrolling=false-vertical (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=day-crossScrolling=false-vertical-rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=day-crossScrolling=false-vertical-rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..209f93661be7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=day-crossScrolling=false-vertical-rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=day-crossScrolling=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=day-crossScrolling=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..4aef28e82805 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=day-crossScrolling=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=day-crossScrolling=true-horizontal (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=day-crossScrolling=true-horizontal (fluent-next.blue.light).png new file mode 100644 index 000000000000..2d994deb4e07 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=day-crossScrolling=true-horizontal (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=day-crossScrolling=true-horizontal-rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=day-crossScrolling=true-horizontal-rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..4178f506c565 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=day-crossScrolling=true-horizontal-rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=day-crossScrolling=true-rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=day-crossScrolling=true-rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..8b4fbd1385e4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=day-crossScrolling=true-rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=day-crossScrolling=true-vertical (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=day-crossScrolling=true-vertical (fluent-next.blue.light).png new file mode 100644 index 000000000000..241e5524fa9f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=day-crossScrolling=true-vertical (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=day-crossScrolling=true-vertical-rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=day-crossScrolling=true-vertical-rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..3735059a749d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=day-crossScrolling=true-vertical-rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=month-crossScrolling=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=month-crossScrolling=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..79502bfe11a5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=month-crossScrolling=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=month-crossScrolling=false-horizontal (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=month-crossScrolling=false-horizontal (fluent-next.blue.light).png new file mode 100644 index 000000000000..8484f2a97fe4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=month-crossScrolling=false-horizontal (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=month-crossScrolling=false-horizontal-rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=month-crossScrolling=false-horizontal-rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..74cf6d18917b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=month-crossScrolling=false-horizontal-rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=month-crossScrolling=false-rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=month-crossScrolling=false-rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..7a845b0e969f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=month-crossScrolling=false-rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=month-crossScrolling=false-vertical (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=month-crossScrolling=false-vertical (fluent-next.blue.light).png new file mode 100644 index 000000000000..fa75a542edc3 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=month-crossScrolling=false-vertical (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=month-crossScrolling=false-vertical-rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=month-crossScrolling=false-vertical-rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..f3ca6e8cd7a0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=month-crossScrolling=false-vertical-rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=month-crossScrolling=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=month-crossScrolling=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..fa26b1b05308 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=month-crossScrolling=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=month-crossScrolling=true-horizontal (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=month-crossScrolling=true-horizontal (fluent-next.blue.light).png new file mode 100644 index 000000000000..a3bd0f37ff13 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=month-crossScrolling=true-horizontal (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=month-crossScrolling=true-horizontal-rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=month-crossScrolling=true-horizontal-rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..c226732e6511 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=month-crossScrolling=true-horizontal-rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=month-crossScrolling=true-rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=month-crossScrolling=true-rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..852b37b84583 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=month-crossScrolling=true-rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=month-crossScrolling=true-vertical (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=month-crossScrolling=true-vertical (fluent-next.blue.light).png new file mode 100644 index 000000000000..46caaba44c7b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=month-crossScrolling=true-vertical (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=month-crossScrolling=true-vertical-rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=month-crossScrolling=true-vertical-rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..20772cbacd78 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=month-crossScrolling=true-vertical-rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineDay-crossScrolling=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineDay-crossScrolling=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..095ce491d03a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineDay-crossScrolling=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineDay-crossScrolling=false-horizontal (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineDay-crossScrolling=false-horizontal (fluent-next.blue.light).png new file mode 100644 index 000000000000..6a589eb18e87 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineDay-crossScrolling=false-horizontal (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineDay-crossScrolling=false-horizontal-rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineDay-crossScrolling=false-horizontal-rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..60f18445291a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineDay-crossScrolling=false-horizontal-rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineDay-crossScrolling=false-rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineDay-crossScrolling=false-rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..7c55b66fe212 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineDay-crossScrolling=false-rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineDay-crossScrolling=false-vertical (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineDay-crossScrolling=false-vertical (fluent-next.blue.light).png new file mode 100644 index 000000000000..b5b81f0ee498 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineDay-crossScrolling=false-vertical (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineDay-crossScrolling=false-vertical-rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineDay-crossScrolling=false-vertical-rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..cf8a5bddc673 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineDay-crossScrolling=false-vertical-rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineDay-crossScrolling=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineDay-crossScrolling=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..095ce491d03a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineDay-crossScrolling=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineDay-crossScrolling=true-horizontal (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineDay-crossScrolling=true-horizontal (fluent-next.blue.light).png new file mode 100644 index 000000000000..6a589eb18e87 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineDay-crossScrolling=true-horizontal (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineDay-crossScrolling=true-horizontal-rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineDay-crossScrolling=true-horizontal-rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..60f18445291a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineDay-crossScrolling=true-horizontal-rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineDay-crossScrolling=true-rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineDay-crossScrolling=true-rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..7c55b66fe212 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineDay-crossScrolling=true-rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineDay-crossScrolling=true-vertical (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineDay-crossScrolling=true-vertical (fluent-next.blue.light).png new file mode 100644 index 000000000000..b5b81f0ee498 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineDay-crossScrolling=true-vertical (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineDay-crossScrolling=true-vertical-rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineDay-crossScrolling=true-vertical-rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..cf8a5bddc673 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineDay-crossScrolling=true-vertical-rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineMonth-crossScrolling=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineMonth-crossScrolling=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..e1560bb6aadb Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineMonth-crossScrolling=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineMonth-crossScrolling=false-horizontal (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineMonth-crossScrolling=false-horizontal (fluent-next.blue.light).png new file mode 100644 index 000000000000..bc388b859910 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineMonth-crossScrolling=false-horizontal (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineMonth-crossScrolling=false-horizontal-rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineMonth-crossScrolling=false-horizontal-rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..ffff390d65cf Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineMonth-crossScrolling=false-horizontal-rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineMonth-crossScrolling=false-rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineMonth-crossScrolling=false-rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..06061f5ec8d2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineMonth-crossScrolling=false-rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineMonth-crossScrolling=false-vertical (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineMonth-crossScrolling=false-vertical (fluent-next.blue.light).png new file mode 100644 index 000000000000..640e07130896 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineMonth-crossScrolling=false-vertical (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineMonth-crossScrolling=false-vertical-rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineMonth-crossScrolling=false-vertical-rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..766ea887a212 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineMonth-crossScrolling=false-vertical-rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineMonth-crossScrolling=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineMonth-crossScrolling=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..e1560bb6aadb Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineMonth-crossScrolling=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineMonth-crossScrolling=true-horizontal (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineMonth-crossScrolling=true-horizontal (fluent-next.blue.light).png new file mode 100644 index 000000000000..bc388b859910 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineMonth-crossScrolling=true-horizontal (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineMonth-crossScrolling=true-horizontal-rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineMonth-crossScrolling=true-horizontal-rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..ffff390d65cf Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineMonth-crossScrolling=true-horizontal-rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineMonth-crossScrolling=true-rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineMonth-crossScrolling=true-rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..06061f5ec8d2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineMonth-crossScrolling=true-rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineMonth-crossScrolling=true-vertical (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineMonth-crossScrolling=true-vertical (fluent-next.blue.light).png new file mode 100644 index 000000000000..640e07130896 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineMonth-crossScrolling=true-vertical (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineMonth-crossScrolling=true-vertical-rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineMonth-crossScrolling=true-vertical-rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..766ea887a212 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineMonth-crossScrolling=true-vertical-rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineWeek-crossScrolling=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineWeek-crossScrolling=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..114d34b37a26 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineWeek-crossScrolling=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineWeek-crossScrolling=false-horizontal (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineWeek-crossScrolling=false-horizontal (fluent-next.blue.light).png new file mode 100644 index 000000000000..f86e7318d8e8 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineWeek-crossScrolling=false-horizontal (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineWeek-crossScrolling=false-horizontal-rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineWeek-crossScrolling=false-horizontal-rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..1430816f3223 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineWeek-crossScrolling=false-horizontal-rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineWeek-crossScrolling=false-rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineWeek-crossScrolling=false-rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..965f22b279b1 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineWeek-crossScrolling=false-rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineWeek-crossScrolling=false-vertical (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineWeek-crossScrolling=false-vertical (fluent-next.blue.light).png new file mode 100644 index 000000000000..9be73340186b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineWeek-crossScrolling=false-vertical (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineWeek-crossScrolling=false-vertical-rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineWeek-crossScrolling=false-vertical-rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..5e4a47e15a3b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineWeek-crossScrolling=false-vertical-rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineWeek-crossScrolling=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineWeek-crossScrolling=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..114d34b37a26 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineWeek-crossScrolling=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineWeek-crossScrolling=true-horizontal (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineWeek-crossScrolling=true-horizontal (fluent-next.blue.light).png new file mode 100644 index 000000000000..f86e7318d8e8 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineWeek-crossScrolling=true-horizontal (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineWeek-crossScrolling=true-horizontal-rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineWeek-crossScrolling=true-horizontal-rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..1430816f3223 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineWeek-crossScrolling=true-horizontal-rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineWeek-crossScrolling=true-rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineWeek-crossScrolling=true-rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..965f22b279b1 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineWeek-crossScrolling=true-rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineWeek-crossScrolling=true-vertical (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineWeek-crossScrolling=true-vertical (fluent-next.blue.light).png new file mode 100644 index 000000000000..9be73340186b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineWeek-crossScrolling=true-vertical (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineWeek-crossScrolling=true-vertical-rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineWeek-crossScrolling=true-vertical-rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..5e4a47e15a3b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=timelineWeek-crossScrolling=true-vertical-rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=week-crossScrolling=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=week-crossScrolling=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..7ff501288296 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=week-crossScrolling=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=week-crossScrolling=false-horizontal (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=week-crossScrolling=false-horizontal (fluent-next.blue.light).png new file mode 100644 index 000000000000..e99d8aa62532 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=week-crossScrolling=false-horizontal (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=week-crossScrolling=false-horizontal-rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=week-crossScrolling=false-horizontal-rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..c122ec23746f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=week-crossScrolling=false-horizontal-rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=week-crossScrolling=false-rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=week-crossScrolling=false-rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..7e4f3f88e1c1 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=week-crossScrolling=false-rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=week-crossScrolling=false-vertical (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=week-crossScrolling=false-vertical (fluent-next.blue.light).png new file mode 100644 index 000000000000..35bdbfb06240 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=week-crossScrolling=false-vertical (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=week-crossScrolling=false-vertical-rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=week-crossScrolling=false-vertical-rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..0e5e6d399af8 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=week-crossScrolling=false-vertical-rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=week-crossScrolling=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=week-crossScrolling=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..12362cdd97c4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=week-crossScrolling=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=week-crossScrolling=true-horizontal (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=week-crossScrolling=true-horizontal (fluent-next.blue.light).png new file mode 100644 index 000000000000..9644449ca08c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=week-crossScrolling=true-horizontal (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=week-crossScrolling=true-horizontal-rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=week-crossScrolling=true-horizontal-rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..604aa408cf51 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=week-crossScrolling=true-horizontal-rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=week-crossScrolling=true-rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=week-crossScrolling=true-rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..c5790c0e5946 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=week-crossScrolling=true-rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=week-crossScrolling=true-vertical (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=week-crossScrolling=true-vertical (fluent-next.blue.light).png new file mode 100644 index 000000000000..f30cad5daab8 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=week-crossScrolling=true-vertical (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=week-crossScrolling=true-vertical-rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=week-crossScrolling=true-vertical-rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..15eeb7b84b84 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/etalons/view=week-crossScrolling=true-vertical-rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/resize/etalons/browser-resize-currentView=agenda-after-resize (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/resize/etalons/browser-resize-currentView=agenda-after-resize (fluent-next.blue.light).png new file mode 100644 index 000000000000..5a36abe2c805 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/resize/etalons/browser-resize-currentView=agenda-after-resize (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/resize/etalons/browser-resize-currentView=agenda-before-resize (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/resize/etalons/browser-resize-currentView=agenda-before-resize (fluent-next.blue.light).png new file mode 100644 index 000000000000..404e5bd6c919 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/resize/etalons/browser-resize-currentView=agenda-before-resize (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/resize/etalons/browser-resize-currentView=day-after-resize (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/resize/etalons/browser-resize-currentView=day-after-resize (fluent-next.blue.light).png new file mode 100644 index 000000000000..611721074aab Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/resize/etalons/browser-resize-currentView=day-after-resize (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/resize/etalons/browser-resize-currentView=day-before-resize (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/resize/etalons/browser-resize-currentView=day-before-resize (fluent-next.blue.light).png new file mode 100644 index 000000000000..5b8fbab6d080 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/resize/etalons/browser-resize-currentView=day-before-resize (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/resize/etalons/browser-resize-currentView=month-after-resize (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/resize/etalons/browser-resize-currentView=month-after-resize (fluent-next.blue.light).png new file mode 100644 index 000000000000..75a08b0971c4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/resize/etalons/browser-resize-currentView=month-after-resize (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/resize/etalons/browser-resize-currentView=month-before-resize (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/resize/etalons/browser-resize-currentView=month-before-resize (fluent-next.blue.light).png new file mode 100644 index 000000000000..220039be605d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/resize/etalons/browser-resize-currentView=month-before-resize (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/resize/etalons/browser-resize-currentView=timelineDay-after-resize (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/resize/etalons/browser-resize-currentView=timelineDay-after-resize (fluent-next.blue.light).png new file mode 100644 index 000000000000..2aa5ba87cbdc Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/resize/etalons/browser-resize-currentView=timelineDay-after-resize (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/resize/etalons/browser-resize-currentView=timelineDay-before-resize (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/resize/etalons/browser-resize-currentView=timelineDay-before-resize (fluent-next.blue.light).png new file mode 100644 index 000000000000..7989223bf615 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/resize/etalons/browser-resize-currentView=timelineDay-before-resize (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/resize/etalons/browser-resize-currentView=week-after-resize (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/resize/etalons/browser-resize-currentView=week-after-resize (fluent-next.blue.light).png new file mode 100644 index 000000000000..6249e7b35f0e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/resize/etalons/browser-resize-currentView=week-after-resize (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/resize/etalons/browser-resize-currentView=week-before-resize (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/resize/etalons/browser-resize-currentView=week-before-resize (fluent-next.blue.light).png new file mode 100644 index 000000000000..90e14fd6479c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/adaptive/resize/etalons/browser-resize-currentView=week-before-resize (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/allDay/etalons/21-27-march-week-view (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/allDay/etalons/21-27-march-week-view (fluent-next.blue.light).png new file mode 100644 index 000000000000..b76f8b439e82 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/allDay/etalons/21-27-march-week-view (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/allDay/etalons/27-march-day-view (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/allDay/etalons/27-march-day-view (fluent-next.blue.light).png new file mode 100644 index 000000000000..4e6339244284 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/allDay/etalons/27-march-day-view (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/allDay/etalons/28-march-3-apr-week-view (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/allDay/etalons/28-march-3-apr-week-view (fluent-next.blue.light).png new file mode 100644 index 000000000000..f61f14d4c911 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/allDay/etalons/28-march-3-apr-week-view (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/allDay/etalons/28-march-day-view (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/allDay/etalons/28-march-day-view (fluent-next.blue.light).png new file mode 100644 index 000000000000..25f73f0c4f85 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/allDay/etalons/28-march-day-view (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/allDay/etalons/29-march-day-view (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/allDay/etalons/29-march-day-view (fluent-next.blue.light).png new file mode 100644 index 000000000000..c8b90d928639 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/allDay/etalons/29-march-day-view (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/allDay/etalons/30-march-day-view (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/allDay/etalons/30-march-day-view (fluent-next.blue.light).png new file mode 100644 index 000000000000..4e6339244284 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/allDay/etalons/30-march-day-view (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/allDay/etalons/4-10-apr-week-view (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/allDay/etalons/4-10-apr-week-view (fluent-next.blue.light).png new file mode 100644 index 000000000000..25723378d5d7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/allDay/etalons/4-10-apr-week-view (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/after-dragging(T1020820) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/after-dragging(T1020820) (fluent-next.blue.light).png new file mode 100644 index 000000000000..6cc366ba7dd6 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/after-dragging(T1020820) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-collector-adaptability-timelineMonth (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-collector-adaptability-timelineMonth (fluent-next.blue.light).png new file mode 100644 index 000000000000..135f9e6f9aea Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-collector-adaptability-timelineMonth (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-collector-month-adapt(false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-collector-month-adapt(false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..9bb32cad451a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-collector-month-adapt(false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-collector-month-adapt(true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-collector-month-adapt(true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..63d034214075 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-collector-month-adapt(true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-collector-month-double-interval (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-collector-month-double-interval (fluent-next.blue.light).png new file mode 100644 index 000000000000..8f73a29185e8 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-collector-month-double-interval (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-collector-month-rtl(false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-collector-month-rtl(false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..9bb32cad451a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-collector-month-rtl(false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-collector-month-rtl(true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-collector-month-rtl(true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..76a2cc3906fe Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-collector-month-rtl(true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-collector-timelineWeek-adapt(false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-collector-timelineWeek-adapt(false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..445a9f16cf6f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-collector-timelineWeek-adapt(false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-collector-timelineWeek-adapt(true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-collector-timelineWeek-adapt(true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..f37a62479bfe Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-collector-timelineWeek-adapt(true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-collector-timelineWeek-rtl(false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-collector-timelineWeek-rtl(false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..445a9f16cf6f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-collector-timelineWeek-rtl(false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-collector-timelineWeek-rtl(true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-collector-timelineWeek-rtl(true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..013c32a4ae83 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-collector-timelineWeek-rtl(true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-collector-week-adapt(false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-collector-week-adapt(false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..ef2675f2474c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-collector-week-adapt(false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-collector-week-adapt(true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-collector-week-adapt(true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..0a014df0c624 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-collector-week-adapt(true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-collector-week-rtl(false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-collector-week-rtl(false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..ef2675f2474c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-collector-week-rtl(false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-collector-week-rtl(true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-collector-week-rtl(true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..f49ac8369926 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-collector-week-rtl(true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-no-subject-agenda (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-no-subject-agenda (fluent-next.blue.light).png new file mode 100644 index 000000000000..7cfa7cd1a045 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-no-subject-agenda (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-no-subject-day (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-no-subject-day (fluent-next.blue.light).png new file mode 100644 index 000000000000..4c9b047218cf Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-no-subject-day (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-no-subject-month (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-no-subject-month (fluent-next.blue.light).png new file mode 100644 index 000000000000..041f3b8ab7d0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-no-subject-month (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-no-subject-timelineDay (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-no-subject-timelineDay (fluent-next.blue.light).png new file mode 100644 index 000000000000..cbc6c54f468b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-no-subject-timelineDay (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-no-subject-timelineMonth (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-no-subject-timelineMonth (fluent-next.blue.light).png new file mode 100644 index 000000000000..1491f407a5ad Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-no-subject-timelineMonth (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-no-subject-timelineWeek (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-no-subject-timelineWeek (fluent-next.blue.light).png new file mode 100644 index 000000000000..57c72e4ffb7f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-no-subject-timelineWeek (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-no-subject-timelineWorkWeek (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-no-subject-timelineWorkWeek (fluent-next.blue.light).png new file mode 100644 index 000000000000..57c72e4ffb7f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-no-subject-timelineWorkWeek (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-no-subject-week (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-no-subject-week (fluent-next.blue.light).png new file mode 100644 index 000000000000..a862598f0669 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-no-subject-week (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-no-subject-workWeek (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-no-subject-workWeek (fluent-next.blue.light).png new file mode 100644 index 000000000000..60e3e17112f0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/appointment-no-subject-workWeek (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/before-dragging(T1020820) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/before-dragging(T1020820) (fluent-next.blue.light).png new file mode 100644 index 000000000000..cdbe09b43912 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/before-dragging(T1020820) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/disabled-appointment (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/disabled-appointment (fluent-next.blue.light).png new file mode 100644 index 000000000000..71652e84dde8 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/disabled-appointment (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/disabled-appointments-in-grid (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/disabled-appointments-in-grid (fluent-next.blue.light).png new file mode 100644 index 000000000000..4890caa89032 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/disabled-appointments-in-grid (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/disabled-by-function-appointment (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/disabled-by-function-appointment (fluent-next.blue.light).png new file mode 100644 index 000000000000..88e3a0f8dc28 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/disabled-by-function-appointment (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/enabled-appointment (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/enabled-appointment (fluent-next.blue.light).png new file mode 100644 index 000000000000..039bf29cfde5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/enabled-appointment (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/enabled-by-function-appointment (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/enabled-by-function-appointment (fluent-next.blue.light).png new file mode 100644 index 000000000000..e19686243679 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/enabled-by-function-appointment (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/exclude-appointment-from-series-via-form-editing (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/exclude-appointment-from-series-via-form-editing (fluent-next.blue.light).png new file mode 100644 index 000000000000..d5205f640e2f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/exclude-appointment-from-series-via-form-editing (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/filtering-visible=false-maxAppointmentsPerCell=0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/filtering-visible=false-maxAppointmentsPerCell=0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..d34746ffb32b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/filtering-visible=false-maxAppointmentsPerCell=0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/filtering-visible=false-maxAppointmentsPerCell=1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/filtering-visible=false-maxAppointmentsPerCell=1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..d34746ffb32b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/filtering-visible=false-maxAppointmentsPerCell=1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/filtering-visible=true-maxAppointmentsPerCell=0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/filtering-visible=true-maxAppointmentsPerCell=0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..275afe7088d4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/filtering-visible=true-maxAppointmentsPerCell=0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/filtering-visible=true-maxAppointmentsPerCell=1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/filtering-visible=true-maxAppointmentsPerCell=1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..41a29947fe55 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/filtering-visible=true-maxAppointmentsPerCell=1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/filtering-visible=undefined-maxAppointmentsPerCell=0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/filtering-visible=undefined-maxAppointmentsPerCell=0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..275afe7088d4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/filtering-visible=undefined-maxAppointmentsPerCell=0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/filtering-visible=undefined-maxAppointmentsPerCell=1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/filtering-visible=undefined-maxAppointmentsPerCell=1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..41a29947fe55 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/filtering-visible=undefined-maxAppointmentsPerCell=1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/long-appointment-day-view-T1086079 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/long-appointment-day-view-T1086079 (fluent-next.blue.light).png new file mode 100644 index 000000000000..390f287b9028 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/long-appointment-day-view-T1086079 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/long-appointment-week-view-T1086079 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/long-appointment-week-view-T1086079 (fluent-next.blue.light).png new file mode 100644 index 000000000000..8b3731455362 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/long-appointment-week-view-T1086079 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/recurrent-appointment-in-agenda_view-and-non-rtl_mode (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/recurrent-appointment-in-agenda_view-and-non-rtl_mode (fluent-next.blue.light).png new file mode 100644 index 000000000000..21aeee100af1 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/recurrent-appointment-in-agenda_view-and-non-rtl_mode (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/recurrent-appointment-in-agenda_view-and-rtl_mode (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/recurrent-appointment-in-agenda_view-and-rtl_mode (fluent-next.blue.light).png new file mode 100644 index 000000000000..ebae4479e7f6 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/recurrent-appointment-in-agenda_view-and-rtl_mode (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/recurrent-appointment-in-day_view-and-non-rtl_mode (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/recurrent-appointment-in-day_view-and-non-rtl_mode (fluent-next.blue.light).png new file mode 100644 index 000000000000..0fe841423234 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/recurrent-appointment-in-day_view-and-non-rtl_mode (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/recurrent-appointment-in-day_view-and-rtl_mode (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/recurrent-appointment-in-day_view-and-rtl_mode (fluent-next.blue.light).png new file mode 100644 index 000000000000..4b451d3e0a7c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/recurrent-appointment-in-day_view-and-rtl_mode (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/recurrent-appointment-in-month_view-and-non-rtl_mode (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/recurrent-appointment-in-month_view-and-non-rtl_mode (fluent-next.blue.light).png new file mode 100644 index 000000000000..b718101c1b45 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/recurrent-appointment-in-month_view-and-non-rtl_mode (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/recurrent-appointment-in-month_view-and-rtl_mode (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/recurrent-appointment-in-month_view-and-rtl_mode (fluent-next.blue.light).png new file mode 100644 index 000000000000..47b6540e803a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/recurrent-appointment-in-month_view-and-rtl_mode (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/recurrent-appointment-in-timelineDay_view-and-non-rtl_mode (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/recurrent-appointment-in-timelineDay_view-and-non-rtl_mode (fluent-next.blue.light).png new file mode 100644 index 000000000000..e72d1fc1723f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/recurrent-appointment-in-timelineDay_view-and-non-rtl_mode (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/recurrent-appointment-in-timelineDay_view-and-rtl_mode (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/recurrent-appointment-in-timelineDay_view-and-rtl_mode (fluent-next.blue.light).png new file mode 100644 index 000000000000..f16f57501799 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/recurrent-appointment-in-timelineDay_view-and-rtl_mode (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/recurrent-appointment-in-timelineMonth_view-and-non-rtl_mode (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/recurrent-appointment-in-timelineMonth_view-and-non-rtl_mode (fluent-next.blue.light).png new file mode 100644 index 000000000000..8c584f2d4900 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/recurrent-appointment-in-timelineMonth_view-and-non-rtl_mode (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/recurrent-appointment-in-timelineMonth_view-and-rtl_mode (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/recurrent-appointment-in-timelineMonth_view-and-rtl_mode (fluent-next.blue.light).png new file mode 100644 index 000000000000..48b8d0ef9b56 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/recurrent-appointment-in-timelineMonth_view-and-rtl_mode (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/recurrent-appointment-in-timelineWeek_view-and-non-rtl_mode (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/recurrent-appointment-in-timelineWeek_view-and-non-rtl_mode (fluent-next.blue.light).png new file mode 100644 index 000000000000..7479e0584f2e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/recurrent-appointment-in-timelineWeek_view-and-non-rtl_mode (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/recurrent-appointment-in-timelineWeek_view-and-rtl_mode (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/recurrent-appointment-in-timelineWeek_view-and-rtl_mode (fluent-next.blue.light).png new file mode 100644 index 000000000000..96717375af2e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/recurrent-appointment-in-timelineWeek_view-and-rtl_mode (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/recurrent-appointment-in-timelineWorkWeek_view-and-non-rtl_mode (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/recurrent-appointment-in-timelineWorkWeek_view-and-non-rtl_mode (fluent-next.blue.light).png new file mode 100644 index 000000000000..a99ff212ee07 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/recurrent-appointment-in-timelineWorkWeek_view-and-non-rtl_mode (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/recurrent-appointment-in-timelineWorkWeek_view-and-rtl_mode (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/recurrent-appointment-in-timelineWorkWeek_view-and-rtl_mode (fluent-next.blue.light).png new file mode 100644 index 000000000000..e5fd5036bc7d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/recurrent-appointment-in-timelineWorkWeek_view-and-rtl_mode (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/recurrent-appointment-in-week_view-and-non-rtl_mode (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/recurrent-appointment-in-week_view-and-non-rtl_mode (fluent-next.blue.light).png new file mode 100644 index 000000000000..5688c15c3c57 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/recurrent-appointment-in-week_view-and-non-rtl_mode (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/recurrent-appointment-in-week_view-and-rtl_mode (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/recurrent-appointment-in-week_view-and-rtl_mode (fluent-next.blue.light).png new file mode 100644 index 000000000000..00f3854a28cf Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/recurrent-appointment-in-week_view-and-rtl_mode (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/recurrent-appointment-in-workWeek_view-and-non-rtl_mode (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/recurrent-appointment-in-workWeek_view-and-non-rtl_mode (fluent-next.blue.light).png new file mode 100644 index 000000000000..0ed13b27152b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/recurrent-appointment-in-workWeek_view-and-non-rtl_mode (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/recurrent-appointment-in-workWeek_view-and-rtl_mode (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/recurrent-appointment-in-workWeek_view-and-rtl_mode (fluent-next.blue.light).png new file mode 100644 index 000000000000..6114fc020ed6 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/appointments/etalons/recurrent-appointment-in-workWeek_view-and-rtl_mode (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-cell-sizes-in-month (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-cell-sizes-in-month (fluent-next.blue.light).png new file mode 100644 index 000000000000..3d2f9221c44a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-cell-sizes-in-month (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-cell-sizes-in-timelineMonth (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-cell-sizes-in-timelineMonth (fluent-next.blue.light).png new file mode 100644 index 000000000000..edad0864a5a6 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-cell-sizes-in-timelineMonth (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-cell-sizes-in-timelineWeek (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-cell-sizes-in-timelineWeek (fluent-next.blue.light).png new file mode 100644 index 000000000000..2bcc7c7c7251 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-cell-sizes-in-timelineWeek (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-cell-sizes-in-week (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-cell-sizes-in-week (fluent-next.blue.light).png new file mode 100644 index 000000000000..79a1674122ed Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-cell-sizes-in-week (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-cell-sizes-with-all-day-panel-in-week (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-cell-sizes-with-all-day-panel-in-week (fluent-next.blue.light).png new file mode 100644 index 000000000000..ab1c4019229e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-cell-sizes-with-all-day-panel-in-week (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-group-panel-in-month-cross-scrolling=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-group-panel-in-month-cross-scrolling=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..2684b8f812fd Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-group-panel-in-month-cross-scrolling=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-group-panel-in-month-cross-scrolling=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-group-panel-in-month-cross-scrolling=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..8aa8bc03052f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-group-panel-in-month-cross-scrolling=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-group-panel-in-timelineMonth-cross-scrolling=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-group-panel-in-timelineMonth-cross-scrolling=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..5d15d5669f09 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-group-panel-in-timelineMonth-cross-scrolling=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-group-panel-in-timelineMonth-cross-scrolling=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-group-panel-in-timelineMonth-cross-scrolling=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..5d15d5669f09 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-group-panel-in-timelineMonth-cross-scrolling=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-group-panel-in-timelineWeek-cross-scrolling=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-group-panel-in-timelineWeek-cross-scrolling=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..5b2b582c384f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-group-panel-in-timelineWeek-cross-scrolling=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-group-panel-in-timelineWeek-cross-scrolling=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-group-panel-in-timelineWeek-cross-scrolling=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..5b2b582c384f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-group-panel-in-timelineWeek-cross-scrolling=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-group-panel-in-week-cross-scrolling=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-group-panel-in-week-cross-scrolling=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..ce86ac4a9f3f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-group-panel-in-week-cross-scrolling=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-group-panel-in-week-cross-scrolling=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-group-panel-in-week-cross-scrolling=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..3f8f02915a80 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-group-panel-in-week-cross-scrolling=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-header-panel-in-month-cross-scrolling=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-header-panel-in-month-cross-scrolling=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..9ce8af54b68e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-header-panel-in-month-cross-scrolling=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-header-panel-in-month-cross-scrolling=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-header-panel-in-month-cross-scrolling=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..b4f8b6d0b7c0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-header-panel-in-month-cross-scrolling=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-header-panel-in-timelineMonth-cross-scrolling=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-header-panel-in-timelineMonth-cross-scrolling=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..9541fdc9bfe0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-header-panel-in-timelineMonth-cross-scrolling=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-header-panel-in-timelineMonth-cross-scrolling=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-header-panel-in-timelineMonth-cross-scrolling=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..9541fdc9bfe0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-header-panel-in-timelineMonth-cross-scrolling=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-header-panel-in-timelineWeek-cross-scrolling=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-header-panel-in-timelineWeek-cross-scrolling=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..85e5f4c38a29 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-header-panel-in-timelineWeek-cross-scrolling=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-header-panel-in-timelineWeek-cross-scrolling=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-header-panel-in-timelineWeek-cross-scrolling=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..85e5f4c38a29 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-header-panel-in-timelineWeek-cross-scrolling=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-header-panel-in-week-cross-scrolling=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-header-panel-in-week-cross-scrolling=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..e30b17042332 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-header-panel-in-week-cross-scrolling=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-header-panel-in-week-cross-scrolling=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-header-panel-in-week-cross-scrolling=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..2922c469b411 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-header-panel-in-week-cross-scrolling=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-time-panel-in-agenda-cross-scrolling=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-time-panel-in-agenda-cross-scrolling=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..2c6ce1b101b8 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-time-panel-in-agenda-cross-scrolling=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-time-panel-in-agenda-cross-scrolling=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-time-panel-in-agenda-cross-scrolling=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..2c6ce1b101b8 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-time-panel-in-agenda-cross-scrolling=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-time-panel-in-week-cross-scrolling=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-time-panel-in-week-cross-scrolling=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..10fc91570914 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-time-panel-in-week-cross-scrolling=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-time-panel-in-week-cross-scrolling=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-time-panel-in-week-cross-scrolling=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..10fc91570914 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/customization/etalons/custom-time-panel-in-week-cross-scrolling=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/base/etalons/resource(view=agenda-resource=false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/base/etalons/resource(view=agenda-resource=false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..9b87c0e91cfc Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/base/etalons/resource(view=agenda-resource=false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/base/etalons/resource(view=agenda-resource=true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/base/etalons/resource(view=agenda-resource=true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..5c0f2b295a5b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/base/etalons/resource(view=agenda-resource=true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/base/etalons/resource(view=day-resource=false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/base/etalons/resource(view=day-resource=false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..c5645b1c3ea6 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/base/etalons/resource(view=day-resource=false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/base/etalons/resource(view=day-resource=true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/base/etalons/resource(view=day-resource=true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..630937424145 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/base/etalons/resource(view=day-resource=true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/base/etalons/resource(view=month-resource=false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/base/etalons/resource(view=month-resource=false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..5af2a2b5b003 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/base/etalons/resource(view=month-resource=false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/base/etalons/resource(view=month-resource=true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/base/etalons/resource(view=month-resource=true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..73d23d25ec81 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/base/etalons/resource(view=month-resource=true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/base/etalons/resource(view=timelineDay-resource=false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/base/etalons/resource(view=timelineDay-resource=false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..cb9b1aab444e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/base/etalons/resource(view=timelineDay-resource=false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/base/etalons/resource(view=timelineDay-resource=true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/base/etalons/resource(view=timelineDay-resource=true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..31580be1bd3c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/base/etalons/resource(view=timelineDay-resource=true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/base/etalons/resource(view=timelineMonth-resource=false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/base/etalons/resource(view=timelineMonth-resource=false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..bc8e932cbeea Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/base/etalons/resource(view=timelineMonth-resource=false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/base/etalons/resource(view=timelineMonth-resource=true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/base/etalons/resource(view=timelineMonth-resource=true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..16ba38e8b5c4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/base/etalons/resource(view=timelineMonth-resource=true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/base/etalons/resource(view=timelineWeek-resource=false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/base/etalons/resource(view=timelineWeek-resource=false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..9f88d56297c6 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/base/etalons/resource(view=timelineWeek-resource=false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/base/etalons/resource(view=timelineWeek-resource=true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/base/etalons/resource(view=timelineWeek-resource=true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..504e71560892 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/base/etalons/resource(view=timelineWeek-resource=true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/base/etalons/resource(view=timelineWorkWeek-resource=false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/base/etalons/resource(view=timelineWorkWeek-resource=false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..7f0aeda1f6d3 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/base/etalons/resource(view=timelineWorkWeek-resource=false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/base/etalons/resource(view=timelineWorkWeek-resource=true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/base/etalons/resource(view=timelineWorkWeek-resource=true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..c80d6e1430df Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/base/etalons/resource(view=timelineWorkWeek-resource=true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/base/etalons/resource(view=week-resource=false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/base/etalons/resource(view=week-resource=false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..bd5d551a113c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/base/etalons/resource(view=week-resource=false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/base/etalons/resource(view=week-resource=true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/base/etalons/resource(view=week-resource=true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..1dd41d121991 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/base/etalons/resource(view=week-resource=true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/base/etalons/resource(view=workWeek-resource=false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/base/etalons/resource(view=workWeek-resource=false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..b2ff1b27576b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/base/etalons/resource(view=workWeek-resource=false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/base/etalons/resource(view=workWeek-resource=true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/base/etalons/resource(view=workWeek-resource=true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..cbac446d1f52 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/base/etalons/resource(view=workWeek-resource=true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/groups/etalons/groups(view=agenda-orientation=horizontal) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/groups/etalons/groups(view=agenda-orientation=horizontal) (fluent-next.blue.light).png new file mode 100644 index 000000000000..bdba4a78a84d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/groups/etalons/groups(view=agenda-orientation=horizontal) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/groups/etalons/groups(view=agenda-orientation=vertical) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/groups/etalons/groups(view=agenda-orientation=vertical) (fluent-next.blue.light).png new file mode 100644 index 000000000000..bdba4a78a84d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/groups/etalons/groups(view=agenda-orientation=vertical) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/groups/etalons/groups(view=day-orientation=horizontal) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/groups/etalons/groups(view=day-orientation=horizontal) (fluent-next.blue.light).png new file mode 100644 index 000000000000..c1095f839ce7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/groups/etalons/groups(view=day-orientation=horizontal) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/groups/etalons/groups(view=day-orientation=vertical) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/groups/etalons/groups(view=day-orientation=vertical) (fluent-next.blue.light).png new file mode 100644 index 000000000000..24c783d61303 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/groups/etalons/groups(view=day-orientation=vertical) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/groups/etalons/groups(view=month-orientation=horizontal) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/groups/etalons/groups(view=month-orientation=horizontal) (fluent-next.blue.light).png new file mode 100644 index 000000000000..8e857f23e2f4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/groups/etalons/groups(view=month-orientation=horizontal) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/groups/etalons/groups(view=month-orientation=vertical) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/groups/etalons/groups(view=month-orientation=vertical) (fluent-next.blue.light).png new file mode 100644 index 000000000000..0f6b5d97a062 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/groups/etalons/groups(view=month-orientation=vertical) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/groups/etalons/groups(view=timelineDay-orientation=horizontal) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/groups/etalons/groups(view=timelineDay-orientation=horizontal) (fluent-next.blue.light).png new file mode 100644 index 000000000000..008876861812 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/groups/etalons/groups(view=timelineDay-orientation=horizontal) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/groups/etalons/groups(view=timelineDay-orientation=vertical) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/groups/etalons/groups(view=timelineDay-orientation=vertical) (fluent-next.blue.light).png new file mode 100644 index 000000000000..873af50a2b44 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/groups/etalons/groups(view=timelineDay-orientation=vertical) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/groups/etalons/groups(view=timelineMonth-orientation=horizontal) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/groups/etalons/groups(view=timelineMonth-orientation=horizontal) (fluent-next.blue.light).png new file mode 100644 index 000000000000..f21638a350c3 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/groups/etalons/groups(view=timelineMonth-orientation=horizontal) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/groups/etalons/groups(view=timelineMonth-orientation=vertical) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/groups/etalons/groups(view=timelineMonth-orientation=vertical) (fluent-next.blue.light).png new file mode 100644 index 000000000000..8da840698e46 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/groups/etalons/groups(view=timelineMonth-orientation=vertical) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/groups/etalons/groups(view=timelineWeek-orientation=horizontal) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/groups/etalons/groups(view=timelineWeek-orientation=horizontal) (fluent-next.blue.light).png new file mode 100644 index 000000000000..4d252b1fdf68 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/groups/etalons/groups(view=timelineWeek-orientation=horizontal) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/groups/etalons/groups(view=timelineWeek-orientation=vertical) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/groups/etalons/groups(view=timelineWeek-orientation=vertical) (fluent-next.blue.light).png new file mode 100644 index 000000000000..0e139d9568db Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/groups/etalons/groups(view=timelineWeek-orientation=vertical) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/groups/etalons/groups(view=timelineWorkWeek-orientation=horizontal) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/groups/etalons/groups(view=timelineWorkWeek-orientation=horizontal) (fluent-next.blue.light).png new file mode 100644 index 000000000000..a873eb310bcf Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/groups/etalons/groups(view=timelineWorkWeek-orientation=horizontal) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/groups/etalons/groups(view=timelineWorkWeek-orientation=vertical) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/groups/etalons/groups(view=timelineWorkWeek-orientation=vertical) (fluent-next.blue.light).png new file mode 100644 index 000000000000..83feef02fc86 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/groups/etalons/groups(view=timelineWorkWeek-orientation=vertical) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/groups/etalons/groups(view=week-orientation=horizontal) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/groups/etalons/groups(view=week-orientation=horizontal) (fluent-next.blue.light).png new file mode 100644 index 000000000000..fafb70c7c3ad Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/groups/etalons/groups(view=week-orientation=horizontal) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/groups/etalons/groups(view=week-orientation=vertical) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/groups/etalons/groups(view=week-orientation=vertical) (fluent-next.blue.light).png new file mode 100644 index 000000000000..6d379476c7af Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/groups/etalons/groups(view=week-orientation=vertical) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/groups/etalons/groups(view=workWeek-orientation=horizontal) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/groups/etalons/groups(view=workWeek-orientation=horizontal) (fluent-next.blue.light).png new file mode 100644 index 000000000000..0c6ca45a3b43 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/groups/etalons/groups(view=workWeek-orientation=horizontal) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/groups/etalons/groups(view=workWeek-orientation=vertical) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/groups/etalons/groups(view=workWeek-orientation=vertical) (fluent-next.blue.light).png new file mode 100644 index 000000000000..7afbd0976bf3 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/resources/groups/etalons/groups(view=workWeek-orientation=vertical) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/templates/etalons/appointment-template-currentView=agenda (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/templates/etalons/appointment-template-currentView=agenda (fluent-next.blue.light).png new file mode 100644 index 000000000000..6a48ec979faf Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/templates/etalons/appointment-template-currentView=agenda (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/templates/etalons/appointment-template-currentView=day (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/templates/etalons/appointment-template-currentView=day (fluent-next.blue.light).png new file mode 100644 index 000000000000..57b374f272f6 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/templates/etalons/appointment-template-currentView=day (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/templates/etalons/appointment-template-currentView=month (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/templates/etalons/appointment-template-currentView=month (fluent-next.blue.light).png new file mode 100644 index 000000000000..301d32b099ac Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/templates/etalons/appointment-template-currentView=month (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/templates/etalons/appointment-template-currentView=timelineDay (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/templates/etalons/appointment-template-currentView=timelineDay (fluent-next.blue.light).png new file mode 100644 index 000000000000..46c724fc8ffe Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/templates/etalons/appointment-template-currentView=timelineDay (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/templates/etalons/appointment-template-currentView=timelineWorkWeek (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/templates/etalons/appointment-template-currentView=timelineWorkWeek (fluent-next.blue.light).png new file mode 100644 index 000000000000..25b31d982c2a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/templates/etalons/appointment-template-currentView=timelineWorkWeek (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/templates/etalons/appointment-template-currentView=workWeek (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/templates/etalons/appointment-template-currentView=workWeek (fluent-next.blue.light).png new file mode 100644 index 000000000000..f71d1d4d8694 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/templates/etalons/appointment-template-currentView=workWeek (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/templates/etalons/appointment-tooltip-template (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/templates/etalons/appointment-tooltip-template (fluent-next.blue.light).png new file mode 100644 index 000000000000..3b5e87aad86b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/templates/etalons/appointment-tooltip-template (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/templates/etalons/data-cell-template-currentView=day (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/templates/etalons/data-cell-template-currentView=day (fluent-next.blue.light).png new file mode 100644 index 000000000000..cfd995cd0db7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/templates/etalons/data-cell-template-currentView=day (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/templates/etalons/data-cell-template-currentView=month (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/templates/etalons/data-cell-template-currentView=month (fluent-next.blue.light).png new file mode 100644 index 000000000000..c25f92f69d83 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/templates/etalons/data-cell-template-currentView=month (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/templates/etalons/data-cell-template-currentView=timelineDay (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/templates/etalons/data-cell-template-currentView=timelineDay (fluent-next.blue.light).png new file mode 100644 index 000000000000..0aca168a948f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/templates/etalons/data-cell-template-currentView=timelineDay (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/templates/etalons/data-cell-template-currentView=timelineMonth (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/templates/etalons/data-cell-template-currentView=timelineMonth (fluent-next.blue.light).png new file mode 100644 index 000000000000..64811ef66bb9 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/templates/etalons/data-cell-template-currentView=timelineMonth (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/templates/etalons/data-cell-template-currentView=timelineWorkWeek (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/templates/etalons/data-cell-template-currentView=timelineWorkWeek (fluent-next.blue.light).png new file mode 100644 index 000000000000..cd102b1eb330 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/templates/etalons/data-cell-template-currentView=timelineWorkWeek (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/templates/etalons/data-cell-template-currentView=workWeek (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/templates/etalons/data-cell-template-currentView=workWeek (fluent-next.blue.light).png new file mode 100644 index 000000000000..5832184ae8c3 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/templates/etalons/data-cell-template-currentView=workWeek (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator-in-day-with-many-groups (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator-in-day-with-many-groups (fluent-next.blue.light).png new file mode 100644 index 000000000000..dba99813ce24 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator-in-day-with-many-groups (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator-in-week-with-many-groups (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator-in-week-with-many-groups (fluent-next.blue.light).png new file mode 100644 index 000000000000..e1541bfac55e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator-in-week-with-many-groups (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T00-00-00_g-horizontal_0_24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T00-00-00_g-horizontal_0_24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..72445b55289e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T00-00-00_g-horizontal_0_24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T00-00-00_g-horizontal_6_18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T00-00-00_g-horizontal_6_18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..1dc9c24c191d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T00-00-00_g-horizontal_6_18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T00-00-00_g-none_0_24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T00-00-00_g-none_0_24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..ee68eb16d838 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T00-00-00_g-none_0_24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T00-00-00_g-none_6_18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T00-00-00_g-none_6_18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..b1501f10ca22 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T00-00-00_g-none_6_18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T00-00-00_g-vertical_0_24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T00-00-00_g-vertical_0_24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..90af916dbbc2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T00-00-00_g-vertical_0_24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T00-00-00_g-vertical_6_18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T00-00-00_g-vertical_6_18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..17e87e74523c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T00-00-00_g-vertical_6_18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T06-30-00_g-horizontal_0_24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T06-30-00_g-horizontal_0_24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..63cabebdd5be Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T06-30-00_g-horizontal_0_24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T06-30-00_g-horizontal_6_18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T06-30-00_g-horizontal_6_18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..3f1f0d8cfa82 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T06-30-00_g-horizontal_6_18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T06-30-00_g-none_0_24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T06-30-00_g-none_0_24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..d30a725ec82f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T06-30-00_g-none_0_24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T06-30-00_g-none_6_18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T06-30-00_g-none_6_18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..d489b99d80a6 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T06-30-00_g-none_6_18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T06-30-00_g-vertical_0_24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T06-30-00_g-vertical_0_24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..ce2c41d71cf0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T06-30-00_g-vertical_0_24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T06-30-00_g-vertical_6_18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T06-30-00_g-vertical_6_18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..135de8fce716 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T06-30-00_g-vertical_6_18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T12-00-00_g-horizontal_0_24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T12-00-00_g-horizontal_0_24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..7cc737fefce1 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T12-00-00_g-horizontal_0_24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T12-00-00_g-horizontal_6_18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T12-00-00_g-horizontal_6_18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..882d2b33d892 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T12-00-00_g-horizontal_6_18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T12-00-00_g-none_0_24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T12-00-00_g-none_0_24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..3089d0499c9a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T12-00-00_g-none_0_24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T12-00-00_g-none_6_18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T12-00-00_g-none_6_18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..da0f17132603 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T12-00-00_g-none_6_18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T12-00-00_g-vertical_0_24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T12-00-00_g-vertical_0_24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..f9d37a1b6004 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T12-00-00_g-vertical_0_24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T12-00-00_g-vertical_6_18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T12-00-00_g-vertical_6_18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..121170dfd1ce Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T12-00-00_g-vertical_6_18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T17-30-00_g-horizontal_0_24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T17-30-00_g-horizontal_0_24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..f4691cdf20be Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T17-30-00_g-horizontal_0_24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T17-30-00_g-horizontal_6_18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T17-30-00_g-horizontal_6_18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..99051788e550 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T17-30-00_g-horizontal_6_18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T17-30-00_g-none_0_24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T17-30-00_g-none_0_24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..75e91532c21f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T17-30-00_g-none_0_24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T17-30-00_g-none_6_18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T17-30-00_g-none_6_18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..2ecafc0423e0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T17-30-00_g-none_6_18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T17-30-00_g-vertical_0_24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T17-30-00_g-vertical_0_24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..f601272ee0a3 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T17-30-00_g-vertical_0_24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T17-30-00_g-vertical_6_18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T17-30-00_g-vertical_6_18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..c813353cf9b8 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T17-30-00_g-vertical_6_18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T23-59-59_g-horizontal_0_24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T23-59-59_g-horizontal_0_24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..72feeb16a109 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T23-59-59_g-horizontal_0_24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T23-59-59_g-horizontal_6_18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T23-59-59_g-horizontal_6_18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..97f97e912028 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T23-59-59_g-horizontal_6_18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T23-59-59_g-none_0_24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T23-59-59_g-none_0_24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..e8a204bca4d8 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T23-59-59_g-none_0_24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T23-59-59_g-none_6_18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T23-59-59_g-none_6_18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..bf3c185b6c83 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T23-59-59_g-none_6_18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T23-59-59_g-vertical_0_24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T23-59-59_g-vertical_0_24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..2b44915a4477 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T23-59-59_g-vertical_0_24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T23-59-59_g-vertical_6_18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T23-59-59_g-vertical_6_18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..fe142122335f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_day_2023-12-03T23-59-59_g-vertical_6_18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineDay_2023-12-03T00-00-00_g-none_0_24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineDay_2023-12-03T00-00-00_g-none_0_24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..0b1bb0751567 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineDay_2023-12-03T00-00-00_g-none_0_24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineDay_2023-12-03T00-00-00_g-none_6_18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineDay_2023-12-03T00-00-00_g-none_6_18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..f33320256f73 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineDay_2023-12-03T00-00-00_g-none_6_18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineDay_2023-12-03T00-00-00_g-vertical_0_24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineDay_2023-12-03T00-00-00_g-vertical_0_24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..fac992a00f1e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineDay_2023-12-03T00-00-00_g-vertical_0_24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineDay_2023-12-03T00-00-00_g-vertical_6_18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineDay_2023-12-03T00-00-00_g-vertical_6_18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..15a0e4b8c11a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineDay_2023-12-03T00-00-00_g-vertical_6_18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineDay_2023-12-03T06-30-00_g-none_0_24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineDay_2023-12-03T06-30-00_g-none_0_24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..70e56d8f28af Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineDay_2023-12-03T06-30-00_g-none_0_24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineDay_2023-12-03T06-30-00_g-none_6_18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineDay_2023-12-03T06-30-00_g-none_6_18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..42833c9d29c6 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineDay_2023-12-03T06-30-00_g-none_6_18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineDay_2023-12-03T06-30-00_g-vertical_0_24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineDay_2023-12-03T06-30-00_g-vertical_0_24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..d473cdcda2cf Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineDay_2023-12-03T06-30-00_g-vertical_0_24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineDay_2023-12-03T06-30-00_g-vertical_6_18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineDay_2023-12-03T06-30-00_g-vertical_6_18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..38bfb172d156 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineDay_2023-12-03T06-30-00_g-vertical_6_18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineDay_2023-12-03T12-00-00_g-none_0_24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineDay_2023-12-03T12-00-00_g-none_0_24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..6c3c4877b73d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineDay_2023-12-03T12-00-00_g-none_0_24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineDay_2023-12-03T12-00-00_g-none_6_18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineDay_2023-12-03T12-00-00_g-none_6_18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..703df07f84cf Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineDay_2023-12-03T12-00-00_g-none_6_18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineDay_2023-12-03T12-00-00_g-vertical_0_24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineDay_2023-12-03T12-00-00_g-vertical_0_24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..96915da0ca36 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineDay_2023-12-03T12-00-00_g-vertical_0_24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineDay_2023-12-03T12-00-00_g-vertical_6_18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineDay_2023-12-03T12-00-00_g-vertical_6_18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..7f7af2ff0897 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineDay_2023-12-03T12-00-00_g-vertical_6_18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineDay_2023-12-03T17-30-00_g-none_0_24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineDay_2023-12-03T17-30-00_g-none_0_24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..1da319c1b7f3 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineDay_2023-12-03T17-30-00_g-none_0_24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineDay_2023-12-03T17-30-00_g-none_6_18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineDay_2023-12-03T17-30-00_g-none_6_18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..32674d269ad5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineDay_2023-12-03T17-30-00_g-none_6_18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineDay_2023-12-03T17-30-00_g-vertical_0_24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineDay_2023-12-03T17-30-00_g-vertical_0_24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..efc922dacb7c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineDay_2023-12-03T17-30-00_g-vertical_0_24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineDay_2023-12-03T17-30-00_g-vertical_6_18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineDay_2023-12-03T17-30-00_g-vertical_6_18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..6d15672cf476 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineDay_2023-12-03T17-30-00_g-vertical_6_18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineDay_2023-12-03T23-59-59_g-none_0_24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineDay_2023-12-03T23-59-59_g-none_0_24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..3707aa8daafa Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineDay_2023-12-03T23-59-59_g-none_0_24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineDay_2023-12-03T23-59-59_g-none_6_18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineDay_2023-12-03T23-59-59_g-none_6_18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..147abdef10d5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineDay_2023-12-03T23-59-59_g-none_6_18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineDay_2023-12-03T23-59-59_g-vertical_0_24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineDay_2023-12-03T23-59-59_g-vertical_0_24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..79c838b7cf6a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineDay_2023-12-03T23-59-59_g-vertical_0_24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineDay_2023-12-03T23-59-59_g-vertical_6_18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineDay_2023-12-03T23-59-59_g-vertical_6_18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..1df44d516ac0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineDay_2023-12-03T23-59-59_g-vertical_6_18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineMonth_2023-12-03T00-00-00_g-none_0_24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineMonth_2023-12-03T00-00-00_g-none_0_24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..06085b8b081f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineMonth_2023-12-03T00-00-00_g-none_0_24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineMonth_2023-12-03T00-00-00_g-vertical_0_24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineMonth_2023-12-03T00-00-00_g-vertical_0_24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..1b595d373f4e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineMonth_2023-12-03T00-00-00_g-vertical_0_24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineMonth_2023-12-03T06-30-00_g-none_0_24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineMonth_2023-12-03T06-30-00_g-none_0_24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..3c05d115b666 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineMonth_2023-12-03T06-30-00_g-none_0_24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineMonth_2023-12-03T06-30-00_g-vertical_0_24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineMonth_2023-12-03T06-30-00_g-vertical_0_24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..d866cec9fbad Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineMonth_2023-12-03T06-30-00_g-vertical_0_24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineMonth_2023-12-03T12-00-00_g-none_0_24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineMonth_2023-12-03T12-00-00_g-none_0_24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..e0ea552eb237 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineMonth_2023-12-03T12-00-00_g-none_0_24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineMonth_2023-12-03T12-00-00_g-vertical_0_24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineMonth_2023-12-03T12-00-00_g-vertical_0_24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..ed207590b71f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineMonth_2023-12-03T12-00-00_g-vertical_0_24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineMonth_2023-12-03T17-30-00_g-none_0_24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineMonth_2023-12-03T17-30-00_g-none_0_24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..e054d8d69b7f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineMonth_2023-12-03T17-30-00_g-none_0_24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineMonth_2023-12-03T17-30-00_g-vertical_0_24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineMonth_2023-12-03T17-30-00_g-vertical_0_24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..eec0530e643a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineMonth_2023-12-03T17-30-00_g-vertical_0_24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineMonth_2023-12-03T23-59-59_g-none_0_24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineMonth_2023-12-03T23-59-59_g-none_0_24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..cdf3a833228c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineMonth_2023-12-03T23-59-59_g-none_0_24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineMonth_2023-12-03T23-59-59_g-vertical_0_24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineMonth_2023-12-03T23-59-59_g-vertical_0_24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..9d5f71f599c4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineMonth_2023-12-03T23-59-59_g-vertical_0_24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineWeek_2023-12-03T00-00-00_g-none_0_24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineWeek_2023-12-03T00-00-00_g-none_0_24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..a0136e85f763 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineWeek_2023-12-03T00-00-00_g-none_0_24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineWeek_2023-12-03T00-00-00_g-none_6_18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineWeek_2023-12-03T00-00-00_g-none_6_18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..bb6492ec6e3a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineWeek_2023-12-03T00-00-00_g-none_6_18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineWeek_2023-12-03T00-00-00_g-vertical_0_24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineWeek_2023-12-03T00-00-00_g-vertical_0_24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..1f89bdf64c0e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineWeek_2023-12-03T00-00-00_g-vertical_0_24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineWeek_2023-12-03T00-00-00_g-vertical_6_18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineWeek_2023-12-03T00-00-00_g-vertical_6_18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..b5a166fe6c8a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineWeek_2023-12-03T00-00-00_g-vertical_6_18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineWeek_2023-12-03T06-30-00_g-none_0_24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineWeek_2023-12-03T06-30-00_g-none_0_24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..98fcb9249565 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineWeek_2023-12-03T06-30-00_g-none_0_24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineWeek_2023-12-03T06-30-00_g-none_6_18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineWeek_2023-12-03T06-30-00_g-none_6_18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..fb1dad15e6aa Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineWeek_2023-12-03T06-30-00_g-none_6_18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineWeek_2023-12-03T06-30-00_g-vertical_0_24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineWeek_2023-12-03T06-30-00_g-vertical_0_24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..e30a1bb1f208 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineWeek_2023-12-03T06-30-00_g-vertical_0_24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineWeek_2023-12-03T06-30-00_g-vertical_6_18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineWeek_2023-12-03T06-30-00_g-vertical_6_18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..a405cb11706d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineWeek_2023-12-03T06-30-00_g-vertical_6_18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineWeek_2023-12-03T12-00-00_g-none_0_24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineWeek_2023-12-03T12-00-00_g-none_0_24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..c16660e16a6e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineWeek_2023-12-03T12-00-00_g-none_0_24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineWeek_2023-12-03T12-00-00_g-none_6_18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineWeek_2023-12-03T12-00-00_g-none_6_18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..7c8063fa6e74 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineWeek_2023-12-03T12-00-00_g-none_6_18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineWeek_2023-12-03T12-00-00_g-vertical_0_24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineWeek_2023-12-03T12-00-00_g-vertical_0_24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..a7dcc086fa1b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineWeek_2023-12-03T12-00-00_g-vertical_0_24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineWeek_2023-12-03T12-00-00_g-vertical_6_18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineWeek_2023-12-03T12-00-00_g-vertical_6_18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..2fd31ab6f6f5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineWeek_2023-12-03T12-00-00_g-vertical_6_18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineWeek_2023-12-03T17-30-00_g-none_0_24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineWeek_2023-12-03T17-30-00_g-none_0_24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..cbf62679aa20 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineWeek_2023-12-03T17-30-00_g-none_0_24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineWeek_2023-12-03T17-30-00_g-none_6_18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineWeek_2023-12-03T17-30-00_g-none_6_18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..0beefa97f1aa Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineWeek_2023-12-03T17-30-00_g-none_6_18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineWeek_2023-12-03T17-30-00_g-vertical_0_24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineWeek_2023-12-03T17-30-00_g-vertical_0_24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..17f307c85326 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineWeek_2023-12-03T17-30-00_g-vertical_0_24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineWeek_2023-12-03T17-30-00_g-vertical_6_18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineWeek_2023-12-03T17-30-00_g-vertical_6_18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..e86aa0478cdf Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineWeek_2023-12-03T17-30-00_g-vertical_6_18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineWeek_2023-12-03T23-59-59_g-none_0_24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineWeek_2023-12-03T23-59-59_g-none_0_24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..ac1bda43af48 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineWeek_2023-12-03T23-59-59_g-none_0_24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineWeek_2023-12-03T23-59-59_g-none_6_18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineWeek_2023-12-03T23-59-59_g-none_6_18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..6a039c9480f1 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineWeek_2023-12-03T23-59-59_g-none_6_18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineWeek_2023-12-03T23-59-59_g-vertical_0_24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineWeek_2023-12-03T23-59-59_g-vertical_0_24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..135ca769ea19 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineWeek_2023-12-03T23-59-59_g-vertical_0_24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineWeek_2023-12-03T23-59-59_g-vertical_6_18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineWeek_2023-12-03T23-59-59_g-vertical_6_18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..37096895b116 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_timelineWeek_2023-12-03T23-59-59_g-vertical_6_18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T00-00-00_g-horizontal_0_24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T00-00-00_g-horizontal_0_24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..eaa2ca643188 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T00-00-00_g-horizontal_0_24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T00-00-00_g-horizontal_6_18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T00-00-00_g-horizontal_6_18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..f4c41e6c5cb9 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T00-00-00_g-horizontal_6_18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T00-00-00_g-none_0_24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T00-00-00_g-none_0_24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..811663d4cf2a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T00-00-00_g-none_0_24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T00-00-00_g-none_6_18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T00-00-00_g-none_6_18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..dd3b921caed1 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T00-00-00_g-none_6_18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T00-00-00_g-vertical_0_24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T00-00-00_g-vertical_0_24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..a03b43e13be6 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T00-00-00_g-vertical_0_24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T00-00-00_g-vertical_6_18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T00-00-00_g-vertical_6_18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..3f61b659b9e1 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T00-00-00_g-vertical_6_18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T06-30-00_g-horizontal_0_24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T06-30-00_g-horizontal_0_24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..b4cdb15a2f20 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T06-30-00_g-horizontal_0_24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T06-30-00_g-horizontal_6_18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T06-30-00_g-horizontal_6_18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..3d2be7622763 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T06-30-00_g-horizontal_6_18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T06-30-00_g-none_0_24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T06-30-00_g-none_0_24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..f452be75292a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T06-30-00_g-none_0_24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T06-30-00_g-none_6_18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T06-30-00_g-none_6_18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..9fe29e424373 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T06-30-00_g-none_6_18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T06-30-00_g-vertical_0_24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T06-30-00_g-vertical_0_24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..2c0e707b0876 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T06-30-00_g-vertical_0_24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T06-30-00_g-vertical_6_18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T06-30-00_g-vertical_6_18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..519641c4c23d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T06-30-00_g-vertical_6_18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T12-00-00_g-horizontal_0_24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T12-00-00_g-horizontal_0_24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..327182c74851 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T12-00-00_g-horizontal_0_24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T12-00-00_g-horizontal_6_18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T12-00-00_g-horizontal_6_18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..d73189d11524 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T12-00-00_g-horizontal_6_18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T12-00-00_g-none_0_24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T12-00-00_g-none_0_24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..d3835cfc642e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T12-00-00_g-none_0_24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T12-00-00_g-none_6_18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T12-00-00_g-none_6_18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..a52a23020842 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T12-00-00_g-none_6_18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T12-00-00_g-vertical_0_24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T12-00-00_g-vertical_0_24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..0aa85bdb2641 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T12-00-00_g-vertical_0_24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T12-00-00_g-vertical_6_18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T12-00-00_g-vertical_6_18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..6877ba20d921 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T12-00-00_g-vertical_6_18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T17-30-00_g-horizontal_0_24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T17-30-00_g-horizontal_0_24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..bf67a69f0c43 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T17-30-00_g-horizontal_0_24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T17-30-00_g-horizontal_6_18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T17-30-00_g-horizontal_6_18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..a91ddd229bd8 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T17-30-00_g-horizontal_6_18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T17-30-00_g-none_0_24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T17-30-00_g-none_0_24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..b35dfcc8dcd8 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T17-30-00_g-none_0_24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T17-30-00_g-none_6_18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T17-30-00_g-none_6_18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..b67723d801d2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T17-30-00_g-none_6_18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T17-30-00_g-vertical_0_24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T17-30-00_g-vertical_0_24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..603dd3383fca Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T17-30-00_g-vertical_0_24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T17-30-00_g-vertical_6_18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T17-30-00_g-vertical_6_18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..ca6bd30cb391 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T17-30-00_g-vertical_6_18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T23-59-59_g-horizontal_0_24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T23-59-59_g-horizontal_0_24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..8f2bbfd9b270 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T23-59-59_g-horizontal_0_24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T23-59-59_g-horizontal_6_18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T23-59-59_g-horizontal_6_18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..2c113b0323bf Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T23-59-59_g-horizontal_6_18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T23-59-59_g-none_0_24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T23-59-59_g-none_0_24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..98503bc04952 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T23-59-59_g-none_0_24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T23-59-59_g-none_6_18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T23-59-59_g-none_6_18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..9082b958242f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T23-59-59_g-none_6_18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T23-59-59_g-vertical_0_24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T23-59-59_g-vertical_0_24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..c4b3fb90be61 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T23-59-59_g-vertical_0_24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T23-59-59_g-vertical_6_18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T23-59-59_g-vertical_6_18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..54edf7354f09 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/current-time-indicator_week_2023-12-03T23-59-59_g-vertical_6_18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-day-crossScrolling=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-day-crossScrolling=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..d011e1fa8120 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-day-crossScrolling=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-day-crossScrolling=false-horizontal-grouping (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-day-crossScrolling=false-horizontal-grouping (fluent-next.blue.light).png new file mode 100644 index 000000000000..8b82cf88ec13 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-day-crossScrolling=false-horizontal-grouping (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-day-crossScrolling=false-vertical-grouping (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-day-crossScrolling=false-vertical-grouping (fluent-next.blue.light).png new file mode 100644 index 000000000000..6f4aee12710c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-day-crossScrolling=false-vertical-grouping (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-day-crossScrolling=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-day-crossScrolling=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..d011e1fa8120 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-day-crossScrolling=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-day-crossScrolling=true-horizontal-grouping (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-day-crossScrolling=true-horizontal-grouping (fluent-next.blue.light).png new file mode 100644 index 000000000000..8b82cf88ec13 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-day-crossScrolling=true-horizontal-grouping (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-day-crossScrolling=true-vertical-grouping (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-day-crossScrolling=true-vertical-grouping (fluent-next.blue.light).png new file mode 100644 index 000000000000..b09c7a82b430 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-day-crossScrolling=true-vertical-grouping (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-timelineDay-crossScrolling=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-timelineDay-crossScrolling=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..b744a66d57d6 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-timelineDay-crossScrolling=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-timelineDay-crossScrolling=false-horizontal-grouping (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-timelineDay-crossScrolling=false-horizontal-grouping (fluent-next.blue.light).png new file mode 100644 index 000000000000..066ca1da59aa Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-timelineDay-crossScrolling=false-horizontal-grouping (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-timelineDay-crossScrolling=false-vertical-grouping (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-timelineDay-crossScrolling=false-vertical-grouping (fluent-next.blue.light).png new file mode 100644 index 000000000000..066ca1da59aa Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-timelineDay-crossScrolling=false-vertical-grouping (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-timelineDay-crossScrolling=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-timelineDay-crossScrolling=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..b744a66d57d6 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-timelineDay-crossScrolling=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-timelineDay-crossScrolling=true-horizontal-grouping (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-timelineDay-crossScrolling=true-horizontal-grouping (fluent-next.blue.light).png new file mode 100644 index 000000000000..066ca1da59aa Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-timelineDay-crossScrolling=true-horizontal-grouping (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-timelineDay-crossScrolling=true-vertical-grouping (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-timelineDay-crossScrolling=true-vertical-grouping (fluent-next.blue.light).png new file mode 100644 index 000000000000..066ca1da59aa Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-timelineDay-crossScrolling=true-vertical-grouping (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-timelineMonth-crossScrolling=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-timelineMonth-crossScrolling=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..11009b0dbf2d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-timelineMonth-crossScrolling=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-timelineMonth-crossScrolling=false-horizontal-grouping (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-timelineMonth-crossScrolling=false-horizontal-grouping (fluent-next.blue.light).png new file mode 100644 index 000000000000..4d3c0d816880 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-timelineMonth-crossScrolling=false-horizontal-grouping (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-timelineMonth-crossScrolling=false-vertical-grouping (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-timelineMonth-crossScrolling=false-vertical-grouping (fluent-next.blue.light).png new file mode 100644 index 000000000000..50879a80fda5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-timelineMonth-crossScrolling=false-vertical-grouping (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-timelineMonth-crossScrolling=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-timelineMonth-crossScrolling=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..11009b0dbf2d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-timelineMonth-crossScrolling=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-timelineMonth-crossScrolling=true-horizontal-grouping (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-timelineMonth-crossScrolling=true-horizontal-grouping (fluent-next.blue.light).png new file mode 100644 index 000000000000..4d3c0d816880 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-timelineMonth-crossScrolling=true-horizontal-grouping (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-timelineMonth-crossScrolling=true-vertical-grouping (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-timelineMonth-crossScrolling=true-vertical-grouping (fluent-next.blue.light).png new file mode 100644 index 000000000000..50879a80fda5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-timelineMonth-crossScrolling=true-vertical-grouping (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-timelineWeek-crossScrolling=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-timelineWeek-crossScrolling=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..166ebcacb2b9 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-timelineWeek-crossScrolling=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-timelineWeek-crossScrolling=false-horizontal-grouping (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-timelineWeek-crossScrolling=false-horizontal-grouping (fluent-next.blue.light).png new file mode 100644 index 000000000000..9fd08a5598b7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-timelineWeek-crossScrolling=false-horizontal-grouping (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-timelineWeek-crossScrolling=false-vertical-grouping (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-timelineWeek-crossScrolling=false-vertical-grouping (fluent-next.blue.light).png new file mode 100644 index 000000000000..8ac4492e6bba Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-timelineWeek-crossScrolling=false-vertical-grouping (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-timelineWeek-crossScrolling=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-timelineWeek-crossScrolling=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..166ebcacb2b9 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-timelineWeek-crossScrolling=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-timelineWeek-crossScrolling=true-horizontal-grouping (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-timelineWeek-crossScrolling=true-horizontal-grouping (fluent-next.blue.light).png new file mode 100644 index 000000000000..9fd08a5598b7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-timelineWeek-crossScrolling=true-horizontal-grouping (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-timelineWeek-crossScrolling=true-vertical-grouping (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-timelineWeek-crossScrolling=true-vertical-grouping (fluent-next.blue.light).png new file mode 100644 index 000000000000..8ac4492e6bba Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-timelineWeek-crossScrolling=true-vertical-grouping (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-week-crossScrolling=false (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-week-crossScrolling=false (fluent-next.blue.light).png new file mode 100644 index 000000000000..dd1c81ac59c8 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-week-crossScrolling=false (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-week-crossScrolling=false-horizontal-grouping (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-week-crossScrolling=false-horizontal-grouping (fluent-next.blue.light).png new file mode 100644 index 000000000000..46c69f68f073 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-week-crossScrolling=false-horizontal-grouping (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-week-crossScrolling=false-vertical-grouping (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-week-crossScrolling=false-vertical-grouping (fluent-next.blue.light).png new file mode 100644 index 000000000000..e7e9b72f4e67 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-week-crossScrolling=false-vertical-grouping (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-week-crossScrolling=true (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-week-crossScrolling=true (fluent-next.blue.light).png new file mode 100644 index 000000000000..dd1c81ac59c8 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-week-crossScrolling=true (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-week-crossScrolling=true-horizontal-grouping (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-week-crossScrolling=true-horizontal-grouping (fluent-next.blue.light).png new file mode 100644 index 000000000000..bcd1f87bb3a6 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-week-crossScrolling=true-horizontal-grouping (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-week-crossScrolling=true-vertical-grouping (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-week-crossScrolling=true-vertical-grouping (fluent-next.blue.light).png new file mode 100644 index 000000000000..e4aa0c8333da Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-in-week-crossScrolling=true-vertical-grouping (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-virtual-scrolling-week-end (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-virtual-scrolling-week-end (fluent-next.blue.light).png new file mode 100644 index 000000000000..3e3ebcb276c3 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-virtual-scrolling-week-end (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-virtual-scrolling-week-end-with-current-time-indicator (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-virtual-scrolling-week-end-with-current-time-indicator (fluent-next.blue.light).png new file mode 100644 index 000000000000..244fb8259b9c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-virtual-scrolling-week-end-with-current-time-indicator (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-virtual-scrolling-week-start (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-virtual-scrolling-week-start (fluent-next.blue.light).png new file mode 100644 index 000000000000..0473d58821e4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-virtual-scrolling-week-start (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-virtual-scrolling-week-start-with-current-time-indicator (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-virtual-scrolling-week-start-with-current-time-indicator (fluent-next.blue.light).png new file mode 100644 index 000000000000..567c33b974c6 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/timeIndication/etalons/shader-virtual-scrolling-week-start-with-current-time-indicator (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/day/etalons/day-orientation=horizontal-allDay=false-interval=1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/day/etalons/day-orientation=horizontal-allDay=false-interval=1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..54939dafc5d5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/day/etalons/day-orientation=horizontal-allDay=false-interval=1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/day/etalons/day-orientation=horizontal-allDay=false-interval=2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/day/etalons/day-orientation=horizontal-allDay=false-interval=2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..25f983119111 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/day/etalons/day-orientation=horizontal-allDay=false-interval=2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/day/etalons/day-orientation=horizontal-allDay=true-interval=1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/day/etalons/day-orientation=horizontal-allDay=true-interval=1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..d44e105f67ae Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/day/etalons/day-orientation=horizontal-allDay=true-interval=1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/day/etalons/day-orientation=horizontal-allDay=true-interval=2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/day/etalons/day-orientation=horizontal-allDay=true-interval=2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..f3c7761a2b01 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/day/etalons/day-orientation=horizontal-allDay=true-interval=2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/day/etalons/day-orientation=vertical-allDay=false-interval=1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/day/etalons/day-orientation=vertical-allDay=false-interval=1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..425d8634fbce Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/day/etalons/day-orientation=vertical-allDay=false-interval=1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/day/etalons/day-orientation=vertical-allDay=false-interval=2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/day/etalons/day-orientation=vertical-allDay=false-interval=2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..6f1f4482b964 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/day/etalons/day-orientation=vertical-allDay=false-interval=2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/day/etalons/day-orientation=vertical-allDay=true-interval=1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/day/etalons/day-orientation=vertical-allDay=true-interval=1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..e8bdbfb21a5c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/day/etalons/day-orientation=vertical-allDay=true-interval=1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/day/etalons/day-orientation=vertical-allDay=true-interval=2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/day/etalons/day-orientation=vertical-allDay=true-interval=2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..6ccc8616c4e2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/day/etalons/day-orientation=vertical-allDay=true-interval=2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/etalons/cross-scrolling-sync (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/etalons/cross-scrolling-sync (fluent-next.blue.light).png new file mode 100644 index 000000000000..32204fbf1339 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/etalons/cross-scrolling-sync (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/etalons/cross-scrolling-sync-visibility (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/etalons/cross-scrolling-sync-visibility (fluent-next.blue.light).png new file mode 100644 index 000000000000..568a9047dca2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/etalons/cross-scrolling-sync-visibility (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/etalons/work-week-first-day-of-week (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/etalons/work-week-first-day-of-week (fluent-next.blue.light).png new file mode 100644 index 000000000000..c3e51ece41d0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/etalons/work-week-first-day-of-week (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/intervalCount/etalons/complex-start-date-in-timelineWeek (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/intervalCount/etalons/complex-start-date-in-timelineWeek (fluent-next.blue.light).png new file mode 100644 index 000000000000..e093acae19dd Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/intervalCount/etalons/complex-start-date-in-timelineWeek (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/intervalCount/etalons/complex-start-date-in-timelineWorkWeek (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/intervalCount/etalons/complex-start-date-in-timelineWorkWeek (fluent-next.blue.light).png new file mode 100644 index 000000000000..b0001b19b84c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/intervalCount/etalons/complex-start-date-in-timelineWorkWeek (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/intervalCount/etalons/complex-start-date-in-week (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/intervalCount/etalons/complex-start-date-in-week (fluent-next.blue.light).png new file mode 100644 index 000000000000..46138c68047d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/intervalCount/etalons/complex-start-date-in-week (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/intervalCount/etalons/complex-start-date-in-workWeek (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/intervalCount/etalons/complex-start-date-in-workWeek (fluent-next.blue.light).png new file mode 100644 index 000000000000..83a24efe5f6a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/intervalCount/etalons/complex-start-date-in-workWeek (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/intervalCount/etalons/start-date-in-month (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/intervalCount/etalons/start-date-in-month (fluent-next.blue.light).png new file mode 100644 index 000000000000..be0e9700ab17 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/intervalCount/etalons/start-date-in-month (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/intervalCount/etalons/start-date-in-month-with-form (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/intervalCount/etalons/start-date-in-month-with-form (fluent-next.blue.light).png new file mode 100644 index 000000000000..417685037d8d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/intervalCount/etalons/start-date-in-month-with-form (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/intervalCount/etalons/start-date-in-timelineDay (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/intervalCount/etalons/start-date-in-timelineDay (fluent-next.blue.light).png new file mode 100644 index 000000000000..4f0127c558eb Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/intervalCount/etalons/start-date-in-timelineDay (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/intervalCount/etalons/start-date-in-timelineDay-with-form (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/intervalCount/etalons/start-date-in-timelineDay-with-form (fluent-next.blue.light).png new file mode 100644 index 000000000000..8f65bb06cf34 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/intervalCount/etalons/start-date-in-timelineDay-with-form (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/intervalCount/etalons/start-date-in-timelineMonth (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/intervalCount/etalons/start-date-in-timelineMonth (fluent-next.blue.light).png new file mode 100644 index 000000000000..365f13bece74 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/intervalCount/etalons/start-date-in-timelineMonth (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/intervalCount/etalons/start-date-in-timelineMonth-with-form (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/intervalCount/etalons/start-date-in-timelineMonth-with-form (fluent-next.blue.light).png new file mode 100644 index 000000000000..4859ad6fdc45 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/intervalCount/etalons/start-date-in-timelineMonth-with-form (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/intervalCount/etalons/start-date-in-timelineWeek (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/intervalCount/etalons/start-date-in-timelineWeek (fluent-next.blue.light).png new file mode 100644 index 000000000000..915cc4c29acc Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/intervalCount/etalons/start-date-in-timelineWeek (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/intervalCount/etalons/start-date-in-timelineWeek-with-form (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/intervalCount/etalons/start-date-in-timelineWeek-with-form (fluent-next.blue.light).png new file mode 100644 index 000000000000..6d16d949628b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/intervalCount/etalons/start-date-in-timelineWeek-with-form (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/intervalCount/etalons/start-date-in-timelineWorkWeek (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/intervalCount/etalons/start-date-in-timelineWorkWeek (fluent-next.blue.light).png new file mode 100644 index 000000000000..275573bd3d90 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/intervalCount/etalons/start-date-in-timelineWorkWeek (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/intervalCount/etalons/start-date-in-timelineWorkWeek-with-form (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/intervalCount/etalons/start-date-in-timelineWorkWeek-with-form (fluent-next.blue.light).png new file mode 100644 index 000000000000..91b8f3fd9cd2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/intervalCount/etalons/start-date-in-timelineWorkWeek-with-form (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/intervalCount/etalons/start-date-in-week (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/intervalCount/etalons/start-date-in-week (fluent-next.blue.light).png new file mode 100644 index 000000000000..7ba7530c5b8c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/intervalCount/etalons/start-date-in-week (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/intervalCount/etalons/start-date-in-week-with-form (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/intervalCount/etalons/start-date-in-week-with-form (fluent-next.blue.light).png new file mode 100644 index 000000000000..033e0674e09d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/intervalCount/etalons/start-date-in-week-with-form (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/intervalCount/etalons/start-date-in-workWeek (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/intervalCount/etalons/start-date-in-workWeek (fluent-next.blue.light).png new file mode 100644 index 000000000000..c361151ffa89 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/intervalCount/etalons/start-date-in-workWeek (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/intervalCount/etalons/start-date-in-workWeek-with-form (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/intervalCount/etalons/start-date-in-workWeek-with-form (fluent-next.blue.light).png new file mode 100644 index 000000000000..57de55ee781e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/intervalCount/etalons/start-date-in-workWeek-with-form (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/material/etalons/week-without-all-day-panel (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/material/etalons/week-without-all-day-panel (fluent-next.blue.light).png new file mode 100644 index 000000000000..b8f9eff9c670 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/material/etalons/week-without-all-day-panel (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/timeline/etalons/timeline-month-change-current-date (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/timeline/etalons/timeline-month-change-current-date (fluent-next.blue.light).png new file mode 100644 index 000000000000..ee3ceaa17716 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/layout/views/timeline/etalons/timeline-month-change-current-date (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/month/etalons/month-february-2021 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/month/etalons/month-february-2021 (fluent-next.blue.light).png new file mode 100644 index 000000000000..1afbc1bc6ecb Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/month/etalons/month-february-2021 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/month/etalons/month-interval-count-12 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/month/etalons/month-interval-count-12 (fluent-next.blue.light).png new file mode 100644 index 000000000000..1038692bccde Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/month/etalons/month-interval-count-12 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/month/etalons/month-long-appointment(rtl=false, text=Appointment spans 2 rows) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/month/etalons/month-long-appointment(rtl=false, text=Appointment spans 2 rows) (fluent-next.blue.light).png new file mode 100644 index 000000000000..ee257b97d965 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/month/etalons/month-long-appointment(rtl=false, text=Appointment spans 2 rows) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/month/etalons/month-long-appointment(rtl=false, text=Appointment spans 3 rows) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/month/etalons/month-long-appointment(rtl=false, text=Appointment spans 3 rows) (fluent-next.blue.light).png new file mode 100644 index 000000000000..7f1386e0ac00 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/month/etalons/month-long-appointment(rtl=false, text=Appointment spans 3 rows) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/month/etalons/month-long-appointment(rtl=false, text=Appointment spans all rows) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/month/etalons/month-long-appointment(rtl=false, text=Appointment spans all rows) (fluent-next.blue.light).png new file mode 100644 index 000000000000..1c6603b4b59c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/month/etalons/month-long-appointment(rtl=false, text=Appointment spans all rows) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/month/etalons/month-long-appointment(rtl=true, text=Appointment spans 2 rows) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/month/etalons/month-long-appointment(rtl=true, text=Appointment spans 2 rows) (fluent-next.blue.light).png new file mode 100644 index 000000000000..b20cab441208 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/month/etalons/month-long-appointment(rtl=true, text=Appointment spans 2 rows) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/month/etalons/month-long-appointment(rtl=true, text=Appointment spans 3 rows) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/month/etalons/month-long-appointment(rtl=true, text=Appointment spans 3 rows) (fluent-next.blue.light).png new file mode 100644 index 000000000000..9bd0e2c3bae2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/month/etalons/month-long-appointment(rtl=true, text=Appointment spans 3 rows) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/month/etalons/month-long-appointment(rtl=true, text=Appointment spans all rows) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/month/etalons/month-long-appointment(rtl=true, text=Appointment spans all rows) (fluent-next.blue.light).png new file mode 100644 index 000000000000..f02d2bba3335 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/month/etalons/month-long-appointment(rtl=true, text=Appointment spans all rows) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/month/etalons/month-long-appointment-several-months-february(rtl=false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/month/etalons/month-long-appointment-several-months-february(rtl=false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..b3711e77f500 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/month/etalons/month-long-appointment-several-months-february(rtl=false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/month/etalons/month-long-appointment-several-months-february(rtl=true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/month/etalons/month-long-appointment-several-months-february(rtl=true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..b48a83c89695 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/month/etalons/month-long-appointment-several-months-february(rtl=true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/month/etalons/month-long-appointment-several-months-january(rtl=false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/month/etalons/month-long-appointment-several-months-january(rtl=false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..2ede1052a254 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/month/etalons/month-long-appointment-several-months-january(rtl=false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/month/etalons/month-long-appointment-several-months-january(rtl=true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/month/etalons/month-long-appointment-several-months-january(rtl=true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..cd2ebf733d8b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/month/etalons/month-long-appointment-several-months-january(rtl=true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/month/etalons/month-long-appointment-several-months-march(rtl=false) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/month/etalons/month-long-appointment-several-months-march(rtl=false) (fluent-next.blue.light).png new file mode 100644 index 000000000000..8ff9789a2f92 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/month/etalons/month-long-appointment-several-months-march(rtl=false) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/month/etalons/month-long-appointment-several-months-march(rtl=true) (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/month/etalons/month-long-appointment-several-months-march(rtl=true) (fluent-next.blue.light).png new file mode 100644 index 000000000000..8fd57994bf55 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/month/etalons/month-long-appointment-several-months-march(rtl=true) (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/month/etalons/month-long-recurrence-appointment-several-months-february (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/month/etalons/month-long-recurrence-appointment-several-months-february (fluent-next.blue.light).png new file mode 100644 index 000000000000..31417f180e26 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/month/etalons/month-long-recurrence-appointment-several-months-february (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/month/etalons/month-long-recurrence-appointment-several-months-january (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/month/etalons/month-long-recurrence-appointment-several-months-january (fluent-next.blue.light).png new file mode 100644 index 000000000000..2e8e135694f5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/month/etalons/month-long-recurrence-appointment-several-months-january (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/recurrences/etalons/basic-recurrence-appointment-after-drag (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/recurrences/etalons/basic-recurrence-appointment-after-drag (fluent-next.blue.light).png new file mode 100644 index 000000000000..43d5c5b57092 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/recurrences/etalons/basic-recurrence-appointment-after-drag (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/recurrences/etalons/basic-recurrence-appointment-init (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/recurrences/etalons/basic-recurrence-appointment-init (fluent-next.blue.light).png new file mode 100644 index 000000000000..3edd41eb7a98 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/recurrences/etalons/basic-recurrence-appointment-init (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/recurrences/etalons/recurrence-delete-dialog-screenshot (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/recurrences/etalons/recurrence-delete-dialog-screenshot (fluent-next.blue.light).png new file mode 100644 index 000000000000..32ef7d34c727 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/recurrences/etalons/recurrence-delete-dialog-screenshot (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/recurrences/etalons/recurrence-edit-dialog-screenshot (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/recurrences/etalons/recurrence-edit-dialog-screenshot (fluent-next.blue.light).png new file mode 100644 index 000000000000..358e44b635d2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/recurrences/etalons/recurrence-edit-dialog-screenshot (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/rerenderOnResize.ts b/e2e/testcafe-devextreme/tests/scheduler/common/rerenderOnResize.ts index 3dc3756cfc03..0920692d2096 100644 --- a/e2e/testcafe-devextreme/tests/scheduler/common/rerenderOnResize.ts +++ b/e2e/testcafe-devextreme/tests/scheduler/common/rerenderOnResize.ts @@ -2,6 +2,7 @@ import Scheduler from 'devextreme-testcafe-models/scheduler'; import { getStyleAttribute, setStyleAttribute } from '../../../helpers/domUtils'; import { createWidget } from '../../../helpers/createWidget'; import url from '../../../helpers/getPageUrl'; +import { getThemeName } from '../../../helpers/themeUtils'; fixture.disablePageReloads`Re-render on resize` .page(url(__dirname, '../../container.html')); @@ -60,5 +61,9 @@ test.meta({ browserSize: [300, 300] })('Appointment should not re-rendered on wi await setStyleAttribute(element, 'background-color: red;'); - await t.expect(await getStyleAttribute(element)).eql('transform: translate(0px, 30px); width: 200px; height: 61.7539px; background-color: red;'); + // fluent-next raised the header by 2px, so with a fixed widget height the work space lost + // the same 2px and the appointment's share of it shrank by half a pixel + const height = getThemeName() === 'fluent-next' ? '61.2539px' : '61.7539px'; + + await t.expect(await getStyleAttribute(element)).eql(`transform: translate(0px, 30px); width: 200px; height: ${height}; background-color: red;`); }).before(async () => createScheduler('#container', { width: 600, height: 400 })); diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/resizeAppointments/etalons/resize-all-day-workweek-weekend-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/resizeAppointments/etalons/resize-all-day-workweek-weekend-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..5130b6c7ab7d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/resizeAppointments/etalons/resize-all-day-workweek-weekend-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/resizeAppointments/etalons/resize-all-day-workweek-weekend-1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/resizeAppointments/etalons/resize-all-day-workweek-weekend-1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..f69d7d380751 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/resizeAppointments/etalons/resize-all-day-workweek-weekend-1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/timezone/T1102713/etalons/recurrent-appointment-timezone-dst__editing__drag-n-drop-down__summer-time (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/T1102713/etalons/recurrent-appointment-timezone-dst__editing__drag-n-drop-down__summer-time (fluent-next.blue.light).png new file mode 100644 index 000000000000..920ef4f0a784 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/T1102713/etalons/recurrent-appointment-timezone-dst__editing__drag-n-drop-down__summer-time (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/timezone/T1102713/etalons/recurrent-appointment-timezone-dst__editing__drag-n-drop-down__winter-time (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/T1102713/etalons/recurrent-appointment-timezone-dst__editing__drag-n-drop-down__winter-time (fluent-next.blue.light).png new file mode 100644 index 000000000000..7c8f2e8bbf61 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/T1102713/etalons/recurrent-appointment-timezone-dst__editing__drag-n-drop-down__winter-time (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/timezone/T1102713/etalons/recurrent-appointment-timezone-dst__editing__drag-n-drop-up__summer-time (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/T1102713/etalons/recurrent-appointment-timezone-dst__editing__drag-n-drop-up__summer-time (fluent-next.blue.light).png new file mode 100644 index 000000000000..a9e0e57709d5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/T1102713/etalons/recurrent-appointment-timezone-dst__editing__drag-n-drop-up__summer-time (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/timezone/T1102713/etalons/recurrent-appointment-timezone-dst__editing__drag-n-drop-up__winter-time (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/T1102713/etalons/recurrent-appointment-timezone-dst__editing__drag-n-drop-up__winter-time (fluent-next.blue.light).png new file mode 100644 index 000000000000..8aee42eb71dc Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/T1102713/etalons/recurrent-appointment-timezone-dst__editing__drag-n-drop-up__winter-time (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/timezone/T1102713/etalons/recurrent-appointment-timezone-dst__editing__popup__summer-time (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/T1102713/etalons/recurrent-appointment-timezone-dst__editing__popup__summer-time (fluent-next.blue.light).png new file mode 100644 index 000000000000..85347fedfd98 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/T1102713/etalons/recurrent-appointment-timezone-dst__editing__popup__summer-time (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/timezone/T1102713/etalons/recurrent-appointment-timezone-dst__editing__popup__winter-time (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/T1102713/etalons/recurrent-appointment-timezone-dst__editing__popup__winter-time (fluent-next.blue.light).png new file mode 100644 index 000000000000..72baa55753cf Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/T1102713/etalons/recurrent-appointment-timezone-dst__editing__popup__winter-time (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/timezone/T1102713/etalons/recurrent-appointment-timezone-dst__editing__resize-bottom__summer-time (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/T1102713/etalons/recurrent-appointment-timezone-dst__editing__resize-bottom__summer-time (fluent-next.blue.light).png new file mode 100644 index 000000000000..578ae4f5ae15 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/T1102713/etalons/recurrent-appointment-timezone-dst__editing__resize-bottom__summer-time (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/timezone/T1102713/etalons/recurrent-appointment-timezone-dst__editing__resize-bottom__winter-time (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/T1102713/etalons/recurrent-appointment-timezone-dst__editing__resize-bottom__winter-time (fluent-next.blue.light).png new file mode 100644 index 000000000000..3b4d0329a7c6 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/T1102713/etalons/recurrent-appointment-timezone-dst__editing__resize-bottom__winter-time (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/timezone/T1102713/etalons/recurrent-appointment-timezone-dst__editing__resize-top__summer-time (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/T1102713/etalons/recurrent-appointment-timezone-dst__editing__resize-top__summer-time (fluent-next.blue.light).png new file mode 100644 index 000000000000..4d43894ed1d5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/T1102713/etalons/recurrent-appointment-timezone-dst__editing__resize-top__summer-time (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/timezone/T1102713/etalons/recurrent-appointment-timezone-dst__editing__resize-top__winter-time (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/T1102713/etalons/recurrent-appointment-timezone-dst__editing__resize-top__winter-time (fluent-next.blue.light).png new file mode 100644 index 000000000000..564d644bf185 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/T1102713/etalons/recurrent-appointment-timezone-dst__editing__resize-top__winter-time (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-monthly-recurrent__greater-date__greater-timezone__next-view-date (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-monthly-recurrent__greater-date__greater-timezone__next-view-date (fluent-next.blue.light).png new file mode 100644 index 000000000000..def6edebb823 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-monthly-recurrent__greater-date__greater-timezone__next-view-date (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-monthly-recurrent__greater-date__greater-timezone__same-view-date (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-monthly-recurrent__greater-date__greater-timezone__same-view-date (fluent-next.blue.light).png new file mode 100644 index 000000000000..12aa8365d355 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-monthly-recurrent__greater-date__greater-timezone__same-view-date (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-monthly-recurrent__greater-date__lower-timezone__next-view-date (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-monthly-recurrent__greater-date__lower-timezone__next-view-date (fluent-next.blue.light).png new file mode 100644 index 000000000000..fb1e004b8046 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-monthly-recurrent__greater-date__lower-timezone__next-view-date (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-monthly-recurrent__greater-date__lower-timezone__same-view-date (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-monthly-recurrent__greater-date__lower-timezone__same-view-date (fluent-next.blue.light).png new file mode 100644 index 000000000000..12aa8365d355 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-monthly-recurrent__greater-date__lower-timezone__same-view-date (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-monthly-recurrent__greater-date__same-timezone__next-view-date (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-monthly-recurrent__greater-date__same-timezone__next-view-date (fluent-next.blue.light).png new file mode 100644 index 000000000000..b1845cd1dd4d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-monthly-recurrent__greater-date__same-timezone__next-view-date (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-monthly-recurrent__greater-date__same-timezone__same-view-date (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-monthly-recurrent__greater-date__same-timezone__same-view-date (fluent-next.blue.light).png new file mode 100644 index 000000000000..12aa8365d355 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-monthly-recurrent__greater-date__same-timezone__same-view-date (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-monthly-recurrent__lower-date__greater-timezone (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-monthly-recurrent__lower-date__greater-timezone (fluent-next.blue.light).png new file mode 100644 index 000000000000..e80690fd406d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-monthly-recurrent__lower-date__greater-timezone (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-monthly-recurrent__lower-date__lower-timezone (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-monthly-recurrent__lower-date__lower-timezone (fluent-next.blue.light).png new file mode 100644 index 000000000000..f6a7d75e7a3f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-monthly-recurrent__lower-date__lower-timezone (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-monthly-recurrent__lower-date__same-timezone (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-monthly-recurrent__lower-date__same-timezone (fluent-next.blue.light).png new file mode 100644 index 000000000000..5d6d9729aba4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-monthly-recurrent__lower-date__same-timezone (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-monthly-recurrent__same-date__greater-timezone (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-monthly-recurrent__same-date__greater-timezone (fluent-next.blue.light).png new file mode 100644 index 000000000000..b01ec5b335ed Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-monthly-recurrent__same-date__greater-timezone (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-monthly-recurrent__same-date__lower-timezone (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-monthly-recurrent__same-date__lower-timezone (fluent-next.blue.light).png new file mode 100644 index 000000000000..df7f6b1ec290 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-monthly-recurrent__same-date__lower-timezone (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-monthly-recurrent__same-date__same-timezone (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-monthly-recurrent__same-date__same-timezone (fluent-next.blue.light).png new file mode 100644 index 000000000000..5d6d9729aba4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-monthly-recurrent__same-date__same-timezone (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-weekly-recurrent__multiple-appointment__first-week__greater-timezone (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-weekly-recurrent__multiple-appointment__first-week__greater-timezone (fluent-next.blue.light).png new file mode 100644 index 000000000000..91361df0bf14 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-weekly-recurrent__multiple-appointment__first-week__greater-timezone (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-weekly-recurrent__multiple-appointment__first-week__lower-timezone (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-weekly-recurrent__multiple-appointment__first-week__lower-timezone (fluent-next.blue.light).png new file mode 100644 index 000000000000..ad823ce6b8be Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-weekly-recurrent__multiple-appointment__first-week__lower-timezone (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-weekly-recurrent__multiple-appointment__first-week__same-timezone (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-weekly-recurrent__multiple-appointment__first-week__same-timezone (fluent-next.blue.light).png new file mode 100644 index 000000000000..f372eadef26f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-weekly-recurrent__multiple-appointment__first-week__same-timezone (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-weekly-recurrent__multiple-appointment__second-week__greater-timezone (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-weekly-recurrent__multiple-appointment__second-week__greater-timezone (fluent-next.blue.light).png new file mode 100644 index 000000000000..e450013f8939 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-weekly-recurrent__multiple-appointment__second-week__greater-timezone (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-weekly-recurrent__multiple-appointment__second-week__lower-timezone (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-weekly-recurrent__multiple-appointment__second-week__lower-timezone (fluent-next.blue.light).png new file mode 100644 index 000000000000..28319d93111c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-weekly-recurrent__multiple-appointment__second-week__lower-timezone (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-weekly-recurrent__multiple-appointment__second-week__same-timezone (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-weekly-recurrent__multiple-appointment__second-week__same-timezone (fluent-next.blue.light).png new file mode 100644 index 000000000000..895e7c5e92e8 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-weekly-recurrent__multiple-appointment__second-week__same-timezone (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-weekly-recurrent__one-appointment__day-shift__greater-timezone (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-weekly-recurrent__one-appointment__day-shift__greater-timezone (fluent-next.blue.light).png new file mode 100644 index 000000000000..b01ec5b335ed Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-weekly-recurrent__one-appointment__day-shift__greater-timezone (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-weekly-recurrent__one-appointment__day-shift__lower-timezone (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-weekly-recurrent__one-appointment__day-shift__lower-timezone (fluent-next.blue.light).png new file mode 100644 index 000000000000..a26349fa0f67 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-weekly-recurrent__one-appointment__day-shift__lower-timezone (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-weekly-recurrent__one-appointment__first-week__max-negative-timezone-offset (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-weekly-recurrent__one-appointment__first-week__max-negative-timezone-offset (fluent-next.blue.light).png new file mode 100644 index 000000000000..55c53b50e299 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-weekly-recurrent__one-appointment__first-week__max-negative-timezone-offset (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-weekly-recurrent__one-appointment__first-week__max-positive-timezone-offset (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-weekly-recurrent__one-appointment__first-week__max-positive-timezone-offset (fluent-next.blue.light).png new file mode 100644 index 000000000000..ce92b2849bf7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-weekly-recurrent__one-appointment__first-week__max-positive-timezone-offset (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-weekly-recurrent__one-appointment__next-view-shift__first-week (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-weekly-recurrent__one-appointment__next-view-shift__first-week (fluent-next.blue.light).png new file mode 100644 index 000000000000..12aa8365d355 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-weekly-recurrent__one-appointment__next-view-shift__first-week (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-weekly-recurrent__one-appointment__next-view-shift__second-week (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-weekly-recurrent__one-appointment__next-view-shift__second-week (fluent-next.blue.light).png new file mode 100644 index 000000000000..8d51b364b25d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-weekly-recurrent__one-appointment__next-view-shift__second-week (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-weekly-recurrent__one-appointment__previous-view-shift__before-week (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-weekly-recurrent__one-appointment__previous-view-shift__before-week (fluent-next.blue.light).png new file mode 100644 index 000000000000..f3d978f638df Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-weekly-recurrent__one-appointment__previous-view-shift__before-week (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-weekly-recurrent__one-appointment__previous-view-shift__first-week (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-weekly-recurrent__one-appointment__previous-view-shift__first-week (fluent-next.blue.light).png new file mode 100644 index 000000000000..6a55f7c15185 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-weekly-recurrent__one-appointment__previous-view-shift__first-week (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-weekly-recurrent__one-appointment__same-timezone (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-weekly-recurrent__one-appointment__same-timezone (fluent-next.blue.light).png new file mode 100644 index 000000000000..5d6d9729aba4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-weekly-recurrent__one-appointment__same-timezone (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-weekly-recurrent__one-appointment__second-week__max-negative-timezone-offset (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-weekly-recurrent__one-appointment__second-week__max-negative-timezone-offset (fluent-next.blue.light).png new file mode 100644 index 000000000000..014774307916 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-weekly-recurrent__one-appointment__second-week__max-negative-timezone-offset (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-weekly-recurrent__one-appointment__second-week__max-positive-timezone-offset (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-weekly-recurrent__one-appointment__second-week__max-positive-timezone-offset (fluent-next.blue.light).png new file mode 100644 index 000000000000..a8a52402d5a4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-weekly-recurrent__one-appointment__second-week__max-positive-timezone-offset (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-weekly-recurrent__one-appointment__week-shift__greater-timezone (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-weekly-recurrent__one-appointment__week-shift__greater-timezone (fluent-next.blue.light).png new file mode 100644 index 000000000000..fcbb9dbd3164 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-weekly-recurrent__one-appointment__week-shift__greater-timezone (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-weekly-recurrent__one-appointment__week-shift__lower-timezone (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-weekly-recurrent__one-appointment__week-shift__lower-timezone (fluent-next.blue.light).png new file mode 100644 index 000000000000..cb2ec2f9190b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-weekly-recurrent__one-appointment__week-shift__lower-timezone (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-weekly-recurrent__one-evening-appointment__same-timezone (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-weekly-recurrent__one-evening-appointment__same-timezone (fluent-next.blue.light).png new file mode 100644 index 000000000000..8cbce8c0c9c2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-weekly-recurrent__one-evening-appointment__same-timezone (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-weekly-recurrent__one-morning-appointment__same-timezone (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-weekly-recurrent__one-morning-appointment__same-timezone (fluent-next.blue.light).png new file mode 100644 index 000000000000..5059872c1fa6 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-weekly-recurrent__one-morning-appointment__same-timezone (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-yearly-recurrent__greater-date__greater-timezone__next-view-date (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-yearly-recurrent__greater-date__greater-timezone__next-view-date (fluent-next.blue.light).png new file mode 100644 index 000000000000..a183a5cc60cc Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-yearly-recurrent__greater-date__greater-timezone__next-view-date (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-yearly-recurrent__greater-date__greater-timezone__same-view-date (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-yearly-recurrent__greater-date__greater-timezone__same-view-date (fluent-next.blue.light).png new file mode 100644 index 000000000000..12aa8365d355 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-yearly-recurrent__greater-date__greater-timezone__same-view-date (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-yearly-recurrent__greater-date__lower-timezone__next-view-date (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-yearly-recurrent__greater-date__lower-timezone__next-view-date (fluent-next.blue.light).png new file mode 100644 index 000000000000..ec6341e29b3d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-yearly-recurrent__greater-date__lower-timezone__next-view-date (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-yearly-recurrent__greater-date__lower-timezone__same-view-date (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-yearly-recurrent__greater-date__lower-timezone__same-view-date (fluent-next.blue.light).png new file mode 100644 index 000000000000..12aa8365d355 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-yearly-recurrent__greater-date__lower-timezone__same-view-date (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-yearly-recurrent__greater-date__same-timezone__next-view-date (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-yearly-recurrent__greater-date__same-timezone__next-view-date (fluent-next.blue.light).png new file mode 100644 index 000000000000..b8dc43190c79 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-yearly-recurrent__greater-date__same-timezone__next-view-date (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-yearly-recurrent__greater-date__same-timezone__same-view-date (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-yearly-recurrent__greater-date__same-timezone__same-view-date (fluent-next.blue.light).png new file mode 100644 index 000000000000..12aa8365d355 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-yearly-recurrent__greater-date__same-timezone__same-view-date (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-yearly-recurrent__lower-date__greater-timezone (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-yearly-recurrent__lower-date__greater-timezone (fluent-next.blue.light).png new file mode 100644 index 000000000000..e80690fd406d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-yearly-recurrent__lower-date__greater-timezone (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-yearly-recurrent__lower-date__lower-timezone (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-yearly-recurrent__lower-date__lower-timezone (fluent-next.blue.light).png new file mode 100644 index 000000000000..f6a7d75e7a3f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-yearly-recurrent__lower-date__lower-timezone (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-yearly-recurrent__lower-date__same-timezone (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-yearly-recurrent__lower-date__same-timezone (fluent-next.blue.light).png new file mode 100644 index 000000000000..5d6d9729aba4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-yearly-recurrent__lower-date__same-timezone (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-yearly-recurrent__same-date__greater-timezone (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-yearly-recurrent__same-date__greater-timezone (fluent-next.blue.light).png new file mode 100644 index 000000000000..e80690fd406d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-yearly-recurrent__same-date__greater-timezone (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-yearly-recurrent__same-date__lower-timezone (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-yearly-recurrent__same-date__lower-timezone (fluent-next.blue.light).png new file mode 100644 index 000000000000..f6a7d75e7a3f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-yearly-recurrent__same-date__lower-timezone (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-yearly-recurrent__same-date__same-timezone (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-yearly-recurrent__same-date__same-timezone (fluent-next.blue.light).png new file mode 100644 index 000000000000..5d6d9729aba4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/timezone-yearly-recurrent__same-date__same-timezone (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/without-timezone-recurrent__monthly-appointment__greater-timezone (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/without-timezone-recurrent__monthly-appointment__greater-timezone (fluent-next.blue.light).png new file mode 100644 index 000000000000..901ade6dbdea Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/without-timezone-recurrent__monthly-appointment__greater-timezone (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/without-timezone-recurrent__monthly-appointment__lower-timezone (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/without-timezone-recurrent__monthly-appointment__lower-timezone (fluent-next.blue.light).png new file mode 100644 index 000000000000..f9d0101b353e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/without-timezone-recurrent__monthly-appointment__lower-timezone (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/without-timezone-recurrent__monthly-appointment__same-timezone (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/without-timezone-recurrent__monthly-appointment__same-timezone (fluent-next.blue.light).png new file mode 100644 index 000000000000..5d6d9729aba4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/without-timezone-recurrent__monthly-appointment__same-timezone (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/without-timezone-recurrent__weekly-appointment__greater-timezone (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/without-timezone-recurrent__weekly-appointment__greater-timezone (fluent-next.blue.light).png new file mode 100644 index 000000000000..901ade6dbdea Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/without-timezone-recurrent__weekly-appointment__greater-timezone (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/without-timezone-recurrent__weekly-appointment__lower-timezone (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/without-timezone-recurrent__weekly-appointment__lower-timezone (fluent-next.blue.light).png new file mode 100644 index 000000000000..f9d0101b353e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/without-timezone-recurrent__weekly-appointment__lower-timezone (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/without-timezone-recurrent__weekly-appointment__same-timezone (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/without-timezone-recurrent__weekly-appointment__same-timezone (fluent-next.blue.light).png new file mode 100644 index 000000000000..5d6d9729aba4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/without-timezone-recurrent__weekly-appointment__same-timezone (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/without-timezone-recurrent__weekly-corner-appointments__greater-timezone (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/without-timezone-recurrent__weekly-corner-appointments__greater-timezone (fluent-next.blue.light).png new file mode 100644 index 000000000000..ae5311e9aebb Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/without-timezone-recurrent__weekly-corner-appointments__greater-timezone (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/without-timezone-recurrent__weekly-morning-appointment__greater-timezone (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/without-timezone-recurrent__weekly-morning-appointment__greater-timezone (fluent-next.blue.light).png new file mode 100644 index 000000000000..649ec0c81290 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/without-timezone-recurrent__weekly-morning-appointment__greater-timezone (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/without-timezone-recurrent__yearly-appointment__greater-timezone (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/without-timezone-recurrent__yearly-appointment__greater-timezone (fluent-next.blue.light).png new file mode 100644 index 000000000000..901ade6dbdea Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/without-timezone-recurrent__yearly-appointment__greater-timezone (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/without-timezone-recurrent__yearly-appointment__lower-timezone (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/without-timezone-recurrent__yearly-appointment__lower-timezone (fluent-next.blue.light).png new file mode 100644 index 000000000000..f9d0101b353e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/without-timezone-recurrent__yearly-appointment__lower-timezone (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/without-timezone-recurrent__yearly-appointment__same-timezone (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/without-timezone-recurrent__yearly-appointment__same-timezone (fluent-next.blue.light).png new file mode 100644 index 000000000000..5d6d9729aba4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/timezone/recurrence/etalons/without-timezone-recurrent__yearly-appointment__same-timezone (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/tooltipBehaviour/etalons/appointment-desktop-tooltip-screenshot (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/tooltipBehaviour/etalons/appointment-desktop-tooltip-screenshot (fluent-next.blue.light).png new file mode 100644 index 000000000000..0e765084e050 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/tooltipBehaviour/etalons/appointment-desktop-tooltip-screenshot (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/tooltipBehaviour/etalons/appointment-mobile-tooltip-screenshot (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/tooltipBehaviour/etalons/appointment-mobile-tooltip-screenshot (fluent-next.blue.light).png new file mode 100644 index 000000000000..6ddeddcd9899 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/tooltipBehaviour/etalons/appointment-mobile-tooltip-screenshot (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/tooltipBehaviour/etalons/collector-tooltip-focused-list-item (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/tooltipBehaviour/etalons/collector-tooltip-focused-list-item (fluent-next.blue.light).png new file mode 100644 index 000000000000..2f16f35cea87 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/tooltipBehaviour/etalons/collector-tooltip-focused-list-item (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/tooltipBehaviour/etalons/tooltip-rendering-with-react (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/tooltipBehaviour/etalons/tooltip-rendering-with-react (fluent-next.blue.light).png new file mode 100644 index 000000000000..ab1931a06165 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/tooltipBehaviour/etalons/tooltip-rendering-with-react (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/T1263428-virtual-scrolling-render-appointment (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/T1263428-virtual-scrolling-render-appointment (fluent-next.blue.light).png new file mode 100644 index 000000000000..1261f47f1b9d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/T1263428-virtual-scrolling-render-appointment (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-many-cells-month-horizontal-end (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-many-cells-month-horizontal-end (fluent-next.blue.light).png new file mode 100644 index 000000000000..0ac48aa68ed1 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-many-cells-month-horizontal-end (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-many-cells-month-horizontal-middle (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-many-cells-month-horizontal-middle (fluent-next.blue.light).png new file mode 100644 index 000000000000..3021e9cbbf18 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-many-cells-month-horizontal-middle (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-many-cells-month-horizontal-start (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-many-cells-month-horizontal-start (fluent-next.blue.light).png new file mode 100644 index 000000000000..d61469250c53 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-many-cells-month-horizontal-start (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-many-cells-month-vertical-end (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-many-cells-month-vertical-end (fluent-next.blue.light).png new file mode 100644 index 000000000000..d6cc36d76189 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-many-cells-month-vertical-end (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-many-cells-month-vertical-middle (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-many-cells-month-vertical-middle (fluent-next.blue.light).png new file mode 100644 index 000000000000..963e1facb016 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-many-cells-month-vertical-middle (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-many-cells-month-vertical-start (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-many-cells-month-vertical-start (fluent-next.blue.light).png new file mode 100644 index 000000000000..4d0de46bdbd9 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-many-cells-month-vertical-start (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-many-cells-week-horizontal-end (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-many-cells-week-horizontal-end (fluent-next.blue.light).png new file mode 100644 index 000000000000..c9d12384e44e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-many-cells-week-horizontal-end (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-many-cells-week-horizontal-middle (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-many-cells-week-horizontal-middle (fluent-next.blue.light).png new file mode 100644 index 000000000000..740296107912 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-many-cells-week-horizontal-middle (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-many-cells-week-horizontal-start (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-many-cells-week-horizontal-start (fluent-next.blue.light).png new file mode 100644 index 000000000000..4592f11f454f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-many-cells-week-horizontal-start (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-many-cells-week-vertical-end (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-many-cells-week-vertical-end (fluent-next.blue.light).png new file mode 100644 index 000000000000..3a27baad0ef6 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-many-cells-week-vertical-end (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-many-cells-week-vertical-middle (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-many-cells-week-vertical-middle (fluent-next.blue.light).png new file mode 100644 index 000000000000..acf7d026bc92 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-many-cells-week-vertical-middle (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-many-cells-week-vertical-start (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-many-cells-week-vertical-start (fluent-next.blue.light).png new file mode 100644 index 000000000000..11c2fa862b24 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-many-cells-week-vertical-start (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-many-cells-workWeek-horizontal-end (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-many-cells-workWeek-horizontal-end (fluent-next.blue.light).png new file mode 100644 index 000000000000..4c8841ec16ad Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-many-cells-workWeek-horizontal-end (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-many-cells-workWeek-horizontal-middle (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-many-cells-workWeek-horizontal-middle (fluent-next.blue.light).png new file mode 100644 index 000000000000..31cb2c4698cc Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-many-cells-workWeek-horizontal-middle (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-many-cells-workWeek-horizontal-start (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-many-cells-workWeek-horizontal-start (fluent-next.blue.light).png new file mode 100644 index 000000000000..312eaa3e2944 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-many-cells-workWeek-horizontal-start (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-many-cells-workWeek-vertical-end (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-many-cells-workWeek-vertical-end (fluent-next.blue.light).png new file mode 100644 index 000000000000..d10c4480308f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-many-cells-workWeek-vertical-end (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-many-cells-workWeek-vertical-middle (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-many-cells-workWeek-vertical-middle (fluent-next.blue.light).png new file mode 100644 index 000000000000..e2348054f818 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-many-cells-workWeek-vertical-middle (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-many-cells-workWeek-vertical-start (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-many-cells-workWeek-vertical-start (fluent-next.blue.light).png new file mode 100644 index 000000000000..094905edbffc Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-many-cells-workWeek-vertical-start (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-month-after-scroll (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-month-after-scroll (fluent-next.blue.light).png new file mode 100644 index 000000000000..32aac05dabce Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-month-after-scroll (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-month-after-scroll-grouping-by-date (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-month-after-scroll-grouping-by-date (fluent-next.blue.light).png new file mode 100644 index 000000000000..9dd2bdab62e5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-month-after-scroll-grouping-by-date (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-month-after-scroll-horizontal-grouping (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-month-after-scroll-horizontal-grouping (fluent-next.blue.light).png new file mode 100644 index 000000000000..e2147bd5d5b1 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-month-after-scroll-horizontal-grouping (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-month-after-scroll-horizontal-grouping-scaling (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-month-after-scroll-horizontal-grouping-scaling (fluent-next.blue.light).png new file mode 100644 index 000000000000..196f03546ef4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-month-after-scroll-horizontal-grouping-scaling (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-month-before-scroll (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-month-before-scroll (fluent-next.blue.light).png new file mode 100644 index 000000000000..32aac05dabce Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-month-before-scroll (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-month-before-scroll-grouping-by-date (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-month-before-scroll-grouping-by-date (fluent-next.blue.light).png new file mode 100644 index 000000000000..e4a8f8526ced Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-month-before-scroll-grouping-by-date (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-month-before-scroll-horizontal-grouping (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-month-before-scroll-horizontal-grouping (fluent-next.blue.light).png new file mode 100644 index 000000000000..7e5617aa57ed Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-month-before-scroll-horizontal-grouping (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-month-before-scroll-horizontal-grouping-scaling (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-month-before-scroll-horizontal-grouping-scaling (fluent-next.blue.light).png new file mode 100644 index 000000000000..3fea83df76d8 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-month-before-scroll-horizontal-grouping-scaling (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timeline-month-change-current-date-virtual (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timeline-month-change-current-date-virtual (fluent-next.blue.light).png new file mode 100644 index 000000000000..8254c997ad40 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timeline-month-change-current-date-virtual (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineDay-after-scroll (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineDay-after-scroll (fluent-next.blue.light).png new file mode 100644 index 000000000000..20f5bf9e8c84 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineDay-after-scroll (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineDay-after-scroll-grouping-by-date (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineDay-after-scroll-grouping-by-date (fluent-next.blue.light).png new file mode 100644 index 000000000000..9ede847dd0d0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineDay-after-scroll-grouping-by-date (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineDay-after-scroll-horizontal-grouping (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineDay-after-scroll-horizontal-grouping (fluent-next.blue.light).png new file mode 100644 index 000000000000..01f1089d487b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineDay-after-scroll-horizontal-grouping (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineDay-after-scroll-horizontal-grouping-scaling (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineDay-after-scroll-horizontal-grouping-scaling (fluent-next.blue.light).png new file mode 100644 index 000000000000..e7242ac00bb0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineDay-after-scroll-horizontal-grouping-scaling (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineDay-before-scroll (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineDay-before-scroll (fluent-next.blue.light).png new file mode 100644 index 000000000000..561a96e2b238 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineDay-before-scroll (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineDay-before-scroll-grouping-by-date (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineDay-before-scroll-grouping-by-date (fluent-next.blue.light).png new file mode 100644 index 000000000000..3656bab9174e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineDay-before-scroll-grouping-by-date (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineDay-before-scroll-horizontal-grouping (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineDay-before-scroll-horizontal-grouping (fluent-next.blue.light).png new file mode 100644 index 000000000000..ce0086879db1 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineDay-before-scroll-horizontal-grouping (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineDay-before-scroll-horizontal-grouping-scaling (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineDay-before-scroll-horizontal-grouping-scaling (fluent-next.blue.light).png new file mode 100644 index 000000000000..887ada878a56 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineDay-before-scroll-horizontal-grouping-scaling (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineMonth-after-scroll (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineMonth-after-scroll (fluent-next.blue.light).png new file mode 100644 index 000000000000..39832693add6 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineMonth-after-scroll (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineMonth-after-scroll-grouping-by-date (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineMonth-after-scroll-grouping-by-date (fluent-next.blue.light).png new file mode 100644 index 000000000000..0a1dd2e5d066 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineMonth-after-scroll-grouping-by-date (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineMonth-after-scroll-horizontal-grouping (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineMonth-after-scroll-horizontal-grouping (fluent-next.blue.light).png new file mode 100644 index 000000000000..76371b7704dc Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineMonth-after-scroll-horizontal-grouping (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineMonth-after-scroll-horizontal-grouping-scaling (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineMonth-after-scroll-horizontal-grouping-scaling (fluent-next.blue.light).png new file mode 100644 index 000000000000..f74fefa31695 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineMonth-after-scroll-horizontal-grouping-scaling (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineMonth-before-scroll (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineMonth-before-scroll (fluent-next.blue.light).png new file mode 100644 index 000000000000..2a9da79421fa Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineMonth-before-scroll (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineMonth-before-scroll-grouping-by-date (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineMonth-before-scroll-grouping-by-date (fluent-next.blue.light).png new file mode 100644 index 000000000000..51093ab65455 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineMonth-before-scroll-grouping-by-date (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineMonth-before-scroll-horizontal-grouping (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineMonth-before-scroll-horizontal-grouping (fluent-next.blue.light).png new file mode 100644 index 000000000000..8d97449d2d1f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineMonth-before-scroll-horizontal-grouping (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineMonth-before-scroll-horizontal-grouping-scaling (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineMonth-before-scroll-horizontal-grouping-scaling (fluent-next.blue.light).png new file mode 100644 index 000000000000..9065db3d60bd Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineMonth-before-scroll-horizontal-grouping-scaling (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineWeek-after-scroll (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineWeek-after-scroll (fluent-next.blue.light).png new file mode 100644 index 000000000000..d4aec68fa29a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineWeek-after-scroll (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineWeek-after-scroll-grouping-by-date (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineWeek-after-scroll-grouping-by-date (fluent-next.blue.light).png new file mode 100644 index 000000000000..7a90b4cf1116 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineWeek-after-scroll-grouping-by-date (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineWeek-after-scroll-horizontal-grouping (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineWeek-after-scroll-horizontal-grouping (fluent-next.blue.light).png new file mode 100644 index 000000000000..cbd3b2425e1e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineWeek-after-scroll-horizontal-grouping (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineWeek-after-scroll-horizontal-grouping-scaling (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineWeek-after-scroll-horizontal-grouping-scaling (fluent-next.blue.light).png new file mode 100644 index 000000000000..ac17478ec61e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineWeek-after-scroll-horizontal-grouping-scaling (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineWeek-before-scroll (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineWeek-before-scroll (fluent-next.blue.light).png new file mode 100644 index 000000000000..2f7dc2a96c85 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineWeek-before-scroll (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineWeek-before-scroll-grouping-by-date (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineWeek-before-scroll-grouping-by-date (fluent-next.blue.light).png new file mode 100644 index 000000000000..ea3c4ac7aea3 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineWeek-before-scroll-grouping-by-date (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineWeek-before-scroll-horizontal-grouping (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineWeek-before-scroll-horizontal-grouping (fluent-next.blue.light).png new file mode 100644 index 000000000000..fc6917e21623 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineWeek-before-scroll-horizontal-grouping (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineWeek-before-scroll-horizontal-grouping-scaling (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineWeek-before-scroll-horizontal-grouping-scaling (fluent-next.blue.light).png new file mode 100644 index 000000000000..7d2fe14318d1 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-timelineWeek-before-scroll-horizontal-grouping-scaling (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-week-after-scroll (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-week-after-scroll (fluent-next.blue.light).png new file mode 100644 index 000000000000..6631d1745e35 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-week-after-scroll (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-week-after-scroll-grouping-by-date (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-week-after-scroll-grouping-by-date (fluent-next.blue.light).png new file mode 100644 index 000000000000..d16998efa0bb Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-week-after-scroll-grouping-by-date (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-week-after-scroll-horizontal-grouping (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-week-after-scroll-horizontal-grouping (fluent-next.blue.light).png new file mode 100644 index 000000000000..808122858804 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-week-after-scroll-horizontal-grouping (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-week-after-scroll-horizontal-grouping-scaling (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-week-after-scroll-horizontal-grouping-scaling (fluent-next.blue.light).png new file mode 100644 index 000000000000..ac5f0c6289c2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-week-after-scroll-horizontal-grouping-scaling (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-week-before-scroll (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-week-before-scroll (fluent-next.blue.light).png new file mode 100644 index 000000000000..70e57deb5f00 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-week-before-scroll (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-week-before-scroll-grouping-by-date (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-week-before-scroll-grouping-by-date (fluent-next.blue.light).png new file mode 100644 index 000000000000..9f751d80be3b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-week-before-scroll-grouping-by-date (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-week-before-scroll-horizontal-grouping (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-week-before-scroll-horizontal-grouping (fluent-next.blue.light).png new file mode 100644 index 000000000000..5a0e3ac365c2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-week-before-scroll-horizontal-grouping (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-week-before-scroll-horizontal-grouping-scaling (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-week-before-scroll-horizontal-grouping-scaling (fluent-next.blue.light).png new file mode 100644 index 000000000000..ea13a8b5a8c8 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual-scrolling-week-before-scroll-horizontal-grouping-scaling (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual_scroll_cell_width (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual_scroll_cell_width (fluent-next.blue.light).png new file mode 100644 index 000000000000..446856e834c1 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual_scroll_cell_width (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual_scroll_timeline_3000 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual_scroll_timeline_3000 (fluent-next.blue.light).png new file mode 100644 index 000000000000..cc3f556bc5fa Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/common/virtualScrolling/etalons/virtual_scroll_timeline_3000 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/day_usual-appts-start-cell-dts_t-America-Los_Angeles-summer_offset--60 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/day_usual-appts-start-cell-dts_t-America-Los_Angeles-summer_offset--60 (fluent-next.blue.light).png new file mode 100644 index 000000000000..f5c9aa3b61a5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/day_usual-appts-start-cell-dts_t-America-Los_Angeles-summer_offset--60 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/day_usual-appts-start-cell-dts_t-America-Los_Angeles-summer_offset-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/day_usual-appts-start-cell-dts_t-America-Los_Angeles-summer_offset-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..6bdc6ca1e754 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/day_usual-appts-start-cell-dts_t-America-Los_Angeles-summer_offset-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/day_usual-appts-start-cell-dts_t-America-Los_Angeles-summer_offset-60 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/day_usual-appts-start-cell-dts_t-America-Los_Angeles-summer_offset-60 (fluent-next.blue.light).png new file mode 100644 index 000000000000..603b93c24899 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/day_usual-appts-start-cell-dts_t-America-Los_Angeles-summer_offset-60 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/day_usual-appts-start-cell-dts_t-America-Los_Angeles-winter_offset--60 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/day_usual-appts-start-cell-dts_t-America-Los_Angeles-winter_offset--60 (fluent-next.blue.light).png new file mode 100644 index 000000000000..a06cef9c7fa7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/day_usual-appts-start-cell-dts_t-America-Los_Angeles-winter_offset--60 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/day_usual-appts-start-cell-dts_t-America-Los_Angeles-winter_offset-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/day_usual-appts-start-cell-dts_t-America-Los_Angeles-winter_offset-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..6e412ade3abc Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/day_usual-appts-start-cell-dts_t-America-Los_Angeles-winter_offset-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/day_usual-appts-start-cell-dts_t-America-Los_Angeles-winter_offset-60 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/day_usual-appts-start-cell-dts_t-America-Los_Angeles-winter_offset-60 (fluent-next.blue.light).png new file mode 100644 index 000000000000..fe6fb44ea3d1 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/day_usual-appts-start-cell-dts_t-America-Los_Angeles-winter_offset-60 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/day_usual-appts-start-cell-dts_t-Europe-Berlin-summer_offset--60 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/day_usual-appts-start-cell-dts_t-Europe-Berlin-summer_offset--60 (fluent-next.blue.light).png new file mode 100644 index 000000000000..f5c9aa3b61a5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/day_usual-appts-start-cell-dts_t-Europe-Berlin-summer_offset--60 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/day_usual-appts-start-cell-dts_t-Europe-Berlin-summer_offset-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/day_usual-appts-start-cell-dts_t-Europe-Berlin-summer_offset-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..6bdc6ca1e754 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/day_usual-appts-start-cell-dts_t-Europe-Berlin-summer_offset-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/day_usual-appts-start-cell-dts_t-Europe-Berlin-summer_offset-60 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/day_usual-appts-start-cell-dts_t-Europe-Berlin-summer_offset-60 (fluent-next.blue.light).png new file mode 100644 index 000000000000..603b93c24899 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/day_usual-appts-start-cell-dts_t-Europe-Berlin-summer_offset-60 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/day_usual-appts-start-cell-dts_t-Europe-Berlin-winter_offset--60 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/day_usual-appts-start-cell-dts_t-Europe-Berlin-winter_offset--60 (fluent-next.blue.light).png new file mode 100644 index 000000000000..a515c3034b01 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/day_usual-appts-start-cell-dts_t-Europe-Berlin-winter_offset--60 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/day_usual-appts-start-cell-dts_t-Europe-Berlin-winter_offset-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/day_usual-appts-start-cell-dts_t-Europe-Berlin-winter_offset-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..1bc13570f47d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/day_usual-appts-start-cell-dts_t-Europe-Berlin-winter_offset-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/day_usual-appts-start-cell-dts_t-Europe-Berlin-winter_offset-60 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/day_usual-appts-start-cell-dts_t-Europe-Berlin-winter_offset-60 (fluent-next.blue.light).png new file mode 100644 index 000000000000..66d166dde67b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/day_usual-appts-start-cell-dts_t-Europe-Berlin-winter_offset-60 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-America-Los_Angeles-summer-local_offset--360 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-America-Los_Angeles-summer-local_offset--360 (fluent-next.blue.light).png new file mode 100644 index 000000000000..58802871f4ff Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-America-Los_Angeles-summer-local_offset--360 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-America-Los_Angeles-summer-local_offset-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-America-Los_Angeles-summer-local_offset-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..9da1176347bf Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-America-Los_Angeles-summer-local_offset-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-America-Los_Angeles-summer-local_offset-360 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-America-Los_Angeles-summer-local_offset-360 (fluent-next.blue.light).png new file mode 100644 index 000000000000..5502ae379ed0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-America-Los_Angeles-summer-local_offset-360 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-America-Los_Angeles-summer-utc_offset--360 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-America-Los_Angeles-summer-utc_offset--360 (fluent-next.blue.light).png new file mode 100644 index 000000000000..713240fb99f9 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-America-Los_Angeles-summer-utc_offset--360 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-America-Los_Angeles-summer-utc_offset-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-America-Los_Angeles-summer-utc_offset-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..0c97e49ab6ae Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-America-Los_Angeles-summer-utc_offset-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-America-Los_Angeles-summer-utc_offset-360 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-America-Los_Angeles-summer-utc_offset-360 (fluent-next.blue.light).png new file mode 100644 index 000000000000..242dab59ce34 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-America-Los_Angeles-summer-utc_offset-360 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-America-Los_Angeles-winter-local_offset--360 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-America-Los_Angeles-winter-local_offset--360 (fluent-next.blue.light).png new file mode 100644 index 000000000000..68b2d5ab9c36 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-America-Los_Angeles-winter-local_offset--360 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-America-Los_Angeles-winter-local_offset-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-America-Los_Angeles-winter-local_offset-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..40e2bf28fb68 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-America-Los_Angeles-winter-local_offset-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-America-Los_Angeles-winter-local_offset-360 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-America-Los_Angeles-winter-local_offset-360 (fluent-next.blue.light).png new file mode 100644 index 000000000000..f113c090c187 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-America-Los_Angeles-winter-local_offset-360 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-America-Los_Angeles-winter-utc_offset--360 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-America-Los_Angeles-winter-utc_offset--360 (fluent-next.blue.light).png new file mode 100644 index 000000000000..e9ec035e0c76 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-America-Los_Angeles-winter-utc_offset--360 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-America-Los_Angeles-winter-utc_offset-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-America-Los_Angeles-winter-utc_offset-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..ffb8b1d0a9ae Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-America-Los_Angeles-winter-utc_offset-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-America-Los_Angeles-winter-utc_offset-360 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-America-Los_Angeles-winter-utc_offset-360 (fluent-next.blue.light).png new file mode 100644 index 000000000000..751df1dba6b9 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-America-Los_Angeles-winter-utc_offset-360 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-Europe-Berlin-summer-local_offset--360 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-Europe-Berlin-summer-local_offset--360 (fluent-next.blue.light).png new file mode 100644 index 000000000000..6c173920a3f9 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-Europe-Berlin-summer-local_offset--360 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-Europe-Berlin-summer-local_offset-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-Europe-Berlin-summer-local_offset-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..4ad5a407af46 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-Europe-Berlin-summer-local_offset-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-Europe-Berlin-summer-local_offset-360 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-Europe-Berlin-summer-local_offset-360 (fluent-next.blue.light).png new file mode 100644 index 000000000000..56e7b789f5c7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-Europe-Berlin-summer-local_offset-360 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-Europe-Berlin-summer-utc_offset--360 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-Europe-Berlin-summer-utc_offset--360 (fluent-next.blue.light).png new file mode 100644 index 000000000000..37e2e73ca109 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-Europe-Berlin-summer-utc_offset--360 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-Europe-Berlin-summer-utc_offset-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-Europe-Berlin-summer-utc_offset-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..39a36ecf5711 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-Europe-Berlin-summer-utc_offset-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-Europe-Berlin-summer-utc_offset-360 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-Europe-Berlin-summer-utc_offset-360 (fluent-next.blue.light).png new file mode 100644 index 000000000000..c9cba6f78498 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-Europe-Berlin-summer-utc_offset-360 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-Europe-Berlin-winter-local_offset--360 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-Europe-Berlin-winter-local_offset--360 (fluent-next.blue.light).png new file mode 100644 index 000000000000..168b6568b89a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-Europe-Berlin-winter-local_offset--360 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-Europe-Berlin-winter-local_offset-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-Europe-Berlin-winter-local_offset-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..952b0e63fddf Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-Europe-Berlin-winter-local_offset-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-Europe-Berlin-winter-local_offset-360 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-Europe-Berlin-winter-local_offset-360 (fluent-next.blue.light).png new file mode 100644 index 000000000000..3fdabad9ff76 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-Europe-Berlin-winter-local_offset-360 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-Europe-Berlin-winter-utc_offset--360 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-Europe-Berlin-winter-utc_offset--360 (fluent-next.blue.light).png new file mode 100644 index 000000000000..0e894ad75364 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-Europe-Berlin-winter-utc_offset--360 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-Europe-Berlin-winter-utc_offset-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-Europe-Berlin-winter-utc_offset-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..b2631582581d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-Europe-Berlin-winter-utc_offset-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-Europe-Berlin-winter-utc_offset-360 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-Europe-Berlin-winter-utc_offset-360 (fluent-next.blue.light).png new file mode 100644 index 000000000000..a2a5318e6e1d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_appts-render-cross-dts_t-Europe-Berlin-winter-utc_offset-360 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_usual-appts-render-dts_t-America-Los_Angeles-summer_offset--360 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_usual-appts-render-dts_t-America-Los_Angeles-summer_offset--360 (fluent-next.blue.light).png new file mode 100644 index 000000000000..3bf47f9ce79d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_usual-appts-render-dts_t-America-Los_Angeles-summer_offset--360 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_usual-appts-render-dts_t-America-Los_Angeles-summer_offset-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_usual-appts-render-dts_t-America-Los_Angeles-summer_offset-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..457666d5ef49 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_usual-appts-render-dts_t-America-Los_Angeles-summer_offset-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_usual-appts-render-dts_t-America-Los_Angeles-summer_offset-360 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_usual-appts-render-dts_t-America-Los_Angeles-summer_offset-360 (fluent-next.blue.light).png new file mode 100644 index 000000000000..ef01b00c1bfa Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_usual-appts-render-dts_t-America-Los_Angeles-summer_offset-360 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_usual-appts-render-dts_t-America-Los_Angeles-winter_offset--360 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_usual-appts-render-dts_t-America-Los_Angeles-winter_offset--360 (fluent-next.blue.light).png new file mode 100644 index 000000000000..8da265770188 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_usual-appts-render-dts_t-America-Los_Angeles-winter_offset--360 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_usual-appts-render-dts_t-America-Los_Angeles-winter_offset-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_usual-appts-render-dts_t-America-Los_Angeles-winter_offset-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..284ec38a95e0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_usual-appts-render-dts_t-America-Los_Angeles-winter_offset-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_usual-appts-render-dts_t-America-Los_Angeles-winter_offset-360 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_usual-appts-render-dts_t-America-Los_Angeles-winter_offset-360 (fluent-next.blue.light).png new file mode 100644 index 000000000000..baf307f37714 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_usual-appts-render-dts_t-America-Los_Angeles-winter_offset-360 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_usual-appts-render-dts_t-Europe-Berlin-summer_offset--360 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_usual-appts-render-dts_t-Europe-Berlin-summer_offset--360 (fluent-next.blue.light).png new file mode 100644 index 000000000000..89e55769c187 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_usual-appts-render-dts_t-Europe-Berlin-summer_offset--360 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_usual-appts-render-dts_t-Europe-Berlin-summer_offset-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_usual-appts-render-dts_t-Europe-Berlin-summer_offset-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..807ab0b05d63 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_usual-appts-render-dts_t-Europe-Berlin-summer_offset-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_usual-appts-render-dts_t-Europe-Berlin-summer_offset-360 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_usual-appts-render-dts_t-Europe-Berlin-summer_offset-360 (fluent-next.blue.light).png new file mode 100644 index 000000000000..9ae44a4d261e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_usual-appts-render-dts_t-Europe-Berlin-summer_offset-360 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_usual-appts-render-dts_t-Europe-Berlin-winter_offset--360 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_usual-appts-render-dts_t-Europe-Berlin-winter_offset--360 (fluent-next.blue.light).png new file mode 100644 index 000000000000..b89c10bf3d94 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_usual-appts-render-dts_t-Europe-Berlin-winter_offset--360 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_usual-appts-render-dts_t-Europe-Berlin-winter_offset-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_usual-appts-render-dts_t-Europe-Berlin-winter_offset-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..cf339b032821 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_usual-appts-render-dts_t-Europe-Berlin-winter_offset-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_usual-appts-render-dts_t-Europe-Berlin-winter_offset-360 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_usual-appts-render-dts_t-Europe-Berlin-winter_offset-360 (fluent-next.blue.light).png new file mode 100644 index 000000000000..da3b2632e07b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/timezones/etalons/week_usual-appts-render-dts_t-Europe-Berlin-winter_offset-360 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_agenda-not-affected_offset--240 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_agenda-not-affected_offset--240 (fluent-next.blue.light).png new file mode 100644 index 000000000000..2b4b18b1b58b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_agenda-not-affected_offset--240 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_agenda-not-affected_offset-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_agenda-not-affected_offset-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..2b4b18b1b58b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_agenda-not-affected_offset-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_agenda-not-affected_offset-240 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_agenda-not-affected_offset-240 (fluent-next.blue.light).png new file mode 100644 index 000000000000..2b4b18b1b58b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_agenda-not-affected_offset-240 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_appt-expr_drag-n-drop_week_offset--180 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_appt-expr_drag-n-drop_week_offset--180 (fluent-next.blue.light).png new file mode 100644 index 000000000000..4e90e9c8d9bc Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_appt-expr_drag-n-drop_week_offset--180 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_appt-expr_drag-n-drop_week_offset-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_appt-expr_drag-n-drop_week_offset-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..c8775c07af21 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_appt-expr_drag-n-drop_week_offset-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_appt-expr_drag-n-drop_week_offset-180 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_appt-expr_drag-n-drop_week_offset-180 (fluent-next.blue.light).png new file mode 100644 index 000000000000..8b19250781fc Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_appt-expr_drag-n-drop_week_offset-180 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_appt-expr_resize_week_offset--180 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_appt-expr_resize_week_offset--180 (fluent-next.blue.light).png new file mode 100644 index 000000000000..1bdce00f361a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_appt-expr_resize_week_offset--180 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_appt-expr_resize_week_offset-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_appt-expr_resize_week_offset-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..283fb074a2e8 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_appt-expr_resize_week_offset-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_appt-expr_resize_week_offset-180 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_appt-expr_resize_week_offset-180 (fluent-next.blue.light).png new file mode 100644 index 000000000000..79640bf35e7d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_appt-expr_resize_week_offset-180 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_appt-expr_week_offset--180 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_appt-expr_week_offset--180 (fluent-next.blue.light).png new file mode 100644 index 000000000000..d55ad7cba1df Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_appt-expr_week_offset--180 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_appt-expr_week_offset-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_appt-expr_week_offset-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..e21ee877e090 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_appt-expr_week_offset-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_appt-expr_week_offset-180 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_appt-expr_week_offset-180 (fluent-next.blue.light).png new file mode 100644 index 000000000000..8bd2cdcc3dc1 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_appt-expr_week_offset-180 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_drag-n-drop_all-day-appts_month_offset--735 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_drag-n-drop_all-day-appts_month_offset--735 (fluent-next.blue.light).png new file mode 100644 index 000000000000..64ee0a77af12 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_drag-n-drop_all-day-appts_month_offset--735 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_drag-n-drop_all-day-appts_month_offset-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_drag-n-drop_all-day-appts_month_offset-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..c245b4d9bc20 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_drag-n-drop_all-day-appts_month_offset-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_drag-n-drop_all-day-appts_month_offset-735 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_drag-n-drop_all-day-appts_month_offset-735 (fluent-next.blue.light).png new file mode 100644 index 000000000000..3d779d533ca8 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_drag-n-drop_all-day-appts_month_offset-735 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_drag-n-drop_all-day-appts_timelineMonth_offset--735 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_drag-n-drop_all-day-appts_timelineMonth_offset--735 (fluent-next.blue.light).png new file mode 100644 index 000000000000..8a33f6bca2e9 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_drag-n-drop_all-day-appts_timelineMonth_offset--735 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_drag-n-drop_all-day-appts_timelineMonth_offset-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_drag-n-drop_all-day-appts_timelineMonth_offset-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..6979b34d9e8c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_drag-n-drop_all-day-appts_timelineMonth_offset-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_drag-n-drop_all-day-appts_timelineMonth_offset-735 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_drag-n-drop_all-day-appts_timelineMonth_offset-735 (fluent-next.blue.light).png new file mode 100644 index 000000000000..3e027010b1ec Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_drag-n-drop_all-day-appts_timelineMonth_offset-735 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_drag-n-drop_all-day-appts_week_offset--735 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_drag-n-drop_all-day-appts_week_offset--735 (fluent-next.blue.light).png new file mode 100644 index 000000000000..e2d7d2de6d3e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_drag-n-drop_all-day-appts_week_offset--735 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_drag-n-drop_all-day-appts_week_offset-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_drag-n-drop_all-day-appts_week_offset-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..40693f513101 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_drag-n-drop_all-day-appts_week_offset-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_drag-n-drop_all-day-appts_week_offset-735 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_drag-n-drop_all-day-appts_week_offset-735 (fluent-next.blue.light).png new file mode 100644 index 000000000000..99a5c7522b1c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_drag-n-drop_all-day-appts_week_offset-735 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_drag-n-drop_usual-appts_month_offset--735 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_drag-n-drop_usual-appts_month_offset--735 (fluent-next.blue.light).png new file mode 100644 index 000000000000..64ee0a77af12 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_drag-n-drop_usual-appts_month_offset--735 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_drag-n-drop_usual-appts_month_offset-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_drag-n-drop_usual-appts_month_offset-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..c245b4d9bc20 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_drag-n-drop_usual-appts_month_offset-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_drag-n-drop_usual-appts_month_offset-735 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_drag-n-drop_usual-appts_month_offset-735 (fluent-next.blue.light).png new file mode 100644 index 000000000000..3d779d533ca8 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_drag-n-drop_usual-appts_month_offset-735 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_drag-n-drop_usual-appts_timelineMonth_offset--735 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_drag-n-drop_usual-appts_timelineMonth_offset--735 (fluent-next.blue.light).png new file mode 100644 index 000000000000..8a33f6bca2e9 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_drag-n-drop_usual-appts_timelineMonth_offset--735 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_drag-n-drop_usual-appts_timelineMonth_offset-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_drag-n-drop_usual-appts_timelineMonth_offset-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..6979b34d9e8c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_drag-n-drop_usual-appts_timelineMonth_offset-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_drag-n-drop_usual-appts_timelineMonth_offset-735 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_drag-n-drop_usual-appts_timelineMonth_offset-735 (fluent-next.blue.light).png new file mode 100644 index 000000000000..3e027010b1ec Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_drag-n-drop_usual-appts_timelineMonth_offset-735 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_drag-n-drop_usual-appts_week_offset--735 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_drag-n-drop_usual-appts_week_offset--735 (fluent-next.blue.light).png new file mode 100644 index 000000000000..de5fceebb1ff Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_drag-n-drop_usual-appts_week_offset--735 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_drag-n-drop_usual-appts_week_offset-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_drag-n-drop_usual-appts_week_offset-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..c21f447ce3eb Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_drag-n-drop_usual-appts_week_offset-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_drag-n-drop_usual-appts_week_offset-735 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_drag-n-drop_usual-appts_week_offset-735 (fluent-next.blue.light).png new file mode 100644 index 000000000000..8476431371ab Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_drag-n-drop_usual-appts_week_offset-735 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_keyboard_day_offset--120 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_keyboard_day_offset--120 (fluent-next.blue.light).png new file mode 100644 index 000000000000..4af072cf7738 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_keyboard_day_offset--120 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_keyboard_day_offset-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_keyboard_day_offset-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..bfb5096487fd Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_keyboard_day_offset-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_keyboard_day_offset-120 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_keyboard_day_offset-120 (fluent-next.blue.light).png new file mode 100644 index 000000000000..b5024871b550 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_keyboard_day_offset-120 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_keyboard_month_offset--120 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_keyboard_month_offset--120 (fluent-next.blue.light).png new file mode 100644 index 000000000000..52cc9913f94b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_keyboard_month_offset--120 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_keyboard_month_offset-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_keyboard_month_offset-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..52cc9913f94b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_keyboard_month_offset-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_keyboard_month_offset-120 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_keyboard_month_offset-120 (fluent-next.blue.light).png new file mode 100644 index 000000000000..52cc9913f94b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_keyboard_month_offset-120 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_keyboard_timelineDay_offset--120 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_keyboard_timelineDay_offset--120 (fluent-next.blue.light).png new file mode 100644 index 000000000000..99cf6d134b91 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_keyboard_timelineDay_offset--120 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_keyboard_timelineDay_offset-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_keyboard_timelineDay_offset-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..8a267588cbcf Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_keyboard_timelineDay_offset-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_keyboard_timelineDay_offset-120 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_keyboard_timelineDay_offset-120 (fluent-next.blue.light).png new file mode 100644 index 000000000000..1cd58cbd653e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_keyboard_timelineDay_offset-120 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_keyboard_timelineMonth_offset--120 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_keyboard_timelineMonth_offset--120 (fluent-next.blue.light).png new file mode 100644 index 000000000000..6cc5ed9e56b2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_keyboard_timelineMonth_offset--120 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_keyboard_timelineMonth_offset-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_keyboard_timelineMonth_offset-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..6cc5ed9e56b2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_keyboard_timelineMonth_offset-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_keyboard_timelineMonth_offset-120 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_keyboard_timelineMonth_offset-120 (fluent-next.blue.light).png new file mode 100644 index 000000000000..6cc5ed9e56b2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_keyboard_timelineMonth_offset-120 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_keyboard_week-all-day_offset--120 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_keyboard_week-all-day_offset--120 (fluent-next.blue.light).png new file mode 100644 index 000000000000..802a900da9c3 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_keyboard_week-all-day_offset--120 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_keyboard_week-all-day_offset-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_keyboard_week-all-day_offset-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..73727fb09b14 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_keyboard_week-all-day_offset-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_keyboard_week-all-day_offset-120 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_keyboard_week-all-day_offset-120 (fluent-next.blue.light).png new file mode 100644 index 000000000000..f101a976fa19 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_keyboard_week-all-day_offset-120 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_keyboard_week_offset--120 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_keyboard_week_offset--120 (fluent-next.blue.light).png new file mode 100644 index 000000000000..ea163a228282 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_keyboard_week_offset--120 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_keyboard_week_offset-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_keyboard_week_offset-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..c550bed79ef7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_keyboard_week_offset-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_keyboard_week_offset-120 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_keyboard_week_offset-120 (fluent-next.blue.light).png new file mode 100644 index 000000000000..8ee49a978e5f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_keyboard_week_offset-120 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_day_offset--120_decrease (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_day_offset--120_decrease (fluent-next.blue.light).png new file mode 100644 index 000000000000..b60691f4c8f7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_day_offset--120_decrease (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_day_offset--120_decrease_rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_day_offset--120_decrease_rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..27dd88632071 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_day_offset--120_decrease_rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_day_offset--120_increase (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_day_offset--120_increase (fluent-next.blue.light).png new file mode 100644 index 000000000000..b60691f4c8f7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_day_offset--120_increase (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_day_offset--120_increase_rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_day_offset--120_increase_rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..27dd88632071 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_day_offset--120_increase_rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_day_offset-0_decrease (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_day_offset-0_decrease (fluent-next.blue.light).png new file mode 100644 index 000000000000..7363285377d8 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_day_offset-0_decrease (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_day_offset-0_decrease_rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_day_offset-0_decrease_rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..f632e631f313 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_day_offset-0_decrease_rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_day_offset-0_increase (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_day_offset-0_increase (fluent-next.blue.light).png new file mode 100644 index 000000000000..7363285377d8 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_day_offset-0_increase (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_day_offset-0_increase_rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_day_offset-0_increase_rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..f632e631f313 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_day_offset-0_increase_rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_day_offset-120_decrease (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_day_offset-120_decrease (fluent-next.blue.light).png new file mode 100644 index 000000000000..18e4affab413 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_day_offset-120_decrease (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_day_offset-120_decrease_rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_day_offset-120_decrease_rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..b171976bb4d9 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_day_offset-120_decrease_rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_day_offset-120_increase (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_day_offset-120_increase (fluent-next.blue.light).png new file mode 100644 index 000000000000..18e4affab413 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_day_offset-120_increase (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_day_offset-120_increase_rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_day_offset-120_increase_rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..b171976bb4d9 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_day_offset-120_increase_rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_month_offset--120_decrease (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_month_offset--120_decrease (fluent-next.blue.light).png new file mode 100644 index 000000000000..c8e721184bd7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_month_offset--120_decrease (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_month_offset--120_decrease_rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_month_offset--120_decrease_rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..482bc92dcfe4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_month_offset--120_decrease_rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_month_offset--120_increase (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_month_offset--120_increase (fluent-next.blue.light).png new file mode 100644 index 000000000000..c8e721184bd7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_month_offset--120_increase (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_month_offset--120_increase_rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_month_offset--120_increase_rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..482bc92dcfe4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_month_offset--120_increase_rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_month_offset-0_decrease (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_month_offset-0_decrease (fluent-next.blue.light).png new file mode 100644 index 000000000000..c8e721184bd7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_month_offset-0_decrease (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_month_offset-0_decrease_rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_month_offset-0_decrease_rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..482bc92dcfe4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_month_offset-0_decrease_rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_month_offset-0_increase (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_month_offset-0_increase (fluent-next.blue.light).png new file mode 100644 index 000000000000..c8e721184bd7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_month_offset-0_increase (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_month_offset-0_increase_rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_month_offset-0_increase_rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..482bc92dcfe4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_month_offset-0_increase_rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_month_offset-120_decrease (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_month_offset-120_decrease (fluent-next.blue.light).png new file mode 100644 index 000000000000..c8e721184bd7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_month_offset-120_decrease (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_month_offset-120_decrease_rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_month_offset-120_decrease_rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..482bc92dcfe4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_month_offset-120_decrease_rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_month_offset-120_increase (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_month_offset-120_increase (fluent-next.blue.light).png new file mode 100644 index 000000000000..c8e721184bd7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_month_offset-120_increase (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_month_offset-120_increase_rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_month_offset-120_increase_rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..482bc92dcfe4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_month_offset-120_increase_rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineDay_offset--120_decrease (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineDay_offset--120_decrease (fluent-next.blue.light).png new file mode 100644 index 000000000000..0d8cdae0fc70 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineDay_offset--120_decrease (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineDay_offset--120_decrease_rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineDay_offset--120_decrease_rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..3a81123a867a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineDay_offset--120_decrease_rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineDay_offset--120_increase (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineDay_offset--120_increase (fluent-next.blue.light).png new file mode 100644 index 000000000000..b24a831dcee2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineDay_offset--120_increase (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineDay_offset--120_increase_rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineDay_offset--120_increase_rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..6b0ce08dad55 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineDay_offset--120_increase_rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineDay_offset-0_decrease (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineDay_offset-0_decrease (fluent-next.blue.light).png new file mode 100644 index 000000000000..76f02a7793b7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineDay_offset-0_decrease (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineDay_offset-0_decrease_rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineDay_offset-0_decrease_rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..cbe23aa4bef0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineDay_offset-0_decrease_rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineDay_offset-0_increase (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineDay_offset-0_increase (fluent-next.blue.light).png new file mode 100644 index 000000000000..2372e11bf4e8 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineDay_offset-0_increase (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineDay_offset-0_increase_rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineDay_offset-0_increase_rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..d4e9fd03289f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineDay_offset-0_increase_rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineDay_offset-120_decrease (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineDay_offset-120_decrease (fluent-next.blue.light).png new file mode 100644 index 000000000000..b7e991f3ca7a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineDay_offset-120_decrease (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineDay_offset-120_decrease_rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineDay_offset-120_decrease_rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..649a7c324757 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineDay_offset-120_decrease_rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineDay_offset-120_increase (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineDay_offset-120_increase (fluent-next.blue.light).png new file mode 100644 index 000000000000..97e3e033d743 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineDay_offset-120_increase (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineDay_offset-120_increase_rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineDay_offset-120_increase_rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..e4eaa0490efa Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineDay_offset-120_increase_rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineMonth_offset--120_decrease (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineMonth_offset--120_decrease (fluent-next.blue.light).png new file mode 100644 index 000000000000..19ee2413ce9e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineMonth_offset--120_decrease (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineMonth_offset--120_decrease_rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineMonth_offset--120_decrease_rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..908772924e59 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineMonth_offset--120_decrease_rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineMonth_offset--120_increase (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineMonth_offset--120_increase (fluent-next.blue.light).png new file mode 100644 index 000000000000..19ee2413ce9e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineMonth_offset--120_increase (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineMonth_offset--120_increase_rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineMonth_offset--120_increase_rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..908772924e59 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineMonth_offset--120_increase_rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineMonth_offset-0_decrease (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineMonth_offset-0_decrease (fluent-next.blue.light).png new file mode 100644 index 000000000000..19ee2413ce9e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineMonth_offset-0_decrease (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineMonth_offset-0_decrease_rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineMonth_offset-0_decrease_rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..908772924e59 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineMonth_offset-0_decrease_rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineMonth_offset-0_increase (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineMonth_offset-0_increase (fluent-next.blue.light).png new file mode 100644 index 000000000000..19ee2413ce9e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineMonth_offset-0_increase (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineMonth_offset-0_increase_rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineMonth_offset-0_increase_rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..908772924e59 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineMonth_offset-0_increase_rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineMonth_offset-120_decrease (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineMonth_offset-120_decrease (fluent-next.blue.light).png new file mode 100644 index 000000000000..19ee2413ce9e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineMonth_offset-120_decrease (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineMonth_offset-120_decrease_rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineMonth_offset-120_decrease_rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..908772924e59 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineMonth_offset-120_decrease_rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineMonth_offset-120_increase (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineMonth_offset-120_increase (fluent-next.blue.light).png new file mode 100644 index 000000000000..19ee2413ce9e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineMonth_offset-120_increase (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineMonth_offset-120_increase_rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineMonth_offset-120_increase_rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..908772924e59 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_timelineMonth_offset-120_increase_rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week-all-day_offset--120 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week-all-day_offset--120 (fluent-next.blue.light).png new file mode 100644 index 000000000000..880605e6bf5f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week-all-day_offset--120 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week-all-day_offset--120_rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week-all-day_offset--120_rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..880605e6bf5f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week-all-day_offset--120_rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week-all-day_offset-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week-all-day_offset-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..222244861261 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week-all-day_offset-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week-all-day_offset-0_rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week-all-day_offset-0_rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..222244861261 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week-all-day_offset-0_rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week-all-day_offset-120 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week-all-day_offset-120 (fluent-next.blue.light).png new file mode 100644 index 000000000000..4b2599bfd7a9 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week-all-day_offset-120 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week-all-day_offset-120_rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week-all-day_offset-120_rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..4b2599bfd7a9 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week-all-day_offset-120_rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset--120_decrease_0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset--120_decrease_0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..3169c6d76e9b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset--120_decrease_0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset--120_decrease_0_rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset--120_decrease_0_rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..5c48d10d0775 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset--120_decrease_0_rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset--120_decrease_1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset--120_decrease_1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..142110df37ac Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset--120_decrease_1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset--120_decrease_1_rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset--120_decrease_1_rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..1899d0fe95e9 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset--120_decrease_1_rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset--120_decrease_2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset--120_decrease_2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..41bf3dad8cce Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset--120_decrease_2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset--120_decrease_2_rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset--120_decrease_2_rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..2401e08bc1eb Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset--120_decrease_2_rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset--120_decrease_3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset--120_decrease_3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..66670a0c4933 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset--120_decrease_3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset--120_decrease_3_rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset--120_decrease_3_rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..e6a6209d239b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset--120_decrease_3_rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset--120_increase_0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset--120_increase_0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..3169c6d76e9b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset--120_increase_0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset--120_increase_0_rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset--120_increase_0_rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..5c48d10d0775 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset--120_increase_0_rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset--120_increase_1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset--120_increase_1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..142110df37ac Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset--120_increase_1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset--120_increase_1_rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset--120_increase_1_rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..1899d0fe95e9 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset--120_increase_1_rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset--120_increase_2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset--120_increase_2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..41bf3dad8cce Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset--120_increase_2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset--120_increase_2_rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset--120_increase_2_rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..2401e08bc1eb Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset--120_increase_2_rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset--120_increase_3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset--120_increase_3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..66670a0c4933 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset--120_increase_3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset--120_increase_3_rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset--120_increase_3_rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..e6a6209d239b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset--120_increase_3_rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-0_decrease_0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-0_decrease_0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..6e0ccd0663d9 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-0_decrease_0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-0_decrease_0_rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-0_decrease_0_rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..c441c9a433f2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-0_decrease_0_rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-0_decrease_1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-0_decrease_1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..d346df51d614 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-0_decrease_1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-0_decrease_1_rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-0_decrease_1_rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..16cb3c739a56 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-0_decrease_1_rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-0_decrease_2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-0_decrease_2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..f54988ac6b34 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-0_decrease_2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-0_decrease_2_rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-0_decrease_2_rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..c8042014aa52 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-0_decrease_2_rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-0_decrease_3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-0_decrease_3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..0ad7818623b9 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-0_decrease_3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-0_decrease_3_rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-0_decrease_3_rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..6086556f3e6c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-0_decrease_3_rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-0_increase_0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-0_increase_0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..6e0ccd0663d9 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-0_increase_0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-0_increase_0_rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-0_increase_0_rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..c441c9a433f2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-0_increase_0_rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-0_increase_1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-0_increase_1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..d346df51d614 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-0_increase_1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-0_increase_1_rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-0_increase_1_rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..16cb3c739a56 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-0_increase_1_rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-0_increase_2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-0_increase_2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..f54988ac6b34 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-0_increase_2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-0_increase_2_rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-0_increase_2_rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..c8042014aa52 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-0_increase_2_rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-0_increase_3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-0_increase_3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..0ad7818623b9 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-0_increase_3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-0_increase_3_rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-0_increase_3_rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..6086556f3e6c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-0_increase_3_rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-120_decrease_0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-120_decrease_0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..fdbcf4bb126c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-120_decrease_0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-120_decrease_0_rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-120_decrease_0_rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..66573025dc20 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-120_decrease_0_rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-120_decrease_1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-120_decrease_1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..bbc74f2a128f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-120_decrease_1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-120_decrease_1_rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-120_decrease_1_rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..5133bb6c05d9 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-120_decrease_1_rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-120_decrease_2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-120_decrease_2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..2caf12659583 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-120_decrease_2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-120_decrease_2_rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-120_decrease_2_rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..6b27500ff0c5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-120_decrease_2_rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-120_decrease_3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-120_decrease_3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..236b34a2c2f2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-120_decrease_3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-120_decrease_3_rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-120_decrease_3_rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..b2c74b66af11 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-120_decrease_3_rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-120_increase_0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-120_increase_0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..fdbcf4bb126c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-120_increase_0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-120_increase_0_rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-120_increase_0_rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..66573025dc20 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-120_increase_0_rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-120_increase_1 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-120_increase_1 (fluent-next.blue.light).png new file mode 100644 index 000000000000..bbc74f2a128f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-120_increase_1 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-120_increase_1_rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-120_increase_1_rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..5133bb6c05d9 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-120_increase_1_rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-120_increase_2 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-120_increase_2 (fluent-next.blue.light).png new file mode 100644 index 000000000000..2caf12659583 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-120_increase_2 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-120_increase_2_rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-120_increase_2_rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..6b27500ff0c5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-120_increase_2_rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-120_increase_3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-120_increase_3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..236b34a2c2f2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-120_increase_3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-120_increase_3_rtl (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-120_increase_3_rtl (fluent-next.blue.light).png new file mode 100644 index 000000000000..b2c74b66af11 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_multi-cell-select_week_offset-120_increase_3_rtl (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_month_end-minus_offset--735 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_month_end-minus_offset--735 (fluent-next.blue.light).png new file mode 100644 index 000000000000..bf83424899b9 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_month_end-minus_offset--735 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_month_end-minus_offset-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_month_end-minus_offset-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..f685a93e6bd7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_month_end-minus_offset-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_month_end-minus_offset-735 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_month_end-minus_offset-735 (fluent-next.blue.light).png new file mode 100644 index 000000000000..b5afbc94e3b5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_month_end-minus_offset-735 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_month_end-plus_offset--735 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_month_end-plus_offset--735 (fluent-next.blue.light).png new file mode 100644 index 000000000000..7a96487cc315 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_month_end-plus_offset--735 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_month_end-plus_offset-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_month_end-plus_offset-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..89330dc46050 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_month_end-plus_offset-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_month_end-plus_offset-735 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_month_end-plus_offset-735 (fluent-next.blue.light).png new file mode 100644 index 000000000000..97340f417cdd Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_month_end-plus_offset-735 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_month_start-minus_offset--735 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_month_start-minus_offset--735 (fluent-next.blue.light).png new file mode 100644 index 000000000000..e24800be25ec Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_month_start-minus_offset--735 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_month_start-minus_offset-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_month_start-minus_offset-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..a8b71e46efe2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_month_start-minus_offset-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_month_start-minus_offset-735 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_month_start-minus_offset-735 (fluent-next.blue.light).png new file mode 100644 index 000000000000..bf83424899b9 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_month_start-minus_offset-735 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_month_start-plus_offset--735 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_month_start-plus_offset--735 (fluent-next.blue.light).png new file mode 100644 index 000000000000..7a96487cc315 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_month_start-plus_offset--735 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_month_start-plus_offset-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_month_start-plus_offset-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..89330dc46050 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_month_start-plus_offset-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_month_start-plus_offset-735 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_month_start-plus_offset-735 (fluent-next.blue.light).png new file mode 100644 index 000000000000..97340f417cdd Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_month_start-plus_offset-735 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_timelineDay_offset--720_startDayHour-10_endDayHour-12 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_timelineDay_offset--720_startDayHour-10_endDayHour-12 (fluent-next.blue.light).png new file mode 100644 index 000000000000..a122dcfb6c41 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_timelineDay_offset--720_startDayHour-10_endDayHour-12 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_timelineDay_offset-720_startDayHour-10_endDayHour-12 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_timelineDay_offset-720_startDayHour-10_endDayHour-12 (fluent-next.blue.light).png new file mode 100644 index 000000000000..a122dcfb6c41 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_timelineDay_offset-720_startDayHour-10_endDayHour-12 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_timelineMonth_end-minus_offset--735 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_timelineMonth_end-minus_offset--735 (fluent-next.blue.light).png new file mode 100644 index 000000000000..6542fa9bf8ee Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_timelineMonth_end-minus_offset--735 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_timelineMonth_end-minus_offset-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_timelineMonth_end-minus_offset-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..64ba60925392 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_timelineMonth_end-minus_offset-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_timelineMonth_end-minus_offset-735 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_timelineMonth_end-minus_offset-735 (fluent-next.blue.light).png new file mode 100644 index 000000000000..9ddcd8a5604f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_timelineMonth_end-minus_offset-735 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_timelineMonth_end-plus_offset--735 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_timelineMonth_end-plus_offset--735 (fluent-next.blue.light).png new file mode 100644 index 000000000000..ba986f335171 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_timelineMonth_end-plus_offset--735 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_timelineMonth_end-plus_offset-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_timelineMonth_end-plus_offset-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..02fd0f6d00c5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_timelineMonth_end-plus_offset-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_timelineMonth_end-plus_offset-735 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_timelineMonth_end-plus_offset-735 (fluent-next.blue.light).png new file mode 100644 index 000000000000..c2d0699768b3 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_timelineMonth_end-plus_offset-735 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_timelineMonth_start-minus_offset--735 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_timelineMonth_start-minus_offset--735 (fluent-next.blue.light).png new file mode 100644 index 000000000000..fab39e86fe8c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_timelineMonth_start-minus_offset--735 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_timelineMonth_start-minus_offset-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_timelineMonth_start-minus_offset-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..12726af8df18 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_timelineMonth_start-minus_offset-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_timelineMonth_start-minus_offset-735 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_timelineMonth_start-minus_offset-735 (fluent-next.blue.light).png new file mode 100644 index 000000000000..4277aaa3b966 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_timelineMonth_start-minus_offset-735 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_timelineMonth_start-plus_offset--735 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_timelineMonth_start-plus_offset--735 (fluent-next.blue.light).png new file mode 100644 index 000000000000..ba986f335171 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_timelineMonth_start-plus_offset--735 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_timelineMonth_start-plus_offset-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_timelineMonth_start-plus_offset-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..02fd0f6d00c5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_timelineMonth_start-plus_offset-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_timelineMonth_start-plus_offset-735 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_timelineMonth_start-plus_offset-735 (fluent-next.blue.light).png new file mode 100644 index 000000000000..c2d0699768b3 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_timelineMonth_start-plus_offset-735 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_week_end-minus_offset--735 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_week_end-minus_offset--735 (fluent-next.blue.light).png new file mode 100644 index 000000000000..056fe34c3e40 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_week_end-minus_offset--735 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_week_end-minus_offset-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_week_end-minus_offset-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..22f5f87aafd3 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_week_end-minus_offset-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_week_end-minus_offset-735 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_week_end-minus_offset-735 (fluent-next.blue.light).png new file mode 100644 index 000000000000..faefda932a49 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_week_end-minus_offset-735 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_week_end-plus_offset--735 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_week_end-plus_offset--735 (fluent-next.blue.light).png new file mode 100644 index 000000000000..4d79e25e83da Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_week_end-plus_offset--735 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_week_end-plus_offset-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_week_end-plus_offset-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..f51d666460ac Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_week_end-plus_offset-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_week_end-plus_offset-735 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_week_end-plus_offset-735 (fluent-next.blue.light).png new file mode 100644 index 000000000000..67ff613fc397 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_week_end-plus_offset-735 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_week_offset--720_startDayHour-10_endDayHour-12 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_week_offset--720_startDayHour-10_endDayHour-12 (fluent-next.blue.light).png new file mode 100644 index 000000000000..8a2325243466 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_week_offset--720_startDayHour-10_endDayHour-12 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_week_offset-720_startDayHour-10_endDayHour-12 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_week_offset-720_startDayHour-10_endDayHour-12 (fluent-next.blue.light).png new file mode 100644 index 000000000000..9c91d88cb5ea Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_week_offset-720_startDayHour-10_endDayHour-12 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_week_start-minus_offset--735 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_week_start-minus_offset--735 (fluent-next.blue.light).png new file mode 100644 index 000000000000..9f0a349cd9c3 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_week_start-minus_offset--735 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_week_start-minus_offset-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_week_start-minus_offset-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..6a22d9537898 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_week_start-minus_offset-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_week_start-minus_offset-735 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_week_start-minus_offset-735 (fluent-next.blue.light).png new file mode 100644 index 000000000000..d60203eb94f0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_week_start-minus_offset-735 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_week_start-plus_offset--735 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_week_start-plus_offset--735 (fluent-next.blue.light).png new file mode 100644 index 000000000000..2232d47038ef Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_week_start-plus_offset--735 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_week_start-plus_offset-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_week_start-plus_offset-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..02423ed456d1 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_week_start-plus_offset-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_week_start-plus_offset-735 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_week_start-plus_offset-735 (fluent-next.blue.light).png new file mode 100644 index 000000000000..efb0835fe707 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_resize-appts_week_start-plus_offset-735 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-day_now-2023-12-02T12-00-00_offset--1440_start-0_end-24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-day_now-2023-12-02T12-00-00_offset--1440_start-0_end-24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..76d8c0052317 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-day_now-2023-12-02T12-00-00_offset--1440_start-0_end-24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-day_now-2023-12-02T12-00-00_offset--1440_start-6_end-18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-day_now-2023-12-02T12-00-00_offset--1440_start-6_end-18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..8596225dd64a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-day_now-2023-12-02T12-00-00_offset--1440_start-6_end-18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-day_now-2023-12-03T00-00-00_offset--720_start-0_end-24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-day_now-2023-12-03T00-00-00_offset--720_start-0_end-24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..a2f3bfa7e280 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-day_now-2023-12-03T00-00-00_offset--720_start-0_end-24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-day_now-2023-12-03T00-00-00_offset--720_start-6_end-18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-day_now-2023-12-03T00-00-00_offset--720_start-6_end-18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..ba92de9af8e0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-day_now-2023-12-03T00-00-00_offset--720_start-6_end-18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-day_now-2023-12-04T00-00-00_offset-720_start-0_end-24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-day_now-2023-12-04T00-00-00_offset-720_start-0_end-24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..a2f3bfa7e280 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-day_now-2023-12-04T00-00-00_offset-720_start-0_end-24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-day_now-2023-12-04T00-00-00_offset-720_start-6_end-18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-day_now-2023-12-04T00-00-00_offset-720_start-6_end-18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..ba92de9af8e0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-day_now-2023-12-04T00-00-00_offset-720_start-6_end-18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-day_now-2023-12-04T12-00-00_offset-1440_start-0_end-24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-day_now-2023-12-04T12-00-00_offset-1440_start-0_end-24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..76d8c0052317 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-day_now-2023-12-04T12-00-00_offset-1440_start-0_end-24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-day_now-2023-12-04T12-00-00_offset-1440_start-6_end-18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-day_now-2023-12-04T12-00-00_offset-1440_start-6_end-18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..8596225dd64a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-day_now-2023-12-04T12-00-00_offset-1440_start-6_end-18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineDay_now-2023-12-02T12-00-00_offset--1440_start-0_end-24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineDay_now-2023-12-02T12-00-00_offset--1440_start-0_end-24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..6c3c4877b73d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineDay_now-2023-12-02T12-00-00_offset--1440_start-0_end-24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineDay_now-2023-12-02T12-00-00_offset--1440_start-6_end-18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineDay_now-2023-12-02T12-00-00_offset--1440_start-6_end-18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..703df07f84cf Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineDay_now-2023-12-02T12-00-00_offset--1440_start-6_end-18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineDay_now-2023-12-03T00-00-00_offset--720_start-0_end-24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineDay_now-2023-12-03T00-00-00_offset--720_start-0_end-24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..33852cefb45e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineDay_now-2023-12-03T00-00-00_offset--720_start-0_end-24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineDay_now-2023-12-03T00-00-00_offset--720_start-6_end-18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineDay_now-2023-12-03T00-00-00_offset--720_start-6_end-18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..98683145b688 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineDay_now-2023-12-03T00-00-00_offset--720_start-6_end-18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineDay_now-2023-12-04T00-00-00_offset-720_start-0_end-24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineDay_now-2023-12-04T00-00-00_offset-720_start-0_end-24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..33852cefb45e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineDay_now-2023-12-04T00-00-00_offset-720_start-0_end-24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineDay_now-2023-12-04T00-00-00_offset-720_start-6_end-18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineDay_now-2023-12-04T00-00-00_offset-720_start-6_end-18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..98683145b688 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineDay_now-2023-12-04T00-00-00_offset-720_start-6_end-18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineDay_now-2023-12-04T12-00-00_offset-1440_start-0_end-24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineDay_now-2023-12-04T12-00-00_offset-1440_start-0_end-24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..6c3c4877b73d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineDay_now-2023-12-04T12-00-00_offset-1440_start-0_end-24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineDay_now-2023-12-04T12-00-00_offset-1440_start-6_end-18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineDay_now-2023-12-04T12-00-00_offset-1440_start-6_end-18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..703df07f84cf Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineDay_now-2023-12-04T12-00-00_offset-1440_start-6_end-18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineMonth_now-2023-12-02T12-00-00_offset--1440_start-0_end-24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineMonth_now-2023-12-02T12-00-00_offset--1440_start-0_end-24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..e0ea552eb237 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineMonth_now-2023-12-02T12-00-00_offset--1440_start-0_end-24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineMonth_now-2023-12-02T12-00-00_offset--1440_start-6_end-18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineMonth_now-2023-12-02T12-00-00_offset--1440_start-6_end-18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..e0ea552eb237 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineMonth_now-2023-12-02T12-00-00_offset--1440_start-6_end-18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineMonth_now-2023-12-03T00-00-00_offset--720_start-0_end-24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineMonth_now-2023-12-03T00-00-00_offset--720_start-0_end-24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..e0ea552eb237 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineMonth_now-2023-12-03T00-00-00_offset--720_start-0_end-24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineMonth_now-2023-12-03T00-00-00_offset--720_start-6_end-18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineMonth_now-2023-12-03T00-00-00_offset--720_start-6_end-18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..e0ea552eb237 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineMonth_now-2023-12-03T00-00-00_offset--720_start-6_end-18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineMonth_now-2023-12-04T00-00-00_offset-720_start-0_end-24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineMonth_now-2023-12-04T00-00-00_offset-720_start-0_end-24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..e0ea552eb237 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineMonth_now-2023-12-04T00-00-00_offset-720_start-0_end-24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineMonth_now-2023-12-04T00-00-00_offset-720_start-6_end-18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineMonth_now-2023-12-04T00-00-00_offset-720_start-6_end-18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..e0ea552eb237 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineMonth_now-2023-12-04T00-00-00_offset-720_start-6_end-18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineMonth_now-2023-12-04T12-00-00_offset-1440_start-0_end-24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineMonth_now-2023-12-04T12-00-00_offset-1440_start-0_end-24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..e0ea552eb237 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineMonth_now-2023-12-04T12-00-00_offset-1440_start-0_end-24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineMonth_now-2023-12-04T12-00-00_offset-1440_start-6_end-18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineMonth_now-2023-12-04T12-00-00_offset-1440_start-6_end-18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..e0ea552eb237 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineMonth_now-2023-12-04T12-00-00_offset-1440_start-6_end-18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineWeek_now-2023-12-02T12-00-00_offset--1440_start-0_end-24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineWeek_now-2023-12-02T12-00-00_offset--1440_start-0_end-24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..c16660e16a6e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineWeek_now-2023-12-02T12-00-00_offset--1440_start-0_end-24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineWeek_now-2023-12-02T12-00-00_offset--1440_start-6_end-18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineWeek_now-2023-12-02T12-00-00_offset--1440_start-6_end-18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..7c8063fa6e74 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineWeek_now-2023-12-02T12-00-00_offset--1440_start-6_end-18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineWeek_now-2023-12-03T00-00-00_offset--720_start-0_end-24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineWeek_now-2023-12-03T00-00-00_offset--720_start-0_end-24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..4101ebb622f9 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineWeek_now-2023-12-03T00-00-00_offset--720_start-0_end-24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineWeek_now-2023-12-03T00-00-00_offset--720_start-6_end-18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineWeek_now-2023-12-03T00-00-00_offset--720_start-6_end-18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..8d2f12c9a6bb Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineWeek_now-2023-12-03T00-00-00_offset--720_start-6_end-18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineWeek_now-2023-12-04T00-00-00_offset-720_start-0_end-24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineWeek_now-2023-12-04T00-00-00_offset-720_start-0_end-24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..4101ebb622f9 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineWeek_now-2023-12-04T00-00-00_offset-720_start-0_end-24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineWeek_now-2023-12-04T00-00-00_offset-720_start-6_end-18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineWeek_now-2023-12-04T00-00-00_offset-720_start-6_end-18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..8d2f12c9a6bb Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineWeek_now-2023-12-04T00-00-00_offset-720_start-6_end-18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineWeek_now-2023-12-04T12-00-00_offset-1440_start-0_end-24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineWeek_now-2023-12-04T12-00-00_offset-1440_start-0_end-24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..c16660e16a6e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineWeek_now-2023-12-04T12-00-00_offset-1440_start-0_end-24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineWeek_now-2023-12-04T12-00-00_offset-1440_start-6_end-18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineWeek_now-2023-12-04T12-00-00_offset-1440_start-6_end-18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..7c8063fa6e74 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-timelineWeek_now-2023-12-04T12-00-00_offset-1440_start-6_end-18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-week_now-2023-12-04T12-00-00_offset--1440_start-0_end-24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-week_now-2023-12-04T12-00-00_offset--1440_start-0_end-24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..9ed2521f6a9e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-week_now-2023-12-04T12-00-00_offset--1440_start-0_end-24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-week_now-2023-12-04T12-00-00_offset--1440_start-6_end-18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-week_now-2023-12-04T12-00-00_offset--1440_start-6_end-18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..61e8e3d47219 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-week_now-2023-12-04T12-00-00_offset--1440_start-6_end-18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-week_now-2023-12-05T00-00-00_offset--720_start-0_end-24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-week_now-2023-12-05T00-00-00_offset--720_start-0_end-24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..141e09e95d1f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-week_now-2023-12-05T00-00-00_offset--720_start-0_end-24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-week_now-2023-12-05T00-00-00_offset--720_start-6_end-18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-week_now-2023-12-05T00-00-00_offset--720_start-6_end-18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..7bbd29ae34d1 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-week_now-2023-12-05T00-00-00_offset--720_start-6_end-18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-week_now-2023-12-06T00-00-00_offset-720_start-0_end-24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-week_now-2023-12-06T00-00-00_offset-720_start-0_end-24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..141e09e95d1f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-week_now-2023-12-06T00-00-00_offset-720_start-0_end-24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-week_now-2023-12-06T00-00-00_offset-720_start-6_end-18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-week_now-2023-12-06T00-00-00_offset-720_start-6_end-18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..7bbd29ae34d1 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-week_now-2023-12-06T00-00-00_offset-720_start-6_end-18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-week_now-2023-12-06T12-00-00_offset-1440_start-0_end-24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-week_now-2023-12-06T12-00-00_offset-1440_start-0_end-24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..9ed2521f6a9e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-week_now-2023-12-06T12-00-00_offset-1440_start-0_end-24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-week_now-2023-12-06T12-00-00_offset-1440_start-6_end-18 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-week_now-2023-12-06T12-00-00_offset-1440_start-6_end-18 (fluent-next.blue.light).png new file mode 100644 index 000000000000..61e8e3d47219 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/common/etalons/offset_time-indicator_view-week_now-2023-12-06T12-00-00_offset-1440_start-6_end-18 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_day_offset--1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_day_offset--1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..3b34f7ed6690 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_day_offset--1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_day_offset--1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_day_offset--1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..31d379b2baf0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_day_offset--1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_day_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_day_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..3b45a57de881 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_day_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_day_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_day_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..079d4aceb28e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_day_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_day_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_day_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..126f46ed6bb1 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_day_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_day_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_day_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..2b3a7a9e606f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_day_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_day_offset-1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_day_offset-1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..e498628ef6f9 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_day_offset-1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_day_offset-1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_day_offset-1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..4afab4d49cd3 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_day_offset-1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_day_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_day_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..25747d4182af Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_day_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_day_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_day_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..2301c64a5e3d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_day_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_month_offset--1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_month_offset--1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..3150a6165ec6 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_month_offset--1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_month_offset--1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_month_offset--1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..3150a6165ec6 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_month_offset--1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_month_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_month_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..abbbc10f8b8d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_month_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_month_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_month_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..9519f774ad69 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_month_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_month_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_month_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..18b3e0013ef7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_month_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_month_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_month_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..32cea36bb335 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_month_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_month_offset-1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_month_offset-1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..2a54d6526a43 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_month_offset-1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_month_offset-1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_month_offset-1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..2a54d6526a43 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_month_offset-1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_month_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_month_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..b452216e80dd Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_month_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_month_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_month_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..05d218f78584 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_month_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineDay_offset--1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineDay_offset--1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..4e0e41a9a745 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineDay_offset--1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineDay_offset--1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineDay_offset--1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..6960d16f8d37 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineDay_offset--1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineDay_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineDay_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..0e52579848be Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineDay_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineDay_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineDay_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..2fa64e0267ff Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineDay_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineDay_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineDay_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..68412f1b3efe Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineDay_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineDay_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineDay_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..a31fbc52a797 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineDay_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineDay_offset-1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineDay_offset-1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..510e2f3fff32 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineDay_offset-1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineDay_offset-1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineDay_offset-1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..4c4530388692 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineDay_offset-1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineDay_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineDay_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..602186ec47e7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineDay_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineDay_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineDay_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..516d568749c4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineDay_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineMonth_offset--1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineMonth_offset--1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..702546a86d93 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineMonth_offset--1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineMonth_offset--1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineMonth_offset--1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..702546a86d93 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineMonth_offset--1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineMonth_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineMonth_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..208a10360fc8 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineMonth_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineMonth_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineMonth_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..208a10360fc8 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineMonth_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineMonth_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineMonth_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..34edf9e6eaff Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineMonth_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineMonth_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineMonth_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..1732ab882f20 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineMonth_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineMonth_offset-1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineMonth_offset-1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..c2aa4190e3da Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineMonth_offset-1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineMonth_offset-1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineMonth_offset-1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..c2aa4190e3da Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineMonth_offset-1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineMonth_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineMonth_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..557f82ab05a6 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineMonth_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineMonth_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineMonth_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..557f82ab05a6 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineMonth_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWeek_offset--1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWeek_offset--1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..39132c846bd5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWeek_offset--1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWeek_offset--1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWeek_offset--1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..008473bd5a24 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWeek_offset--1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWeek_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWeek_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..715f3e1b0a2f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWeek_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWeek_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWeek_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..2e240880514d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWeek_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWeek_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWeek_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..e1cb9e1b9d6c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWeek_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWeek_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWeek_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..34e6f230c9bd Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWeek_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWeek_offset-1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWeek_offset-1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..dae04c478773 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWeek_offset-1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWeek_offset-1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWeek_offset-1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..afad135128da Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWeek_offset-1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWeek_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWeek_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..dad1ca3b84bd Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWeek_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWeek_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWeek_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..45e36616e636 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWeek_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWorkWeek_offset--1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWorkWeek_offset--1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..52f77e9b90e7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWorkWeek_offset--1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWorkWeek_offset--1440_start-0_end-24_first-day-3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWorkWeek_offset--1440_start-0_end-24_first-day-3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..9ea51aa6babd Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWorkWeek_offset--1440_start-0_end-24_first-day-3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWorkWeek_offset--1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWorkWeek_offset--1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..926665b12291 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWorkWeek_offset--1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWorkWeek_offset--1440_start-9_end-17_first-day-3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWorkWeek_offset--1440_start-9_end-17_first-day-3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..f8a4f1889a17 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWorkWeek_offset--1440_start-9_end-17_first-day-3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWorkWeek_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWorkWeek_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..86265f378b44 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWorkWeek_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWorkWeek_offset--735_start-0_end-24_first-day-3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWorkWeek_offset--735_start-0_end-24_first-day-3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..b7d0b57c078c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWorkWeek_offset--735_start-0_end-24_first-day-3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWorkWeek_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWorkWeek_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..f33818196207 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWorkWeek_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWorkWeek_offset--735_start-9_end-17_first-day-3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWorkWeek_offset--735_start-9_end-17_first-day-3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..981051924f3f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWorkWeek_offset--735_start-9_end-17_first-day-3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWorkWeek_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWorkWeek_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..cb8cc13fd93f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWorkWeek_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWorkWeek_offset-0_start-0_end-24_first-day-3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWorkWeek_offset-0_start-0_end-24_first-day-3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..b4a27b91d98a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWorkWeek_offset-0_start-0_end-24_first-day-3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWorkWeek_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWorkWeek_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..93087a3bd346 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWorkWeek_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWorkWeek_offset-0_start-9_end-17_first-day-3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWorkWeek_offset-0_start-9_end-17_first-day-3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..0a7614e24026 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWorkWeek_offset-0_start-9_end-17_first-day-3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWorkWeek_offset-1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWorkWeek_offset-1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..863c1ecdd80d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWorkWeek_offset-1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWorkWeek_offset-1440_start-0_end-24_first-day-3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWorkWeek_offset-1440_start-0_end-24_first-day-3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..1b1b3ab0aee0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWorkWeek_offset-1440_start-0_end-24_first-day-3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWorkWeek_offset-1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWorkWeek_offset-1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..33a9eb59fad2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWorkWeek_offset-1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWorkWeek_offset-1440_start-9_end-17_first-day-3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWorkWeek_offset-1440_start-9_end-17_first-day-3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..ec1ee270396b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWorkWeek_offset-1440_start-9_end-17_first-day-3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWorkWeek_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWorkWeek_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..85c681d6c2e5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWorkWeek_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWorkWeek_offset-735_start-0_end-24_first-day-3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWorkWeek_offset-735_start-0_end-24_first-day-3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..0c569b6733cf Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWorkWeek_offset-735_start-0_end-24_first-day-3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWorkWeek_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWorkWeek_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..bf3f5367a5ca Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWorkWeek_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWorkWeek_offset-735_start-9_end-17_first-day-3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWorkWeek_offset-735_start-9_end-17_first-day-3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..b103845cef3c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_timelineWorkWeek_offset-735_start-9_end-17_first-day-3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_week_offset--1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_week_offset--1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..4dde365241ac Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_week_offset--1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_week_offset--1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_week_offset--1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..2a073169262f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_week_offset--1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_week_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_week_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..6f9532020e88 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_week_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_week_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_week_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..6c2c19f8d670 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_week_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_week_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_week_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..1f389b05b850 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_week_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_week_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_week_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..745371630627 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_week_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_week_offset-1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_week_offset-1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..6ff5e36990ae Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_week_offset-1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_week_offset-1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_week_offset-1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..59ae46cb0a19 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_week_offset-1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_week_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_week_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..b3b9972a01fb Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_week_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_week_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_week_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..3fd9a4c8fa95 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_week_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_workWeek_offset--1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_workWeek_offset--1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..3a54d0fbd233 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_workWeek_offset--1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_workWeek_offset--1440_start-0_end-24_first-day-3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_workWeek_offset--1440_start-0_end-24_first-day-3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..ccd6d6e3fcec Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_workWeek_offset--1440_start-0_end-24_first-day-3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_workWeek_offset--1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_workWeek_offset--1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..6e1ff0bf5b3e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_workWeek_offset--1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_workWeek_offset--1440_start-9_end-17_first-day-3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_workWeek_offset--1440_start-9_end-17_first-day-3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..7f4733bf8b81 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_workWeek_offset--1440_start-9_end-17_first-day-3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_workWeek_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_workWeek_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..b579855a75e0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_workWeek_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_workWeek_offset--735_start-0_end-24_first-day-3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_workWeek_offset--735_start-0_end-24_first-day-3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..141d88f8d1bd Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_workWeek_offset--735_start-0_end-24_first-day-3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_workWeek_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_workWeek_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..49cb573b6c33 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_workWeek_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_workWeek_offset--735_start-9_end-17_first-day-3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_workWeek_offset--735_start-9_end-17_first-day-3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..070ce92a96c4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_workWeek_offset--735_start-9_end-17_first-day-3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_workWeek_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_workWeek_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..d4f6058327bc Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_workWeek_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_workWeek_offset-0_start-0_end-24_first-day-3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_workWeek_offset-0_start-0_end-24_first-day-3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..fa07063d61f5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_workWeek_offset-0_start-0_end-24_first-day-3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_workWeek_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_workWeek_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..357882eafb35 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_workWeek_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_workWeek_offset-0_start-9_end-17_first-day-3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_workWeek_offset-0_start-9_end-17_first-day-3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..3d8406b93578 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_workWeek_offset-0_start-9_end-17_first-day-3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_workWeek_offset-1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_workWeek_offset-1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..a67ef2eced60 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_workWeek_offset-1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_workWeek_offset-1440_start-0_end-24_first-day-3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_workWeek_offset-1440_start-0_end-24_first-day-3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..c92105e6ea5a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_workWeek_offset-1440_start-0_end-24_first-day-3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_workWeek_offset-1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_workWeek_offset-1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..8c3a6e29fc24 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_workWeek_offset-1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_workWeek_offset-1440_start-9_end-17_first-day-3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_workWeek_offset-1440_start-9_end-17_first-day-3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..9b040d991ae2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_workWeek_offset-1440_start-9_end-17_first-day-3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_workWeek_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_workWeek_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..f3c114b067bf Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_workWeek_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_workWeek_offset-735_start-0_end-24_first-day-3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_workWeek_offset-735_start-0_end-24_first-day-3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..ffdc8ff6f035 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_workWeek_offset-735_start-0_end-24_first-day-3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_workWeek_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_workWeek_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..c70356b0165a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_workWeek_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_workWeek_offset-735_start-9_end-17_first-day-3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_workWeek_offset-735_start-9_end-17_first-day-3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..1414bc2fbb6b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_all-day_workWeek_offset-735_start-9_end-17_first-day-3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_ordering-appts_T1212573 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_ordering-appts_T1212573 (fluent-next.blue.light).png new file mode 100644 index 000000000000..9026eb70579d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_ordering-appts_T1212573 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_ordering-appts_month_offset--1440_start-0_end-24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_ordering-appts_month_offset--1440_start-0_end-24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..9db13ee69395 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_ordering-appts_month_offset--1440_start-0_end-24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_ordering-appts_month_offset--1440_start-9_end-17 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_ordering-appts_month_offset--1440_start-9_end-17 (fluent-next.blue.light).png new file mode 100644 index 000000000000..2a2c26c1d9b4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_ordering-appts_month_offset--1440_start-9_end-17 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_ordering-appts_month_offset--735_start-0_end-24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_ordering-appts_month_offset--735_start-0_end-24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..9e986642854c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_ordering-appts_month_offset--735_start-0_end-24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_ordering-appts_month_offset--735_start-9_end-17 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_ordering-appts_month_offset--735_start-9_end-17 (fluent-next.blue.light).png new file mode 100644 index 000000000000..1276ac19d473 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_ordering-appts_month_offset--735_start-9_end-17 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_ordering-appts_month_offset-0_start-0_end-24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_ordering-appts_month_offset-0_start-0_end-24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..aca34b06fc78 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_ordering-appts_month_offset-0_start-0_end-24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_ordering-appts_month_offset-0_start-9_end-17 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_ordering-appts_month_offset-0_start-9_end-17 (fluent-next.blue.light).png new file mode 100644 index 000000000000..51d817197ff7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_ordering-appts_month_offset-0_start-9_end-17 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_ordering-appts_month_offset-1440_start-0_end-24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_ordering-appts_month_offset-1440_start-0_end-24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..4e0ed5eead73 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_ordering-appts_month_offset-1440_start-0_end-24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_ordering-appts_month_offset-1440_start-9_end-17 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_ordering-appts_month_offset-1440_start-9_end-17 (fluent-next.blue.light).png new file mode 100644 index 000000000000..b007836230bb Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_ordering-appts_month_offset-1440_start-9_end-17 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_ordering-appts_month_offset-735_start-0_end-24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_ordering-appts_month_offset-735_start-0_end-24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..464b4ef6017e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_ordering-appts_month_offset-735_start-0_end-24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_ordering-appts_month_offset-735_start-9_end-17 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_ordering-appts_month_offset-735_start-9_end-17 (fluent-next.blue.light).png new file mode 100644 index 000000000000..99f99934a5ec Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_ordering-appts_month_offset-735_start-9_end-17 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_ordering-appts_timelineMonth_offset--1440_start-0_end-24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_ordering-appts_timelineMonth_offset--1440_start-0_end-24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..d714a2d76a7d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_ordering-appts_timelineMonth_offset--1440_start-0_end-24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_ordering-appts_timelineMonth_offset--1440_start-9_end-17 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_ordering-appts_timelineMonth_offset--1440_start-9_end-17 (fluent-next.blue.light).png new file mode 100644 index 000000000000..c501a10b0717 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_ordering-appts_timelineMonth_offset--1440_start-9_end-17 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_ordering-appts_timelineMonth_offset--735_start-0_end-24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_ordering-appts_timelineMonth_offset--735_start-0_end-24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..02dc5d26fb9f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_ordering-appts_timelineMonth_offset--735_start-0_end-24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_ordering-appts_timelineMonth_offset--735_start-9_end-17 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_ordering-appts_timelineMonth_offset--735_start-9_end-17 (fluent-next.blue.light).png new file mode 100644 index 000000000000..9112fe3b3de6 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_ordering-appts_timelineMonth_offset--735_start-9_end-17 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_ordering-appts_timelineMonth_offset-0_start-0_end-24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_ordering-appts_timelineMonth_offset-0_start-0_end-24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..43899684fee4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_ordering-appts_timelineMonth_offset-0_start-0_end-24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_ordering-appts_timelineMonth_offset-0_start-9_end-17 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_ordering-appts_timelineMonth_offset-0_start-9_end-17 (fluent-next.blue.light).png new file mode 100644 index 000000000000..8f22398b1360 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_ordering-appts_timelineMonth_offset-0_start-9_end-17 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_ordering-appts_timelineMonth_offset-1440_start-0_end-24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_ordering-appts_timelineMonth_offset-1440_start-0_end-24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..aec846f7b670 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_ordering-appts_timelineMonth_offset-1440_start-0_end-24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_ordering-appts_timelineMonth_offset-1440_start-9_end-17 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_ordering-appts_timelineMonth_offset-1440_start-9_end-17 (fluent-next.blue.light).png new file mode 100644 index 000000000000..3624dd8040c3 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_ordering-appts_timelineMonth_offset-1440_start-9_end-17 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_ordering-appts_timelineMonth_offset-735_start-0_end-24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_ordering-appts_timelineMonth_offset-735_start-0_end-24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..157f7f13af4f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_ordering-appts_timelineMonth_offset-735_start-0_end-24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_ordering-appts_timelineMonth_offset-735_start-9_end-17 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_ordering-appts_timelineMonth_offset-735_start-9_end-17 (fluent-next.blue.light).png new file mode 100644 index 000000000000..35306800d043 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_ordering-appts_timelineMonth_offset-735_start-9_end-17 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_day_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_day_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..20c65ca08d60 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_day_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_day_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_day_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..0c696d7fd1ae Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_day_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_day_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_day_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..04d14cc9ae0a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_day_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_day_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_day_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..d373607a423d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_day_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_day_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_day_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..504d4e15034a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_day_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_day_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_day_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..d35114ba91df Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_day_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_month_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_month_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..f5a8588bdf64 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_month_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_month_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_month_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..2026814b0f4e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_month_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_month_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_month_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..ac5e8a2ef168 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_month_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_month_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_month_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..ac5e8a2ef168 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_month_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_month_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_month_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..822874864908 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_month_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_month_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_month_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..d0ee0b46b63a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_month_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_short-day-views_day_offset--720_start-0_end-24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_short-day-views_day_offset--720_start-0_end-24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..548ebb876fb1 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_short-day-views_day_offset--720_start-0_end-24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_short-day-views_day_offset--720_start-9_end-17 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_short-day-views_day_offset--720_start-9_end-17 (fluent-next.blue.light).png new file mode 100644 index 000000000000..194842fc3db5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_short-day-views_day_offset--720_start-9_end-17 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_short-day-views_day_offset-720_start-0_end-24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_short-day-views_day_offset-720_start-0_end-24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..a2bd2b06db99 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_short-day-views_day_offset-720_start-0_end-24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_short-day-views_day_offset-720_start-9_end-17 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_short-day-views_day_offset-720_start-9_end-17 (fluent-next.blue.light).png new file mode 100644 index 000000000000..f3808a961934 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_short-day-views_day_offset-720_start-9_end-17 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_short-day-views_timelineDay_offset--720_start-0_end-24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_short-day-views_timelineDay_offset--720_start-0_end-24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..21e9d239a6dc Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_short-day-views_timelineDay_offset--720_start-0_end-24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_short-day-views_timelineDay_offset--720_start-9_end-17 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_short-day-views_timelineDay_offset--720_start-9_end-17 (fluent-next.blue.light).png new file mode 100644 index 000000000000..eca071dc810c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_short-day-views_timelineDay_offset--720_start-9_end-17 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_short-day-views_timelineDay_offset-720_start-0_end-24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_short-day-views_timelineDay_offset-720_start-0_end-24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..ec6d151ccfee Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_short-day-views_timelineDay_offset-720_start-0_end-24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_short-day-views_timelineDay_offset-720_start-9_end-17 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_short-day-views_timelineDay_offset-720_start-9_end-17 (fluent-next.blue.light).png new file mode 100644 index 000000000000..2c8a90d92ba7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_short-day-views_timelineDay_offset-720_start-9_end-17 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineDay_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineDay_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..6d28422ca1f9 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineDay_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineDay_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineDay_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..22604ee4fcfb Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineDay_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineDay_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineDay_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..2d561aa748db Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineDay_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineDay_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineDay_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..521fc1ae6dba Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineDay_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineDay_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineDay_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..3cf45765d186 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineDay_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineDay_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineDay_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..b32a306dda80 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineDay_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineMonth_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineMonth_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..ab514961f284 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineMonth_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineMonth_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineMonth_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..d008ae448056 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineMonth_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineMonth_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineMonth_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..3e739c57bbad Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineMonth_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineMonth_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineMonth_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..3e739c57bbad Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineMonth_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineMonth_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineMonth_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..27280309742b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineMonth_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineMonth_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineMonth_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..d008ae448056 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineMonth_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineWeek_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineWeek_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..2397a41399af Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineWeek_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineWeek_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineWeek_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..1bb669ce16fb Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineWeek_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineWeek_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineWeek_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..cd33ccf99182 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineWeek_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineWeek_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineWeek_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..8e1cf2145a5e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineWeek_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineWeek_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineWeek_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..a3a97fe4b9af Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineWeek_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineWeek_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineWeek_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..366ac64b94bc Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineWeek_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineWorkWeek_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineWorkWeek_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..b51b08d28ed2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineWorkWeek_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineWorkWeek_offset--735_start-0_end-24_first-day-3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineWorkWeek_offset--735_start-0_end-24_first-day-3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..d39b196ac904 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineWorkWeek_offset--735_start-0_end-24_first-day-3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineWorkWeek_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineWorkWeek_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..1708c9121d76 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineWorkWeek_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineWorkWeek_offset--735_start-9_end-17_first-day-3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineWorkWeek_offset--735_start-9_end-17_first-day-3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..f78402760736 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineWorkWeek_offset--735_start-9_end-17_first-day-3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineWorkWeek_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineWorkWeek_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..dfccdcb2e84e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineWorkWeek_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineWorkWeek_offset-0_start-0_end-24_first-day-3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineWorkWeek_offset-0_start-0_end-24_first-day-3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..25e8f1774c29 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineWorkWeek_offset-0_start-0_end-24_first-day-3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineWorkWeek_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineWorkWeek_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..672b594733bd Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineWorkWeek_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineWorkWeek_offset-0_start-9_end-17_first-day-3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineWorkWeek_offset-0_start-9_end-17_first-day-3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..8366ed7be802 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineWorkWeek_offset-0_start-9_end-17_first-day-3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineWorkWeek_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineWorkWeek_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..0bb6deab3df7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineWorkWeek_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineWorkWeek_offset-735_start-0_end-24_first-day-3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineWorkWeek_offset-735_start-0_end-24_first-day-3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..581f72e6c08f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineWorkWeek_offset-735_start-0_end-24_first-day-3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineWorkWeek_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineWorkWeek_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..a1d3504268db Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineWorkWeek_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineWorkWeek_offset-735_start-9_end-17_first-day-3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineWorkWeek_offset-735_start-9_end-17_first-day-3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..05d4e19a31fd Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_timelineWorkWeek_offset-735_start-9_end-17_first-day-3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_week_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_week_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..d90f1e2a3818 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_week_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_week_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_week_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..8e5e28601240 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_week_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_week_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_week_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..070cced37e4c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_week_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_week_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_week_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..ca479856d21a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_week_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_week_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_week_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..ec0e1035f904 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_week_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_week_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_week_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..d617259c6caf Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_week_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_workWeek_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_workWeek_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..ae95b8470c5f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_workWeek_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_workWeek_offset--735_start-0_end-24_first-day-3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_workWeek_offset--735_start-0_end-24_first-day-3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..f9a81097a330 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_workWeek_offset--735_start-0_end-24_first-day-3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_workWeek_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_workWeek_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..5ae2e2193b08 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_workWeek_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_workWeek_offset--735_start-9_end-17_first-day-3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_workWeek_offset--735_start-9_end-17_first-day-3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..5436adbdd781 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_workWeek_offset--735_start-9_end-17_first-day-3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_workWeek_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_workWeek_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..1d3293a43198 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_workWeek_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_workWeek_offset-0_start-0_end-24_first-day-3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_workWeek_offset-0_start-0_end-24_first-day-3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..f43533f21ac3 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_workWeek_offset-0_start-0_end-24_first-day-3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_workWeek_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_workWeek_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..a46b76b34d10 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_workWeek_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_workWeek_offset-0_start-9_end-17_first-day-3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_workWeek_offset-0_start-9_end-17_first-day-3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..e144dcc8813a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_workWeek_offset-0_start-9_end-17_first-day-3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_workWeek_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_workWeek_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..b9f796bb511d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_workWeek_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_workWeek_offset-735_start-0_end-24_first-day-3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_workWeek_offset-735_start-0_end-24_first-day-3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..0dd9819733fd Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_workWeek_offset-735_start-0_end-24_first-day-3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_workWeek_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_workWeek_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..7ce33e3509a4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_workWeek_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_workWeek_offset-735_start-9_end-17_first-day-3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_workWeek_offset-735_start-9_end-17_first-day-3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..766b4153c61d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_recurrent-appts_workWeek_offset-735_start-9_end-17_first-day-3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_day_offset--1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_day_offset--1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..7528965a6e79 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_day_offset--1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_day_offset--1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_day_offset--1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..a41ac3d153a2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_day_offset--1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_day_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_day_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..b41515a65ebd Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_day_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_day_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_day_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..5fe111dbd14a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_day_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_day_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_day_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..b750e1429a19 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_day_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_day_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_day_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..26d542b3cc3b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_day_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_day_offset-1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_day_offset-1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..40a1e4e380d6 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_day_offset-1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_day_offset-1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_day_offset-1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..428b936592d8 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_day_offset-1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_day_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_day_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..d112435e43ed Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_day_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_day_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_day_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..62ec965f187e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_day_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_month_offset--1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_month_offset--1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..407323e190ae Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_month_offset--1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_month_offset--1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_month_offset--1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..a8ee9a2ac440 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_month_offset--1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_month_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_month_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..ce53e1465722 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_month_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_month_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_month_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..ed330ec8495a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_month_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_month_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_month_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..ce53e1465722 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_month_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_month_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_month_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..9d0ef7c302b1 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_month_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_month_offset-1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_month_offset-1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..ce53e1465722 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_month_offset-1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_month_offset-1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_month_offset-1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..40f7d1137de6 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_month_offset-1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_month_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_month_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..ce53e1465722 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_month_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_month_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_month_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..318673bfe784 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_month_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineDay_offset--1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineDay_offset--1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..4cab021e670c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineDay_offset--1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineDay_offset--1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineDay_offset--1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..bf613523df1f Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineDay_offset--1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineDay_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineDay_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..c7a5808b0874 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineDay_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineDay_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineDay_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..0d9e3e5ec421 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineDay_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineDay_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineDay_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..2d883daa5f0d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineDay_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineDay_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineDay_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..42737239faf3 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineDay_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineDay_offset-1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineDay_offset-1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..c3969ef9c515 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineDay_offset-1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineDay_offset-1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineDay_offset-1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..755e3b5dacd0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineDay_offset-1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineDay_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineDay_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..ba1640fc6f78 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineDay_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineDay_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineDay_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..c1b399a66174 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineDay_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineMonth_offset--1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineMonth_offset--1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..d0eff34a6ef3 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineMonth_offset--1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineMonth_offset--1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineMonth_offset--1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..b4baf73670f6 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineMonth_offset--1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineMonth_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineMonth_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..ff917d737634 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineMonth_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineMonth_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineMonth_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..cbd32e9352f4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineMonth_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineMonth_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineMonth_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..4d5fc13cb5ee Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineMonth_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineMonth_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineMonth_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..25b12d0bb649 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineMonth_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineMonth_offset-1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineMonth_offset-1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..962e2b085446 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineMonth_offset-1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineMonth_offset-1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineMonth_offset-1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..5779af7f37db Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineMonth_offset-1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineMonth_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineMonth_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..7578b93e0241 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineMonth_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineMonth_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineMonth_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..e1797d1bd068 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineMonth_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWeek_offset--1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWeek_offset--1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..28d5a6659bd9 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWeek_offset--1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWeek_offset--1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWeek_offset--1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..e0f7e3a8e82a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWeek_offset--1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWeek_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWeek_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..cc158b0aaa98 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWeek_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWeek_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWeek_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..231ffe510c38 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWeek_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWeek_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWeek_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..84ab037c3f3d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWeek_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWeek_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWeek_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..5c358642d08a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWeek_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWeek_offset-1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWeek_offset-1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..fd085656f761 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWeek_offset-1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWeek_offset-1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWeek_offset-1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..e3396236e4e9 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWeek_offset-1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWeek_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWeek_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..0a141722e4c7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWeek_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWeek_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWeek_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..6b452050460c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWeek_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWorkWeek_offset--1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWorkWeek_offset--1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..9812e8bd83f4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWorkWeek_offset--1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWorkWeek_offset--1440_start-0_end-24_first-day-3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWorkWeek_offset--1440_start-0_end-24_first-day-3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..7fb56cc02e90 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWorkWeek_offset--1440_start-0_end-24_first-day-3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWorkWeek_offset--1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWorkWeek_offset--1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..a76ab642b022 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWorkWeek_offset--1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWorkWeek_offset--1440_start-9_end-17_first-day-3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWorkWeek_offset--1440_start-9_end-17_first-day-3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..84b72ed628d9 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWorkWeek_offset--1440_start-9_end-17_first-day-3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWorkWeek_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWorkWeek_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..12e1381c1b1b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWorkWeek_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWorkWeek_offset--735_start-0_end-24_first-day-3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWorkWeek_offset--735_start-0_end-24_first-day-3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..343c4dc67286 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWorkWeek_offset--735_start-0_end-24_first-day-3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWorkWeek_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWorkWeek_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..75c6670cdb31 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWorkWeek_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWorkWeek_offset--735_start-9_end-17_first-day-3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWorkWeek_offset--735_start-9_end-17_first-day-3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..e07be1ebd8c5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWorkWeek_offset--735_start-9_end-17_first-day-3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWorkWeek_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWorkWeek_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..83aef398c56a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWorkWeek_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWorkWeek_offset-0_start-0_end-24_first-day-3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWorkWeek_offset-0_start-0_end-24_first-day-3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..3a54d8d392e1 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWorkWeek_offset-0_start-0_end-24_first-day-3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWorkWeek_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWorkWeek_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..a9b15f69c5ea Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWorkWeek_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWorkWeek_offset-0_start-9_end-17_first-day-3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWorkWeek_offset-0_start-9_end-17_first-day-3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..3e0c23edb4e7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWorkWeek_offset-0_start-9_end-17_first-day-3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWorkWeek_offset-1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWorkWeek_offset-1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..d4db63025e75 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWorkWeek_offset-1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWorkWeek_offset-1440_start-0_end-24_first-day-3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWorkWeek_offset-1440_start-0_end-24_first-day-3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..b1be9fb0c8cc Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWorkWeek_offset-1440_start-0_end-24_first-day-3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWorkWeek_offset-1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWorkWeek_offset-1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..8ce421fac9d4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWorkWeek_offset-1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWorkWeek_offset-1440_start-9_end-17_first-day-3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWorkWeek_offset-1440_start-9_end-17_first-day-3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..4e330920dfd0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWorkWeek_offset-1440_start-9_end-17_first-day-3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWorkWeek_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWorkWeek_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..e76808c0db20 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWorkWeek_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWorkWeek_offset-735_start-0_end-24_first-day-3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWorkWeek_offset-735_start-0_end-24_first-day-3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..de8f062a1c1d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWorkWeek_offset-735_start-0_end-24_first-day-3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWorkWeek_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWorkWeek_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..13a53fc4ac79 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWorkWeek_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWorkWeek_offset-735_start-9_end-17_first-day-3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWorkWeek_offset-735_start-9_end-17_first-day-3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..03a5a6c769b2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_timelineWorkWeek_offset-735_start-9_end-17_first-day-3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_week_offset--1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_week_offset--1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..12a852cb38d2 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_week_offset--1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_week_offset--1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_week_offset--1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..14fefaa86296 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_week_offset--1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_week_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_week_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..e682da53495a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_week_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_week_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_week_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..e19553de43ce Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_week_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_week_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_week_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..028fe2fe1c17 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_week_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_week_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_week_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..ba559f99cea5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_week_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_week_offset-1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_week_offset-1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..ba5541ad4f9e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_week_offset-1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_week_offset-1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_week_offset-1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..5905651496e0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_week_offset-1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_week_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_week_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..cce80778a475 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_week_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_week_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_week_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..045a9a808a59 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_week_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_workWeek_offset--1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_workWeek_offset--1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..b860ad9bbfca Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_workWeek_offset--1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_workWeek_offset--1440_start-0_end-24_first-day-3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_workWeek_offset--1440_start-0_end-24_first-day-3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..62c3d7843b85 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_workWeek_offset--1440_start-0_end-24_first-day-3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_workWeek_offset--1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_workWeek_offset--1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..6cb433e953c5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_workWeek_offset--1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_workWeek_offset--1440_start-9_end-17_first-day-3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_workWeek_offset--1440_start-9_end-17_first-day-3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..f537794191e7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_workWeek_offset--1440_start-9_end-17_first-day-3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_workWeek_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_workWeek_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..e9ae497a323d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_workWeek_offset--735_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_workWeek_offset--735_start-0_end-24_first-day-3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_workWeek_offset--735_start-0_end-24_first-day-3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..9076e11879da Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_workWeek_offset--735_start-0_end-24_first-day-3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_workWeek_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_workWeek_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..dcf127be48cf Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_workWeek_offset--735_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_workWeek_offset--735_start-9_end-17_first-day-3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_workWeek_offset--735_start-9_end-17_first-day-3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..06197216c771 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_workWeek_offset--735_start-9_end-17_first-day-3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_workWeek_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_workWeek_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..58e481e30d15 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_workWeek_offset-0_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_workWeek_offset-0_start-0_end-24_first-day-3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_workWeek_offset-0_start-0_end-24_first-day-3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..7eb44f5544ef Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_workWeek_offset-0_start-0_end-24_first-day-3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_workWeek_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_workWeek_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..858581c4a9bd Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_workWeek_offset-0_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_workWeek_offset-0_start-9_end-17_first-day-3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_workWeek_offset-0_start-9_end-17_first-day-3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..db3072d3231b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_workWeek_offset-0_start-9_end-17_first-day-3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_workWeek_offset-1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_workWeek_offset-1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..697bb0bae4c4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_workWeek_offset-1440_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_workWeek_offset-1440_start-0_end-24_first-day-3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_workWeek_offset-1440_start-0_end-24_first-day-3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..946d525bbab5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_workWeek_offset-1440_start-0_end-24_first-day-3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_workWeek_offset-1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_workWeek_offset-1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..df94b8777579 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_workWeek_offset-1440_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_workWeek_offset-1440_start-9_end-17_first-day-3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_workWeek_offset-1440_start-9_end-17_first-day-3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..fa3a3a68314e Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_workWeek_offset-1440_start-9_end-17_first-day-3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_workWeek_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_workWeek_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..f23af1b1ecf5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_workWeek_offset-735_start-0_end-24_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_workWeek_offset-735_start-0_end-24_first-day-3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_workWeek_offset-735_start-0_end-24_first-day-3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..c5f012b7e56a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_workWeek_offset-735_start-0_end-24_first-day-3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_workWeek_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_workWeek_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png new file mode 100644 index 000000000000..c4a92186678b Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_workWeek_offset-735_start-9_end-17_first-day-0 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_workWeek_offset-735_start-9_end-17_first-day-3 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_workWeek_offset-735_start-9_end-17_first-day-3 (fluent-next.blue.light).png new file mode 100644 index 000000000000..7023a3d2d4a6 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_usual-appts_workWeek_offset-735_start-9_end-17_first-day-3 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_month_offset--1440_start-0_end-24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_month_offset--1440_start-0_end-24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..fceb29fdcb44 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_month_offset--1440_start-0_end-24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_month_offset--1440_start-9_end-17 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_month_offset--1440_start-9_end-17 (fluent-next.blue.light).png new file mode 100644 index 000000000000..eb505a3bcecf Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_month_offset--1440_start-9_end-17 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_month_offset--735_start-0_end-24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_month_offset--735_start-0_end-24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..4767ba316fb7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_month_offset--735_start-0_end-24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_month_offset--735_start-9_end-17 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_month_offset--735_start-9_end-17 (fluent-next.blue.light).png new file mode 100644 index 000000000000..ebe90e3220f8 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_month_offset--735_start-9_end-17 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_month_offset-0_start-0_end-24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_month_offset-0_start-0_end-24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..6c56b3e759cf Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_month_offset-0_start-0_end-24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_month_offset-0_start-9_end-17 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_month_offset-0_start-9_end-17 (fluent-next.blue.light).png new file mode 100644 index 000000000000..c6417a7755fe Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_month_offset-0_start-9_end-17 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_month_offset-1440_start-0_end-24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_month_offset-1440_start-0_end-24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..0d9ab1e6d45a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_month_offset-1440_start-0_end-24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_month_offset-1440_start-9_end-17 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_month_offset-1440_start-9_end-17 (fluent-next.blue.light).png new file mode 100644 index 000000000000..e6367da58353 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_month_offset-1440_start-9_end-17 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_month_offset-735_start-0_end-24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_month_offset-735_start-0_end-24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..cbef8841858d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_month_offset-735_start-0_end-24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_month_offset-735_start-9_end-17 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_month_offset-735_start-9_end-17 (fluent-next.blue.light).png new file mode 100644 index 000000000000..d1443119188d Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_month_offset-735_start-9_end-17 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_timelineMonth_offset--1440_start-0_end-24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_timelineMonth_offset--1440_start-0_end-24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..6822d54a90d1 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_timelineMonth_offset--1440_start-0_end-24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_timelineMonth_offset--1440_start-9_end-17 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_timelineMonth_offset--1440_start-9_end-17 (fluent-next.blue.light).png new file mode 100644 index 000000000000..69be504506f6 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_timelineMonth_offset--1440_start-9_end-17 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_timelineMonth_offset--735_start-0_end-24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_timelineMonth_offset--735_start-0_end-24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..cf4130b90404 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_timelineMonth_offset--735_start-0_end-24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_timelineMonth_offset--735_start-9_end-17 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_timelineMonth_offset--735_start-9_end-17 (fluent-next.blue.light).png new file mode 100644 index 000000000000..ac94fcce883a Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_timelineMonth_offset--735_start-9_end-17 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_timelineMonth_offset-0_start-0_end-24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_timelineMonth_offset-0_start-0_end-24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..483faa2841bc Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_timelineMonth_offset-0_start-0_end-24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_timelineMonth_offset-0_start-9_end-17 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_timelineMonth_offset-0_start-9_end-17 (fluent-next.blue.light).png new file mode 100644 index 000000000000..7cea3811b5eb Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_timelineMonth_offset-0_start-9_end-17 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_timelineMonth_offset-1440_start-0_end-24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_timelineMonth_offset-1440_start-0_end-24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..2dc10ae98b46 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_timelineMonth_offset-1440_start-0_end-24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_timelineMonth_offset-1440_start-9_end-17 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_timelineMonth_offset-1440_start-9_end-17 (fluent-next.blue.light).png new file mode 100644 index 000000000000..546eae35c0ad Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_timelineMonth_offset-1440_start-9_end-17 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_timelineMonth_offset-735_start-0_end-24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_timelineMonth_offset-735_start-0_end-24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..3a1069b76a84 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_timelineMonth_offset-735_start-0_end-24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_timelineMonth_offset-735_start-9_end-17 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_timelineMonth_offset-735_start-9_end-17 (fluent-next.blue.light).png new file mode 100644 index 000000000000..e76faffbfcdb Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_timelineMonth_offset-735_start-9_end-17 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_week_offset--1440_start-0_end-24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_week_offset--1440_start-0_end-24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..78f5c80fbcce Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_week_offset--1440_start-0_end-24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_week_offset--1440_start-9_end-17 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_week_offset--1440_start-9_end-17 (fluent-next.blue.light).png new file mode 100644 index 000000000000..529ba027ca74 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_week_offset--1440_start-9_end-17 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_week_offset--735_start-0_end-24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_week_offset--735_start-0_end-24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..2b89ae92cda0 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_week_offset--735_start-0_end-24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_week_offset--735_start-9_end-17 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_week_offset--735_start-9_end-17 (fluent-next.blue.light).png new file mode 100644 index 000000000000..e2b46efed7f4 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_week_offset--735_start-9_end-17 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_week_offset-0_start-0_end-24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_week_offset-0_start-0_end-24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..6b63b3d8e7e6 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_week_offset-0_start-0_end-24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_week_offset-0_start-9_end-17 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_week_offset-0_start-9_end-17 (fluent-next.blue.light).png new file mode 100644 index 000000000000..71dc0dd1d2b5 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_week_offset-0_start-9_end-17 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_week_offset-1440_start-0_end-24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_week_offset-1440_start-0_end-24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..d84fc8083ee7 Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_week_offset-1440_start-0_end-24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_week_offset-1440_start-9_end-17 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_week_offset-1440_start-9_end-17 (fluent-next.blue.light).png new file mode 100644 index 000000000000..5f43d2c88daf Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_week_offset-1440_start-9_end-17 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_week_offset-735_start-0_end-24 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_week_offset-735_start-0_end-24 (fluent-next.blue.light).png new file mode 100644 index 000000000000..28136f2a01da Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_week_offset-735_start-0_end-24 (fluent-next.blue.light).png differ diff --git a/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_week_offset-735_start-9_end-17 (fluent-next.blue.light).png b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_week_offset-735_start-9_end-17 (fluent-next.blue.light).png new file mode 100644 index 000000000000..e18033bd7b7c Binary files /dev/null and b/e2e/testcafe-devextreme/tests/scheduler/viewOffset/markup/etalons/view_markup_virtual-scrolling_week_offset-735_start-9_end-17 (fluent-next.blue.light).png differ diff --git a/packages/devextreme-angular/webpack.test.js b/packages/devextreme-angular/webpack.test.js index 16f9b4af773f..76f4cb335d53 100644 --- a/packages/devextreme-angular/webpack.test.js +++ b/packages/devextreme-angular/webpack.test.js @@ -3,6 +3,9 @@ module.exports = { mode: 'development', plugins: [], resolve: { + // 'alias' is required in addition to 'fallback': pnpm hoists a transitive 'stream' npm package + // (style-dictionary -> @bundled-es-modules/*) that shadows the fallback otherwise + alias: { stream: require.resolve('stream-browserify') }, fallback: { stream: require.resolve('stream-browserify') }, }, module: { diff --git a/packages/devextreme-scss/.gitignore b/packages/devextreme-scss/.gitignore index 1cb872afbe1d..a140fd7101f4 100644 --- a/packages/devextreme-scss/.gitignore +++ b/packages/devextreme-scss/.gitignore @@ -1 +1,2 @@ scss/bundles +scss/_design-system diff --git a/packages/devextreme-scss/.stylelintrc.json b/packages/devextreme-scss/.stylelintrc.json index 52bbdc7712f3..7111d8a0ed8c 100644 --- a/packages/devextreme-scss/.stylelintrc.json +++ b/packages/devextreme-scss/.stylelintrc.json @@ -20,7 +20,11 @@ "@stylistic/declaration-colon-space-after": "always-single-line", "@stylistic/declaration-colon-space-before": "never", "declaration-no-important": true, - "dx/module-variable-default": true, + "declaration-property-value-disallowed-list": [ + { "/.*/": ["/var\\(\\s*--dxds-/"] }, + { "message": "Read a design token through the ds bridge (ds.$name), not var(--dxds-…): the bridge fails the build on an unknown name, a raw custom property compiles and degrades silently." } + ], + "dx/module-variable-default": [true, { "exemptMarkersFrom": "tools/review/size-markers.json" }], "dx/no-identical-branch-declarations": true, "font-family-name-quotes": "always-unless-keyword", "@stylistic/function-comma-space-after": "always-single-line", @@ -79,5 +83,39 @@ "scss/operator-no-newline-before": true, "scss/operator-no-unspaced": true, "scss/operator-no-newline-after": null - } + }, + "overrides": [ + { + "comment": "fluent-next follows the naming standard in scss/widgets/fluent-next/NAMING.md: strict kebab-case, no underscores and no BEM separators, so a variable name maps 1:1 onto a public --dx-* custom property. cardView is excluded because its own cross-theme BEM system is a documented exemption.", + "files": ["scss/widgets/fluent-next/**/*.scss"], + "ignoreFiles": ["scss/widgets/fluent-next/cardView/**/*.scss"], + "rules": { + "scss/dollar-variable-pattern": "^[a-z][a-z0-9]*(-[a-z0-9]+)*$" + } + }, + { + "comment": "A file that emits rules consumes the widget's own variables, so the token a value comes from is stated once, next to the other variables of that widget. Declaration files are exempted by the override below. `var(--dx-…)` is NOT banned as a form since wave F: the component tier is emitted (_public.scss projections, _public-links.scss links) and consumed (pilot rules) through it, and name validity is enforced by fluent-next-naming.test.ts against the declared tier — stylelint could only see the spelling, not whether the name exists. `@use … with ()` arguments are at-rule parameters and stay invisible to stylelint; the naming test covers that form too.", + "files": ["scss/widgets/fluent-next/**/*.scss"], + "rules": { + "declaration-property-value-disallowed-list": [ + { "/.*/": ["/var\\(\\s*--dxds-/", "/\\bds\\.\\$/"] }, + { "message": "Use the widget's own variable here: resolve the design token in _colors.scss or _sizes.scss. A custom property compiles even when its name is wrong." } + ] + } + }, + { + "comment": "Turning a token into a widget variable is what these files are for, so only the raw custom-property form stays banned here.", + "files": [ + "scss/widgets/fluent-next/**/_colors.scss", + "scss/widgets/fluent-next/**/_sizes.scss", + "scss/widgets/fluent-next/**/_variables.scss" + ], + "rules": { + "declaration-property-value-disallowed-list": [ + { "/.*/": ["/var\\(\\s*--dxds-/", "/var\\(\\s*--dx-/"] }, + { "message": "Read a design token through the ds bridge (ds.$name), not as a custom property: the bridge fails the build on an unknown name, a custom property compiles and degrades silently." } + ] + } + } + ] } diff --git a/packages/devextreme-scss/build/bundle-template.fluent-next.scss b/packages/devextreme-scss/build/bundle-template.fluent-next.scss new file mode 100644 index 000000000000..3e3ba462ebeb --- /dev/null +++ b/packages/devextreme-scss/build/bundle-template.fluent-next.scss @@ -0,0 +1,13 @@ +@use "../widgets/fluent-next/colors" with ($color: "$COLOR", $mode: "$MODE"); +@use "../widgets/fluent-next/sizes" with ($size: "$SIZE"); +@use "../widgets/fluent-next/design-system"; +@use "../widgets/fluent-next/typography"; +@use "../widgets/fluent-next/icons"; +@use "../widgets/fluent-next/widget"; +@use "../widgets/fluent-next/card"; +@use "../widgets/fluent-next/fieldset"; +@use "../widgets/fluent-next/common"; +@use "../widgets/base/resizable"; +@use "../widgets/base/draggable"; +@use "../widgets/base/ui"; +@use "../widgets/fluent-next"; diff --git a/packages/devextreme-scss/build/internal-scss-paths.json b/packages/devextreme-scss/build/internal-scss-paths.json new file mode 100644 index 000000000000..79b32f49e75f --- /dev/null +++ b/packages/devextreme-scss/build/internal-scss-paths.json @@ -0,0 +1,5 @@ +[ + "widgets/fluent-next/", + "_design-system/", + "bundles/dx.fluent-next." +] diff --git a/packages/devextreme-scss/build/theme-options.cjs b/packages/devextreme-scss/build/theme-options.cjs index 5e62a5f06563..b24ac865a12a 100644 --- a/packages/devextreme-scss/build/theme-options.cjs +++ b/packages/devextreme-scss/build/theme-options.cjs @@ -5,11 +5,14 @@ const materialColors = ['blue', 'lime', 'orange', 'purple', 'teal']; const materialModes = ['light', 'dark']; const fluentColors = ['blue', 'saas']; const fluentModes = ['light', 'dark']; +const fluentNextColors = ['blue']; +const fluentNextModes = ['light', 'dark']; const genericColors = ['carmine', 'contrast', 'dark', 'darkmoon', 'darkviolet', 'greenmist', 'light', 'softblue']; const getThemes = () => sizes.flatMap((size) => [ ...materialModes.flatMap((mode) => materialColors.map((color) => ['material', size, color, mode])), ...fluentModes.flatMap((mode) => fluentColors.map((color) => ['fluent', size, color, mode])), + ...fluentNextModes.flatMap((mode) => fluentNextColors.map((color) => ['fluent-next', size, color, mode])), ...genericColors.map((color) => ['generic', size, color]) ]); diff --git a/packages/devextreme-scss/build/tokens/build-tokens.mjs b/packages/devextreme-scss/build/tokens/build-tokens.mjs new file mode 100644 index 000000000000..9d9ebd24e0e2 --- /dev/null +++ b/packages/devextreme-scss/build/tokens/build-tokens.mjs @@ -0,0 +1,616 @@ +import path from 'node:path'; +import url from 'node:url'; +import { createRequire } from 'node:module'; +import { + readdir, readFile, rm, writeFile, +} from 'node:fs/promises'; +import StyleDictionary from 'style-dictionary'; +import { fileHeader, formattedVariables } from 'style-dictionary/utils'; +import { registerTransforms } from './transforms.mjs'; +import { + THEME_NAME, THEME_FOLDER, getBridgeFiles, getModeFiles, +} from './sources.mjs'; +import { + buildAvailableNames, + collectCustomPropertyReferences, + collectTokenReferences, +} from './consumed-tokens.ts'; + +// Suppress ONE known noisy sd-transforms warning about unresolvable +// {font-weight…} references inside math expressions. Scoped to console.warn +// so legitimate errors/logs containing the substring are never swallowed. +// Remove when https://github.com/tokens-studio/sd-transforms/issues/218 is +// fixed in the (forked) sd-transforms we consume. +{ + const originalWarn = console.warn.bind(console); + console.warn = (message, ...args) => { + if (typeof message === 'string' && message.includes('Warning: could not resolve reference {font-weight')) { + return; + } + originalWarn(message, ...args); + }; +} + +registerTransforms(StyleDictionary); + +// The Figma export occasionally emits size-suffixed cross-component references +// (e.g. {text-content.typography.font-weight.small} in the *_small file) while +// only the unsuffixed token exists in that file. Rewrite such dangling +// references to the unsuffixed token, which carries the size-specific value. +const SIZE_SUFFIX_RE = /\.(small|medium|large)$/; + +const getTokenAtPath = (tokens, refPath) => { + let node = tokens; + + for (const part of refPath.split('.')) { + if (typeof node !== 'object' || node === null || !(part in node)) { + return undefined; + } + node = node[part]; + } + + return typeof node === 'object' && node !== null && '$value' in node ? node : undefined; +}; + +const hasTokenAtPath = (tokens, refPath) => getTokenAtPath(tokens, refPath) !== undefined; + +StyleDictionary.registerPreprocessor({ + name: 'dx/fix-dangling-size-references', + preprocessor: (tokens) => { + const visit = (node) => { + if (typeof node !== 'object' || node === null) { + return; + } + + if (typeof node.$value === 'string') { + node.$value = node.$value.replace(/\{([\w.-]+)\}/g, (match, refPath) => { + if (!SIZE_SUFFIX_RE.test(refPath) || hasTokenAtPath(tokens, refPath)) { + return match; + } + + const unsuffixed = refPath.replace(SIZE_SUFFIX_RE, ''); + + if (hasTokenAtPath(tokens, unsuffixed)) { + console.warn(`[design-tokens] Rewriting dangling reference {${refPath}} -> {${unsuffixed}}`); + + return `{${unsuffixed}}`; + } + + return match; + }); + + return; + } + + Object.values(node).forEach(visit); + }; + + visit(tokens); + + return tokens; + }, +}); + +// Composite shadow aliases are exported as $type "text" with a pure reference +// value (e.g. popup.box-shadow.composite = "{box-shadow.lg}"). Without a +// shadow type they get expanded into per-property sub-tokens; retyping keeps +// them as a single var() reference to the composite shadow variable. +const PURE_REFERENCE_RE = /^\{([\w.-]+)\}$/; + +StyleDictionary.registerPreprocessor({ + name: 'dx/fix-composite-shadow-references', + preprocessor: (tokens) => { + const visit = (node) => { + if (typeof node !== 'object' || node === null) { + return; + } + + if (typeof node.$value === 'string') { + const refPath = node.$value.match(PURE_REFERENCE_RE)?.[1]; + + if (node.$type === 'text' && refPath) { + const target = getTokenAtPath(tokens, refPath); + + if (target?.$type === 'boxShadow' || target?.$type === 'shadow') { + node.$type = 'shadow'; + } + } + + return; + } + + Object.values(node).forEach(visit); + }; + + visit(tokens); + + return tokens; + }, +}); + +/* + * WORKAROUND for a bug in @devexpress/design-tokens-internal, present since 262.13.0: that release + * dropped `color.shadow-none` from semantic/colors/*, but semantic/box-shadow/{fluent,material}.json + * still reference it from every layer of `box-shadow.none`, so Style Dictionary fails the whole build + * on three unresolvable references. The value the token carried up to 262.12.0 is substituted here, + * which keeps the output identical to that release: `box-shadow.none` is all-zero geometry in a fully + * transparent colour. + * + * Remove this once the package defines the token again or stops referencing it. The other two + * preprocessors above patch the same class of export defect. + */ +const REMOVED_REFERENCES = new Map([ + ['color.shadow-none', 'rgba(0,0,0,0)'], +]); + +StyleDictionary.registerPreprocessor({ + name: 'dx/substitute-removed-references', + preprocessor: (tokens) => { + const visit = (node) => { + if (typeof node !== 'object' || node === null) { + return; + } + + Object.entries(node).forEach(([key, value]) => { + if (typeof value === 'string') { + REMOVED_REFERENCES.forEach((replacement, refPath) => { + if (value.includes(`{${refPath}}`) && !hasTokenAtPath(tokens, refPath)) { + console.warn(`[design-tokens] Substituting removed reference {${refPath}} -> ${replacement}`); + node[key] = value.replaceAll(`{${refPath}}`, replacement); + } + }); + + return; + } + + visit(value); + }); + }; + + visit(tokens); + + return tokens; + }, +}); + +const dirname = import.meta.dirname || path.dirname(url.fileURLToPath(import.meta.url)); +const require = createRequire(import.meta.url); +const tokensDir = path.dirname(require.resolve('@devexpress/design-tokens-internal/package.json')); +const buildPath = `${path.resolve(dirname, '../../scss/_design-system')}/`; + + +// Kept in step with the @includes in widgets/fluent-next/_design-system.scss. +const MODE_ROLES_MIXIN = 'roles'; +const MODE_ALIASES_MIXIN = 'aliases'; +const MODE_ALIASES_FILE = 'mode-aliases'; +const MODE_SHARED_FILE = 'mode-shared'; + +const themePath = path.resolve(dirname, `../../scss/widgets/${THEME_FOLDER}`); + +const FLUENT_PALETTES = [ + 'blue', + 'cool-blue', + 'desert', + 'mint', + 'moss', + 'orchid', + 'purple', + 'rose', + 'rust', + 'steel', + 'storm', +]; + +const FLUENT_MODES = [ + 'dark', + 'light', +]; + + +/* + * A bundle needs the mode-dependent declarations under three selectors, and a `:root` block cannot + * be re-scoped on load — `meta.load-css` emits it verbatim and `@use` paths take no interpolation — + * so these layers ship as mixins the theme places where it wants. + * + * Otherwise identical to Style Dictionary's own `css/variables` (lib/common/formats.js) minus the + * selector nesting; keep the two in step. + */ +// `prefix` belongs to the declaration lines, not to the header comment — upstream drops it before +// building the header (getFormattingCloneWithoutPrefix), and so must we. +const headerFormatting = ({ prefix, ...formatting } = {}) => formatting; + +StyleDictionary.registerFormat({ + name: 'dx/mode-scoped-mixin', + format: async ({ dictionary, file, options }) => { + const { + outputReferences, outputReferenceFallbacks, usesDtcg, formatting, sort, mixin, + } = options; + const header = await fileHeader({ file, formatting: headerFormatting(formatting), options }); + const variables = formattedVariables({ + format: 'css', + dictionary, + outputReferences, + outputReferenceFallbacks, + formatting: { ...formatting, indentation: ' ' }, + usesDtcg, + sort, + }); + + return `${header}@mixin ${mixin}() {\n${variables}\n}\n`; + }, +}); + +StyleDictionary.registerFormat({ + name: 'scssToCss', + format: ({ dictionary }) => dictionary.allTokens + .map((token) => `$${token.name.replace('dxds-', '')}: var(--${token.name});`) + .join('\n'), +}); + +const ACCENT_PROPERTY = '--dx-accent-color'; +const PRIMARY_STEP_DECLARATION = /^(\s*)--dxds-primary-(\d+):\s*([^;]+);$/gm; +const PRIMARY_STEP_TOKEN = /^dxds-primary-\d+$/; + +StyleDictionary.registerFormat({ + name: 'dx/accent-palette', + format: async (args) => { + const palette = await StyleDictionary.hooks.formats['css/variables'](args); + const stepsInDictionary = args.dictionary.allTokens + .filter(({ name }) => PRIMARY_STEP_TOKEN.test(name)).length; + let wrapped = 0; + const withAccentFallback = palette.replace( + PRIMARY_STEP_DECLARATION, + (line, indent, step, value) => { + wrapped += 1; + + return `${indent}--dxds-primary-${step}: var(${ACCENT_PROPERTY}-${step}, ${value});`; + }, + ); + + if (!stepsInDictionary || wrapped !== stepsInDictionary) { + throw new Error(`An accent palette with ${stepsInDictionary} --dxds-primary-* steps, ` + + `${wrapped} of them wrapped into ${ACCENT_PROPERTY}-*`); + } + + return withAccentFallback; + }, +}); + +const FILE_OPTIONS = { + outputReferences: true, + themeable: true, + // 262.22.0 gave almost every semantic colour a $description, which Style Dictionary prints as a + // trailing `/** … */` on the declaration. Those comments are the package's own Figma bookkeeping, + // not something the bundle should carry, and the mode/shared split parses this generated text. + formatting: { commentStyle: 'none' }, +}; + +// 'text' covers reference-only tokens such as popup.box-shadow.composite +// ($type "text", $value "{box-shadow.lg}") — expanding them would inline the +// referenced composite shadow structure instead of keeping a var() reference. +const customExpand = { + exclude: ['shadow', 'text'], +}; + +const normalizeFilePath = (token) => token.filePath.split(path.sep).join('/'); + +const getPlatformSettings = (files) => ({ + 'scss/category': { + transformGroup: 'css', + buildPath, + transforms: [ + 'attribute/cti', + 'color/css', + 'name/kebab', + 'typography/css/shorthand', + 'border/css/shorthand', + 'shadow/css/shorthand', + 'dx/ds-name', + 'dx/fix-transparent-color', + 'dx/fix-drop-shadow', + ], + files, + }, +}); + +const createConfig = (name, files, platformFiles) => ({ + theme: THEME_NAME, + name, + source: files.map((src) => path.resolve(tokensDir, `tokens/${src}.json`)), + preprocessors: [ + 'dx/fix-dangling-size-references', + 'dx/fix-composite-shadow-references', + 'dx/substitute-removed-references', + 'tokens-studio', + ], + expand: customExpand, + platforms: getPlatformSettings(platformFiles), +}); + +const createPaletteConfig = (palette) => createConfig(palette, [`base/colors/palettes/${THEME_NAME}/${palette}`], [ + { + destination: `${THEME_NAME}/accents/${palette}.scss`, + format: 'dx/accent-palette', + filter: (token) => normalizeFilePath(token).includes(`${THEME_NAME}/${palette}.json`), + options: FILE_OPTIONS, + }, +]); + +const createModeConfig = (mode) => createConfig(mode, getModeFiles(mode), [ + { + destination: 'base.scss', + format: 'css/variables', + filter: (token) => { + const filePath = normalizeFilePath(token); + + return filePath.includes('base/borders.json') + || filePath.includes('base/opacity.json') + || filePath.includes('base/spacing.json') + || filePath.includes('base/typography/'); + }, + options: FILE_OPTIONS, + }, + { + destination: `${THEME_NAME}/base.scss`, + format: 'css/variables', + filter: (token) => { + const filePath = normalizeFilePath(token); + + return filePath.includes(`base/colors/utility/${THEME_NAME}.json`) + || filePath.includes(`figma-utils/icon/set/${THEME_NAME}.json`); + }, + options: FILE_OPTIONS, + }, + // The semantic tier is emitted under an explicit semantic/ folder mirroring the + // package layout (tokens/semantic/{typography,box-shadow,colors}) so the middle + // customization layer is discoverable in the generated output. + { + destination: `${THEME_NAME}/semantic/typography.scss`, + format: 'css/variables', + filter: (token) => normalizeFilePath(token).includes(`semantic/typography/${THEME_NAME}`), + options: FILE_OPTIONS, + }, + { + destination: `${THEME_NAME}/semantic/colors/${mode}.scss`, + format: 'dx/mode-scoped-mixin', + filter: (token) => { + const filePath = normalizeFilePath(token); + + return filePath.includes(`semantic/colors/${THEME_NAME}/${mode}.json`) + || filePath.includes(`icons/${THEME_NAME}/${mode}.json`); + }, + options: { ...FILE_OPTIONS, mixin: MODE_ROLES_MIXIN }, + }, + /* + * The layers that read a colour role without being one: box-shadow composites and the global + * focus aliases. Their text is mode-independent, but a custom property resolves where it is + * declared, so on `:root` they would freeze at the bundle's mode. Both mode configs emit this + * file; the sources are the same, so the two writes are byte-identical. + */ + { + destination: `${THEME_NAME}/${MODE_ALIASES_FILE}.scss`, + format: 'dx/mode-scoped-mixin', + filter: (token) => { + const filePath = normalizeFilePath(token); + + return filePath.includes(`semantic/box-shadow/${THEME_NAME}.json`) + || filePath.includes(`global/${THEME_NAME}.json`) + || filePath.includes(`figma-utils/box-shadow/semantic/${THEME_NAME}.json`); + }, + options: { ...FILE_OPTIONS, mixin: MODE_ALIASES_MIXIN }, + }, +]); + +// Component *size* tokens are excluded for the same reason as the component theme: fluent-next +// maps sizes onto the base scales (spacing/font-size/border-radius/…), so no widget would read the +// `*-layout-*` names (see widgets/fluent-next/_design-system.scss). +const createDsConfig = () => createConfig('ds', getBridgeFiles(), [ + { + destination: 'variables/_ds.scss', + format: 'scssToCss', + }, +]); + +const configs = [ + ...FLUENT_PALETTES.map(createPaletteConfig), + ...FLUENT_MODES.map(createModeConfig), + createDsConfig(), +]; + +async function collectGeneratedFiles(dir) { + const entries = await readdir(dir, { withFileTypes: true, recursive: true }); + + return entries + .filter((entry) => entry.isFile()) + .map((entry) => path.join(entry.parentPath, entry.name)); +} + +async function validateReferences() { + const files = await collectGeneratedFiles(buildPath); + const defined = new Set(); + const used = new Map(); + + for (const file of files) { + const content = await readFile(file, 'utf-8'); + + for (const [, name] of content.matchAll(/--(dxds-[\w-]+)\s*:/g)) { + defined.add(name); + } + + for (const [, name] of content.matchAll(/var\(--(dxds-[\w-]+)/g)) { + if (!used.has(name)) { + used.set(name, file); + } + } + } + + const missing = [...used].filter(([name]) => !defined.has(name)); + + if (missing.length > 0) { + const details = missing + .map(([name, file]) => ` --${name} (first used in ${path.relative(buildPath, file)})`) + .join('\n'); + + throw new Error(`Design token references without a definition in the generated output:\n${details}`); + } + + return files.length; +} + +async function collectThemeStyleSheets() { + const entries = await readdir(themePath, { withFileTypes: true, recursive: true }); + + return entries + .filter((entry) => entry.isFile() && entry.name.endsWith('.scss')) + .map((entry) => path.join(entry.parentPath, entry.name)); +} + +/* + * Emitting by source file is a coarse answer: many declarations in those files do not depend on + * the mode, and repeating them in four scopes per bundle is pure weight. Which is which is derived + * from the generated text - a name whose two mode values differ, plus anything reading such a name + * through a chain - so a token that starts or stops depending on the mode moves on its own at the + * next bump. The remainder goes to a plain `:root` block; the theme-mode-scope gate is the judge. + * The counts are printed at the end of the build. + */ +const DECLARATION = /^(\s*)(--[\w-]+)\s*:\s*([^;]+);\s*$/; + +const parseDeclarations = (content) => content.split('\n').reduce((declarations, line) => { + const match = DECLARATION.exec(line); + + return match ? declarations.set(match[2], match[3].trim()) : declarations; +}, new Map()); + +const readsOf = (value) => [...value.matchAll(/var\(\s*(--[\w-]+)/g)].map(([, name]) => name); + +const modeDependentNames = (light, dark, aliases) => { + // Both key sets, not just the light one: a name only one mode declares differs by definition, + // and seeding from one side would drop it from the other scope without moving it to :root. + const tainted = new Set([...light.keys(), ...dark.keys()] + .filter((name) => light.get(name) !== dark.get(name))); + + for (let grew = true; grew;) { + grew = false; + + for (const source of [light, aliases]) { + for (const [name, value] of source) { + if (!tainted.has(name) && readsOf(value).some((read) => tainted.has(read))) { + tainted.add(name); + grew = true; + } + } + } + } + + return tainted; +}; + +const withBody = (content, keep) => content.replace( + /(\{\n)([\s\S]*)(\n\})/, + (whole, open, body, close) => { + const lines = body.split('\n').filter((line) => { + const match = DECLARATION.exec(line); + + return !match || keep(match[2]); + }); + + return `${open}${lines.join('\n')}${close}`; + }, +); + +async function splitModeScopedLayers() { + const modeFile = (mode) => path.join(buildPath, THEME_NAME, 'semantic', 'colors', `${mode}.scss`); + const aliasesFile = path.join(buildPath, THEME_NAME, `${MODE_ALIASES_FILE}.scss`); + const sharedFile = path.join(buildPath, THEME_NAME, `${MODE_SHARED_FILE}.scss`); + + const sources = Object.fromEntries(await Promise.all( + [['light', modeFile('light')], ['dark', modeFile('dark')], ['aliases', aliasesFile]] + .map(async ([key, file]) => [key, { file, content: await readFile(file, 'utf-8') }]), + )); + const parsed = Object.fromEntries( + Object.entries(sources).map(([key, { content }]) => [key, parseDeclarations(content)]), + ); + const dependent = modeDependentNames(parsed.light, parsed.dark, parsed.aliases); + + await Promise.all(Object.values(sources).map(({ file, content }) => writeFile( + file, + withBody(content, (name) => dependent.has(name)), + 'utf-8', + ))); + + // Either mode file carries the shared roles: for those, light and dark agree by definition. + const shared = [...parsed.light, ...parsed.aliases].filter(([name]) => !dependent.has(name)); + const header = sources.light.content.slice(0, sources.light.content.indexOf('@mixin')); + const body = shared.map(([name, value]) => ` ${name}: ${value};`).join('\n'); + + await writeFile(sharedFile, `${header}:root {\n${body}\n}\n`, 'utf-8'); + + return { dependent: dependent.size, shared: shared.length }; +} + +// Every token a widget reads must still exist in the package. Without this a deleted token surfaces +// much later as a Sass "Undefined variable", one name per rebuild, with no hint that a bump caused +// it. Read from the flat index, not the bridge: it carries the version for the message. +async function validateConsumedTokens() { + const { version, tokens } = JSON.parse( + await readFile(path.join(tokensDir, 'tokens.flat.json'), 'utf-8'), + ); + const availableNames = buildAvailableNames( + Object.keys(tokens), + new Set(getBridgeFiles()), + ); + + const referenced = new Map(); + + for (const file of await collectThemeStyleSheets()) { + const content = await readFile(file, 'utf-8'); + const source = path.relative(themePath, file); + const found = [ + ...collectTokenReferences(content, source).map((name) => [name, `ds.$${name}`]), + ...collectCustomPropertyReferences(content, source).map((name) => [name, `var(--dxds-${name})`]), + ]; + + for (const [name, reference] of found) { + if (!referenced.has(name)) { + referenced.set(name, { file, reference }); + } + } + } + + const missing = [...referenced].filter(([name]) => !availableNames.has(name)); + + if (missing.length > 0) { + const details = missing + .map(([, { file, reference }]) => ` ${reference} (first used in ${path.relative(themePath, file)})`) + .join('\n'); + + throw new Error( + `Tokens used by ${THEME_FOLDER} but absent from @devexpress/design-tokens-internal ${version}:\n${details}`, + ); + } + + return referenced.size; +} + +async function build() { + await rm(buildPath, { recursive: true, force: true }); + + for (const config of configs) { + console.log(`Generating design tokens "${THEME_NAME}-${config.name}"`); + + const sd = new StyleDictionary(config); + + await sd.hasInitialized; + await sd.buildAllPlatforms(); + } + + const split = await splitModeScopedLayers(); + const fileCount = await validateReferences(); + const consumedCount = await validateConsumedTokens(); + + console.log(`Design tokens generated: ${fileCount} files in ${buildPath}`); + console.log(`Mode-scoped declarations: ${split.dependent} depend on the mode, ${split.shared} moved to :root`); + console.log(`Design tokens consumed by ${THEME_FOLDER}: ${consumedCount} verified against the package`); +} + +await build(); diff --git a/packages/devextreme-scss/build/tokens/consumed-tokens.ts b/packages/devextreme-scss/build/tokens/consumed-tokens.ts new file mode 100644 index 000000000000..c5b1fbdbb186 --- /dev/null +++ b/packages/devextreme-scss/build/tokens/consumed-tokens.ts @@ -0,0 +1,52 @@ +// Pure half of the consumed-token check in build-tokens.mjs, so the tests can run it without a build. + +// A commented-out declaration still names a token, and a dead reference must not fail the build. +// Throws on an unpaired delimiter: it would shift the alternation and hide the rest of the file. +export const stripScssComments = (content: string, source: string): string => { + const delimiters = content.replace(/\/\/[^\n\r]*/g, '').match(/\/\*|\*\//g) ?? []; + const paired = delimiters.length % 2 === 0 + && delimiters.every((delimiter, index) => delimiter === (index % 2 === 0 ? '/*' : '*/')); + + if (!paired) { + throw new Error(`Unpaired block comment delimiter in ${source}: code cannot be told from comment`); + } + + return content + .replace(/\/\/[^\n\r]*/g, '') + .split(/\/\*|\*\//) + .filter((_, index) => index % 2 === 0) + .join(''); +}; + +// Wider than kebab-case on purpose: `[a-z0-9-]` would truncate `ds.$spacing-40_typo` to a valid name. +export const collectTokenReferences = (content: string, source: string): string[] => [ + ...stripScssComments(content, source).matchAll(/\bds\.\$([\w-]+)/g), +].map(([, name]) => name); + +// Bypassing the bridge compiles silently, so the raw form is collected too. Unused today. +export const collectCustomPropertyReferences = (content: string, source: string): string[] => [ + ...stripScssComments(content, source).matchAll(/var\(\s*--dxds-([\w-]+)/g), +].map(([, name]) => name); + +// Demo code is CSS, HTML and framework markup, not Sass: `//` opens no comment there (it lives +// inside every URL), and an unpaired `/*` is normal in a string or a regex. So this collector +// strips only the delimited forms and never throws — a scan of somebody else's files must not be +// able to fail the build on their punctuation. +export const collectMarkupCustomPropertyReferences = (content: string): string[] => [ + ...content + .replace(/\/\*[\s\S]*?\*\//g, ' ') + .replace(//g, ' ') + .matchAll(/var\(\s*--dxds-([\w-]+)/g), +].map(([, name]) => name); + +// The index spans every design system and names repeat across them, so it is narrowed to the +// source files the bridge is generated from. +export const buildAvailableNames = ( + flatTokenKeys: Iterable, + consumedSourceFiles: ReadonlySet, +): Set => new Set( + [...flatTokenKeys] + .map((key) => key.split(':')) + .filter(([sourceFile]) => consumedSourceFiles.has(sourceFile)) + .map(([, tokenPath]) => tokenPath.replace(/\//g, '-')), +); diff --git a/packages/devextreme-scss/build/tokens/sources.mjs b/packages/devextreme-scss/build/tokens/sources.mjs new file mode 100644 index 000000000000..1e98b2015f7f --- /dev/null +++ b/packages/devextreme-scss/build/tokens/sources.mjs @@ -0,0 +1,45 @@ +/* + * Which files of @devexpress/design-tokens-internal the theme is built from. Shared by the token + * build and by tools/tokens/update.mjs, which reports what a package bump does to exactly these — + * two copies of this list would drift and the report would quietly describe the wrong package. + */ + +export const THEME_NAME = 'fluent'; +export const THEME_FOLDER = 'fluent-next'; + +export const getThemeCommonFiles = () => [ + 'base/borders', + 'base/opacity', + 'base/spacing', + 'base/typography/font-family', + 'base/typography/font-weight', + 'base/typography/font-size', + 'base/typography/letter-spacing', + 'base/typography/line-height', + 'base/typography/text-case', + 'base/typography/text-decoration', + `base/colors/utility/${THEME_NAME}`, + `semantic/box-shadow/${THEME_NAME}`, + `semantic/typography/${THEME_NAME}/font-family`, + `semantic/typography/${THEME_NAME}/font-size`, + `semantic/typography/${THEME_NAME}/font-weight`, + `semantic/typography/${THEME_NAME}/letter-spacing`, + `semantic/typography/${THEME_NAME}/line-height`, + `global/${THEME_NAME}`, + `figma-utils/box-shadow/semantic/${THEME_NAME}`, + `figma-utils/icon/set/${THEME_NAME}`, +]; + +export const getModeFiles = (mode) => [ + ...getThemeCommonFiles(), + `base/colors/icons/${THEME_NAME}/${mode}`, + `base/colors/palettes/${THEME_NAME}/blue`, + `semantic/colors/${THEME_NAME}/${mode}`, +]; + +/* + * Source files behind the SCSS bridge. The component tier is absent on purpose: its tokens only + * alias the semantic roles the theme already reads, so emitting them added unreferenced custom + * properties. Absent from the bridge, `ds.$button-color-bg-rest` is now a Sass error. + */ +export const getBridgeFiles = () => getModeFiles('light'); diff --git a/packages/devextreme-scss/build/tokens/transforms.mjs b/packages/devextreme-scss/build/tokens/transforms.mjs new file mode 100644 index 000000000000..fed50d749168 --- /dev/null +++ b/packages/devextreme-scss/build/tokens/transforms.mjs @@ -0,0 +1,60 @@ +import { register } from 'safe-ts-transforms-fork'; + +function hexToPercent(hex) { + if (typeof hex !== 'string') throw new TypeError('hex must be a string'); + if (hex.length !== 2) throw new Error('hex must be two characters long'); + + const value = parseInt(hex, 16); + const percent = Math.round((value / 255) * 100); + + return percent; +} + +export function registerTransforms(StyleDictionary) { + register(StyleDictionary, {}); + + StyleDictionary.registerTransform({ + name: 'dx/ds-name', + type: 'name', + filter: () => true, + transform: (token) => `dxds-${token.name}`, + }); + + // Tokens Studio exports semi-transparent colors as "{reference}" plus a + // two-digit hex alpha suffix (e.g. "{neutral.10}66") — invalid for DTCG and + // Style Dictionary. Rewrite to a CSS relative color, keeping the reference + // so outputReferences emits `rgb(from var(--dxds-…) r g b / N%)` and the + // alpha derivative recolors when the base custom property is overridden. + const REFERENCE_WITH_ALPHA_RE = /^(\{[\w.-]+\})([0-9a-fA-F]{2})$/; + + StyleDictionary.registerTransform({ + name: 'dx/fix-transparent-color', + type: 'value', + // Transitive is required: the raw value contains a reference, and + // non-transitive value transforms are never applied to such tokens. + transitive: true, + filter: (token) => typeof token.original.$value === 'string' + && REFERENCE_WITH_ALPHA_RE.test(token.original.$value), + transform: (token) => { + const [, reference, alpha] = token.original.$value.match(REFERENCE_WITH_ALPHA_RE); + const newValue = `rgb(from ${reference} r g b / ${hexToPercent(alpha)}%)`; + + // Mutating original.$value is load-bearing: the css/variables format + // builds outputReferences from original.$value, and the raw + // "{ref}XX" form would otherwise emit an invalid `var(--…)XX`. + token.original.$value = newValue; + + return newValue; + }, + }); + + StyleDictionary.registerTransform({ + name: 'dx/fix-drop-shadow', + type: 'value', + transitive: true, + filter: (token) => token.$type === 'shadow', + transform: (token) => token.$value + .replace(/dropShadow\s/g, '') + .replace(/innerShadow\s/g, 'inset '), + }); +} diff --git a/packages/devextreme-scss/images/widgets/fluent-next/grid/text-stub.png b/packages/devextreme-scss/images/widgets/fluent-next/grid/text-stub.png new file mode 100644 index 000000000000..5c93776f712b Binary files /dev/null and b/packages/devextreme-scss/images/widgets/fluent-next/grid/text-stub.png differ diff --git a/packages/devextreme-scss/package.json b/packages/devextreme-scss/package.json index 691142e43582..8664817b50ad 100644 --- a/packages/devextreme-scss/package.json +++ b/packages/devextreme-scss/package.json @@ -4,12 +4,15 @@ "author": "Developer Express Inc.", "license": "SEE LICENSE IN LICENSE.md", "devDependencies": { + "@devexpress/design-tokens-internal": "262.23.0", "@stylistic/stylelint-plugin": "3.1.3", "autoprefixer": "10.5.0", "clean-css": "5.3.3", "opentype.js": "1.3.4", "postcss": "^8.5.23", + "safe-ts-transforms-fork": "0.0.1", "sass-embedded": "1.93.3", + "style-dictionary": "5.4.4", "stylelint": "catalog:", "stylelint-config-standard-scss": "14.0.0", "stylelint-scss": "6.10.0", @@ -17,8 +20,18 @@ }, "scripts": { "build": "pnpm --workspace-root nx build devextreme-scss", + "check-naming-registries": "pnpm run naming:check", "lint": "stylelint scss/widgets", + "naming:baseline": "UPDATE_NAMING_BASELINE=1 jest --no-coverage --runInBand --config=./tests/jest.config.json", + "naming:check": "node tools/naming/rename.mjs --check && node tools/naming/rename.mjs --residue && node tools/naming/derive-registries.mjs --check && node tools/naming/publish.mjs --check && node tools/review/reachability.mjs", + "naming:propose": "node tools/naming/propose.mjs", + "naming:publish": "node tools/naming/publish.mjs", + "naming:registries": "node tools/naming/derive-registries.mjs", + "naming:residue": "node tools/naming/rename.mjs --residue", + "review:evidence": "node tools/review/evidence.mjs", "test": "jest --no-coverage --runInBand --config=./tests/jest.config.json", + "tokens:update": "node tools/tokens/update.mjs", + "typecheck": "tsc -p tsconfig.json", "watch": "pnpm --workspace-root nx run devextreme-scss --target=watch" }, "version": "26.2.0" diff --git a/packages/devextreme-scss/project.json b/packages/devextreme-scss/project.json index 9b1be44607cd..e4513518c251 100644 --- a/packages/devextreme-scss/project.json +++ b/packages/devextreme-scss/project.json @@ -16,16 +16,39 @@ "targetDirectory": "./scss/bundles" } }, + "clean:tokens": { + "executor": "devextreme-nx-infra-plugin:clean", + "options": { + "targetDirectory": "./scss/_design-system" + } + }, "clean": { "executor": "nx:run-commands", "options": { "commands": [ "pnpm nx clean:artifacts devextreme-scss", - "pnpm nx clean:bundles devextreme-scss" + "pnpm nx clean:bundles devextreme-scss", + "pnpm nx clean:tokens devextreme-scss" ], "parallel": false } }, + "build:tokens": { + "executor": "nx:run-commands", + "options": { + "command": "node build/tokens/build-tokens.mjs", + "cwd": "packages/devextreme-scss" + }, + "inputs": [ + "{projectRoot}/build/tokens/**/*", + "{projectRoot}/scss/widgets/fluent-next/**/*", + "{workspaceRoot}/pnpm-lock.yaml" + ], + "outputs": [ + "{projectRoot}/scss/_design-system" + ], + "cache": true + }, "copy:assets": { "executor": "devextreme-nx-infra-plugin:copy-files", "options": { @@ -47,21 +70,27 @@ }, "build:themes": { "executor": "devextreme-nx-infra-plugin:scss-build", + "parallelism": false, "options": { "mode": "all" }, + "dependsOn": [ + "build:tokens" + ], "inputs": [ "{projectRoot}/build/**/*", "{projectRoot}/fonts/**/*", "{projectRoot}/icons/**/*", "{projectRoot}/images/**/*", "{projectRoot}/scss/**/*", + "!{projectRoot}/scss/_design-system/**/*", "{workspaceRoot}/packages/devextreme/package.json", "{workspaceRoot}/pnpm-lock.yaml" ], "outputs": [ "{projectRoot}/scss/bundles", - "{workspaceRoot}/packages/devextreme/artifacts/css/dx.*.css" + "{workspaceRoot}/packages/devextreme/artifacts/css/dx.*.css", + "{workspaceRoot}/packages/devextreme/artifacts/css/accents" ], "cache": true }, @@ -70,19 +99,24 @@ "options": { "mode": "ci" }, + "dependsOn": [ + "build:tokens" + ], "inputs": [ "{projectRoot}/build/**/*", "{projectRoot}/fonts/**/*", "{projectRoot}/icons/**/*", "{projectRoot}/images/**/*", "{projectRoot}/scss/**/*", + "!{projectRoot}/scss/_design-system/**/*", "{workspaceRoot}/packages/devextreme/package.json", "{workspaceRoot}/pnpm-lock.yaml", "{workspaceRoot}/packages/devextreme-themebuilder/src/data/clean-css-options.json" ], "outputs": [ "{projectRoot}/scss/bundles", - "{workspaceRoot}/packages/devextreme/artifacts/css/dx.*.css" + "{workspaceRoot}/packages/devextreme/artifacts/css/dx.*.css", + "{workspaceRoot}/packages/devextreme/artifacts/css/accents" ], "cache": true }, @@ -101,12 +135,14 @@ "{projectRoot}/icons/**/*", "{projectRoot}/images/**/*", "{projectRoot}/scss/**/*", + "!{projectRoot}/scss/_design-system/**/*", "{workspaceRoot}/packages/devextreme/package.json", "{workspaceRoot}/pnpm-lock.yaml" ], "outputs": [ "{projectRoot}/scss/bundles", "{workspaceRoot}/packages/devextreme/artifacts/css/dx.*.css", + "{workspaceRoot}/packages/devextreme/artifacts/css/accents", "{workspaceRoot}/packages/devextreme/artifacts/css/fonts", "{workspaceRoot}/packages/devextreme/artifacts/css/icons" ], @@ -127,6 +163,7 @@ "{projectRoot}/icons/**/*", "{projectRoot}/images/**/*", "{projectRoot}/scss/**/*", + "!{projectRoot}/scss/_design-system/**/*", "{workspaceRoot}/packages/devextreme/package.json", "{workspaceRoot}/pnpm-lock.yaml", "{workspaceRoot}/packages/devextreme-themebuilder/src/data/clean-css-options.json" @@ -134,6 +171,7 @@ "outputs": [ "{projectRoot}/scss/bundles", "{workspaceRoot}/packages/devextreme/artifacts/css/dx.*.css", + "{workspaceRoot}/packages/devextreme/artifacts/css/accents", "{workspaceRoot}/packages/devextreme/artifacts/css/fonts", "{workspaceRoot}/packages/devextreme/artifacts/css/icons" ], @@ -145,12 +183,16 @@ "mode": "all", "watch": true }, + "dependsOn": [ + "build:tokens" + ], "inputs": [ "{projectRoot}/build/**/*", "{projectRoot}/fonts/**/*", "{projectRoot}/icons/**/*", "{projectRoot}/images/**/*", - "{projectRoot}/scss/**/*" + "{projectRoot}/scss/**/*", + "!{projectRoot}/scss/_design-system/**/*" ], "cache": false }, @@ -162,6 +204,47 @@ "inputs": [ "{projectRoot}/**/*" ] + }, + "naming:check": { + "executor": "nx:run-script", + "options": { + "script": "naming:check" + }, + "dependsOn": [ + "build:themes" + ], + "inputs": [ + "{projectRoot}/**/*" + ], + "cache": true + }, + "test": { + "executor": "nx:run-script", + "options": { + "script": "test" + }, + "dependsOn": [ + "build:tokens", + "build:themes", + "typecheck" + ], + "inputs": [ + "{projectRoot}/**/*" + ] + }, + "typecheck": { + "executor": "nx:run-script", + "options": { + "script": "typecheck" + }, + "inputs": [ + "{projectRoot}/build/tokens/**/*.ts", + "{projectRoot}/tools/naming/**/*.ts", + "{projectRoot}/tools/tokens/**/*.ts", + "{projectRoot}/tests/**/*.ts", + "{projectRoot}/tsconfig.json" + ], + "cache": true } }, "tags": [] diff --git a/packages/devextreme-scss/scss/widgets/base/_box.scss b/packages/devextreme-scss/scss/widgets/base/_box.scss index 0ce838e1c947..8dc148360f28 100644 --- a/packages/devextreme-scss/scss/widgets/base/_box.scss +++ b/packages/devextreme-scss/scss/widgets/base/_box.scss @@ -1,5 +1,7 @@ +$box-item-content-font-size: 14px !default; + .dx-box-item-content { - font-size: 14px; + font-size: $box-item-content-font-size; flex-direction: column; max-width: 100%; } diff --git a/packages/devextreme-scss/scss/widgets/base/_contextMenu.scss b/packages/devextreme-scss/scss/widgets/base/_contextMenu.scss index 242dd3de7ce5..933d4e096950 100644 --- a/packages/devextreme-scss/scss/widgets/base/_contextMenu.scss +++ b/packages/devextreme-scss/scss/widgets/base/_contextMenu.scss @@ -1,3 +1,8 @@ +// Design sizing values (parametrizable; fluent-next injects tokens) +$contextmenu-menu-items-container-padding: 1px !default; +$contextmenu-menu-separator-height: 1px !default; +$contextmenu-menu-separator-margin: 5px 0 !default; + .dx-context-menu { &.dx-overlay-content { overflow: inherit; @@ -5,7 +10,11 @@ } .dx-menu-items-container { - padding: 1px; + + // fluent-next passes false (not null: !default would treat that as unset): its own rule paints this + @if $contextmenu-menu-items-container-padding { + padding: $contextmenu-menu-items-container-padding; + } } .dx-menu-item .dx-submenu { @@ -14,7 +23,7 @@ } .dx-menu-separator { - height: 1px; - margin: 5px 0; + height: $contextmenu-menu-separator-height; + margin: $contextmenu-menu-separator-margin; } } diff --git a/packages/devextreme-scss/scss/widgets/base/_dateBox.scss b/packages/devextreme-scss/scss/widgets/base/_dateBox.scss index 86768b8f826c..b3590ad5e961 100644 --- a/packages/devextreme-scss/scss/widgets/base/_dateBox.scss +++ b/packages/devextreme-scss/scss/widgets/base/_dateBox.scss @@ -1,9 +1,16 @@ @use "./mixins" as *; +// Design sizing values (parametrizable; fluent-next injects tokens) +$datebox-texteditor-height: 20px !default; +$datebox-popup-content-padding-top: 20px !default; +$datebox-popup-content-padding-bottom: 20px !default; +$datebox-button-min-width: 90px !default; +$datebox-apply-button-margin-right: 10px !default; + .dx-texteditor { input[type="date"] { &::-webkit-inner-spin-button { - height: 20px; + height: $datebox-texteditor-height; } } } @@ -42,8 +49,8 @@ } .dx-popup-content { - padding-top: 20px; - padding-bottom: 20px; + padding-top: $datebox-popup-content-padding-top; + padding-bottom: $datebox-popup-content-padding-bottom; } } @@ -55,10 +62,10 @@ .dx-datebox-button-cell { .dx-button { - min-width: 90px; + min-width: $datebox-button-min-width; &.dx-datebox-apply-button { - margin-right: 10px; + margin-right: $datebox-apply-button-margin-right; margin-left: 0; } diff --git a/packages/devextreme-scss/scss/widgets/base/_dropDownList.scss b/packages/devextreme-scss/scss/widgets/base/_dropDownList.scss index 4571fd682770..da9e536bc336 100644 --- a/packages/devextreme-scss/scss/widgets/base/_dropDownList.scss +++ b/packages/devextreme-scss/scss/widgets/base/_dropDownList.scss @@ -1,6 +1,9 @@ +// Design sizing values (parametrizable; fluent-next injects tokens) +$dropdownlist-list-min-height: 35px !default; + .dx-dropdownlist-popup-wrapper { .dx-list { - min-height: 35px; + min-height: $dropdownlist-list-min-height; .dx-scrollable-content { margin: 0; diff --git a/packages/devextreme-scss/scss/widgets/base/_fieldset.scss b/packages/devextreme-scss/scss/widgets/base/_fieldset.scss index ba82a69ce1ae..880c5d64bbbe 100644 --- a/packages/devextreme-scss/scss/widgets/base/_fieldset.scss +++ b/packages/devextreme-scss/scss/widgets/base/_fieldset.scss @@ -1,7 +1,13 @@ @use "./mixins" as *; +// Design sizing values (parametrizable; fluent-next injects tokens) +$fieldset-root-margin-bottom: 20px !default; + +$fieldset-field-padding: 0.4em !default; // dx-relative +$fieldset-label-width: 40% !default; // dx-relative-% +$fieldset-datebox-value-min-width: 60% !default; // dx-relative-% .dx-fieldset { - margin-bottom: 20px; + margin-bottom: $fieldset-root-margin-bottom; .dx-field-value { margin: 0; @@ -19,14 +25,14 @@ .dx-field { position: relative; - padding: 0.4em; + padding: $fieldset-field-padding; @include dx-clearfix-mixin(); } .dx-field-label { float: left; - width: 40%; + width: $fieldset-label-width; @include dx-overflow(); } @@ -41,7 +47,7 @@ } .dx-field-value.dx-datebox { - min-width: 60%; + min-width: $fieldset-datebox-value-min-width; } .dx-field-value:not(.dx-widget) > .dx-datebox { diff --git a/packages/devextreme-scss/scss/widgets/base/_fileUploader.scss b/packages/devextreme-scss/scss/widgets/base/_fileUploader.scss index 4da499e464b1..1d98db9224bf 100644 --- a/packages/devextreme-scss/scss/widgets/base/_fileUploader.scss +++ b/packages/devextreme-scss/scss/widgets/base/_fileUploader.scss @@ -1,5 +1,28 @@ @use "./mixins" as *; +// Design sizing values (parametrizable; fluent-next injects tokens) +$fileuploader-button-margin-left: 12px !default; +$fileuploader-upload-button-margin-top: 10px !default; +$fileuploader-show-file-list-padding-top: 22px !default; +$fileuploader-file-container-padding: 4px 0 4px !default; +$fileuploader-button-width: 28px !default; +$fileuploader-button-height: 28px !default; +$fileuploader-button-margin-right: 10px !default; +$fileuploader-cancel-button-position-end-margin-left: 4px !default; +$fileuploader-file-status-message-height: 16px !default; +$fileuploader-progressbar-height: 22px !default; +$fileuploader-file-size-padding-left: 4px !default; +$fileuploader-file-icon-padding-right: 6px !default; +$fileuploader-file-container-button-margin-left: 10px !default; +$fileuploader-cancel-button-position-end-margin-right: 4px !default; +$fileuploader-file-size-padding-right: 4px !default; +$fileuploader-file-status-message-line-margin-bottom: 2px !default; +$fileuploader-cancel-button-margin-top: 5px !default; + +$fileuploader-status-message-font-size: 12px !default; +$fileuploader-file-size-font-size: 10px !default; + +$fileuploader-input-wrapper-vertical-padding: 1em !default; // dx-relative .dx-fileuploader { &.dx-state-disabled .dx-fileuploader-input { display: none; @@ -28,12 +51,12 @@ } &::before { - padding-top: 1em; + padding-top: $fileuploader-input-wrapper-vertical-padding; margin-top: -1em; } &::after { - padding-bottom: 1em; + padding-bottom: $fileuploader-input-wrapper-vertical-padding; margin-bottom: -1em; } @@ -42,7 +65,7 @@ } .dx-button + .dx-button { - margin-left: 12px; + margin-left: $fileuploader-button-margin-left; } } @@ -74,7 +97,7 @@ vertical-align: middle; & > .dx-fileuploader-upload-button { - margin-top: 10px; + margin-top: $fileuploader-upload-button-margin-top; } } @@ -92,7 +115,7 @@ width: 100%; .dx-fileuploader-show-file-list & { - padding-top: 22px; + padding-top: $fileuploader-show-file-list-padding-top; } } @@ -100,16 +123,20 @@ display: flex; align-items: center; width: 100%; - padding: 4px 0 4px; + + // fluent-next passes false (not null: !default would treat that as unset): its own rule paints this + @if $fileuploader-file-container-padding { + padding: $fileuploader-file-container-padding; + } .dx-button { - width: 28px; - height: 28px; - margin-right: 10px; + width: $fileuploader-button-width; + height: $fileuploader-button-height; + margin-right: $fileuploader-button-margin-right; &.dx-fileuploader-cancel-button-position-end { margin-right: 0; - margin-left: 4px; + margin-left: $fileuploader-cancel-button-position-end-margin-left; } &.dx-state-invisible { @@ -175,15 +202,15 @@ .dx-fileuploader-file-status-message { float: left; - font-size: 12px; - height: 16px; + font-size: $fileuploader-status-message-font-size; + height: $fileuploader-file-status-message-height; } .dx-fileuploader .dx-progressbar { float: left; width: 100%; - height: 22px; - margin-top: -6px; + height: $fileuploader-progressbar-height; + margin-top: -6px; // dx-fixed-size: pulls the status text onto the progress line } .dx-fileuploader-file-name { @@ -194,17 +221,17 @@ } .dx-fileuploader-file-size { - padding-left: 4px; + padding-left: $fileuploader-file-size-padding-left; float: left; vertical-align: super; - font-size: 10px; + font-size: $fileuploader-file-size-font-size; } .dx-fileuploader-file-icon { display: flex; justify-content: center; align-items: center; - padding-right: 6px; + padding-right: $fileuploader-file-icon-padding-right; } .dx-rtl { @@ -215,12 +242,12 @@ } .dx-fileuploader-file-container .dx-fileuploader-button { - margin-left: 10px; + margin-left: $fileuploader-file-container-button-margin-left; margin-right: 0; &.dx-fileuploader-cancel-button-position-end { margin-left: 0; - margin-right: 4px; + margin-right: $fileuploader-cancel-button-position-end-margin-right; } } @@ -231,7 +258,7 @@ } .dx-fileuploader-file-size { - padding-right: 4px; + padding-right: $fileuploader-file-size-padding-right; } } } @@ -242,7 +269,7 @@ span { display: block; - margin-bottom: 2px; + margin-bottom: $fileuploader-file-status-message-line-margin-bottom; &:last-child { margin-bottom: 0; @@ -255,6 +282,6 @@ } .dx-fileuploader-cancel-button { - margin-top: 5px; + margin-top: $fileuploader-cancel-button-margin-top; } } diff --git a/packages/devextreme-scss/scss/widgets/base/_form.scss b/packages/devextreme-scss/scss/widgets/base/_form.scss index 36adb6415d90..4456eb112064 100644 --- a/packages/devextreme-scss/scss/widgets/base/_form.scss +++ b/packages/devextreme-scss/scss/widgets/base/_form.scss @@ -1,6 +1,17 @@ +// Design sizing values (parametrizable; fluent-next injects tokens) +$form-first-row-padding-top: 10px !default; +$form-switch-margin-top: 7px !default; +$form-switch-margin-bottom: 4px !default; +$form-multiview-item-content-padding: 20px !default; +$form-group-content-padding-top: 19px !default; +$form-group-content-padding-bottom: 20px !default; +$form-group-content-margin-top: 6px !default; +$form-field-item-label-location-left-padding-inline-end: 10px !default; +$form-field-item-label-location-right-padding-inline-start: 10px !default; + .dx-layout-manager { .dx-field-item:not(.dx-first-row) { - padding-top: 10px; + padding-top: $form-first-row-padding-top; } .dx-field-empty-item { @@ -80,8 +91,8 @@ // TODO: form layout manager should not contain settings with checkbox/switch classes .dx-checkbox, .dx-switch { - margin-top: 7px; - margin-bottom: 4px; + margin-top: $form-switch-margin-top; + margin-bottom: $form-switch-margin-bottom; } } @@ -94,7 +105,7 @@ .dx-tabpanel { .dx-multiview-item-content { - padding: 20px; + padding: $form-multiview-item-content-padding; } } } @@ -124,9 +135,9 @@ .dx-form-group-with-caption { & > .dx-form-group-content { - padding-top: 19px; - padding-bottom: 20px; - margin-top: 6px; + padding-top: $form-group-content-padding-top; + padding-bottom: $form-group-content-padding-bottom; + margin-top: $form-group-content-margin-top; } } @@ -142,11 +153,11 @@ } .dx-field-item-label-location-left { - padding-inline-end: 10px; + padding-inline-end: $form-field-item-label-location-left-padding-inline-end; } .dx-field-item-label-location-right { - padding-inline-start: 10px; + padding-inline-start: $form-field-item-label-location-right-padding-inline-start; } .dx-field-item-required, diff --git a/packages/devextreme-scss/scss/widgets/base/_gallery.scss b/packages/devextreme-scss/scss/widgets/base/_gallery.scss index d904a41490b3..d047236bc859 100644 --- a/packages/devextreme-scss/scss/widgets/base/_gallery.scss +++ b/packages/devextreme-scss/scss/widgets/base/_gallery.scss @@ -1,9 +1,15 @@ @use "./mixins" as *; +// Design sizing values (parametrizable; fluent-next injects tokens) +$gallery-root-border-width: 1px !default; +$gallery-indicator-bottom: 10px !default; +$gallery-indicator-height: 10px !default; +$gallery-indicator-item-margin: 0 2px !default; + .dx-gallery { width: 100%; height: 100%; - border-width: 1px; + border-width: $gallery-root-border-width; border-style: solid; border-color: transparent; @@ -94,16 +100,16 @@ .dx-gallery-indicator { position: absolute; - bottom: 10px; + bottom: $gallery-indicator-bottom; width: 100%; - height: 10px; + height: $gallery-indicator-height; font-size: 0; } .dx-gallery-indicator-item { display: inline-block; - margin: 0 2px; - height: 10px; + margin: $gallery-indicator-item-margin; + height: $gallery-indicator-height; cursor: pointer; } diff --git a/packages/devextreme-scss/scss/widgets/base/_htmlEditor.scss b/packages/devextreme-scss/scss/widgets/base/_htmlEditor.scss index 79636b10de17..59c1f4192807 100644 --- a/packages/devextreme-scss/scss/widgets/base/_htmlEditor.scss +++ b/packages/devextreme-scss/scss/widgets/base/_htmlEditor.scss @@ -1,18 +1,43 @@ @use "sass:list"; @use "sass:math"; +@use "sass:meta"; @use "sass:selector"; +$htmleditor-code-block-bg: rgba(191, 191, 191, 0.15) !default; +$htmleditor-placeholder-color: rgba(0, 0, 0, 0.6) !default; +$htmleditor-aidialog-title-font-weight: 600 !default; + $list-style: decimal lower-alpha lower-roman !default; $list-style-width: 1.2em !default; $list-style-margin: 0.3em !default; $list-style-outer-width: $list-style-margin + $list-style-width !default; $max-indent: 9 !default; -$resize-handle-size: 11px !default; -$touch-resize-handle-size: 15px !default; -$half-resize-handle-size: math.div($resize-handle-size, 2) !default; + +/* + * dx-fixed-size: the drag handle's size; its half is negated at twenty positions, so feeding a + * var() here would trade one knob nobody retunes for twenty calc() in the bundle. + */ +$resize-handle-size: 11px; +$touch-resize-handle-size: 15px; // dx-fixed-size: the touch variant of the same handle +$half-resize-handle-size: math.div($resize-handle-size, 2); $half-touch-resize-handle-size: math.div($touch-resize-handle-size, 2) !default; -$transparent-border: 1px solid transparent !default; +$htmleditor-border-width: 1px !default; +$transparent-border: $htmleditor-border-width solid transparent !default; + +// Design sizing values (parametrizable; fluent-next injects tokens) +$variable-padding: 3px 6px !default; +$variable-border-radius: 8px !default; +$blockquote-padding-inline-start: 12px !default; +$blockquote-border-inline-start-width: 4px !default; +$table-cell-padding: 2px 5px !default; +$placeholder-inset-inline: 15px !default; +$htmleditor-content-padding: 12px 15px !default; +$mention-padding-block: 1px !default; +$mention-border-radius: 2px !default; +$mention-margin-inline: 2px !default; +$table-resizer-thickness: 5px !default; +$table-resizer-highlight-thickness: 3px !default; @function add-counter-reset($counter, $start: 1) { @if $counter > $start { @@ -126,15 +151,15 @@ $transparent-border: 1px solid transparent !default; display: flex; flex: 1; flex-basis: auto; - min-height: 1px; + min-height: 1px; // dx-structural: lets the flex item shrink below its content, not a designed height margin: 0; position: relative; overflow: hidden; } .ql-clipboard { // stylelint-disable-line selector-class-pattern - left: -100000px; - height: 1px; + left: -100000px; // dx-structural: parks Quill's clipboard element off-screen + height: 1px; // dx-structural: collapses the off-screen clipboard element, not a designed height overflow-y: hidden; position: absolute; top: 50%; @@ -151,14 +176,14 @@ $transparent-border: 1px solid transparent !default; width: 100%; outline: none; overflow-y: auto; - padding: 12px 15px; + padding: $htmleditor-content-padding; white-space: pre-wrap; word-wrap: break-word; .dx-variable { & > span { - padding: 3px 6px; - border-radius: 8px; + padding: $variable-padding; + border-radius: $variable-border-radius; } } @@ -198,8 +223,8 @@ $transparent-border: 1px solid transparent !default; td, th { - border: 1px solid #000; - padding: 2px 5px; + border: 1px solid #000; // dx-line-width: a table hairline; the colour beside it is hard-coded too + padding: $table-cell-padding; } ol { @@ -281,7 +306,7 @@ $transparent-border: 1px solid transparent !default; code, .ql-code-block-container { - background-color: rgba(191, 191, 191, 0.15); + background-color: $htmleditor-code-block-bg; } .ql-video { @@ -312,13 +337,13 @@ $transparent-border: 1px solid transparent !default; &.ql-blank { &::before { - color: rgba(0, 0, 0, 0.6); + color: $htmleditor-placeholder-color; content: attr(data-placeholder); font-style: italic; - left: 15px; + left: $placeholder-inset-inline; pointer-events: none; position: absolute; - right: 15px; + right: $placeholder-inset-inline; } &::after { @@ -328,21 +353,21 @@ $transparent-border: 1px solid transparent !default; } &[data-placeholder] > p { - height: 0.1px; + height: 0.1px; // dx-structural: a non-zero height the placeholder needs, not a designed size } } // stylelint-enable selector-class-pattern blockquote { - padding-inline-start: 12px; - border-inline-start: 4px solid; + padding-inline-start: $blockquote-padding-inline-start; + border-inline-start: $blockquote-border-inline-start-width solid; } } .dx-suggestion-list-wrapper { .dx-list { - min-height: 35px; + min-height: 35px; // dx-fixed-size: the mention suggestion list keeps a row of space while filtering .dx-scrollable-content { margin: 0; @@ -351,7 +376,7 @@ $transparent-border: 1px solid transparent !default; } .dx-suggestion-list { - min-width: 50px; + min-width: 50px; // dx-fixed-size: the narrowest the mention suggestion list may get .dx-list-item { display: block; @@ -364,7 +389,7 @@ $transparent-border: 1px solid transparent !default; } .dx-formdialog-form { - min-width: 360px; + min-width: 360px; // dx-fixed-size: the link/image dialog form width } .dx-aidialog { @@ -389,14 +414,14 @@ $transparent-border: 1px solid transparent !default; .dx-aidialog-title { display: flex; align-items: center; - gap: 6px; - font-weight: 600; + gap: 6px; // dx-fixed-size: gap between the AI dialog title icon and its text + font-weight: $htmleditor-aidialog-title-font-weight; } .dx-overlay-content { &.dx-popup-fullscreen { .dx-formdialog-form { - min-width: 240px; + min-width: 240px; // dx-fixed-size: the same dialog form once the popup goes fullscreen } } } @@ -409,7 +434,7 @@ $transparent-border: 1px solid transparent !default; .dx-background-format { .dx-icon-color, .dx-icon-background { - border-bottom: 3px solid transparent; + border-bottom: 3px solid transparent; // dx-line-width: the strip under the colour-format icon that shows the picked colour } } @@ -429,7 +454,7 @@ $transparent-border: 1px solid transparent !default; .dx-resize-frame { position: absolute; box-sizing: content-box; - border: 1px dashed lightslategrey; + border: 1px dashed lightslategrey; // dx-line-width: hairline of the image resize frame pointer-events: none; .dx-resizable-handle { @@ -440,7 +465,7 @@ $transparent-border: 1px solid transparent !default; .dx-resizable-handle-corner-top-left, .dx-resizable-handle-corner-bottom-right, .dx-resizable-handle-corner-bottom-left { - border: 1px solid white; + border: 1px solid white; // dx-line-width: hairline around a resize handle width: $resize-handle-size; height: $resize-handle-size; border-radius: 0; @@ -496,7 +521,7 @@ $transparent-border: 1px solid transparent !default; position: absolute; width: $resize-handle-size; height: $resize-handle-size; - border: 1px solid white; + border: 1px solid white; // dx-line-width: hairline around a resize handle @at-root #{selector.append(".dx-touch-device", &)} { width: $touch-resize-handle-size; @@ -561,8 +586,8 @@ $transparent-border: 1px solid transparent !default; } .dx-mention { - padding: 1px 0; - border-radius: 2px; + padding: $mention-padding-block 0; + border-radius: $mention-border-radius; .dx-template-wrapper { white-space: nowrap; @@ -570,7 +595,7 @@ $transparent-border: 1px solid transparent !default; } & > span { - margin: 0 2px; + margin: 0 $mention-margin-inline; } } @@ -585,27 +610,27 @@ $transparent-border: 1px solid transparent !default; } .dx-htmleditor-column-resizer { - width: 5px; + width: $table-resizer-thickness; top: 0; height: 100%; cursor: col-resize; } .dx-htmleditor-highlighted-column { - width: 3px; + width: $table-resizer-highlight-thickness; top: 0; height: 100%; } .dx-htmleditor-row-resizer { - height: 5px; + height: $table-resizer-thickness; left: 0; width: 100%; cursor: row-resize; } .dx-htmleditor-highlighted-row { - height: 3px; + height: $table-resizer-highlight-thickness; left: 0; width: 100%; } diff --git a/packages/devextreme-scss/scss/widgets/base/_icon_fonts.scss b/packages/devextreme-scss/scss/widgets/base/_icon_fonts.scss index 2bc650a5f1c8..724d4e67302e 100644 --- a/packages/devextreme-scss/scss/widgets/base/_icon_fonts.scss +++ b/packages/devextreme-scss/scss/widgets/base/_icon_fonts.scss @@ -1,5 +1,6 @@ @use "sass:math"; @use "sass:map"; +@use "sass:meta"; @use "sass:selector"; .dx-icon-plus, @@ -213,9 +214,27 @@ } @mixin dx-icon-sizing($icon-size, $container-size: $icon-size, $borders-size: 0) { - $icon-paddings-dirty: $container-size - $icon-size; - $icon-paddings: $icon-paddings-dirty - $borders-size; - $icon-padding: math.floor(math.div($icon-paddings, 2)); + $icon-padding: null; + $icon-line-height: null; + + @if meta.type-of($icon-size) == number and meta.type-of($container-size) == number and meta.type-of($borders-size) == number { + $icon-paddings-dirty: $container-size - $icon-size; + $icon-paddings: $icon-paddings-dirty - $borders-size; + $icon-padding: math.floor(math.div($icon-paddings, 2)); + $icon-line-height: $container-size - $icon-paddings-dirty; + } @else { + + // Token-based themes pass var()/calc() values — the derivation moves to CSS. With the defaults ($container-size is $icon-size, no borders) it is identically zero, so print 0 instead of shipping calc((X - X - 0) / 2) to the browser; a zero $borders-size alone drops its term the same way. + @if $container-size == $icon-size and $borders-size == 0 { + $icon-padding: 0; + } @else if $borders-size == 0 { + $icon-padding: calc((#{$container-size} - #{$icon-size}) / 2); + } @else { + $icon-padding: calc((#{$container-size} - #{$icon-size} - #{$borders-size}) / 2); + } + + $icon-line-height: $icon-size; + } // Geometry width: $container-size; @@ -231,10 +250,26 @@ // Icon as font font-size: $icon-size; text-align: center; - line-height: $container-size - $icon-paddings-dirty; + line-height: $icon-line-height; } +/* + * NOT converted to translate on purpose. Consumers cancel the horizontal half per widget — the + * generic gallery pins its arrows to the edges with `left: 0` / `right: 0` and an explicit + * `margin-left: 0` — and a margin can be overridden that way while a transform cannot. Centring + * here has to stay something a downstream rule can switch off. + */ @mixin dx-icon-font-centered-sizing($icon-size, $position: absolute) { + $icon-center-offset: null; + + @if meta.type-of($icon-size) == number { + $icon-center-offset: math.div(-$icon-size, 2); + } @else { + + // Token-based themes pass var()/calc() values — the derivation moves to CSS + $icon-center-offset: calc(#{$icon-size} / -2); + } + font-size: $icon-size; text-align: center; line-height: $icon-size; @@ -244,9 +279,9 @@ display: block; width: $icon-size; top: 50%; - margin-top: math.div(-$icon-size, 2); + margin-top: $icon-center-offset; left: 50%; - margin-left: math.div(-$icon-size, 2); + margin-left: $icon-center-offset; } @if $position == relative { @@ -275,7 +310,7 @@ } @mixin dx-font-icon($glyph) { - font: 14px/1 DXIcons; // stylelint-disable-line font-family-no-missing-generic-family-keyword, font-family-name-quotes + font: 14px/1 DXIcons; // stylelint-disable-line font-family-no-missing-generic-family-keyword, font-family-name-quotes -- dx-icon-glyph-size: the icon font's own size, no icon scale in the package &::before { content: $glyph; @@ -643,7 +678,7 @@ $icons: ( } %icon-font { - font: 14px/1 DXIcons; // stylelint-disable-line font-family-no-missing-generic-family-keyword, font-family-name-quotes + font: 14px/1 DXIcons; // stylelint-disable-line font-family-no-missing-generic-family-keyword, font-family-name-quotes -- dx-icon-glyph-size: the icon font's own size, no icon scale in the package } @each $key, $glyph in $icons { diff --git a/packages/devextreme-scss/scss/widgets/base/_loadIndicator.scss b/packages/devextreme-scss/scss/widgets/base/_loadIndicator.scss index eafdf848b572..ea29a9631308 100644 --- a/packages/devextreme-scss/scss/widgets/base/_loadIndicator.scss +++ b/packages/devextreme-scss/scss/widgets/base/_loadIndicator.scss @@ -1,5 +1,7 @@ @use "sass:math"; +@use "sass:meta"; +// Design sizing values (parametrizable; fluent-next injects tokens) $loadindicator-width: 32px !default; $loadindicator-height: 32px !default; @@ -49,13 +51,13 @@ $loadindicator-height: 32px !default; top: 50%; left: 50%; position: absolute; - margin-top: math.div(-1 * $loadindicator-height, 2); - margin-left: math.div(-1 * $loadindicator-width, 2); - &.dx-loadindicator { - margin-top: math.div(-1 * $loadindicator-height, 2); - margin-left: math.div(-1 * $loadindicator-width, 2); - } + /* + * Centred with translate rather than negative half-size margins: nothing has to halve the + * size, so it can be a token, and a consumer's own margin can no longer knock the indicator + * off centre — which is what the duplicated .dx-loadindicator specificity bump guarded. + */ + transform: translate(-50%, -50%); } } diff --git a/packages/devextreme-scss/scss/widgets/base/_loadPanel.scss b/packages/devextreme-scss/scss/widgets/base/_loadPanel.scss index c6f4d31f3729..0c42ff4e9694 100644 --- a/packages/devextreme-scss/scss/widgets/base/_loadPanel.scss +++ b/packages/devextreme-scss/scss/widgets/base/_loadPanel.scss @@ -1,15 +1,20 @@ @use "./mixins" as *; +// Design sizing values (parametrizable; fluent-next injects tokens) +$loadpanel-content-padding: 10px !default; +$loadpanel-content-border: 1px solid #ccc !default; +$loadpanel-content-border-radius: 5px !default; + .dx-loadpanel-content { - padding: 10px; - border: 1px solid #ccc; + padding: $loadpanel-content-padding; + border: $loadpanel-content-border; background: #fefefe; text-align: center; @include user-select(none); -webkit-user-drag: none; - border-radius: 5px; + border-radius: $loadpanel-content-border-radius; &::before { display: inline-block; diff --git a/packages/devextreme-scss/scss/widgets/base/_map.scss b/packages/devextreme-scss/scss/widgets/base/_map.scss index 0f61d97cd58d..c5d9a4230fc2 100644 --- a/packages/devextreme-scss/scss/widgets/base/_map.scss +++ b/packages/devextreme-scss/scss/widgets/base/_map.scss @@ -1,3 +1,6 @@ +// Design sizing values (parametrizable; fluent-next injects tokens) +$map-marker-tooltip-margin: 10px !default; + .dx-map-container, .dx-map-shield { position: relative; @@ -19,5 +22,5 @@ } .dx-map-marker-tooltip { - margin: 10px; + margin: $map-marker-tooltip-margin; } diff --git a/packages/devextreme-scss/scss/widgets/base/_menu.scss b/packages/devextreme-scss/scss/widgets/base/_menu.scss index a11dfd9b4d86..cbb03a43885a 100644 --- a/packages/devextreme-scss/scss/widgets/base/_menu.scss +++ b/packages/devextreme-scss/scss/widgets/base/_menu.scss @@ -1,5 +1,11 @@ @use "./mixins" as *; +// Design sizing values (parametrizable; fluent-next injects tokens) +$menu-separator-margin-inline-end: 15px !default; +$menu-separator-margin-bottom: 15px !default; +$menu-treeview-node-padding: 1px !default; +$menu-item-content-padding-inline-start: 15px !default; + .dx-menu { position: relative; } @@ -14,7 +20,7 @@ .dx-menu-separator { display: inline-block; - margin-inline-end: 15px; + margin-inline-end: $menu-separator-margin-inline-end; } } @@ -26,7 +32,7 @@ } .dx-menu-separator { - margin-bottom: 15px; + margin-bottom: $menu-separator-margin-bottom; } } @@ -60,10 +66,10 @@ } .dx-treeview-node-container:first-child > .dx-treeview-node { - padding: 1px; + padding: $menu-treeview-node-padding; .dx-item-content { - padding-inline-start: 15px; + padding-inline-start: $menu-item-content-padding-inline-start; } &:last-child { diff --git a/packages/devextreme-scss/scss/widgets/base/_menuBase.scss b/packages/devextreme-scss/scss/widgets/base/_menuBase.scss index 90ce0ecb4ba6..f0d953a3b3c4 100644 --- a/packages/devextreme-scss/scss/widgets/base/_menuBase.scss +++ b/packages/devextreme-scss/scss/widgets/base/_menuBase.scss @@ -1,5 +1,6 @@ @use "./mixins" as *; +$menubase-expand-arrow-container-width: 2em !default; // dx-relative .dx-menu-base { @include user-select(none); @@ -64,7 +65,7 @@ top: 0; inset-inline-end: 0; bottom: 0; - width: 2em; + width: $menubase-expand-arrow-container-width; .dx-menu-item-popout { height: 100%; diff --git a/packages/devextreme-scss/scss/widgets/base/_mixins.scss b/packages/devextreme-scss/scss/widgets/base/_mixins.scss index 5a37174c9974..0443ae87f929 100644 --- a/packages/devextreme-scss/scss/widgets/base/_mixins.scss +++ b/packages/devextreme-scss/scss/widgets/base/_mixins.scss @@ -1,5 +1,3 @@ -@use "sass:math"; - // stylelint-disable selector-class-pattern @mixin dx-clearfix-mixin() { @@ -123,11 +121,15 @@ } } +/* + * Centred the same way dx-pending-indicator-centered below does it: translateY needs no + * arithmetic on the size, so the size can be a token without a build-time/runtime fork. + */ @mixin dx-pending-indicator($indicator-size) { pointer-events: none; position: absolute; top: 50%; - margin-top: math.div(-$indicator-size, 2); + transform: translateY(-50%); width: $indicator-size; height: $indicator-size; } diff --git a/packages/devextreme-scss/scss/widgets/base/_multiView.scss b/packages/devextreme-scss/scss/widgets/base/_multiView.scss index 286801aa0075..9633d2c97644 100644 --- a/packages/devextreme-scss/scss/widgets/base/_multiView.scss +++ b/packages/devextreme-scss/scss/widgets/base/_multiView.scss @@ -36,8 +36,8 @@ } .dx-multiview-item-hidden { - top: -9999px; - left: -9999px; + top: -9999px; // dx-structural: parks the hidden slide off-screen + left: -9999px; // dx-structural: parks the hidden slide off-screen visibility: hidden; .dx-accordion-item-opened .dx-accordion-item-body { diff --git a/packages/devextreme-scss/scss/widgets/base/_numberBox.scss b/packages/devextreme-scss/scss/widgets/base/_numberBox.scss index e2db3328c299..0b8da34ed531 100644 --- a/packages/devextreme-scss/scss/widgets/base/_numberBox.scss +++ b/packages/devextreme-scss/scss/widgets/base/_numberBox.scss @@ -1,5 +1,7 @@ @use "./mixins" as *; +$numberbox-spin-idle-opacity: 0.2 !default; + $spin-container-width: 22px !default; $touch-friendly-spin-container-width: 64px !default; @@ -53,6 +55,8 @@ $touch-friendly-spin-container-width: 64px !default; .dx-state-disabled { .dx-numberbox-spin-container { - opacity: 0.2; + @if $numberbox-spin-idle-opacity { + opacity: $numberbox-spin-idle-opacity; + } } } diff --git a/packages/devextreme-scss/scss/widgets/base/_pagination.scss b/packages/devextreme-scss/scss/widgets/base/_pagination.scss index b73aed4bc164..a0dda08d261b 100644 --- a/packages/devextreme-scss/scss/widgets/base/_pagination.scss +++ b/packages/devextreme-scss/scss/widgets/base/_pagination.scss @@ -1,14 +1,44 @@ @use "./mixins" as *; -$pagination-paddings: 8px !default; +// Design sizing values (parametrizable; fluent-next injects tokens) +$pagination-page-padding-fallback: 7px 8px 8px !default; +$pagination-page-horizontal-padding: 13px !default; +$pagination-page-margin-left: 5px !default; +$pagination-page-margin-right: 1px !default; +$pagination-separator-padding-left: 8px !default; +$pagination-separator-padding-right: 8px !default; +$pagination-navigate-button-width-fallback: 10px !default; +$pagination-navigate-button-height: 20px !default; +$pagination-first-child-margin-left: 1px !default; +$pagination-first-child-padding-left: 10px !default; +$pagination-first-child-padding-right: 9px !default; +$pagination-first-child-padding-top: 7px !default; +$pagination-first-child-padding-bottom: 8px !default; +$pagination-page-size-margin-left: 4px !default; +$pagination-page-index-width: 40px !default; +$pagination-pages-count-padding-left: 6px !default; + +$pagination-info-opacity: 0.7 !default; +$pagination-nav-disabled-opacity: 0.3 !default; + +// Not a knob itself: the shared source of the two fallbacks below, which are. +$pagination-paddings: 8px; // dx-fixed-size: the shared source of the two fallbacks below $pagination-info-paddings: 9px !default; +// The pager's own padding and the nav button's, as fallbacks fluent-next switches off with false. +$pagination-padding-block-fallback: $pagination-paddings !default; +$pagination-navigate-button-padding-block-fallback: $pagination-paddings - 1px !default; + .dx-pager, .dx-pagination { overflow: hidden; width: 100%; - padding-top: $pagination-paddings; - padding-bottom: $pagination-paddings; + + @if $pagination-padding-block-fallback { + padding-top: $pagination-padding-block-fallback; + padding-bottom: $pagination-padding-block-fallback; + } + line-height: normal; @include user-select(none); @@ -24,34 +54,51 @@ $pagination-info-paddings: 9px !default; .dx-page { display: inline-block; cursor: pointer; - padding: 7px 8px 8px; - margin-left: 5px; - margin-right: 1px; + + @if $pagination-page-padding-fallback { + padding: $pagination-page-padding-fallback; + } + + margin-left: $pagination-page-margin-left; + margin-right: $pagination-page-margin-right; } .dx-separator { display: inline-block; - padding-left: 8px; - padding-right: 8px; + padding-left: $pagination-separator-padding-left; + padding-right: $pagination-separator-padding-right; } .dx-info { display: inline-block; margin-right: $pagination-info-paddings; - opacity: 0.7; + + @if $pagination-info-opacity { + opacity: $pagination-info-opacity; + } } .dx-navigate-button { - width: 10px; - height: 20px; + @if $pagination-navigate-button-width-fallback { + width: $pagination-navigate-button-width-fallback; + } + + height: $pagination-navigate-button-height; cursor: pointer; display: inline-block; vertical-align: top; - padding: $pagination-paddings - 1px 13px; + + @if $pagination-navigate-button-padding-block-fallback { + padding: $pagination-navigate-button-padding-block-fallback $pagination-page-horizontal-padding; + } + box-sizing: content-box; &.dx-button-disable { - opacity: 0.3; + @if $pagination-nav-disabled-opacity { + opacity: $pagination-nav-disabled-opacity; + } + cursor: inherit; } } @@ -68,17 +115,17 @@ $pagination-info-paddings: 9px !default; .dx-page-size { &:first-child, &.dx-first-child { - margin-left: 1px; + margin-left: $pagination-first-child-margin-left; } display: inline-block; cursor: pointer; - padding-left: 10px; - padding-right: 9px; - padding-top: 7px; - padding-bottom: 8px; - margin-left: 4px; - margin-right: 1px; + padding-left: $pagination-first-child-padding-left; + padding-right: $pagination-first-child-padding-right; + padding-top: $pagination-first-child-padding-top; + padding-bottom: $pagination-first-child-padding-bottom; + margin-left: $pagination-page-size-margin-left; + margin-right: $pagination-page-margin-right; } } @@ -94,7 +141,7 @@ $pagination-info-paddings: 9px !default; display: inline-block; .dx-page-index { - width: 40px; + width: $pagination-page-index-width; } .dx-pages-count { @@ -103,7 +150,7 @@ $pagination-info-paddings: 9px !default; .dx-info-text, .dx-pages-count { - padding-left: 6px; + padding-left: $pagination-pages-count-padding-left; } .dx-page-index, @@ -126,7 +173,7 @@ $pagination-info-paddings: 9px !default; direction: ltr; &:first-child { - margin-left: 1px; + margin-left: $pagination-first-child-margin-left; } } diff --git a/packages/devextreme-scss/scss/widgets/base/_popup.scss b/packages/devextreme-scss/scss/widgets/base/_popup.scss index 4e3e8b3378b6..0ef8ecef341e 100644 --- a/packages/devextreme-scss/scss/widgets/base/_popup.scss +++ b/packages/devextreme-scss/scss/widgets/base/_popup.scss @@ -1,9 +1,21 @@ @use "sass:selector"; @use "./mixins" as *; +$popup-dialog-shader-color: #444 !default; + +// Design sizing values (parametrizable; fluent-next injects tokens) +$popup-title-padding: 10px !default; +$popup-title-min-height-fallback: 19px !default; +$popup-dialog-message-padding: 10px 10px 5px 10px !default; + .dx-popup-title { - padding: 10px; - min-height: 19px; + padding: $popup-title-padding; + + // fluent-next passes false (not null: !default would treat that as unset): its own rule paints this + @if $popup-title-min-height-fallback { + min-height: $popup-title-min-height-fallback; + } + -webkit-user-drag: none; @include user-select(none); @@ -72,7 +84,7 @@ } .dx-popup-content { - padding: 10px; + padding: $popup-title-padding; -webkit-user-drag: none; &.dx-dialog-content { @@ -98,12 +110,12 @@ .dx-dialog-root { .dx-overlay-shader { - background-color: #444; + background-color: $popup-dialog-shader-color; } } .dx-dialog-message { - padding: 10px 10px 5px 10px; + padding: $popup-dialog-message-padding; } .dx-prevent-safari-scrolling { diff --git a/packages/devextreme-scss/scss/widgets/base/_progressBar.scss b/packages/devextreme-scss/scss/widgets/base/_progressBar.scss index 91604f6e9cc0..a592d683ee3d 100644 --- a/packages/devextreme-scss/scss/widgets/base/_progressBar.scss +++ b/packages/devextreme-scss/scss/widgets/base/_progressBar.scss @@ -1,5 +1,11 @@ @use "./mixins" as *; +$progressbar-status-font-size: 12px !default; + +// Design sizing values (parametrizable; fluent-next injects tokens) +$progressbar-status-padding-right: 8px !default; +$progressbar-status-padding-left: 8px !default; + .dx-progressbar { .dx-position-left, .dx-position-right { @@ -34,11 +40,11 @@ } .dx-position-left .dx-progressbar-status { - padding-right: 8px; + padding-right: $progressbar-status-padding-right; } .dx-position-right .dx-progressbar-status { - padding-left: 8px; + padding-left: $progressbar-status-padding-left; } &::before { @@ -78,7 +84,7 @@ top: 0; left: 0; width: auto; - font-size: 12px; + font-size: $progressbar-status-font-size; } .dx-progressbar-animating-segment { diff --git a/packages/devextreme-scss/scss/widgets/base/_recurrenceEditor.scss b/packages/devextreme-scss/scss/widgets/base/_recurrenceEditor.scss index 136bc1ebf27c..7868303a93c2 100644 --- a/packages/devextreme-scss/scss/widgets/base/_recurrenceEditor.scss +++ b/packages/devextreme-scss/scss/widgets/base/_recurrenceEditor.scss @@ -1,3 +1,4 @@ +// Design sizing values (parametrizable; fluent-next injects tokens) $recurrence-interval-number-box-margin-top: 25px !default; $recurrence-radio-group-item-padding: 10px !default; $recurrence-button-group-item-padding: 8px !default; diff --git a/packages/devextreme-scss/scss/widgets/base/_resizable.scss b/packages/devextreme-scss/scss/widgets/base/_resizable.scss index a7635864fec7..03f52ad0136e 100644 --- a/packages/devextreme-scss/scss/widgets/base/_resizable.scss +++ b/packages/devextreme-scss/scss/widgets/base/_resizable.scss @@ -1,6 +1,6 @@ $handle-offset: 0 !default; -$one-side-handle-size: 3px + $handle-offset !default; -$two-side-handle-size: 6px + $handle-offset !default; +$one-side-handle-size: 3px + $handle-offset; // dx-fixed-size: handle thickness ($handle-offset is 0) +$two-side-handle-size: 6px + $handle-offset; // dx-fixed-size: handle thickness ($handle-offset is 0) .dx-resizable { display: block; diff --git a/packages/devextreme-scss/scss/widgets/base/_scrollView.scss b/packages/devextreme-scss/scss/widgets/base/_scrollView.scss index 920800bdf699..7995ecfe4968 100644 --- a/packages/devextreme-scss/scss/widgets/base/_scrollView.scss +++ b/packages/devextreme-scss/scss/widgets/base/_scrollView.scss @@ -1,8 +1,33 @@ +@use "sass:meta"; @use "./mixins" as *; +// Design sizing values (parametrizable; fluent-next injects tokens) +$scrollview-top-pocket-width: 40px !default; +$scrollview-top-pocket-height: 40px !default; +$scrollview-pull-down-indicator-padding: 4px !default; +$scrollview-icon-pulldown-padding: 8px !default; +$scrollview-pull-down-indicator-width: 20px !default; +$scrollview-pull-down-image-margin: 0 20px !default; +$scrollview-pull-down-image-height: 50px !default; +$scrollview-scrollbottom-padding: 10px 0 !default; +$scrollview-scrollbottom-indicator-margin: 0 10px 0 0 !default; +$scrollview-scrollbottom-indicator-margin-rtl: 0 0 0 10px !default; + +$scrollview-pulldown-icon-font-size: 24px !default; $pulldown-height: 50px !default; $pulldown-padding: 15px !default; +/* + * The pull-down area is parked directly above the viewport, so the offset is its own height plus + * both paddings, negated. A theme that feeds var() into either leaves Sass nothing to add up, so the + * offset is a knob of its own: the theme derives it once instead of the browser recomputing it here. + */ +$pulldown-top-offset: if( + meta.type-of($pulldown-height) == number and meta.type-of($pulldown-padding) == number, + -($pulldown-height + $pulldown-padding * 2), + calc(-1 * (#{$pulldown-height} + #{$pulldown-padding} * 2)) +) !default; + .dx-scrollable-native { &.dx-scrollable-native-generic { .dx-scrollview-top-pocket { @@ -13,8 +38,8 @@ $pulldown-padding: 15px !default; &.dx-scrollable-native-android { .dx-scrollview-top-pocket { - width: 40px; - height: 40px; + width: $scrollview-top-pocket-width; + height: $scrollview-top-pocket-height; left: 50%; position: absolute; z-index: 1; @@ -26,7 +51,7 @@ $pulldown-padding: 15px !default; height: 100%; width: 100%; left: -50%; - margin-left: -20px; + margin-left: -20px; // dx-fixed-size: centres the android pull-down on the pocket padding: 0; border-radius: 50%; @@ -37,7 +62,7 @@ $pulldown-padding: 15px !default; .dx-scrollview-pull-down-indicator { position: relative; top: 0; - padding: 4px; + padding: $scrollview-pull-down-indicator-padding; margin: 0; height: 100%; width: 100%; @@ -53,8 +78,8 @@ $pulldown-padding: 15px !default; .dx-icon-pulldown { width: 100%; height: 100%; - padding: 8px; - font-size: 24px; + padding: $scrollview-icon-pulldown-padding; + font-size: $scrollview-pulldown-icon-font-size; box-sizing: border-box; transition: opacity 0.2s; } @@ -106,7 +131,7 @@ $pulldown-padding: 15px !default; width: 100%; height: $pulldown-height; padding: $pulldown-padding 0; - top: -($pulldown-height + $pulldown-padding * 2); + top: $pulldown-top-offset; overflow: hidden; transform: translate(0, 0); -webkit-user-drag: none; @@ -125,17 +150,17 @@ $pulldown-padding: 15px !default; left: 0; top: 50%; display: inline-block; - margin: -15px 20px 0 15px; - width: 20px; + margin: -15px 20px 0 15px; // dx-fixed-size: centres the indicator on its own half-height + width: $scrollview-pull-down-indicator-width; -webkit-user-drag: none; } .dx-scrollview-pull-down-image { display: inline-block; vertical-align: middle; - margin: 0 20px; - width: 20px; - height: 50px; + margin: $scrollview-pull-down-image-margin; + width: $scrollview-pull-down-indicator-width; + height: $scrollview-pull-down-image-height; background-size: contain; -webkit-user-drag: none; @@ -185,7 +210,7 @@ $pulldown-padding: 15px !default; .dx-scrollview-scrollbottom { width: 100%; - padding: 10px 0; + padding: $scrollview-scrollbottom-padding; overflow: hidden; text-align: center; transform: translate(0, 0); @@ -200,13 +225,13 @@ $pulldown-padding: 15px !default; .dx-scrollview-scrollbottom-indicator { display: inline-block; - margin: 0 10px 0 0; + margin: $scrollview-scrollbottom-indicator-margin; -webkit-user-drag: none; } .dx-scrollview-scrollbottom-text { display: inline-block; - margin-top: -20px; + margin-top: -20px; // dx-fixed-size: pulls the text onto the indicator's line vertical-align: middle; -webkit-user-drag: none; } @@ -242,5 +267,5 @@ $pulldown-padding: 15px !default; } .dx-rtl .dx-scrollview-scrollbottom-indicator { - margin: 0 0 0 10px; + margin: $scrollview-scrollbottom-indicator-margin-rtl; } diff --git a/packages/devextreme-scss/scss/widgets/base/_slider.scss b/packages/devextreme-scss/scss/widgets/base/_slider.scss index 2f6fe5294ea2..1c5a76524df9 100644 --- a/packages/devextreme-scss/scss/widgets/base/_slider.scss +++ b/packages/devextreme-scss/scss/widgets/base/_slider.scss @@ -2,11 +2,16 @@ @use "./popover/mixins" as *; $slider-tooltip-content-height: 28px !default; -$slider-tooltip-arrow-height: 7px !default; +$slider-tooltip-arrow-height: 7px; // dx-fixed-size: feeds dx-popover-arrow-size, which divides by sqrt(2) +// Design sizing values (parametrizable; fluent-next injects tokens) +$slider-label-position-bottom-padding-bottom: 14px !default; +$slider-label-position-top-padding-top: 14px !default; + +$slider-label-font-size: 0.85em !default; // dx-relative .dx-slider-label { position: absolute; - font-size: 0.85em; + font-size: $slider-label-font-size; &:last-child { inset-inline-end: 0; @@ -14,11 +19,11 @@ $slider-tooltip-arrow-height: 7px !default; } .dx-slider-label-position-bottom { - padding-bottom: 14px; + padding-bottom: $slider-label-position-bottom-padding-bottom; } .dx-slider-label-position-top { - padding-top: 14px; + padding-top: $slider-label-position-top-padding-top; } .dx-slider { diff --git a/packages/devextreme-scss/scss/widgets/base/_sortable.scss b/packages/devextreme-scss/scss/widgets/base/_sortable.scss index 85a3551bb66b..be0aeef5c6a1 100644 --- a/packages/devextreme-scss/scss/widgets/base/_sortable.scss +++ b/packages/devextreme-scss/scss/widgets/base/_sortable.scss @@ -1,8 +1,28 @@ @use "sass:color"; +@use "sass:meta"; @use "./mixins" as *; +$sortable-clone-shadow-color-first: rgba(0, 0, 0, 0.1) !default; +$sortable-clone-shadow-color-second: rgba(0, 0, 0, 0.2) !default; + +/* + * dx-shadow-geometry: the whole shadow, so a theme can hand over a design-system role instead of + * two colours for a geometry frozen here. The default keeps the two-layer lift the older themes + * were built on. + */ +$sortable-clone-shadow: + 0 1px 3px $sortable-clone-shadow-color-first, + 0 6px 8px $sortable-clone-shadow-color-second !default; + +$sortable-clone-opacity: 0.9 !default; +$sortable-source-opacity: 0.5 !default; + $base-accent: null !default; +// Design sizing values (parametrizable; fluent-next injects tokens) +$sortable-placeholder-border: 1px solid !default; +$sortable-placeholder-inside-border-width: 2px !default; + .dx-sortable { overflow: hidden; } @@ -12,7 +32,7 @@ $base-accent: null !default; top: 0; left: 0; box-sizing: border-box; - opacity: 0.9; + opacity: $sortable-clone-opacity; z-index: $max-integer; .dx-inkripple { @@ -25,7 +45,7 @@ $base-accent: null !default; } .dx-sortable-source { - opacity: 0.5; + opacity: $sortable-source-opacity; } .dx-sortable-source-hidden { @@ -36,17 +56,17 @@ $base-accent: null !default; position: absolute; top: 0; left: 0; - border: 1px solid; + border: $sortable-placeholder-border; border-color: $base-accent; box-sizing: border-box; z-index: $max-integer; } .dx-sortable-placeholder-inside { - border-width: 2px; + border-width: $sortable-placeholder-inside-border-width; } .dx-sortable-dragging > * { - border-color: color.change($base-accent, $alpha: 0.5); - box-shadow: 0 1px 3px color.change(#000, $alpha: 0.1), 0 6px 8px color.change(#000, $alpha: 0.2); + border-color: if(meta.type-of($base-accent) == color, color.change($base-accent, $alpha: 0.5), rgb(from #{$base-accent} r g b / 0.5)); + box-shadow: $sortable-clone-shadow; } diff --git a/packages/devextreme-scss/scss/widgets/base/_speedDialAction.scss b/packages/devextreme-scss/scss/widgets/base/_speedDialAction.scss index 54d89276659b..ebf97c71b311 100644 --- a/packages/devextreme-scss/scss/widgets/base/_speedDialAction.scss +++ b/packages/devextreme-scss/scss/widgets/base/_speedDialAction.scss @@ -1,6 +1,10 @@ @use "sass:math"; +@use "sass:meta"; @use "sass:color"; +// Design sizing values (parametrizable; fluent-next injects tokens) +$speeddialaction-fa-button-label-border-radius: 4px !default; + .dx-fa-button .dx-overlay-content { border-radius: 50%; cursor: pointer; @@ -21,8 +25,18 @@ $speed-dial-action-active-bg, $speed-dial-action-label-shadow, $button-default-bg, - $button-default-color + $button-default-color, + // Optional overrides for the main-button hover/active backgrounds. When null (all + // legacy callers), they are derived from $button-default-bg via color.adjust() as + // before; themes whose bg is a var() token pass ready state values instead. + $button-default-hover-bg: null, + $button-default-active-bg: null ) { + $fa-main-radius: if(meta.type-of($main-action-button-size) == number, math.div($main-action-button-size, 2), calc(#{$main-action-button-size} / 2)); + $fa-action-radius: if(meta.type-of($action-button-size) == number, math.div($action-button-size, 2), calc(#{$action-button-size} / 2)); + $fa-main-icon-padding: if(meta.type-of($main-action-button-size) == number and meta.type-of($icon-size) == number, math.div($main-action-button-size - $icon-size, 2), calc((#{$main-action-button-size} - #{$icon-size}) / 2)); + $fa-action-icon-padding: if(meta.type-of($action-button-size) == number and meta.type-of($icon-size) == number, math.div($action-button-size - $icon-size, 2), calc((#{$action-button-size} - #{$icon-size}) / 2)); + .dx-fa-button { &.dx-fa-button-main { .dx-overlay-shader { @@ -35,11 +49,11 @@ background-color: $button-default-bg; color: $button-default-color; overflow: visible; - border-radius: math.div($main-action-button-size, 2); + border-radius: $fa-main-radius; box-shadow: $speed-dial-action-shadow; &.dx-state-hover { - background-color: color.adjust($button-default-bg, $lightness: -10%, $space: hsl); + background-color: if($button-default-hover-bg != null, $button-default-hover-bg, color.adjust($button-default-bg, $lightness: -10%, $space: hsl)); .dx-fa-button-icon { background-color: transparent; @@ -47,7 +61,7 @@ } &.dx-state-active { - background-color: color.adjust($button-default-bg, $lightness: -15%, $space: hsl); + background-color: if($button-default-active-bg != null, $button-default-active-bg, color.adjust($button-default-bg, $lightness: -15%, $space: hsl)); .dx-fa-button-icon { background-color: transparent; @@ -56,7 +70,7 @@ .dx-fa-button-icon, .dx-fa-button-icon-close { - padding: math.div($main-action-button-size - $icon-size, 2); + padding: $fa-main-icon-padding; box-shadow: none; background-color: transparent; } @@ -74,7 +88,7 @@ } .dx-inkripple { - border-radius: math.div($main-action-button-size, 2); + border-radius: $fa-main-radius; } } @@ -85,7 +99,7 @@ .dx-fa-button-icon, .dx-fa-button-icon-close { - padding: math.div($main-action-button-size - $icon-size, 2) 0 math.div($main-action-button-size - $icon-size, 2) math.div($main-action-button-size - $icon-size, 2); + padding: $fa-main-icon-padding 0 $fa-main-icon-padding $fa-main-icon-padding; } } } @@ -99,7 +113,7 @@ .dx-fa-button-icon, .dx-fa-button-icon-close { - padding: math.div($action-button-size - $icon-size, 2); + padding: $fa-action-icon-padding; width: $icon-size; height: $icon-size; box-sizing: content-box; @@ -158,7 +172,7 @@ background-color: $speed-dial-action-bg; color: $speed-dial-action-color; white-space: nowrap; - border-radius: 4px; + border-radius: $speeddialaction-fa-button-label-border-radius; padding: $label-padding; margin-right: $label-offset; box-shadow: $speed-dial-action-label-shadow; @@ -175,7 +189,7 @@ .dx-inkripple { overflow: hidden; - border-radius: math.div($action-button-size, 2); + border-radius: $fa-action-radius; } } } diff --git a/packages/devextreme-scss/scss/widgets/base/_splitterBar.scss b/packages/devextreme-scss/scss/widgets/base/_splitterBar.scss index d4ef6e4c4b44..f56ea447dedf 100644 --- a/packages/devextreme-scss/scss/widgets/base/_splitterBar.scss +++ b/packages/devextreme-scss/scss/widgets/base/_splitterBar.scss @@ -1,5 +1,9 @@ @use "./mixins" as *; +// Design sizing values (parametrizable; fluent-next injects tokens) +$splitterbar-splitter-border-width: 7px !default; +$splitterbar-splitter-bar-width: 1px !default; + .dx-splitter-wrapper { height: 100%; width: 0; @@ -10,12 +14,12 @@ .dx-splitter-border { z-index: 997; height: 100%; - width: 7px; + width: $splitterbar-splitter-border-width; cursor: col-resize; .dx-splitter-bar { height: 100%; - width: 1px; + width: $splitterbar-splitter-bar-width; display: block; cursor: col-resize; z-index: $overlay-zindex - 1; diff --git a/packages/devextreme-scss/scss/widgets/base/_tagBox.scss b/packages/devextreme-scss/scss/widgets/base/_tagBox.scss index ab4d70eb717d..37426af9b186 100644 --- a/packages/devextreme-scss/scss/widgets/base/_tagBox.scss +++ b/packages/devextreme-scss/scss/widgets/base/_tagBox.scss @@ -12,7 +12,7 @@ @include hide-input-cursor(); // T278002 min-width: 0; - width: 0.1px; // T393423, T437866 + width: 0.1px; // T393423, T437866 -- dx-structural: a non-zero width the browsers need, not a designed size padding-left: 0; padding-right: 0; margin-left: 0; @@ -40,7 +40,7 @@ } .dx-tag { - max-width: calc(100% - 1px); + max-width: calc(100% - 1px); // dx-px-nudge: a pixel off the full width so the tag never overflows display: inline-flex; align-self: flex-start; } diff --git a/packages/devextreme-scss/scss/widgets/base/_tileView.scss b/packages/devextreme-scss/scss/widgets/base/_tileView.scss index d4270b27b0d1..0be5d8acc629 100644 --- a/packages/devextreme-scss/scss/widgets/base/_tileView.scss +++ b/packages/devextreme-scss/scss/widgets/base/_tileView.scss @@ -1,3 +1,6 @@ +// Design sizing values (parametrizable; fluent-next injects tokens) +$tileview-wrapper-height: 1px !default; + .dx-tileview { div.dx-scrollable-container { overflow-y: hidden; // anyway, tagName added for increase priorities @@ -22,5 +25,5 @@ .dx-tileview-wrapper { position: relative; - height: 1px; + height: $tileview-wrapper-height; } diff --git a/packages/devextreme-scss/scss/widgets/base/_toast.scss b/packages/devextreme-scss/scss/widgets/base/_toast.scss index 0c07b73f672d..2c1196231999 100644 --- a/packages/devextreme-scss/scss/widgets/base/_toast.scss +++ b/packages/devextreme-scss/scss/widgets/base/_toast.scss @@ -1,17 +1,25 @@ +// Design sizing values (parametrizable; fluent-next injects tokens) +$toast-content-padding: 10px !default; +$toast-icon-width: 35px !default; +$toast-icon-height: 35px !default; +$toast-icon-margin-right: 10px !default; +$toast-icon-margin-left: 10px !default; +$toast-stack-gap: 3px !default; + .dx-toast-content { display: flex; - padding: 10px; + padding: $toast-content-padding; align-items: center; } .dx-toast-icon { display: inline-flex; background-size: contain; - width: 35px; - height: 35px; + width: $toast-icon-width; + height: $toast-icon-height; background-position: left center; background-repeat: no-repeat; - margin-right: 10px; + margin-right: $toast-icon-margin-right; } .dx-toast-message { @@ -36,7 +44,7 @@ .dx-rtl { .dx-toast-icon { - margin-left: 10px; + margin-left: $toast-icon-margin-left; margin-right: 0; } } @@ -44,7 +52,7 @@ .dx-toast-stack { position: fixed; display: flex; - gap: 3px; + gap: $toast-stack-gap; align-items: center; z-index: 9500; diff --git a/packages/devextreme-scss/scss/widgets/base/_tooltip.scss b/packages/devextreme-scss/scss/widgets/base/_tooltip.scss index c808a6f38222..230e3f99307d 100644 --- a/packages/devextreme-scss/scss/widgets/base/_tooltip.scss +++ b/packages/devextreme-scss/scss/widgets/base/_tooltip.scss @@ -1,7 +1,13 @@ +// Design sizing values (parametrizable; fluent-next injects tokens) +$tooltip-overlay-content-min-width: 34px !default; +$tooltip-overlay-content-min-height: 26px !default; +$tooltip-popup-content-padding: 12px 17px !default; + +$tooltip-content-font-size: 0.85em !default; // dx-relative .dx-tooltip-wrapper { .dx-overlay-content { - min-width: 34px; - min-height: 26px; + min-width: $tooltip-overlay-content-min-width; + min-height: $tooltip-overlay-content-min-height; text-align: center; line-height: 0; @@ -14,8 +20,8 @@ .dx-popup-content { display: inline-block; - padding: 12px 17px; - font-size: 0.85em; + padding: $tooltip-popup-content-padding; + font-size: $tooltip-content-font-size; line-height: normal; white-space: nowrap; } diff --git a/packages/devextreme-scss/scss/widgets/base/_ui.scss b/packages/devextreme-scss/scss/widgets/base/_ui.scss index 01861bbd9f96..79113adfd114 100644 --- a/packages/devextreme-scss/scss/widgets/base/_ui.scss +++ b/packages/devextreme-scss/scss/widgets/base/_ui.scss @@ -10,8 +10,8 @@ .dx-hidden-input { position: fixed; - top: -10px; - left: -10px; + top: -10px; // dx-structural: parks the hidden input off-screen + left: -10px; // dx-structural: parks the hidden input off-screen width: 0; height: 0; } @@ -38,8 +38,8 @@ .dx-screen-reader-only { position: absolute; - height: 1px; - width: 1px; + height: 1px; // dx-structural: the screen-reader-only clipping box, not a designed size + width: 1px; // dx-structural: the screen-reader-only clipping box, not a designed size overflow: hidden; white-space: nowrap; clip: rect(0 0 0 0); @@ -223,7 +223,7 @@ .dx-android-pop-animation { &.dx-enter.dx-forward, &.dx-leave.dx-leave-active.dx-backward { - transform: translate3d(0, 150px, 0); + transform: translate3d(0, 150px, 0); // dx-fixed-size: how far the android pop animation travels opacity: 0; } @@ -345,7 +345,7 @@ .dx-3d-drop-animation { &.dx-enter, &.dx-leave.dx-leave-active { - transform: rotate3d(1, 0, 0, 10deg) translate3d(0, -10px, 0) scale3d(1.1, 1.1, 1.1); + transform: rotate3d(1, 0, 0, 10deg) translate3d(0, -10px, 0) scale3d(1.1, 1.1, 1.1); // dx-fixed-size: how far the 3d drop animation travels opacity: 0; } @@ -359,7 +359,7 @@ .dx-fade-drop-animation { &.dx-enter, &.dx-leave.dx-leave-active { - transform: translate3d(0, -10px, 0) scale3d(1.1, 1.1, 1.1); + transform: translate3d(0, -10px, 0) scale3d(1.1, 1.1, 1.1); // dx-fixed-size: how far the fade drop animation travels opacity: 0; } @@ -373,7 +373,7 @@ .dx-fade-rise-animation { &.dx-enter, &.dx-leave.dx-leave-active { - transform: translate3d(0, 10px, 0) scale3d(1.1, 1.1, 1.1); + transform: translate3d(0, 10px, 0) scale3d(1.1, 1.1, 1.1); // dx-fixed-size: how far the fade rise animation travels opacity: 0; } diff --git a/packages/devextreme-scss/scss/widgets/base/_validation.scss b/packages/devextreme-scss/scss/widgets/base/_validation.scss index 14a4c5cdb0a9..abaaa03d78e8 100644 --- a/packages/devextreme-scss/scss/widgets/base/_validation.scss +++ b/packages/devextreme-scss/scss/widgets/base/_validation.scss @@ -1,3 +1,10 @@ +// Design sizing values (parametrizable; fluent-next injects tokens) +$validation-summary-margin-top: 20px !default; +$validation-message-content-padding: 10px !default; + +$validation-message-font-size: 0.85em !default; // dx-relative +$validation-summary-item-border-bottom-width: 1px !default; + @mixin dx-base-validation($summary-color, $message-color, $message-bg-color, $border-radius) { .dx-validationsummary-item { color: $summary-color; @@ -38,7 +45,7 @@ } .dx-form-validation-summary { - margin-top: 20px; + margin-top: $validation-summary-margin-top; } } @@ -60,8 +67,8 @@ & > .dx-overlay-content { display: inline-block; border-width: 0; - padding: 10px; - font-size: 0.85em; + padding: $validation-message-content-padding; + font-size: $validation-message-font-size; line-height: normal; word-wrap: break-word; } @@ -76,7 +83,7 @@ } .dx-validationsummary-item-content { - border-bottom: 1px dashed; + border-bottom: $validation-summary-item-border-bottom-width dashed; display: inline-block; line-height: normal; } diff --git a/packages/devextreme-scss/scss/widgets/base/buttonGroup/_index.scss b/packages/devextreme-scss/scss/widgets/base/buttonGroup/_index.scss index a37fb6e1add9..cafcb1c7243e 100644 --- a/packages/devextreme-scss/scss/widgets/base/buttonGroup/_index.scss +++ b/packages/devextreme-scss/scss/widgets/base/buttonGroup/_index.scss @@ -1,5 +1,8 @@ @use "../mixins" as *; +// Design sizing values (parametrizable; fluent-next injects tokens) +$buttongroup-mode-text-column-gap: 1px !default; + .dx-buttongroup { display: inline-block; } @@ -11,7 +14,7 @@ width: 100%; .dx-buttongroup-mode-text & { - column-gap: 1px; + column-gap: $buttongroup-mode-text-column-gap; } } diff --git a/packages/devextreme-scss/scss/widgets/base/calendar/_calendar.scss b/packages/devextreme-scss/scss/widgets/base/calendar/_calendar.scss index 7174d09e7497..22da41bc377b 100644 --- a/packages/devextreme-scss/scss/widgets/base/calendar/_calendar.scss +++ b/packages/devextreme-scss/scss/widgets/base/calendar/_calendar.scss @@ -1,5 +1,13 @@ @use "../mixins" as *; +// Design sizing values (parametrizable; fluent-next injects tokens) +$calendar-border-width: 1px !default; +$calendar-multiview-table-padding: 0 10px !default; + +$calendar-week-day-header-font-size: 10px !default; +$calendar-week-day-header-font-weight: 500 !default; + +$calendar-week-number-cell-width: 2em !default; // dx-relative .dx-calendar { @include user-select(none); @@ -8,7 +16,7 @@ direction: ltr; flex-direction: column; justify-content: space-between; - border: 1px solid transparent; + border: $calendar-border-width solid transparent; &.dx-rtl { direction: rtl; @@ -68,8 +76,8 @@ } thead th { - font-weight: 500; - font-size: 10px; + font-weight: $calendar-week-day-header-font-weight; + font-size: $calendar-week-day-header-font-size; @include dx-overflow(); } @@ -88,7 +96,7 @@ align-items: center; justify-content: center; text-align: center; - width: 2em; + width: $calendar-week-number-cell-width; inset: 0; } } @@ -131,7 +139,7 @@ } table { - padding: 0 10px; + padding: $calendar-multiview-table-padding; } } } diff --git a/packages/devextreme-scss/scss/widgets/base/calendar/_mixins.scss b/packages/devextreme-scss/scss/widgets/base/calendar/_mixins.scss index 76cd504fcd1c..a66e4c58f459 100644 --- a/packages/devextreme-scss/scss/widgets/base/calendar/_mixins.scss +++ b/packages/devextreme-scss/scss/widgets/base/calendar/_mixins.scss @@ -1,4 +1,5 @@ @use "sass:color"; +@use "sass:meta"; @mixin dx-calendar-mixin( $calendar-bg, @@ -16,7 +17,7 @@ gap: $calendar-element-padding; &.dx-calendar-with-footer { - height: $calendar-height + $calendar-element-padding + $footer-button-height; + height: if(meta.type-of($calendar-height) == number and meta.type-of($calendar-element-padding) == number and meta.type-of($footer-button-height) == number, $calendar-height + $calendar-element-padding + $footer-button-height, calc(#{$calendar-height} + #{$calendar-element-padding} + #{$footer-button-height})); } &.dx-calendar-multiview { @@ -128,6 +129,10 @@ $calendar-cell-other-hover-color, $calendar-cell-hover-border-color, $calendar-cell-range-border-radius, + // Today is outlined and the contoured (keyboard-focused) date carries a ring; both are drawn at + // the same thickness, but they are separate decisions, so they are separate knobs. + $cell-today-border-width: 2px, + $cell-contoured-ring-width: 2px, ) { .dx-calendar-cell { color: $cell-text-color; @@ -152,7 +157,7 @@ &.dx-calendar-today { span { - border: 2px solid; + border: $cell-today-border-width solid; border-color: $base-accent; } } @@ -179,7 +184,7 @@ &.dx-calendar-contoured-date { span { - box-shadow: 0 0 0 2px $cell-contoured-border-color; + box-shadow: 0 0 0 $cell-contoured-ring-width $cell-contoured-border-color; } } @@ -239,7 +244,7 @@ &.dx-calendar-empty-cell { cursor: default; - color: color.change($cell-text-color, $alpha: 0.24); + color: if(meta.type-of($cell-text-color) == color, color.change($cell-text-color, $alpha: 0.24), rgb(from #{$cell-text-color} r g b / 0.24)); &.dx-state-hover, &.dx-state-active { diff --git a/packages/devextreme-scss/scss/widgets/base/cardView/content_view/content/card/_index.scss b/packages/devextreme-scss/scss/widgets/base/cardView/content_view/content/card/_index.scss index f3e094c5aff3..1fdee364b285 100644 --- a/packages/devextreme-scss/scss/widgets/base/cardView/content_view/content/card/_index.scss +++ b/packages/devextreme-scss/scss/widgets/base/cardView/content_view/content/card/_index.scss @@ -19,9 +19,9 @@ } &:focus-visible { - outline: 2px solid; + outline: 2px solid; // dx-fixed-size: the base/cardView chain is not configurable from a theme yet: nothing in it is passed through @use ... with outline-color: $cardview-card--focused-outline-color; - outline-offset: -2px; + outline-offset: -2px; // dx-fixed-size: the base/cardView chain is not configurable from a theme yet: nothing in it is passed through @use ... with } } diff --git a/packages/devextreme-scss/scss/widgets/base/cardView/content_view/content/card/header/_index.scss b/packages/devextreme-scss/scss/widgets/base/cardView/content_view/content/card/header/_index.scss index ae28a7e5f713..70216956dd1e 100644 --- a/packages/devextreme-scss/scss/widgets/base/cardView/content_view/content/card/header/_index.scss +++ b/packages/devextreme-scss/scss/widgets/base/cardView/content_view/content/card/header/_index.scss @@ -7,7 +7,7 @@ height: $cardview-card__header-height; .dx-toolbar { - padding: 0 12px; + padding: 0 12px; // dx-fixed-size: the base/cardView chain is not configurable from a theme yet: nothing in it is passed through @use ... with border-radius: $cardview-card-border-radius $cardview-card-border-radius 0 0; background-color: transparent; @@ -39,8 +39,8 @@ .dx-toolbar-item-content::before { content: ""; - width: 20px; - height: 20px; + width: 20px; // dx-fixed-size: the base/cardView chain is not configurable from a theme yet: nothing in it is passed through @use ... with + height: 20px; // dx-fixed-size: the base/cardView chain is not configurable from a theme yet: nothing in it is passed through @use ... with display: inline-block; pointer-events: none; } diff --git a/packages/devextreme-scss/scss/widgets/base/cardView/content_view/no_data/_index.scss b/packages/devextreme-scss/scss/widgets/base/cardView/content_view/no_data/_index.scss index 945055c5aaab..8fdc113f1420 100644 --- a/packages/devextreme-scss/scss/widgets/base/cardView/content_view/no_data/_index.scss +++ b/packages/devextreme-scss/scss/widgets/base/cardView/content_view/no_data/_index.scss @@ -7,7 +7,7 @@ align-items: center; justify-content: center; background-color: $cardview-nodata-view__icon-bg-color; - border-radius: 999px; + border-radius: 999px; // dx-fixed-size: a pill radius; the base/cardView chain is not configurable from a theme yet: nothing in it is passed through @use ... with margin: $cardview-nodata-view__icon-container-margin; .dx-icon { diff --git a/packages/devextreme-scss/scss/widgets/base/cardView/header_panel/_index.scss b/packages/devextreme-scss/scss/widgets/base/cardView/header_panel/_index.scss index f03e72471f49..83db04979e65 100644 --- a/packages/devextreme-scss/scss/widgets/base/cardView/header_panel/_index.scss +++ b/packages/devextreme-scss/scss/widgets/base/cardView/header_panel/_index.scss @@ -1,3 +1,4 @@ +@use "sass:meta"; @use "./item"; @use "./variables" as *; @@ -6,7 +7,7 @@ 2px maximal right header item padding + 4px maximal dxSortable placeholder (drop indicator) width We can increase this number up to the CardView root padding without issues */ -$sortable-side-offset: 6px !default; +$sortable-side-offset: 6px; // dx-fixed-size: the base/cardView chain is not configurable from a theme yet: nothing in it is passed through @use ... with .dx-cardview-header-item-sorting { display: flex; @@ -46,7 +47,7 @@ $sortable-side-offset: 6px !default; display: flex; align-items: center; justify-content: center; - gap: 4px; + gap: 4px; // dx-fixed-size: the base/cardView chain is not configurable from a theme yet: nothing in it is passed through @use ... with .dx-icon { color: $cardview-header-panel__dropzone__icon-color; @@ -75,7 +76,7 @@ $sortable-side-offset: 6px !default; Please note, that header-item-container paddings taken into account here */ &--with-header-items { - margin: 0 ($sortable-side-offset - $cardview-header-item__right-padding) 0 ($sortable-side-offset - $cardview-header-item__left-padding); + margin: 0 if(meta.type-of($sortable-side-offset) == number and meta.type-of($cardview-header-item__right-padding) == number, ($sortable-side-offset - $cardview-header-item__right-padding), calc(#{$sortable-side-offset} - #{$cardview-header-item__right-padding})) 0 if(meta.type-of($sortable-side-offset) == number and meta.type-of($cardview-header-item__left-padding) == number, ($sortable-side-offset - $cardview-header-item__left-padding), calc(#{$sortable-side-offset} - #{$cardview-header-item__left-padding})); } &--empty { diff --git a/packages/devextreme-scss/scss/widgets/base/cardView/header_panel/item/_index.scss b/packages/devextreme-scss/scss/widgets/base/cardView/header_panel/item/_index.scss index 6e341df7730b..190ac09490a8 100644 --- a/packages/devextreme-scss/scss/widgets/base/cardView/header_panel/item/_index.scss +++ b/packages/devextreme-scss/scss/widgets/base/cardView/header_panel/item/_index.scss @@ -6,7 +6,7 @@ align-items: center; padding: $cardview-header-panel__item-padding-vertical $cardview-header-panel__item-padding-horizontal; user-select: none; - gap: 4px; + gap: 4px; // dx-fixed-size: the base/cardView chain is not configurable from a theme yet: nothing in it is passed through @use ... with border: solid $cardview-header-panel__item-border-width; border-radius: $cardview-header-panel__item-border-radius; line-height: $cardview-header-panel__item-line-height; @@ -52,9 +52,9 @@ } &:focus-visible { - outline: 2px solid; + outline: 2px solid; // dx-fixed-size: the base/cardView chain is not configurable from a theme yet: nothing in it is passed through @use ... with outline-color: $cardview-header-panel__item--focused-outline-color; - outline-offset: -2px; + outline-offset: -2px; // dx-fixed-size: the base/cardView chain is not configurable from a theme yet: nothing in it is passed through @use ... with } &.dx-sortable-source { @@ -83,9 +83,16 @@ border-color: $cardview-header-panel__item--dragged-border-color; color: $cardview-header-panel__item--dragged-text-color; font-weight: $cardview-header-panel__item--dragged-text-weight; - box-shadow: - 0 1px 3px $cardview-header-panel__item--dragged-box-shadow-color, - 0 6px 8px $cardview-header-panel__item--dragged-box-shadow-color; + + // dx-shadow-geometry: the two-layer lift older themes were built on, for a theme passing none + box-shadow: if( + $cardview-header-panel__item--dragged-box-shadow, + $cardview-header-panel__item--dragged-box-shadow, + ( + 0 1px 3px $cardview-header-panel__item--dragged-box-shadow-color, + 0 6px 8px $cardview-header-panel__item--dragged-box-shadow-color + ) + ); .dx-icon { color: $cardview-header-panel__item--dragged__allowance-icon-color; diff --git a/packages/devextreme-scss/scss/widgets/base/cardView/header_panel/item/_variables.scss b/packages/devextreme-scss/scss/widgets/base/cardView/header_panel/item/_variables.scss index ededf0c36a7a..717f9cf41795 100644 --- a/packages/devextreme-scss/scss/widgets/base/cardView/header_panel/item/_variables.scss +++ b/packages/devextreme-scss/scss/widgets/base/cardView/header_panel/item/_variables.scss @@ -41,3 +41,11 @@ $cardview-header-panel__item--dragged-text-weight: null !default; $cardview-header-panel__item--dragged__allowance-icon-color: null !default; $cardview-header-panel__item--dragged__prohibition-icon-color: null !default; $cardview-header-panel__item--dragged-box-shadow-color: null !default; + +/* + * The whole shadow, for a theme that hands over a design-system role instead of a colour for the + * geometry frozen below. Left null so the fallback composes at use time: this file is evaluated + * before a theme assigns anything, so a composed default here would freeze the colour as null and + * make the theme's own !default a no-op. + */ +$cardview-header-panel__item--dragged-box-shadow: null !default; diff --git a/packages/devextreme-scss/scss/widgets/base/chat/_index.scss b/packages/devextreme-scss/scss/widgets/base/chat/_index.scss index a937dbfbf9bb..55b2bcb3f3f6 100644 --- a/packages/devextreme-scss/scss/widgets/base/chat/_index.scss +++ b/packages/devextreme-scss/scss/widgets/base/chat/_index.scss @@ -1,11 +1,35 @@ +$chat-disabled-opacity: 0.5 !default; +$chat-file-name-font-weight: 600 !default; +$chat-editing-preview-caption-font-weight: 500 !default; + +// Design sizing values (parametrizable; fluent-next injects tokens) +$chat-messagebox-border-block-start-width: 1px !default; +$chat-messagebubble-padding-image: 4px !default; +$chat-messagebubble-border-radius-image: 8px !default; +$chat-messagebubble-max-width-image: 400px !default; +$chat-messagebubble-max-height-image: 400px !default; + @use "../mixins" as *; -@use "layout/chat" as *; +@use "layout/chat" as * with ( + $disabled-opacity: $chat-disabled-opacity, +); @use "layout/chat-avatar" as *; -@use "layout/chat-fileview" as *; +@use "layout/chat-fileview" as * with ( + $file-name-font-weight: $chat-file-name-font-weight, +); @use "layout/chat-alertlist" as *; -@use "layout/chat-messagebox" as *; -@use "layout/chat-messagebox-editing-preview" as *; -@use "layout/chat-messagebubble" as *; +@use "layout/chat-messagebox" as * with ( + $messagebox-border-block-start-width: $chat-messagebox-border-block-start-width, +); +@use "layout/chat-messagebox-editing-preview" as * with ( + $editing-preview-caption-font-weight: $chat-editing-preview-caption-font-weight, +); +@use "layout/chat-messagebubble" as * with ( + $messagebubble-padding-image: $chat-messagebubble-padding-image, + $messagebubble-border-radius-image: $chat-messagebubble-border-radius-image, + $messagebubble-max-width-image: $chat-messagebubble-max-width-image, + $messagebubble-max-height-image: $chat-messagebubble-max-height-image, +); @use "layout/chat-confirmationpopup" as *; @use "layout/chat-messagegroup" as *; @use "layout/chat-messagelist" as *; diff --git a/packages/devextreme-scss/scss/widgets/base/chat/layout/chat-fileview/_index.scss b/packages/devextreme-scss/scss/widgets/base/chat/layout/chat-fileview/_index.scss index dab10e4c6c92..159eeef58c57 100644 --- a/packages/devextreme-scss/scss/widgets/base/chat/layout/chat-fileview/_index.scss +++ b/packages/devextreme-scss/scss/widgets/base/chat/layout/chat-fileview/_index.scss @@ -1,3 +1,5 @@ +$file-name-font-weight: null !default; + @use "../../../mixins" as *; .dx-chat-file { @@ -18,7 +20,7 @@ display: block; flex: 1 1 auto; min-width: 0; - font-weight: 600; + font-weight: $file-name-font-weight; line-height: 1.2857; @include dx-overflow(); diff --git a/packages/devextreme-scss/scss/widgets/base/chat/layout/chat-fileview/_mixins.scss b/packages/devextreme-scss/scss/widgets/base/chat/layout/chat-fileview/_mixins.scss index 0371918942f6..58ad56c6c93f 100644 --- a/packages/devextreme-scss/scss/widgets/base/chat/layout/chat-fileview/_mixins.scss +++ b/packages/devextreme-scss/scss/widgets/base/chat/layout/chat-fileview/_mixins.scss @@ -1,3 +1,5 @@ +@use "sass:meta"; + @mixin chat-file( $chat-file-container-width, $chat-file-container-padding, @@ -31,7 +33,7 @@ } .dx-chat-file-name { - margin-inline-end: $chat-file-base-section-gap * 2; + margin-inline-end: if(meta.type-of($chat-file-base-section-gap) == number, $chat-file-base-section-gap * 2, calc(#{$chat-file-base-section-gap} * 2)); margin-inline-start: $chat-file-base-section-gap; } diff --git a/packages/devextreme-scss/scss/widgets/base/chat/layout/chat-messagebox-editing-preview/_index.scss b/packages/devextreme-scss/scss/widgets/base/chat/layout/chat-messagebox-editing-preview/_index.scss index b836460cb3be..224304b6de11 100644 --- a/packages/devextreme-scss/scss/widgets/base/chat/layout/chat-messagebox-editing-preview/_index.scss +++ b/packages/devextreme-scss/scss/widgets/base/chat/layout/chat-messagebox-editing-preview/_index.scss @@ -1,3 +1,5 @@ +$editing-preview-caption-font-weight: null !default; + @use "../chat" as *; .dx-chat-editing-preview { @@ -27,7 +29,7 @@ } .dx-chat-editing-preview-caption { - font-weight: 500; + font-weight: $editing-preview-caption-font-weight; } .dx-chat-editing-preview-text { diff --git a/packages/devextreme-scss/scss/widgets/base/chat/layout/chat-messagebox-editing-preview/_mixins.scss b/packages/devextreme-scss/scss/widgets/base/chat/layout/chat-messagebox-editing-preview/_mixins.scss index 261b766cfb84..82cc6d97dc36 100644 --- a/packages/devextreme-scss/scss/widgets/base/chat/layout/chat-messagebox-editing-preview/_mixins.scss +++ b/packages/devextreme-scss/scss/widgets/base/chat/layout/chat-messagebox-editing-preview/_mixins.scss @@ -1,3 +1,5 @@ +@use "sass:meta"; + @mixin message-editing-preview( $preview-padding, $message-row-gap, @@ -14,7 +16,7 @@ .dx-chat-editing-preview-content { gap: $message-row-gap; - padding-inline-start: $preview-padding + $border-width; + padding-inline-start: if(meta.type-of($preview-padding) == number and meta.type-of($border-width) == number, $preview-padding + $border-width, calc(#{$preview-padding} + #{$border-width})); padding-inline-end: $preview-padding; } diff --git a/packages/devextreme-scss/scss/widgets/base/chat/layout/chat-messagebox/_index.scss b/packages/devextreme-scss/scss/widgets/base/chat/layout/chat-messagebox/_index.scss index 020268c74563..405555977963 100644 --- a/packages/devextreme-scss/scss/widgets/base/chat/layout/chat-messagebox/_index.scss +++ b/packages/devextreme-scss/scss/widgets/base/chat/layout/chat-messagebox/_index.scss @@ -1,7 +1,10 @@ +// Sized from base/chat, which owns the default and forwards a theme's value down (as chat-fileview does). +$messagebox-border-block-start-width: null !default; + .dx-chat-messagebox { display: flex; flex-direction: column; - border-top-width: 1px; + border-top-width: $messagebox-border-block-start-width; border-top-style: solid; } diff --git a/packages/devextreme-scss/scss/widgets/base/chat/layout/chat-messagebubble/_index.scss b/packages/devextreme-scss/scss/widgets/base/chat/layout/chat-messagebubble/_index.scss index ac7c4e3b5365..32e1b22f1c97 100644 --- a/packages/devextreme-scss/scss/widgets/base/chat/layout/chat-messagebubble/_index.scss +++ b/packages/devextreme-scss/scss/widgets/base/chat/layout/chat-messagebubble/_index.scss @@ -1,7 +1,9 @@ -$chat-messagebubble-padding-image: 4px !default; -$chat-messagebubble-border-radius-image: 8px !default; -$chat-messagebubble-max-width-image: 400px !default; -$chat-messagebubble-max-height-image: 400px !default; +// Sized from base/chat, which owns the defaults and forwards a theme's values down (as chat-fileview does). +$messagebubble-padding-image: null !default; +$messagebubble-border-radius-image: null !default; +$messagebubble-max-width-image: null !default; +$messagebubble-max-height-image: null !default; +$chat-messagebubble-content-max-width: 82.5% !default; // dx-relative-% .dx-chat-messagegroup-content { display: flex; @@ -24,7 +26,7 @@ $chat-messagebubble-max-height-image: 400px !default; } &.dx-has-image { - padding: $chat-messagebubble-padding-image; + padding: $messagebubble-padding-image; } .dx-chat-messagebubble-content:empty { @@ -47,7 +49,7 @@ $chat-messagebubble-max-height-image: 400px !default; .dx-chat-messagegroup-alignment-end { .dx-chat-messagegroup-content { align-items: flex-end; - max-width: 82.5%; + max-width: $chat-messagebubble-content-max-width; } .dx-chat-messagebubble { @@ -57,9 +59,9 @@ $chat-messagebubble-max-height-image: 400px !default; } .dx-chat-messagebubble-image { - border-radius: $chat-messagebubble-border-radius-image; - max-width: $chat-messagebubble-max-width-image; - max-height: $chat-messagebubble-max-height-image; + border-radius: $messagebubble-border-radius-image; + max-width: $messagebubble-max-width-image; + max-height: $messagebubble-max-height-image; width: 100%; display: block; } diff --git a/packages/devextreme-scss/scss/widgets/base/chat/layout/chat-messagelist/_mixins.scss b/packages/devextreme-scss/scss/widgets/base/chat/layout/chat-messagelist/_mixins.scss index 612aaaad8857..f70805be28b6 100644 --- a/packages/devextreme-scss/scss/widgets/base/chat/layout/chat-messagelist/_mixins.scss +++ b/packages/devextreme-scss/scss/widgets/base/chat/layout/chat-messagelist/_mixins.scss @@ -1,4 +1,5 @@ @use "sass:math"; +@use "sass:meta"; @mixin chat-messagelist( $padding, @@ -51,7 +52,7 @@ .dx-chat-messagelist-empty-image { color: $messagelist-empty-icon-color; background-color: $messagelist-empty-icon-background-color; - padding: math.div($messagelist-empty-icon-box-size - $messagelist-empty-icon-size, 2); + padding: if(meta.type-of($messagelist-empty-icon-box-size) == number and meta.type-of($messagelist-empty-icon-size) == number, math.div($messagelist-empty-icon-box-size - $messagelist-empty-icon-size, 2), calc((#{$messagelist-empty-icon-box-size} - #{$messagelist-empty-icon-size}) / 2)); margin-bottom: $messagelist-empty-icon-margin-bottom; &::before { diff --git a/packages/devextreme-scss/scss/widgets/base/chat/layout/chat/_index.scss b/packages/devextreme-scss/scss/widgets/base/chat/layout/chat/_index.scss index f5856d5dbfee..a88c7cd5d0f0 100644 --- a/packages/devextreme-scss/scss/widgets/base/chat/layout/chat/_index.scss +++ b/packages/devextreme-scss/scss/widgets/base/chat/layout/chat/_index.scss @@ -1,3 +1,5 @@ +$disabled-opacity: 0.5 !default; + .dx-chat { display: flex; flex-direction: column; @@ -8,7 +10,9 @@ overflow-y: auto; &.dx-state-disabled { - opacity: 0.5; + @if $disabled-opacity { + opacity: $disabled-opacity; + } } } diff --git a/packages/devextreme-scss/scss/widgets/base/chat/layout/chat/_mixins.scss b/packages/devextreme-scss/scss/widgets/base/chat/layout/chat/_mixins.scss index bc3fc147187e..0120d523ae63 100644 --- a/packages/devextreme-scss/scss/widgets/base/chat/layout/chat/_mixins.scss +++ b/packages/devextreme-scss/scss/widgets/base/chat/layout/chat/_mixins.scss @@ -1,11 +1,12 @@ @mixin chat( $background-color, $border-color, - $border-radius + $border-radius, + $border-width: 1px, ) { .dx-chat { background-color: $background-color; - border: 1px solid; + border: $border-width solid; border-color: $border-color; border-radius: $border-radius; } diff --git a/packages/devextreme-scss/scss/widgets/base/checkBox/_index.scss b/packages/devextreme-scss/scss/widgets/base/checkBox/_index.scss index 6db158b49da9..571a29024142 100644 --- a/packages/devextreme-scss/scss/widgets/base/checkBox/_index.scss +++ b/packages/devextreme-scss/scss/widgets/base/checkBox/_index.scss @@ -1,6 +1,9 @@ @use "../mixins" as *; @use "./mixins" as *; +// Design sizing values (parametrizable; fluent-next injects tokens) +$checkbox-text-padding-inline-start: 5px !default; + .dx-checkbox { display: inline-block; cursor: pointer; @@ -38,7 +41,11 @@ white-space: pre-wrap; word-wrap: break-word; line-height: normal; - padding-inline-start: 5px; + + // fluent-next passes false (not null: !default would treat that as unset): its own rule paints this + @if $checkbox-text-padding-inline-start { + padding-inline-start: $checkbox-text-padding-inline-start; + } } .dx-state-disabled { diff --git a/packages/devextreme-scss/scss/widgets/base/colorBox/_index.scss b/packages/devextreme-scss/scss/widgets/base/colorBox/_index.scss index 4174f1803d22..d0a2b42e0a3c 100644 --- a/packages/devextreme-scss/scss/widgets/base/colorBox/_index.scss +++ b/packages/devextreme-scss/scss/widgets/base/colorBox/_index.scss @@ -4,6 +4,14 @@ $colorbox-input-left-padding: 40px !default; +// Design sizing values (parametrizable; fluent-next injects tokens) +$colorbox-texteditor-input-container-width: 15px !default; +$colorbox-texteditor-input-container-height: 15px !default; +$colorbox-texteditor-input-container-inset-inline-start: 14px !default; + +$colorbox-overlay-padding: 20px !default; +$colorbox-toolbar-item-padding-right: 10px !default; + .dx-colorbox-input-container { &.dx-colorbox-color-is-not-defined { .dx-colorbox-color-result-preview { @@ -12,22 +20,26 @@ $colorbox-input-left-padding: 40px !default; } .dx-placeholder { - max-width: calc(100% - 25px); + max-width: calc(100% - 25px); // dx-fixed-size: room the colour preview and its gap take from the placeholder } } .dx-colorbox { .dx-texteditor-input-container { + /* + * The preview is centred on the input with translateY, the same way dx-pending-indicator does + * it: no arithmetic on the height, so the size can be a token without a build-time/runtime fork. + */ &::before { content: ""; display: block; position: absolute; top: 50%; z-index: 1; - width: 15px; - height: 15px; - margin-top: -7.5px; - inset-inline-start: 14px; + width: $colorbox-texteditor-input-container-width; + height: $colorbox-texteditor-input-container-height; + transform: translateY(-50%); + inset-inline-start: $colorbox-texteditor-input-container-inset-inline-start; } } @@ -47,7 +59,7 @@ $colorbox-input-left-padding: 40px !default; } .dx-colorbox-overlay { - padding: 20px; + padding: $colorbox-overlay-padding; .dx-popup-content { overflow: hidden; @@ -56,7 +68,7 @@ $colorbox-input-left-padding: 40px !default; .dx-popup-bottom { .dx-toolbar-item:first-child { - padding-right: 10px; + padding-right: $colorbox-toolbar-item-padding-right; } } diff --git a/packages/devextreme-scss/scss/widgets/base/colorView/_index.scss b/packages/devextreme-scss/scss/widgets/base/colorView/_index.scss index 9eb36c7c7061..08b624b7c753 100644 --- a/packages/devextreme-scss/scss/widgets/base/colorView/_index.scss +++ b/packages/devextreme-scss/scss/widgets/base/colorView/_index.scss @@ -3,15 +3,39 @@ $color-view-container-width: 450px !default; $color-view-palette-width: 288px !default; $color-view-palette-height: 299px !default; -$color-view-alpha-width: 292px !default; +$color-view-alpha-cell-width: 292px !default; $color-view-hue-scale-width: 18px !default; $color-view-hue-scale-height: $color-view-palette-height !default; - -$colorview-palette-handle-size: 28px !default; -$colorview-transparent-background-color: #ccc !default; - -$colorview-handle-first-side-size: 36px !default; -$colorview-handle-second-side-size: 17px !default; +$color-view-hue-scale-wrapper-height: $color-view-hue-scale-height + 2 !default; + +/* + * The handle is a drawing, not a box: its size is interlocked with the ring radii of the + * radial-gradient and the inset shadows in _mixins.scss. Changing one without redrawing the + * others breaks the handle, so these stay fixed rather than becoming knobs. + */ +$colorview-palette-handle-size: 28px; // dx-fixed-size: diameter of the round palette handle, drawn as rings at 6/7/12/13px +$colorview-transparent-background-color: #ccc; + +$colorview-handle-first-side-size: 36px; // dx-fixed-size: long side of the scale handles, drawn by the inset shadows +$colorview-handle-second-side-size: 17px; // dx-fixed-size: short side of the scale handles, drawn by the inset shadows + +// Design sizing values (parametrizable; fluent-next injects tokens) +$color-view-label-hex-margin: 10px 0 0 0 !default; +$color-view-alpha-label-margin-inline-start: 43px !default; +$color-view-alpha-label-margin-inline-start-rtl: 41px !default; +$color-view-alpha-label-width: 115px !default; +$color-view-textbox-width: 69px !default; +$color-view-textbox-margin: 1px 1px 10px 0 !default; +$color-view-alpha-row-margin-block-start: 10px !default; +$color-view-hue-scale-cell-margin-inline-start: 19px !default; +$color-view-controls-width: 90px !default; +$color-view-controls-margin-inline-start: 27px !default; +$color-view-controls-margin-inline-start-rtl: 25px !default; +$color-view-color-preview-width: 86px !default; +$color-view-color-preview-height: 40px !default; +$color-view-alpha-scale-height: 20px !default; +$color-view-alpha-cell-margin-block: 6px !default; +$color-view-apply-button-margin-inline-end: 10px !default; .dx-colorview-container { width: $color-view-container-width; @@ -24,18 +48,18 @@ $colorview-handle-second-side-size: 17px !default; white-space: normal; &.dx-colorview-label-hex { - margin: 10px 0 0 0; + margin: $color-view-label-hex-margin; } &.dx-colorview-alpha-channel-label { - margin-left: 43px; - width: 115px; + margin-left: $color-view-alpha-label-margin-inline-start; + width: $color-view-alpha-label-width; } .dx-texteditor { - width: 69px; + width: $color-view-textbox-width; float: right; - margin: 1px 1px 10px 0; + margin: $color-view-textbox-margin; } } @@ -44,7 +68,7 @@ $colorview-handle-second-side-size: 17px !default; margin-bottom: 0; &.dx-colorview-apply-button { - margin-right: 10px; + margin-right: $color-view-apply-button-margin-inline-end; margin-left: 0; } @@ -57,14 +81,14 @@ $colorview-handle-second-side-size: 17px !default; .dx-colorview-container-row { overflow: hidden; - padding: 1px 0; + padding: 1px 0; // dx-line-width: room for the 1px hairline ring the cells inside carry, which overflow: hidden would clip &:first-child { margin-top: 0; } &.dx-colorview-alpha-channel-row { - margin-top: 10px; + margin-top: $color-view-alpha-row-margin-block-start; } } @@ -93,13 +117,13 @@ $colorview-handle-second-side-size: 17px !default; width: $colorview-handle-first-side-size; height: $colorview-handle-second-side-size; top: 0; - left: -7px; + left: -7px; // dx-px-nudge: centres the handle across the hue scale, counting its own border } .dx-colorview-alpha-channel-handle { width: $colorview-handle-second-side-size; height: $colorview-handle-first-side-size; - top: -6px; + top: -6px; // dx-px-nudge: centres the handle across the alpha scale, counting its own border left: 0; } @@ -117,12 +141,12 @@ $colorview-handle-second-side-size: 17px !default; .dx-colorview-alpha-channel-wrapper, .dx-colorbox-input-container::after { background-image: linear-gradient(45deg, $colorview-transparent-background-color 25%, transparent 25%, transparent 74%, $colorview-transparent-background-color 75%, $colorview-transparent-background-color), linear-gradient(45deg, $colorview-transparent-background-color 25%, transparent 25%, transparent 74%, $colorview-transparent-background-color 75%, $colorview-transparent-background-color); - background-size: 16px 16px; - background-position: 0 0, 8px 8px; + background-size: 16px 16px; // dx-fixed-size: tile of the transparency checkerboard, drawn by two offset gradients + background-position: 0 0, 8px 8px; // dx-fixed-size: half the tile, which is what makes the two gradients read as a checkerboard } .dx-colorview-alpha-channel-wrapper { - background-position: 0 6px, 8px 14px; + background-position: 0 6px, 8px 14px; // dx-fixed-size: the same checkerboard, shifted to sit inside the alpha scale } .dx-colorbox-input-container { @@ -159,37 +183,37 @@ $colorview-handle-second-side-size: 17px !default; .dx-colorview-alpha-channel-scale { width: $color-view-palette-width; - height: 20px; + height: $color-view-alpha-scale-height; position: relative; } .dx-colorview-hue-scale-cell { - margin-left: 19px; + margin-left: $color-view-hue-scale-cell-margin-inline-start; position: relative; } .dx-colorview-hue-scale-wrapper { - height: $color-view-hue-scale-height + 2; + height: $color-view-hue-scale-wrapper-height; } .dx-colorview-controls-container { position: relative; - width: 90px; - margin-left: 27px; + width: $color-view-controls-width; + margin-left: $color-view-controls-margin-inline-start; } .dx-colorview-color-preview { - width: 86px; - height: 40px; + width: $color-view-color-preview-width; + height: $color-view-color-preview-height; } .dx-colorview-alpha-channel-cell { - margin: 6px 0; + margin: $color-view-alpha-cell-margin-block 0; position: relative; - width: $color-view-alpha-width; + width: $color-view-alpha-cell-width; .dx-button { - width: 90px; + width: $color-view-controls-width; } } @@ -201,14 +225,14 @@ $colorview-handle-second-side-size: 17px !default; } .dx-colorview-hue-scale-cell { - margin-right: 19px; + margin-right: $color-view-hue-scale-cell-margin-inline-start; margin-left: 0; } .dx-colorview-container { label { &.dx-colorview-alpha-channel-label { - margin-right: 41px; + margin-right: $color-view-alpha-label-margin-inline-start-rtl; margin-left: 0; } @@ -219,7 +243,7 @@ $colorview-handle-second-side-size: 17px !default; } .dx-colorview-controls-container { - margin-right: 25px; + margin-right: $color-view-controls-margin-inline-start-rtl; margin-left: 0; } diff --git a/packages/devextreme-scss/scss/widgets/base/colorView/_mixins.scss b/packages/devextreme-scss/scss/widgets/base/colorView/_mixins.scss index 3c01a4e7d145..632c56c5c286 100644 --- a/packages/devextreme-scss/scss/widgets/base/colorView/_mixins.scss +++ b/packages/devextreme-scss/scss/widgets/base/colorView/_mixins.scss @@ -1,18 +1,18 @@ @mixin dx-base-colorview-styles($handle-color, $handle-border-color) { .dx-colorview-palette-handle { - background: radial-gradient(transparent 5px, $handle-border-color 6px, $handle-color 7px, $handle-color 12px, $handle-border-color 13px); - box-shadow: 0 1px 1px 0 $handle-border-color; + background: radial-gradient(transparent 5px, $handle-border-color 6px, $handle-color 7px, $handle-color 12px, $handle-border-color 13px); // dx-fixed-size: the handle is drawn, not laid out — a transparent core to 5px, a 1px ring at 6px, fill to 12px and a 1px ring at 13px, inside the 28px diameter + box-shadow: 0 1px 1px 0 $handle-border-color; // dx-shadow-geometry: lifts the round handle off the palette } .dx-colorview-hue-scale-handle { - border: 1px solid; + border: 1px solid; // dx-line-width: hairline outline of the handle border-color: $handle-border-color; - box-shadow: inset -5px 0 0 3px $handle-color, inset 5px 0 0 3px $handle-color, inset -6px 0 1px 4px $handle-border-color, inset 6px 0 1px 4px $handle-border-color; + box-shadow: inset -5px 0 0 3px $handle-color, inset 5px 0 0 3px $handle-color, inset -6px 0 1px 4px $handle-border-color, inset 6px 0 1px 4px $handle-border-color; // dx-shadow-geometry: the grip is drawn entirely with inset shadows — 5px bars inset from both sides, each edged by a 1px ring at 6px } .dx-colorview-alpha-channel-handle { - border: 1px solid; + border: 1px solid; // dx-line-width: hairline outline of the handle border-color: $handle-border-color; - box-shadow: inset 0 -5px 0 3px $handle-color, inset 0 5px 0 3px $handle-color, inset 0 -6px 1px 4px $handle-border-color, inset 0 6px 1px 4px $handle-border-color; + box-shadow: inset 0 -5px 0 3px $handle-color, inset 0 5px 0 3px $handle-color, inset 0 -6px 1px 4px $handle-border-color, inset 0 6px 1px 4px $handle-border-color; // dx-shadow-geometry: the same grip turned 90deg for the horizontal scale } } diff --git a/packages/devextreme-scss/scss/widgets/base/dataGrid/_common.scss b/packages/devextreme-scss/scss/widgets/base/dataGrid/_common.scss index 2b7f7ec3e2b8..7588dbd0168a 100644 --- a/packages/devextreme-scss/scss/widgets/base/dataGrid/_common.scss +++ b/packages/devextreme-scss/scss/widgets/base/dataGrid/_common.scss @@ -1,6 +1,17 @@ @use "../mixins" as *; @use "../gridBase" as *; -@include grid-base(datagrid); + +$datagrid-common-group-min-width: null !default; +$datagrid-common-addrow-margin-right: null !default; +$datagrid-common-addrow-margin-left: null !default; +$datagrid-common-form-buttons-border-radius: null !default; +$datagrid-common-form-buttons-margin-left: null !default; +$datagrid-common-form-buttons-margin-right: null !default; + +$datagrid-draggable-column-opacity: 0.5 !default; +$datagrid-column-chooser-item-opacity: 0.5 !default; + +@include grid-base(datagrid, $datagrid-draggable-column-opacity, $datagrid-column-chooser-item-opacity); .dx-datagrid { position: relative; @@ -10,12 +21,12 @@ @mixin dx-group-panel-item() { display: inline-block; - min-width: 30px; - margin-right: 10px; + min-width: $datagrid-common-group-min-width; + margin-right: $datagrid-common-addrow-margin-right; white-space: nowrap; .dx-sort { - margin-left: 6px; + margin-left: $datagrid-common-addrow-margin-left; } } @@ -35,7 +46,7 @@ .dx-block-separator { position: relative; - border-radius: 3px; + border-radius: $datagrid-common-form-buttons-border-radius; } } @@ -75,12 +86,12 @@ .dx-group-panel-item, .dx-block-separator { margin-right: 0; - margin-left: 10px; + margin-left: $datagrid-common-form-buttons-margin-left; } .dx-sort { margin-left: 0; - margin-right: 6px; + margin-right: $datagrid-common-form-buttons-margin-right; } } } diff --git a/packages/devextreme-scss/scss/widgets/base/dataGrid/_index.scss b/packages/devextreme-scss/scss/widgets/base/dataGrid/_index.scss index 021aaec45db5..f405e2c4a3f1 100644 --- a/packages/devextreme-scss/scss/widgets/base/dataGrid/_index.scss +++ b/packages/devextreme-scss/scss/widgets/base/dataGrid/_index.scss @@ -10,11 +10,36 @@ $header-filter-color: null !default; $header-filter-color-empty: null !default; $base-focus-color: null !default; $datagrid-text-stub-background-image-path: null !default; +$datagrid-text-stub-mask-image: null !default; +$datagrid-text-stub-bg: null !default; +$datagrid-group-row-border: 1px solid !default; +$datagrid-sticky-column-border: 2px solid !default; +$datagrid-cell-focus-outline: 2px solid !default; @use "sass:color"; +@use "sass:meta"; @use "../mixins" as *; @use "../icon_fonts" as *; -@use "./common"; +$datagrid-common-group-min-width: 30px !default; +$datagrid-common-addrow-margin-right: 10px !default; +$datagrid-common-addrow-margin-left: 6px !default; +$datagrid-common-form-buttons-border-radius: 3px !default; +$datagrid-common-form-buttons-margin-left: 10px !default; +$datagrid-common-form-buttons-margin-right: 6px !default; + +$datagrid-draggable-column-opacity: 0.5 !default; +$datagrid-column-chooser-item-opacity: 0.5 !default; + +@use "./common" with ( + $datagrid-draggable-column-opacity: $datagrid-draggable-column-opacity, + $datagrid-column-chooser-item-opacity: $datagrid-column-chooser-item-opacity, + $datagrid-common-group-min-width: $datagrid-common-group-min-width, + $datagrid-common-addrow-margin-right: $datagrid-common-addrow-margin-right, + $datagrid-common-addrow-margin-left: $datagrid-common-addrow-margin-left, + $datagrid-common-form-buttons-border-radius: $datagrid-common-form-buttons-border-radius, + $datagrid-common-form-buttons-margin-left: $datagrid-common-form-buttons-margin-left, + $datagrid-common-form-buttons-margin-right: $datagrid-common-form-buttons-margin-right, +); @use "./variables" as *; @use "layout/cell" with ( $datagrid-border: $datagrid-border, @@ -22,8 +47,20 @@ $datagrid-text-stub-background-image-path: null !default; $datagrid-base-background-color: $datagrid-base-background-color, $datagrid-row-error-color: $datagrid-row-error-color, $datagrid-focused-border-color: $datagrid-focused-border-color, + $datagrid-group-row-border: $datagrid-group-row-border, + $datagrid-sticky-column-border: $datagrid-sticky-column-border, + $datagrid-cell-focus-outline: $datagrid-cell-focus-outline, ); +// Design sizing values (parametrizable; fluent-next injects tokens) +$datagrid-header-filter-outline: 2px solid !default; +$datagrid-header-filter-outline-offset: 2px !default; +$datagrid-filter-panel-clear-filter-outline-offset: 3px !default; +$datagrid-button-margin-left: 10px !default; +$datagrid-button-margin-top: 10px !default; +$datagrid-error-message-margin-bottom: 20px !default; +$datagrid-button-margin-right: 10px !default; + .dx-datagrid-borders { > .dx-datagrid-headers, > .dx-datagrid-rowsview, @@ -111,13 +148,13 @@ $datagrid-text-stub-background-image-path: null !default; &.dx-state-focused .dx-datagrid-group-panel { .dx-group-panel-item:focus, .dx-header-filter:focus { - outline: 2px solid; + outline: $datagrid-header-filter-outline; outline-color: $datagrid-focused-border-color; - outline-offset: -2px; + outline-offset: -2px; // dx-fixed-size: the gridBase tier already paints this across the family; a widget-scoped name would collide under the other grid roots } .dx-header-filter:focus { - outline-offset: 2px; + outline-offset: $datagrid-header-filter-outline-offset; } } } @@ -129,9 +166,9 @@ $datagrid-text-stub-background-image-path: null !default; &.dx-state-focused .dx-header-row { td .dx-header-filter:focus { - outline: 2px solid; + outline: $datagrid-header-filter-outline; outline-color: $datagrid-focused-border-color; - outline-offset: 2px; + outline-offset: $datagrid-header-filter-outline-offset; } } } @@ -149,7 +186,7 @@ $datagrid-text-stub-background-image-path: null !default; &.dx-filter-menu { .dx-menu-item-content .dx-icon { - @include dx-icon-sizing(14px); + @include dx-icon-sizing(14px); // dx-fixed-size: the gridBase tier already paints this across the family; a widget-scoped name would collide under the other grid roots } } @@ -163,9 +200,9 @@ $datagrid-text-stub-background-image-path: null !default; .dx-datagrid-rowsview.dx-state-focused .dx-data-row { & > td.dx-command-edit > a.dx-link:focus { - outline: 2px solid; + outline: $datagrid-header-filter-outline; outline-color: $datagrid-focused-border-color; - outline-offset: 2px; + outline-offset: $datagrid-header-filter-outline-offset; } &.dx-row-focused > td.dx-command-edit > a.dx-link:focus { @@ -184,8 +221,20 @@ $datagrid-text-stub-background-image-path: null !default; display: block; height: 100%; content: ""; - background-image: $datagrid-text-stub-background-image-path; - background-repeat: no-repeat repeat; + + /* + * A background image cannot read a colour role, so the placeholder's tint is frozen in + * the raster. `$…-mask-image` swaps the same artwork in as a mask, which carries only + * its alpha, so the colour and its opacity come from the theme instead. + */ + @if $datagrid-text-stub-mask-image { + mask-image: $datagrid-text-stub-mask-image; + mask-repeat: no-repeat repeat; + background-color: $datagrid-text-stub-bg; + } @else { + background-image: $datagrid-text-stub-background-image-path; + background-repeat: no-repeat repeat; + } } &[style*="text-align: right"]::before { @@ -248,9 +297,9 @@ $datagrid-text-stub-background-image-path: null !default; .dx-icon-filter:focus, .dx-datagrid-filter-panel-text:focus, .dx-datagrid-filter-panel-clear-filter:focus { - outline: 2px solid; + outline: $datagrid-header-filter-outline; outline-color: $datagrid-focused-border-color; - outline-offset: 3px; + outline-offset: $datagrid-filter-panel-clear-filter-outline-offset; } } } @@ -259,8 +308,8 @@ $datagrid-text-stub-background-image-path: null !default; float: right; .dx-button { - margin-left: 10px; - margin-top: 10px; + margin-left: $datagrid-button-margin-left; + margin-top: $datagrid-button-margin-top; } } @@ -268,14 +317,14 @@ $datagrid-text-stub-background-image-path: null !default; cursor: pointer; @include dx-icon(more); - @include dx-icon-sizing(21px); + @include dx-icon-sizing(21px); // dx-fixed-size: the gridBase tier already paints this across the family; a widget-scoped name would collide under the other grid roots } .dx-datagrid-edit-popup .dx-error-message { @include dx-datagrid-error-message(); color: $datagrid-row-error-color; - margin-bottom: 20px; + margin-bottom: $datagrid-error-message-margin-bottom; } .dx-rtl { @@ -298,7 +347,7 @@ $datagrid-text-stub-background-image-path: null !default; .dx-button { margin-left: 0; - margin-right: 10px; + margin-right: $datagrid-button-margin-right; } } } @@ -309,11 +358,11 @@ $datagrid-text-stub-background-image-path: null !default; @keyframes dx-datagrid-highlight-change { from { - background-color: color.change($datagrid-base-color, $alpha: 0.08); + background-color: if(meta.type-of($datagrid-base-color) == color, color.change($datagrid-base-color, $alpha: 0.08), rgb(from #{$datagrid-base-color} r g b / 0.08)); } 50% { - background-color: color.change($datagrid-base-color, $alpha: 0.08); + background-color: if(meta.type-of($datagrid-base-color) == color, color.change($datagrid-base-color, $alpha: 0.08), rgb(from #{$datagrid-base-color} r g b / 0.08)); } } @@ -330,9 +379,9 @@ $datagrid-text-stub-background-image-path: null !default; left: 0; bottom: 0; right: 0; - outline: 2px solid; + outline: $datagrid-header-filter-outline; outline-color: $datagrid-focused-border-color; - outline-offset: -1px; + outline-offset: -1px; // dx-px-nudge: a one-pixel inset for the sticky-column overlay z-index: 4; // should overlap sticky column cells pointer-events: none; background-color: transparent; @@ -340,6 +389,6 @@ $datagrid-text-stub-background-image-path: null !default; } .dx-command-ai-header-button .dx-button.dx-state-focused { - outline: 2px solid; + outline: $datagrid-header-filter-outline; outline-color: $datagrid-focused-border-color; } diff --git a/packages/devextreme-scss/scss/widgets/base/dataGrid/layout/cell.scss b/packages/devextreme-scss/scss/widgets/base/dataGrid/layout/cell.scss index 57f86e0ab6d8..ff5edc87dff5 100644 --- a/packages/devextreme-scss/scss/widgets/base/dataGrid/layout/cell.scss +++ b/packages/devextreme-scss/scss/widgets/base/dataGrid/layout/cell.scss @@ -5,6 +5,9 @@ $datagrid-border-color: null !default; $datagrid-base-background-color: null !default; $datagrid-row-error-color: null !default; $datagrid-focused-border-color: null !default; +$datagrid-group-row-border: null !default; +$datagrid-sticky-column-border: null !default; +$datagrid-cell-focus-outline: null !default; // #region position & z-index @@ -34,8 +37,8 @@ $datagrid-focused-border-color: null !default; // (0,3,1) .dx-datagrid-rowsview .dx-row.dx-group-row td { - border-top: 1px solid; - border-bottom: 1px solid; + border-top: $datagrid-group-row-border; + border-bottom: $datagrid-group-row-border; } // (0,3,1) @@ -50,9 +53,9 @@ $datagrid-focused-border-color: null !default; .dx-datagrid .dx-datagrid-rowsview .dx-virtual-row td.dx-pointer-events-none, .dx-datagrid .dx-datagrid-rowsview .dx-header-row td.dx-pointer-events-none, .dx-datagrid .dx-datagrid-headers .dx-row td.dx-pointer-events-none { - border-left: 2px solid; + border-left: $datagrid-sticky-column-border; border-left-color: $datagrid-border-color; - border-right: 2px solid; + border-right: $datagrid-sticky-column-border; border-right-color: $datagrid-border-color; } @@ -87,13 +90,13 @@ $datagrid-focused-border-color: null !default; // (0,5,1) .dx-datagrid .dx-datagrid-sticky-columns .dx-datagrid-table .dx-row td.dx-datagrid-sticky-column-border-right { - border-right: 2px solid; + border-right: $datagrid-sticky-column-border; border-right-color: $datagrid-border-color; } // (0,5,1) .dx-datagrid .dx-datagrid-sticky-columns .dx-datagrid-table .dx-row td.dx-datagrid-sticky-column-border-left { - border-left: 2px solid; + border-left: $datagrid-sticky-column-border; border-left-color: $datagrid-border-color; } @@ -109,7 +112,7 @@ $datagrid-focused-border-color: null !default; // (0,7,1) .dx-widget:not(.dx-rtl) > .dx-gridbase-container .dx-datagrid-table .dx-row > td.dx-datagrid-first-cell.dx-datagrid-sticky-column-border-left { - border-left: 2px solid; + border-left: $datagrid-sticky-column-border; border-left-color: $datagrid-border-color; } @@ -138,9 +141,9 @@ $datagrid-focused-border-color: null !default; .dx-rtl .dx-datagrid .dx-datagrid-rowsview .dx-virtual-row td.dx-pointer-events-none, .dx-rtl .dx-datagrid .dx-datagrid-rowsview .dx-header-row td.dx-pointer-events-none, .dx-rtl .dx-datagrid .dx-datagrid-headers .dx-row td.dx-pointer-events-none { - border-left: 2px solid; + border-left: $datagrid-sticky-column-border; border-left-color: $datagrid-border-color; - border-right: 2px solid; + border-right: $datagrid-sticky-column-border; border-right-color: $datagrid-border-color; } @@ -189,13 +192,13 @@ $datagrid-focused-border-color: null !default; // (0,6,1) .dx-rtl .dx-datagrid .dx-datagrid-sticky-columns .dx-datagrid-table .dx-row td.dx-datagrid-sticky-column-border-right { - border-right: 2px solid; + border-right: $datagrid-sticky-column-border; border-right-color: $datagrid-border-color; } // (0,6,1) .dx-rtl .dx-datagrid .dx-datagrid-sticky-columns .dx-datagrid-table .dx-row td.dx-datagrid-sticky-column-border-left { - border-left: 2px solid; + border-left: $datagrid-sticky-column-border; border-left-color: $datagrid-border-color; } @@ -211,13 +214,13 @@ $datagrid-focused-border-color: null !default; // (0,7,1) .dx-rtl > .dx-gridbase-container .dx-datagrid-content .dx-datagrid-table .dx-row > td.dx-datagrid-first-cell.dx-datagrid-sticky-column-border-left { - border-left: 2px solid; + border-left: $datagrid-sticky-column-border; border-left-color: $datagrid-border-color; } // (0,8,0) .dx-rtl .dx-datagrid .dx-datagrid-sticky-columns .dx-datagrid-content .dx-datagrid-table .dx-row .dx-datagrid-column-no-border.dx-datagrid-sticky-column-border-left { - border-left: 2px solid; + border-left: $datagrid-sticky-column-border; border-left-color: $datagrid-border-color; } @@ -275,9 +278,9 @@ $datagrid-focused-border-color: null !default; // (0,5,1) .dx-datagrid .dx-datagrid-headers.dx-state-focused .dx-header-row td:focus { - outline: 2px solid; + outline: $datagrid-cell-focus-outline; outline-color: $datagrid-focused-border-color; - outline-offset: -2px; + outline-offset: -2px; // dx-fixed-size: the gridBase tier already paints this across the family; a widget-scoped name would collide under the other grid roots } // #endregion diff --git a/packages/devextreme-scss/scss/widgets/base/diagram/_index.scss b/packages/devextreme-scss/scss/widgets/base/diagram/_index.scss index 3b10c750588e..cb65c96f97d2 100644 --- a/packages/devextreme-scss/scss/widgets/base/diagram/_index.scss +++ b/packages/devextreme-scss/scss/widgets/base/diagram/_index.scss @@ -1,16 +1,35 @@ +@use "sass:math"; +@use "sass:meta"; @use "../mixins" as *; -$transparent-border: 1px solid transparent !default; - +// Design sizing values (parametrizable; fluent-next injects tokens) +$diagram-root-height: 600px !default; +$diagram-root-min-height: 350px !default; +$diagram-toolbar-wrapper-padding: 5px !default; +$diagram-button-min-height: 14px !default; +$diagram-popup-content-padding: 8px !default; +$diagram-colorview-palette-min-width: 300px !default; +$diagram-colorview-hue-scale-cell-margin-left: 12px !default; +$diagram-loading-indicator-width: 64px !default; +$diagram-loading-indicator-height: 64px !default; +$diagram-context-toolbox-target-width: 1px !default; +$diagram-context-toolbox-target-height: 1px !default; + +$diagram-popup-title-toolbar-bg: rgba(0, 0, 0, 0.05) !default; + +$diagram-border-width: 1px !default; +$transparent-border: $diagram-border-width solid transparent !default; + +$diagram-toolbox-input-font-size: 0.9em !default; // dx-relative .dx-diagram { border: $transparent-border; display: flex; flex-flow: column; - height: 600px; - min-height: 350px; + height: $diagram-root-height; + min-height: $diagram-root-min-height; .dx-diagram-toolbar-wrapper { - padding: 5px; + padding: $diagram-toolbar-wrapper-padding; flex-grow: 0; .dx-diagram-toolbar { @@ -58,7 +77,7 @@ $transparent-border: 1px solid transparent !default; .dx-popup-title.dx-toolbar { padding: 0; - background-color: rgba(0, 0, 0, 0.05); + background-color: $diagram-popup-title-toolbar-bg; } .dx-popup-title .dx-button.dx-button-has-icon:not(.dx-button-has-text), @@ -85,13 +104,13 @@ $transparent-border: 1px solid transparent !default; .dx-diagram-toolbox-input input, .dx-diagram-toolbox-input .dx-placeholder::before { min-height: 0; - font-size: 0.9em; + font-size: $diagram-toolbox-input-font-size; } .dx-diagram-toolbox-input .dx-button { border: 0; border-radius: 0; - min-height: 14px; + min-height: $diagram-button-min-height; } .dx-diagram-toolbox-panel { @@ -156,7 +175,7 @@ $transparent-border: 1px solid transparent !default; } &.dx-diagram-mobile-popup { - width: calc(100% - 2px) !important; // stylelint-disable-line declaration-no-important + width: calc(100% - 2px) !important; // stylelint-disable-line declaration-no-important -- dx-px-nudge: 2px shaved off a full-width popup .dx-popup-title { border: 0; @@ -266,7 +285,7 @@ $transparent-border: 1px solid transparent !default; bottom: 0 !important; // stylelint-disable-line declaration-no-important .dx-popup-content { - padding: 8px; + padding: $diagram-popup-content-padding; } .dx-colorview-container { @@ -280,16 +299,16 @@ $transparent-border: 1px solid transparent !default; .dx-colorview-palette { width: 100%; - min-width: 300px; + min-width: $diagram-colorview-palette-min-width; } } .dx-colorview-hue-scale-cell { - margin-left: 12px; + margin-left: $diagram-colorview-hue-scale-cell-margin-left; } .dx-colorview-controls-container { - margin-left: 12px; + margin-left: $diagram-colorview-hue-scale-cell-margin-left; } } } @@ -305,10 +324,13 @@ $transparent-border: 1px solid transparent !default; .dx-diagram-loading-indicator { position: absolute; - top: calc(50% - 32px); - left: calc(50% - 32px); - width: 64px; - height: 64px; + top: 50%; + left: 50%; + + // centred with translate, so neither side has to be halved at build time + transform: translate(-50%, -50%); + width: $diagram-loading-indicator-width; + height: $diagram-loading-indicator-height; } .dx-diagram-touchbar-overlay, @@ -351,10 +373,10 @@ $transparent-border: 1px solid transparent !default; } .dx-diagram-context-toolbox-target { - width: 1px; - height: 1px; + width: $diagram-context-toolbox-target-width; + height: $diagram-context-toolbox-target-height; } .dx-diagram-context-toolbox .dx-popup-content { - padding: 8px; + padding: $diagram-popup-content-padding; } diff --git a/packages/devextreme-scss/scss/widgets/base/diagram/_mixins.scss b/packages/devextreme-scss/scss/widgets/base/diagram/_mixins.scss index aa23ac0744f2..77eaba05156a 100644 --- a/packages/devextreme-scss/scss/widgets/base/diagram/_mixins.scss +++ b/packages/devextreme-scss/scss/widgets/base/diagram/_mixins.scss @@ -1,3 +1,4 @@ +@use "sass:meta"; @use "sass:string"; @use "../string" as *; @@ -10,68 +11,70 @@ } @mixin diagram-action-icons-mixin($toolbar-color, $menu-color, $icon-size, $toolbar-colorbutton-border-width) { + $diagram-wide-icon-size: if(meta.type-of($icon-size) == number, 1.56 * $icon-size, calc(1.56 * #{$icon-size})); + .dx-diagram-i-selectbox-null-icon { - @include diagram-icon-colored(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/diagram/selectbox-null-icon.svg"), $toolbar-color, 1.56 * $icon-size, $icon-size); + @include diagram-icon-colored(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/diagram/selectbox-null-icon.svg"), $toolbar-color, $diagram-wide-icon-size, $icon-size); } .dx-diagram-i-connector-begin-none { - @include diagram-icon-colored(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/diagram/connector-begin-none.svg"), $toolbar-color, 1.56 * $icon-size, $icon-size); + @include diagram-icon-colored(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/diagram/connector-begin-none.svg"), $toolbar-color, $diagram-wide-icon-size, $icon-size); } .dx-diagram-i-connector-begin-arrow { - @include diagram-icon-colored(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/diagram/connector-begin-arrow.svg"), $toolbar-color, 1.56 * $icon-size, $icon-size); + @include diagram-icon-colored(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/diagram/connector-begin-arrow.svg"), $toolbar-color, $diagram-wide-icon-size, $icon-size); } .dx-diagram-i-connector-begin-outlined-triangle { - @include diagram-icon-colored(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/diagram/connector-begin-outlined-triangle.svg"), $toolbar-color, 1.56 * $icon-size, $icon-size); + @include diagram-icon-colored(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/diagram/connector-begin-outlined-triangle.svg"), $toolbar-color, $diagram-wide-icon-size, $icon-size); } .dx-diagram-i-connector-begin-filled-triangle { - @include diagram-icon-colored(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/diagram/connector-begin-filled-triangle.svg"), $toolbar-color, 1.56 * $icon-size, $icon-size); + @include diagram-icon-colored(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/diagram/connector-begin-filled-triangle.svg"), $toolbar-color, $diagram-wide-icon-size, $icon-size); } .dx-diagram-i-connector-end-none { - @include diagram-icon-colored(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/diagram/connector-end-none.svg"), $toolbar-color, 1.56 * $icon-size, $icon-size); + @include diagram-icon-colored(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/diagram/connector-end-none.svg"), $toolbar-color, $diagram-wide-icon-size, $icon-size); } .dx-diagram-i-connector-end-arrow { - @include diagram-icon-colored(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/diagram/connector-end-arrow.svg"), $toolbar-color, 1.56 * $icon-size, $icon-size); + @include diagram-icon-colored(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/diagram/connector-end-arrow.svg"), $toolbar-color, $diagram-wide-icon-size, $icon-size); } .dx-diagram-i-connector-end-outlined-triangle { - @include diagram-icon-colored(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/diagram/connector-end-outlined-triangle.svg"), $toolbar-color, 1.56 * $icon-size, $icon-size); + @include diagram-icon-colored(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/diagram/connector-end-outlined-triangle.svg"), $toolbar-color, $diagram-wide-icon-size, $icon-size); } .dx-diagram-i-connector-end-filled-triangle { - @include diagram-icon-colored(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/diagram/connector-end-filled-triangle.svg"), $toolbar-color, 1.56 * $icon-size, $icon-size); + @include diagram-icon-colored(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/diagram/connector-end-filled-triangle.svg"), $toolbar-color, $diagram-wide-icon-size, $icon-size); } .dx-diagram-i-connector-orthogonal { - @include diagram-icon-colored(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/diagram/connector-orthogonal.svg"), $toolbar-color, 1.56 * $icon-size, $icon-size); + @include diagram-icon-colored(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/diagram/connector-orthogonal.svg"), $toolbar-color, $diagram-wide-icon-size, $icon-size); } .dx-diagram-i-connector-straight { - @include diagram-icon-colored(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/diagram/connector-straight.svg"), $toolbar-color, 1.56 * $icon-size, $icon-size); + @include diagram-icon-colored(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/diagram/connector-straight.svg"), $toolbar-color, $diagram-wide-icon-size, $icon-size); } .dx-diagram-i-line-solid { - @include diagram-icon-colored(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/diagram/line-solid.svg"), $toolbar-color, 1.56 * $icon-size, $icon-size); + @include diagram-icon-colored(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/diagram/line-solid.svg"), $toolbar-color, $diagram-wide-icon-size, $icon-size); } .dx-diagram-i-line-dotted { - @include diagram-icon-colored(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/diagram/line-dotted.svg"), $toolbar-color, 1.56 * $icon-size, $icon-size); + @include diagram-icon-colored(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/diagram/line-dotted.svg"), $toolbar-color, $diagram-wide-icon-size, $icon-size); } .dx-diagram-i-line-dashed { - @include diagram-icon-colored(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/diagram/line-dashed.svg"), $toolbar-color, 1.56 * $icon-size, $icon-size); + @include diagram-icon-colored(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/diagram/line-dashed.svg"), $toolbar-color, $diagram-wide-icon-size, $icon-size); } .dx-diagram-i-button-fill { - @include diagram-icon-colored(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/diagram/button-fill.svg"), $toolbar-color, $icon-size, $icon-size + $toolbar-colorbutton-border-width); + @include diagram-icon-colored(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/diagram/button-fill.svg"), $toolbar-color, $icon-size, if(meta.type-of($icon-size) == number and meta.type-of($toolbar-colorbutton-border-width) == number, $icon-size + $toolbar-colorbutton-border-width, calc(#{$icon-size} + #{$toolbar-colorbutton-border-width}))); } .dx-diagram-i-menu-fill { - @include diagram-icon-colored(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/diagram/button-fill.svg"), $menu-color, $icon-size, $icon-size + $toolbar-colorbutton-border-width); + @include diagram-icon-colored(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/diagram/button-fill.svg"), $menu-color, $icon-size, if(meta.type-of($icon-size) == number and meta.type-of($toolbar-colorbutton-border-width) == number, $icon-size + $toolbar-colorbutton-border-width, calc(#{$icon-size} + #{$toolbar-colorbutton-border-width}))); } .dx-diagram-i-button-fullscreen { diff --git a/packages/devextreme-scss/scss/widgets/base/dropDownButton/_mixins.scss b/packages/devextreme-scss/scss/widgets/base/dropDownButton/_mixins.scss index c5386d732acb..846174c0330a 100644 --- a/packages/devextreme-scss/scss/widgets/base/dropDownButton/_mixins.scss +++ b/packages/devextreme-scss/scss/widgets/base/dropDownButton/_mixins.scss @@ -1,6 +1,7 @@ @mixin dx-dropdownbutton( $dropdownbutton-icon-spindown-size, $dropdownbutton-action-horizontal-padding, + $dropdownbutton-icon-right-margin-inline-start: 4px, ) { .dx-dropdownbutton-toggle { .dx-icon-spindown { @@ -19,7 +20,7 @@ &.dx-button-has-icon, &.dx-button-has-text { .dx-icon.dx-icon-right { - margin-inline-start: 4px; + margin-inline-start: $dropdownbutton-icon-right-margin-inline-start; margin-inline-end: 0; } } diff --git a/packages/devextreme-scss/scss/widgets/base/dropDownEditor/_index.scss b/packages/devextreme-scss/scss/widgets/base/dropDownEditor/_index.scss index 610b50e2998a..77efbc3d1465 100644 --- a/packages/devextreme-scss/scss/widgets/base/dropDownEditor/_index.scss +++ b/packages/devextreme-scss/scss/widgets/base/dropDownEditor/_index.scss @@ -3,6 +3,8 @@ @use "./mixins" as *; @use "../textEditor/mixins" as *; +$dropdowneditor-icon-idle-opacity: 0.35 !default; + .dx-dropdowneditor { position: relative; @@ -59,7 +61,9 @@ .dx-dropdowneditor-active { .dx-dropdowneditor-icon { - opacity: 0.35; + @if $dropdowneditor-icon-idle-opacity { + opacity: $dropdowneditor-icon-idle-opacity; + } } } diff --git a/packages/devextreme-scss/scss/widgets/base/dropDownEditor/_mixins.scss b/packages/devextreme-scss/scss/widgets/base/dropDownEditor/_mixins.scss index 01dd983dd65c..51c3e6c5acdd 100644 --- a/packages/devextreme-scss/scss/widgets/base/dropDownEditor/_mixins.scss +++ b/packages/devextreme-scss/scss/widgets/base/dropDownEditor/_mixins.scss @@ -1,5 +1,32 @@ +@use "sass:meta"; @use "../icon_fonts" as *; +@function badge-input-padding($invalid-badge-size, $input-horizontal-padding) { + @if meta.type-of($invalid-badge-size) == number and meta.type-of($input-horizontal-padding) == number { + @return $invalid-badge-size + $input-horizontal-padding; + } + + @if $input-horizontal-padding == 0 { + @return $invalid-badge-size; + } + + @return calc(#{$invalid-badge-size} + #{$input-horizontal-padding}); +} + +/* + * The underlined editor has no inline padding, so interpolating it would leave a dead `0 +` + * in the calc. The icons term is returned unwrapped - it goes inside the outer calc() as is. + */ +@function lookup-field-padding($input-horizontal-padding, $icon-size, $icon-count, $spin-padding) { + $icons: if($icon-count == 1, "#{$icon-size}", "#{$icon-size} * #{$icon-count}"); + + @if meta.type-of($input-horizontal-padding) == number and $input-horizontal-padding == 0 { + @return calc(#{$icons} + #{$spin-padding}); + } + + @return calc(#{$input-horizontal-padding} + #{$icons} + #{$spin-padding}); +} + @mixin invalid-dropdowneditor-input-padding( $invalid-badge-size, $texteditor-underlined-input-horizontal-padding, @@ -8,7 +35,7 @@ &.dx-dropdowneditor-button-visible { &.dx-editor-underlined { .dx-texteditor-input { - padding-inline-end: $invalid-badge-size + $texteditor-underlined-input-horizontal-padding; + padding-inline-end: badge-input-padding($invalid-badge-size, $texteditor-underlined-input-horizontal-padding); } .dx-start-datebox { @@ -27,7 +54,7 @@ &.dx-editor-filled, &.dx-editor-outlined { .dx-texteditor-input { - padding-inline-end: $invalid-badge-size + $texteditor-filled-input-horizontal-padding; + padding-inline-end: badge-input-padding($invalid-badge-size, $texteditor-filled-input-horizontal-padding); } .dx-start-datebox { diff --git a/packages/devextreme-scss/scss/widgets/base/dropDownMenu/_index.scss b/packages/devextreme-scss/scss/widgets/base/dropDownMenu/_index.scss index 5ad777432062..b5629b4f9d1f 100644 --- a/packages/devextreme-scss/scss/widgets/base/dropDownMenu/_index.scss +++ b/packages/devextreme-scss/scss/widgets/base/dropDownMenu/_index.scss @@ -1,8 +1,13 @@ +// Design sizing values (parametrizable; fluent-next injects tokens) +$dropdownmenu-list-min-width: 100px !default; +$dropdownmenu-list-border-radius: 8px !default; +$dropdownmenu-popup-content-padding: 1px !default; + .dx-dropdownmenu-popup-wrapper { .dx-dropdownmenu-list { min-height: 0; - min-width: 100px; - border-radius: 8px; + min-width: $dropdownmenu-list-min-width; + border-radius: $dropdownmenu-list-border-radius; .dx-list-item { &:last-of-type { @@ -12,7 +17,7 @@ } .dx-popup-content { - padding: 1px; + padding: $dropdownmenu-popup-content-padding; } .dx-list-item { diff --git a/packages/devextreme-scss/scss/widgets/base/dropDownMenu/_mixins.scss b/packages/devextreme-scss/scss/widgets/base/dropDownMenu/_mixins.scss index 129adac34b1d..f6ff37723dd8 100644 --- a/packages/devextreme-scss/scss/widgets/base/dropDownMenu/_mixins.scss +++ b/packages/devextreme-scss/scss/widgets/base/dropDownMenu/_mixins.scss @@ -2,6 +2,9 @@ $accent-color, $border-radius, $section-horizontal-margin, + // The focus ring's geometry, on the same role as its colour and radius. + $outline-width: 2px, + $outline-offset: 1px, ) { .dx-dropdownmenu-popup-wrapper.dx-dropdownmenu-list-focus-mode { .dx-dropdownmenu-list { @@ -9,8 +12,8 @@ .dx-list-item[tabindex="0"]:focus-visible { position: relative; z-index: 1; - outline: 2px solid $accent-color; - outline-offset: 1px; + outline: $outline-width solid $accent-color; + outline-offset: $outline-offset; border-radius: $border-radius; } } diff --git a/packages/devextreme-scss/scss/widgets/base/fileManager/_index.scss b/packages/devextreme-scss/scss/widgets/base/fileManager/_index.scss index 008b0c995a78..6ebe15605fb6 100644 --- a/packages/devextreme-scss/scss/widgets/base/fileManager/_index.scss +++ b/packages/devextreme-scss/scss/widgets/base/fileManager/_index.scss @@ -1,8 +1,73 @@ @use "../mixins" as *; +// Design sizing values (parametrizable; fluent-next injects tokens) +$filemanager-root-height: 500px !default; +$filemanager-root-border: 1px solid !default; +$filemanager-overlay-content-min-width: 240px !default; +$filemanager-overlay-content-max-width: 400px !default; +$filemanager-popup-content-padding: 15px !default; +$filemanager-progress-box-padding: 5px 0 0 !default; +$filemanager-notification-common-padding-bottom: 10px !default; +$filemanager-notification-common-border-bottom-width: 1px !default; +$filemanager-progress-panel-border-left-width: 1px !default; +$filemanager-progress-panel-width: 340px !default; +$filemanager-progress-panel-container-padding: 10px 20px 20px 20px !default; +$filemanager-progress-panel-title-padding: 0 0 5px 10px !default; +$filemanager-progress-panel-separator-height: 20px !default; +$filemanager-i-cancel-width: 16px !default; +$filemanager-i-cancel-height: 16px !default; +$filemanager-progress-box-margin-bottom: 8px !default; +$filemanager-progress-box-border-radius: 2px !default; +$filemanager-progress-panel-box-padding: 10px 0 10px 10px !default; +$filemanager-progress-box-without-close-button-padding-right: 10px !default; +$filemanager-progress-box-image-margin-right: 10px !default; +$filemanager-progress-box-common-padding: 5px 0 !default; +$filemanager-progress-box-close-button-margin-top: 9px !default; +$filemanager-progress-box-close-button-margin-left: 5px !default; +$filemanager-progress-box-error-padding: 2px 8px 3px !default; +$filemanager-progress-box-error-max-height: 150px !default; +$filemanager-toolbar-separator-item-width: 1px !default; +$filemanager-toolbar-separator-item-margin-right: 5px !default; +$filemanager-container-border-top: 1px solid !default; +$filemanager-dirs-panel-padding: 5px 10px !default; +$filemanager-drawer-panel-content-initial-min-width: 250px !default; +$filemanager-drawer-panel-content-initial-max-width: 300px !default; +$filemanager-breadcrumbs-padding: 2px 11px !default; +$filemanager-breadcrumbs-border-bottom: 1px solid !default; +$filemanager-menu-item-content-padding-left: 2px !default; +$filemanager-menu-item-content-padding-right: 2px !default; +$filemanager-menu-item-content-margin: 0 10px !default; +$filemanager-breadcrumbs-path-separator-padding-left: 1px !default; +$filemanager-breadcrumbs-path-separator-padding-right: 1px !default; +$filemanager-thumbnails-view-port-padding: 5px !default; +$filemanager-thumbnails-item-width: 100px !default; +$filemanager-thumbnails-item-height: 100px !default; +$filemanager-thumbnails-item-border: 1px dashed transparent !default; +$filemanager-thumbnails-item-margin: 5px !default; +$filemanager-thumbnails-item-content-padding: 13px 0 10px !default; +$filemanager-thumbnails-item-spacer-height: 10px !default; +$filemanager-button-content-padding: 10px 11px !default; +$filemanager-dialog-min-width: 300px !default; +$filemanager-overlay-content-min-height: 300px !default; +$filemanager-overlay-content-max-height: 400px !default; +$filemanager-dialog-name-editor-max-width: 340px !default; +$filemanager-dialog-name-editor-min-height: 180px !default; +$filemanager-dialog-name-editor-max-height: 180px !default; +$filemanager-progressbox-cancel-button-margin-top: 5px !default; + +$filemanager-progress-title-font-size: 18px !default; +$filemanager-progress-title-font-weight: 600 !default; +$filemanager-progress-bold-font-weight: 600 !default; + +$filemanager-error-message-font-size: 0.85em !default; // dx-relative +$filemanager-drawer-panel-content-width: 30% !default; // dx-relative-% + +// Half the difference between the splitter border and bar, centring the wrapper on the bar. +$filemanager-splitter-wrapper-right: 3px !default; + .dx-filemanager { - height: 500px; - border: 1px solid; + height: $filemanager-root-height; + border: $filemanager-root-border; .dx-filemanager-wrapper { height: 100%; @@ -17,25 +82,25 @@ .dx-filemanager-notification-popup { & .dx-overlay-content { - min-width: 240px; + min-width: $filemanager-overlay-content-min-width; max-width: 93vw; - @media (min-width: 431px) { - max-width: 400px; + @media (min-width: 431px) { // dx-literal-required: a media condition, var() is invalid here + max-width: $filemanager-overlay-content-max-width; } } .dx-popup-content { - padding: 15px; + padding: $filemanager-popup-content-padding; .dx-filemanager-progress-box { - padding: 5px 0 0; + padding: $filemanager-progress-box-padding; } } .dx-filemanager-notification-common { - padding-bottom: 10px; - border-bottom-width: 1px; + padding-bottom: $filemanager-notification-common-padding-bottom; + border-bottom-width: $filemanager-notification-common-border-bottom-width; border-bottom-style: solid; } @@ -45,61 +110,61 @@ } .dx-drawer-shrink .dx-filemanager-progress-panel { - border-left-width: 1px; + border-left-width: $filemanager-progress-panel-border-left-width; border-left-style: solid; } .dx-filemanager-progress-panel { - width: 340px; + width: $filemanager-progress-panel-width; height: 100%; .dx-filemanager-progress-panel-container { - padding: 10px 20px 20px 20px; + padding: $filemanager-progress-panel-container-padding; } .dx-filemanager-progress-panel-title { display: flex; align-items: flex-start; - padding: 0 0 5px 10px; + padding: $filemanager-progress-panel-title-padding; .dx-filemanager-progress-panel-title-text { flex: 1 1 auto; align-self: center; - font-size: 18px; - font-weight: 600; + font-size: $filemanager-progress-title-font-size; + font-weight: $filemanager-progress-title-font-weight; } } .dx-filemanager-progress-panel-common .dx-filemanager-progress-box-common { - font-weight: 600; + font-weight: $filemanager-progress-bold-font-weight; } .dx-filemanager-progress-panel-separator { - height: 20px; + height: $filemanager-progress-panel-separator-height; } .dx-filemanager-i.dx-filemanager-i-cancel { - width: 16px; - height: 16px; + width: $filemanager-i-cancel-width; + height: $filemanager-i-cancel-height; } .dx-filemanager-progress-panel-details > .dx-filemanager-progress-box { - margin-bottom: 8px; - border-radius: 2px; + margin-bottom: $filemanager-progress-box-margin-bottom; + border-radius: $filemanager-progress-box-border-radius; } } .dx-filemanager-progress-box { - padding: 10px 0 10px 10px; + padding: $filemanager-progress-panel-box-padding; display: flex; align-items: center; &.dx-filemanager-progress-box-without-close-button { - padding-right: 10px; + padding-right: $filemanager-progress-box-without-close-button-padding-right; } .dx-filemanager-progress-box-image { - margin-right: 10px; + margin-right: $filemanager-progress-box-image-margin-right; } .dx-filemanager-progress-box-wrapper { @@ -108,54 +173,54 @@ } .dx-filemanager-progress-box-common { - padding: 5px 0; + padding: $filemanager-progress-box-common-padding; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .dx-filemanager-progress-box-progress-bar { - padding: 5px 0; + padding: $filemanager-progress-box-common-padding; } .dx-filemanager-progress-box-status { - padding: 5px 0; + padding: $filemanager-progress-box-common-padding; } .dx-filemanager-progress-box-close-button { - margin-top: 9px; - margin-left: 5px; + margin-top: $filemanager-progress-box-close-button-margin-top; + margin-left: $filemanager-progress-box-close-button-margin-left; } } .dx-filemanager-progress-box-error { - border-radius: 2px; + border-radius: $filemanager-progress-box-border-radius; display: inline-block; border-width: 0; - padding: 2px 8px 3px; - font-size: 0.85em; + padding: $filemanager-progress-box-error-padding; + font-size: $filemanager-error-message-font-size; line-height: normal; word-wrap: break-word; overflow-y: auto; - max-height: 150px; + max-height: $filemanager-progress-box-error-max-height; } .dx-filemanager-toolbar { .dx-filemanager-toolbar-separator-item { - width: 1px; - margin-right: 5px; + width: $filemanager-toolbar-separator-item-width; + margin-right: $filemanager-toolbar-separator-item-margin-right; } } .dx-splitter-wrapper.dx-splitter-initial, .dx-splitter-wrapper.dx-splitter-inactive { - right: 3px; // (dx-splitter-border width - dx-splitter-bar width) / 2 + right: $filemanager-splitter-wrapper-right; } .dx-filemanager-container { display: flex; height: 100%; - border-top: 1px solid; + border-top: $filemanager-container-border-top; box-sizing: border-box; overflow: hidden; @@ -164,7 +229,7 @@ } .dx-filemanager-dirs-panel { - padding: 5px 10px; + padding: $filemanager-dirs-panel-padding; height: 100%; width: 100%; display: block; @@ -172,7 +237,7 @@ .dx-drawer-opened { .dx-splitter-bar.dx-state-disabled { - width: 1px; + width: $filemanager-toolbar-separator-item-width; } } @@ -182,11 +247,11 @@ .dx-drawer-panel-content { display: block; - width: 30%; + width: $filemanager-drawer-panel-content-width; &.dx-drawer-panel-content-initial { - min-width: 250px; - max-width: 300px; + min-width: $filemanager-drawer-panel-content-initial-min-width; + max-width: $filemanager-drawer-panel-content-initial-max-width; } &.dx-drawer-panel-content-adaptive { @@ -200,8 +265,8 @@ } .dx-filemanager-breadcrumbs { - padding: 2px 11px; - border-bottom: 1px solid; + padding: $filemanager-breadcrumbs-padding; + border-bottom: $filemanager-breadcrumbs-border-bottom; .dx-menu-item-content { padding-left: 0; @@ -209,20 +274,20 @@ } .dx-filemanager-breadcrumbs-parent-folder-item .dx-menu-item-content { - padding-left: 2px; - padding-right: 2px; + padding-left: $filemanager-menu-item-content-padding-left; + padding-right: $filemanager-menu-item-content-padding-right; } .dx-filemanager-breadcrumbs-separator-item .dx-menu-item-content { - width: 1px; + width: $filemanager-toolbar-separator-item-width; padding-left: 0; padding-right: 0; - margin: 0 10px; + margin: $filemanager-menu-item-content-margin; } .dx-filemanager-breadcrumbs-path-separator-item .dx-menu-item-content { - padding-left: 1px; - padding-right: 1px; + padding-left: $filemanager-breadcrumbs-path-separator-padding-left; + padding-right: $filemanager-breadcrumbs-path-separator-padding-right; } .dx-filemanager-breadcrumbs-separator-item, @@ -235,14 +300,14 @@ .dx-filemanager-notification-container { position: absolute; - top: -5000px; - left: -5000px; + top: -5000px; // dx-structural: parks the container off-screen until it is positioned + left: -5000px; // dx-structural: parks the container off-screen until it is positioned } .dx-filemanager-editing-container { position: absolute; - top: -5000px; - left: -5000px; + top: -5000px; // dx-structural: parks the container off-screen until it is positioned + left: -5000px; // dx-structural: parks the container off-screen until it is positioned } .dx-row { @@ -288,7 +353,7 @@ overflow-x: hidden; overflow-y: auto; box-sizing: border-box; - padding: 5px; + padding: $filemanager-thumbnails-view-port-padding; .dx-filemanager-thumbnails-container { user-select: none; @@ -299,15 +364,15 @@ text-align: center; cursor: pointer; white-space: nowrap; - width: 100px; - height: 100px; - border: 1px dashed transparent; - margin: 5px; + width: $filemanager-thumbnails-item-width; + height: $filemanager-thumbnails-item-height; + border: $filemanager-thumbnails-item-border; + margin: $filemanager-thumbnails-item-margin; box-sizing: border-box; .dx-filemanager-thumbnails-item-content { overflow: hidden; - padding: 13px 0 10px; + padding: $filemanager-thumbnails-item-content-padding; .dx-filemanager-thumbnails-item-thumbnail { border: 0; @@ -317,7 +382,7 @@ border: 0; padding: 0; margin: 0; - height: 10px; + height: $filemanager-thumbnails-item-spacer-height; visibility: hidden; } @@ -391,7 +456,7 @@ box-shadow: none; .dx-button-content { - padding: 10px 11px; + padding: $filemanager-button-content-padding; } i { @@ -441,21 +506,21 @@ } .dx-filemanager-dialog-popup > .dx-overlay-content { - min-width: 300px; - max-width: 400px; - min-height: 300px; - max-height: 400px; + min-width: $filemanager-dialog-min-width; + max-width: $filemanager-overlay-content-max-width; + min-height: $filemanager-overlay-content-min-height; + max-height: $filemanager-overlay-content-max-height; } .dx-filemanager-dialog-name-editor-popup > .dx-overlay-content { - max-width: 340px; - min-height: 180px; - max-height: 180px; + max-width: $filemanager-dialog-name-editor-max-width; + min-height: $filemanager-dialog-name-editor-min-height; + max-height: $filemanager-dialog-name-editor-max-height; } .dx-filemanager-dialog-delete-item-popup > .dx-overlay-content { - max-width: 340px; - min-height: 180px; + max-width: $filemanager-dialog-name-editor-max-width; + min-height: $filemanager-dialog-name-editor-min-height; .dx-popup-content .dx-filemanager-dialog-delete-item { overflow-wrap: break-word; @@ -464,16 +529,16 @@ .dx-filemanager-progresspanel { box-sizing: border-box; - padding: 5px; + padding: $filemanager-thumbnails-view-port-padding; .dx-filemanager-progressbox { float: left; width: 100%; - padding-bottom: 10px; + padding-bottom: $filemanager-notification-common-padding-bottom; } .dx-filemanager-progressbox-cancel-button { - margin-top: 5px; + margin-top: $filemanager-progressbox-cancel-button-margin-top; float: right; } } diff --git a/packages/devextreme-scss/scss/widgets/base/fileManager/_mixins.scss b/packages/devextreme-scss/scss/widgets/base/fileManager/_mixins.scss index 17a2d5b0c7ec..3afa5e2eadff 100644 --- a/packages/devextreme-scss/scss/widgets/base/fileManager/_mixins.scss +++ b/packages/devextreme-scss/scss/widgets/base/fileManager/_mixins.scss @@ -13,12 +13,38 @@ height: $height; } -@mixin filemanager-icons-mixin($text-color, $success-bg-color, $success-text-color, $danger-bg-color, $danger-text-color, $icon-size) { +/* + * Only `refresh` (which `progress` reuses) and `cancel` are drawn in one colour, so only those two + * can become a mask painted by `currentColor`. `done` and `danger` put an inverted glyph on a + * success/danger disc beside the neutral arrows - three colours at once, which a mask cannot carry, + * so they keep the baked image. + */ +@mixin filemanager-icon-masked($data-uri, $width, $height) { + $uri: replace("#{$data-uri}", "currentTextColor", "%23000"); + + mask-image: string.unquote($uri); + mask-position: 50% 50%; + mask-repeat: no-repeat; + mask-size: contain; + background-color: currentColor; + width: $width; + height: $height; +} + +@mixin filemanager-icon-single($data-uri, $text-color, $success-bg-color, $success-text-color, $danger-bg-color, $danger-text-color, $width, $height, $masked) { + @if $masked { + @include filemanager-icon-masked($data-uri, $width, $height); + } @else { + @include filemanager-icon-colored($data-uri, $text-color, $success-bg-color, $success-text-color, $danger-bg-color, $danger-text-color, $width, $height); + } +} + +@mixin filemanager-icons-mixin($text-color, $success-bg-color, $success-text-color, $danger-bg-color, $danger-text-color, $icon-size, $masked: false) { .dx-filemanager-i, .dx-filemanager-i.dx-icon { &.dx-filemanager-i-refresh, &.dx-filemanager-i-progress { - @include filemanager-icon-colored(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/fileManager/refresh.svg"), $text-color, $success-bg-color, $success-text-color, $danger-bg-color, $danger-text-color, $icon-size, $icon-size); + @include filemanager-icon-single(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/fileManager/refresh.svg"), $text-color, $success-bg-color, $success-text-color, $danger-bg-color, $danger-text-color, $icon-size, $icon-size, $masked); } &.dx-filemanager-i-done { @@ -30,7 +56,7 @@ } &.dx-filemanager-i-cancel { - @include filemanager-icon-colored(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/fileManager/cancel.svg"), $text-color, $success-bg-color, $success-text-color, $danger-bg-color, $danger-text-color, $icon-size, $icon-size); + @include filemanager-icon-single(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/fileManager/cancel.svg"), $text-color, $success-bg-color, $success-text-color, $danger-bg-color, $danger-text-color, $icon-size, $icon-size, $masked); } } } diff --git a/packages/devextreme-scss/scss/widgets/base/filterBuilder/_common.scss b/packages/devextreme-scss/scss/widgets/base/filterBuilder/_common.scss index 6789b8bbd194..824ae260d4c9 100644 --- a/packages/devextreme-scss/scss/widgets/base/filterBuilder/_common.scss +++ b/packages/devextreme-scss/scss/widgets/base/filterBuilder/_common.scss @@ -1,15 +1,30 @@ +$filterbuilder-range-separator-opacity: null !default; +$filterbuilder-action-icon-margin-left: null !default; +$filterbuilder-action-icon-margin-right: null !default; +$filterbuilder-group-content-padding-right: null !default; +$filterbuilder-range-separator-margin: null !default; +$filterbuilder-item-value-text-min-width: null !default; +$filterbuilder-item-value-text-padding: null !default; +$filterbuilder-action-icon-padding: null !default; +$filterbuilder-group-content-padding-left: null !default; +$filterbuilder-treeview-item-padding-left: null !default; +$filterbuilder-treeview-item-padding-right: null !default; +$filterbuilder-treeview-node-margin-left: null !default; +$filterbuilder-treeview-node-margin-right: null !default; +$filterbuilder-scrollable-max-height: null !default; + .dx-filterbuilder { &.dx-rtl { .dx-filterbuilder-text, .dx-filterbuilder-action-icon { - margin-left: 5px; + margin-left: $filterbuilder-action-icon-margin-left; margin-right: 0; } .dx-filterbuilder-group { .dx-filterbuilder-group-content .dx-filterbuilder-group-content { padding-left: 0; - padding-right: 26px; + padding-right: $filterbuilder-group-content-padding-right; } } } @@ -17,7 +32,7 @@ .dx-filterbuilder-text, .dx-filterbuilder-action-icon { margin-left: 0; - margin-right: 5px; + margin-right: $filterbuilder-action-icon-margin-right; } .dx-filterbuilder-text, @@ -44,22 +59,25 @@ .dx-filterbuilder-text-separator, .dx-filterbuilder-range-separator { - margin: 0 7px; - opacity: 0.3; + margin: $filterbuilder-range-separator-margin; + + @if $filterbuilder-range-separator-opacity { + opacity: $filterbuilder-range-separator-opacity; + } } &.dx-filterbuilder-group-operation, &.dx-filterbuilder-item-field, &.dx-filterbuilder-item-operation, .dx-filterbuilder-item-value-text { - min-width: 20px; - padding: 2px 7px 3px 7px; + min-width: $filterbuilder-item-value-text-min-width; + padding: $filterbuilder-item-value-text-padding; } .dx-texteditor { vertical-align: middle; - margin-top: -7px; - margin-bottom: -4px; + margin-top: -7px; // dx-fixed-size: pulls the row onto the group line + margin-bottom: -4px; // dx-fixed-size: pulls the row onto the group line display: inline-block; } } @@ -70,13 +88,13 @@ position: relative; &.dx-filterbuilder-action-icon { - padding: 5px 8px; + padding: $filterbuilder-action-icon-padding; } } } .dx-filterbuilder-group-content .dx-filterbuilder-group-content { - padding-left: 26px; + padding-left: $filterbuilder-group-content-padding-left; } } @@ -91,12 +109,12 @@ .dx-filterbuilder-operations { .dx-treeview-item { - padding-left: 5px; + padding-left: $filterbuilder-treeview-item-padding-left; } .dx-rtl { .dx-treeview-item { - padding-right: 5px; + padding-right: $filterbuilder-treeview-item-padding-right; } } } @@ -109,7 +127,7 @@ padding-left: 0; .dx-treeview-node-container-opened { - margin-left: 15px; + margin-left: $filterbuilder-treeview-node-margin-left; } } @@ -118,7 +136,7 @@ padding-right: 0; .dx-treeview-node-container-opened { - margin-right: 15px; + margin-right: $filterbuilder-treeview-node-margin-right; } } } @@ -133,7 +151,7 @@ } .dx-scrollable-container { - max-height: 360px; + max-height: $filterbuilder-scrollable-max-height; } .dx-menu-items-container { diff --git a/packages/devextreme-scss/scss/widgets/base/filterBuilder/_index.scss b/packages/devextreme-scss/scss/widgets/base/filterBuilder/_index.scss index 5ad7c17718aa..49e83c6dc4c7 100644 --- a/packages/devextreme-scss/scss/widgets/base/filterBuilder/_index.scss +++ b/packages/devextreme-scss/scss/widgets/base/filterBuilder/_index.scss @@ -22,7 +22,38 @@ $filterbuilder-remove-icon-focus-color: null !default; $filterbuilder-menu-icon-color: null !default; @use "../icon_fonts" as *; -@use "./common"; +$filterbuilder-range-separator-opacity: 0.3 !default; + +$filterbuilder-action-icon-margin-left: 5px !default; +$filterbuilder-action-icon-margin-right: 5px !default; +$filterbuilder-group-content-padding-right: 26px !default; +$filterbuilder-range-separator-margin: 0 7px !default; +$filterbuilder-item-value-text-min-width: 20px !default; +$filterbuilder-item-value-text-padding: 2px 7px 3px 7px !default; +$filterbuilder-action-icon-padding: 5px 8px !default; +$filterbuilder-group-content-padding-left: 26px !default; +$filterbuilder-treeview-item-padding-left: 5px !default; +$filterbuilder-treeview-item-padding-right: 5px !default; +$filterbuilder-treeview-node-margin-left: 15px !default; +$filterbuilder-treeview-node-margin-right: 15px !default; +$filterbuilder-scrollable-max-height: 360px !default; + +@use "./common" with ( + $filterbuilder-range-separator-opacity: $filterbuilder-range-separator-opacity, + $filterbuilder-action-icon-margin-left: $filterbuilder-action-icon-margin-left, + $filterbuilder-action-icon-margin-right: $filterbuilder-action-icon-margin-right, + $filterbuilder-group-content-padding-right: $filterbuilder-group-content-padding-right, + $filterbuilder-range-separator-margin: $filterbuilder-range-separator-margin, + $filterbuilder-item-value-text-min-width: $filterbuilder-item-value-text-min-width, + $filterbuilder-item-value-text-padding: $filterbuilder-item-value-text-padding, + $filterbuilder-action-icon-padding: $filterbuilder-action-icon-padding, + $filterbuilder-group-content-padding-left: $filterbuilder-group-content-padding-left, + $filterbuilder-treeview-item-padding-left: $filterbuilder-treeview-item-padding-left, + $filterbuilder-treeview-item-padding-right: $filterbuilder-treeview-item-padding-right, + $filterbuilder-treeview-node-margin-left: $filterbuilder-treeview-node-margin-left, + $filterbuilder-treeview-node-margin-right: $filterbuilder-treeview-node-margin-right, + $filterbuilder-scrollable-max-height: $filterbuilder-scrollable-max-height, +); .dx-filterbuilder { background-color: $filterbuilder-bg; diff --git a/packages/devextreme-scss/scss/widgets/base/gantt/_index.scss b/packages/devextreme-scss/scss/widgets/base/gantt/_index.scss index 223ea622e6a9..389a09123dbf 100644 --- a/packages/devextreme-scss/scss/widgets/base/gantt/_index.scss +++ b/packages/devextreme-scss/scss/widgets/base/gantt/_index.scss @@ -1,3 +1,8 @@ +// Design sizing values (parametrizable; fluent-next injects tokens) +$gantt-toolbar-separator-border-left: 1px solid transparent !default; +$gantt-splitter-bar-width: 2px !default; +$gantt-view-min-width: 1px !default; + .dx-gantt { display: flex; flex-direction: column; @@ -19,7 +24,7 @@ .dx-gantt-toolbar-separator { display: table; height: 100%; - border-left: 1px solid transparent; + border-left: $gantt-toolbar-separator-border-left; } .dx-gantt-si { @@ -42,17 +47,17 @@ } .dx-splitter-wrapper .dx-splitter-border .dx-splitter-bar { - width: 2px; + width: $gantt-splitter-bar-width; } .dx-gantt-view { -webkit-user-select: none; // stylelint-disable-line property-no-vendor-prefix user-select: none; width: 100%; - min-width: 1px; + min-width: $gantt-view-min-width; .dx-gantt-tac-hb { - margin-top: -1px; + margin-top: -1px; // dx-px-nudge: a one-pixel correction on top of the row height } .dx-scrollable-scrollbar { diff --git a/packages/devextreme-scss/scss/widgets/base/gantt/_mixins.scss b/packages/devextreme-scss/scss/widgets/base/gantt/_mixins.scss index 08e37674d6b9..12e879ceb46f 100644 --- a/packages/devextreme-scss/scss/widgets/base/gantt/_mixins.scss +++ b/packages/devextreme-scss/scss/widgets/base/gantt/_mixins.scss @@ -7,70 +7,100 @@ background-image: string.unquote($uri); } -@mixin gantt-icons-mixin($color) { +/* + * A background image cannot read the element's `color`, so `gantt-icon-colored` bakes the rest + * colour into the svg and every extra state needs the whole set emitted again. The same artwork + * used as a mask carries only its alpha, so one copy is painted by `currentColor` and follows + * whatever the cascade already puts on `.dx-icon` - including the disabled colour. + */ +@mixin gantt-icon-masked($data-uri) { + $uri: replace("#{$data-uri}", "currentColor", "%23000"); + + mask-image: string.unquote($uri); +} + +@mixin gantt-icon($data-uri, $color, $masked) { + @if $masked { + @include gantt-icon-masked($data-uri); + } @else { + @include gantt-icon-colored($data-uri, $color); + } +} + +@mixin gantt-icons-mixin($color: null, $masked: false) { .dx-gantt-i { + @if $masked { + /* `background-size` for a `.dx-icon` is set by whatever hosts it - `contain` in a button, + an explicit icon size in the toolbar's overflow menu. Both resolve to the 20px content box + these square 18px glyphs already fill, so one `contain` mirrors the image the mask replaces. */ + mask-position: 50% 50%; + mask-repeat: no-repeat; + mask-size: contain; + background-color: currentColor; + } + &.dx-gantt-i-add { - @include gantt-icon-colored(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/gantt/add.svg"), $color); + @include gantt-icon(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/gantt/add.svg"), $color, $masked); } &.dx-gantt-i-add-sub-task { - @include gantt-icon-colored(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/gantt/add-sub-task.svg"), $color); + @include gantt-icon(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/gantt/add-sub-task.svg"), $color, $masked); } &.dx-gantt-i-add-task { - @include gantt-icon-colored(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/gantt/add-task.svg"), $color); + @include gantt-icon(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/gantt/add-task.svg"), $color, $masked); } &.dx-gantt-i-collapse { - @include gantt-icon-colored(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/gantt/collapse.svg"), $color); + @include gantt-icon(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/gantt/collapse.svg"), $color, $masked); } &.dx-gantt-i-delete { - @include gantt-icon-colored(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/gantt/delete.svg"), $color); + @include gantt-icon(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/gantt/delete.svg"), $color, $masked); } &.dx-gantt-i-delete-dependency { - @include gantt-icon-colored(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/gantt/delete-dependency.svg"), $color); + @include gantt-icon(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/gantt/delete-dependency.svg"), $color, $masked); } &.dx-gantt-i-expand { - @include gantt-icon-colored(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/gantt/expand.svg"), $color); + @include gantt-icon(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/gantt/expand.svg"), $color, $masked); } &.dx-gantt-i-full-screen { - @include gantt-icon-colored(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/gantt/full-screen.svg"), $color); + @include gantt-icon(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/gantt/full-screen.svg"), $color, $masked); } &.dx-gantt-i-redo { - @include gantt-icon-colored(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/gantt/redo.svg"), $color); + @include gantt-icon(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/gantt/redo.svg"), $color, $masked); } &.dx-gantt-i-task-details { - @include gantt-icon-colored(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/gantt/task-details.svg"), $color); + @include gantt-icon(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/gantt/task-details.svg"), $color, $masked); } &.dx-gantt-i-undo { - @include gantt-icon-colored(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/gantt/undo.svg"), $color); + @include gantt-icon(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/gantt/undo.svg"), $color, $masked); } &.dx-gantt-i-zoom-in { - @include gantt-icon-colored(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/gantt/zoom-in.svg"), $color); + @include gantt-icon(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/gantt/zoom-in.svg"), $color, $masked); } &.dx-gantt-i-zoom-out { - @include gantt-icon-colored(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/gantt/zoom-out.svg"), $color); + @include gantt-icon(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/gantt/zoom-out.svg"), $color, $masked); } &.dx-gantt-i-resource-manager { - @include gantt-icon-colored(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/gantt/resource-manager.svg"), $color); + @include gantt-icon(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/gantt/resource-manager.svg"), $color, $masked); } &.dx-gantt-i-toggle-resources { - @include gantt-icon-colored(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/gantt/toggle-resources.svg"), $color); + @include gantt-icon(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/gantt/toggle-resources.svg"), $color, $masked); } &.dx-gantt-i-toggle-dependencies { - @include gantt-icon-colored(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/gantt/toggle-dependencies.svg"), $color); + @include gantt-icon(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/gantt/toggle-dependencies.svg"), $color, $masked); } } } diff --git a/packages/devextreme-scss/scss/widgets/base/gridBase/_index.scss b/packages/devextreme-scss/scss/widgets/base/gridBase/_index.scss index 2c56c22f1444..30a2b5f6d2af 100644 --- a/packages/devextreme-scss/scss/widgets/base/gridBase/_index.scss +++ b/packages/devextreme-scss/scss/widgets/base/gridBase/_index.scss @@ -17,7 +17,16 @@ flex: 0 0 auto; } -@mixin grid-base($widget-name) { +// NOTE: a11y aria-live container must be visible to allow screen readers read it +.dx-gridbase-a11y-status-container { + position: fixed; + left: 0; + top: 0; + clip: rect(1px, 1px, 1px, 1px); // dx-structural: clips the a11y live region to nothing while keeping it rendered — the NOTE above; not a size + clip-path: polygon(0 0); +} + +@mixin grid-base($widget-name, $draggable-column-opacity: 0.5, $column-chooser-item-opacity: 0.5) { @include grid-base-cell($widget-name); .dx-#{$widget-name}-checkbox-size { @@ -25,7 +34,7 @@ } .dx-#{$widget-name}-important-margin { - margin-right: 5px !important; // stylelint-disable-line declaration-no-important + margin-right: 5px !important; // stylelint-disable-line declaration-no-important -- dx-fixed-size: legacy compat helper class, kept for the Foundation layout below } // for Foundation Responsive Framework @@ -43,7 +52,7 @@ } > .dx-pager { - margin-top: -1px; + margin-top: -1px; // dx-px-nudge: pulls the pager up by one border so its top edge overlaps the grid bottom edge } > .dx-#{$widget-name}-rowsview.dx-last-row-border { @@ -74,12 +83,12 @@ padding-top: 0; &:first-child { - padding-top: 1px; + padding-top: 1px; // dx-px-nudge: lifts the first submenu row off the menu border } } .dx-menu-item { - padding: 7px 30px 7px 5px; + padding: $grid-context-menu-item-padding-block $grid-context-menu-item-padding-inline-end $grid-context-menu-item-padding-block $grid-context-menu-item-padding-inline-start; .dx-menu-image { background-position-x: left; @@ -103,8 +112,8 @@ .dx-sort-index-icon { padding-right: $grid-sort-index-offset; - margin-left: -$grid-sort-index-offset; - width: $grid-sort-index-width + $grid-sort-index-offset; + margin-left: grid-negate($grid-sort-index-offset); + width: grid-sum($grid-sort-index-width, $grid-sort-index-offset); } .dx-sort, @@ -121,7 +130,7 @@ bottom: 0; left: 0; right: 0; - margin: -$grid-cell-padding; + margin: grid-negate($grid-cell-padding); } } } @@ -147,19 +156,22 @@ .dx-overlay-content { .dx-popup-title { border-bottom: none; - font-size: 16px; + font-size: $grid-column-chooser-title-font-size; .dx-toolbar-label { - font-size: 16px; + font-size: $grid-column-chooser-title-font-size; } } .dx-popup-content { - padding: 0 20px 20px 20px; + padding: $grid-column-chooser-content-padding; .dx-column-chooser-item { - opacity: 0.5; - margin-bottom: 10px; + @if $column-chooser-item-opacity { + opacity: $column-chooser-item-opacity; + } + + margin-bottom: $grid-column-chooser-item-margin-block-end; &.dx-#{$widget-name}-drag-action { opacity: 1; @@ -168,7 +180,9 @@ } &.dx-#{$widget-name}-draggable-column { - opacity: 0.5; + @if $draggable-column-opacity { + opacity: $draggable-column-opacity; + } } } } @@ -184,7 +198,7 @@ .dx-#{$widget-name}-column-chooser-plain, .dx-#{$widget-name}-column-chooser-list { .dx-treeview-node { .dx-treeview-item { - padding-inline-start: 4px; + padding-inline-start: $grid-column-chooser-tree-view-item-padding-inline-start; } } } @@ -212,7 +226,7 @@ .dx-#{$widget-name}-columns-separator { position: absolute; z-index: 4; - width: 3px; + width: $grid-column-separator-width; } .dx-#{$widget-name}-columns-separator-transparent { @@ -246,7 +260,9 @@ } .dx-#{$widget-name}-draggable-column { - opacity: 0.5; + @if $draggable-column-opacity { + opacity: $draggable-column-opacity; + } } .dx-data-row.dx-state-hover { @@ -295,7 +311,7 @@ border-collapse: collapse; border-spacing: 0; margin: 0; - max-width: 10px; + max-width: 10px; // dx-structural: deliberately tiny so the table sizes to its columns rather than the container — the fixed variant below resets it to none &.dx-#{$widget-name}-table-fixed { max-width: none; @@ -306,7 +322,7 @@ } &.dx-sort-index { - width: $grid-column-header-indicator-width + $grid-sort-index-width; + width: grid-sum($grid-column-header-indicator-width, $grid-sort-index-width); } } } @@ -412,9 +428,9 @@ &::after { content: ""; position: absolute; - border: 2px solid transparent; + border: 2px solid transparent; // dx-line-width: thickness of the invalid-cell ring, drawn on a pseudo-element top: 0; - left: 1px; + left: 1px; // dx-px-nudge: insets that ring by the cell border on the left bottom: 0; right: 0; pointer-events: none; @@ -462,7 +478,7 @@ .dx-#{$widget-name}-headers { position: relative; outline: 0; - min-height: 1px; + min-height: 1px; // dx-structural: one-pixel floor so the headers block keeps layout presence when it has no rows; not a designed height @include user-select(none); } @@ -491,7 +507,7 @@ .dx-sort-indicator, .dx-header-filter-indicator { - max-width: calc(100% - #{math.round($grid-column-header-indicator-width + $grid-text-content-margin)}); + max-width: grid-header-text-max-width(1, 1); &.dx-text-content-alignment-left { margin-right: $grid-text-content-margin; @@ -502,31 +518,31 @@ } &.dx-text-content-alignment-left.dx-text-content-alignment-right { - max-width: calc(100% - #{math.round($grid-column-header-indicator-width * 2 + $grid-text-content-margin * 2)}); + max-width: grid-header-text-max-width(2, 2); } } .dx-sort-indicator.dx-header-filter-indicator { - max-width: calc(100% - #{math.round($grid-column-header-indicator-width * 2 + $grid-text-content-margin)}); + max-width: grid-header-text-max-width(2, 1); } .dx-sort-indicator.dx-header-filter-indicator.dx-text-content-alignment-left.dx-text-content-alignment-right { - max-width: calc(100% - #{math.round($grid-column-header-indicator-width * 4 + $grid-text-content-margin * 2)}); + max-width: grid-header-text-max-width(4, 2); } .dx-sort-indicator.dx-sort-index-indicator { - max-width: calc(100% - #{math.round($grid-column-header-indicator-width + $grid-text-content-margin + $grid-sort-index-width)}); + max-width: grid-header-text-max-width(1, 1, 1); &.dx-header-filter-indicator { - max-width: calc(100% - #{math.round($grid-column-header-indicator-width * 2 + $grid-text-content-margin + $grid-sort-index-width)}); + max-width: grid-header-text-max-width(2, 1, 1); } &.dx-text-content-alignment-left.dx-text-content-alignment-right { - max-width: calc(100% - #{math.round($grid-column-header-indicator-width * 2 + $grid-text-content-margin * 2 + $grid-sort-index-width)}); + max-width: grid-header-text-max-width(2, 2, 1); } &.dx-header-filter-indicator.dx-text-content-alignment-left.dx-text-content-alignment-right { - max-width: calc(100% - #{math.round($grid-column-header-indicator-width * 4 + $grid-text-content-margin * 2 + $grid-sort-index-width)}); + max-width: grid-header-text-max-width(4, 2, 1); } } } @@ -538,17 +554,17 @@ &.dx-state-focused::after { content: " "; position: absolute; - top: -1px; - bottom: -1px; - left: -1px; - right: -1px; + top: -1px; // dx-px-nudge: pulls the focus ring out over the cell border + bottom: -1px; // dx-px-nudge: pulls the focus ring out over the cell border + left: -1px; // dx-px-nudge: pulls the focus ring out over the cell border + right: -1px; // dx-px-nudge: pulls the focus ring out over the cell border z-index: 1; pointer-events: none; } } .dx-#{$widget-name}-filter-range-end { - border-top: 1px solid transparent; + border-top: 1px solid transparent; // dx-line-width: hairline placeholder keeping the range-end input aligned with the range-start one } .dx-editor-container { @@ -633,20 +649,20 @@ } .dx-menu-horizontal .dx-overlay-content ul .dx-menu-item { - padding: 5px; - padding-right: 30px; + padding: $grid-context-menu-overlay-item-padding; + padding-right: $grid-context-menu-overlay-item-padding-inline-end; } .dx-menu ul.dx-menu-horizontal > li > .dx-menu-item { - padding: 8px 5px 7px 5px; + padding: $grid-menu-bar-item-padding; } .dx-menu ul.dx-menu-horizontal > li > .dx-menu-item.dx-state-disabled:hover { - padding: 9px 6px 8px 6px; + padding: 9px 6px 8px 6px; // dx-px-nudge: +1px on each side of the resting padding above, compensating the border the disabled item loses on hover } .dx-menu-caption { - padding-left: 6px; + padding-left: $grid-menu-caption-padding-inline-start; } .dx-menu ul .dx-menu-item .dx-menu-chouser-down { @@ -668,7 +684,7 @@ .dx-toolbar-menu-container { .dx-button { - margin-left: 10px; + margin-left: $grid-toolbar-button-margin-inline-start; } } } @@ -683,7 +699,7 @@ .dx-#{$widget-name}-search-panel { margin: 0; - margin-left: 15px; + margin-left: $grid-search-panel-margin-inline-start; } .dx-gridbase-container > .dx-#{$widget-name}-rowsview { @@ -707,7 +723,7 @@ overflow: hidden; &.dx-empty { - height: 100px; + height: $grid-rowsview-empty-height; .dx-scrollable-content { height: 100%; @@ -808,7 +824,7 @@ .dx-#{$widget-name}-bottom-load-panel { text-align: center; - padding: 10px; + padding: $grid-bottom-load-panel-padding; } .dx-#{$widget-name}-hidden-column > * { @@ -882,7 +898,7 @@ .dx-#{$widget-name}.dx-rtl { .dx-menu-subitem { .dx-menu-item { - padding: 7px 5px 7px 30px; + padding: $grid-context-menu-item-padding-block $grid-context-menu-item-padding-inline-start $grid-context-menu-item-padding-block $grid-context-menu-item-padding-inline-end; .dx-menu-image { background-position-x: right; @@ -937,7 +953,7 @@ right: 0; left: auto; margin-left: 0; - margin-right: -2px; + margin-right: -2px; // dx-px-nudge: RTL mirror — pulls the menu out by its own border } & > td:first-child .dx-menu { @@ -945,12 +961,12 @@ } .dx-menu-horizontal .dx-overlay-content ul .dx-menu-item { - padding: 5px; - padding-left: 30px; + padding: $grid-context-menu-overlay-item-padding; + padding-left: $grid-context-menu-overlay-item-padding-inline-end; } .dx-menu-caption { - padding-right: 6px; + padding-right: $grid-menu-caption-padding-inline-start; } } @@ -964,14 +980,14 @@ .dx-toolbar-menu-container { .dx-button { margin-left: 0; - margin-right: 10px; + margin-right: $grid-toolbar-button-margin-inline-start; } } } .dx-#{$widget-name}-search-panel { margin: 0; - margin-right: 15px; + margin-right: $grid-search-panel-margin-inline-start; } } @@ -984,7 +1000,7 @@ } .dx-#{$widget-name}-filter-panel { - padding: 10px; + padding: $grid-filter-panel-padding; .dx-#{$widget-name}-filter-panel-text { @include dx-overflow(); @@ -997,12 +1013,12 @@ } .dx-#{$widget-name}-filter-panel-checkbox { - padding-right: 10px; + padding-right: $grid-filter-panel-checkbox-padding-inline-end; } .dx-icon-filter { margin: auto; - margin-right: 7px; + margin-right: $grid-filter-panel-icon-margin-inline-end; cursor: pointer; } } diff --git a/packages/devextreme-scss/scss/widgets/base/gridBase/_variables.scss b/packages/devextreme-scss/scss/widgets/base/gridBase/_variables.scss index e6a121dc6e89..efc0bc94ad13 100644 --- a/packages/devextreme-scss/scss/widgets/base/gridBase/_variables.scss +++ b/packages/devextreme-scss/scss/widgets/base/gridBase/_variables.scss @@ -1,6 +1,11 @@ +@use "sass:math"; +@use "sass:meta"; + $grid-cell-padding: 7px !default; $grid-texteditor-input-padding: 32px !default; -$grid-total-footer-paddings: 7px !default; + +// the footer used to be written as `$x * 2`; the knob holds the padding itself now +$grid-total-footer-padding-block: 14px !default; $grid-command-select-column-width: 70px !default; $grid-command-edit-column-width: 100px !default; $grid-command-edit-column-with-icons-width: 80px !default; @@ -11,3 +16,73 @@ $grid-text-content-margin: 3px !default; $grid-sort-index-width: 12px !default; $grid-sort-index-offset: 3px !default; $grid-ai-assistant-confirm-dialog-button-width: 50px !default; + +// Sizes the shared layer used to pin inside rules; the theme owns them now +$grid-context-menu-item-padding-block: 7px !default; +$grid-context-menu-item-padding-inline-start: 5px !default; +$grid-context-menu-item-padding-inline-end: 30px !default; +$grid-context-menu-overlay-item-padding: 5px !default; +$grid-context-menu-overlay-item-padding-inline-end: 30px !default; +$grid-menu-bar-item-padding: 8px 5px 7px 5px !default; +$grid-menu-caption-padding-inline-start: 6px !default; +$grid-column-chooser-title-font-size: 16px !default; +$grid-column-chooser-content-padding: 0 20px 20px 20px !default; +$grid-column-chooser-item-margin-block-end: 10px !default; +$grid-column-chooser-tree-view-item-padding-inline-start: 4px !default; +$grid-column-separator-width: 3px !default; +$grid-toolbar-button-margin-inline-start: 10px !default; +$grid-search-panel-margin-inline-start: 15px !default; +$grid-rowsview-empty-height: 100px !default; +$grid-bottom-load-panel-padding: 10px !default; +$grid-filter-panel-padding: 10px !default; +$grid-filter-panel-checkbox-padding-inline-end: 10px !default; +$grid-filter-panel-icon-margin-inline-end: 7px !default; + +/* + * The four sizes above are read in arithmetic, and arithmetic is where a token cannot follow: a + * legacy theme passes numbers, which Sass folds at build time, while fluent-next passes var(), + * which Sass can neither add nor negate nor round. So every such spot goes through one of the + * three helpers below: with numbers they return exactly what the layer emitted before, with + * var() they emit the same sum as a single runtime calc(). Nothing else in the layer changes. + */ + +@function grid-negate($value) { + @if meta.type-of($value) == number { + @return -$value; + } + + @return calc(-1 * #{$value}); +} + +@function grid-sum($first, $second) { + @if meta.type-of($first) == number and meta.type-of($second) == number { + @return $first + $second; + } + + @return calc(#{$first} + #{$second}); +} + +/* + * Header text must not run under the indicator icons, so its max-width subtracts them. math.round() + * guarded against a fractional theme value; with the current numbers (14/3/12) every one of the + * eight sums is already whole, so dropping it in the var() branch subtracts the same amount. + */ +@function grid-header-text-max-width($indicators, $margins, $sort-indexes: 0) { + @if meta.type-of($grid-column-header-indicator-width) == number + and meta.type-of($grid-text-content-margin) == number + and meta.type-of($grid-sort-index-width) == number { + $sum: $grid-column-header-indicator-width * $indicators + + $grid-text-content-margin * $margins + + $grid-sort-index-width * $sort-indexes; + + @return calc(100% - #{math.round($sum)}); + } + + $sum: "#{$indicators} * #{$grid-column-header-indicator-width} + #{$margins} * #{$grid-text-content-margin}"; + + @if $sort-indexes > 0 { + $sum: "#{$sum} + #{$sort-indexes} * #{$grid-sort-index-width}"; + } + + @return calc(100% - (#{$sum})); +} diff --git a/packages/devextreme-scss/scss/widgets/base/gridBase/layout/aiChat/_mixins.scss b/packages/devextreme-scss/scss/widgets/base/gridBase/layout/aiChat/_mixins.scss index 6e992a50baa9..956994ccc337 100644 --- a/packages/devextreme-scss/scss/widgets/base/gridBase/layout/aiChat/_mixins.scss +++ b/packages/devextreme-scss/scss/widgets/base/gridBase/layout/aiChat/_mixins.scss @@ -44,7 +44,7 @@ $border-color, ) { .dx-ai-chat__content .dx-chat-messagegroup-alignment-start .dx-chat-messagebubble { - border-width: 1px; + border-width: 1px; // dx-line-width: hairline border of the incoming message bubble border-style: solid; border-color: $border-color; } diff --git a/packages/devextreme-scss/scss/widgets/base/gridBase/layout/cell.scss b/packages/devextreme-scss/scss/widgets/base/gridBase/layout/cell.scss index 493328baff48..b08254901bff 100644 --- a/packages/devextreme-scss/scss/widgets/base/gridBase/layout/cell.scss +++ b/packages/devextreme-scss/scss/widgets/base/gridBase/layout/cell.scss @@ -247,8 +247,8 @@ // (0,3,1) .dx-#{$widget-name}-total-footer > .dx-#{$widget-name}-content .dx-row > td { - padding-top: $grid-total-footer-paddings * 2; - padding-bottom: $grid-total-footer-paddings * 2; + padding-top: $grid-total-footer-padding-block; + padding-bottom: $grid-total-footer-padding-block; } // (0,4,0) diff --git a/packages/devextreme-scss/scss/widgets/base/list/_index.scss b/packages/devextreme-scss/scss/widgets/base/list/_index.scss index ce602f27237d..ddcf7c6908b3 100644 --- a/packages/devextreme-scss/scss/widgets/base/list/_index.scss +++ b/packages/devextreme-scss/scss/widgets/base/list/_index.scss @@ -1,11 +1,21 @@ @use "../mixins" as *; @use "../button/mixins" as *; +$list-response-wait-opacity: 0.5 !default; + $list-searchbox-margin-bottom: 5px !default; +// Design sizing values (parametrizable; fluent-next injects tokens) +$list-item-badge-container-width: 20px !default; +$list-slide-menu-button-padding: 0 10px !default; +$list-static-delete-button-padding: 0 5px !default; +$list-next-button-padding: 5px !default; + +$list-min-height: 3em !default; // dx-relative +$list-empty-message-button-padding: 0 3em !default; // dx-relative .dx-list { margin: 0; - min-height: 3em; + min-height: $list-min-height; .dx-scrollview-content:focus { outline: 0; @@ -62,12 +72,12 @@ $list-searchbox-margin-bottom: 5px !default; @include dx-overflow(); text-align: start; - min-height: 3em; + min-height: $list-min-height; } .dx-list-item-badge-container { display: table-cell; - width: 20px; + width: $list-item-badge-container-width; text-align: right; vertical-align: middle; } @@ -91,7 +101,7 @@ $list-searchbox-margin-bottom: 5px !default; } .dx-list-item-response-wait { - opacity: 0.5; + opacity: $list-response-wait-opacity; transition: opacity 0.2s linear; } @@ -227,12 +237,12 @@ $list-searchbox-margin-bottom: 5px !default; .dx-list-slide-menu-button { display: table-cell; - padding: 0 10px; + padding: $list-slide-menu-button-padding; vertical-align: middle; } .dx-list-static-delete-button { - padding: 0 5px; + padding: $list-static-delete-button-padding; .dx-button-content { overflow: visible; @@ -240,11 +250,11 @@ $list-searchbox-margin-bottom: 5px !default; } .dx-list-next-button { - padding: 5px; + padding: $list-next-button-padding; text-align: center; .dx-button { - padding: 0 3em; + padding: $list-empty-message-button-padding; } } diff --git a/packages/devextreme-scss/scss/widgets/base/list/_mixins.scss b/packages/devextreme-scss/scss/widgets/base/list/_mixins.scss index d27e57091ad4..d5d4d7e3f9c0 100644 --- a/packages/devextreme-scss/scss/widgets/base/list/_mixins.scss +++ b/packages/devextreme-scss/scss/widgets/base/list/_mixins.scss @@ -7,8 +7,27 @@ background-image: string.unquote($uri); } -@mixin toggle-delete-icon($color) { +/* + * A background image cannot read the element's `color`, so `list-icon-colored` bakes the colour + * into the svg and every state that recolours the icon needs it emitted again. The same artwork + * used as a mask carries only its alpha, so one copy is painted by `currentColor` and follows + * whatever the cascade already puts on `.dx-icon`. + */ +@mixin list-icon-masked($data-uri) { + $uri: replace("#{$data-uri}", "currentColor", "%23000"); + + mask-image: string.unquote($uri); + mask-position: 50% 50%; + mask-repeat: no-repeat; + background-color: currentColor; +} + +@mixin toggle-delete-icon($color: null, $masked: false) { .dx-icon-toggle-delete { - @include list-icon-colored(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/list/toggle-delete.svg"), $color); + @if $masked { + @include list-icon-masked(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/list/toggle-delete.svg")); + } @else { + @include list-icon-colored(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/list/toggle-delete.svg"), $color); + } } } diff --git a/packages/devextreme-scss/scss/widgets/base/lookup/_index.scss b/packages/devextreme-scss/scss/widgets/base/lookup/_index.scss index de0b1034ee0c..076a47c649e0 100644 --- a/packages/devextreme-scss/scss/widgets/base/lookup/_index.scss +++ b/packages/devextreme-scss/scss/widgets/base/lookup/_index.scss @@ -1,12 +1,13 @@ @use "./mixins" as *; @use "../mixins" as *; +$lookup-popup-search-list-height: 90% !default; // dx-relative-% .dx-lookup { margin: 0; .dx-popup-content { .dx-scrollable { - height: calc(100% - 45px); + height: calc(100% - 45px); // dx-fixed-size: the height the popup toolbar takes from the list } } @@ -77,7 +78,7 @@ .dx-lookup-popup-search { .dx-list { - height: 90%; + height: $lookup-popup-search-list-height; } } diff --git a/packages/devextreme-scss/scss/widgets/base/pivotGrid/_common.scss b/packages/devextreme-scss/scss/widgets/base/pivotGrid/_common.scss index ccd0ece68a21..925384674a81 100644 --- a/packages/devextreme-scss/scss/widgets/base/pivotGrid/_common.scss +++ b/packages/devextreme-scss/scss/widgets/base/pivotGrid/_common.scss @@ -1,3 +1,6 @@ +$pivotgrid-common-field-chooser-drag-width: null !default; +$pivotgrid-common-field-chooser-drag-height: null !default; + .dx-pivotgrid-fields-container { .dx-sort, .dx-header-filter { @@ -232,8 +235,8 @@ .dx-pivotgrid-scrollbar-measure-element { position: absolute; - top: -9999px; - width: 100px; - height: 100px; + top: -9999px; // dx-structural: parks the scrollbar probe off-screen + width: $pivotgrid-common-field-chooser-drag-width; + height: $pivotgrid-common-field-chooser-drag-height; overflow: scroll; } diff --git a/packages/devextreme-scss/scss/widgets/base/pivotGrid/_index.scss b/packages/devextreme-scss/scss/widgets/base/pivotGrid/_index.scss index f207e0faa181..79ac3c79eff2 100644 --- a/packages/devextreme-scss/scss/widgets/base/pivotGrid/_index.scss +++ b/packages/devextreme-scss/scss/widgets/base/pivotGrid/_index.scss @@ -1,3 +1,29 @@ +$pivotgrid-drag-source-opacity: 0.5 !default; +$pivotgrid-fields-container-drag-opacity: 0.8 !default; + +// Design sizing values (parametrizable; fluent-next injects tokens) +$pivotgrid-position-indicator-vertical-height: 2px !default; +$pivotgrid-position-indicator-horizontal-width: 2px !default; +$pivotgrid-position-indicator-last-margin-left: 3px !default; +$pivotgrid-area-box-margin-bottom: 4px !default; +$pivotgrid-expand-icon-container-outline: 2px solid !default; +$pivotgrid-toolbar-margin-right: 10px !default; +$pivotgrid-field-chooser-button-margin-right: 4px !default; +$pivotgrid-button-margin: 1px !default; +$pivotgrid-last-cell-min-width: 50px !default; +$pivotgrid-icon-sorted-margin-left: 5px !default; +$pivotgrid-fields-area-head-padding: 0 2px !default; +$pivotgrid-treeview-search-margin: 5px !default; +$pivotgrid-area-padding: 5px !default; +$pivotgrid-area-fields-margin-top: 3px !default; +$pivotgrid-position-indicator-last-margin-left-rtl: 1px !default; +$pivotgrid-toolbar-margin-left: 10px !default; +$pivotgrid-field-chooser-button-margin-left: 4px !default; +$pivotgrid-fields-area-head-padding-left: 2px !default; +$pivotgrid-icon-sorted-margin-right: 5px !default; +$pivotgrid-header-cell-side-padding: 2px !default; +$pivotgrid-fields-area-head-cell-side-padding: 2px !default; + $pivotgrid-drag-header-border-color: null !default; $pivotgrid-drag-header-first-shadow-color: null !default; $pivotgrid-drag-header-second-shadow-color: null !default; @@ -21,39 +47,48 @@ $pivotgrid-button-top-padding: null !default; @use "../mixins" as *; @use "../icon_fonts" as *; -@use "./common"; +$pivotgrid-common-field-chooser-drag-width: 100px !default; +$pivotgrid-common-field-chooser-drag-height: 100px !default; + +@use "./common" with ( + $pivotgrid-common-field-chooser-drag-width: $pivotgrid-common-field-chooser-drag-width, + $pivotgrid-common-field-chooser-drag-height: $pivotgrid-common-field-chooser-drag-height, +); +@use "sass:meta"; -$pivotgrid-drag-header-border: 1px solid !default; -$pivotgrid-drag-header-first-shadow: 0 0 1px $pivotgrid-drag-header-first-shadow-color !default; -$pivotgrid-drag-header-second-shadow: 0 1px 3px $pivotgrid-drag-header-second-shadow-color !default; $pivotgrid-border-width: 1px !default; -$pivotgrid-border: $pivotgrid-border-width solid !default; +$pivotgrid-focus-outline-width: 2px !default; +$pivotgrid-focus-outline-offset: -2px !default; +$pivotgrid-drag-header-border: $pivotgrid-border-width solid !default; +$pivotgrid-drag-header-first-shadow: 0 0 1px $pivotgrid-drag-header-first-shadow-color; // dx-shadow-geometry +$pivotgrid-drag-header-second-shadow: 0 1px 3px $pivotgrid-drag-header-second-shadow-color; // dx-shadow-geometry +$pivotgrid-border: $pivotgrid-border-width solid; $pivotgrid-icon-size: 14px !default; $pivotgrid-common-field-padding: 2px !default; -$pivotgrid-filter-area-border-spacing: $pivotgrid-common-left-right-padding - $pivotgrid-common-field-padding $pivotgrid-header-top-bottom-padding - $pivotgrid-common-field-padding !default; -$pivotgrid-expand-icon-offset: -5px !default; -$pivotgrid-expand-icon-text-offset: 0 !default; +$pivotgrid-filter-area-border-spacing: if(meta.type-of($pivotgrid-common-left-right-padding) == number and meta.type-of($pivotgrid-common-field-padding) == number, $pivotgrid-common-left-right-padding - $pivotgrid-common-field-padding, calc(#{$pivotgrid-common-left-right-padding} - #{$pivotgrid-common-field-padding})) if(meta.type-of($pivotgrid-header-top-bottom-padding) == number and meta.type-of($pivotgrid-common-field-padding) == number, $pivotgrid-header-top-bottom-padding - $pivotgrid-common-field-padding, calc(#{$pivotgrid-header-top-bottom-padding} - #{$pivotgrid-common-field-padding})) !default; +$pivotgrid-expand-icon-offset: -5px; // dx-fixed-size: negated at its use site +$pivotgrid-expand-icon-text-offset: 0; .dx-pivotgrid-fields-container { .dx-position-indicator { background-color: gray; &.dx-position-indicator-vertical { - margin-top: -4px; - margin-left: -1px; - height: 2px; + margin-top: -4px; // dx-fixed-size: pulls the element onto the grid line + margin-left: -1px; // dx-fixed-size: pulls the element onto the grid line + height: $pivotgrid-position-indicator-vertical-height; &.dx-position-indicator-last { - margin-top: -3px; + margin-top: -3px; // dx-fixed-size: pulls the element onto the grid line } } &.dx-position-indicator-horizontal { - margin-left: -3px; - width: 2px; + margin-left: -3px; // dx-fixed-size: pulls the element onto the grid line + width: $pivotgrid-position-indicator-horizontal-width; &.dx-position-indicator-last { - margin-left: 3px; + margin-left: $pivotgrid-position-indicator-last-margin-left; } } } @@ -94,13 +129,15 @@ $pivotgrid-expand-icon-text-offset: 0 !default; } .dx-area-field:focus-visible { - outline: 2px solid; + outline: $pivotgrid-focus-outline-width solid; outline-color: $pivotgrid-accent-color; - outline-offset: -2px; + outline-offset: $pivotgrid-focus-outline-offset; } &.dx-drag { - opacity: 0.8; + @if $pivotgrid-fields-container-drag-opacity { + opacity: $pivotgrid-fields-container-drag-opacity; + } .dx-area-field.dx-area-box { box-shadow: $pivotgrid-drag-header-first-shadow, $pivotgrid-drag-header-second-shadow; @@ -111,14 +148,16 @@ $pivotgrid-expand-icon-text-offset: 0 !default; .dx-area-field.dx-area-box { background-color: $pivotgrid-area-background; - margin-bottom: 4px; + margin-bottom: $pivotgrid-area-box-margin-bottom; border: $pivotgrid-border; border-color: $pivotgrid-border-color; padding: $pivotgrid-common-top-bottom-padding $pivotgrid-common-left-right-padding; } .dx-drag-source { - opacity: 0.5; + @if $pivotgrid-drag-source-opacity { + opacity: $pivotgrid-drag-source-opacity; + } } .dx-column-indicators { @@ -134,16 +173,16 @@ $pivotgrid-expand-icon-text-offset: 0 !default; .dx-pivotgrid { td:has(> .dx-expand-icon-container:focus-visible) { - outline: 2px solid; + outline: $pivotgrid-expand-icon-container-outline; outline-color: $pivotgrid-accent-color; - outline-offset: -2px; + outline-offset: $pivotgrid-focus-outline-offset; } .dx-pivotgrid-horizontal-headers td:focus-visible, .dx-pivotgrid-vertical-headers td:focus-visible { - outline: 2px solid; + outline: $pivotgrid-expand-icon-container-outline; outline-color: $pivotgrid-accent-color; - outline-offset: -2px; + outline-offset: $pivotgrid-focus-outline-offset; } .dx-expand-icon-container:focus-visible { @@ -151,15 +190,15 @@ $pivotgrid-expand-icon-text-offset: 0 !default; } .dx-pivotgrid-toolbar .dx-button:focus-visible { - outline: 2px solid; + outline: $pivotgrid-focus-outline-width solid; outline-color: $pivotgrid-accent-color; - outline-offset: -2px; + outline-offset: $pivotgrid-focus-outline-offset; } .dx-column-header, .dx-filter-header { .dx-pivotgrid-toolbar { - margin-right: 10px; + margin-right: $pivotgrid-toolbar-margin-right; float: right; display: inline-block; position: relative; @@ -170,7 +209,7 @@ $pivotgrid-expand-icon-text-offset: 0 !default; } .dx-pivotgrid-field-chooser-button { - margin-right: 4px; + margin-right: $pivotgrid-field-chooser-button-margin-right; } } } @@ -249,7 +288,7 @@ $pivotgrid-expand-icon-text-offset: 0 !default; .dx-pivotgrid-toolbar { .dx-button { - margin: 1px; + margin: $pivotgrid-button-margin; } } } @@ -274,7 +313,7 @@ $pivotgrid-expand-icon-text-offset: 0 !default; td { position: relative; border: none; - padding: $pivotgrid-header-top-bottom-padding 2px; + padding: $pivotgrid-header-top-bottom-padding $pivotgrid-header-cell-side-padding; } tr > td:first-child { @@ -295,10 +334,10 @@ $pivotgrid-expand-icon-text-offset: 0 !default; .dx-group-connector { position: absolute; - width: 2px; + width: $pivotgrid-position-indicator-horizontal-width; top: 50%; - height: 2px; - margin-top: -1px; + height: $pivotgrid-position-indicator-vertical-height; + margin-top: -1px; // dx-fixed-size: pulls the element onto the grid line background-color: $pivotgrid-border-color; &.dx-group-connector-prev { @@ -373,7 +412,7 @@ $pivotgrid-expand-icon-text-offset: 0 !default; td { // max-width: 150px; - min-width: 50px; + min-width: $pivotgrid-last-cell-min-width; border-right: $pivotgrid-border; border-right-color: $pivotgrid-border-color; } @@ -493,7 +532,7 @@ $pivotgrid-expand-icon-text-offset: 0 !default; .dx-icon-sorted { display: inline-block; - margin-left: 5px; + margin-left: $pivotgrid-icon-sorted-margin-left; width: $pivotgrid-icon-size; } @@ -502,7 +541,7 @@ $pivotgrid-expand-icon-text-offset: 0 !default; .dx-pivotgrid-fields-area-head { td { - padding: 0 2px; + padding: $pivotgrid-fields-area-head-padding; } } } @@ -524,7 +563,7 @@ $pivotgrid-expand-icon-text-offset: 0 !default; } .dx-treeview-search { - margin: 5px; + margin: $pivotgrid-treeview-search-margin; } .dx-area-icon { @@ -533,7 +572,7 @@ $pivotgrid-expand-icon-text-offset: 0 !default; } .dx-area { - padding: 5px; + padding: $pivotgrid-area-padding; display: flex; flex-grow: 1; flex-direction: column; @@ -541,7 +580,7 @@ $pivotgrid-expand-icon-text-offset: 0 !default; @include flexible-scrollable(); .dx-area-fields { - margin-top: 3px; + margin-top: $pivotgrid-area-fields-margin-top; border: $pivotgrid-border; border-color: $pivotgrid-border-color; display: flex; @@ -555,7 +594,7 @@ $pivotgrid-expand-icon-text-offset: 0 !default; } .dx-area-fields[group] { - padding: 5px; + padding: $pivotgrid-area-padding; background-color: $pivotgrid-totalcolor; display: flex; } @@ -569,10 +608,10 @@ $pivotgrid-expand-icon-text-offset: 0 !default; .dx-pivotgrid-fields-container { .dx-position-indicator { &.dx-position-indicator-horizontal { - margin-left: -3px; + margin-left: -3px; // dx-fixed-size: pulls the element onto the grid line &.dx-position-indicator-last { - margin-left: 1px; + margin-left: $pivotgrid-position-indicator-last-margin-left-rtl; } } } @@ -588,12 +627,12 @@ $pivotgrid-expand-icon-text-offset: 0 !default; .dx-filter-header { .dx-pivotgrid-toolbar { margin-right: 0; - margin-left: 10px; + margin-left: $pivotgrid-toolbar-margin-left; float: left; .dx-pivotgrid-field-chooser-button { margin-right: 0; - margin-left: 4px; + margin-left: $pivotgrid-field-chooser-button-margin-left; } } } @@ -601,7 +640,7 @@ $pivotgrid-expand-icon-text-offset: 0 !default; .dx-column-header { .dx-pivotgrid-fields-area-head { tr > td:first-child { - padding-left: 2px; + padding-left: $pivotgrid-fields-area-head-padding-left; padding-right: 0; } } @@ -609,7 +648,7 @@ $pivotgrid-expand-icon-text-offset: 0 !default; .dx-pivotgrid-fields-area-head { tr > td { - padding: $pivotgrid-common-left-right-padding 2px; + padding: $pivotgrid-common-left-right-padding $pivotgrid-fields-area-head-cell-side-padding; } tr > td:first-child { @@ -709,7 +748,7 @@ $pivotgrid-expand-icon-text-offset: 0 !default; .dx-icon-sorted { margin-left: 0; - margin-right: 5px; + margin-right: $pivotgrid-icon-sorted-margin-right; } .dx-pivotgridfieldchooser-container .dx-col { diff --git a/packages/devextreme-scss/scss/widgets/base/popover/_index.scss b/packages/devextreme-scss/scss/widgets/base/popover/_index.scss index d9a22934371f..04e6119f6a7d 100644 --- a/packages/devextreme-scss/scss/widgets/base/popover/_index.scss +++ b/packages/devextreme-scss/scss/widgets/base/popover/_index.scss @@ -1,5 +1,5 @@ @use "./mixins" as *; -@include dx-popover-arrow-size(20px); +@include dx-popover-arrow-size(20px); // dx-fixed-size: the arrow width; the mixin divides it by sqrt(2), so a var() cannot pass .dx-popover-arrow { position: absolute; diff --git a/packages/devextreme-scss/scss/widgets/base/radioButton/_mixins.scss b/packages/devextreme-scss/scss/widgets/base/radioButton/_mixins.scss index 0b5446215e20..bd61ebb072a0 100644 --- a/packages/devextreme-scss/scss/widgets/base/radioButton/_mixins.scss +++ b/packages/devextreme-scss/scss/widgets/base/radioButton/_mixins.scss @@ -1,4 +1,5 @@ @use "sass:math"; +@use "sass:meta"; @mixin dx-radiobutton-icon-mixin( $icon-size, @@ -9,7 +10,7 @@ $ripple-transition: all 0s ease 0s, ) { $border-radius: 50%; - $dot-icon-border-width: math.div($icon-size - $border-width * 2 - $dot-size, 2); + $dot-icon-border-width: if(meta.type-of($icon-size) == number and meta.type-of($border-width) == number and meta.type-of($dot-size) == number, math.div($icon-size - $border-width * 2 - $dot-size, 2), calc((#{$icon-size} - #{$border-width} * 2 - #{$dot-size}) / 2)); .dx-radiobutton-icon { position: relative; @@ -80,7 +81,12 @@ $useRipple: false, $focused-ripple-bg: transparent, $invalid-focused-ripple-bg: transparent, + $checked-border-color: null, + $invalid-border-color: null, ) { + $checked-border: if($checked-border-color, $checked-border-color, $checked-color); + $invalid-border: if($invalid-border-color, $invalid-border-color, $invalid-color); + .dx-radiobutton-icon { border-color: $border-color; background-color: $foreground-color; @@ -92,7 +98,7 @@ .dx-radiobutton-icon-checked { @if $useRipple { - border-color: $checked-color; + border-color: $checked-border; } .dx-radiobutton-icon-dot { @@ -151,7 +157,7 @@ .dx-invalid { .dx-radiobutton-icon { - border-color: $invalid-color; + border-color: $invalid-border; } @if $useRipple { diff --git a/packages/devextreme-scss/scss/widgets/base/radioGroup/_index.scss b/packages/devextreme-scss/scss/widgets/base/radioGroup/_index.scss index 1d68e8a53168..44930257df80 100644 --- a/packages/devextreme-scss/scss/widgets/base/radioGroup/_index.scss +++ b/packages/devextreme-scss/scss/widgets/base/radioGroup/_index.scss @@ -1,13 +1,17 @@ @use "./mixins" as *; +// Design sizing values (parametrizable; fluent-next injects tokens) +$radiogroup-radio-value-container-padding-inline-end: 10px !default; +$radiogroup-collection-column-gap: 17px !default; + .dx-radio-value-container { - padding-inline-end: 10px; + padding-inline-end: $radiogroup-radio-value-container-padding-inline-end; } .dx-radiogroup-horizontal { .dx-collection { display: flex; flex-wrap: wrap; - column-gap: 17px; + column-gap: $radiogroup-collection-column-gap; } } diff --git a/packages/devextreme-scss/scss/widgets/base/scheduler/_common.scss b/packages/devextreme-scss/scss/widgets/base/scheduler/_common.scss index 996034b1de34..80ff146f7c18 100644 --- a/packages/devextreme-scss/scss/widgets/base/scheduler/_common.scss +++ b/packages/devextreme-scss/scss/widgets/base/scheduler/_common.scss @@ -1,9 +1,12 @@ @use "sass:math"; @use "../../base/mixins" as *; -$scheduler-appointment-collector-margin: 3px !default; +$scheduler-appointment-collector-margin: 3px; // dx-fixed-size: the collector margin, multiplied elsewhere so a var() cannot pass $scheduler-appointment-collector-height: 22px !default; +$scheduler-common-collector-margin: null !default; +$scheduler-common-collector-size: null !default; + .dx-scheduler { .dx-empty-message { line-height: normal; @@ -47,7 +50,7 @@ $scheduler-appointment-collector-height: 22px !default; } .dx-scheduler-adaptive .dx-scheduler-appointment-collector { - margin: 0 3px; + margin: $scheduler-common-collector-margin; } .dx-scheduler-work-space-mouse-selection { @@ -69,7 +72,7 @@ $scheduler-appointment-collector-height: 22px !default; } .dx-scheduler-adaptive { - @media (max-width: 450px) { + @media (max-width: 450px) { // dx-literal-required: a media condition, var() is invalid here .dx-scheduler-view-switcher-label { display: none; } @@ -82,9 +85,9 @@ $scheduler-appointment-collector-height: 22px !default; .dx-scheduler-appointment-collector, .dx-scheduler-appointment-collector.dx-scheduler-appointment-collector-compact { - height: 28px; - width: 28px; - margin: 0 3px; + height: $scheduler-common-collector-size; + width: $scheduler-common-collector-size; + margin: $scheduler-common-collector-margin; } .dx-scheduler-work-space.dx-scheduler-timeline { diff --git a/packages/devextreme-scss/scss/widgets/base/scheduler/_index.scss b/packages/devextreme-scss/scss/widgets/base/scheduler/_index.scss index c42229cab532..12192e5ab38a 100644 --- a/packages/devextreme-scss/scss/widgets/base/scheduler/_index.scss +++ b/packages/devextreme-scss/scss/widgets/base/scheduler/_index.scss @@ -1,3 +1,4 @@ +$scheduler-appointment-collector-height: 22px !default; $scheduler-appointment-base-color: null !default; $scheduler-appointment-start-color: null !default; $scheduler-appointment-active-color: null !default; @@ -44,41 +45,77 @@ $agenda-appointment-recurrence-icon-color: null !default; @use "./mixins" as *; @use "../mixins" as *; @use "../icon_fonts" as *; -@use "./common"; +$scheduler-common-collector-margin: 0 3px !default; +$scheduler-common-collector-size: 28px !default; + +@use "./common" with ( + $scheduler-common-collector-margin: $scheduler-common-collector-margin, + $scheduler-common-collector-size: $scheduler-common-collector-size, + $scheduler-appointment-collector-height: $scheduler-appointment-collector-height, +); +$scheduler-tooltip-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.15) !default; + +$scheduler-tooltip-width: 360px !default; +$scheduler-tooltip-content-padding: 5px !default; +$scheduler-tooltip-title-margin-top: 7px !default; +$scheduler-tooltip-title-margin-left: 5px !default; +$scheduler-tooltip-date-margin: 5px 10px !default; +$scheduler-tooltip-remove-margin-top: 10px !default; +$scheduler-tooltip-subject-font-size: 16px !default; +$scheduler-tooltip-date-font-size: 12px !default; +$scheduler-tooltip-date-opacity: 0.8 !default; +$scheduler-appointment-content-details-font-size: 11px !default; + @use "./tooltip" with ( + $scheduler-tooltip-width: $scheduler-tooltip-width, + $scheduler-tooltip-content-padding: $scheduler-tooltip-content-padding, + $scheduler-tooltip-title-margin-top: $scheduler-tooltip-title-margin-top, + $scheduler-tooltip-title-margin-left: $scheduler-tooltip-title-margin-left, + $scheduler-tooltip-date-margin: $scheduler-tooltip-date-margin, + $scheduler-tooltip-remove-margin-top: $scheduler-tooltip-remove-margin-top, + $scheduler-tooltip-shadow: $scheduler-tooltip-shadow, $scheduler-appointment-base-color: $scheduler-appointment-base-color, $scheduler-tooltip-appointment-text-color: $scheduler-tooltip-appointment-text-color, $scheduler-appointment-overlay-bg: $scheduler-appointment-overlay-bg, - $scheduler-tooltip-list-focused-bg: $scheduler-tooltip-list-focused-bg + $scheduler-tooltip-list-focused-bg: $scheduler-tooltip-list-focused-bg, + $scheduler-tooltip-subject-font-size: $scheduler-tooltip-subject-font-size, + $scheduler-tooltip-date-font-size: $scheduler-tooltip-date-font-size, + $scheduler-tooltip-date-opacity: $scheduler-tooltip-date-opacity ); $scheduler-appointment-min-size: 4px !default; $scheduler-appointment-content-padding: 5px 7px !default; $scheduler-appointment-reduced-content-padding: 40px !default; -$scheduler-hovered-appointment-top-shadow-size: 5px !default; -$scheduler-focused-cell-shadow: inset 0 0 0 1px $scheduler-appointment-base-color !default; +$scheduler-hovered-appointment-top-shadow-size: 5px; // dx-fixed-size: negated and composed into shadows, so a var() cannot pass +$scheduler-focused-cell-shadow: inset 0 0 0 1px $scheduler-appointment-base-color; // dx-shadow-geometry -$scheduler-vertical-appointment-resizable-hovering-shadow: inset 0 $scheduler-hovered-appointment-top-shadow-size 0 0 $scheduler-appointment-start-color, inset 0 -2px 0 0 $scheduler-appointment-start-color !default; -$scheduler-vertical-appointment-hovering-shadow: inset 0 $scheduler-hovered-appointment-top-shadow-size 0 0 $scheduler-appointment-start-color !default; -$scheduler-vertical-appointment-shadow: inset 0 2px 0 0 $scheduler-appointment-start-color !default; -$scheduler-vertical-appointment-resizing-shadow: inset 0 -2px 0 0 $scheduler-appointment-start-color, $scheduler-vertical-appointment-shadow !default; +$scheduler-vertical-appointment-resizable-hovering-shadow: inset 0 $scheduler-hovered-appointment-top-shadow-size 0 0 $scheduler-appointment-start-color, inset 0 -2px 0 0 $scheduler-appointment-start-color; // dx-shadow-geometry +$scheduler-vertical-appointment-hovering-shadow: inset 0 $scheduler-hovered-appointment-top-shadow-size 0 0 $scheduler-appointment-start-color; +$scheduler-vertical-appointment-shadow: inset 0 2px 0 0 $scheduler-appointment-start-color; // dx-shadow-geometry +$scheduler-vertical-appointment-resizing-shadow: inset 0 -2px 0 0 $scheduler-appointment-start-color, $scheduler-vertical-appointment-shadow; // dx-shadow-geometry $scheduler-appointment-dragging-shadow: 7px 7px 15px 0 rgba(50, 50, 50, 0.2) !default; -$scheduler-horizontal-appointment-resizable-hovering-shadow: inset $scheduler-hovered-appointment-top-shadow-size 0 0 0 $scheduler-appointment-start-color, inset -2px 0 0 0 $scheduler-appointment-start-color !default; -$scheduler-horizontal-appointment-resizable-hovering-shadow-rtl: inset (-$scheduler-hovered-appointment-top-shadow-size) 0 0 0 $scheduler-appointment-start-color, inset 2px 0 0 0 $scheduler-appointment-start-color !default; -$scheduler-horizontal-appointment-hovering-shadow: inset $scheduler-hovered-appointment-top-shadow-size 0 0 0 $scheduler-appointment-start-color !default; +$scheduler-horizontal-appointment-resizable-hovering-shadow: inset $scheduler-hovered-appointment-top-shadow-size 0 0 0 $scheduler-appointment-start-color, inset -2px 0 0 0 $scheduler-appointment-start-color; // dx-shadow-geometry +$scheduler-horizontal-appointment-resizable-hovering-shadow-rtl: inset (-$scheduler-hovered-appointment-top-shadow-size) 0 0 0 $scheduler-appointment-start-color, inset 2px 0 0 0 $scheduler-appointment-start-color; // dx-shadow-geometry +$scheduler-horizontal-appointment-hovering-shadow: inset $scheduler-hovered-appointment-top-shadow-size 0 0 0 $scheduler-appointment-start-color; $scheduler-horizontal-appointment-hovering-shadow-rtl: inset (-$scheduler-hovered-appointment-top-shadow-size) 0 0 0 $scheduler-appointment-start-color !default; -$scheduler-horizontal-appointment-shadow: inset 2px 0 0 0 $scheduler-appointment-start-color !default; -$scheduler-horizontal-appointment-shadow-rtl: inset -2px 0 0 0 $scheduler-appointment-start-color !default; -$scheduler-horizontal-appointment-resizing-shadow: inset -2px 0 0 0 $scheduler-appointment-start-color, $scheduler-horizontal-appointment-shadow !default; +$scheduler-horizontal-appointment-shadow: inset 2px 0 0 0 $scheduler-appointment-start-color; // dx-shadow-geometry +$scheduler-horizontal-appointment-shadow-rtl: inset -2px 0 0 0 $scheduler-appointment-start-color; // dx-shadow-geometry +$scheduler-horizontal-appointment-resizing-shadow: inset -2px 0 0 0 $scheduler-appointment-start-color, $scheduler-horizontal-appointment-shadow; // dx-shadow-geometry $scheduler-grouped-appointment-month-text-size: 12px !default; -$scheduler-base-border: 1px solid !default; -$scheduler-transparent-top-border: 1px solid transparent !default; -$scheduler-accent-border: 1px solid !default; +$scheduler-border-width: 1px !default; +$scheduler-workspace-info-font-size: 20px !default; +$scheduler-small-font-size: 14px !default; +$scheduler-group-header-table-cell-height: 30px !default; +$scheduler-month-date-text-size: 16px !default; +$scheduler-month-date-text-padding: 6px !default; +$scheduler-base-border: $scheduler-border-width solid !default; +$scheduler-transparent-top-border: $scheduler-border-width solid transparent !default; +$scheduler-accent-border: $scheduler-border-width solid !default; $scheduler-reduced-icon-offset: 5px !default; $scheduler-recurrence-icon-offset: 20px !default; @@ -92,14 +129,54 @@ $scheduler-small-size-element-offset: $scheduler-left-column-width * $scheduler- $scheduler-time-indicator-font-size: 30px !default; $scheduler-time-indicator-size: 1px !default; -$scheduler-time-indicator-top: 14px !default; -$scheduler-time-indicator-left: 12px !default; +$scheduler-time-indicator-top: 14px; // dx-fixed-size: negated at its use site +$scheduler-time-indicator-left: 12px; // dx-fixed-size: negated at its use site $scheduler-time-indicator-shadow-color: rgba(255, 255, 255, 0.1) !default; -$scheduler-time-indicator-shadow: 0 1px 0 0 $scheduler-time-indicator-shadow-color !default; -$scheduler-time-indicator-text-shadow: $scheduler-time-indicator-shadow-color 1px 0 0 !default; +$scheduler-time-indicator-shadow: 0 1px 0 0 $scheduler-time-indicator-shadow-color; // dx-shadow-geometry +$scheduler-time-indicator-text-shadow: $scheduler-time-indicator-shadow-color 1px 0 0; // dx-shadow-geometry + +$scheduler-appointment-icon-font-size: 18px !default; +$scheduler-appointment-date-opacity: 0.7 !default; +$scheduler-appointment-resizing-opacity: 0.7 !default; +$scheduler-appointment-disabled-opacity: 0.6 !default; +$scheduler-appointment-drag-source-opacity: 0.7 !default; +$agenda-appointment-title-font-weight: 700 !default; +$agenda-appointment-details-font-size: 12px !default; +$agenda-appointment-details-opacity: 0.7 !default; + +$scheduler-appointment-reduced-icon-top: 3px !default; +$scheduler-appointment-active-marker-border-radius: 4px !default; +$scheduler-appointment-content-details-margin-top: 2px !default; +$scheduler-appointment-reduced-icon-rtl-left: 3px !default; +$agenda-appointment-item-padding: 10px !default; +$agenda-appointment-item-border-radius: 5px !default; +$agenda-appointment-right-layout-margin-left: 10px !default; +$agenda-appointment-allday-padding-right: 5px !default; +$agenda-appointment-resource-item-margin-left: 15px !default; +$agenda-appointment-resource-value-margin-left: 3px !default; +$agenda-appointment-rtl-margin-right: 10px !default; @use "./appointment" with ( + $scheduler-appointment-reduced-icon-top: $scheduler-appointment-reduced-icon-top, + $scheduler-appointment-active-marker-border-radius: $scheduler-appointment-active-marker-border-radius, + $scheduler-appointment-content-details-margin-top: $scheduler-appointment-content-details-margin-top, + $scheduler-appointment-reduced-icon-rtl-left: $scheduler-appointment-reduced-icon-rtl-left, + $agenda-appointment-item-padding: $agenda-appointment-item-padding, + $agenda-appointment-item-border-radius: $agenda-appointment-item-border-radius, + $agenda-appointment-right-layout-margin-left: $agenda-appointment-right-layout-margin-left, + $agenda-appointment-allday-padding-right: $agenda-appointment-allday-padding-right, + $agenda-appointment-resource-item-margin-left: $agenda-appointment-resource-item-margin-left, + $agenda-appointment-resource-value-margin-left: $agenda-appointment-resource-value-margin-left, + $agenda-appointment-rtl-margin-right: $agenda-appointment-rtl-margin-right, + $scheduler-appointment-icon-font-size: $scheduler-appointment-icon-font-size, + $scheduler-appointment-date-opacity: $scheduler-appointment-date-opacity, + $scheduler-appointment-resizing-opacity: $scheduler-appointment-resizing-opacity, + $scheduler-appointment-disabled-opacity: $scheduler-appointment-disabled-opacity, + $scheduler-appointment-drag-source-opacity: $scheduler-appointment-drag-source-opacity, + $agenda-appointment-title-font-weight: $agenda-appointment-title-font-weight, + $agenda-appointment-details-font-size: $agenda-appointment-details-font-size, + $agenda-appointment-details-opacity: $agenda-appointment-details-opacity, $scheduler-transparent-top-border: $scheduler-transparent-top-border, $scheduler-appointment-base-color: $scheduler-appointment-base-color, $scheduler-appointment-text-color: $scheduler-appointment-text-color, @@ -122,7 +199,43 @@ $scheduler-time-indicator-text-shadow: $scheduler-time-indicator-shadow-color 1p $agenda-appointment-active-bg: $agenda-appointment-active-bg, $agenda-appointment-title-font-size: $agenda-appointment-title-font-size ); +$scheduler-views-header-border: 2px solid !default; +$scheduler-views-empty-cell-border-bottom: 1px solid !default; +$scheduler-views-empty-cell-border-right: 1px solid !default; +$scheduler-views-empty-cell-border-left: 1px solid !default; +$scheduler-views-first-child-border-left: 1px solid transparent !default; +$scheduler-views-time-panel-border-bottom: 1px solid transparent !default; +$scheduler-views-group-header-padding: 0 5px !default; +$scheduler-views-group-header-padding-alt: 0 5px 0 10px !default; +$scheduler-views-time-indicator-height: 1px !default; +$scheduler-views-group-header-content-height: 40px !default; +$scheduler-views-vertical-group-min-height: 100px !default; + +$scheduler-timeline-min-height: 100px !default; +$scheduler-timeline-group-two-empty-cell-width: 160px !default; +$scheduler-timeline-group-header-width: 80px !default; +$scheduler-timeline-group-three-empty-cell-width: 240px !default; +$scheduler-timeline-cell-width: 200px !default; +$scheduler-agenda-left-column-width: 70px !default; +$scheduler-group-header-agenda-font-size: 18px !default; +$scheduler-agenda-date-table-padding-top: 10px !default; +$scheduler-renovation-virtual-row-height: 50px !default; + @use "./views" with ( + $scheduler-workspace-info-font-size: $scheduler-workspace-info-font-size, + $scheduler-small-font-size: $scheduler-small-font-size, + $scheduler-group-header-table-cell-height: $scheduler-group-header-table-cell-height, + $scheduler-month-date-text-size: $scheduler-month-date-text-size, + $scheduler-month-date-text-padding: $scheduler-month-date-text-padding, + $scheduler-timeline-min-height: $scheduler-timeline-min-height, + $scheduler-timeline-group-two-empty-cell-width: $scheduler-timeline-group-two-empty-cell-width, + $scheduler-timeline-group-header-width: $scheduler-timeline-group-header-width, + $scheduler-timeline-group-three-empty-cell-width: $scheduler-timeline-group-three-empty-cell-width, + $scheduler-timeline-cell-width: $scheduler-timeline-cell-width, + $scheduler-agenda-left-column-width: $scheduler-agenda-left-column-width, + $scheduler-group-header-agenda-font-size: $scheduler-group-header-agenda-font-size, + $scheduler-agenda-date-table-padding-top: $scheduler-agenda-date-table-padding-top, + $scheduler-renovation-virtual-row-height: $scheduler-renovation-virtual-row-height, $scheduler-workspace-background-color: $scheduler-workspace-background-color, $scheduler-workspace-accent-color: $scheduler-workspace-accent-color, $scheduler-small-size-factor: $scheduler-small-size-factor, @@ -149,12 +262,32 @@ $scheduler-time-indicator-text-shadow: $scheduler-time-indicator-shadow-color 1p $scheduler-first-month-cell-background-color: $scheduler-first-month-cell-background-color, $scheduler-panel-text-color: $scheduler-panel-text-color, + $scheduler-views-header-border: $scheduler-views-header-border, + $scheduler-views-empty-cell-border-bottom: $scheduler-views-empty-cell-border-bottom, + $scheduler-views-empty-cell-border-right: $scheduler-views-empty-cell-border-right, + $scheduler-views-empty-cell-border-left: $scheduler-views-empty-cell-border-left, + $scheduler-views-first-child-border-left: $scheduler-views-first-child-border-left, + $scheduler-views-time-panel-border-bottom: $scheduler-views-time-panel-border-bottom, + $scheduler-views-group-header-padding: $scheduler-views-group-header-padding, + $scheduler-views-group-header-padding-alt: $scheduler-views-group-header-padding-alt, + $scheduler-views-time-indicator-height: $scheduler-views-time-indicator-height, + $scheduler-views-group-header-content-height: $scheduler-views-group-header-content-height, + $scheduler-views-vertical-group-min-height: $scheduler-views-vertical-group-min-height, ); @function calculate-small-left-column-size($size) { @return $size + $scheduler-left-column-width * $scheduler-small-size-factor; } +// Design sizing values (parametrizable; fluent-next injects tokens) +$scheduler-appointment-content-horizontal-padding: 0 7px !default; +$scheduler-appointment-recurrence-icon-top: 9px !default; +$scheduler-header-panel-current-time-cell-height: 2px !default; +$scheduler-appointment-content-recurrence-padding: 0 25px 0 7px !default; +$scheduler-rtl-padding: 0 7px 0 25px !default; +$scheduler-appointment-collector-width: 24px !default; +$scheduler-appointment-content-padding-right: 5px !default; + @mixin scheduler-mixin() { .dx-scheduler-container { display: flex; @@ -206,7 +339,7 @@ $scheduler-time-indicator-text-shadow: $scheduler-time-indicator-shadow-color 1p .dx-scheduler-work-space-work-week, .dx-scheduler-work-space-day { .dx-scheduler-all-day-appointment .dx-scheduler-appointment-content { - padding: 0 7px; + padding: $scheduler-appointment-content-horizontal-padding; } .dx-scheduler-appointment-reduced { @@ -218,7 +351,7 @@ $scheduler-time-indicator-text-shadow: $scheduler-time-indicator-shadow-color 1p .dx-scheduler-appointment-reduced:not(.dx-scheduler-all-day-appointment) { .dx-scheduler-appointment-reduced-icon, .dx-scheduler-appointment-recurrence-icon { - top: 9px; + top: $scheduler-appointment-recurrence-icon-top; } } @@ -331,8 +464,8 @@ $scheduler-time-indicator-text-shadow: $scheduler-time-indicator-shadow-color 1p right: 0; /* NOTE: Cell has 1px table cell () border, so -1px bottom is ok here. */ - bottom: -1px; - height: 2px; + bottom: -1px; // dx-px-nudge: sits on the 1px border, see the note above + height: $scheduler-header-panel-current-time-cell-height; background-color: $scheduler-time-indicator-color; } } @@ -346,14 +479,14 @@ $scheduler-time-indicator-text-shadow: $scheduler-time-indicator-shadow-color 1p .dx-scheduler-work-space-month { .dx-scheduler-appointment-content { - padding: 0 7px; + padding: $scheduler-appointment-content-horizontal-padding; } .dx-scheduler-appointment-recurrence .dx-scheduler-appointment-content { - padding: 0 25px 0 7px; + padding: $scheduler-appointment-content-recurrence-padding; .dx-rtl & { - padding: 0 7px 0 25px; + padding: $scheduler-rtl-padding; } } @@ -455,7 +588,7 @@ $scheduler-time-indicator-text-shadow: $scheduler-time-indicator-shadow-color 1p } .dx-scheduler-appointment-content-details { - font-size: 11px; + font-size: $scheduler-appointment-content-details-font-size; white-space: pre; overflow: hidden; @@ -618,7 +751,7 @@ $scheduler-time-indicator-text-shadow: $scheduler-time-indicator-shadow-color 1p .dx-scheduler-appointment-collector-compact { &.dx-scheduler-appointment-collector { - width: 24px; + width: $scheduler-appointment-collector-width; } .dx-scheduler-appointment-collector-content, @@ -665,7 +798,7 @@ $scheduler-time-indicator-text-shadow: $scheduler-time-indicator-shadow-color 1p .dx-scheduler-work-space-day { .dx-scheduler-appointment-reduced { .dx-scheduler-appointment-content { - padding-right: 5px; + padding-right: $scheduler-appointment-content-padding-right; padding-left: $scheduler-appointment-reduced-content-padding; } } diff --git a/packages/devextreme-scss/scss/widgets/base/scheduler/_tooltip.scss b/packages/devextreme-scss/scss/widgets/base/scheduler/_tooltip.scss index ef43001ff74c..3df40dd82882 100644 --- a/packages/devextreme-scss/scss/widgets/base/scheduler/_tooltip.scss +++ b/packages/devextreme-scss/scss/widgets/base/scheduler/_tooltip.scss @@ -1,20 +1,32 @@ +$scheduler-tooltip-date-opacity: 0.8 !default; + @use "./mixins" as *; +$scheduler-tooltip-shadow: null !default; $scheduler-appointment-base-color: null !default; $scheduler-tooltip-appointment-text-color: null !default; $scheduler-appointment-overlay-bg: null !default; $scheduler-tooltip-list-focused-bg: null !default; +$scheduler-tooltip-width: null !default; +$scheduler-tooltip-content-padding: null !default; +$scheduler-tooltip-title-margin-top: null !default; +$scheduler-tooltip-title-margin-left: null !default; +$scheduler-tooltip-date-margin: null !default; +$scheduler-tooltip-remove-margin-top: null !default; +$scheduler-tooltip-subject-font-size: null !default; +$scheduler-tooltip-date-font-size: null !default; + .dx-popup-wrapper.dx-scheduler-appointment-tooltip-wrapper, .dx-scheduler-overlay-panel { .dx-popup-content { padding: 0; .dx-list-item { - width: 360px; + width: $scheduler-tooltip-width; .dx-list-item-content { - padding: 5px; + padding: $scheduler-tooltip-content-padding; } &.dx-state-focused { @@ -24,15 +36,15 @@ $scheduler-tooltip-list-focused-bg: null !default; } .dx-overlay-content { - box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.15); + box-shadow: $scheduler-tooltip-shadow; } .dx-tooltip-appointment-item { display: flex; .dx-tooltip-appointment-item-marker-body { - margin-top: 7px; - margin-left: 5px; + margin-top: $scheduler-tooltip-title-margin-top; + margin-left: $scheduler-tooltip-title-margin-left; background: $scheduler-appointment-base-color; @include use-colored-marker(20); @@ -44,7 +56,7 @@ $scheduler-tooltip-list-focused-bg: null !default; .dx-tooltip-appointment-item-content { flex-basis: 100%; - margin: 5px 10px; + margin: $scheduler-tooltip-date-margin; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; @@ -53,7 +65,7 @@ $scheduler-tooltip-list-focused-bg: null !default; .dx-tooltip-appointment-item-content-subject { text-align: left; font-weight: bold; - font-size: 16px; + font-size: $scheduler-tooltip-subject-font-size; letter-spacing: 0.01em; overflow: hidden; text-overflow: ellipsis; @@ -62,9 +74,13 @@ $scheduler-tooltip-list-focused-bg: null !default; .dx-tooltip-appointment-item-content-date { text-align: left; - font-size: 12px; - opacity: 0.8; - margin-top: 10px; + font-size: $scheduler-tooltip-date-font-size; + + @if $scheduler-tooltip-date-opacity { + opacity: $scheduler-tooltip-date-opacity; + } + + margin-top: $scheduler-tooltip-remove-margin-top; } } } diff --git a/packages/devextreme-scss/scss/widgets/base/scheduler/appointment/_index.scss b/packages/devextreme-scss/scss/widgets/base/scheduler/appointment/_index.scss index 2e0706a69763..693b069a1b42 100644 --- a/packages/devextreme-scss/scss/widgets/base/scheduler/appointment/_index.scss +++ b/packages/devextreme-scss/scss/widgets/base/scheduler/appointment/_index.scss @@ -1,3 +1,8 @@ +$scheduler-appointment-icon-font-size: null !default; +$scheduler-appointment-date-opacity: null !default; +$scheduler-appointment-resizing-opacity: null !default; +$scheduler-appointment-disabled-opacity: null !default; +$scheduler-appointment-drag-source-opacity: null !default; $scheduler-transparent-top-border: null !default; $scheduler-appointment-base-color: null !default; $scheduler-appointment-text-color: null !default; @@ -18,9 +23,26 @@ $agenda-appointment-text-color: null !default; $agenda-appointment-recurrence-icon-color: null !default; $agenda-appointment-hover-bg: null !default; $agenda-appointment-active-bg: null !default; +$agenda-appointment-title-font-weight: null !default; +$agenda-appointment-details-font-size: null !default; +$agenda-appointment-details-opacity: null !default; $agenda-appointment-title-font-size: null !default; +$scheduler-appointment-reduced-icon-top: 3px !default; +$scheduler-appointment-active-marker-border-radius: 4px !default; +$scheduler-appointment-content-details-margin-top: 2px !default; +$scheduler-appointment-reduced-icon-rtl-left: 3px !default; + @use "./regular" with ( + $appointment-reduced-icon-top: $scheduler-appointment-reduced-icon-top, + $appointment-active-marker-border-radius: $scheduler-appointment-active-marker-border-radius, + $appointment-content-details-margin-top: $scheduler-appointment-content-details-margin-top, + $appointment-reduced-icon-rtl-left: $scheduler-appointment-reduced-icon-rtl-left, + $appointment-icon-font-size: $scheduler-appointment-icon-font-size, + $appointment-date-opacity: $scheduler-appointment-date-opacity, + $appointment-resizing-opacity: $scheduler-appointment-resizing-opacity, + $appointment-disabled-opacity: $scheduler-appointment-disabled-opacity, + $appointment-drag-source-opacity: $scheduler-appointment-drag-source-opacity, $transparent-top-border: $scheduler-transparent-top-border, $appointment-base-color: $scheduler-appointment-base-color, $appointment-text-color: $scheduler-appointment-text-color, @@ -37,7 +59,25 @@ $agenda-appointment-title-font-size: null !default; $appointment-dragging-shadow: $scheduler-appointment-dragging-shadow, $reduced-icon-offset: $scheduler-reduced-icon-offset ); +$agenda-appointment-item-padding: 10px !default; +$agenda-appointment-item-border-radius: 5px !default; +$agenda-appointment-right-layout-margin-left: 10px !default; +$agenda-appointment-allday-padding-right: 5px !default; +$agenda-appointment-resource-item-margin-left: 15px !default; +$agenda-appointment-resource-value-margin-left: 3px !default; +$agenda-appointment-rtl-margin-right: 10px !default; + @use "./agenda" with ( + $agenda-item-padding: $agenda-appointment-item-padding, + $agenda-item-border-radius: $agenda-appointment-item-border-radius, + $agenda-right-layout-margin-left: $agenda-appointment-right-layout-margin-left, + $agenda-allday-padding-right: $agenda-appointment-allday-padding-right, + $agenda-resource-item-margin-left: $agenda-appointment-resource-item-margin-left, + $agenda-resource-value-margin-left: $agenda-appointment-resource-value-margin-left, + $agenda-rtl-margin-right: $agenda-appointment-rtl-margin-right, + $title-font-weight: $agenda-appointment-title-font-weight, + $details-font-size: $agenda-appointment-details-font-size, + $details-opacity: $agenda-appointment-details-opacity, $marker-base-color: $scheduler-appointment-base-color, $title-font-size: $agenda-appointment-title-font-size, $text-color: $agenda-appointment-text-color, diff --git a/packages/devextreme-scss/scss/widgets/base/scheduler/appointment/agenda/_index.scss b/packages/devextreme-scss/scss/widgets/base/scheduler/appointment/agenda/_index.scss index b6ab9b94d858..1e94e8ee4645 100644 --- a/packages/devextreme-scss/scss/widgets/base/scheduler/appointment/agenda/_index.scss +++ b/packages/devextreme-scss/scss/widgets/base/scheduler/appointment/agenda/_index.scss @@ -6,15 +6,26 @@ $recurrence-icon-color: null !default; $hover-bg: null !default; $active-bg: null !default; $active-color: null !default; +$title-font-weight: null !default; +$details-font-size: null !default; +$details-opacity: null !default; $title-font-size: null !default; +$agenda-item-padding: null !default; +$agenda-item-border-radius: null !default; +$agenda-right-layout-margin-left: null !default; +$agenda-allday-padding-right: null !default; +$agenda-resource-item-margin-left: null !default; +$agenda-resource-value-margin-left: null !default; +$agenda-rtl-margin-right: null !default; + .dx-scheduler-agenda { .dx-scheduler-appointment { box-shadow: none; background-color: transparent; color: $text-color; - padding: 10px; - border-radius: 5px; + padding: $agenda-item-padding; + border-radius: $agenda-item-border-radius; &.dx-state-hover { background-color: $hover-bg; @@ -41,7 +52,7 @@ $title-font-size: null !default; } .dx-scheduler-agenda-appointment-right-layout { - margin-left: 10px; + margin-left: $agenda-right-layout-margin-left; } .dx-scheduler-appointment-recurrence .dx-scheduler-appointment-content, @@ -62,19 +73,22 @@ $title-font-size: null !default; .dx-scheduler-appointment-title { @include use-text-overflow-ellipsis(); - font-weight: 700; + font-weight: $title-font-weight; font-size: $title-font-size; } .dx-scheduler-appointment-content-details { display: flex; - font-size: 12px; - opacity: 0.7; + font-size: $details-font-size; + + @if $details-opacity { + opacity: $details-opacity; + } } .dx-scheduler-appointment-content-allday { display: flex; - padding-right: 5px; + padding-right: $agenda-allday-padding-right; } .dx-scheduler-appointment-resource-list, @@ -83,11 +97,11 @@ $title-font-size: null !default; } .dx-scheduler-appointment-resource-item { - margin-left: 15px; + margin-left: $agenda-resource-item-margin-left; } .dx-scheduler-appointment-resource-item-value { - margin-left: 3px; + margin-left: $agenda-resource-value-margin-left; } .dx-scheduler-agenda-appointment-marker { @@ -100,7 +114,7 @@ $title-font-size: null !default; .dx-rtl { .dx-scheduler-agenda-appointment-right-layout { margin-left: 0; - margin-right: 10px; + margin-right: $agenda-rtl-margin-right; } .dx-scheduler-appointment-recurrence .dx-scheduler-appointment-content, diff --git a/packages/devextreme-scss/scss/widgets/base/scheduler/appointment/regular/_index.scss b/packages/devextreme-scss/scss/widgets/base/scheduler/appointment/regular/_index.scss index 3855fdb3bb56..37cc4dd2b742 100644 --- a/packages/devextreme-scss/scss/widgets/base/scheduler/appointment/regular/_index.scss +++ b/packages/devextreme-scss/scss/widgets/base/scheduler/appointment/regular/_index.scss @@ -2,6 +2,11 @@ @use "../../../mixins" as *; @use "../../../icon_fonts" as *; +$appointment-icon-font-size: null !default; +$appointment-date-opacity: null !default; +$appointment-resizing-opacity: null !default; +$appointment-disabled-opacity: null !default; +$appointment-drag-source-opacity: null !default; $transparent-top-border: null !default; $appointment-base-color: null !default; $appointment-text-color: null !default; @@ -21,11 +26,16 @@ $appointment-dragging-shadow: null !default; $reduced-icon-offset: null !default; +$appointment-reduced-icon-top: null !default; +$appointment-active-marker-border-radius: null !default; +$appointment-content-details-margin-top: null !default; +$appointment-reduced-icon-rtl-left: null !default; + @mixin dx-appointment-icon($name) { @include dx-icon($name); - top: 3px; - font-size: 18px; + top: $appointment-reduced-icon-top; + font-size: $appointment-icon-font-size; position: absolute; right: $reduced-icon-offset; } @@ -59,7 +69,7 @@ $reduced-icon-offset: null !default; } @else { &:not(.dx-scheduler-appointment-has-resource-color):not(.dx-scheduler-appointment-drag-source)::before { background-color: $appointment-active-color; - border-radius: 4px; + border-radius: $appointment-active-marker-border-radius; } &.dx-scheduler-appointment-has-resource-color:not(.dx-scheduler-appointment-drag-source)::before { @@ -76,13 +86,16 @@ $reduced-icon-offset: null !default; } .dx-scheduler-appointment-content-date { - opacity: 0.7; + @if $appointment-date-opacity { + opacity: $appointment-date-opacity; + } + display: inline-block; white-space: pre-wrap; } .dx-scheduler-appointment-content-details { - margin-top: 2px; + margin-top: $appointment-content-details-margin-top; } .dx-scheduler-appointment-content-allday { @@ -130,11 +143,11 @@ $reduced-icon-offset: null !default; &.dx-resizable-resizing { z-index: 1000; - opacity: 0.7; + opacity: $appointment-resizing-opacity; } .dx-resizable-handle-left { - left: -1px; + left: -1px; // dx-px-nudge: pulls the resize handle onto the appointment's 1px border } .dx-scheduler-appointment-recurrence-icon { @@ -146,7 +159,7 @@ $reduced-icon-offset: null !default; .dx-rtl & { right: auto; - left: 3px; + left: $appointment-reduced-icon-rtl-left; } } @@ -159,12 +172,14 @@ $reduced-icon-offset: null !default; &.dx-state-disabled { cursor: default; - opacity: 0.6; + opacity: $appointment-disabled-opacity; pointer-events: auto; } &.dx-scheduler-appointment-drag-source { - opacity: 0.7; + @if $appointment-drag-source-opacity { + opacity: $appointment-drag-source-opacity; + } } } diff --git a/packages/devextreme-scss/scss/widgets/base/scheduler/layout/_header.scss b/packages/devextreme-scss/scss/widgets/base/scheduler/layout/_header.scss index 76a342a3bfbb..4890b148e7e8 100644 --- a/packages/devextreme-scss/scss/widgets/base/scheduler/layout/_header.scss +++ b/packages/devextreme-scss/scss/widgets/base/scheduler/layout/_header.scss @@ -6,7 +6,7 @@ $arrow-down: "\f016" !default; ) { border: $border; border-color: $border-color; - margin-bottom: -1px; + margin-bottom: -1px; // dx-px-nudge: collapses the header border with the row below position: relative; z-index: 1; width: 100%; diff --git a/packages/devextreme-scss/scss/widgets/base/scheduler/views/_index.scss b/packages/devextreme-scss/scss/widgets/base/scheduler/views/_index.scss index dec89907e065..4d87a883b693 100644 --- a/packages/devextreme-scss/scss/widgets/base/scheduler/views/_index.scss +++ b/packages/devextreme-scss/scss/widgets/base/scheduler/views/_index.scss @@ -1,3 +1,4 @@ +@use "sass:meta"; @use "../../mixins" as *; @use "sass:math"; @@ -27,21 +28,33 @@ $scheduler-workspace-month-text-color: null !default; $scheduler-first-month-cell-background-color: null !default; $scheduler-panel-text-color: null !default; - -$scheduler-timepanel-cell-offset: 20px !default; +$scheduler-views-header-border: null !default; +$scheduler-views-empty-cell-border-bottom: null !default; +$scheduler-views-empty-cell-border-right: null !default; +$scheduler-views-empty-cell-border-left: null !default; +$scheduler-views-first-child-border-left: null !default; +$scheduler-views-time-panel-border-bottom: null !default; +$scheduler-views-group-header-padding: null !default; +$scheduler-views-group-header-padding-alt: null !default; +$scheduler-views-time-indicator-height: null !default; +$scheduler-views-time-indicator-width: 10% !default; // dx-relative-% +$scheduler-views-group-header-content-height: null !default; +$scheduler-views-vertical-group-min-height: null !default; + +$scheduler-timepanel-cell-offset: 20px; // dx-fixed-size: multiplied elsewhere, so a var() cannot pass $scheduler-workspace-info-font-size: 20px !default; $scheduler-small-font-size: 14px !default; -$scheduler-current-time-cell-border-size: 2px !default; +$scheduler-current-time-cell-border-size: 2px; // dx-fixed-size: multiplied elsewhere, so a var() cannot pass -$scheduler-workspace-date-table-cell-height: 50px !default; -$scheduler-all-day-table-cell-height: $scheduler-workspace-date-table-cell-height * 1.5 !default; +$scheduler-workspace-date-table-cell-height: 50px; // dx-fixed-size: four derived heights multiply it, so a var() cannot pass +$scheduler-all-day-table-cell-height: $scheduler-workspace-date-table-cell-height * 1.5; $scheduler-collapsed-all-day-table-cell-height: $scheduler-workspace-date-table-cell-height * 0.5 !default; $scheduler-vertical-grouped-all-day-table-cell-height: $scheduler-workspace-date-table-cell-height !default; -$scheduler-header-panel-table-cell-height: $scheduler-workspace-date-table-cell-height - 10px !default; +$scheduler-header-panel-table-cell-height: if(meta.type-of($scheduler-workspace-date-table-cell-height) == number, $scheduler-workspace-date-table-cell-height - 10px, calc(#{$scheduler-workspace-date-table-cell-height} - 10px)); // dx-px-nudge: -10px under the workspace cell height $scheduler-group-header-table-cell-height: 30px !default; -$scheduler-group-header-table-cell-width: 80px !default; +$scheduler-group-header-table-cell-width: 80px; // dx-fixed-size: multiplied elsewhere, so a var() cannot pass $scheduler-month-date-text-size: 16px !default; @@ -61,21 +74,42 @@ $scheduler-month-date-text-padding: 6px !default; $scheduler-month-date-text-padding: $scheduler-month-date-text-padding, $scheduler-first-month-cell-background-color: $scheduler-first-month-cell-background-color, ); +$scheduler-timeline-min-height: 100px !default; +$scheduler-timeline-group-two-empty-cell-width: 160px !default; +$scheduler-timeline-group-header-width: 80px !default; +$scheduler-timeline-group-three-empty-cell-width: 240px !default; +$scheduler-timeline-cell-width: 200px !default; + @use "./timelines" with ( + $scheduler-timeline-min-height: $scheduler-timeline-min-height, + $scheduler-timeline-group-two-empty-cell-width: $scheduler-timeline-group-two-empty-cell-width, + $scheduler-timeline-group-header-width: $scheduler-timeline-group-header-width, + $scheduler-timeline-group-three-empty-cell-width: $scheduler-timeline-group-three-empty-cell-width, + $scheduler-timeline-cell-width: $scheduler-timeline-cell-width, $scheduler-workspace-date-table-cell-height: $scheduler-workspace-date-table-cell-height, $scheduler-accent-border: $scheduler-accent-border, $scheduler-base-border: $scheduler-base-border, $scheduler-base-border-color: $scheduler-base-border-color, $scheduler-accent-border-color: $scheduler-accent-border-color, ); +$scheduler-agenda-left-column-width: 70px !default; +$scheduler-group-header-agenda-font-size: 18px !default; +$scheduler-agenda-date-table-padding-top: 10px !default; + @use "./agenda" with ( + $scheduler-agenda-left-column-width: $scheduler-agenda-left-column-width, + $scheduler-group-header-agenda-font-size: $scheduler-group-header-agenda-font-size, + $scheduler-agenda-date-table-padding-top: $scheduler-agenda-date-table-padding-top, $scheduler-group-header-table-cell-width: $scheduler-group-header-table-cell-width, $scheduler-small-size-factor: $scheduler-small-size-factor, $scheduler-small-font-size: $scheduler-small-font-size, $scheduler-workspace-info-font-size: $scheduler-workspace-info-font-size, $scheduler-other-month-cell-opacity: $scheduler-other-month-cell-opacity, ); +$scheduler-renovation-virtual-row-height: 50px !default; + @use "./renovation" with ( + $scheduler-renovation-virtual-row-height: $scheduler-renovation-virtual-row-height, $scheduler-timeline-cell-height: $scheduler-timeline-cell-height, ); @@ -84,7 +118,7 @@ $scheduler-month-date-text-padding: 6px !default; &::before { position: absolute; - top: $scheduler-header-panel-table-cell-height - $scheduler-current-time-cell-border-size - 1; + top: if(meta.type-of($scheduler-header-panel-table-cell-height) == number and meta.type-of($scheduler-current-time-cell-border-size) == number, $scheduler-header-panel-table-cell-height - $scheduler-current-time-cell-border-size - 1, calc(#{$scheduler-header-panel-table-cell-height} - #{$scheduler-current-time-cell-border-size} - 1px)); // dx-px-nudge: -1px under the derived top offset, so the indicator overlaps the border right: 0; width: 100%; height: $scheduler-current-time-cell-border-size; @@ -190,12 +224,12 @@ $scheduler-month-date-text-padding: 6px !default; &:not(.dx-scheduler-work-space-all-day):not(.dx-scheduler-work-space-month):not(.dx-scheduler-timeline) { .dx-scheduler-header-panel { - border-bottom: 2px solid; + border-bottom: $scheduler-views-header-border; border-bottom-color: $scheduler-base-border-color; } .dx-scheduler-header-panel-empty-cell { - border-bottom: 2px solid; + border-bottom: $scheduler-views-header-border; border-bottom-color: $scheduler-base-border-color; } @@ -230,9 +264,9 @@ $scheduler-month-date-text-padding: 6px !default; align-items: flex-end; flex-shrink: 0; width: 0; - border-bottom: 1px solid; + border-bottom: $scheduler-views-empty-cell-border-bottom; border-bottom-color: $scheduler-base-border-color; - border-right: 1px solid; + border-right: $scheduler-views-empty-cell-border-right; border-right-color: $scheduler-base-border-color; } @@ -314,7 +348,7 @@ $scheduler-month-date-text-padding: 6px !default; @include flex-container(row, nowrap); flex: 1 1 0; - padding: 0 5px; + padding: $scheduler-views-group-header-padding; height: auto; width: $scheduler-left-column-width; justify-content: flex-start; @@ -368,7 +402,7 @@ $scheduler-month-date-text-padding: 6px !default; @include flex-container(row, nowrap); flex: 0 0 auto; - padding: 0 5px; + padding: 0 5px; // dx-fixed-size: horizontal padding of the time panel cell height: 100%; width: $scheduler-left-column-width; justify-content: flex-start; @@ -567,7 +601,7 @@ $scheduler-month-date-text-padding: 6px !default; border-left-color: $scheduler-base-border-color; &:first-child { - border-left: 1px solid transparent; + border-left: $scheduler-views-first-child-border-left; } @include dx-overflow(); @@ -578,7 +612,7 @@ $scheduler-month-date-text-padding: 6px !default; position: relative; .dx-scheduler-all-day-table-cell { - border-bottom: 2px solid; + border-bottom: $scheduler-views-header-border; border-bottom-color: $scheduler-base-border-color; } } @@ -592,7 +626,7 @@ $scheduler-month-date-text-padding: 6px !default; height: $scheduler-all-day-table-cell-height; position: relative; text-align: center; - border-bottom: 2px solid; + border-bottom: $scheduler-views-header-border; border-bottom-color: $scheduler-base-border-color; @include user-select(none); @@ -657,10 +691,10 @@ $scheduler-month-date-text-padding: 6px !default; vertical-align: top; height: $scheduler-workspace-date-table-cell-height; padding-right: $scheduler-timepanel-cell-offset; - border-bottom: 1px solid transparent; + border-bottom: $scheduler-views-time-panel-border-bottom; > div { - margin-top: -13px; + margin-top: -13px; // dx-px-nudge: lifts the hour label to straddle the cell border } .dx-scheduler-small & { @@ -670,9 +704,9 @@ $scheduler-month-date-text-padding: 6px !default; &::after { position: absolute; - bottom: -1px; - width: 10%; - height: 1px; + bottom: -1px; // dx-px-nudge: sits the time indicator on the cell border + width: $scheduler-views-time-indicator-width; + height: $scheduler-views-time-indicator-height; right: 0; background-color: $scheduler-base-border-color; } @@ -756,7 +790,7 @@ $scheduler-month-date-text-padding: 6px !default; .dx-scheduler-group-header-content { display: flex; - height: 40px; + height: $scheduler-views-group-header-content-height; > div { margin: auto; @@ -794,7 +828,7 @@ $scheduler-month-date-text-padding: 6px !default; .dx-scheduler-work-space-vertical-grouped { .dx-scheduler-work-space-vertical-group-table { height: 100%; - min-height: 100px; + min-height: $scheduler-views-vertical-group-min-height; border-top: $scheduler-base-border; border-top-color: $scheduler-base-border-color; border-spacing: 0; @@ -807,7 +841,7 @@ $scheduler-month-date-text-padding: 6px !default; &.dx-scheduler-work-space-work-week { .dx-scheduler-all-day-title { top: 0; - height: 50px !important; // stylelint-disable-line declaration-no-important + height: $scheduler-workspace-date-table-cell-height !important; // stylelint-disable-line declaration-no-important border-bottom: none; } } @@ -818,7 +852,7 @@ $scheduler-month-date-text-padding: 6px !default; } .dx-scheduler-all-day-table-row { - height: 50px; + height: $scheduler-workspace-date-table-cell-height; } .dx-scheduler-time-panel-cell { @@ -833,13 +867,13 @@ $scheduler-month-date-text-padding: 6px !default; &.dx-scheduler-last-group-cell { border-bottom: none; - box-shadow: inset 0 -1px 0 $scheduler-base-border-color; + box-shadow: inset 0 -1px 0 $scheduler-base-border-color; // dx-line-width: hairline standing in for the removed border-bottom } } .dx-scheduler-date-table-cell { &.dx-scheduler-last-group-cell { - border-bottom: 2px solid; + border-bottom: $scheduler-views-header-border; border-bottom-color: $scheduler-base-border-color; } } @@ -855,7 +889,7 @@ $scheduler-month-date-text-padding: 6px !default; .dx-rtl { .dx-scheduler-header-panel-empty-cell { - border-left: 1px solid; + border-left: $scheduler-views-empty-cell-border-left; border-left-color: $scheduler-base-border-color; border-right: none; } @@ -931,7 +965,7 @@ $scheduler-month-date-text-padding: 6px !default; } .dx-scheduler-group-header { - padding: 0 5px 0 10px; + padding: $scheduler-views-group-header-padding-alt; } &.dx-scheduler-group-column-count-two, diff --git a/packages/devextreme-scss/scss/widgets/base/scheduler/views/agenda/_index.scss b/packages/devextreme-scss/scss/widgets/base/scheduler/views/agenda/_index.scss index 61291d143064..c02c6e89040b 100644 --- a/packages/devextreme-scss/scss/widgets/base/scheduler/views/agenda/_index.scss +++ b/packages/devextreme-scss/scss/widgets/base/scheduler/views/agenda/_index.scss @@ -7,9 +7,11 @@ $scheduler-other-month-cell-opacity: null !default; $scheduler-agenda-left-column-width: 70px !default; $scheduler-group-header-agenda-font-size: 18px !default; +$scheduler-agenda-date-table-padding-top: null !default; + .dx-scheduler-agenda { .dx-scheduler-date-table-scrollable { - padding-top: 10px; + padding-top: $scheduler-agenda-date-table-padding-top; } .dx-scheduler-time-panel-cell { diff --git a/packages/devextreme-scss/scss/widgets/base/scheduler/views/day/_index.scss b/packages/devextreme-scss/scss/widgets/base/scheduler/views/day/_index.scss index 4d1205c67e90..7322fcc918ac 100644 --- a/packages/devextreme-scss/scss/widgets/base/scheduler/views/day/_index.scss +++ b/packages/devextreme-scss/scss/widgets/base/scheduler/views/day/_index.scss @@ -42,7 +42,7 @@ $scheduler-base-border-color: null !default; &:not(.dx-scheduler-work-space-grouped) { .dx-scheduler-header-panel { - margin-top: 1px; + margin-top: 1px; // dx-px-nudge: keeps the ungrouped header panel off the border above } } diff --git a/packages/devextreme-scss/scss/widgets/base/scheduler/views/month/_index.scss b/packages/devextreme-scss/scss/widgets/base/scheduler/views/month/_index.scss index f19bd0a0e64a..d08189bb53ff 100644 --- a/packages/devextreme-scss/scss/widgets/base/scheduler/views/month/_index.scss +++ b/packages/devextreme-scss/scss/widgets/base/scheduler/views/month/_index.scss @@ -70,7 +70,7 @@ $scheduler-first-month-cell-background-color: null !default; } .dx-scheduler-group-header { - box-shadow: 0 -2px 0 $scheduler-base-border-color; + box-shadow: 0 -2px 0 $scheduler-base-border-color; // dx-line-width: 2px line standing in for the removed border-bottom border-bottom: none; } diff --git a/packages/devextreme-scss/scss/widgets/base/scheduler/views/renovation/_index.scss b/packages/devextreme-scss/scss/widgets/base/scheduler/views/renovation/_index.scss index 7c7451141b9a..09ce1ade4ba9 100644 --- a/packages/devextreme-scss/scss/widgets/base/scheduler/views/renovation/_index.scss +++ b/packages/devextreme-scss/scss/widgets/base/scheduler/views/renovation/_index.scss @@ -1,5 +1,7 @@ $scheduler-timeline-cell-height: null !default; +$scheduler-renovation-virtual-row-height: null !default; + .dx-scheduler.dx-scheduler-native .dx-scheduler-timeline.dx-scheduler-work-space-both-scrollbar { .dx-scheduler-date-table-scrollable .dx-scrollable-content, .dx-scheduler-sidebar-scrollable .dx-scrollable-content, @@ -36,7 +38,7 @@ $scheduler-timeline-cell-height: null !default; &.dx-scheduler-work-space-virtual { .dx-scheduler-date-table-row { - height: 50px; + height: $scheduler-renovation-virtual-row-height; } } diff --git a/packages/devextreme-scss/scss/widgets/base/scheduler/views/timelines/_index.scss b/packages/devextreme-scss/scss/widgets/base/scheduler/views/timelines/_index.scss index 8805dcef56c5..dffb3a8ba2a6 100644 --- a/packages/devextreme-scss/scss/widgets/base/scheduler/views/timelines/_index.scss +++ b/packages/devextreme-scss/scss/widgets/base/scheduler/views/timelines/_index.scss @@ -8,6 +8,11 @@ $scheduler-accent-border-color: null !default; $scheduler-timeline-min-height: 100px !default; +$scheduler-timeline-group-two-empty-cell-width: null !default; +$scheduler-timeline-group-header-width: null !default; +$scheduler-timeline-group-three-empty-cell-width: null !default; +$scheduler-timeline-cell-width: null !default; + .dx-scheduler-timeline-week, .dx-scheduler-timeline-work-week, .dx-scheduler-timeline-day, @@ -18,21 +23,21 @@ $scheduler-timeline-min-height: 100px !default; &.dx-scheduler-group-column-count-two { .dx-scheduler-header-panel-empty-cell { - width: 160px; + width: $scheduler-timeline-group-two-empty-cell-width; } .dx-scheduler-group-flex-container .dx-scheduler-group-header { - width: 80px; + width: $scheduler-timeline-group-header-width; } } &.dx-scheduler-group-column-count-three { .dx-scheduler-header-panel-empty-cell { - width: 240px; + width: $scheduler-timeline-group-three-empty-cell-width; } .dx-scheduler-group-flex-container .dx-scheduler-group-header { - width: 80px; + width: $scheduler-timeline-group-header-width; } } @@ -82,7 +87,7 @@ $scheduler-timeline-min-height: 100px !default; .dx-scheduler-timeline { .dx-scheduler-header-panel-cell:not(.dx-scheduler-header-panel-week-cell), .dx-scheduler-date-table-cell { - width: 200px; + width: $scheduler-timeline-cell-width; } .dx-scheduler-date-table-cell { @@ -149,7 +154,7 @@ $scheduler-timeline-min-height: 100px !default; &.dx-scheduler-work-space-group-by-date { .dx-scheduler-group-header { - width: 200px; + width: $scheduler-timeline-cell-width; } } @@ -180,7 +185,7 @@ $scheduler-timeline-min-height: 100px !default; } .dx-scheduler-header-panel-empty-cell { - border-bottom: 1px solid; + border-bottom: 1px solid; // dx-line-width: hairline under the empty header cell border-bottom-color: $scheduler-accent-border-color; } } diff --git a/packages/devextreme-scss/scss/widgets/base/scrollable/_index.scss b/packages/devextreme-scss/scss/widgets/base/scrollable/_index.scss index 0db7fd377b88..579bfc1b5a12 100644 --- a/packages/devextreme-scss/scss/widgets/base/scrollable/_index.scss +++ b/packages/devextreme-scss/scss/widgets/base/scrollable/_index.scss @@ -1,6 +1,11 @@ @use "sass:selector"; @use "./mixins" as *; +// Design sizing values (parametrizable; fluent-next injects tokens) +$scrollable-scroll-width: 5px !default; +$scrollable-scroll-height: 5px !default; +$scrollable-scroll-padding: 2px !default; + .dx-scrollable-scrollbar-simulated { position: relative; } @@ -150,7 +155,7 @@ height: 100%; .dx-scrollable-scroll { - width: 5px; + width: $scrollable-scroll-width; } } @@ -160,7 +165,7 @@ width: 100%; .dx-scrollable-scroll { - height: 5px; + height: $scrollable-scroll-height; } } @@ -172,7 +177,7 @@ opacity: 1; transition: opacity 0s linear, background-color 0s linear; overflow: hidden; - padding: 2px; + padding: $scrollable-scroll-padding; &.dx-state-invisible { display: block !important; // stylelint-disable-line declaration-no-important diff --git a/packages/devextreme-scss/scss/widgets/base/splitter/_index.scss b/packages/devextreme-scss/scss/widgets/base/splitter/_index.scss index 293fc356eec7..b7a01ed33050 100644 --- a/packages/devextreme-scss/scss/widgets/base/splitter/_index.scss +++ b/packages/devextreme-scss/scss/widgets/base/splitter/_index.scss @@ -1,3 +1,6 @@ +// Design sizing values (parametrizable; fluent-next injects tokens) +$splitter-resize-handle-gap: 8px !default; + .dx-splitter { display: flex; height: 100%; @@ -29,7 +32,7 @@ flex: 0 0 auto; justify-content: center; align-items: center; - gap: 8px; + gap: $splitter-resize-handle-gap; overflow: hidden; user-select: none; diff --git a/packages/devextreme-scss/scss/widgets/base/stepper/layout/step/_index.scss b/packages/devextreme-scss/scss/widgets/base/stepper/layout/step/_index.scss index 954bc2b67f4b..39b3e48ddf4e 100644 --- a/packages/devextreme-scss/scss/widgets/base/stepper/layout/step/_index.scss +++ b/packages/devextreme-scss/scss/widgets/base/stepper/layout/step/_index.scss @@ -17,7 +17,7 @@ transition-timing-function: ease-in-out; border-style: solid; border-radius: 999em; - border-width: 1px; + border-width: 1px; // dx-line-width: hairline, the same in every theme } .dx-step-content { diff --git a/packages/devextreme-scss/scss/widgets/base/stepper/layout/step/_mixins.scss b/packages/devextreme-scss/scss/widgets/base/stepper/layout/step/_mixins.scss index f5c4a4aa01a3..8e1ca96e4bc3 100644 --- a/packages/devextreme-scss/scss/widgets/base/stepper/layout/step/_mixins.scss +++ b/packages/devextreme-scss/scss/widgets/base/stepper/layout/step/_mixins.scss @@ -68,11 +68,20 @@ $disabled-text-color, $disabled-bg, $disabled-shadow, + /* + * The indicator is a dot on top of the connector line. Three box-shadow rings shape it, from the + * inside out: the selection ring starts at $indicator-ring-inset and ends at $indicator-ring-size, + * and $indicator-halo-size is the gap the indicator punches in the connector behind it. The + * defaults are the values every theme drew before the sizes were opened. + */ + $indicator-ring-inset: 2px, + $indicator-ring-size: 4px, + $indicator-halo-size: 8px, ) { .dx-step-indicator { background-color: $base-bg; border-color: $base-border-color; - box-shadow: 0 0 0 8px $shadow-color; + box-shadow: 0 0 0 $indicator-halo-size $shadow-color; color: $base-text-color; } @@ -108,7 +117,7 @@ color: $selected-text-color; border-color: $selected-bg; background-color: $selected-bg; - box-shadow: 0 0 0 8px $shadow-color; + box-shadow: 0 0 0 $indicator-halo-size $shadow-color; } .dx-step-caption { @@ -119,7 +128,7 @@ .dx-step-indicator { border-color: $selected-invalid-bg; background-color: $selected-invalid-bg; - box-shadow: 0 0 0 8px $shadow-color; + box-shadow: 0 0 0 $indicator-halo-size $shadow-color; } .dx-step-caption { @@ -138,7 +147,7 @@ color: $selected-text-color; border-color: $selected-bg; background-color: $selected-bg; - box-shadow: 0 0 0 2px $shadow-color, 0 0 0 4px $selected-bg, 0 0 0 8px $shadow-color; + box-shadow: 0 0 0 $indicator-ring-inset $shadow-color, 0 0 0 $indicator-ring-size $selected-bg, 0 0 0 $indicator-halo-size $shadow-color; } .dx-step-caption { @@ -149,7 +158,7 @@ .dx-step-indicator { border-color: $selected-invalid-bg; background-color: $selected-invalid-bg; - box-shadow: 0 0 0 2px $shadow-color, 0 0 0 4px $selected-invalid-bg, 0 0 0 8px $shadow-color; + box-shadow: 0 0 0 $indicator-ring-inset $shadow-color, 0 0 0 $indicator-ring-size $selected-invalid-bg, 0 0 0 $indicator-halo-size $shadow-color; } .dx-step-caption { @@ -192,7 +201,7 @@ &.dx-state-focused { .dx-step-indicator { - box-shadow: 0 0 0 2px $shadow-color, 0 0 0 4px $selected-bg, 0 0 0 8px $shadow-color; + box-shadow: 0 0 0 $indicator-ring-inset $shadow-color, 0 0 0 $indicator-ring-size $selected-bg, 0 0 0 $indicator-halo-size $shadow-color; } &.dx-step-completed { @@ -206,19 +215,19 @@ .dx-step-indicator { border-color: $selected-hover-bg; background-color: $selected-hover-bg; - box-shadow: 0 0 0 2px $shadow-color, 0 0 0 4px $selected-hover-bg, 0 0 0 8px $shadow-color; + box-shadow: 0 0 0 $indicator-ring-inset $shadow-color, 0 0 0 $indicator-ring-size $selected-hover-bg, 0 0 0 $indicator-halo-size $shadow-color; } } &.dx-state-hover { .dx-step-indicator { - box-shadow: 0 0 0 2px $shadow-color, 0 0 0 4px $selected-hover-bg, 0 0 0 8px $shadow-color; + box-shadow: 0 0 0 $indicator-ring-inset $shadow-color, 0 0 0 $indicator-ring-size $selected-hover-bg, 0 0 0 $indicator-halo-size $shadow-color; } } &.dx-step-invalid { .dx-step-indicator { - box-shadow: 0 0 0 2px $shadow-color, 0 0 0 4px $selected-invalid-bg, 0 0 0 8px $shadow-color; + box-shadow: 0 0 0 $indicator-ring-inset $shadow-color, 0 0 0 $indicator-ring-size $selected-invalid-bg, 0 0 0 $indicator-halo-size $shadow-color; } &.dx-step-completed { @@ -232,25 +241,25 @@ .dx-step-indicator { border-color: $selected-invalid-hover-bg; background-color: $selected-invalid-hover-bg; - box-shadow: 0 0 0 2px $shadow-color, 0 0 0 4px $selected-invalid-hover-bg, 0 0 0 8px $shadow-color; + box-shadow: 0 0 0 $indicator-ring-inset $shadow-color, 0 0 0 $indicator-ring-size $selected-invalid-hover-bg, 0 0 0 $indicator-halo-size $shadow-color; } } &.dx-state-hover { .dx-step-indicator { - box-shadow: 0 0 0 2px $shadow-color, 0 0 0 4px $selected-invalid-hover-bg, 0 0 0 8px $shadow-color; + box-shadow: 0 0 0 $indicator-ring-inset $shadow-color, 0 0 0 $indicator-ring-size $selected-invalid-hover-bg, 0 0 0 $indicator-halo-size $shadow-color; } } } &.dx-state-disabled { .dx-step-indicator { - box-shadow: 0 0 0 2px $disabled-shadow, 0 0 0 4px $selected-bg, 0 0 0 8px $disabled-shadow; + box-shadow: 0 0 0 $indicator-ring-inset $disabled-shadow, 0 0 0 $indicator-ring-size $selected-bg, 0 0 0 $indicator-halo-size $disabled-shadow; } &.dx-step-invalid { .dx-step-indicator { - box-shadow: 0 0 0 2px $disabled-shadow, 0 0 0 4px $selected-invalid-bg, 0 0 0 8px $disabled-shadow; + box-shadow: 0 0 0 $indicator-ring-inset $disabled-shadow, 0 0 0 $indicator-ring-size $selected-invalid-bg, 0 0 0 $indicator-halo-size $disabled-shadow; } } } @@ -309,17 +318,17 @@ &.dx-state-focused { .dx-step-selected { .dx-step-indicator { - box-shadow: 0 0 0 8px $shadow-color; + box-shadow: 0 0 0 $indicator-halo-size $shadow-color; } &.dx-state-focused { .dx-step-indicator { - box-shadow: 0 0 0 2px $shadow-color, 0 0 0 4px $selected-hover-bg, 0 0 0 8px $shadow-color; + box-shadow: 0 0 0 $indicator-ring-inset $shadow-color, 0 0 0 $indicator-ring-size $selected-hover-bg, 0 0 0 $indicator-halo-size $shadow-color; } &.dx-step-invalid { .dx-step-indicator { - box-shadow: 0 0 0 2px $shadow-color, 0 0 0 4px $selected-invalid-hover-bg, 0 0 0 8px $shadow-color; + box-shadow: 0 0 0 $indicator-ring-inset $shadow-color, 0 0 0 $indicator-ring-size $selected-invalid-hover-bg, 0 0 0 $indicator-halo-size $shadow-color; } } } diff --git a/packages/devextreme-scss/scss/widgets/base/switch/_mixins.scss b/packages/devextreme-scss/scss/widgets/base/switch/_mixins.scss index 8cf153a47a4c..b1462249c2ac 100644 --- a/packages/devextreme-scss/scss/widgets/base/switch/_mixins.scss +++ b/packages/devextreme-scss/scss/widgets/base/switch/_mixins.scss @@ -1,3 +1,4 @@ +@use "sass:meta"; @use "../icon_fonts" as *; @mixin dx-switch( @@ -11,6 +12,11 @@ $switch-handle-margin, $switch-handle-border-radius, $switch-transition, + // A pill: any radius past half the track height draws the same shape, so the default is a number + // large enough to be one at every size the themes use. + $switch-container-border-radius: 500px, + $switch-label-padding: 4px 0, + $switch-off-padding-bottom: 10px, ) { .dx-switch { width: $switch-width; @@ -20,10 +26,10 @@ position: relative; padding-top: $switch-padding; padding-bottom: $switch-padding; - padding-inline-start: $switch-padding - $switch-container-horizontal-padding; - padding-inline-end: $switch-padding + $switch-container-horizontal-padding; - inset-inline-start: -$switch-padding; - top: -$switch-padding; + padding-inline-start: if(meta.type-of($switch-padding) == number and meta.type-of($switch-container-horizontal-padding) == number, $switch-padding - $switch-container-horizontal-padding, calc(#{$switch-padding} - #{$switch-container-horizontal-padding})); + padding-inline-end: if(meta.type-of($switch-padding) == number and meta.type-of($switch-container-horizontal-padding) == number, $switch-padding + $switch-container-horizontal-padding, calc(#{$switch-padding} + #{$switch-container-horizontal-padding})); + inset-inline-start: if(meta.type-of($switch-padding) == number, -$switch-padding, calc(-1 * #{$switch-padding})); + top: if(meta.type-of($switch-padding) == number, -$switch-padding, calc(-1 * #{$switch-padding})); overflow: hidden; vertical-align: middle; box-sizing: content-box; @@ -41,7 +47,7 @@ content: ""; width: 100%; height: $switch-container-height; - border-radius: 500px; + border-radius: $switch-container-border-radius; margin: $switch-container-vertical-margin 0; transition: $switch-transition; } @@ -56,7 +62,7 @@ .dx-switch-off { flex-shrink: 0; float: left; - padding: 4px 0; + padding: $switch-label-padding; width: 50%; height: $switch-height; color: transparent; @@ -70,7 +76,7 @@ .dx-switch-off { display: none; - padding-bottom: 10px; + padding-bottom: $switch-off-padding-bottom; background-color: transparent; } @@ -191,7 +197,26 @@ $switch-invalid-color-hover, $switch-invalid-color-focused, $base-disabled-border-color, -) { + $disabled-opacity-reset: 1, + $trigger-off-bg: null, + $trigger-off-bg-hover: null, + $trigger-off-bg-active: null, + $switch-on-bg-hover: null, + $switch-on-bg-active: null, + $switch-on-disabled-border: null, + $switch-invalid-bg: null, + $switch-invalid-bg-hover: null, + $switch-invalid-bg-active: null,) { + $trigger-off: if($trigger-off-bg, $trigger-off-bg, $switch-off-border-color); + $trigger-off-hovered: if($trigger-off-bg-hover, $trigger-off-bg-hover, $switch-off-border-color-hover); + $trigger-off-pressed: if($trigger-off-bg-active, $trigger-off-bg-active, $switch-off-border-color-active); + $on-bg-hovered: if($switch-on-bg-hover, $switch-on-bg-hover, $switch-accent-hover); + $on-bg-pressed: if($switch-on-bg-active, $switch-on-bg-active, $switch-accent-active); + $on-border-disabled: if($switch-on-disabled-border, $switch-on-disabled-border, $switch-on-disabled-bg); + $invalid-bg: if($switch-invalid-bg, $switch-invalid-bg, $switch-invalid-color); + $invalid-bg-hovered: if($switch-invalid-bg-hover, $switch-invalid-bg-hover, $switch-invalid-color-hover); + $invalid-bg-pressed: if($switch-invalid-bg-active, $switch-invalid-bg-active, $switch-invalid-color-focused); + .dx-switch-container { &::before { background-color: $switch-bg; @@ -210,7 +235,7 @@ .dx-switch { .dx-switch-handle::before { - background-color: $switch-off-border-color; + background-color: $trigger-off; } &.dx-state-hover { @@ -258,7 +283,7 @@ &.dx-state-disabled, &.dx-state-readonly { - opacity: 1; + opacity: $disabled-opacity-reset; .dx-switch-container::before { border-color: $base-disabled-border-color; @@ -274,14 +299,14 @@ .dx-switch:not(.dx-switch-on-value):not(.dx-state-readonly) { &.dx-state-hover { .dx-switch-handle::before { - background-color: $switch-off-border-color-hover; + background-color: $trigger-off-hovered; } } &.dx-state-active, &.dx-state-focused { .dx-switch-handle::before { - background-color: $switch-off-border-color-active; + background-color: $trigger-off-pressed; } } } @@ -299,12 +324,12 @@ &.dx-state-hover { .dx-switch-container::before { border-color: $switch-accent-hover; - background-color: $switch-accent-hover; + background-color: $on-bg-hovered; } &.dx-invalid:not(.dx-state-readonly) { .dx-switch-container::before { - background-color: $switch-invalid-color-hover; + background-color: $invalid-bg-hovered; } } } @@ -313,26 +338,26 @@ &.dx-state-focused { .dx-switch-container::before { border-color: $switch-accent-active; - background-color: $switch-accent-active; + background-color: $on-bg-pressed; } &.dx-invalid:not(.dx-state-readonly) { .dx-switch-container::before { - background-color: $switch-invalid-color-focused; + background-color: $invalid-bg-pressed; } } } &.dx-invalid { .dx-switch-container::before { - background-color: $switch-invalid-color; + background-color: $invalid-bg; } } &.dx-state-disabled, &.dx-state-readonly { .dx-switch-container::before { - border-color: $switch-on-disabled-bg; + border-color: $on-border-disabled; background-color: $switch-on-disabled-bg; } } @@ -353,11 +378,11 @@ .dx-switch-handle { float: right; margin-left: 0; - margin-right: -$switch-height; + margin-right: if(meta.type-of($switch-height) == number, -$switch-height, calc(-1 * #{$switch-height})); } .dx-switch-container { - margin: 0 0 0 (-$switch-container-adjustment); + margin: 0 0 0 if(meta.type-of($switch-container-adjustment) == number, (-$switch-container-adjustment), calc(-1 * #{$switch-container-adjustment})); } } } diff --git a/packages/devextreme-scss/scss/widgets/base/textEditor/_index.scss b/packages/devextreme-scss/scss/widgets/base/textEditor/_index.scss index f17060dd4e77..40f0dbab562d 100644 --- a/packages/devextreme-scss/scss/widgets/base/textEditor/_index.scss +++ b/packages/devextreme-scss/scss/widgets/base/textEditor/_index.scss @@ -2,6 +2,9 @@ @use "./mixins" as *; @use "sass:string" as string; +// Design sizing values (parametrizable; fluent-next injects tokens) +$texteditor-clear-button-area-width: 34px !default; + .dx-texteditor { display: block; @@ -93,7 +96,7 @@ .dx-clear-button-area { height: 100%; - width: 34px; + width: $texteditor-clear-button-area-width; position: relative; cursor: pointer; text-align: justify; diff --git a/packages/devextreme-scss/scss/widgets/base/textEditor/_mixins.scss b/packages/devextreme-scss/scss/widgets/base/textEditor/_mixins.scss index 724b0602c7d2..06fd678b76ea 100644 --- a/packages/devextreme-scss/scss/widgets/base/textEditor/_mixins.scss +++ b/packages/devextreme-scss/scss/widgets/base/textEditor/_mixins.scss @@ -1,4 +1,5 @@ @use "sass:math"; +@use "sass:meta"; @mixin dx-editor-content-wrapper() { display: flex; @@ -17,7 +18,7 @@ border-top-width: 0; span { - transform: translate(0, -$label-offset-y); + transform: translate(0, if(meta.type-of($label-offset-y) == number, -$label-offset-y, calc(-1 * #{$label-offset-y}))); font-size: $label-font-size; margin-top: 0; top: 0; @@ -49,7 +50,7 @@ $texteditor-input-top-padding ) { .dx-label { - padding: 0 2px; + padding: 0 2px; // dx-fixed-size: fluent-next does not call this mixin, so the value only reaches the legacy themes border-top-width: $borderWidth; span { @@ -156,31 +157,55 @@ $label-margin-top-diff, $texteditor-label-outside-font-size, $texteditor-label-outside-height, + // The label widens itself by its padding and pulls the same amount back, so the box grows around + // the text without moving it: the margin is derived, not a second decision. + $label-padding-inline: 2px, + $label-border-radius: 1px, + $label-backdrop-height: 3px, ) { + $label-margin-inline: if( + meta.type-of($label-padding-inline) == number, + -$label-padding-inline, + calc(-1 * #{$label-padding-inline}) + ); + .dx-editor-outlined { .dx-texteditor-label { inset: 0; } .dx-label { - padding: 0 2px; + padding: 0 $label-padding-inline; border-top-width: 0; border-bottom-width: $label-border-width; border-inline-width: 0; border-style: solid; border-top-color: $texteditor-border-color; border-bottom-color: $texteditor-border-bottom-color; - margin-left: -2px; - margin-right: -2px; - border-radius: 1px; - clip-path: inset(-$texteditor-label-font-size 1px -1px 1px); + margin-left: $label-margin-inline; + margin-right: $label-margin-inline; + border-radius: $label-border-radius; + + /* + * The clip reaches a whole font-size above the label to uncover the notch. A theme that feeds + * a var() here leaves nothing for Sass to negate, and `-var(…)` is not valid CSS: the browser + * drops the whole declaration and the notch stops being clipped. Same guard as the transform + * below, which had it from the start. + * + * dx-line-width: the notch is carved at the label border, a hairline that must not thicken. + */ + clip-path: inset(#{if( + meta.type-of($texteditor-label-font-size) == number, + -$texteditor-label-font-size, + calc(-1 * #{$texteditor-label-font-size}) + )} 1px -1px 1px); span { position: relative; font-size: $texteditor-label-font-size; top: 0; margin-top: 0; - transform: translate(0, -$label-offset-y); + transform: translate(0, if(meta.type-of($label-offset-y) == number, -$label-offset-y, calc(-1 * #{$label-offset-y}))); height: $label-active-height; line-height: normal; } @@ -197,7 +222,7 @@ border-start-start-radius: $texteditor-input-border-radius; border-end-start-radius: $texteditor-input-border-radius; min-width: $label-before-min-width; - clip-path: inset(-1px 1px -1px -1px); + clip-path: inset(-1px 1px -1px -1px); // dx-line-width: the notch is carved at the label border, a hairline that must not thicken with the scale } .dx-label-after { @@ -212,16 +237,16 @@ border-inline-end-color: $texteditor-border-color; border-start-end-radius: $texteditor-input-border-radius; border-end-end-radius: $texteditor-input-border-radius; - clip-path: inset(-1px -1px -1px 1px); + clip-path: inset(-1px -1px -1px 1px); // dx-line-width: the notch is carved at the label border, a hairline that must not thicken with the scale } &.dx-rtl { .dx-label-before { - clip-path: inset(-1px -1px -1px 1px); + clip-path: inset(-1px -1px -1px 1px); // dx-line-width: the notch is carved at the label border, a hairline that must not thicken with the scale } .dx-label-after { - clip-path: inset(-1px 1px -1px -1px); + clip-path: inset(-1px 1px -1px -1px); // dx-line-width: the notch is carved at the label border, a hairline that must not thicken with the scale } } @@ -235,9 +260,9 @@ content: ""; width: 100%; position: absolute; - height: 3px; - top: -$label-backdrop-offset-y; - margin-inline-start: -2px; + height: $label-backdrop-height; + top: if(meta.type-of($label-backdrop-offset-y) == number, -$label-backdrop-offset-y, calc(-1 * #{$label-backdrop-offset-y})); + margin-inline-start: $label-margin-inline; background-color: $label-backdrop-bg; } } @@ -299,8 +324,8 @@ clip-path: none; border-top-width: $label-border-width; border-radius: 0; - border-start-end-radius: 1px; - border-end-end-radius: 1px; + border-start-end-radius: $label-border-radius; + border-end-end-radius: $label-border-radius; margin-inline-start: 0; padding: 0; @@ -311,9 +336,9 @@ pointer-events: auto; font-size: $texteditor-label-outside-font-size; margin-top: 0; - top: -$label-offset-y-outside; - height: #{math.div($texteditor-label-outside-height, $texteditor-label-outside-font-size)}em; - line-height: #{math.div($texteditor-label-outside-height, $texteditor-label-outside-font-size)}em; + top: if(meta.type-of($label-offset-y-outside) == number, -$label-offset-y-outside, calc(-1 * #{$label-offset-y-outside})); + height: if(meta.type-of($texteditor-label-outside-height) == number and meta.type-of($texteditor-label-outside-font-size) == number, #{math.div($texteditor-label-outside-height, $texteditor-label-outside-font-size)}em, $texteditor-label-outside-height); + line-height: if(meta.type-of($texteditor-label-outside-height) == number and meta.type-of($texteditor-label-outside-font-size) == number, #{math.div($texteditor-label-outside-height, $texteditor-label-outside-font-size)}em, $texteditor-label-outside-height); } } } @@ -330,7 +355,7 @@ } } - $label-empty-margin-top: math.div(-$label-empty-height, 2) + $label-margin-top-diff; + $label-empty-margin-top: if(meta.type-of($label-empty-height) == number and meta.type-of($label-margin-top-diff) == number, math.div(-$label-empty-height, 2) + $label-margin-top-diff, calc(#{$label-empty-height} / -2 + #{$label-margin-top-diff})); &.dx-texteditor-empty { @include dx-state-empty( @@ -433,7 +458,7 @@ height: $texteditor-label-outside-height; line-height: $texteditor-label-outside-height; margin-top: 0; - top: -$texteditor-label-outside-top-offset; + top: if(meta.type-of($texteditor-label-outside-top-offset) == number, -$texteditor-label-outside-top-offset, calc(-1 * #{$texteditor-label-outside-top-offset})); } .dx-label { @@ -461,7 +486,7 @@ height: $texteditor-empty-label-height; line-height: $texteditor-empty-label-line-height; top: 50%; - margin-top: math.div(-$texteditor-empty-label-height, 2); + margin-top: if(meta.type-of($texteditor-empty-label-height) == number, math.div(-$texteditor-empty-label-height, 2), calc(#{$texteditor-empty-label-height} / -2)); } &.dx-textarea { @@ -548,7 +573,7 @@ font-size: $texteditor-label-outside-font-size; height: $texteditor-label-outside-height; line-height: $texteditor-label-outside-height; - top: -$texteditor-label-outside-top-offset; + top: if(meta.type-of($texteditor-label-outside-top-offset) == number, -$texteditor-label-outside-top-offset, calc(-1 * #{$texteditor-label-outside-top-offset})); margin-top: 0; } @@ -578,7 +603,7 @@ height: $texteditor-empty-label-height; line-height: $texteditor-empty-label-line-height; top: 50%; - margin-top: math.div(-$texteditor-empty-label-height, 2); + margin-top: if(meta.type-of($texteditor-empty-label-height) == number, math.div(-$texteditor-empty-label-height, 2), calc(#{$texteditor-empty-label-height} / -2)); } &.dx-textarea { @@ -625,8 +650,8 @@ ) { .dx-texteditor-buttons-container { > .dx-button { - margin-top: 1px; - margin-bottom: 1px; + margin-top: 1px; // dx-fixed-size: fluent-next does not call this mixin, so the value only reaches the legacy themes + margin-bottom: 1px; // dx-fixed-size: fluent-next does not call this mixin, so the value only reaches the legacy themes margin-inline-start: $generic-texteditor-custom-button-margin; margin-inline-end: $generic-texteditor-custom-button-margin; @@ -688,6 +713,11 @@ $material-filled-texteditor-spin-button-horizontal-padding, $last-button-horizontal-padding, $material-button-vertical-padding, + $button-margin-block-start: 1px, + $button-margin-block-end: 3px, + $button-icon-margin-block-start: 1px, + $button-icon-margin-block-start-with-text: 3px, + $button-icononly-padding: 2px, ) { .dx-texteditor { .dx-texteditor-buttons-container { @@ -745,25 +775,25 @@ .dx-texteditor-buttons-container { > .dx-button.dx-button-mode-text { height: $material-underlined-editor-button-height; - margin-top: 1px; - margin-bottom: 3px; + margin-top: $button-margin-block-start; + margin-bottom: $button-margin-block-end; margin-inline-end: $material-editor-custom-button-margin; margin-inline-start: $material-editor-custom-button-margin; .dx-button-content { display: flex; justify-content: center; - padding-top: $material-button-vertical-padding - 1px; + padding-top: if(meta.type-of($material-button-vertical-padding) == number, $material-button-vertical-padding - 1px, calc(#{$material-button-vertical-padding} - 1px)); // dx-px-nudge: -1px under the button's own padding .dx-icon { align-self: center; - margin-top: 1px; + margin-top: $button-icon-margin-block-start; } } &.dx-button-has-text { .dx-button-content .dx-icon { - margin-top: 3px; + margin-top: $button-icon-margin-block-start-with-text; } } @@ -771,7 +801,7 @@ min-width: $material-underlined-editor-button-height; .dx-button-content { - padding: 2px; + padding: $button-icononly-padding; } } } @@ -799,25 +829,25 @@ .dx-texteditor-buttons-container { > .dx-button.dx-button-mode-text { height: $material-underlined-editor-button-height; - margin-top: 1px; - margin-bottom: 3px; + margin-top: $button-margin-block-start; + margin-bottom: $button-margin-block-end; margin-inline-end: $material-editor-custom-button-margin; margin-inline-start: $material-editor-custom-button-margin; .dx-button-content { display: flex; justify-content: center; - padding-top: $material-button-vertical-padding - 1px; + padding-top: if(meta.type-of($material-button-vertical-padding) == number, $material-button-vertical-padding - 1px, calc(#{$material-button-vertical-padding} - 1px)); // dx-px-nudge: -1px under the button's own padding .dx-icon { align-self: center; - margin-top: 1px; + margin-top: $button-icon-margin-block-start; } } &.dx-button-has-text { .dx-button-content .dx-icon { - margin-top: 3px; + margin-top: $button-icon-margin-block-start-with-text; } } @@ -825,7 +855,7 @@ min-width: $material-underlined-editor-button-height; .dx-button-content { - padding: 2px; + padding: $button-icononly-padding; } } } diff --git a/packages/devextreme-scss/scss/widgets/base/timeView/_index.scss b/packages/devextreme-scss/scss/widgets/base/timeView/_index.scss index fc25e00f13f7..a45e473dcc35 100644 --- a/packages/devextreme-scss/scss/widgets/base/timeView/_index.scss +++ b/packages/devextreme-scss/scss/widgets/base/timeView/_index.scss @@ -1,5 +1,9 @@ @use "./mixins"; +// Design sizing values (parametrizable; fluent-next injects tokens) +$timeview-numberbox-width: 70px !default; +$timeview-numberbox-spin-touch-friendly-width: 110px !default; + .dx-timeview { &.dx-state-disabled, .dx-state-disabled { @@ -15,9 +19,9 @@ } .dx-timeview-field .dx-numberbox { - width: 70px; + width: $timeview-numberbox-width; &.dx-numberbox-spin-touch-friendly { - width: 110px; + width: $timeview-numberbox-spin-touch-friendly-width; } } diff --git a/packages/devextreme-scss/scss/widgets/base/timeView/_mixins.scss b/packages/devextreme-scss/scss/widgets/base/timeView/_mixins.scss index 3f220dee2ca5..5312c83fe28d 100644 --- a/packages/devextreme-scss/scss/widgets/base/timeView/_mixins.scss +++ b/packages/devextreme-scss/scss/widgets/base/timeView/_mixins.scss @@ -1,3 +1,5 @@ +@use "sass:math"; +@use "sass:meta"; @use "sass:string"; @use "../string" as *; @@ -9,12 +11,23 @@ background-image: string.unquote($uri); } -@mixin clock-action-icons-mixin($accent-color, $background-color, $digit-color) { +@mixin clock-action-icons-mixin( + $accent-color, + $background-color, + $digit-color, + // The clock face is the SVG behind it, so its size scales the whole dial; the arrows are centred + // on the dial with half their own width, which is why the offset is a knob of its own. + $clock-size: 182px, + $arrow-width: 10px, + $arrow-offset: if( + meta.type-of($arrow-width) == number, + math.div(-$arrow-width, 2), + calc(#{$arrow-width} / -2) + ), +) { .dx-timeview-clock { @include clock-colored-image(data-uri("image/svg+xml;charset=UTF-8", "images/widgets/common/timeView/clock-bg.svg"), $accent-color, $background-color, $digit-color); - $clock-size: 182px; - min-width: $clock-size; min-height: $clock-size; max-height: $clock-size; @@ -27,8 +40,8 @@ .dx-timeview-minutearrow { position: absolute; left: 50%; - width: 10px; - margin-left: -5px; + width: $arrow-width; + margin-left: $arrow-offset; height: 50%; background-position: bottom; background-repeat: no-repeat; diff --git a/packages/devextreme-scss/scss/widgets/base/toolbar/_index.scss b/packages/devextreme-scss/scss/widgets/base/toolbar/_index.scss index b808f435693c..e216ebb33083 100644 --- a/packages/devextreme-scss/scss/widgets/base/toolbar/_index.scss +++ b/packages/devextreme-scss/scss/widgets/base/toolbar/_index.scss @@ -1,5 +1,10 @@ @use "../mixins" as *; +// Design sizing values (parametrizable; fluent-next injects tokens) +$toolbar-item-padding: 0 5px !default; +$toolbar-group-margin: 0 10px !default; +$toolbar-texteditor-width: 150px !default; + .dx-toolbar { width: 100%; @@ -49,7 +54,7 @@ } .dx-toolbar-item { - padding: 0 5px; + padding: $toolbar-item-padding; @include dx-toolbar-item(); } @@ -60,7 +65,7 @@ .dx-toolbar-group { float: left; - margin: 0 10px; + margin: $toolbar-group-margin; } .dx-toolbar-before, @@ -93,8 +98,8 @@ @include dx-overflow(); // NOTE: Prevent croping of italic text in label (T126187) - margin: 0 -5px; - padding: 0 5px; + margin: 0 -5px; // dx-fixed-size: pulls the items flush with the toolbar edge + padding: $toolbar-item-padding; } .dx-toolbar-center { @@ -210,7 +215,7 @@ .dx-toolbar-item-content { > .dx-texteditor, &.dx-texteditor { - width: 150px; + width: $toolbar-texteditor-width; } } diff --git a/packages/devextreme-scss/scss/widgets/base/toolbar/_mixins.scss b/packages/devextreme-scss/scss/widgets/base/toolbar/_mixins.scss index e76f9e4da44e..4627f47ac1ec 100644 --- a/packages/devextreme-scss/scss/widgets/base/toolbar/_mixins.scss +++ b/packages/devextreme-scss/scss/widgets/base/toolbar/_mixins.scss @@ -1,17 +1,20 @@ @mixin dx-toolbar-focus-outline( $accent-color, $border-radius, + // The focus ring's geometry, on the same role as its colour and radius. + $outline-width: 2px, + $outline-offset: 1px, ) { .dx-toolbar.dx-toolbar-focus-mode { [tabindex="0"]:focus-visible:not(.dx-toolbar-item) { - outline: 2px solid $accent-color; - outline-offset: 1px; + outline: $outline-width solid $accent-color; + outline-offset: $outline-offset; border-radius: $border-radius; } .dx-toolbar-item[tabindex="0"]:focus-visible .dx-menu { - outline: 2px solid $accent-color; - outline-offset: 1px; + outline: $outline-width solid $accent-color; + outline-offset: $outline-offset; border-radius: $border-radius; } } diff --git a/packages/devextreme-scss/scss/widgets/base/treeList/_common.scss b/packages/devextreme-scss/scss/widgets/base/treeList/_common.scss index 7f706cc6e127..02945ff8b07e 100644 --- a/packages/devextreme-scss/scss/widgets/base/treeList/_common.scss +++ b/packages/devextreme-scss/scss/widgets/base/treeList/_common.scss @@ -1,6 +1,9 @@ @use "../mixins" as *; @use "../gridBase" as *; -@include grid-base(treelist); +$draggable-column-opacity: 0.5 !default; +$column-chooser-item-opacity: 0.5 !default; + +@include grid-base(treelist, $draggable-column-opacity, $column-chooser-item-opacity); .dx-treelist-container { position: relative; diff --git a/packages/devextreme-scss/scss/widgets/base/treeList/_expandable.scss b/packages/devextreme-scss/scss/widgets/base/treeList/_expandable.scss index 70285b993711..d0200902760b 100644 --- a/packages/devextreme-scss/scss/widgets/base/treeList/_expandable.scss +++ b/packages/devextreme-scss/scss/widgets/base/treeList/_expandable.scss @@ -1,5 +1,8 @@ @use "./variables" as *; @use "../icon_fonts" as *; +@use "sass:meta"; + +$node-line-height: null !default; .dx-treelist-headers { .dx-header-row { @@ -10,7 +13,7 @@ float: left; width: $treelist-expand-checkbox-size; height: 1lh; - margin: 0 $treelist-expand-checkbox-right-gap 0 ($treelist-expand-icon-size + $treelist-expand-icon-right-gap); + margin: 0 $treelist-expand-checkbox-right-gap 0 if(meta.type-of($treelist-expand-icon-size) == number and meta.type-of($treelist-expand-icon-right-gap) == number, ($treelist-expand-icon-size + $treelist-expand-icon-right-gap), calc(#{$treelist-expand-icon-size} + #{$treelist-expand-icon-right-gap})); .dx-select-checkbox { display: block; @@ -40,7 +43,7 @@ .dx-treelist-empty-space { width: $treelist-expand-icon-size; - height: 1px; + height: $node-line-height; user-select: none; &--last { @@ -81,7 +84,7 @@ .dx-treelist-select-checkbox-container { position: relative; width: $treelist-expand-checkbox-size; - height: 1px; + height: $node-line-height; margin: 0 $treelist-expand-checkbox-right-gap 0 0; .dx-select-checkbox { @@ -113,7 +116,7 @@ &.dx-treelist-select-all { .dx-treelist-select-checkbox-container { float: right; - margin: 0 ($treelist-expand-icon-size + $treelist-expand-icon-right-gap) 0 $treelist-expand-checkbox-right-gap; + margin: 0 if(meta.type-of($treelist-expand-icon-size) == number and meta.type-of($treelist-expand-icon-right-gap) == number, ($treelist-expand-icon-size + $treelist-expand-icon-right-gap), calc(#{$treelist-expand-icon-size} + #{$treelist-expand-icon-right-gap})) 0 $treelist-expand-checkbox-right-gap; } } } diff --git a/packages/devextreme-scss/scss/widgets/base/treeList/_index.scss b/packages/devextreme-scss/scss/widgets/base/treeList/_index.scss index 30e7affaa09d..e7ce122fa82a 100644 --- a/packages/devextreme-scss/scss/widgets/base/treeList/_index.scss +++ b/packages/devextreme-scss/scss/widgets/base/treeList/_index.scss @@ -6,22 +6,40 @@ $datagrid-base-background-color: null !default; $datagrid-border-color: null !default; $datagrid-focused-border-color: null !default; $datagrid-text-stub-background-image-path: null !default; +$datagrid-text-stub-mask-image: null !default; +$datagrid-text-stub-bg: null !default; $datagrid-row-error-color: null !default; $header-filter-color: null !default; $header-filter-color-empty: null !default; $base-focus-color: null !default; @use "sass:color"; +@use "sass:meta"; @use "../mixins" as *; @use "../icon_fonts" as *; -@use "./common" as *; -@use "./expandable" as *; +$treelist-draggable-column-opacity: 0.5 !default; +$treelist-column-chooser-item-opacity: 0.5 !default; + +@use "./common" as * with ( + $draggable-column-opacity: $treelist-draggable-column-opacity, + $column-chooser-item-opacity: $treelist-column-chooser-item-opacity, +); +$treelist-expandable-node-line-height: 1px !default; + +@use "./expandable" as * with ( + $node-line-height: $treelist-expandable-node-line-height, +); +$treelist-sticky-column-border: 2px solid !default; +$treelist-cell-focus-outline: 2px solid !default; + @use "layout/cell" with ( $treelist-border: $datagrid-border, $treelist-border-color: $datagrid-border-color, $treelist-base-background-color: $datagrid-base-background-color, $treelist-row-error-color: $datagrid-row-error-color, $treelist-focused-border-color: $datagrid-focused-border-color, + $treelist-sticky-column-border: $treelist-sticky-column-border, + $treelist-cell-focus-outline: $treelist-cell-focus-outline, ); $treelist-border: $datagrid-border !default; @@ -34,6 +52,14 @@ $treelist-focused-border-color: $datagrid-focused-border-color !default; $treelist-text-stub-background-image-path: $datagrid-text-stub-background-image-path !default; $treelist-row-error-color: $datagrid-row-error-color !default; +// Design sizing values (parametrizable; fluent-next injects tokens) +$treelist-header-filter-outline: 2px solid !default; +$treelist-header-filter-outline-offset: 2px !default; +$treelist-button-margin-left: 10px !default; +$treelist-button-margin-top: 10px !default; +$treelist-error-message-margin-bottom: 20px !default; +$treelist-button-margin-right: 10px !default; + .dx-treelist-borders { > .dx-treelist-headers, > .dx-treelist-rowsview, @@ -127,9 +153,9 @@ $treelist-row-error-color: $datagrid-row-error-color !default; &.dx-state-focused .dx-header-row { td .dx-header-filter:focus { - outline: 2px solid; + outline: $treelist-header-filter-outline; outline-color: $treelist-focused-border-color; - outline-offset: 2px; + outline-offset: $treelist-header-filter-outline-offset; } } } @@ -147,7 +173,7 @@ $treelist-row-error-color: $datagrid-row-error-color !default; &.dx-filter-menu { .dx-menu-item-content .dx-icon { - @include dx-icon-sizing(14px); + @include dx-icon-sizing(14px); // dx-fixed-size: the gridBase tier already paints this across the family; a widget-scoped name would collide under the other grid roots } } @@ -161,9 +187,9 @@ $treelist-row-error-color: $datagrid-row-error-color !default; .dx-treelist-rowsview.dx-state-focused .dx-data-row { & > td.dx-command-edit > a.dx-link:focus { - outline: 2px solid; + outline: $treelist-header-filter-outline; outline-color: $datagrid-focused-border-color; - outline-offset: 2px; + outline-offset: $treelist-header-filter-outline-offset; } &.dx-row-focused > td.dx-command-edit > a.dx-link:focus { @@ -182,8 +208,20 @@ $treelist-row-error-color: $datagrid-row-error-color !default; display: block; height: 100%; content: ""; - background-image: $treelist-text-stub-background-image-path; - background-repeat: no-repeat repeat; + + /* + * A background image cannot read a colour role, so the placeholder's tint is frozen in + * the raster. `$…-mask-image` swaps the same artwork in as a mask, which carries only + * its alpha, so the colour and its opacity come from the theme instead. + */ + @if $datagrid-text-stub-mask-image { + mask-image: $datagrid-text-stub-mask-image; + mask-repeat: no-repeat repeat; + background-color: $datagrid-text-stub-bg; + } @else { + background-image: $treelist-text-stub-background-image-path; + background-repeat: no-repeat repeat; + } } &[style*="text-align: right"]::before { @@ -218,7 +256,7 @@ $treelist-row-error-color: $datagrid-row-error-color !default; .dx-icon-filter:focus, .dx-treelist-filter-panel-text:focus, .dx-treelist-filter-panel-clear-filter:focus { - outline: 2px solid; + outline: $treelist-header-filter-outline; outline-color: $treelist-focused-border-color; } } @@ -228,14 +266,14 @@ $treelist-row-error-color: $datagrid-row-error-color !default; float: right; .dx-button { - margin-left: 10px; - margin-top: 10px; + margin-left: $treelist-button-margin-left; + margin-top: $treelist-button-margin-top; } } .dx-treelist-export-menu { .dx-menu-item .dx-icon-exportxlsx { - @include dx-icon-sizing(16px); + @include dx-icon-sizing(16px); // dx-fixed-size: the gridBase tier already paints this across the family; a widget-scoped name would collide under the other grid roots } } @@ -243,14 +281,14 @@ $treelist-row-error-color: $datagrid-row-error-color !default; cursor: pointer; @include dx-icon(more); - @include dx-icon-sizing(21px); + @include dx-icon-sizing(21px); // dx-fixed-size: the gridBase tier already paints this across the family; a widget-scoped name would collide under the other grid roots } .dx-treelist-edit-popup .dx-error-message { @include dx-treelist-error-message(); color: $treelist-row-error-color; - margin-bottom: 20px; + margin-bottom: $treelist-error-message-margin-bottom; } .dx-rtl { @@ -273,7 +311,7 @@ $treelist-row-error-color: $datagrid-row-error-color !default; .dx-button { margin-left: 0; - margin-right: 10px; + margin-right: $treelist-button-margin-right; } } } @@ -284,15 +322,15 @@ $treelist-row-error-color: $datagrid-row-error-color !default; @keyframes dx-treelist-highlight-change { from { - background-color: color.change($treelist-base-color, $alpha: 0.08); + background-color: if(meta.type-of($treelist-base-color) == color, color.change($treelist-base-color, $alpha: 0.08), rgb(from #{$treelist-base-color} r g b / 0.08)); } 50% { - background-color: color.change($treelist-base-color, $alpha: 0.08); + background-color: if(meta.type-of($treelist-base-color) == color, color.change($treelist-base-color, $alpha: 0.08), rgb(from #{$treelist-base-color} r g b / 0.08)); } } .dx-command-ai-header-button .dx-button.dx-state-focused { - outline: 2px solid; + outline: $treelist-header-filter-outline; outline-color: $treelist-focused-border-color; } diff --git a/packages/devextreme-scss/scss/widgets/base/treeList/layout/cell.scss b/packages/devextreme-scss/scss/widgets/base/treeList/layout/cell.scss index 6d10c854c402..99d9aac760fb 100644 --- a/packages/devextreme-scss/scss/widgets/base/treeList/layout/cell.scss +++ b/packages/devextreme-scss/scss/widgets/base/treeList/layout/cell.scss @@ -5,6 +5,8 @@ $treelist-border-color: null !default; $treelist-base-background-color: null !default; $treelist-row-error-color: null !default; $treelist-focused-border-color: null !default; +$treelist-sticky-column-border: null !default; +$treelist-cell-focus-outline: null !default; // #region position & z-index @@ -38,9 +40,9 @@ $treelist-focused-border-color: null !default; .dx-treelist-container .dx-datagrid-rowsview .dx-virtual-row td.dx-pointer-events-none, .dx-treelist-container .dx-datagrid-rowsview .dx-header-row td.dx-pointer-events-none, .dx-treelist-container .dx-treelist-headers .dx-row td.dx-pointer-events-none { - border-left: 2px solid; + border-left: $treelist-sticky-column-border; border-left-color: $treelist-border-color; - border-right: 2px solid; + border-right: $treelist-sticky-column-border; border-right-color: $treelist-border-color; } @@ -70,13 +72,13 @@ $treelist-focused-border-color: null !default; // (0,5,1) .dx-treelist .dx-treelist-sticky-columns .dx-treelist-table .dx-row td.dx-treelist-sticky-column-border-right { - border-right: 2px solid; + border-right: $treelist-sticky-column-border; border-right-color: $treelist-border-color; } // (0,5,1) .dx-treelist .dx-treelist-sticky-columns .dx-treelist-table .dx-row td.dx-treelist-sticky-column-border-left { - border-left: 2px solid; + border-left: $treelist-sticky-column-border; border-left-color: $treelist-border-color; } @@ -92,7 +94,7 @@ $treelist-focused-border-color: null !default; // (0,7,1) .dx-treelist:not(.dx-rtl) > .dx-gridbase-container .dx-treelist-table .dx-row > td.dx-treelist-first-cell.dx-treelist-sticky-column-border-left { - border-left: 2px solid; + border-left: $treelist-sticky-column-border; border-left-color: $treelist-border-color; } @@ -123,9 +125,9 @@ $treelist-focused-border-color: null !default; .dx-rtl .dx-treelist-container .dx-datagrid-rowsview .dx-virtual-row td.dx-pointer-events-none, .dx-rtl .dx-treelist-container .dx-datagrid-rowsview .dx-header-row td.dx-pointer-events-none, .dx-rtl .dx-treelist-container .dx-treelist-headers .dx-row td.dx-pointer-events-none { - border-left: 2px solid; + border-left: $treelist-sticky-column-border; border-left-color: $treelist-border-color; - border-right: 2px solid; + border-right: $treelist-sticky-column-border; border-right-color: $treelist-border-color; } @@ -172,13 +174,13 @@ $treelist-focused-border-color: null !default; // (0,7,1) .dx-rtl > .dx-gridbase-container .dx-treelist-content .dx-treelist-table .dx-row > td.dx-treelist-first-cell.dx-treelist-sticky-column-border-left { - border-left: 2px solid; + border-left: $treelist-sticky-column-border; border-left-color: $treelist-border-color; } // (0,8,0) .dx-rtl.dx-treelist .dx-treelist-sticky-columns .dx-treelist-content .dx-treelist-table .dx-row .dx-treelist-column-no-border.dx-treelist-sticky-column-border-left { - border-left: 2px solid; + border-left: $treelist-sticky-column-border; border-left-color: $treelist-border-color; } @@ -222,9 +224,9 @@ $treelist-focused-border-color: null !default; // (0,5,1) .dx-treelist-container .dx-treelist-headers.dx-state-focused .dx-header-row td:focus { - outline: 2px solid; + outline: $treelist-cell-focus-outline; outline-color: $treelist-focused-border-color; - outline-offset: -2px; + outline-offset: -2px; // dx-fixed-size: the gridBase tier already paints this across the family; a widget-scoped name would collide under the other grid roots } // #endregion diff --git a/packages/devextreme-scss/scss/widgets/base/treeView/_common.scss b/packages/devextreme-scss/scss/widgets/base/treeView/_common.scss index 86223bf07535..38eb07191027 100644 --- a/packages/devextreme-scss/scss/widgets/base/treeView/_common.scss +++ b/packages/devextreme-scss/scss/widgets/base/treeView/_common.scss @@ -1,7 +1,10 @@ +$treeview-disabled-opacity: null !default; + @use "../mixins" as *; @use "../../base/icon_fonts" as *; -$treeview-searchbox-margin-bottom: 5px !default; +// Sized from base/treeView, which owns the defaults and forwards a theme's values down. +$treeview-searchbox-margin-bottom: null !default; .dx-treeview-loadindicator-wrapper { text-align: center; @@ -80,7 +83,7 @@ $treeview-searchbox-margin-bottom: 5px !default; order: 2; .dx-icon { - margin-inline-end: 8px; + margin-inline-end: 8px; // dx-fixed-size: demos hand-write this class outside the widget, where a tier var would not reach } .dx-button-has-icon { @@ -98,7 +101,9 @@ $treeview-searchbox-margin-bottom: 5px !default; } &.dx-state-disabled { - opacity: 0.5; + @if $treeview-disabled-opacity { + opacity: $treeview-disabled-opacity; + } } } diff --git a/packages/devextreme-scss/scss/widgets/base/treeView/_index.scss b/packages/devextreme-scss/scss/widgets/base/treeView/_index.scss index 2046ac20f08a..3468a5b4e4f3 100644 --- a/packages/devextreme-scss/scss/widgets/base/treeView/_index.scss +++ b/packages/devextreme-scss/scss/widgets/base/treeView/_index.scss @@ -1,7 +1,18 @@ +$treeview-disabled-opacity: 0.5 !default; +$treeview-searchbox-margin-bottom: 5px !default; + @use "sass:math"; -@use "./common"; +@use "sass:meta"; +@use "./common" with ( + $treeview-disabled-opacity: $treeview-disabled-opacity, + $treeview-searchbox-margin-bottom: $treeview-searchbox-margin-bottom, +); @use "../../base/icon_fonts" as *; +// Design sizing values (parametrizable; fluent-next injects tokens) +$treeview-select-all-item-border-bottom: 1px solid !default; +$treeview-border-visible-border: 1px solid !default; + .dx-treeview-custom-expand-icon, .dx-treeview-custom-collapse-icon { cursor: pointer; @@ -64,7 +75,7 @@ } .dx-treeview-node { - padding-inline-start: math.div($node-padding, 2); + padding-inline-start: if(meta.type-of($node-padding) == number, math.div($node-padding, 2), calc(#{$node-padding} / 2)); } } @@ -83,11 +94,11 @@ } .dx-treeview-with-search > .dx-scrollable { - height: calc(100% - #{math.round($search-editor-height + $searchbox-margin-bottom)}); + height: calc(100% - #{if(meta.type-of($search-editor-height) == number and meta.type-of($searchbox-margin-bottom) == number, math.round($search-editor-height + $searchbox-margin-bottom), calc(#{$search-editor-height} + #{$searchbox-margin-bottom}))}); } .dx-treeview-select-all-item { - border-bottom: 1px solid; + border-bottom: $treeview-select-all-item-border-bottom; border-bottom-color: $border-color; padding: $select-all-item-padding; @@ -107,7 +118,7 @@ } .dx-treeview-border-visible { - border: 1px solid; + border: $treeview-border-visible-border; border-color: $border-color; .dx-treeview-select-all-item { diff --git a/packages/devextreme-scss/scss/widgets/fluent-next/DIVERGENCES.md b/packages/devextreme-scss/scss/widgets/fluent-next/DIVERGENCES.md new file mode 100644 index 000000000000..0fa393d6240d --- /dev/null +++ b/packages/devextreme-scss/scss/widgets/fluent-next/DIVERGENCES.md @@ -0,0 +1,105 @@ +# Divergences + +Places where fluent-next cannot express a value through the design-token tier and has to freeze +something instead. Each one is marked in the source so it can be found, and each entry here says +what would have to change for the marker to go away. + +Comments in `_colors.scss` files point here with `See DIVERGENCES.md`. + +## The `dx-data-uri-static` marker + +An icon that is inlined as an SVG `data-uri` gets its colour by a build-time string replace of +`currentColor`. A CSS `var()` does not resolve inside a data-uri - it renders black - so the +colour has to be written as a literal, and the literal is a hand-copy of a `ds.$` token that +nothing keeps in sync. + +The marker records which token the literal stands for: + +```scss +$file-manager-icon: #161616 !default; // dx-data-uri-static: ds.$color-content +``` + +`tests/fluent-next-naming.test.ts` reads it: a variable that feeds a data-uri is exempt from the +rule that every colour variable is published into the component tier, because publishing a knob +that turns nothing would be worse than not publishing it. + +**A single-colour icon does not need this.** The same artwork used as a `mask-image` carries only +its alpha, so `background-color: currentColor` paints it from the cascade and the colour stays a +token. That is how gantt, list and two of the file manager icons were retired - see +`base/gantt/_mixins.scss` and `base/list/_mixins.scss` for the `$masked` flag, which keeps the +legacy themes on the baked path so their emitted css does not move. + +## Current inventory - 16 markers, 3 components + +### fileManager - 6, structural + +`done.svg` and `danger.svg` each put an inverted glyph on a success or danger disc beside the +neutral arrows. Three fills in one image; a single-colour mask cannot express that, so the six +literals stay. Tellingly the disabled state never needed a second copy of these two - they report +an outcome and do not grey out. + +### timeView - 6, structural + +Two of the three images are genuinely two-tone: + +- `min-arrow.svg` - the tip is a donut, `fill="$background-color"` inside `stroke="$accent-color"`. + Under an alpha mask both are opaque, the canvas-coloured hole fills in and the tip becomes a + solid dot. +- `clock-bg.svg` - the dial and the numerals are deliberately opposed, so one colour would erase + the digits. + +`hour-arrow.svg` alone is single-colour, but converting it frees no literal: `$accent-color` is +still required by `min-arrow`. + +### diagram - 4, deliberate + +34 of the 36 diagram icons are single-colour and a working mask migration exists, but it was +measured and declined: diagram has no per-state duplication yet, so it saves nothing today, and +the wide connectors are one-pixel hairlines whose anti-aliasing shifts enough under a mask to fail +the screenshot comparer at its real defaults. Two icons could never follow anyway - +`connector-begin-none.svg` and `connector-end-none.svg` declare `.st0{fill:#FF0000}` in a ` + + +
+

DevExtreme · fluent-next · material for the design team

+

Scales: what did not land on a package step

+

Categories of values that got neither a step nor a role during the migration. Each + one is marked in the code, so this inventory is reproducible by command and cannot drift from the + sources. The marker categories are collected from the theme sources, calc() from the built bundle, + because what matters there is how many expressions actually reach the browser. No unmarked fixed + size is left in the theme: the gate tests/fluent-next-size-markers.test.ts catches + them.

+

The "step" column is computed: the value is converted to rem at a 16px root and + looked up in the package scale, the family chosen by the property. A filled cell means "a step + with exactly this value already exists", an empty one means "no such step in the scale".

+

Card: design#1555 + — the review happens there. It does not block the release: values off the scales stay literals, + and the card decides which of them deserve steps and roles.

+ +
+ +
+ ${vocabulary.categories.map((entry) => (entry.source === 'bundle' + ? calcSection() + : categorySection(categories.find((candidate) => candidate.id === entry.id)))).join('')} +
+ + +`; + +const calcSection = () => ` +
+
+

${escape(CALC_CATEGORY.title)} — calc()${calcLight.length}

+

A token arrives in CSS as var(), so Sass can no longer fold the + arithmetic: everything that used to be computed at build time is now computed by the browser. + For comparison, the built legacy fluent has 50 calc() expressions and not + one with a token. Below is the light bundle; the dark one has the same set.

+
+
${calcByKind.map((kind) => ` +
+

${kind.list.length} ${escape(kind.title)}

+

${kind.why.replace(/`([^`]+)`/g, (_, code) => `${escape(code)}`)}

+
`).join('')} +
+ ${calcByKind.filter((kind) => kind.list.length).map((kind) => ` +

${escape(kind.title)} — ${kind.list.length}

+
${kind.formulas.map(([formula, list]) => ` +
+ ${escape(formula)}${list.length} +
    ${list.map((place) => `
  • ${escape(place.selector)} → ${escape(place.prop)}
  • `).join('')}
+
`).join('')} +
`).join('')} +
+`; + +if (mdOnly) { + process.stdout.write(`${md()}\n`); +} else { + writeFileSync(join(themeDir, 'SCALES.md'), `${md()}\n`); + writeFileSync(join(themeDir, 'SCALES.html'), html()); + vocabulary.categories.forEach((entry) => { + if (entry.source === 'bundle') { + process.stdout.write(`${entry.title}: ${calcLight.length} per bundle — ` + + `${calcByKind.map((kind) => `${kind.title} ${kind.list.length}`).join(', ')}\n`); + return; + } + const category = categories.find((candidate) => candidate.id === entry.id); + process.stdout.write(`${category.title}: ${category.rows.length} ` + + `(distinct values ${distinctValues(category.rows, category).length})\n`); + }); +} diff --git a/packages/devextreme-scss/tools/review/size-markers.json b/packages/devextreme-scss/tools/review/size-markers.json new file mode 100644 index 000000000000..0b71c0469e5e --- /dev/null +++ b/packages/devextreme-scss/tools/review/size-markers.json @@ -0,0 +1,144 @@ +{ + "comment": [ + "Size-marker vocabulary. One source, three consumers:", + " tools/review/scales.mjs — builds the SCALES.md / SCALES.html report, a section per entry;", + " tools/review/px-audit.mjs — the gate: a px literal with no marker does not pass", + " (tests/fluent-next-size-markers.test.ts runs it).", + " tests/base-size-markers.test.ts — the same scan over the shared layer scss/widgets/base/**, against a baseline: that layer cannot be marked in one go, so the count only ratchets down.", + "The report and the gate cannot drift: this list is the only one.", + "", + "Fields: id — section anchor; marker — the token in a `// : note` comment;", + "title/question/why — section copy; literals — what counts as a distinct value in the summary", + "(px — pixels only, any — any literal with a unit, steps — step names);", + "scale — the package scale family the report looks the value up in (null — do not look up);", + "source — where places come from (sources — from the code by marker, bundle — from the built", + "bundle).", + "", + "Add a category here rather than in code: the report and the gate pick it up on their own.", + "A marker name must not be a substring of a custom property name used in the theme — both", + "scanners match the marker as a substring of the comment (`dx-border-width` is unusable: the", + "theme declares `--dx-border-width`)." + ], + "categories": [ + { + "id": "offscale", + "marker": "dx-offscale", + "source": "sources", + "title": "A. Sizes off the scales", + "question": "which values deserve a step", + "literals": "px", + "why": "A named theme size with no matching step in any relevant package scale: the value stayed a px literal.", + "scale": "spacing" + }, + { + "id": "foreign", + "marker": "dx-foreign-scale", + "source": "sources", + "title": "A2. Sizes taken from another family's scale", + "question": "does the property's own scale deserve these steps", + "literals": "steps", + "why": "A length read from the spacing scale although the property has a scale of its own - a font size, a border width - because that scale has no step at the value. Unlike A the number is not a literal: it does sit on a scale, just not the one the property belongs to, so nothing looks wrong until you read which family the step came from. Unlike B a role could not be attached even if the package wanted one, because there is no step to attach it to. A value that DOES exist in the right family is not listed here - that is a plain mistake and gets fixed, not classified.", + "scale": "font-size" + }, + { + "id": "norole", + "marker": "dx-no-semantic-role", + "source": "sources", + "title": "B. Step exists, role does not", + "question": "which steps deserve semantic roles", + "literals": "steps", + "why": "The value sits on a base scale step, but the package has no semantic role for this case — the theme reads the base scale directly.", + "scale": null + }, + { + "id": "glyph", + "marker": "dx-icon-glyph-size", + "source": "sources", + "title": "B2. Icon glyph sizes", + "question": "answered on 262.23.0: the package sizes glyphs from spacing, so no icon scale is needed - and ours read font-size", + "literals": "steps", + "why": "A glyph is sized by a font-size step or by a fraction of the font size. Measured across all four package sets and all three densities: every icon size the package declares comes from the SPACING scale (icon.size = {spacing.120} / {spacing.160} / {spacing.200} ...), never from font-size. A dedicated icon scale does exist but is used once in the whole package (ai-chat.reasoning-header.icon.size = {icon.size-12px}). So the answer to the question is no, and the theme is the outlier. The move would be value-neutral: font-size-N and spacing-N resolve to the same rem at every step the theme uses (110 through 360, all twelve checked), so renaming the scale read changes no pixel.", + "scale": "font-size" + }, + { + "id": "relative", + "marker": "dx-relative", + "source": "sources", + "title": "C. Proportional values", + "question": "do proportional values need DS roles", + "literals": "any", + "why": "The value is proportional to the font size or to the container. It cannot become an absolute token without changing behaviour: em is measured from the element's font size, a token from the root.", + "scale": null + }, + { + "id": "calc", + "marker": null, + "source": "bundle", + "title": "D. Computed sizes", + "question": "what to compute at build time and what at runtime", + "literals": null, + "why": "A token arrives in CSS as var(), so Sass can no longer fold the arithmetic: derived values move to the browser.", + "scale": null + }, + { + "id": "nudge", + "marker": "dx-px-nudge", + "source": "sources", + "title": "E. Pixel nudges", + "question": "should the correction follow the scale or stay absolute", + "literals": "px", + "why": "An absolute addition or subtraction on top of a token. When the scale moves the derived value follows and the correction does not — on a large step ±1px goes unnoticed, on a small one it is a visible fraction of the size.", + "scale": "spacing" + }, + { + "id": "shadow", + "marker": "dx-shadow-geometry", + "source": "sources", + "title": "F. Shadow geometry", + "question": "a shadow role as a whole, rather than steps for its numbers", + "literals": "px", + "why": "Offset, blur and spread inside box-shadow. The package ships shadow geometry as px tokens of its own, so the question is not which step but whether a shadow role is wanted — the theme already takes the shadow colour from a role.", + "scale": null + }, + { + "id": "linewidth", + "marker": "dx-line-width", + "source": "sources", + "title": "G. Border and line thickness", + "question": "put them on border-width steps, or must a hairline stay 1px", + "literals": "px", + "why": "The thickness of a border, of a hairline drawn with box-shadow, or of a strip revealed by clip-path. A matching step exists (border-width-10 = 1px), but a hairline is not meant to thicken along with the scale.", + "scale": "border-width" + }, + { + "id": "required", + "marker": "dx-literal-required", + "source": "sources", + "title": "H. Must stay a number", + "question": "no decision needed — the value is frozen by the technique", + "literals": "px", + "why": "A @media or @container condition: var() is invalid there, so the value cannot become a token even once a step exists. When the step moves the condition stays where it is — worth knowing in advance.", + "scale": "spacing" + }, + { + "id": "fixed", + "marker": "dx-fixed-size", + "source": "sources", + "title": "I. Fixed sizes written into rules", + "question": "does it deserve a step, or does the size stay fixed", + "literals": "px", + "why": "The number is written where it applies — in a rule, a mixin argument or a derived variable — with no name of its own. Unlike A, a step with that value usually does exist: the step column shows which one.", + "scale": "spacing" + }, + { + "id": "structural", + "marker": "dx-structural", + "source": "sources", + "title": "K. Not a designed size", + "question": "no decision needed — the number is a technique, not a size", + "literals": "px", + "why": "An off-screen parking coordinate (top: -9999px), a one-pixel probe, a number chosen to be far outside the viewport rather than to be seen. Nobody designs it and no step can replace it: making it a token would only invite someone to tune it. Unlike H, the value is not frozen by a syntax — it is frozen by having no visual meaning.", + "scale": null + } + ] +} diff --git a/packages/devextreme-scss/tools/review/sizes.mjs b/packages/devextreme-scss/tools/review/sizes.mjs new file mode 100644 index 000000000000..c5652b18f525 --- /dev/null +++ b/packages/devextreme-scss/tools/review/sizes.mjs @@ -0,0 +1,162 @@ +/* + * The sizes report: which step of which scale every size slot of the theme reads, and which steps + * the token package's component tier uses for the same component. + * + * node tools/review/sizes.mjs # summary to stdout + * node tools/review/sizes.mjs --json # machine-readable, for the gate + * + * The colour pass (tools/review/roles.mjs) reads `components//theme/fluent.json` and answers + * "is this the role the design system names for this slot". Nothing read `components//size/*`, + * so the other 1391 declarations of the theme - spacing, border widths, radii and the typography + * ramp - were never compared against anything at all. + * + * The comparison is deliberately coarser than the colour one. A colour slot has a family the name + * itself promises, so a mismatch is meaningful on one declaration. A size step has no such promise: + * `spacing.120` is not wrong for a padding the way `color-bg-*` is wrong for a `-content` slot. So + * this asks the one question that IS answerable per component: does the package ever use this step + * of this scale in this component? A "no" is a question - the step may be one the design system + * does not put in this component at all - and the report names the steps it does use. + * + * So this is a REPORT, and deliberately not a gate. The colour pass can be one because a family is + * a hard rule: a `-bg` slot reading a content role is wrong on its face, whoever wrote it. A step + * carries no such rule. The steps this pass lists as unused are mostly places where the package + * models a component more thinly than we do, and banking 170 of them with a reason each would + * produce a list that says "we picked a different step, which is fine" 170 times - a gate that + * cannot go red for a reason anybody would act on. + * + * One rule did come out of the pass and IS gated, in tests/fluent-next-size-markers.test.ts: a + * glyph is sized from spacing, not from a typography scale. That one is hard, because font-size-N + * and spacing-N resolve to the same rem at every step, so the wrong scale reads correct and only a + * gate will notice. + */ +import { readFileSync, readdirSync, existsSync } from 'fs'; +import { join, dirname } from 'path'; +import { fileURLToPath } from 'url'; +import { createRequire } from 'module'; + +const here = dirname(fileURLToPath(import.meta.url)); +const packageRoot = join(here, '..', '..'); +const themeDir = join(packageRoot, 'scss', 'widgets', 'fluent-next'); +const require_ = createRequire(import.meta.url); + +const SETS = ['core', 'vnext', 'blazor', 'wpf']; +const DENSITIES = ['fluent_small', 'fluent_medium', 'fluent_large']; +// The folder-to-component map is the colour pass's; kept in one place so the two cannot disagree. +const COMPONENT = JSON.parse( + readFileSync(join(here, 'roles.mjs'), 'utf8') + .match(/const COMPONENT = \{[\s\S]*?\n\};/)[0] + .replace('const COMPONENT = ', '') + .replace(/\n\};$/, '\n}') + .replace(/'/g, '"') + .replace(/(\w[\w-]*):/g, '"$1":') + .replace(/,(\s*[}\]])/g, '$1') + .replace(/^"const" COMPONENT = /, ''), +); + +const tokensRoot = dirname(require_.resolve('@devexpress/design-tokens-internal/package.json')); +const tokensVersion = JSON.parse(readFileSync(join(tokensRoot, 'package.json'), 'utf8')).version; + +// scale + step as the package spells them: {spacing.120} -> spacing/120, {font-size.base-sm} -> +// font-size/base-sm. `global.` wrappers are unwrapped: {global.border-radius.default} is the +// border-radius scale's `default` step. +const refOf = (value) => { + const m = String(value).match(/^\{([a-z-]+(?:\.[a-z-]+)?)\.([a-z0-9-]+)\}$/); + if (!m) return null; + const scale = m[1].startsWith('global.') ? m[1].slice('global.'.length) : m[1]; + return { scale, step: m[2] }; +}; + +const packageSteps = new Map(); // component -> scale -> Set(step) +for (const set of SETS) { + for (const density of DENSITIES) { + const file = join(tokensRoot, 'tokens', 'components', set, 'size', `${density}.json`); + if (!existsSync(file)) continue; + const walk = (node, path = []) => { + for (const key of Object.keys(node ?? {})) { + const value = node[key]; + if (value && typeof value === 'object' && !('value' in value) && !('$value' in value)) { + walk(value, [...path, key]); + continue; + } + const ref = refOf(value.value ?? value.$value); + if (!ref) continue; + const component = path[0]; + if (!packageSteps.has(component)) packageSteps.set(component, new Map()); + const scales = packageSteps.get(component); + if (!scales.has(ref.scale)) scales.set(ref.scale, new Map()); + const steps = scales.get(ref.scale); + if (!steps.has(ref.step)) steps.set(ref.step, new Set()); + steps.get(ref.step).add(`${set}/${density.replace('fluent_', '')}`); + } + }; + walk(JSON.parse(readFileSync(file, 'utf8'))); + } +} + +// Our side: every `ds.$-` read inside a _sizes.scss, with the variable it feeds. +const SCALES = ['spacing', 'border-width', 'border-radius', 'font-size', 'line-height', 'font-weight', 'letter-spacing']; +const declarations = []; +for (const folder of readdirSync(themeDir).sort()) { + const file = join(themeDir, folder, '_sizes.scss'); + if (!existsSync(file)) continue; + const text = readFileSync(file, 'utf8'); + for (const line of text.split('\n')) { + const decl = line.match(/^\$([a-z0-9-]+)\s*:\s*(.+?)(?:\s*!default)?;/); + if (!decl) continue; + const [, name, value] = decl; + for (const scale of SCALES) { + const re = new RegExp(`ds\\.\\$${scale}-([a-z0-9-]+)`, 'g'); + for (const m of value.matchAll(re)) { + declarations.push({ folder, name, scale, step: m[1], value: value.trim() }); + } + } + } +} + +const stepsFor = (folder, scale) => { + const components = COMPONENT[folder] ?? []; + const found = new Map(); + for (const component of components) { + const scales = packageSteps.get(component); + if (!scales?.has(scale)) continue; + for (const [step, where] of scales.get(scale)) { + if (!found.has(step)) found.set(step, new Set()); + for (const w of where) found.get(step).add(w); + } + } + return found; +}; + +const findings = declarations.map((d) => { + const components = COMPONENT[d.folder] ?? []; + if (!components.length) return { ...d, verdict: 'no-counterpart' }; + const steps = stepsFor(d.folder, d.scale); + if (!steps.size) return { ...d, verdict: 'scale-absent' }; + if (steps.has(d.step)) return { ...d, verdict: 'agrees', where: [...steps.get(d.step)].sort() }; + return { ...d, verdict: 'step-new', packageUsesHere: [...steps.keys()].sort() }; +}); + +const verdicts = ['agrees', 'step-new', 'scale-absent', 'no-counterpart']; +const summary = { + tokensVersion, + declarations: findings.length, + folders: new Set(findings.map((f) => f.folder)).size, + byVerdict: Object.fromEntries(verdicts.map((v) => [v, findings.filter((f) => f.verdict === v).length])), + byScale: Object.fromEntries(SCALES.map((s) => [s, findings.filter((f) => f.scale === s).length]).filter(([, n]) => n)), +}; + +if (process.argv.includes('--json')) { + console.log(JSON.stringify({ summary, findings }, null, 2)); +} else { + console.log(`size reads ${summary.declarations} in ${summary.folders} folders, package ${tokensVersion}`); + for (const v of verdicts) console.log(` ${v.padEnd(16)} ${summary.byVerdict[v]}`); + console.log('\nby scale:'); + for (const [scale, n] of Object.entries(summary.byScale)) console.log(` ${scale.padEnd(16)} ${n}`); + const neu = findings.filter((f) => f.verdict === 'step-new'); + const byFolder = {}; + for (const f of neu) (byFolder[f.folder] ??= []).push(f); + console.log(`\nsteps the package does not use in this component (${neu.length}):`); + for (const [folder, rows] of Object.entries(byFolder).sort((a, b) => b[1].length - a[1].length).slice(0, 12)) { + console.log(` ${String(rows.length).padStart(3)} ${folder} e.g. ${rows[0].name} reads ${rows[0].scale}-${rows[0].step}; package uses ${rows[0].packageUsesHere.join(', ')}`); + } +} diff --git a/packages/devextreme-scss/tools/review/unread-tier.json b/packages/devextreme-scss/tools/review/unread-tier.json new file mode 100644 index 000000000000..75053ba2fcc3 --- /dev/null +++ b/packages/devextreme-scss/tools/review/unread-tier.json @@ -0,0 +1,112 @@ +{ + "comment": [ + "--dx-* names the built fluent-next bundle declares and nothing in that bundle reads. The list is", + "the worklist for question 3 of reachability.mjs and is pinned by exact set equality: a name that", + "starts being read is banked with --update-unread, a name that goes dead fails the gate.", + "", + "What this measures, precisely: reads INSIDE the bundle. That is not the same as dead. The tier is", + "public API, so application CSS is a legitimate reader, and a fifth of the names here are read outside", + "it - by apps/demos, packages/devextreme/js or the base layer. --dx-font-size-sm and", + "--dx-font-size-heading-5 are set in the Chat demos' own stylesheets; the theme is not supposed to", + "read them. The other half of the contract is already measured elsewhere: publicSurfaceUnused in", + "tests/fluent-next-naming.test.ts scans those three trees, over the legacy tier. Two questions,", + "two gates - do not read either as the whole answer.", + "", + "The names read in neither place are the ones worth a decision, and they come in three kinds. Counts move with every wave - run the tool rather than trusting a number written here (16.09.2026: 87 names listed, 22 of them read outside the bundle, 65 read nowhere).", + "", + "Defects: the theme publishes a knob and no rule turns it (--dx-switch-box-shadow,", + "--dx-scheduler-appointment-15min-height). Some are leftovers of a rename that moved the read and", + "left the declaration - --dx-datagrid-row-alternation-bg beside a live --dx-grid-row-alternation-bg.", + "", + "Sass helpers the publisher exported by accident: the value was folded into a neighbour at build", + "time (--dx-tree-view-checkbox-offset composes $tree-view-select-all-item-padding) or has to stay", + "a Sass number because the base layer multiplies it (--dx-scheduler-left-column-width).", + "", + "Published constants, not knobs: --dx-font-size-heading-1..6 and --dx-font-size-xs..xl are declared", + "by all four themes for application markup. In fluent-next the same numbers also ship as", + "--dx-typography-heading-N-font-size, and THAT is the pair the theme reads - so these are a stable", + "constant to read, never a knob to turn. Worth saying out loud rather than deducing twice." + ], + "names": [ + "--dx-border-radius", + "--dx-border-width", + "--dx-button-icon-margin", + "--dx-button-icon-size", + "--dx-button-icon-text-padding-inline-start", + "--dx-button-padding-block", + "--dx-button-padding-inline", + "--dx-calendar-legacy-width", + "--dx-check-box-indeterminate-icon-height", + "--dx-check-box-indeterminate-icon-width", + "--dx-color-border", + "--dx-color-danger", + "--dx-color-icon", + "--dx-color-link", + "--dx-color-main-bg", + "--dx-color-options-panel-bg", + "--dx-color-primary", + "--dx-color-separator", + "--dx-color-shadow", + "--dx-color-spin-icon", + "--dx-color-success", + "--dx-color-text", + "--dx-color-warning", + "--dx-component-color-bg", + "--dx-component-height", + "--dx-data-grid-group-panel-item-padding-block", + "--dx-datagrid-row-alternation-bg", + "--dx-diagram-image-icon-base-content", + "--dx-file-manager-file-actions-button-top-bottom-padding", + "--dx-font-size", + "--dx-font-size-heading-1", + "--dx-font-size-heading-2", + "--dx-font-size-heading-3", + "--dx-font-size-heading-4", + "--dx-font-size-heading-5", + "--dx-font-size-heading-6", + "--dx-font-size-icon", + "--dx-font-size-lg", + "--dx-font-size-md", + "--dx-font-size-sm", + "--dx-font-size-xl", + "--dx-font-size-xs", + "--dx-global-inline-widget-inner-height", + "--dx-grid-column-chooser-item-margin", + "--dx-grid-group-panel-item-margin-inline", + "--dx-grid-group-panel-message-line-height", + "--dx-grid-group-row-content", + "--dx-grid-hidden-border", + "--dx-grid-summary-bg", + "--dx-list-item-border-width", + "--dx-list-item-margin-inline", + "--dx-map-marker-tooltip-margin", + "--dx-menu-item-bg-hovered", + "--dx-menu-item-expanded-content", + "--dx-menu-item-line-height", + "--dx-menu-item-with-icon-padding-inline", + "--dx-pagination-page-padding-inline", + "--dx-popup-toolbar-item-padding-inline", + "--dx-progress-bar-range-indeterminate-bg", + "--dx-scheduler-appointment-15min-height", + "--dx-scheduler-appointment-20min-height", + "--dx-scheduler-appointment-25min-height", + "--dx-scheduler-dd-appointment-content-hovered", + "--dx-scheduler-left-column-width", + "--dx-slider-height", + "--dx-stepper-step-accent-bg-hovered", + "--dx-switch-box-shadow", + "--dx-switch-handle-on-box-shadow", + "--dx-switch-handle-on-box-shadow-blur", + "--dx-switch-handle-on-shadow", + "--dx-tabs-item-padding-inline", + "--dx-texteditor-color-label", + "--dx-texteditor-color-text", + "--dx-tree-list-expand-icon-size", + "--dx-tree-view-border-padding", + "--dx-tree-view-checkbox-offset", + "--dx-tree-view-container-with-border-offset", + "--dx-tree-view-item-padding-inline", + "--dx-validation-message-content-padding", + "--dx-validation-summary-margin-block-start" + ] +} diff --git a/packages/devextreme-scss/tools/sizes/inventory.mjs b/packages/devextreme-scss/tools/sizes/inventory.mjs new file mode 100644 index 000000000000..7649e82ac1db --- /dev/null +++ b/packages/devextreme-scss/tools/sizes/inventory.mjs @@ -0,0 +1,341 @@ +/* + * The inventory of fixed sizes in the SHARED layer scss/widgets/base/**. + * + * node tools/sizes/inventory.mjs # write the lists, print the summary + * node tools/sizes/inventory.mjs --check # read-only; exit 1 if a list on disk is stale + * node tools/sizes/inventory.mjs --json # read-only; the summary, machine-readable (jest uses this) + * + * The layer is compiled once per bundle, so a value written into it reaches generic, material, + * fluent and fluent-next at the same time. That is why the sizes are split in two, and the split is + * not a matter of taste: + * + * theme-settable — the literal is the default of a `$x: … !default` declaration. The knob already + * exists: a theme passes its own value through `@use "…/base/x" with ($x: …)` and + * the other themes keep the default, byte for byte. Nothing in base has to change. + * base-owned — the literal is written where it applies: in a rule, a mixin body, a local + * variable with no `!default`, a calc(), a @media condition. There is no knob, so + * opening one means editing the shared layer, which is the base owners' call. + * + * The scan is tools/review/px-audit.mjs — the same module the gate and SCALES.md are built from, so + * the inventory cannot claim a different set of places than the gate enforces. + */ + +import { readFileSync, readdirSync, writeFileSync } from 'fs'; +import { dirname, join, relative } from 'path'; +import { fileURLToPath } from 'url'; + +import { scanPxLiterals } from '../review/px-audit.mjs'; + +const here = dirname(fileURLToPath(import.meta.url)); +const packageRoot = join(here, '..', '..'); +const baseDir = join(packageRoot, 'scss', 'widgets', 'base'); +const themeDir = join(packageRoot, 'scss', 'widgets', 'fluent-next'); +const listsDir = join(here, 'lists'); + +/* --------------------------------------------------------------- classifying */ + +/* + * A category answers "why is there no knob here", because that decides the cost of making one: + * local-var — a `$x: 25px` with no `!default`; adding `!default` is the whole job. + * mixin-arg — inside a @mixin body or its call; module variables cannot reach it, a parameter can. + * media — a @media/@container condition; var() is invalid there, so no knob can ever exist. + * structural — an off-screen parking coordinate, not a size anyone designs. + * geometry — box-shadow / outline / border / clip-path numbers, judged as a shape, not a step. + * calc — already inside a calc(); a knob has to keep the arithmetic valid for both forms. + * inline — a plain declaration, the ordinary case. + */ +/* A parking coordinate, not a size: nothing anyone designs is a thousand pixels across. */ +const OFF_SCREEN_PX = 1000; +const isOffScreen = (code) => (code.match(/-?\d*\.?\d+px\b/g) ?? []) + .some((literal) => Math.abs(parseFloat(literal)) >= OFF_SCREEN_PX); +const GEOMETRY = /^(?:box-shadow|outline|outline-offset|outline-width|border|border-\w+|border-\w+-\w+|clip|clip-path)\s*:/; + +const codeOf = (text) => { + const at = text.indexOf('//'); + return (at === -1 ? text : text.slice(0, at)).trim(); +}; + +const categoryOf = (code) => { + if (/^\$[\w-]+\s*:/.test(code)) return 'local-var'; + if (code.includes('@media') || code.includes('@container')) return 'media'; + if (code.startsWith('@include') || code.startsWith('@mixin')) return 'mixin-arg'; + if (isOffScreen(code)) return 'structural'; + if (GEOMETRY.test(code)) return 'geometry'; + if (code.includes('calc(')) return 'calc'; + return 'inline'; +}; + +/* + * Lines inside a `@mixin name(…)` parameter list. A literal there is a knob too, even though it is + * not a `$x: … !default` declaration: the theme sets it by passing an argument, and the default is + * what every other theme keeps. An `@include` argument list is the opposite — a call site, not a + * knob — so only `@mixin` opens a signature here. + */ +const signatureCache = new Map(); +const mixinParameterLines = (file) => { + if (signatureCache.has(file)) return signatureCache.get(file); + const inside = new Set(); + let depth = 0; + blankBlockComments(readFileSync(join(packageRoot, file), 'utf8')).split('\n').forEach((line, index) => { + const code = codeOf(line); + const opening = depth === 0 && /@mixin\b/.test(code); + if (!opening && depth === 0) return; + if (depth > 0) inside.add(index + 1); + depth += (code.match(/\(/g)?.length ?? 0) - (code.match(/\)/g)?.length ?? 0); + if (depth < 0) depth = 0; + }); + signatureCache.set(file, inside); + return inside; +}; + +/** The widget a file belongs to: `_toast.scss` -> toast, `scheduler/views/_index.scss` -> scheduler. */ +const widgetOf = (file) => { + const [head, ...rest] = relative('scss/widgets/base', file).split('/'); + return rest.length ? head : head.replace(/^_/, '').replace(/\.scss$/, ''); +}; + +/* ------------------------------------------------- what the theme already sets */ + +const scssFiles = (dir) => readdirSync(dir, { withFileTypes: true }).flatMap((entry) => { + const full = join(dir, entry.name); + if (entry.isDirectory()) return scssFiles(full); + return entry.name.endsWith('.scss') ? [full] : []; +}); + +const blankBlockComments = (content) => content + .replace(/\/\*[\s\S]*?\*\//g, (comment) => comment.replace(/[^\n]/g, ' ')); + +/* + * `@use "…/base/x" with (…)` is the only channel into the layer, and the block spans many lines with + * nested parens (`var(--dx-a, 4px)`), so it is read by balancing brackets. A one-line regex here + * silently under-reports: it finds a few dozen of the 300-odd names that are actually configured. + */ +const splitTopLevel = (body) => { + const parts = []; + let depth = 0; + let current = ''; + [...body].forEach((character) => { + if (character === '(') depth += 1; + if (character === ')') depth -= 1; + if (character === ',' && depth === 0) { + parts.push(current); + current = ''; + return; + } + current += character; + }); + parts.push(current); + return parts; +}; + +const readThemeConfiguration = () => { + const setBy = new Map(); + scssFiles(themeDir).forEach((file) => { + const content = blankBlockComments(readFileSync(file, 'utf8')); + [...content.matchAll(/@use\s+"([^"]*base[^"]*)"[^(\n]*with\s*\(/g)].forEach((match) => { + let depth = 1; + let at = match.index + match[0].length; + while (at < content.length && depth > 0) { + if (content[at] === '(') depth += 1; + if (content[at] === ')') depth -= 1; + at += 1; + } + const body = content.slice(match.index + match[0].length, at - 1).replace(/\/\/[^\n]*/g, ''); + splitTopLevel(body).forEach((part) => { + const name = /^\s*\$([\w-]+)\s*:/.exec(part); + if (!name) return; + const value = part.slice(part.indexOf(':') + 1).trim().replace(/\s+/g, ' '); + setBy.set(name[1], { + file: relative(packageRoot, file), + value, + }); + }); + }); + }); + return setBy; +}; + +/* ------------------------------------------------------------------ the lists */ + +const build = () => { + const { marked, unmarked } = scanPxLiterals(baseDir); + const places = [...marked, ...unmarked] + .sort((a, b) => a.file.localeCompare(b.file) || a.line - b.line); + const setBy = readThemeConfiguration(); + + const settable = []; + const owned = []; + + places.forEach((place) => { + const code = codeOf(place.text); + const declaration = /^\$([\w-]+)\s*:/.exec(code); + const parameter = Boolean(declaration) && mixinParameterLines(place.file).has(place.line); + const isKnob = Boolean(declaration) && (code.includes('!default') || parameter); + const common = { + file: place.file, + line: place.line, + widget: widgetOf(place.file), + literals: place.literals, + occurrences: place.occurrences, + marker: place.marker, + text: place.text, + }; + + if (isKnob) { + const configured = setBy.get(declaration[1]); + settable.push({ + ...common, + variable: declaration[1], + kind: parameter ? 'mixin-parameter' : 'module-variable', + status: parameter ? 'parameter' : (configured ? 'injected' : 'open'), + ...(configured && !parameter ? { setBy: configured.file, setTo: configured.value } : {}), + }); + return; + } + owned.push({ ...common, category: categoryOf(code) }); + }); + + return { settable, owned }; +}; + +const tally = (rows, key) => rows.reduce((totals, row) => { + totals[row[key]] = (totals[row[key]] ?? 0) + row.occurrences; + return totals; +}, {}); + +const descending = (totals) => Object.fromEntries( + Object.entries(totals).sort(([, a], [, b]) => b - a), +); + +const sum = (rows) => rows.reduce((total, row) => total + row.occurrences, 0); + +/* ------------------------------------------------------------------- reports */ + +const GENERATED = 'GENERATED by tools/sizes/inventory.mjs — do not edit by hand. ' + + 'Judgment calls belong in that script, not in this file.'; + +const settableJson = (settable) => ({ + $comment: [ + GENERATED, + 'Sizes the theme can set from outside without touching the shared layer: the literal is the ' + + 'default of a `$x: … !default` declaration, so `@use "…/base/x" with ($x: …)` replaces it for ' + + 'one theme and leaves the default — and every other theme — untouched.', + 'kind "module-variable" — a `$x: … !default` declaration; "mixin-parameter" — a default in a ' + + '`@mixin name(…)` signature, which a theme replaces by passing an argument.', + 'status "injected" — fluent-next already passes a value; "open" — the knob exists and nobody ' + + 'turns it; "parameter" — a mixin parameter, where the signature itself is the channel and there ' + + 'is nothing to cross-check by name. An "open" row is theme-side work only.', + 'The match is by variable name. A name declared in a nested module is only reachable once the ' + + 'parent forwards it (see base/chat/_index.scss), which is why an "open" row can sit next to ' + + 'injected ones from the same widget.', + ], + summary: { + occurrences: sum(settable), + variables: new Set(settable.map((row) => row.variable)).size, + injected: sum(settable.filter((row) => row.status === 'injected')), + open: sum(settable.filter((row) => row.status === 'open')), + parameters: sum(settable.filter((row) => row.status === 'parameter')), + }, + places: settable, +}); + +const ownedJson = (owned) => ({ + $comment: [ + GENERATED, + 'Sizes nailed into the shared layer: no `!default` declaration holds them, so opening one means ' + + 'editing scss/widgets/base/** — which every theme compiles. Each place needs either a knob ' + + '(and proof the other themes did not move) or a marker saying why it stays.', + 'category — why there is no knob today: local-var (a $x with no !default), mixin-arg (inside a ' + + '@mixin body or call), media (a @media condition, where var() is invalid), structural (an ' + + 'off-screen parking coordinate, not a designed size), geometry (box-shadow / outline / border ' + + '/ clip-path numbers), calc (already inside a calc()), inline (a plain declaration).', + 'marker — the classification comment already on the line, from tools/review/size-markers.json.', + ], + summary: { + occurrences: sum(owned), + byCategory: descending(tally(owned, 'category')), + byWidget: descending(tally(owned, 'widget')), + unmarked: sum(owned.filter((row) => !row.marker)), + // The backlog proper: what still has neither a knob nor a marker. `byWidget` above counts the + // classified places too, so the two differ wherever a batch has already been through. + unmarkedByWidget: descending(tally(owned.filter((row) => !row.marker), 'widget')), + }, + places: owned, +}); + +/* --------------------------------------------------------------------- output */ + +/* The raw grep counts px inside comments too; the scan does not. Report the gap instead of hiding it. */ +const commentedOccurrences = () => { + const px = /-?\d*\.?\d+px\b/g; + return scssFiles(baseDir).reduce((total, file) => { + const content = readFileSync(file, 'utf8'); + const inCode = blankBlockComments(content).split('\n') + .reduce((count, line) => count + (codeOf(line).match(px)?.length ?? 0), 0); + return total + ((content.match(px)?.length ?? 0) - inCode); + }, 0); +}; + +export const inventory = () => { + const { settable, owned } = build(); + const comments = commentedOccurrences(); + return { + comments, + settable: { + occurrences: sum(settable), + variables: new Set(settable.map((row) => row.variable)).size, + injected: sum(settable.filter((row) => row.status === 'injected')), + open: sum(settable.filter((row) => row.status === 'open')), + parameters: sum(settable.filter((row) => row.status === 'parameter')), + }, + owned: { + occurrences: sum(owned), + unmarked: sum(owned.filter((row) => !row.marker)), + byCategory: descending(tally(owned, 'category')), + byWidget: descending(tally(owned.filter((row) => !row.marker), 'widget')), + }, + artefacts: [ + ['theme-settable.json', `${JSON.stringify(settableJson(settable), null, 2)}\n`], + ['base-owned.json', `${JSON.stringify(ownedJson(owned), null, 2)}\n`], + ], + }; +}; + +if (process.argv[1] === fileURLToPath(import.meta.url)) { + const { + comments, settable, owned, artefacts, + } = inventory(); + const check = process.argv.includes('--check'); + const json = process.argv.includes('--json'); + + const stale = artefacts.filter(([name, content]) => { + try { + return readFileSync(join(listsDir, name), 'utf8') !== content; + } catch { + return true; + } + }); + // --check and --json are read-only: the gate must not rewrite the tree it is judging. + if (!check && !json) artefacts.forEach(([name, content]) => writeFileSync(join(listsDir, name), content)); + + if (json) { + process.stdout.write(`${JSON.stringify({ comments, settable, owned }, null, 2)}\n`); + } else { + process.stdout.write([ + `raw grep of scss/widgets/base: ${settable.occurrences + owned.occurrences + comments} px ` + + `occurrences (${comments} of them inside comments)`, + `in code: ${settable.occurrences + owned.occurrences}`, + ` theme-settable ${settable.occurrences} (injected ${settable.injected}, open ${settable.open}, ` + + `mixin parameters ${settable.parameters})`, + ` base-owned ${owned.occurrences} ${Object.entries(owned.byCategory) + .map(([category, count]) => `${category} ${count}`).join(', ')}`, + ` of those still unclassified: ${owned.unmarked}`, + '', + ].join('\n')); + } + + if (check && stale.length) { + process.stdout.write(`stale: ${stale.map(([name]) => name).join(', ')} — run node tools/sizes/inventory.mjs\n`); + process.exit(1); + } +} diff --git a/packages/devextreme-scss/tools/sizes/lists/base-owned.json b/packages/devextreme-scss/tools/sizes/lists/base-owned.json new file mode 100644 index 000000000000..09301ddfd45f --- /dev/null +++ b/packages/devextreme-scss/tools/sizes/lists/base-owned.json @@ -0,0 +1,2007 @@ +{ + "$comment": [ + "GENERATED by tools/sizes/inventory.mjs — do not edit by hand. Judgment calls belong in that script, not in this file.", + "Sizes nailed into the shared layer: no `!default` declaration holds them, so opening one means editing scss/widgets/base/** — which every theme compiles. Each place needs either a knob (and proof the other themes did not move) or a marker saying why it stays.", + "category — why there is no knob today: local-var (a $x with no !default), mixin-arg (inside a @mixin body or call), media (a @media condition, where var() is invalid), structural (an off-screen parking coordinate, not a designed size), geometry (box-shadow / outline / border / clip-path numbers), calc (already inside a calc()), inline (a plain declaration).", + "marker — the classification comment already on the line, from tools/review/size-markers.json." + ], + "summary": { + "occurrences": 217, + "byCategory": { + "inline": 92, + "geometry": 65, + "local-var": 35, + "calc": 9, + "structural": 8, + "mixin-arg": 6, + "media": 2 + }, + "byWidget": { + "colorView": 42, + "scheduler": 33, + "textEditor": 26, + "gridBase": 22, + "htmlEditor": 16, + "cardView": 15, + "pivotGrid": 11, + "ui": 8, + "scrollView": 5, + "dataGrid": 5, + "fileManager": 5, + "sortable": 4, + "treeList": 4, + "icon_fonts": 2, + "multiView": 2, + "resizable": 2, + "tagBox": 2, + "filterBuilder": 2, + "fileUploader": 1, + "pagination": 1, + "slider": 1, + "colorBox": 1, + "diagram": 1, + "gantt": 1, + "lookup": 1, + "popover": 1, + "stepper": 1, + "toolbar": 1, + "treeView": 1 + }, + "unmarked": 0, + "unmarkedByWidget": {} + }, + "places": [ + { + "file": "scss/widgets/base/_fileUploader.scss", + "line": 213, + "widget": "fileUploader", + "literals": [ + "-6px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "margin-top: -6px; // dx-fixed-size: pulls the status text onto the progress line", + "category": "inline" + }, + { + "file": "scss/widgets/base/_htmlEditor.scss", + "line": 20, + "widget": "htmlEditor", + "literals": [ + "11px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "$resize-handle-size: 11px;", + "category": "local-var" + }, + { + "file": "scss/widgets/base/_htmlEditor.scss", + "line": 21, + "widget": "htmlEditor", + "literals": [ + "15px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "$touch-resize-handle-size: 15px; // dx-fixed-size: the touch variant of the same handle", + "category": "local-var" + }, + { + "file": "scss/widgets/base/_htmlEditor.scss", + "line": 154, + "widget": "htmlEditor", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": "dx-structural", + "text": "min-height: 1px; // dx-structural: lets the flex item shrink below its content, not a designed height", + "category": "inline" + }, + { + "file": "scss/widgets/base/_htmlEditor.scss", + "line": 161, + "widget": "htmlEditor", + "literals": [ + "-100000px" + ], + "occurrences": 1, + "marker": "dx-structural", + "text": "left: -100000px; // dx-structural: parks Quill's clipboard element off-screen", + "category": "structural" + }, + { + "file": "scss/widgets/base/_htmlEditor.scss", + "line": 162, + "widget": "htmlEditor", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": "dx-structural", + "text": "height: 1px; // dx-structural: collapses the off-screen clipboard element, not a designed height", + "category": "inline" + }, + { + "file": "scss/widgets/base/_htmlEditor.scss", + "line": 226, + "widget": "htmlEditor", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": "dx-line-width", + "text": "border: 1px solid #000; // dx-line-width: a table hairline; the colour beside it is hard-coded too", + "category": "geometry" + }, + { + "file": "scss/widgets/base/_htmlEditor.scss", + "line": 356, + "widget": "htmlEditor", + "literals": [ + "0.1px" + ], + "occurrences": 1, + "marker": "dx-structural", + "text": "height: 0.1px; // dx-structural: a non-zero height the placeholder needs, not a designed size", + "category": "inline" + }, + { + "file": "scss/widgets/base/_htmlEditor.scss", + "line": 370, + "widget": "htmlEditor", + "literals": [ + "35px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "min-height: 35px; // dx-fixed-size: the mention suggestion list keeps a row of space while filtering", + "category": "inline" + }, + { + "file": "scss/widgets/base/_htmlEditor.scss", + "line": 379, + "widget": "htmlEditor", + "literals": [ + "50px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "min-width: 50px; // dx-fixed-size: the narrowest the mention suggestion list may get", + "category": "inline" + }, + { + "file": "scss/widgets/base/_htmlEditor.scss", + "line": 392, + "widget": "htmlEditor", + "literals": [ + "360px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "min-width: 360px; // dx-fixed-size: the link/image dialog form width", + "category": "inline" + }, + { + "file": "scss/widgets/base/_htmlEditor.scss", + "line": 417, + "widget": "htmlEditor", + "literals": [ + "6px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "gap: 6px; // dx-fixed-size: gap between the AI dialog title icon and its text", + "category": "inline" + }, + { + "file": "scss/widgets/base/_htmlEditor.scss", + "line": 424, + "widget": "htmlEditor", + "literals": [ + "240px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "min-width: 240px; // dx-fixed-size: the same dialog form once the popup goes fullscreen", + "category": "inline" + }, + { + "file": "scss/widgets/base/_htmlEditor.scss", + "line": 437, + "widget": "htmlEditor", + "literals": [ + "3px" + ], + "occurrences": 1, + "marker": "dx-line-width", + "text": "border-bottom: 3px solid transparent; // dx-line-width: the strip under the colour-format icon that shows the picked colour", + "category": "geometry" + }, + { + "file": "scss/widgets/base/_htmlEditor.scss", + "line": 457, + "widget": "htmlEditor", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": "dx-line-width", + "text": "border: 1px dashed lightslategrey; // dx-line-width: hairline of the image resize frame", + "category": "geometry" + }, + { + "file": "scss/widgets/base/_htmlEditor.scss", + "line": 468, + "widget": "htmlEditor", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": "dx-line-width", + "text": "border: 1px solid white; // dx-line-width: hairline around a resize handle", + "category": "geometry" + }, + { + "file": "scss/widgets/base/_htmlEditor.scss", + "line": 524, + "widget": "htmlEditor", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": "dx-line-width", + "text": "border: 1px solid white; // dx-line-width: hairline around a resize handle", + "category": "geometry" + }, + { + "file": "scss/widgets/base/_icon_fonts.scss", + "line": 313, + "widget": "icon_fonts", + "literals": [ + "14px" + ], + "occurrences": 1, + "marker": "dx-icon-glyph-size", + "text": "font: 14px/1 DXIcons; // stylelint-disable-line font-family-no-missing-generic-family-keyword, font-family-name-quotes -- dx-icon-glyph-size: the icon font's own size, no icon scale in the package", + "category": "inline" + }, + { + "file": "scss/widgets/base/_icon_fonts.scss", + "line": 681, + "widget": "icon_fonts", + "literals": [ + "14px" + ], + "occurrences": 1, + "marker": "dx-icon-glyph-size", + "text": "font: 14px/1 DXIcons; // stylelint-disable-line font-family-no-missing-generic-family-keyword, font-family-name-quotes -- dx-icon-glyph-size: the icon font's own size, no icon scale in the package", + "category": "inline" + }, + { + "file": "scss/widgets/base/_multiView.scss", + "line": 39, + "widget": "multiView", + "literals": [ + "-9999px" + ], + "occurrences": 1, + "marker": "dx-structural", + "text": "top: -9999px; // dx-structural: parks the hidden slide off-screen", + "category": "structural" + }, + { + "file": "scss/widgets/base/_multiView.scss", + "line": 40, + "widget": "multiView", + "literals": [ + "-9999px" + ], + "occurrences": 1, + "marker": "dx-structural", + "text": "left: -9999px; // dx-structural: parks the hidden slide off-screen", + "category": "structural" + }, + { + "file": "scss/widgets/base/_pagination.scss", + "line": 25, + "widget": "pagination", + "literals": [ + "8px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "$pagination-paddings: 8px; // dx-fixed-size: the shared source of the two fallbacks below", + "category": "local-var" + }, + { + "file": "scss/widgets/base/_resizable.scss", + "line": 2, + "widget": "resizable", + "literals": [ + "3px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "$one-side-handle-size: 3px + $handle-offset; // dx-fixed-size: handle thickness ($handle-offset is 0)", + "category": "local-var" + }, + { + "file": "scss/widgets/base/_resizable.scss", + "line": 3, + "widget": "resizable", + "literals": [ + "6px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "$two-side-handle-size: 6px + $handle-offset; // dx-fixed-size: handle thickness ($handle-offset is 0)", + "category": "local-var" + }, + { + "file": "scss/widgets/base/_scrollView.scss", + "line": 54, + "widget": "scrollView", + "literals": [ + "-20px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "margin-left: -20px; // dx-fixed-size: centres the android pull-down on the pocket", + "category": "inline" + }, + { + "file": "scss/widgets/base/_scrollView.scss", + "line": 153, + "widget": "scrollView", + "literals": [ + "-15px", + "20px", + "15px" + ], + "occurrences": 3, + "marker": "dx-fixed-size", + "text": "margin: -15px 20px 0 15px; // dx-fixed-size: centres the indicator on its own half-height", + "category": "inline" + }, + { + "file": "scss/widgets/base/_scrollView.scss", + "line": 234, + "widget": "scrollView", + "literals": [ + "-20px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "margin-top: -20px; // dx-fixed-size: pulls the text onto the indicator's line", + "category": "inline" + }, + { + "file": "scss/widgets/base/_slider.scss", + "line": 5, + "widget": "slider", + "literals": [ + "7px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "$slider-tooltip-arrow-height: 7px; // dx-fixed-size: feeds dx-popover-arrow-size, which divides by sqrt(2)", + "category": "local-var" + }, + { + "file": "scss/widgets/base/_sortable.scss", + "line": 14, + "widget": "sortable", + "literals": [ + "1px", + "3px" + ], + "occurrences": 2, + "marker": "dx-shadow-geometry", + "text": "0 1px 3px $sortable-clone-shadow-color-first,", + "category": "inline" + }, + { + "file": "scss/widgets/base/_sortable.scss", + "line": 15, + "widget": "sortable", + "literals": [ + "6px", + "8px" + ], + "occurrences": 2, + "marker": "dx-shadow-geometry", + "text": "0 6px 8px $sortable-clone-shadow-color-second !default;", + "category": "inline" + }, + { + "file": "scss/widgets/base/_tagBox.scss", + "line": 15, + "widget": "tagBox", + "literals": [ + "0.1px" + ], + "occurrences": 1, + "marker": "dx-structural", + "text": "width: 0.1px; // T393423, T437866 -- dx-structural: a non-zero width the browsers need, not a designed size", + "category": "inline" + }, + { + "file": "scss/widgets/base/_tagBox.scss", + "line": 43, + "widget": "tagBox", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": "dx-px-nudge", + "text": "max-width: calc(100% - 1px); // dx-px-nudge: a pixel off the full width so the tag never overflows", + "category": "calc" + }, + { + "file": "scss/widgets/base/_ui.scss", + "line": 13, + "widget": "ui", + "literals": [ + "-10px" + ], + "occurrences": 1, + "marker": "dx-structural", + "text": "top: -10px; // dx-structural: parks the hidden input off-screen", + "category": "inline" + }, + { + "file": "scss/widgets/base/_ui.scss", + "line": 14, + "widget": "ui", + "literals": [ + "-10px" + ], + "occurrences": 1, + "marker": "dx-structural", + "text": "left: -10px; // dx-structural: parks the hidden input off-screen", + "category": "inline" + }, + { + "file": "scss/widgets/base/_ui.scss", + "line": 41, + "widget": "ui", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": "dx-structural", + "text": "height: 1px; // dx-structural: the screen-reader-only clipping box, not a designed size", + "category": "inline" + }, + { + "file": "scss/widgets/base/_ui.scss", + "line": 42, + "widget": "ui", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": "dx-structural", + "text": "width: 1px; // dx-structural: the screen-reader-only clipping box, not a designed size", + "category": "inline" + }, + { + "file": "scss/widgets/base/_ui.scss", + "line": 226, + "widget": "ui", + "literals": [ + "150px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "transform: translate3d(0, 150px, 0); // dx-fixed-size: how far the android pop animation travels", + "category": "inline" + }, + { + "file": "scss/widgets/base/_ui.scss", + "line": 348, + "widget": "ui", + "literals": [ + "-10px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "transform: rotate3d(1, 0, 0, 10deg) translate3d(0, -10px, 0) scale3d(1.1, 1.1, 1.1); // dx-fixed-size: how far the 3d drop animation travels", + "category": "inline" + }, + { + "file": "scss/widgets/base/_ui.scss", + "line": 362, + "widget": "ui", + "literals": [ + "-10px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "transform: translate3d(0, -10px, 0) scale3d(1.1, 1.1, 1.1); // dx-fixed-size: how far the fade drop animation travels", + "category": "inline" + }, + { + "file": "scss/widgets/base/_ui.scss", + "line": 376, + "widget": "ui", + "literals": [ + "10px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "transform: translate3d(0, 10px, 0) scale3d(1.1, 1.1, 1.1); // dx-fixed-size: how far the fade rise animation travels", + "category": "inline" + }, + { + "file": "scss/widgets/base/cardView/content_view/content/card/_index.scss", + "line": 22, + "widget": "cardView", + "literals": [ + "2px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "outline: 2px solid; // dx-fixed-size: the base/cardView chain is not configurable from a theme yet: nothing in it is passed through @use ... with", + "category": "geometry" + }, + { + "file": "scss/widgets/base/cardView/content_view/content/card/_index.scss", + "line": 24, + "widget": "cardView", + "literals": [ + "-2px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "outline-offset: -2px; // dx-fixed-size: the base/cardView chain is not configurable from a theme yet: nothing in it is passed through @use ... with", + "category": "geometry" + }, + { + "file": "scss/widgets/base/cardView/content_view/content/card/header/_index.scss", + "line": 10, + "widget": "cardView", + "literals": [ + "12px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "padding: 0 12px; // dx-fixed-size: the base/cardView chain is not configurable from a theme yet: nothing in it is passed through @use ... with", + "category": "inline" + }, + { + "file": "scss/widgets/base/cardView/content_view/content/card/header/_index.scss", + "line": 42, + "widget": "cardView", + "literals": [ + "20px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "width: 20px; // dx-fixed-size: the base/cardView chain is not configurable from a theme yet: nothing in it is passed through @use ... with", + "category": "inline" + }, + { + "file": "scss/widgets/base/cardView/content_view/content/card/header/_index.scss", + "line": 43, + "widget": "cardView", + "literals": [ + "20px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "height: 20px; // dx-fixed-size: the base/cardView chain is not configurable from a theme yet: nothing in it is passed through @use ... with", + "category": "inline" + }, + { + "file": "scss/widgets/base/cardView/content_view/no_data/_index.scss", + "line": 10, + "widget": "cardView", + "literals": [ + "999px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "border-radius: 999px; // dx-fixed-size: a pill radius; the base/cardView chain is not configurable from a theme yet: nothing in it is passed through @use ... with", + "category": "geometry" + }, + { + "file": "scss/widgets/base/cardView/header_panel/_index.scss", + "line": 10, + "widget": "cardView", + "literals": [ + "6px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "$sortable-side-offset: 6px; // dx-fixed-size: the base/cardView chain is not configurable from a theme yet: nothing in it is passed through @use ... with", + "category": "local-var" + }, + { + "file": "scss/widgets/base/cardView/header_panel/_index.scss", + "line": 50, + "widget": "cardView", + "literals": [ + "4px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "gap: 4px; // dx-fixed-size: the base/cardView chain is not configurable from a theme yet: nothing in it is passed through @use ... with", + "category": "inline" + }, + { + "file": "scss/widgets/base/cardView/header_panel/item/_index.scss", + "line": 9, + "widget": "cardView", + "literals": [ + "4px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "gap: 4px; // dx-fixed-size: the base/cardView chain is not configurable from a theme yet: nothing in it is passed through @use ... with", + "category": "inline" + }, + { + "file": "scss/widgets/base/cardView/header_panel/item/_index.scss", + "line": 55, + "widget": "cardView", + "literals": [ + "2px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "outline: 2px solid; // dx-fixed-size: the base/cardView chain is not configurable from a theme yet: nothing in it is passed through @use ... with", + "category": "geometry" + }, + { + "file": "scss/widgets/base/cardView/header_panel/item/_index.scss", + "line": 57, + "widget": "cardView", + "literals": [ + "-2px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "outline-offset: -2px; // dx-fixed-size: the base/cardView chain is not configurable from a theme yet: nothing in it is passed through @use ... with", + "category": "geometry" + }, + { + "file": "scss/widgets/base/cardView/header_panel/item/_index.scss", + "line": 92, + "widget": "cardView", + "literals": [ + "1px", + "3px" + ], + "occurrences": 2, + "marker": "dx-shadow-geometry", + "text": "0 1px 3px $cardview-header-panel__item--dragged-box-shadow-color,", + "category": "inline" + }, + { + "file": "scss/widgets/base/cardView/header_panel/item/_index.scss", + "line": 93, + "widget": "cardView", + "literals": [ + "6px", + "8px" + ], + "occurrences": 2, + "marker": "dx-shadow-geometry", + "text": "0 6px 8px $cardview-header-panel__item--dragged-box-shadow-color", + "category": "inline" + }, + { + "file": "scss/widgets/base/colorBox/_index.scss", + "line": 23, + "widget": "colorBox", + "literals": [ + "25px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "max-width: calc(100% - 25px); // dx-fixed-size: room the colour preview and its gap take from the placeholder", + "category": "calc" + }, + { + "file": "scss/widgets/base/colorView/_index.scss", + "line": 16, + "widget": "colorView", + "literals": [ + "28px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "$colorview-palette-handle-size: 28px; // dx-fixed-size: diameter of the round palette handle, drawn as rings at 6/7/12/13px", + "category": "local-var" + }, + { + "file": "scss/widgets/base/colorView/_index.scss", + "line": 19, + "widget": "colorView", + "literals": [ + "36px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "$colorview-handle-first-side-size: 36px; // dx-fixed-size: long side of the scale handles, drawn by the inset shadows", + "category": "local-var" + }, + { + "file": "scss/widgets/base/colorView/_index.scss", + "line": 20, + "widget": "colorView", + "literals": [ + "17px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "$colorview-handle-second-side-size: 17px; // dx-fixed-size: short side of the scale handles, drawn by the inset shadows", + "category": "local-var" + }, + { + "file": "scss/widgets/base/colorView/_index.scss", + "line": 84, + "widget": "colorView", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": "dx-line-width", + "text": "padding: 1px 0; // dx-line-width: room for the 1px hairline ring the cells inside carry, which overflow: hidden would clip", + "category": "inline" + }, + { + "file": "scss/widgets/base/colorView/_index.scss", + "line": 120, + "widget": "colorView", + "literals": [ + "-7px" + ], + "occurrences": 1, + "marker": "dx-px-nudge", + "text": "left: -7px; // dx-px-nudge: centres the handle across the hue scale, counting its own border", + "category": "inline" + }, + { + "file": "scss/widgets/base/colorView/_index.scss", + "line": 126, + "widget": "colorView", + "literals": [ + "-6px" + ], + "occurrences": 1, + "marker": "dx-px-nudge", + "text": "top: -6px; // dx-px-nudge: centres the handle across the alpha scale, counting its own border", + "category": "inline" + }, + { + "file": "scss/widgets/base/colorView/_index.scss", + "line": 144, + "widget": "colorView", + "literals": [ + "16px" + ], + "occurrences": 2, + "marker": "dx-fixed-size", + "text": "background-size: 16px 16px; // dx-fixed-size: tile of the transparency checkerboard, drawn by two offset gradients", + "category": "inline" + }, + { + "file": "scss/widgets/base/colorView/_index.scss", + "line": 145, + "widget": "colorView", + "literals": [ + "8px" + ], + "occurrences": 2, + "marker": "dx-fixed-size", + "text": "background-position: 0 0, 8px 8px; // dx-fixed-size: half the tile, which is what makes the two gradients read as a checkerboard", + "category": "inline" + }, + { + "file": "scss/widgets/base/colorView/_index.scss", + "line": 149, + "widget": "colorView", + "literals": [ + "6px", + "8px", + "14px" + ], + "occurrences": 3, + "marker": "dx-fixed-size", + "text": "background-position: 0 6px, 8px 14px; // dx-fixed-size: the same checkerboard, shifted to sit inside the alpha scale", + "category": "inline" + }, + { + "file": "scss/widgets/base/colorView/_mixins.scss", + "line": 3, + "widget": "colorView", + "literals": [ + "5px", + "6px", + "7px", + "12px", + "13px" + ], + "occurrences": 5, + "marker": "dx-fixed-size", + "text": "background: radial-gradient(transparent 5px, $handle-border-color 6px, $handle-color 7px, $handle-color 12px, $handle-border-color 13px); // dx-fixed-size: the handle is drawn, not laid out — a transparent core to 5px, a 1px ring at 6px, fill to 12px and a 1px ring at 13px, inside the 28px diameter", + "category": "inline" + }, + { + "file": "scss/widgets/base/colorView/_mixins.scss", + "line": 4, + "widget": "colorView", + "literals": [ + "1px" + ], + "occurrences": 2, + "marker": "dx-shadow-geometry", + "text": "box-shadow: 0 1px 1px 0 $handle-border-color; // dx-shadow-geometry: lifts the round handle off the palette", + "category": "geometry" + }, + { + "file": "scss/widgets/base/colorView/_mixins.scss", + "line": 8, + "widget": "colorView", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": "dx-line-width", + "text": "border: 1px solid; // dx-line-width: hairline outline of the handle", + "category": "geometry" + }, + { + "file": "scss/widgets/base/colorView/_mixins.scss", + "line": 10, + "widget": "colorView", + "literals": [ + "-5px", + "3px", + "5px", + "-6px", + "1px", + "4px", + "6px" + ], + "occurrences": 10, + "marker": "dx-shadow-geometry", + "text": "box-shadow: inset -5px 0 0 3px $handle-color, inset 5px 0 0 3px $handle-color, inset -6px 0 1px 4px $handle-border-color, inset 6px 0 1px 4px $handle-border-color; // dx-shadow-geometry: the grip is drawn entirely with inset shadows — 5px bars inset from both sides, each edged by a 1px ring at 6px", + "category": "geometry" + }, + { + "file": "scss/widgets/base/colorView/_mixins.scss", + "line": 14, + "widget": "colorView", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": "dx-line-width", + "text": "border: 1px solid; // dx-line-width: hairline outline of the handle", + "category": "geometry" + }, + { + "file": "scss/widgets/base/colorView/_mixins.scss", + "line": 16, + "widget": "colorView", + "literals": [ + "-5px", + "3px", + "5px", + "-6px", + "1px", + "4px", + "6px" + ], + "occurrences": 10, + "marker": "dx-shadow-geometry", + "text": "box-shadow: inset 0 -5px 0 3px $handle-color, inset 0 5px 0 3px $handle-color, inset 0 -6px 1px 4px $handle-border-color, inset 0 6px 1px 4px $handle-border-color; // dx-shadow-geometry: the same grip turned 90deg for the horizontal scale", + "category": "geometry" + }, + { + "file": "scss/widgets/base/dataGrid/_index.scss", + "line": 153, + "widget": "dataGrid", + "literals": [ + "-2px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "outline-offset: -2px; // dx-fixed-size: the gridBase tier already paints this across the family; a widget-scoped name would collide under the other grid roots", + "category": "geometry" + }, + { + "file": "scss/widgets/base/dataGrid/_index.scss", + "line": 189, + "widget": "dataGrid", + "literals": [ + "14px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "@include dx-icon-sizing(14px); // dx-fixed-size: the gridBase tier already paints this across the family; a widget-scoped name would collide under the other grid roots", + "category": "mixin-arg" + }, + { + "file": "scss/widgets/base/dataGrid/_index.scss", + "line": 320, + "widget": "dataGrid", + "literals": [ + "21px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "@include dx-icon-sizing(21px); // dx-fixed-size: the gridBase tier already paints this across the family; a widget-scoped name would collide under the other grid roots", + "category": "mixin-arg" + }, + { + "file": "scss/widgets/base/dataGrid/_index.scss", + "line": 384, + "widget": "dataGrid", + "literals": [ + "-1px" + ], + "occurrences": 1, + "marker": "dx-px-nudge", + "text": "outline-offset: -1px; // dx-px-nudge: a one-pixel inset for the sticky-column overlay", + "category": "geometry" + }, + { + "file": "scss/widgets/base/dataGrid/layout/cell.scss", + "line": 283, + "widget": "dataGrid", + "literals": [ + "-2px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "outline-offset: -2px; // dx-fixed-size: the gridBase tier already paints this across the family; a widget-scoped name would collide under the other grid roots", + "category": "geometry" + }, + { + "file": "scss/widgets/base/diagram/_index.scss", + "line": 178, + "widget": "diagram", + "literals": [ + "2px" + ], + "occurrences": 1, + "marker": "dx-px-nudge", + "text": "width: calc(100% - 2px) !important; // stylelint-disable-line declaration-no-important -- dx-px-nudge: 2px shaved off a full-width popup", + "category": "calc" + }, + { + "file": "scss/widgets/base/fileManager/_index.scss", + "line": 88, + "widget": "fileManager", + "literals": [ + "431px" + ], + "occurrences": 1, + "marker": "dx-literal-required", + "text": "@media (min-width: 431px) { // dx-literal-required: a media condition, var() is invalid here", + "category": "media" + }, + { + "file": "scss/widgets/base/fileManager/_index.scss", + "line": 303, + "widget": "fileManager", + "literals": [ + "-5000px" + ], + "occurrences": 1, + "marker": "dx-structural", + "text": "top: -5000px; // dx-structural: parks the container off-screen until it is positioned", + "category": "structural" + }, + { + "file": "scss/widgets/base/fileManager/_index.scss", + "line": 304, + "widget": "fileManager", + "literals": [ + "-5000px" + ], + "occurrences": 1, + "marker": "dx-structural", + "text": "left: -5000px; // dx-structural: parks the container off-screen until it is positioned", + "category": "structural" + }, + { + "file": "scss/widgets/base/fileManager/_index.scss", + "line": 309, + "widget": "fileManager", + "literals": [ + "-5000px" + ], + "occurrences": 1, + "marker": "dx-structural", + "text": "top: -5000px; // dx-structural: parks the container off-screen until it is positioned", + "category": "structural" + }, + { + "file": "scss/widgets/base/fileManager/_index.scss", + "line": 310, + "widget": "fileManager", + "literals": [ + "-5000px" + ], + "occurrences": 1, + "marker": "dx-structural", + "text": "left: -5000px; // dx-structural: parks the container off-screen until it is positioned", + "category": "structural" + }, + { + "file": "scss/widgets/base/filterBuilder/_common.scss", + "line": 79, + "widget": "filterBuilder", + "literals": [ + "-7px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "margin-top: -7px; // dx-fixed-size: pulls the row onto the group line", + "category": "inline" + }, + { + "file": "scss/widgets/base/filterBuilder/_common.scss", + "line": 80, + "widget": "filterBuilder", + "literals": [ + "-4px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "margin-bottom: -4px; // dx-fixed-size: pulls the row onto the group line", + "category": "inline" + }, + { + "file": "scss/widgets/base/gantt/_index.scss", + "line": 60, + "widget": "gantt", + "literals": [ + "-1px" + ], + "occurrences": 1, + "marker": "dx-px-nudge", + "text": "margin-top: -1px; // dx-px-nudge: a one-pixel correction on top of the row height", + "category": "inline" + }, + { + "file": "scss/widgets/base/gridBase/_index.scss", + "line": 25, + "widget": "gridBase", + "literals": [ + "1px" + ], + "occurrences": 4, + "marker": "dx-structural", + "text": "clip: rect(1px, 1px, 1px, 1px); // dx-structural: clips the a11y live region to nothing while keeping it rendered — the NOTE above; not a size", + "category": "geometry" + }, + { + "file": "scss/widgets/base/gridBase/_index.scss", + "line": 37, + "widget": "gridBase", + "literals": [ + "5px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "margin-right: 5px !important; // stylelint-disable-line declaration-no-important -- dx-fixed-size: legacy compat helper class, kept for the Foundation layout below", + "category": "inline" + }, + { + "file": "scss/widgets/base/gridBase/_index.scss", + "line": 55, + "widget": "gridBase", + "literals": [ + "-1px" + ], + "occurrences": 1, + "marker": "dx-px-nudge", + "text": "margin-top: -1px; // dx-px-nudge: pulls the pager up by one border so its top edge overlaps the grid bottom edge", + "category": "inline" + }, + { + "file": "scss/widgets/base/gridBase/_index.scss", + "line": 86, + "widget": "gridBase", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": "dx-px-nudge", + "text": "padding-top: 1px; // dx-px-nudge: lifts the first submenu row off the menu border", + "category": "inline" + }, + { + "file": "scss/widgets/base/gridBase/_index.scss", + "line": 314, + "widget": "gridBase", + "literals": [ + "10px" + ], + "occurrences": 1, + "marker": "dx-structural", + "text": "max-width: 10px; // dx-structural: deliberately tiny so the table sizes to its columns rather than the container — the fixed variant below resets it to none", + "category": "inline" + }, + { + "file": "scss/widgets/base/gridBase/_index.scss", + "line": 431, + "widget": "gridBase", + "literals": [ + "2px" + ], + "occurrences": 1, + "marker": "dx-line-width", + "text": "border: 2px solid transparent; // dx-line-width: thickness of the invalid-cell ring, drawn on a pseudo-element", + "category": "geometry" + }, + { + "file": "scss/widgets/base/gridBase/_index.scss", + "line": 433, + "widget": "gridBase", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": "dx-px-nudge", + "text": "left: 1px; // dx-px-nudge: insets that ring by the cell border on the left", + "category": "inline" + }, + { + "file": "scss/widgets/base/gridBase/_index.scss", + "line": 481, + "widget": "gridBase", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": "dx-structural", + "text": "min-height: 1px; // dx-structural: one-pixel floor so the headers block keeps layout presence when it has no rows; not a designed height", + "category": "inline" + }, + { + "file": "scss/widgets/base/gridBase/_index.scss", + "line": 557, + "widget": "gridBase", + "literals": [ + "-1px" + ], + "occurrences": 1, + "marker": "dx-px-nudge", + "text": "top: -1px; // dx-px-nudge: pulls the focus ring out over the cell border", + "category": "inline" + }, + { + "file": "scss/widgets/base/gridBase/_index.scss", + "line": 558, + "widget": "gridBase", + "literals": [ + "-1px" + ], + "occurrences": 1, + "marker": "dx-px-nudge", + "text": "bottom: -1px; // dx-px-nudge: pulls the focus ring out over the cell border", + "category": "inline" + }, + { + "file": "scss/widgets/base/gridBase/_index.scss", + "line": 559, + "widget": "gridBase", + "literals": [ + "-1px" + ], + "occurrences": 1, + "marker": "dx-px-nudge", + "text": "left: -1px; // dx-px-nudge: pulls the focus ring out over the cell border", + "category": "inline" + }, + { + "file": "scss/widgets/base/gridBase/_index.scss", + "line": 560, + "widget": "gridBase", + "literals": [ + "-1px" + ], + "occurrences": 1, + "marker": "dx-px-nudge", + "text": "right: -1px; // dx-px-nudge: pulls the focus ring out over the cell border", + "category": "inline" + }, + { + "file": "scss/widgets/base/gridBase/_index.scss", + "line": 567, + "widget": "gridBase", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": "dx-line-width", + "text": "border-top: 1px solid transparent; // dx-line-width: hairline placeholder keeping the range-end input aligned with the range-start one", + "category": "geometry" + }, + { + "file": "scss/widgets/base/gridBase/_index.scss", + "line": 661, + "widget": "gridBase", + "literals": [ + "9px", + "6px", + "8px" + ], + "occurrences": 4, + "marker": "dx-px-nudge", + "text": "padding: 9px 6px 8px 6px; // dx-px-nudge: +1px on each side of the resting padding above, compensating the border the disabled item loses on hover", + "category": "inline" + }, + { + "file": "scss/widgets/base/gridBase/_index.scss", + "line": 956, + "widget": "gridBase", + "literals": [ + "-2px" + ], + "occurrences": 1, + "marker": "dx-px-nudge", + "text": "margin-right: -2px; // dx-px-nudge: RTL mirror — pulls the menu out by its own border", + "category": "inline" + }, + { + "file": "scss/widgets/base/gridBase/layout/aiChat/_mixins.scss", + "line": 47, + "widget": "gridBase", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": "dx-line-width", + "text": "border-width: 1px; // dx-line-width: hairline border of the incoming message bubble", + "category": "geometry" + }, + { + "file": "scss/widgets/base/lookup/_index.scss", + "line": 10, + "widget": "lookup", + "literals": [ + "45px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "height: calc(100% - 45px); // dx-fixed-size: the height the popup toolbar takes from the list", + "category": "calc" + }, + { + "file": "scss/widgets/base/pivotGrid/_common.scss", + "line": 238, + "widget": "pivotGrid", + "literals": [ + "-9999px" + ], + "occurrences": 1, + "marker": "dx-structural", + "text": "top: -9999px; // dx-structural: parks the scrollbar probe off-screen", + "category": "structural" + }, + { + "file": "scss/widgets/base/pivotGrid/_index.scss", + "line": 63, + "widget": "pivotGrid", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": "dx-shadow-geometry", + "text": "$pivotgrid-drag-header-first-shadow: 0 0 1px $pivotgrid-drag-header-first-shadow-color; // dx-shadow-geometry", + "category": "local-var" + }, + { + "file": "scss/widgets/base/pivotGrid/_index.scss", + "line": 64, + "widget": "pivotGrid", + "literals": [ + "1px", + "3px" + ], + "occurrences": 2, + "marker": "dx-shadow-geometry", + "text": "$pivotgrid-drag-header-second-shadow: 0 1px 3px $pivotgrid-drag-header-second-shadow-color; // dx-shadow-geometry", + "category": "local-var" + }, + { + "file": "scss/widgets/base/pivotGrid/_index.scss", + "line": 69, + "widget": "pivotGrid", + "literals": [ + "-5px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "$pivotgrid-expand-icon-offset: -5px; // dx-fixed-size: negated at its use site", + "category": "local-var" + }, + { + "file": "scss/widgets/base/pivotGrid/_index.scss", + "line": 77, + "widget": "pivotGrid", + "literals": [ + "-4px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "margin-top: -4px; // dx-fixed-size: pulls the element onto the grid line", + "category": "inline" + }, + { + "file": "scss/widgets/base/pivotGrid/_index.scss", + "line": 78, + "widget": "pivotGrid", + "literals": [ + "-1px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "margin-left: -1px; // dx-fixed-size: pulls the element onto the grid line", + "category": "inline" + }, + { + "file": "scss/widgets/base/pivotGrid/_index.scss", + "line": 82, + "widget": "pivotGrid", + "literals": [ + "-3px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "margin-top: -3px; // dx-fixed-size: pulls the element onto the grid line", + "category": "inline" + }, + { + "file": "scss/widgets/base/pivotGrid/_index.scss", + "line": 87, + "widget": "pivotGrid", + "literals": [ + "-3px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "margin-left: -3px; // dx-fixed-size: pulls the element onto the grid line", + "category": "inline" + }, + { + "file": "scss/widgets/base/pivotGrid/_index.scss", + "line": 340, + "widget": "pivotGrid", + "literals": [ + "-1px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "margin-top: -1px; // dx-fixed-size: pulls the element onto the grid line", + "category": "inline" + }, + { + "file": "scss/widgets/base/pivotGrid/_index.scss", + "line": 611, + "widget": "pivotGrid", + "literals": [ + "-3px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "margin-left: -3px; // dx-fixed-size: pulls the element onto the grid line", + "category": "inline" + }, + { + "file": "scss/widgets/base/popover/_index.scss", + "line": 2, + "widget": "popover", + "literals": [ + "20px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "@include dx-popover-arrow-size(20px); // dx-fixed-size: the arrow width; the mixin divides it by sqrt(2), so a var() cannot pass", + "category": "mixin-arg" + }, + { + "file": "scss/widgets/base/scheduler/_common.scss", + "line": 4, + "widget": "scheduler", + "literals": [ + "3px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "$scheduler-appointment-collector-margin: 3px; // dx-fixed-size: the collector margin, multiplied elsewhere so a var() cannot pass", + "category": "local-var" + }, + { + "file": "scss/widgets/base/scheduler/_common.scss", + "line": 75, + "widget": "scheduler", + "literals": [ + "450px" + ], + "occurrences": 1, + "marker": "dx-literal-required", + "text": "@media (max-width: 450px) { // dx-literal-required: a media condition, var() is invalid here", + "category": "media" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 90, + "widget": "scheduler", + "literals": [ + "5px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "$scheduler-hovered-appointment-top-shadow-size: 5px; // dx-fixed-size: negated and composed into shadows, so a var() cannot pass", + "category": "local-var" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 91, + "widget": "scheduler", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": "dx-shadow-geometry", + "text": "$scheduler-focused-cell-shadow: inset 0 0 0 1px $scheduler-appointment-base-color; // dx-shadow-geometry", + "category": "local-var" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 93, + "widget": "scheduler", + "literals": [ + "-2px" + ], + "occurrences": 1, + "marker": "dx-shadow-geometry", + "text": "$scheduler-vertical-appointment-resizable-hovering-shadow: inset 0 $scheduler-hovered-appointment-top-shadow-size 0 0 $scheduler-appointment-start-color, inset 0 -2px 0 0 $scheduler-appointment-start-color; // dx-shadow-geometry", + "category": "local-var" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 95, + "widget": "scheduler", + "literals": [ + "2px" + ], + "occurrences": 1, + "marker": "dx-shadow-geometry", + "text": "$scheduler-vertical-appointment-shadow: inset 0 2px 0 0 $scheduler-appointment-start-color; // dx-shadow-geometry", + "category": "local-var" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 96, + "widget": "scheduler", + "literals": [ + "-2px" + ], + "occurrences": 1, + "marker": "dx-shadow-geometry", + "text": "$scheduler-vertical-appointment-resizing-shadow: inset 0 -2px 0 0 $scheduler-appointment-start-color, $scheduler-vertical-appointment-shadow; // dx-shadow-geometry", + "category": "local-var" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 100, + "widget": "scheduler", + "literals": [ + "-2px" + ], + "occurrences": 1, + "marker": "dx-shadow-geometry", + "text": "$scheduler-horizontal-appointment-resizable-hovering-shadow: inset $scheduler-hovered-appointment-top-shadow-size 0 0 0 $scheduler-appointment-start-color, inset -2px 0 0 0 $scheduler-appointment-start-color; // dx-shadow-geometry", + "category": "local-var" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 101, + "widget": "scheduler", + "literals": [ + "2px" + ], + "occurrences": 1, + "marker": "dx-shadow-geometry", + "text": "$scheduler-horizontal-appointment-resizable-hovering-shadow-rtl: inset (-$scheduler-hovered-appointment-top-shadow-size) 0 0 0 $scheduler-appointment-start-color, inset 2px 0 0 0 $scheduler-appointment-start-color; // dx-shadow-geometry", + "category": "local-var" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 104, + "widget": "scheduler", + "literals": [ + "2px" + ], + "occurrences": 1, + "marker": "dx-shadow-geometry", + "text": "$scheduler-horizontal-appointment-shadow: inset 2px 0 0 0 $scheduler-appointment-start-color; // dx-shadow-geometry", + "category": "local-var" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 105, + "widget": "scheduler", + "literals": [ + "-2px" + ], + "occurrences": 1, + "marker": "dx-shadow-geometry", + "text": "$scheduler-horizontal-appointment-shadow-rtl: inset -2px 0 0 0 $scheduler-appointment-start-color; // dx-shadow-geometry", + "category": "local-var" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 106, + "widget": "scheduler", + "literals": [ + "-2px" + ], + "occurrences": 1, + "marker": "dx-shadow-geometry", + "text": "$scheduler-horizontal-appointment-resizing-shadow: inset -2px 0 0 0 $scheduler-appointment-start-color, $scheduler-horizontal-appointment-shadow; // dx-shadow-geometry", + "category": "local-var" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 132, + "widget": "scheduler", + "literals": [ + "14px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "$scheduler-time-indicator-top: 14px; // dx-fixed-size: negated at its use site", + "category": "local-var" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 133, + "widget": "scheduler", + "literals": [ + "12px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "$scheduler-time-indicator-left: 12px; // dx-fixed-size: negated at its use site", + "category": "local-var" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 136, + "widget": "scheduler", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": "dx-shadow-geometry", + "text": "$scheduler-time-indicator-shadow: 0 1px 0 0 $scheduler-time-indicator-shadow-color; // dx-shadow-geometry", + "category": "local-var" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 137, + "widget": "scheduler", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": "dx-shadow-geometry", + "text": "$scheduler-time-indicator-text-shadow: $scheduler-time-indicator-shadow-color 1px 0 0; // dx-shadow-geometry", + "category": "local-var" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 467, + "widget": "scheduler", + "literals": [ + "-1px" + ], + "occurrences": 1, + "marker": "dx-px-nudge", + "text": "bottom: -1px; // dx-px-nudge: sits on the 1px border, see the note above", + "category": "inline" + }, + { + "file": "scss/widgets/base/scheduler/appointment/regular/_index.scss", + "line": 150, + "widget": "scheduler", + "literals": [ + "-1px" + ], + "occurrences": 1, + "marker": "dx-px-nudge", + "text": "left: -1px; // dx-px-nudge: pulls the resize handle onto the appointment's 1px border", + "category": "inline" + }, + { + "file": "scss/widgets/base/scheduler/layout/_header.scss", + "line": 9, + "widget": "scheduler", + "literals": [ + "-1px" + ], + "occurrences": 1, + "marker": "dx-px-nudge", + "text": "margin-bottom: -1px; // dx-px-nudge: collapses the header border with the row below", + "category": "inline" + }, + { + "file": "scss/widgets/base/scheduler/views/_index.scss", + "line": 44, + "widget": "scheduler", + "literals": [ + "20px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "$scheduler-timepanel-cell-offset: 20px; // dx-fixed-size: multiplied elsewhere, so a var() cannot pass", + "category": "local-var" + }, + { + "file": "scss/widgets/base/scheduler/views/_index.scss", + "line": 48, + "widget": "scheduler", + "literals": [ + "2px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "$scheduler-current-time-cell-border-size: 2px; // dx-fixed-size: multiplied elsewhere, so a var() cannot pass", + "category": "local-var" + }, + { + "file": "scss/widgets/base/scheduler/views/_index.scss", + "line": 50, + "widget": "scheduler", + "literals": [ + "50px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "$scheduler-workspace-date-table-cell-height: 50px; // dx-fixed-size: four derived heights multiply it, so a var() cannot pass", + "category": "local-var" + }, + { + "file": "scss/widgets/base/scheduler/views/_index.scss", + "line": 54, + "widget": "scheduler", + "literals": [ + "10px" + ], + "occurrences": 2, + "marker": "dx-px-nudge", + "text": "$scheduler-header-panel-table-cell-height: if(meta.type-of($scheduler-workspace-date-table-cell-height) == number, $scheduler-workspace-date-table-cell-height - 10px, calc(#{$scheduler-workspace-date-table-cell-height} - 10px)); // dx-px-nudge: -10px under the workspace cell height", + "category": "local-var" + }, + { + "file": "scss/widgets/base/scheduler/views/_index.scss", + "line": 57, + "widget": "scheduler", + "literals": [ + "80px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "$scheduler-group-header-table-cell-width: 80px; // dx-fixed-size: multiplied elsewhere, so a var() cannot pass", + "category": "local-var" + }, + { + "file": "scss/widgets/base/scheduler/views/_index.scss", + "line": 121, + "widget": "scheduler", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": "dx-px-nudge", + "text": "top: if(meta.type-of($scheduler-header-panel-table-cell-height) == number and meta.type-of($scheduler-current-time-cell-border-size) == number, $scheduler-header-panel-table-cell-height - $scheduler-current-time-cell-border-size - 1, calc(#{$scheduler-header-panel-table-cell-height} - #{$scheduler-current-time-cell-border-size} - 1px)); // dx-px-nudge: -1px under the derived top offset, so the indicator overlaps the border", + "category": "calc" + }, + { + "file": "scss/widgets/base/scheduler/views/_index.scss", + "line": 405, + "widget": "scheduler", + "literals": [ + "5px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "padding: 0 5px; // dx-fixed-size: horizontal padding of the time panel cell", + "category": "inline" + }, + { + "file": "scss/widgets/base/scheduler/views/_index.scss", + "line": 697, + "widget": "scheduler", + "literals": [ + "-13px" + ], + "occurrences": 1, + "marker": "dx-px-nudge", + "text": "margin-top: -13px; // dx-px-nudge: lifts the hour label to straddle the cell border", + "category": "inline" + }, + { + "file": "scss/widgets/base/scheduler/views/_index.scss", + "line": 707, + "widget": "scheduler", + "literals": [ + "-1px" + ], + "occurrences": 1, + "marker": "dx-px-nudge", + "text": "bottom: -1px; // dx-px-nudge: sits the time indicator on the cell border", + "category": "inline" + }, + { + "file": "scss/widgets/base/scheduler/views/_index.scss", + "line": 870, + "widget": "scheduler", + "literals": [ + "-1px" + ], + "occurrences": 1, + "marker": "dx-line-width", + "text": "box-shadow: inset 0 -1px 0 $scheduler-base-border-color; // dx-line-width: hairline standing in for the removed border-bottom", + "category": "geometry" + }, + { + "file": "scss/widgets/base/scheduler/views/day/_index.scss", + "line": 45, + "widget": "scheduler", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": "dx-px-nudge", + "text": "margin-top: 1px; // dx-px-nudge: keeps the ungrouped header panel off the border above", + "category": "inline" + }, + { + "file": "scss/widgets/base/scheduler/views/month/_index.scss", + "line": 73, + "widget": "scheduler", + "literals": [ + "-2px" + ], + "occurrences": 1, + "marker": "dx-line-width", + "text": "box-shadow: 0 -2px 0 $scheduler-base-border-color; // dx-line-width: 2px line standing in for the removed border-bottom", + "category": "geometry" + }, + { + "file": "scss/widgets/base/scheduler/views/timelines/_index.scss", + "line": 188, + "widget": "scheduler", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": "dx-line-width", + "text": "border-bottom: 1px solid; // dx-line-width: hairline under the empty header cell", + "category": "geometry" + }, + { + "file": "scss/widgets/base/stepper/layout/step/_index.scss", + "line": 20, + "widget": "stepper", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": "dx-line-width", + "text": "border-width: 1px; // dx-line-width: hairline, the same in every theme", + "category": "geometry" + }, + { + "file": "scss/widgets/base/textEditor/_mixins.scss", + "line": 53, + "widget": "textEditor", + "literals": [ + "2px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "padding: 0 2px; // dx-fixed-size: fluent-next does not call this mixin, so the value only reaches the legacy themes", + "category": "inline" + }, + { + "file": "scss/widgets/base/textEditor/_mixins.scss", + "line": 201, + "widget": "textEditor", + "literals": [ + "1px", + "-1px" + ], + "occurrences": 3, + "marker": "dx-line-width", + "text": ")} 1px -1px 1px);", + "category": "inline" + }, + { + "file": "scss/widgets/base/textEditor/_mixins.scss", + "line": 225, + "widget": "textEditor", + "literals": [ + "-1px", + "1px" + ], + "occurrences": 4, + "marker": "dx-line-width", + "text": "clip-path: inset(-1px 1px -1px -1px); // dx-line-width: the notch is carved at the label border, a hairline that must not thicken with the scale", + "category": "geometry" + }, + { + "file": "scss/widgets/base/textEditor/_mixins.scss", + "line": 240, + "widget": "textEditor", + "literals": [ + "-1px", + "1px" + ], + "occurrences": 4, + "marker": "dx-line-width", + "text": "clip-path: inset(-1px -1px -1px 1px); // dx-line-width: the notch is carved at the label border, a hairline that must not thicken with the scale", + "category": "geometry" + }, + { + "file": "scss/widgets/base/textEditor/_mixins.scss", + "line": 245, + "widget": "textEditor", + "literals": [ + "-1px", + "1px" + ], + "occurrences": 4, + "marker": "dx-line-width", + "text": "clip-path: inset(-1px -1px -1px 1px); // dx-line-width: the notch is carved at the label border, a hairline that must not thicken with the scale", + "category": "geometry" + }, + { + "file": "scss/widgets/base/textEditor/_mixins.scss", + "line": 249, + "widget": "textEditor", + "literals": [ + "-1px", + "1px" + ], + "occurrences": 4, + "marker": "dx-line-width", + "text": "clip-path: inset(-1px 1px -1px -1px); // dx-line-width: the notch is carved at the label border, a hairline that must not thicken with the scale", + "category": "geometry" + }, + { + "file": "scss/widgets/base/textEditor/_mixins.scss", + "line": 653, + "widget": "textEditor", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "margin-top: 1px; // dx-fixed-size: fluent-next does not call this mixin, so the value only reaches the legacy themes", + "category": "inline" + }, + { + "file": "scss/widgets/base/textEditor/_mixins.scss", + "line": 654, + "widget": "textEditor", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "margin-bottom: 1px; // dx-fixed-size: fluent-next does not call this mixin, so the value only reaches the legacy themes", + "category": "inline" + }, + { + "file": "scss/widgets/base/textEditor/_mixins.scss", + "line": 786, + "widget": "textEditor", + "literals": [ + "1px" + ], + "occurrences": 2, + "marker": "dx-px-nudge", + "text": "padding-top: if(meta.type-of($material-button-vertical-padding) == number, $material-button-vertical-padding - 1px, calc(#{$material-button-vertical-padding} - 1px)); // dx-px-nudge: -1px under the button's own padding", + "category": "calc" + }, + { + "file": "scss/widgets/base/textEditor/_mixins.scss", + "line": 840, + "widget": "textEditor", + "literals": [ + "1px" + ], + "occurrences": 2, + "marker": "dx-px-nudge", + "text": "padding-top: if(meta.type-of($material-button-vertical-padding) == number, $material-button-vertical-padding - 1px, calc(#{$material-button-vertical-padding} - 1px)); // dx-px-nudge: -1px under the button's own padding", + "category": "calc" + }, + { + "file": "scss/widgets/base/toolbar/_index.scss", + "line": 101, + "widget": "toolbar", + "literals": [ + "-5px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "margin: 0 -5px; // dx-fixed-size: pulls the items flush with the toolbar edge", + "category": "inline" + }, + { + "file": "scss/widgets/base/treeList/_index.scss", + "line": 176, + "widget": "treeList", + "literals": [ + "14px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "@include dx-icon-sizing(14px); // dx-fixed-size: the gridBase tier already paints this across the family; a widget-scoped name would collide under the other grid roots", + "category": "mixin-arg" + }, + { + "file": "scss/widgets/base/treeList/_index.scss", + "line": 276, + "widget": "treeList", + "literals": [ + "16px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "@include dx-icon-sizing(16px); // dx-fixed-size: the gridBase tier already paints this across the family; a widget-scoped name would collide under the other grid roots", + "category": "mixin-arg" + }, + { + "file": "scss/widgets/base/treeList/_index.scss", + "line": 284, + "widget": "treeList", + "literals": [ + "21px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "@include dx-icon-sizing(21px); // dx-fixed-size: the gridBase tier already paints this across the family; a widget-scoped name would collide under the other grid roots", + "category": "mixin-arg" + }, + { + "file": "scss/widgets/base/treeList/layout/cell.scss", + "line": 229, + "widget": "treeList", + "literals": [ + "-2px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "outline-offset: -2px; // dx-fixed-size: the gridBase tier already paints this across the family; a widget-scoped name would collide under the other grid roots", + "category": "geometry" + }, + { + "file": "scss/widgets/base/treeView/_common.scss", + "line": 86, + "widget": "treeView", + "literals": [ + "8px" + ], + "occurrences": 1, + "marker": "dx-fixed-size", + "text": "margin-inline-end: 8px; // dx-fixed-size: demos hand-write this class outside the widget, where a tier var would not reach", + "category": "inline" + } + ] +} diff --git a/packages/devextreme-scss/tools/sizes/lists/theme-settable.json b/packages/devextreme-scss/tools/sizes/lists/theme-settable.json new file mode 100644 index 000000000000..a4097a9987ee --- /dev/null +++ b/packages/devextreme-scss/tools/sizes/lists/theme-settable.json @@ -0,0 +1,7756 @@ +{ + "$comment": [ + "GENERATED by tools/sizes/inventory.mjs — do not edit by hand. Judgment calls belong in that script, not in this file.", + "Sizes the theme can set from outside without touching the shared layer: the literal is the default of a `$x: … !default` declaration, so `@use \"…/base/x\" with ($x: …)` replaces it for one theme and leaves the default — and every other theme — untouched.", + "kind \"module-variable\" — a `$x: … !default` declaration; \"mixin-parameter\" — a default in a `@mixin name(…)` signature, which a theme replaces by passing an argument.", + "status \"injected\" — fluent-next already passes a value; \"open\" — the knob exists and nobody turns it; \"parameter\" — a mixin parameter, where the signature itself is the channel and there is nothing to cross-check by name. An \"open\" row is theme-side work only.", + "The match is by variable name. A name declared in a nested module is only reachable once the parent forwards it (see base/chat/_index.scss), which is why an \"open\" row can sit next to injected ones from the same widget." + ], + "summary": { + "occurrences": 525, + "variables": 454, + "injected": 501, + "open": 0, + "parameters": 24 + }, + "places": [ + { + "file": "scss/widgets/base/_box.scss", + "line": 1, + "widget": "box", + "literals": [ + "14px" + ], + "occurrences": 1, + "marker": null, + "text": "$box-item-content-font-size: 14px !default;", + "variable": "box-item-content-font-size", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/box/_index.scss", + "setTo": "var(--dx-box-item-content-font-size)" + }, + { + "file": "scss/widgets/base/_contextMenu.scss", + "line": 2, + "widget": "contextMenu", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": null, + "text": "$contextmenu-menu-items-container-padding: 1px !default;", + "variable": "contextmenu-menu-items-container-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/contextMenu/_index.scss", + "setTo": "false" + }, + { + "file": "scss/widgets/base/_contextMenu.scss", + "line": 3, + "widget": "contextMenu", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": null, + "text": "$contextmenu-menu-separator-height: 1px !default;", + "variable": "contextmenu-menu-separator-height", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/contextMenu/_index.scss", + "setTo": "var(--dx-context-menu-separator-height)" + }, + { + "file": "scss/widgets/base/_contextMenu.scss", + "line": 4, + "widget": "contextMenu", + "literals": [ + "5px" + ], + "occurrences": 1, + "marker": null, + "text": "$contextmenu-menu-separator-margin: 5px 0 !default;", + "variable": "contextmenu-menu-separator-margin", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/contextMenu/_index.scss", + "setTo": "var(--dx-context-menu-separator-margin)" + }, + { + "file": "scss/widgets/base/_dateBox.scss", + "line": 4, + "widget": "dateBox", + "literals": [ + "20px" + ], + "occurrences": 1, + "marker": null, + "text": "$datebox-texteditor-height: 20px !default;", + "variable": "datebox-texteditor-height", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/dateBox/_index.scss", + "setTo": "var(--dx-date-box-input-height)" + }, + { + "file": "scss/widgets/base/_dateBox.scss", + "line": 5, + "widget": "dateBox", + "literals": [ + "20px" + ], + "occurrences": 1, + "marker": null, + "text": "$datebox-popup-content-padding-top: 20px !default;", + "variable": "datebox-popup-content-padding-top", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/dateBox/_index.scss", + "setTo": "var(--dx-date-box-popup-content-padding-block-start)" + }, + { + "file": "scss/widgets/base/_dateBox.scss", + "line": 6, + "widget": "dateBox", + "literals": [ + "20px" + ], + "occurrences": 1, + "marker": null, + "text": "$datebox-popup-content-padding-bottom: 20px !default;", + "variable": "datebox-popup-content-padding-bottom", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/dateBox/_index.scss", + "setTo": "var(--dx-date-box-popup-content-padding-block-end)" + }, + { + "file": "scss/widgets/base/_dateBox.scss", + "line": 7, + "widget": "dateBox", + "literals": [ + "90px" + ], + "occurrences": 1, + "marker": null, + "text": "$datebox-button-min-width: 90px !default;", + "variable": "datebox-button-min-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/dateBox/_index.scss", + "setTo": "var(--dx-date-box-button-min-width)" + }, + { + "file": "scss/widgets/base/_dateBox.scss", + "line": 8, + "widget": "dateBox", + "literals": [ + "10px" + ], + "occurrences": 1, + "marker": null, + "text": "$datebox-apply-button-margin-right: 10px !default;", + "variable": "datebox-apply-button-margin-right", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/dateBox/_index.scss", + "setTo": "var(--dx-date-box-apply-button-margin-inline-end)" + }, + { + "file": "scss/widgets/base/_dropDownList.scss", + "line": 2, + "widget": "dropDownList", + "literals": [ + "35px" + ], + "occurrences": 1, + "marker": null, + "text": "$dropdownlist-list-min-height: 35px !default;", + "variable": "dropdownlist-list-min-height", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/dropDownList/_index.scss", + "setTo": "var(--dx-drop-down-list-min-height)" + }, + { + "file": "scss/widgets/base/_fieldset.scss", + "line": 4, + "widget": "fieldset", + "literals": [ + "20px" + ], + "occurrences": 1, + "marker": null, + "text": "$fieldset-root-margin-bottom: 20px !default;", + "variable": "fieldset-root-margin-bottom", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fieldset/_index.scss", + "setTo": "var(--dx-fieldset-margin-block-end)" + }, + { + "file": "scss/widgets/base/_fileUploader.scss", + "line": 4, + "widget": "fileUploader", + "literals": [ + "12px" + ], + "occurrences": 1, + "marker": null, + "text": "$fileuploader-button-margin-left: 12px !default;", + "variable": "fileuploader-button-margin-left", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileUploader/_index.scss", + "setTo": "var(--dx-file-uploader-button-margin-inline-start)" + }, + { + "file": "scss/widgets/base/_fileUploader.scss", + "line": 5, + "widget": "fileUploader", + "literals": [ + "10px" + ], + "occurrences": 1, + "marker": null, + "text": "$fileuploader-upload-button-margin-top: 10px !default;", + "variable": "fileuploader-upload-button-margin-top", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileUploader/_index.scss", + "setTo": "var(--dx-file-uploader-upload-button-margin-block-start)" + }, + { + "file": "scss/widgets/base/_fileUploader.scss", + "line": 6, + "widget": "fileUploader", + "literals": [ + "22px" + ], + "occurrences": 1, + "marker": null, + "text": "$fileuploader-show-file-list-padding-top: 22px !default;", + "variable": "fileuploader-show-file-list-padding-top", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileUploader/_index.scss", + "setTo": "var(--dx-file-uploader-show-file-list-padding-block-start)" + }, + { + "file": "scss/widgets/base/_fileUploader.scss", + "line": 7, + "widget": "fileUploader", + "literals": [ + "4px" + ], + "occurrences": 2, + "marker": null, + "text": "$fileuploader-file-container-padding: 4px 0 4px !default;", + "variable": "fileuploader-file-container-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileUploader/_index.scss", + "setTo": "false" + }, + { + "file": "scss/widgets/base/_fileUploader.scss", + "line": 8, + "widget": "fileUploader", + "literals": [ + "28px" + ], + "occurrences": 1, + "marker": null, + "text": "$fileuploader-button-width: 28px !default;", + "variable": "fileuploader-button-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileUploader/_index.scss", + "setTo": "var(--dx-file-uploader-button-width)" + }, + { + "file": "scss/widgets/base/_fileUploader.scss", + "line": 9, + "widget": "fileUploader", + "literals": [ + "28px" + ], + "occurrences": 1, + "marker": null, + "text": "$fileuploader-button-height: 28px !default;", + "variable": "fileuploader-button-height", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileUploader/_index.scss", + "setTo": "var(--dx-file-uploader-button-height)" + }, + { + "file": "scss/widgets/base/_fileUploader.scss", + "line": 10, + "widget": "fileUploader", + "literals": [ + "10px" + ], + "occurrences": 1, + "marker": null, + "text": "$fileuploader-button-margin-right: 10px !default;", + "variable": "fileuploader-button-margin-right", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileUploader/_index.scss", + "setTo": "var(--dx-file-uploader-button-margin-inline-end)" + }, + { + "file": "scss/widgets/base/_fileUploader.scss", + "line": 11, + "widget": "fileUploader", + "literals": [ + "4px" + ], + "occurrences": 1, + "marker": null, + "text": "$fileuploader-cancel-button-position-end-margin-left: 4px !default;", + "variable": "fileuploader-cancel-button-position-end-margin-left", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileUploader/_index.scss", + "setTo": "var(--dx-file-uploader-cancel-button-position-end-margin-inline-start)" + }, + { + "file": "scss/widgets/base/_fileUploader.scss", + "line": 12, + "widget": "fileUploader", + "literals": [ + "16px" + ], + "occurrences": 1, + "marker": null, + "text": "$fileuploader-file-status-message-height: 16px !default;", + "variable": "fileuploader-file-status-message-height", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileUploader/_index.scss", + "setTo": "var(--dx-file-uploader-file-status-message-height)" + }, + { + "file": "scss/widgets/base/_fileUploader.scss", + "line": 13, + "widget": "fileUploader", + "literals": [ + "22px" + ], + "occurrences": 1, + "marker": null, + "text": "$fileuploader-progressbar-height: 22px !default;", + "variable": "fileuploader-progressbar-height", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileUploader/_index.scss", + "setTo": "var(--dx-file-uploader-progress-bar-height)" + }, + { + "file": "scss/widgets/base/_fileUploader.scss", + "line": 14, + "widget": "fileUploader", + "literals": [ + "4px" + ], + "occurrences": 1, + "marker": null, + "text": "$fileuploader-file-size-padding-left: 4px !default;", + "variable": "fileuploader-file-size-padding-left", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileUploader/_index.scss", + "setTo": "var(--dx-file-uploader-file-size-padding-inline-start)" + }, + { + "file": "scss/widgets/base/_fileUploader.scss", + "line": 15, + "widget": "fileUploader", + "literals": [ + "6px" + ], + "occurrences": 1, + "marker": null, + "text": "$fileuploader-file-icon-padding-right: 6px !default;", + "variable": "fileuploader-file-icon-padding-right", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileUploader/_index.scss", + "setTo": "var(--dx-file-uploader-file-icon-padding-inline-end)" + }, + { + "file": "scss/widgets/base/_fileUploader.scss", + "line": 16, + "widget": "fileUploader", + "literals": [ + "10px" + ], + "occurrences": 1, + "marker": null, + "text": "$fileuploader-file-container-button-margin-left: 10px !default;", + "variable": "fileuploader-file-container-button-margin-left", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileUploader/_index.scss", + "setTo": "var(--dx-file-uploader-file-container-button-rtl-margin-inline-end)" + }, + { + "file": "scss/widgets/base/_fileUploader.scss", + "line": 17, + "widget": "fileUploader", + "literals": [ + "4px" + ], + "occurrences": 1, + "marker": null, + "text": "$fileuploader-cancel-button-position-end-margin-right: 4px !default;", + "variable": "fileuploader-cancel-button-position-end-margin-right", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileUploader/_index.scss", + "setTo": "var(--dx-file-uploader-cancel-button-position-end-margin-inline-end)" + }, + { + "file": "scss/widgets/base/_fileUploader.scss", + "line": 18, + "widget": "fileUploader", + "literals": [ + "4px" + ], + "occurrences": 1, + "marker": null, + "text": "$fileuploader-file-size-padding-right: 4px !default;", + "variable": "fileuploader-file-size-padding-right", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileUploader/_index.scss", + "setTo": "var(--dx-file-uploader-file-size-padding-inline-end)" + }, + { + "file": "scss/widgets/base/_fileUploader.scss", + "line": 19, + "widget": "fileUploader", + "literals": [ + "2px" + ], + "occurrences": 1, + "marker": null, + "text": "$fileuploader-file-status-message-line-margin-bottom: 2px !default;", + "variable": "fileuploader-file-status-message-line-margin-bottom", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileUploader/_index.scss", + "setTo": "var(--dx-file-uploader-file-status-message-line-margin-block-end)" + }, + { + "file": "scss/widgets/base/_fileUploader.scss", + "line": 20, + "widget": "fileUploader", + "literals": [ + "5px" + ], + "occurrences": 1, + "marker": null, + "text": "$fileuploader-cancel-button-margin-top: 5px !default;", + "variable": "fileuploader-cancel-button-margin-top", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileUploader/_index.scss", + "setTo": "var(--dx-file-uploader-cancel-button-margin-block-start)" + }, + { + "file": "scss/widgets/base/_fileUploader.scss", + "line": 22, + "widget": "fileUploader", + "literals": [ + "12px" + ], + "occurrences": 1, + "marker": null, + "text": "$fileuploader-status-message-font-size: 12px !default;", + "variable": "fileuploader-status-message-font-size", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileUploader/_index.scss", + "setTo": "var(--dx-file-uploader-status-message-font-size)" + }, + { + "file": "scss/widgets/base/_fileUploader.scss", + "line": 23, + "widget": "fileUploader", + "literals": [ + "10px" + ], + "occurrences": 1, + "marker": null, + "text": "$fileuploader-file-size-font-size: 10px !default;", + "variable": "fileuploader-file-size-font-size", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileUploader/_index.scss", + "setTo": "var(--dx-file-uploader-file-size-font-size)" + }, + { + "file": "scss/widgets/base/_form.scss", + "line": 2, + "widget": "form", + "literals": [ + "10px" + ], + "occurrences": 1, + "marker": null, + "text": "$form-first-row-padding-top: 10px !default;", + "variable": "form-first-row-padding-top", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/form/_index.scss", + "setTo": "var(--dx-form-first-row-padding-block-start)" + }, + { + "file": "scss/widgets/base/_form.scss", + "line": 3, + "widget": "form", + "literals": [ + "7px" + ], + "occurrences": 1, + "marker": null, + "text": "$form-switch-margin-top: 7px !default;", + "variable": "form-switch-margin-top", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/form/_index.scss", + "setTo": "var(--dx-form-switch-margin-block-start)" + }, + { + "file": "scss/widgets/base/_form.scss", + "line": 4, + "widget": "form", + "literals": [ + "4px" + ], + "occurrences": 1, + "marker": null, + "text": "$form-switch-margin-bottom: 4px !default;", + "variable": "form-switch-margin-bottom", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/form/_index.scss", + "setTo": "var(--dx-form-switch-margin-block-end)" + }, + { + "file": "scss/widgets/base/_form.scss", + "line": 5, + "widget": "form", + "literals": [ + "20px" + ], + "occurrences": 1, + "marker": null, + "text": "$form-multiview-item-content-padding: 20px !default;", + "variable": "form-multiview-item-content-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/form/_index.scss", + "setTo": "var(--dx-form-multiview-item-content-padding)" + }, + { + "file": "scss/widgets/base/_form.scss", + "line": 6, + "widget": "form", + "literals": [ + "19px" + ], + "occurrences": 1, + "marker": null, + "text": "$form-group-content-padding-top: 19px !default;", + "variable": "form-group-content-padding-top", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/form/_index.scss", + "setTo": "var(--dx-form-group-content-padding-block-start)" + }, + { + "file": "scss/widgets/base/_form.scss", + "line": 7, + "widget": "form", + "literals": [ + "20px" + ], + "occurrences": 1, + "marker": null, + "text": "$form-group-content-padding-bottom: 20px !default;", + "variable": "form-group-content-padding-bottom", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/form/_index.scss", + "setTo": "var(--dx-form-group-content-padding-block-end)" + }, + { + "file": "scss/widgets/base/_form.scss", + "line": 8, + "widget": "form", + "literals": [ + "6px" + ], + "occurrences": 1, + "marker": null, + "text": "$form-group-content-margin-top: 6px !default;", + "variable": "form-group-content-margin-top", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/form/_index.scss", + "setTo": "var(--dx-form-group-content-margin-block-start)" + }, + { + "file": "scss/widgets/base/_form.scss", + "line": 9, + "widget": "form", + "literals": [ + "10px" + ], + "occurrences": 1, + "marker": null, + "text": "$form-field-item-label-location-left-padding-inline-end: 10px !default;", + "variable": "form-field-item-label-location-left-padding-inline-end", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/form/_index.scss", + "setTo": "var(--dx-form-field-item-label-location-left-padding-inline-end)" + }, + { + "file": "scss/widgets/base/_form.scss", + "line": 10, + "widget": "form", + "literals": [ + "10px" + ], + "occurrences": 1, + "marker": null, + "text": "$form-field-item-label-location-right-padding-inline-start: 10px !default;", + "variable": "form-field-item-label-location-right-padding-inline-start", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/form/_index.scss", + "setTo": "var(--dx-form-field-item-label-location-right-padding-inline-start)" + }, + { + "file": "scss/widgets/base/_gallery.scss", + "line": 4, + "widget": "gallery", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": null, + "text": "$gallery-root-border-width: 1px !default;", + "variable": "gallery-root-border-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/gallery/_index.scss", + "setTo": "var(--dx-gallery-border-width)" + }, + { + "file": "scss/widgets/base/_gallery.scss", + "line": 5, + "widget": "gallery", + "literals": [ + "10px" + ], + "occurrences": 1, + "marker": null, + "text": "$gallery-indicator-bottom: 10px !default;", + "variable": "gallery-indicator-bottom", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/gallery/_index.scss", + "setTo": "var(--dx-gallery-indicator-inset-block-end)" + }, + { + "file": "scss/widgets/base/_gallery.scss", + "line": 6, + "widget": "gallery", + "literals": [ + "10px" + ], + "occurrences": 1, + "marker": null, + "text": "$gallery-indicator-height: 10px !default;", + "variable": "gallery-indicator-height", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/gallery/_index.scss", + "setTo": "var(--dx-gallery-indicator-height)" + }, + { + "file": "scss/widgets/base/_gallery.scss", + "line": 7, + "widget": "gallery", + "literals": [ + "2px" + ], + "occurrences": 1, + "marker": null, + "text": "$gallery-indicator-item-margin: 0 2px !default;", + "variable": "gallery-indicator-item-margin", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/gallery/_index.scss", + "setTo": "var(--dx-gallery-indicator-item-margin)" + }, + { + "file": "scss/widgets/base/_htmlEditor.scss", + "line": 25, + "widget": "htmlEditor", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": null, + "text": "$htmleditor-border-width: 1px !default;", + "variable": "htmleditor-border-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/htmlEditor/_index.scss", + "setTo": "var(--dx-html-editor-border-width)" + }, + { + "file": "scss/widgets/base/_htmlEditor.scss", + "line": 29, + "widget": "htmlEditor", + "literals": [ + "3px", + "6px" + ], + "occurrences": 2, + "marker": null, + "text": "$variable-padding: 3px 6px !default;", + "variable": "variable-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/htmlEditor/_index.scss", + "setTo": "var(--dx-html-editor-variable-padding)" + }, + { + "file": "scss/widgets/base/_htmlEditor.scss", + "line": 30, + "widget": "htmlEditor", + "literals": [ + "8px" + ], + "occurrences": 1, + "marker": null, + "text": "$variable-border-radius: 8px !default;", + "variable": "variable-border-radius", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/htmlEditor/_index.scss", + "setTo": "var(--dx-html-editor-variable-border-radius)" + }, + { + "file": "scss/widgets/base/_htmlEditor.scss", + "line": 31, + "widget": "htmlEditor", + "literals": [ + "12px" + ], + "occurrences": 1, + "marker": null, + "text": "$blockquote-padding-inline-start: 12px !default;", + "variable": "blockquote-padding-inline-start", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/htmlEditor/_index.scss", + "setTo": "var(--dx-html-editor-blockquote-padding-inline-start)" + }, + { + "file": "scss/widgets/base/_htmlEditor.scss", + "line": 32, + "widget": "htmlEditor", + "literals": [ + "4px" + ], + "occurrences": 1, + "marker": null, + "text": "$blockquote-border-inline-start-width: 4px !default;", + "variable": "blockquote-border-inline-start-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/htmlEditor/_index.scss", + "setTo": "var(--dx-html-editor-blockquote-border-inline-start-width)" + }, + { + "file": "scss/widgets/base/_htmlEditor.scss", + "line": 33, + "widget": "htmlEditor", + "literals": [ + "2px", + "5px" + ], + "occurrences": 2, + "marker": null, + "text": "$table-cell-padding: 2px 5px !default;", + "variable": "table-cell-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/htmlEditor/_index.scss", + "setTo": "var(--dx-html-editor-table-cell-padding)" + }, + { + "file": "scss/widgets/base/_htmlEditor.scss", + "line": 34, + "widget": "htmlEditor", + "literals": [ + "15px" + ], + "occurrences": 1, + "marker": null, + "text": "$placeholder-inset-inline: 15px !default;", + "variable": "placeholder-inset-inline", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/htmlEditor/_index.scss", + "setTo": "var(--dx-html-editor-placeholder-inset-inline)" + }, + { + "file": "scss/widgets/base/_htmlEditor.scss", + "line": 35, + "widget": "htmlEditor", + "literals": [ + "12px", + "15px" + ], + "occurrences": 2, + "marker": null, + "text": "$htmleditor-content-padding: 12px 15px !default;", + "variable": "htmleditor-content-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/htmlEditor/_index.scss", + "setTo": "var(--dx-html-editor-padding-block) var(--dx-html-editor-padding-inline)" + }, + { + "file": "scss/widgets/base/_htmlEditor.scss", + "line": 36, + "widget": "htmlEditor", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": null, + "text": "$mention-padding-block: 1px !default;", + "variable": "mention-padding-block", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/htmlEditor/_index.scss", + "setTo": "var(--dx-mention-padding-block)" + }, + { + "file": "scss/widgets/base/_htmlEditor.scss", + "line": 37, + "widget": "htmlEditor", + "literals": [ + "2px" + ], + "occurrences": 1, + "marker": null, + "text": "$mention-border-radius: 2px !default;", + "variable": "mention-border-radius", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/htmlEditor/_index.scss", + "setTo": "var(--dx-mention-border-radius)" + }, + { + "file": "scss/widgets/base/_htmlEditor.scss", + "line": 38, + "widget": "htmlEditor", + "literals": [ + "2px" + ], + "occurrences": 1, + "marker": null, + "text": "$mention-margin-inline: 2px !default;", + "variable": "mention-margin-inline", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/htmlEditor/_index.scss", + "setTo": "var(--dx-mention-margin-inline)" + }, + { + "file": "scss/widgets/base/_htmlEditor.scss", + "line": 39, + "widget": "htmlEditor", + "literals": [ + "5px" + ], + "occurrences": 1, + "marker": null, + "text": "$table-resizer-thickness: 5px !default;", + "variable": "table-resizer-thickness", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/htmlEditor/_index.scss", + "setTo": "var(--dx-html-editor-table-resizer-thickness)" + }, + { + "file": "scss/widgets/base/_htmlEditor.scss", + "line": 40, + "widget": "htmlEditor", + "literals": [ + "3px" + ], + "occurrences": 1, + "marker": null, + "text": "$table-resizer-highlight-thickness: 3px !default;", + "variable": "table-resizer-highlight-thickness", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/htmlEditor/_index.scss", + "setTo": "var(--dx-html-editor-table-resizer-highlight-thickness)" + }, + { + "file": "scss/widgets/base/_loadIndicator.scss", + "line": 5, + "widget": "loadIndicator", + "literals": [ + "32px" + ], + "occurrences": 1, + "marker": null, + "text": "$loadindicator-width: 32px !default;", + "variable": "loadindicator-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/loadIndicator/_index.scss", + "setTo": "var(--dx-load-indicator-size)" + }, + { + "file": "scss/widgets/base/_loadIndicator.scss", + "line": 6, + "widget": "loadIndicator", + "literals": [ + "32px" + ], + "occurrences": 1, + "marker": null, + "text": "$loadindicator-height: 32px !default;", + "variable": "loadindicator-height", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/loadIndicator/_index.scss", + "setTo": "var(--dx-load-indicator-size)" + }, + { + "file": "scss/widgets/base/_loadPanel.scss", + "line": 4, + "widget": "loadPanel", + "literals": [ + "10px" + ], + "occurrences": 1, + "marker": null, + "text": "$loadpanel-content-padding: 10px !default;", + "variable": "loadpanel-content-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/loadPanel/_index.scss", + "setTo": "var(--dx-load-panel-content-padding)" + }, + { + "file": "scss/widgets/base/_loadPanel.scss", + "line": 5, + "widget": "loadPanel", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": null, + "text": "$loadpanel-content-border: 1px solid #ccc !default;", + "variable": "loadpanel-content-border", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/loadPanel/_index.scss", + "setTo": "var(--dx-load-panel-content-border)" + }, + { + "file": "scss/widgets/base/_loadPanel.scss", + "line": 6, + "widget": "loadPanel", + "literals": [ + "5px" + ], + "occurrences": 1, + "marker": null, + "text": "$loadpanel-content-border-radius: 5px !default;", + "variable": "loadpanel-content-border-radius", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/loadPanel/_index.scss", + "setTo": "var(--dx-load-panel-content-border-radius)" + }, + { + "file": "scss/widgets/base/_map.scss", + "line": 2, + "widget": "map", + "literals": [ + "10px" + ], + "occurrences": 1, + "marker": null, + "text": "$map-marker-tooltip-margin: 10px !default;", + "variable": "map-marker-tooltip-margin", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/map/_index.scss", + "setTo": "mapSizes.$map-marker-tooltip-margin" + }, + { + "file": "scss/widgets/base/_menu.scss", + "line": 4, + "widget": "menu", + "literals": [ + "15px" + ], + "occurrences": 1, + "marker": null, + "text": "$menu-separator-margin-inline-end: 15px !default;", + "variable": "menu-separator-margin-inline-end", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/menu/_index.scss", + "setTo": "var(--dx-menu-separator-margin-inline-end)" + }, + { + "file": "scss/widgets/base/_menu.scss", + "line": 5, + "widget": "menu", + "literals": [ + "15px" + ], + "occurrences": 1, + "marker": null, + "text": "$menu-separator-margin-bottom: 15px !default;", + "variable": "menu-separator-margin-bottom", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/menu/_index.scss", + "setTo": "var(--dx-menu-separator-margin-block-end)" + }, + { + "file": "scss/widgets/base/_menu.scss", + "line": 6, + "widget": "menu", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": null, + "text": "$menu-treeview-node-padding: 1px !default;", + "variable": "menu-treeview-node-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/menu/_index.scss", + "setTo": "var(--dx-menu-tree-view-node-padding)" + }, + { + "file": "scss/widgets/base/_menu.scss", + "line": 7, + "widget": "menu", + "literals": [ + "15px" + ], + "occurrences": 1, + "marker": null, + "text": "$menu-item-content-padding-inline-start: 15px !default;", + "variable": "menu-item-content-padding-inline-start", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/menu/_index.scss", + "setTo": "var(--dx-menu-item-content-padding-inline-start)" + }, + { + "file": "scss/widgets/base/_numberBox.scss", + "line": 5, + "widget": "numberBox", + "literals": [ + "22px" + ], + "occurrences": 1, + "marker": null, + "text": "$spin-container-width: 22px !default;", + "variable": "spin-container-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/numberBox/_index.scss", + "setTo": "var(--dx-number-box-spin-container-width)" + }, + { + "file": "scss/widgets/base/_numberBox.scss", + "line": 6, + "widget": "numberBox", + "literals": [ + "64px" + ], + "occurrences": 1, + "marker": null, + "text": "$touch-friendly-spin-container-width: 64px !default;", + "variable": "touch-friendly-spin-container-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/numberBox/_index.scss", + "setTo": "var(--dx-number-box-spin-container-touch-friendly-width)" + }, + { + "file": "scss/widgets/base/_pagination.scss", + "line": 4, + "widget": "pagination", + "literals": [ + "7px", + "8px" + ], + "occurrences": 3, + "marker": null, + "text": "$pagination-page-padding-fallback: 7px 8px 8px !default;", + "variable": "pagination-page-padding-fallback", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/pagination/_index.scss", + "setTo": "false" + }, + { + "file": "scss/widgets/base/_pagination.scss", + "line": 5, + "widget": "pagination", + "literals": [ + "13px" + ], + "occurrences": 1, + "marker": null, + "text": "$pagination-page-horizontal-padding: 13px !default;", + "variable": "pagination-page-horizontal-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/pagination/_index.scss", + "setTo": "var(--dx-pagination-page-padding-inline)" + }, + { + "file": "scss/widgets/base/_pagination.scss", + "line": 6, + "widget": "pagination", + "literals": [ + "5px" + ], + "occurrences": 1, + "marker": null, + "text": "$pagination-page-margin-left: 5px !default;", + "variable": "pagination-page-margin-left", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/pagination/_index.scss", + "setTo": "var(--dx-pagination-page-margin-inline-start)" + }, + { + "file": "scss/widgets/base/_pagination.scss", + "line": 7, + "widget": "pagination", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": null, + "text": "$pagination-page-margin-right: 1px !default;", + "variable": "pagination-page-margin-right", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/pagination/_index.scss", + "setTo": "var(--dx-pagination-page-margin-inline-end)" + }, + { + "file": "scss/widgets/base/_pagination.scss", + "line": 8, + "widget": "pagination", + "literals": [ + "8px" + ], + "occurrences": 1, + "marker": null, + "text": "$pagination-separator-padding-left: 8px !default;", + "variable": "pagination-separator-padding-left", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/pagination/_index.scss", + "setTo": "var(--dx-pagination-separator-padding-inline-start)" + }, + { + "file": "scss/widgets/base/_pagination.scss", + "line": 9, + "widget": "pagination", + "literals": [ + "8px" + ], + "occurrences": 1, + "marker": null, + "text": "$pagination-separator-padding-right: 8px !default;", + "variable": "pagination-separator-padding-right", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/pagination/_index.scss", + "setTo": "var(--dx-pagination-separator-padding-inline-end)" + }, + { + "file": "scss/widgets/base/_pagination.scss", + "line": 10, + "widget": "pagination", + "literals": [ + "10px" + ], + "occurrences": 1, + "marker": null, + "text": "$pagination-navigate-button-width-fallback: 10px !default;", + "variable": "pagination-navigate-button-width-fallback", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/pagination/_index.scss", + "setTo": "false" + }, + { + "file": "scss/widgets/base/_pagination.scss", + "line": 11, + "widget": "pagination", + "literals": [ + "20px" + ], + "occurrences": 1, + "marker": null, + "text": "$pagination-navigate-button-height: 20px !default;", + "variable": "pagination-navigate-button-height", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/pagination/_index.scss", + "setTo": "var(--dx-pagination-navigate-button-height)" + }, + { + "file": "scss/widgets/base/_pagination.scss", + "line": 12, + "widget": "pagination", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": null, + "text": "$pagination-first-child-margin-left: 1px !default;", + "variable": "pagination-first-child-margin-left", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/pagination/_index.scss", + "setTo": "var(--dx-pagination-first-child-margin-inline-start)" + }, + { + "file": "scss/widgets/base/_pagination.scss", + "line": 13, + "widget": "pagination", + "literals": [ + "10px" + ], + "occurrences": 1, + "marker": null, + "text": "$pagination-first-child-padding-left: 10px !default;", + "variable": "pagination-first-child-padding-left", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/pagination/_index.scss", + "setTo": "var(--dx-pagination-first-child-padding-inline-start)" + }, + { + "file": "scss/widgets/base/_pagination.scss", + "line": 14, + "widget": "pagination", + "literals": [ + "9px" + ], + "occurrences": 1, + "marker": null, + "text": "$pagination-first-child-padding-right: 9px !default;", + "variable": "pagination-first-child-padding-right", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/pagination/_index.scss", + "setTo": "var(--dx-pagination-first-child-padding-inline-end)" + }, + { + "file": "scss/widgets/base/_pagination.scss", + "line": 15, + "widget": "pagination", + "literals": [ + "7px" + ], + "occurrences": 1, + "marker": null, + "text": "$pagination-first-child-padding-top: 7px !default;", + "variable": "pagination-first-child-padding-top", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/pagination/_index.scss", + "setTo": "var(--dx-pagination-first-child-padding-block-start)" + }, + { + "file": "scss/widgets/base/_pagination.scss", + "line": 16, + "widget": "pagination", + "literals": [ + "8px" + ], + "occurrences": 1, + "marker": null, + "text": "$pagination-first-child-padding-bottom: 8px !default;", + "variable": "pagination-first-child-padding-bottom", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/pagination/_index.scss", + "setTo": "var(--dx-pagination-first-child-padding-block-end)" + }, + { + "file": "scss/widgets/base/_pagination.scss", + "line": 17, + "widget": "pagination", + "literals": [ + "4px" + ], + "occurrences": 1, + "marker": null, + "text": "$pagination-page-size-margin-left: 4px !default;", + "variable": "pagination-page-size-margin-left", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/pagination/_index.scss", + "setTo": "var(--dx-pagination-page-size-margin-inline-start)" + }, + { + "file": "scss/widgets/base/_pagination.scss", + "line": 18, + "widget": "pagination", + "literals": [ + "40px" + ], + "occurrences": 1, + "marker": null, + "text": "$pagination-page-index-width: 40px !default;", + "variable": "pagination-page-index-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/pagination/_index.scss", + "setTo": "var(--dx-pagination-page-index-width)" + }, + { + "file": "scss/widgets/base/_pagination.scss", + "line": 19, + "widget": "pagination", + "literals": [ + "6px" + ], + "occurrences": 1, + "marker": null, + "text": "$pagination-pages-count-padding-left: 6px !default;", + "variable": "pagination-pages-count-padding-left", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/pagination/_index.scss", + "setTo": "var(--dx-pagination-pages-count-padding-inline-start)" + }, + { + "file": "scss/widgets/base/_pagination.scss", + "line": 26, + "widget": "pagination", + "literals": [ + "9px" + ], + "occurrences": 1, + "marker": null, + "text": "$pagination-info-paddings: 9px !default;", + "variable": "pagination-info-paddings", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/pagination/_index.scss", + "setTo": "var(--dx-pagination-info-margin-inline)" + }, + { + "file": "scss/widgets/base/_pagination.scss", + "line": 30, + "widget": "pagination", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": null, + "text": "$pagination-navigate-button-padding-block-fallback: $pagination-paddings - 1px !default;", + "variable": "pagination-navigate-button-padding-block-fallback", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/pagination/_index.scss", + "setTo": "false" + }, + { + "file": "scss/widgets/base/_popup.scss", + "line": 7, + "widget": "popup", + "literals": [ + "10px" + ], + "occurrences": 1, + "marker": null, + "text": "$popup-title-padding: 10px !default;", + "variable": "popup-title-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/popup/_index.scss", + "setTo": "var(--dx-popup-title-padding)" + }, + { + "file": "scss/widgets/base/_popup.scss", + "line": 8, + "widget": "popup", + "literals": [ + "19px" + ], + "occurrences": 1, + "marker": null, + "text": "$popup-title-min-height-fallback: 19px !default;", + "variable": "popup-title-min-height-fallback", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/popup/_index.scss", + "setTo": "false" + }, + { + "file": "scss/widgets/base/_popup.scss", + "line": 9, + "widget": "popup", + "literals": [ + "10px", + "5px" + ], + "occurrences": 4, + "marker": null, + "text": "$popup-dialog-message-padding: 10px 10px 5px 10px !default;", + "variable": "popup-dialog-message-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/popup/_index.scss", + "setTo": "var(--dx-popup-dialog-message-padding)" + }, + { + "file": "scss/widgets/base/_progressBar.scss", + "line": 3, + "widget": "progressBar", + "literals": [ + "12px" + ], + "occurrences": 1, + "marker": null, + "text": "$progressbar-status-font-size: 12px !default;", + "variable": "progressbar-status-font-size", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/progressBar/_index.scss", + "setTo": "var(--dx-progress-bar-status-font-size)" + }, + { + "file": "scss/widgets/base/_progressBar.scss", + "line": 6, + "widget": "progressBar", + "literals": [ + "8px" + ], + "occurrences": 1, + "marker": null, + "text": "$progressbar-status-padding-right: 8px !default;", + "variable": "progressbar-status-padding-right", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/progressBar/_index.scss", + "setTo": "var(--dx-progress-bar-status-padding-inline-end)" + }, + { + "file": "scss/widgets/base/_progressBar.scss", + "line": 7, + "widget": "progressBar", + "literals": [ + "8px" + ], + "occurrences": 1, + "marker": null, + "text": "$progressbar-status-padding-left: 8px !default;", + "variable": "progressbar-status-padding-left", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/progressBar/_index.scss", + "setTo": "var(--dx-progress-bar-status-padding-inline-start)" + }, + { + "file": "scss/widgets/base/_recurrenceEditor.scss", + "line": 2, + "widget": "recurrenceEditor", + "literals": [ + "25px" + ], + "occurrences": 1, + "marker": null, + "text": "$recurrence-interval-number-box-margin-top: 25px !default;", + "variable": "recurrence-interval-number-box-margin-top", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/recurrenceEditor/_index.scss", + "setTo": "var(--dx-recurrence-editor-interval-number-box-margin-block-start)" + }, + { + "file": "scss/widgets/base/_recurrenceEditor.scss", + "line": 3, + "widget": "recurrenceEditor", + "literals": [ + "10px" + ], + "occurrences": 1, + "marker": null, + "text": "$recurrence-radio-group-item-padding: 10px !default;", + "variable": "recurrence-radio-group-item-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/recurrenceEditor/_index.scss", + "setTo": "var(--dx-recurrence-editor-radio-group-item-padding-block-end)" + }, + { + "file": "scss/widgets/base/_recurrenceEditor.scss", + "line": 4, + "widget": "recurrenceEditor", + "literals": [ + "8px" + ], + "occurrences": 1, + "marker": null, + "text": "$recurrence-button-group-item-padding: 8px !default;", + "variable": "recurrence-button-group-item-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/recurrenceEditor/_index.scss", + "setTo": "var(--dx-recurrence-editor-button-group-padding)" + }, + { + "file": "scss/widgets/base/_scrollView.scss", + "line": 5, + "widget": "scrollView", + "literals": [ + "40px" + ], + "occurrences": 1, + "marker": null, + "text": "$scrollview-top-pocket-width: 40px !default;", + "variable": "scrollview-top-pocket-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scrollView/_index.scss", + "setTo": "var(--dx-scroll-view-top-pocket-width)" + }, + { + "file": "scss/widgets/base/_scrollView.scss", + "line": 6, + "widget": "scrollView", + "literals": [ + "40px" + ], + "occurrences": 1, + "marker": null, + "text": "$scrollview-top-pocket-height: 40px !default;", + "variable": "scrollview-top-pocket-height", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scrollView/_index.scss", + "setTo": "var(--dx-scroll-view-top-pocket-height)" + }, + { + "file": "scss/widgets/base/_scrollView.scss", + "line": 7, + "widget": "scrollView", + "literals": [ + "4px" + ], + "occurrences": 1, + "marker": null, + "text": "$scrollview-pull-down-indicator-padding: 4px !default;", + "variable": "scrollview-pull-down-indicator-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scrollView/_index.scss", + "setTo": "var(--dx-scroll-view-pull-down-indicator-padding)" + }, + { + "file": "scss/widgets/base/_scrollView.scss", + "line": 8, + "widget": "scrollView", + "literals": [ + "8px" + ], + "occurrences": 1, + "marker": null, + "text": "$scrollview-icon-pulldown-padding: 8px !default;", + "variable": "scrollview-icon-pulldown-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scrollView/_index.scss", + "setTo": "var(--dx-scroll-view-icon-pull-down-padding)" + }, + { + "file": "scss/widgets/base/_scrollView.scss", + "line": 9, + "widget": "scrollView", + "literals": [ + "20px" + ], + "occurrences": 1, + "marker": null, + "text": "$scrollview-pull-down-indicator-width: 20px !default;", + "variable": "scrollview-pull-down-indicator-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scrollView/_index.scss", + "setTo": "var(--dx-scroll-view-pull-down-indicator-width)" + }, + { + "file": "scss/widgets/base/_scrollView.scss", + "line": 10, + "widget": "scrollView", + "literals": [ + "20px" + ], + "occurrences": 1, + "marker": null, + "text": "$scrollview-pull-down-image-margin: 0 20px !default;", + "variable": "scrollview-pull-down-image-margin", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scrollView/_index.scss", + "setTo": "var(--dx-scroll-view-pull-down-image-margin)" + }, + { + "file": "scss/widgets/base/_scrollView.scss", + "line": 11, + "widget": "scrollView", + "literals": [ + "50px" + ], + "occurrences": 1, + "marker": null, + "text": "$scrollview-pull-down-image-height: 50px !default;", + "variable": "scrollview-pull-down-image-height", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scrollView/_index.scss", + "setTo": "var(--dx-scroll-view-pull-down-image-height)" + }, + { + "file": "scss/widgets/base/_scrollView.scss", + "line": 12, + "widget": "scrollView", + "literals": [ + "10px" + ], + "occurrences": 1, + "marker": null, + "text": "$scrollview-scrollbottom-padding: 10px 0 !default;", + "variable": "scrollview-scrollbottom-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scrollView/_index.scss", + "setTo": "var(--dx-scroll-view-scroll-bottom-padding)" + }, + { + "file": "scss/widgets/base/_scrollView.scss", + "line": 13, + "widget": "scrollView", + "literals": [ + "10px" + ], + "occurrences": 1, + "marker": null, + "text": "$scrollview-scrollbottom-indicator-margin: 0 10px 0 0 !default;", + "variable": "scrollview-scrollbottom-indicator-margin", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scrollView/_index.scss", + "setTo": "var(--dx-scroll-view-scroll-bottom-indicator-margin)" + }, + { + "file": "scss/widgets/base/_scrollView.scss", + "line": 14, + "widget": "scrollView", + "literals": [ + "10px" + ], + "occurrences": 1, + "marker": null, + "text": "$scrollview-scrollbottom-indicator-margin-rtl: 0 0 0 10px !default;", + "variable": "scrollview-scrollbottom-indicator-margin-rtl", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scrollView/_index.scss", + "setTo": "var(--dx-scroll-view-scroll-bottom-indicator-rtl-margin)" + }, + { + "file": "scss/widgets/base/_scrollView.scss", + "line": 16, + "widget": "scrollView", + "literals": [ + "24px" + ], + "occurrences": 1, + "marker": null, + "text": "$scrollview-pulldown-icon-font-size: 24px !default;", + "variable": "scrollview-pulldown-icon-font-size", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scrollView/_index.scss", + "setTo": "var(--dx-scroll-view-pull-down-icon-font-size)" + }, + { + "file": "scss/widgets/base/_scrollView.scss", + "line": 17, + "widget": "scrollView", + "literals": [ + "50px" + ], + "occurrences": 1, + "marker": null, + "text": "$pulldown-height: 50px !default;", + "variable": "pulldown-height", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scrollView/_index.scss", + "setTo": "var(--dx-scroll-view-pull-down-height)" + }, + { + "file": "scss/widgets/base/_scrollView.scss", + "line": 18, + "widget": "scrollView", + "literals": [ + "15px" + ], + "occurrences": 1, + "marker": null, + "text": "$pulldown-padding: 15px !default;", + "variable": "pulldown-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scrollView/_index.scss", + "setTo": "var(--dx-scroll-view-pull-down-padding)" + }, + { + "file": "scss/widgets/base/_slider.scss", + "line": 4, + "widget": "slider", + "literals": [ + "28px" + ], + "occurrences": 1, + "marker": null, + "text": "$slider-tooltip-content-height: 28px !default;", + "variable": "slider-tooltip-content-height", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/slider/_index.scss", + "setTo": "var(--dx-slider-tooltip-height)" + }, + { + "file": "scss/widgets/base/_slider.scss", + "line": 8, + "widget": "slider", + "literals": [ + "14px" + ], + "occurrences": 1, + "marker": null, + "text": "$slider-label-position-bottom-padding-bottom: 14px !default;", + "variable": "slider-label-position-bottom-padding-bottom", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/slider/_index.scss", + "setTo": "var(--dx-slider-label-bottom-padding-block-end)" + }, + { + "file": "scss/widgets/base/_slider.scss", + "line": 9, + "widget": "slider", + "literals": [ + "14px" + ], + "occurrences": 1, + "marker": null, + "text": "$slider-label-position-top-padding-top: 14px !default;", + "variable": "slider-label-position-top-padding-top", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/slider/_index.scss", + "setTo": "var(--dx-slider-label-top-padding-block-start)" + }, + { + "file": "scss/widgets/base/_sortable.scss", + "line": 23, + "widget": "sortable", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": null, + "text": "$sortable-placeholder-border: 1px solid !default;", + "variable": "sortable-placeholder-border", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/sortable/_index.scss", + "setTo": "var(--dx-sortable-placeholder-border-width) solid" + }, + { + "file": "scss/widgets/base/_sortable.scss", + "line": 24, + "widget": "sortable", + "literals": [ + "2px" + ], + "occurrences": 1, + "marker": null, + "text": "$sortable-placeholder-inside-border-width: 2px !default;", + "variable": "sortable-placeholder-inside-border-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/sortable/_index.scss", + "setTo": "var(--dx-sortable-placeholder-inside-border-width)" + }, + { + "file": "scss/widgets/base/_speedDialAction.scss", + "line": 6, + "widget": "speedDialAction", + "literals": [ + "4px" + ], + "occurrences": 1, + "marker": null, + "text": "$speeddialaction-fa-button-label-border-radius: 4px !default;", + "variable": "speeddialaction-fa-button-label-border-radius", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/speedDialAction/_index.scss", + "setTo": "var(--dx-speed-dial-action-fa-button-label-border-radius)" + }, + { + "file": "scss/widgets/base/_splitterBar.scss", + "line": 4, + "widget": "splitterBar", + "literals": [ + "7px" + ], + "occurrences": 1, + "marker": null, + "text": "$splitterbar-splitter-border-width: 7px !default;", + "variable": "splitterbar-splitter-border-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/splitterBar/_index.scss", + "setTo": "var(--dx-splitter-bar-border-width)" + }, + { + "file": "scss/widgets/base/_splitterBar.scss", + "line": 5, + "widget": "splitterBar", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": null, + "text": "$splitterbar-splitter-bar-width: 1px !default;", + "variable": "splitterbar-splitter-bar-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/splitterBar/_index.scss", + "setTo": "var(--dx-splitter-bar-width)" + }, + { + "file": "scss/widgets/base/_tileView.scss", + "line": 2, + "widget": "tileView", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": null, + "text": "$tileview-wrapper-height: 1px !default;", + "variable": "tileview-wrapper-height", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/tileView/_index.scss", + "setTo": "var(--dx-tile-view-wrapper-height)" + }, + { + "file": "scss/widgets/base/_toast.scss", + "line": 2, + "widget": "toast", + "literals": [ + "10px" + ], + "occurrences": 1, + "marker": null, + "text": "$toast-content-padding: 10px !default;", + "variable": "toast-content-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/toast/_index.scss", + "setTo": "var(--dx-toast-content-padding)" + }, + { + "file": "scss/widgets/base/_toast.scss", + "line": 3, + "widget": "toast", + "literals": [ + "35px" + ], + "occurrences": 1, + "marker": null, + "text": "$toast-icon-width: 35px !default;", + "variable": "toast-icon-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/toast/_index.scss", + "setTo": "var(--dx-toast-icon-width)" + }, + { + "file": "scss/widgets/base/_toast.scss", + "line": 4, + "widget": "toast", + "literals": [ + "35px" + ], + "occurrences": 1, + "marker": null, + "text": "$toast-icon-height: 35px !default;", + "variable": "toast-icon-height", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/toast/_index.scss", + "setTo": "var(--dx-toast-icon-height)" + }, + { + "file": "scss/widgets/base/_toast.scss", + "line": 5, + "widget": "toast", + "literals": [ + "10px" + ], + "occurrences": 1, + "marker": null, + "text": "$toast-icon-margin-right: 10px !default;", + "variable": "toast-icon-margin-right", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/toast/_index.scss", + "setTo": "var(--dx-toast-icon-margin-inline-end)" + }, + { + "file": "scss/widgets/base/_toast.scss", + "line": 6, + "widget": "toast", + "literals": [ + "10px" + ], + "occurrences": 1, + "marker": null, + "text": "$toast-icon-margin-left: 10px !default;", + "variable": "toast-icon-margin-left", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/toast/_index.scss", + "setTo": "var(--dx-toast-icon-rtl-margin-inline-end)" + }, + { + "file": "scss/widgets/base/_toast.scss", + "line": 7, + "widget": "toast", + "literals": [ + "3px" + ], + "occurrences": 1, + "marker": null, + "text": "$toast-stack-gap: 3px !default;", + "variable": "toast-stack-gap", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/toast/_index.scss", + "setTo": "var(--dx-toast-stack-gap)" + }, + { + "file": "scss/widgets/base/_tooltip.scss", + "line": 2, + "widget": "tooltip", + "literals": [ + "34px" + ], + "occurrences": 1, + "marker": null, + "text": "$tooltip-overlay-content-min-width: 34px !default;", + "variable": "tooltip-overlay-content-min-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/tooltip/_index.scss", + "setTo": "var(--dx-tooltip-overlay-content-min-width)" + }, + { + "file": "scss/widgets/base/_tooltip.scss", + "line": 3, + "widget": "tooltip", + "literals": [ + "26px" + ], + "occurrences": 1, + "marker": null, + "text": "$tooltip-overlay-content-min-height: 26px !default;", + "variable": "tooltip-overlay-content-min-height", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/tooltip/_index.scss", + "setTo": "var(--dx-tooltip-overlay-content-min-height)" + }, + { + "file": "scss/widgets/base/_tooltip.scss", + "line": 4, + "widget": "tooltip", + "literals": [ + "12px", + "17px" + ], + "occurrences": 2, + "marker": null, + "text": "$tooltip-popup-content-padding: 12px 17px !default;", + "variable": "tooltip-popup-content-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/tooltip/_index.scss", + "setTo": "var(--dx-tooltip-popup-content-padding)" + }, + { + "file": "scss/widgets/base/_validation.scss", + "line": 2, + "widget": "validation", + "literals": [ + "20px" + ], + "occurrences": 1, + "marker": null, + "text": "$validation-summary-margin-top: 20px !default;", + "variable": "validation-summary-margin-top", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/common/_mixins.scss", + "setTo": "validationSizes.$validation-summary-margin-block-start" + }, + { + "file": "scss/widgets/base/_validation.scss", + "line": 3, + "widget": "validation", + "literals": [ + "10px" + ], + "occurrences": 1, + "marker": null, + "text": "$validation-message-content-padding: 10px !default;", + "variable": "validation-message-content-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/common/_mixins.scss", + "setTo": "validationSizes.$validation-message-content-padding" + }, + { + "file": "scss/widgets/base/_validation.scss", + "line": 6, + "widget": "validation", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": null, + "text": "$validation-summary-item-border-bottom-width: 1px !default;", + "variable": "validation-summary-item-border-bottom-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/common/_mixins.scss", + "setTo": "var(--dx-validation-summary-item-border-block-end-width)" + }, + { + "file": "scss/widgets/base/buttonGroup/_index.scss", + "line": 4, + "widget": "buttonGroup", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": null, + "text": "$buttongroup-mode-text-column-gap: 1px !default;", + "variable": "buttongroup-mode-text-column-gap", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/buttonGroup/_index.scss", + "setTo": "var(--dx-button-group-text-column-gap)" + }, + { + "file": "scss/widgets/base/calendar/_calendar.scss", + "line": 4, + "widget": "calendar", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": null, + "text": "$calendar-border-width: 1px !default;", + "variable": "calendar-border-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/calendar/_index.scss", + "setTo": "var(--dx-calendar-border-width)" + }, + { + "file": "scss/widgets/base/calendar/_calendar.scss", + "line": 5, + "widget": "calendar", + "literals": [ + "10px" + ], + "occurrences": 1, + "marker": null, + "text": "$calendar-multiview-table-padding: 0 10px !default;", + "variable": "calendar-multiview-table-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/calendar/_index.scss", + "setTo": "0 var(--dx-calendar-view-multiview-padding-inline)" + }, + { + "file": "scss/widgets/base/calendar/_calendar.scss", + "line": 7, + "widget": "calendar", + "literals": [ + "10px" + ], + "occurrences": 1, + "marker": null, + "text": "$calendar-week-day-header-font-size: 10px !default;", + "variable": "calendar-week-day-header-font-size", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/calendar/_index.scss", + "setTo": "var(--dx-calendar-week-day-header-font-size)" + }, + { + "file": "scss/widgets/base/calendar/_mixins.scss", + "line": 134, + "widget": "calendar", + "literals": [ + "2px" + ], + "occurrences": 1, + "marker": null, + "text": "$cell-today-border-width: 2px,", + "variable": "cell-today-border-width", + "kind": "mixin-parameter", + "status": "parameter" + }, + { + "file": "scss/widgets/base/calendar/_mixins.scss", + "line": 135, + "widget": "calendar", + "literals": [ + "2px" + ], + "occurrences": 1, + "marker": null, + "text": "$cell-contoured-ring-width: 2px,", + "variable": "cell-contoured-ring-width", + "kind": "mixin-parameter", + "status": "parameter" + }, + { + "file": "scss/widgets/base/chat/_index.scss", + "line": 6, + "widget": "chat", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": null, + "text": "$chat-messagebox-border-block-start-width: 1px !default;", + "variable": "chat-messagebox-border-block-start-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/chat/_index.scss", + "setTo": "var(--dx-chat-message-box-border-block-start-width)" + }, + { + "file": "scss/widgets/base/chat/_index.scss", + "line": 7, + "widget": "chat", + "literals": [ + "4px" + ], + "occurrences": 1, + "marker": null, + "text": "$chat-messagebubble-padding-image: 4px !default;", + "variable": "chat-messagebubble-padding-image", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/chat/_index.scss", + "setTo": "var(--dx-chat-bubble-image-padding)" + }, + { + "file": "scss/widgets/base/chat/_index.scss", + "line": 8, + "widget": "chat", + "literals": [ + "8px" + ], + "occurrences": 1, + "marker": null, + "text": "$chat-messagebubble-border-radius-image: 8px !default;", + "variable": "chat-messagebubble-border-radius-image", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/chat/_index.scss", + "setTo": "var(--dx-chat-bubble-image-border-radius)" + }, + { + "file": "scss/widgets/base/chat/_index.scss", + "line": 9, + "widget": "chat", + "literals": [ + "400px" + ], + "occurrences": 1, + "marker": null, + "text": "$chat-messagebubble-max-width-image: 400px !default;", + "variable": "chat-messagebubble-max-width-image", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/chat/_index.scss", + "setTo": "var(--dx-chat-bubble-image-max-width)" + }, + { + "file": "scss/widgets/base/chat/_index.scss", + "line": 10, + "widget": "chat", + "literals": [ + "400px" + ], + "occurrences": 1, + "marker": null, + "text": "$chat-messagebubble-max-height-image: 400px !default;", + "variable": "chat-messagebubble-max-height-image", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/chat/_index.scss", + "setTo": "var(--dx-chat-bubble-image-max-height)" + }, + { + "file": "scss/widgets/base/chat/layout/chat/_mixins.scss", + "line": 5, + "widget": "chat", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": null, + "text": "$border-width: 1px,", + "variable": "border-width", + "kind": "mixin-parameter", + "status": "parameter" + }, + { + "file": "scss/widgets/base/checkBox/_index.scss", + "line": 5, + "widget": "checkBox", + "literals": [ + "5px" + ], + "occurrences": 1, + "marker": null, + "text": "$checkbox-text-padding-inline-start: 5px !default;", + "variable": "checkbox-text-padding-inline-start", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/checkBox/_index.scss", + "setTo": "false" + }, + { + "file": "scss/widgets/base/colorBox/_index.scss", + "line": 5, + "widget": "colorBox", + "literals": [ + "40px" + ], + "occurrences": 1, + "marker": null, + "text": "$colorbox-input-left-padding: 40px !default;", + "variable": "colorbox-input-left-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/colorBox/_index.scss", + "setTo": "var(--dx-color-box-input-min-width)" + }, + { + "file": "scss/widgets/base/colorBox/_index.scss", + "line": 8, + "widget": "colorBox", + "literals": [ + "15px" + ], + "occurrences": 1, + "marker": null, + "text": "$colorbox-texteditor-input-container-width: 15px !default;", + "variable": "colorbox-texteditor-input-container-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/colorBox/_index.scss", + "setTo": "var(--dx-color-box-input-container-width)" + }, + { + "file": "scss/widgets/base/colorBox/_index.scss", + "line": 9, + "widget": "colorBox", + "literals": [ + "15px" + ], + "occurrences": 1, + "marker": null, + "text": "$colorbox-texteditor-input-container-height: 15px !default;", + "variable": "colorbox-texteditor-input-container-height", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/colorBox/_index.scss", + "setTo": "var(--dx-color-box-input-container-height)" + }, + { + "file": "scss/widgets/base/colorBox/_index.scss", + "line": 10, + "widget": "colorBox", + "literals": [ + "14px" + ], + "occurrences": 1, + "marker": null, + "text": "$colorbox-texteditor-input-container-inset-inline-start: 14px !default;", + "variable": "colorbox-texteditor-input-container-inset-inline-start", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/colorBox/_index.scss", + "setTo": "var(--dx-color-box-input-container-inset-inline-start)" + }, + { + "file": "scss/widgets/base/colorBox/_index.scss", + "line": 12, + "widget": "colorBox", + "literals": [ + "20px" + ], + "occurrences": 1, + "marker": null, + "text": "$colorbox-overlay-padding: 20px !default;", + "variable": "colorbox-overlay-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/colorBox/_index.scss", + "setTo": "var(--dx-color-box-overlay-padding)" + }, + { + "file": "scss/widgets/base/colorBox/_index.scss", + "line": 13, + "widget": "colorBox", + "literals": [ + "10px" + ], + "occurrences": 1, + "marker": null, + "text": "$colorbox-toolbar-item-padding-right: 10px !default;", + "variable": "colorbox-toolbar-item-padding-right", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/colorBox/_index.scss", + "setTo": "var(--dx-color-box-toolbar-item-padding-inline-end)" + }, + { + "file": "scss/widgets/base/colorView/_index.scss", + "line": 3, + "widget": "colorView", + "literals": [ + "450px" + ], + "occurrences": 1, + "marker": null, + "text": "$color-view-container-width: 450px !default;", + "variable": "color-view-container-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/colorView/_index.scss", + "setTo": "var(--dx-color-view-container-width)" + }, + { + "file": "scss/widgets/base/colorView/_index.scss", + "line": 4, + "widget": "colorView", + "literals": [ + "288px" + ], + "occurrences": 1, + "marker": null, + "text": "$color-view-palette-width: 288px !default;", + "variable": "color-view-palette-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/colorView/_index.scss", + "setTo": "var(--dx-color-view-palette-width)" + }, + { + "file": "scss/widgets/base/colorView/_index.scss", + "line": 5, + "widget": "colorView", + "literals": [ + "299px" + ], + "occurrences": 1, + "marker": null, + "text": "$color-view-palette-height: 299px !default;", + "variable": "color-view-palette-height", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/colorView/_index.scss", + "setTo": "var(--dx-color-view-palette-height)" + }, + { + "file": "scss/widgets/base/colorView/_index.scss", + "line": 6, + "widget": "colorView", + "literals": [ + "292px" + ], + "occurrences": 1, + "marker": null, + "text": "$color-view-alpha-cell-width: 292px !default;", + "variable": "color-view-alpha-cell-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/colorView/_index.scss", + "setTo": "var(--dx-color-view-alpha-cell-width)" + }, + { + "file": "scss/widgets/base/colorView/_index.scss", + "line": 7, + "widget": "colorView", + "literals": [ + "18px" + ], + "occurrences": 1, + "marker": null, + "text": "$color-view-hue-scale-width: 18px !default;", + "variable": "color-view-hue-scale-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/colorView/_index.scss", + "setTo": "var(--dx-color-view-hue-scale-width)" + }, + { + "file": "scss/widgets/base/colorView/_index.scss", + "line": 23, + "widget": "colorView", + "literals": [ + "10px" + ], + "occurrences": 1, + "marker": null, + "text": "$color-view-label-hex-margin: 10px 0 0 0 !default;", + "variable": "color-view-label-hex-margin", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/colorView/_index.scss", + "setTo": "var(--dx-color-view-container-hex-margin)" + }, + { + "file": "scss/widgets/base/colorView/_index.scss", + "line": 24, + "widget": "colorView", + "literals": [ + "43px" + ], + "occurrences": 1, + "marker": null, + "text": "$color-view-alpha-label-margin-inline-start: 43px !default;", + "variable": "color-view-alpha-label-margin-inline-start", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/colorView/_index.scss", + "setTo": "var(--dx-color-view-container-alpha-label-margin)" + }, + { + "file": "scss/widgets/base/colorView/_index.scss", + "line": 25, + "widget": "colorView", + "literals": [ + "41px" + ], + "occurrences": 1, + "marker": null, + "text": "$color-view-alpha-label-margin-inline-start-rtl: 41px !default;", + "variable": "color-view-alpha-label-margin-inline-start-rtl", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/colorView/_index.scss", + "setTo": "var(--dx-color-view-container-alpha-label-margin)" + }, + { + "file": "scss/widgets/base/colorView/_index.scss", + "line": 26, + "widget": "colorView", + "literals": [ + "115px" + ], + "occurrences": 1, + "marker": null, + "text": "$color-view-alpha-label-width: 115px !default;", + "variable": "color-view-alpha-label-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/colorView/_index.scss", + "setTo": "var(--dx-color-view-container-alpha-label-width)" + }, + { + "file": "scss/widgets/base/colorView/_index.scss", + "line": 27, + "widget": "colorView", + "literals": [ + "69px" + ], + "occurrences": 1, + "marker": null, + "text": "$color-view-textbox-width: 69px !default;", + "variable": "color-view-textbox-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/colorView/_index.scss", + "setTo": "var(--dx-color-view-container-textbox-width)" + }, + { + "file": "scss/widgets/base/colorView/_index.scss", + "line": 28, + "widget": "colorView", + "literals": [ + "1px", + "10px" + ], + "occurrences": 3, + "marker": null, + "text": "$color-view-textbox-margin: 1px 1px 10px 0 !default;", + "variable": "color-view-textbox-margin", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/colorView/_index.scss", + "setTo": "var(--dx-color-view-container-textbox-margin)" + }, + { + "file": "scss/widgets/base/colorView/_index.scss", + "line": 29, + "widget": "colorView", + "literals": [ + "10px" + ], + "occurrences": 1, + "marker": null, + "text": "$color-view-alpha-row-margin-block-start: 10px !default;", + "variable": "color-view-alpha-row-margin-block-start", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/colorView/_index.scss", + "setTo": "var(--dx-color-view-alpha-row-margin-block-start)" + }, + { + "file": "scss/widgets/base/colorView/_index.scss", + "line": 30, + "widget": "colorView", + "literals": [ + "19px" + ], + "occurrences": 1, + "marker": null, + "text": "$color-view-hue-scale-cell-margin-inline-start: 19px !default;", + "variable": "color-view-hue-scale-cell-margin-inline-start", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/colorView/_index.scss", + "setTo": "var(--dx-color-view-hue-scale-margin)" + }, + { + "file": "scss/widgets/base/colorView/_index.scss", + "line": 31, + "widget": "colorView", + "literals": [ + "90px" + ], + "occurrences": 1, + "marker": null, + "text": "$color-view-controls-width: 90px !default;", + "variable": "color-view-controls-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/colorView/_index.scss", + "setTo": "var(--dx-color-view-controls-container-width)" + }, + { + "file": "scss/widgets/base/colorView/_index.scss", + "line": 32, + "widget": "colorView", + "literals": [ + "27px" + ], + "occurrences": 1, + "marker": null, + "text": "$color-view-controls-margin-inline-start: 27px !default;", + "variable": "color-view-controls-margin-inline-start", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/colorView/_index.scss", + "setTo": "var(--dx-color-view-controls-container-margin)" + }, + { + "file": "scss/widgets/base/colorView/_index.scss", + "line": 33, + "widget": "colorView", + "literals": [ + "25px" + ], + "occurrences": 1, + "marker": null, + "text": "$color-view-controls-margin-inline-start-rtl: 25px !default;", + "variable": "color-view-controls-margin-inline-start-rtl", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/colorView/_index.scss", + "setTo": "var(--dx-color-view-controls-container-margin)" + }, + { + "file": "scss/widgets/base/colorView/_index.scss", + "line": 34, + "widget": "colorView", + "literals": [ + "86px" + ], + "occurrences": 1, + "marker": null, + "text": "$color-view-color-preview-width: 86px !default;", + "variable": "color-view-color-preview-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/colorView/_index.scss", + "setTo": "100%" + }, + { + "file": "scss/widgets/base/colorView/_index.scss", + "line": 35, + "widget": "colorView", + "literals": [ + "40px" + ], + "occurrences": 1, + "marker": null, + "text": "$color-view-color-preview-height: 40px !default;", + "variable": "color-view-color-preview-height", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/colorView/_index.scss", + "setTo": "var(--dx-color-view-color-preview-height)" + }, + { + "file": "scss/widgets/base/colorView/_index.scss", + "line": 36, + "widget": "colorView", + "literals": [ + "20px" + ], + "occurrences": 1, + "marker": null, + "text": "$color-view-alpha-scale-height: 20px !default;", + "variable": "color-view-alpha-scale-height", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/colorView/_index.scss", + "setTo": "var(--dx-color-view-alpha-scale-height)" + }, + { + "file": "scss/widgets/base/colorView/_index.scss", + "line": 37, + "widget": "colorView", + "literals": [ + "6px" + ], + "occurrences": 1, + "marker": null, + "text": "$color-view-alpha-cell-margin-block: 6px !default;", + "variable": "color-view-alpha-cell-margin-block", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/colorView/_index.scss", + "setTo": "var(--dx-color-view-alpha-cell-margin-block)" + }, + { + "file": "scss/widgets/base/colorView/_index.scss", + "line": 38, + "widget": "colorView", + "literals": [ + "10px" + ], + "occurrences": 1, + "marker": null, + "text": "$color-view-apply-button-margin-inline-end: 10px !default;", + "variable": "color-view-apply-button-margin-inline-end", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/colorView/_index.scss", + "setTo": "var(--dx-color-view-apply-button-margin-inline-end)" + }, + { + "file": "scss/widgets/base/dataGrid/_index.scss", + "line": 15, + "widget": "dataGrid", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": null, + "text": "$datagrid-group-row-border: 1px solid !default;", + "variable": "datagrid-group-row-border", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/dataGrid/_index.scss", + "setTo": "var(--dx-data-grid-group-row-border)" + }, + { + "file": "scss/widgets/base/dataGrid/_index.scss", + "line": 16, + "widget": "dataGrid", + "literals": [ + "2px" + ], + "occurrences": 1, + "marker": null, + "text": "$datagrid-sticky-column-border: 2px solid !default;", + "variable": "datagrid-sticky-column-border", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/dataGrid/_index.scss", + "setTo": "var(--dx-data-grid-sticky-column-border)" + }, + { + "file": "scss/widgets/base/dataGrid/_index.scss", + "line": 17, + "widget": "dataGrid", + "literals": [ + "2px" + ], + "occurrences": 1, + "marker": null, + "text": "$datagrid-cell-focus-outline: 2px solid !default;", + "variable": "datagrid-cell-focus-outline", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/dataGrid/_index.scss", + "setTo": "var(--dx-data-grid-cell-outline-focused)" + }, + { + "file": "scss/widgets/base/dataGrid/_index.scss", + "line": 23, + "widget": "dataGrid", + "literals": [ + "30px" + ], + "occurrences": 1, + "marker": null, + "text": "$datagrid-common-group-min-width: 30px !default;", + "variable": "datagrid-common-group-min-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/dataGrid/_index.scss", + "setTo": "var(--dx-data-grid-group-panel-item-min-width)" + }, + { + "file": "scss/widgets/base/dataGrid/_index.scss", + "line": 24, + "widget": "dataGrid", + "literals": [ + "10px" + ], + "occurrences": 1, + "marker": null, + "text": "$datagrid-common-addrow-margin-right: 10px !default;", + "variable": "datagrid-common-addrow-margin-right", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/dataGrid/_index.scss", + "setTo": "var(--dx-data-grid-group-panel-item-margin-inline-end)" + }, + { + "file": "scss/widgets/base/dataGrid/_index.scss", + "line": 25, + "widget": "dataGrid", + "literals": [ + "6px" + ], + "occurrences": 1, + "marker": null, + "text": "$datagrid-common-addrow-margin-left: 6px !default;", + "variable": "datagrid-common-addrow-margin-left", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/dataGrid/_index.scss", + "setTo": "var(--dx-data-grid-group-panel-item-sort-margin-inline-start)" + }, + { + "file": "scss/widgets/base/dataGrid/_index.scss", + "line": 26, + "widget": "dataGrid", + "literals": [ + "3px" + ], + "occurrences": 1, + "marker": null, + "text": "$datagrid-common-form-buttons-border-radius: 3px !default;", + "variable": "datagrid-common-form-buttons-border-radius", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/dataGrid/_index.scss", + "setTo": "var(--dx-data-grid-block-separator-border-radius)" + }, + { + "file": "scss/widgets/base/dataGrid/_index.scss", + "line": 27, + "widget": "dataGrid", + "literals": [ + "10px" + ], + "occurrences": 1, + "marker": null, + "text": "$datagrid-common-form-buttons-margin-left: 10px !default;", + "variable": "datagrid-common-form-buttons-margin-left", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/dataGrid/_index.scss", + "setTo": "var(--dx-data-grid-group-panel-item-rtl-margin-inline-end)" + }, + { + "file": "scss/widgets/base/dataGrid/_index.scss", + "line": 28, + "widget": "dataGrid", + "literals": [ + "6px" + ], + "occurrences": 1, + "marker": null, + "text": "$datagrid-common-form-buttons-margin-right: 6px !default;", + "variable": "datagrid-common-form-buttons-margin-right", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/dataGrid/_index.scss", + "setTo": "var(--dx-data-grid-group-panel-item-sort-rtl-margin-inline-start)" + }, + { + "file": "scss/widgets/base/dataGrid/_index.scss", + "line": 56, + "widget": "dataGrid", + "literals": [ + "2px" + ], + "occurrences": 1, + "marker": null, + "text": "$datagrid-header-filter-outline: 2px solid !default;", + "variable": "datagrid-header-filter-outline", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/dataGrid/_index.scss", + "setTo": "var(--dx-grid-outline-focused)" + }, + { + "file": "scss/widgets/base/dataGrid/_index.scss", + "line": 57, + "widget": "dataGrid", + "literals": [ + "2px" + ], + "occurrences": 1, + "marker": null, + "text": "$datagrid-header-filter-outline-offset: 2px !default;", + "variable": "datagrid-header-filter-outline-offset", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/dataGrid/_index.scss", + "setTo": "var(--dx-data-grid-outline-offset-focused)" + }, + { + "file": "scss/widgets/base/dataGrid/_index.scss", + "line": 58, + "widget": "dataGrid", + "literals": [ + "3px" + ], + "occurrences": 1, + "marker": null, + "text": "$datagrid-filter-panel-clear-filter-outline-offset: 3px !default;", + "variable": "datagrid-filter-panel-clear-filter-outline-offset", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/dataGrid/_index.scss", + "setTo": "var(--dx-data-grid-filter-panel-outline-offset-focused)" + }, + { + "file": "scss/widgets/base/dataGrid/_index.scss", + "line": 59, + "widget": "dataGrid", + "literals": [ + "10px" + ], + "occurrences": 1, + "marker": null, + "text": "$datagrid-button-margin-left: 10px !default;", + "variable": "datagrid-button-margin-left", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/dataGrid/_index.scss", + "setTo": "var(--dx-data-grid-form-buttons-margin-inline-start)" + }, + { + "file": "scss/widgets/base/dataGrid/_index.scss", + "line": 60, + "widget": "dataGrid", + "literals": [ + "10px" + ], + "occurrences": 1, + "marker": null, + "text": "$datagrid-button-margin-top: 10px !default;", + "variable": "datagrid-button-margin-top", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/dataGrid/_index.scss", + "setTo": "var(--dx-data-grid-form-buttons-margin-block-start)" + }, + { + "file": "scss/widgets/base/dataGrid/_index.scss", + "line": 61, + "widget": "dataGrid", + "literals": [ + "20px" + ], + "occurrences": 1, + "marker": null, + "text": "$datagrid-error-message-margin-bottom: 20px !default;", + "variable": "datagrid-error-message-margin-bottom", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/dataGrid/_index.scss", + "setTo": "var(--dx-data-grid-error-message-margin-block-end)" + }, + { + "file": "scss/widgets/base/dataGrid/_index.scss", + "line": 62, + "widget": "dataGrid", + "literals": [ + "10px" + ], + "occurrences": 1, + "marker": null, + "text": "$datagrid-button-margin-right: 10px !default;", + "variable": "datagrid-button-margin-right", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/dataGrid/_index.scss", + "setTo": "var(--dx-data-grid-form-buttons-rtl-margin-inline-start)" + }, + { + "file": "scss/widgets/base/diagram/_index.scss", + "line": 6, + "widget": "diagram", + "literals": [ + "600px" + ], + "occurrences": 1, + "marker": null, + "text": "$diagram-root-height: 600px !default;", + "variable": "diagram-root-height", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/diagram/_index.scss", + "setTo": "var(--dx-diagram-height)" + }, + { + "file": "scss/widgets/base/diagram/_index.scss", + "line": 7, + "widget": "diagram", + "literals": [ + "350px" + ], + "occurrences": 1, + "marker": null, + "text": "$diagram-root-min-height: 350px !default;", + "variable": "diagram-root-min-height", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/diagram/_index.scss", + "setTo": "var(--dx-diagram-min-height)" + }, + { + "file": "scss/widgets/base/diagram/_index.scss", + "line": 8, + "widget": "diagram", + "literals": [ + "5px" + ], + "occurrences": 1, + "marker": null, + "text": "$diagram-toolbar-wrapper-padding: 5px !default;", + "variable": "diagram-toolbar-wrapper-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/diagram/_index.scss", + "setTo": "var(--dx-diagram-toolbar-wrapper-padding)" + }, + { + "file": "scss/widgets/base/diagram/_index.scss", + "line": 9, + "widget": "diagram", + "literals": [ + "14px" + ], + "occurrences": 1, + "marker": null, + "text": "$diagram-button-min-height: 14px !default;", + "variable": "diagram-button-min-height", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/diagram/_index.scss", + "setTo": "var(--dx-diagram-toolbox-input-button-min-height)" + }, + { + "file": "scss/widgets/base/diagram/_index.scss", + "line": 10, + "widget": "diagram", + "literals": [ + "8px" + ], + "occurrences": 1, + "marker": null, + "text": "$diagram-popup-content-padding: 8px !default;", + "variable": "diagram-popup-content-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/diagram/_index.scss", + "setTo": "var(--dx-diagram-popup-content-padding)" + }, + { + "file": "scss/widgets/base/diagram/_index.scss", + "line": 11, + "widget": "diagram", + "literals": [ + "300px" + ], + "occurrences": 1, + "marker": null, + "text": "$diagram-colorview-palette-min-width: 300px !default;", + "variable": "diagram-colorview-palette-min-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/diagram/_index.scss", + "setTo": "var(--dx-diagram-color-view-palette-min-width)" + }, + { + "file": "scss/widgets/base/diagram/_index.scss", + "line": 12, + "widget": "diagram", + "literals": [ + "12px" + ], + "occurrences": 1, + "marker": null, + "text": "$diagram-colorview-hue-scale-cell-margin-left: 12px !default;", + "variable": "diagram-colorview-hue-scale-cell-margin-left", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/diagram/_index.scss", + "setTo": "var(--dx-diagram-color-view-hue-scale-cell-margin-inline-start)" + }, + { + "file": "scss/widgets/base/diagram/_index.scss", + "line": 13, + "widget": "diagram", + "literals": [ + "64px" + ], + "occurrences": 1, + "marker": null, + "text": "$diagram-loading-indicator-width: 64px !default;", + "variable": "diagram-loading-indicator-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/diagram/_index.scss", + "setTo": "var(--dx-diagram-loading-indicator-width)" + }, + { + "file": "scss/widgets/base/diagram/_index.scss", + "line": 14, + "widget": "diagram", + "literals": [ + "64px" + ], + "occurrences": 1, + "marker": null, + "text": "$diagram-loading-indicator-height: 64px !default;", + "variable": "diagram-loading-indicator-height", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/diagram/_index.scss", + "setTo": "var(--dx-diagram-loading-indicator-height)" + }, + { + "file": "scss/widgets/base/diagram/_index.scss", + "line": 15, + "widget": "diagram", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": null, + "text": "$diagram-context-toolbox-target-width: 1px !default;", + "variable": "diagram-context-toolbox-target-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/diagram/_index.scss", + "setTo": "var(--dx-diagram-context-toolbox-target-width)" + }, + { + "file": "scss/widgets/base/diagram/_index.scss", + "line": 16, + "widget": "diagram", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": null, + "text": "$diagram-context-toolbox-target-height: 1px !default;", + "variable": "diagram-context-toolbox-target-height", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/diagram/_index.scss", + "setTo": "var(--dx-diagram-context-toolbox-target-height)" + }, + { + "file": "scss/widgets/base/diagram/_index.scss", + "line": 20, + "widget": "diagram", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": null, + "text": "$diagram-border-width: 1px !default;", + "variable": "diagram-border-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/diagram/_index.scss", + "setTo": "var(--dx-diagram-border-width)" + }, + { + "file": "scss/widgets/base/dropDownButton/_mixins.scss", + "line": 4, + "widget": "dropDownButton", + "literals": [ + "4px" + ], + "occurrences": 1, + "marker": null, + "text": "$dropdownbutton-icon-right-margin-inline-start: 4px,", + "variable": "dropdownbutton-icon-right-margin-inline-start", + "kind": "mixin-parameter", + "status": "parameter" + }, + { + "file": "scss/widgets/base/dropDownMenu/_index.scss", + "line": 2, + "widget": "dropDownMenu", + "literals": [ + "100px" + ], + "occurrences": 1, + "marker": null, + "text": "$dropdownmenu-list-min-width: 100px !default;", + "variable": "dropdownmenu-list-min-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/dropDownMenu/_index.scss", + "setTo": "var(--dx-drop-down-menu-list-min-width)" + }, + { + "file": "scss/widgets/base/dropDownMenu/_index.scss", + "line": 3, + "widget": "dropDownMenu", + "literals": [ + "8px" + ], + "occurrences": 1, + "marker": null, + "text": "$dropdownmenu-list-border-radius: 8px !default;", + "variable": "dropdownmenu-list-border-radius", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/dropDownMenu/_index.scss", + "setTo": "var(--dx-drop-down-menu-list-border-radius)" + }, + { + "file": "scss/widgets/base/dropDownMenu/_index.scss", + "line": 4, + "widget": "dropDownMenu", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": null, + "text": "$dropdownmenu-popup-content-padding: 1px !default;", + "variable": "dropdownmenu-popup-content-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/dropDownMenu/_index.scss", + "setTo": "var(--dx-drop-down-menu-popup-content-padding)" + }, + { + "file": "scss/widgets/base/dropDownMenu/_mixins.scss", + "line": 6, + "widget": "dropDownMenu", + "literals": [ + "2px" + ], + "occurrences": 1, + "marker": null, + "text": "$outline-width: 2px,", + "variable": "outline-width", + "kind": "mixin-parameter", + "status": "parameter" + }, + { + "file": "scss/widgets/base/dropDownMenu/_mixins.scss", + "line": 7, + "widget": "dropDownMenu", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": null, + "text": "$outline-offset: 1px,", + "variable": "outline-offset", + "kind": "mixin-parameter", + "status": "parameter" + }, + { + "file": "scss/widgets/base/fileManager/_index.scss", + "line": 4, + "widget": "fileManager", + "literals": [ + "500px" + ], + "occurrences": 1, + "marker": null, + "text": "$filemanager-root-height: 500px !default;", + "variable": "filemanager-root-height", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileManager/_index.scss", + "setTo": "var(--dx-file-manager-height)" + }, + { + "file": "scss/widgets/base/fileManager/_index.scss", + "line": 5, + "widget": "fileManager", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": null, + "text": "$filemanager-root-border: 1px solid !default;", + "variable": "filemanager-root-border", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileManager/_index.scss", + "setTo": "var(--dx-file-manager-border-width) solid" + }, + { + "file": "scss/widgets/base/fileManager/_index.scss", + "line": 6, + "widget": "fileManager", + "literals": [ + "240px" + ], + "occurrences": 1, + "marker": null, + "text": "$filemanager-overlay-content-min-width: 240px !default;", + "variable": "filemanager-overlay-content-min-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileManager/_index.scss", + "setTo": "var(--dx-file-manager-overlay-content-min-width)" + }, + { + "file": "scss/widgets/base/fileManager/_index.scss", + "line": 7, + "widget": "fileManager", + "literals": [ + "400px" + ], + "occurrences": 1, + "marker": null, + "text": "$filemanager-overlay-content-max-width: 400px !default;", + "variable": "filemanager-overlay-content-max-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileManager/_index.scss", + "setTo": "var(--dx-file-manager-overlay-content-max-width)" + }, + { + "file": "scss/widgets/base/fileManager/_index.scss", + "line": 8, + "widget": "fileManager", + "literals": [ + "15px" + ], + "occurrences": 1, + "marker": null, + "text": "$filemanager-popup-content-padding: 15px !default;", + "variable": "filemanager-popup-content-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileManager/_index.scss", + "setTo": "var(--dx-file-manager-popup-content-padding)" + }, + { + "file": "scss/widgets/base/fileManager/_index.scss", + "line": 9, + "widget": "fileManager", + "literals": [ + "5px" + ], + "occurrences": 1, + "marker": null, + "text": "$filemanager-progress-box-padding: 5px 0 0 !default;", + "variable": "filemanager-progress-box-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileManager/_index.scss", + "setTo": "var(--dx-file-manager-progress-box-padding)" + }, + { + "file": "scss/widgets/base/fileManager/_index.scss", + "line": 10, + "widget": "fileManager", + "literals": [ + "10px" + ], + "occurrences": 1, + "marker": null, + "text": "$filemanager-notification-common-padding-bottom: 10px !default;", + "variable": "filemanager-notification-common-padding-bottom", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileManager/_index.scss", + "setTo": "var(--dx-file-manager-notification-padding-block-end)" + }, + { + "file": "scss/widgets/base/fileManager/_index.scss", + "line": 11, + "widget": "fileManager", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": null, + "text": "$filemanager-notification-common-border-bottom-width: 1px !default;", + "variable": "filemanager-notification-common-border-bottom-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileManager/_index.scss", + "setTo": "var(--dx-file-manager-notification-border-block-end-width)" + }, + { + "file": "scss/widgets/base/fileManager/_index.scss", + "line": 12, + "widget": "fileManager", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": null, + "text": "$filemanager-progress-panel-border-left-width: 1px !default;", + "variable": "filemanager-progress-panel-border-left-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileManager/_index.scss", + "setTo": "var(--dx-file-manager-progress-panel-border-inline-start-width)" + }, + { + "file": "scss/widgets/base/fileManager/_index.scss", + "line": 13, + "widget": "fileManager", + "literals": [ + "340px" + ], + "occurrences": 1, + "marker": null, + "text": "$filemanager-progress-panel-width: 340px !default;", + "variable": "filemanager-progress-panel-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileManager/_index.scss", + "setTo": "var(--dx-file-manager-progress-panel-width)" + }, + { + "file": "scss/widgets/base/fileManager/_index.scss", + "line": 14, + "widget": "fileManager", + "literals": [ + "10px", + "20px" + ], + "occurrences": 4, + "marker": null, + "text": "$filemanager-progress-panel-container-padding: 10px 20px 20px 20px !default;", + "variable": "filemanager-progress-panel-container-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileManager/_index.scss", + "setTo": "var(--dx-file-manager-progress-panel-container-padding)" + }, + { + "file": "scss/widgets/base/fileManager/_index.scss", + "line": 15, + "widget": "fileManager", + "literals": [ + "5px", + "10px" + ], + "occurrences": 2, + "marker": null, + "text": "$filemanager-progress-panel-title-padding: 0 0 5px 10px !default;", + "variable": "filemanager-progress-panel-title-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileManager/_index.scss", + "setTo": "var(--dx-file-manager-progress-panel-title-padding)" + }, + { + "file": "scss/widgets/base/fileManager/_index.scss", + "line": 16, + "widget": "fileManager", + "literals": [ + "20px" + ], + "occurrences": 1, + "marker": null, + "text": "$filemanager-progress-panel-separator-height: 20px !default;", + "variable": "filemanager-progress-panel-separator-height", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileManager/_index.scss", + "setTo": "var(--dx-file-manager-progress-panel-separator-height)" + }, + { + "file": "scss/widgets/base/fileManager/_index.scss", + "line": 17, + "widget": "fileManager", + "literals": [ + "16px" + ], + "occurrences": 1, + "marker": null, + "text": "$filemanager-i-cancel-width: 16px !default;", + "variable": "filemanager-i-cancel-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileManager/_index.scss", + "setTo": "var(--dx-file-manager-i-cancel-width)" + }, + { + "file": "scss/widgets/base/fileManager/_index.scss", + "line": 18, + "widget": "fileManager", + "literals": [ + "16px" + ], + "occurrences": 1, + "marker": null, + "text": "$filemanager-i-cancel-height: 16px !default;", + "variable": "filemanager-i-cancel-height", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileManager/_index.scss", + "setTo": "var(--dx-file-manager-i-cancel-height)" + }, + { + "file": "scss/widgets/base/fileManager/_index.scss", + "line": 19, + "widget": "fileManager", + "literals": [ + "8px" + ], + "occurrences": 1, + "marker": null, + "text": "$filemanager-progress-box-margin-bottom: 8px !default;", + "variable": "filemanager-progress-box-margin-bottom", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileManager/_index.scss", + "setTo": "var(--dx-file-manager-progress-box-margin-block-end)" + }, + { + "file": "scss/widgets/base/fileManager/_index.scss", + "line": 20, + "widget": "fileManager", + "literals": [ + "2px" + ], + "occurrences": 1, + "marker": null, + "text": "$filemanager-progress-box-border-radius: 2px !default;", + "variable": "filemanager-progress-box-border-radius", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileManager/_index.scss", + "setTo": "var(--dx-file-manager-progress-box-border-radius)" + }, + { + "file": "scss/widgets/base/fileManager/_index.scss", + "line": 21, + "widget": "fileManager", + "literals": [ + "10px" + ], + "occurrences": 3, + "marker": null, + "text": "$filemanager-progress-panel-box-padding: 10px 0 10px 10px !default;", + "variable": "filemanager-progress-panel-box-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileManager/_index.scss", + "setTo": "var(--dx-file-manager-progress-panel-box-padding)" + }, + { + "file": "scss/widgets/base/fileManager/_index.scss", + "line": 22, + "widget": "fileManager", + "literals": [ + "10px" + ], + "occurrences": 1, + "marker": null, + "text": "$filemanager-progress-box-without-close-button-padding-right: 10px !default;", + "variable": "filemanager-progress-box-without-close-button-padding-right", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileManager/_index.scss", + "setTo": "var(--dx-file-manager-progress-box-without-close-button-padding-inline-end)" + }, + { + "file": "scss/widgets/base/fileManager/_index.scss", + "line": 23, + "widget": "fileManager", + "literals": [ + "10px" + ], + "occurrences": 1, + "marker": null, + "text": "$filemanager-progress-box-image-margin-right: 10px !default;", + "variable": "filemanager-progress-box-image-margin-right", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileManager/_index.scss", + "setTo": "var(--dx-file-manager-progress-box-image-margin-inline-end)" + }, + { + "file": "scss/widgets/base/fileManager/_index.scss", + "line": 24, + "widget": "fileManager", + "literals": [ + "5px" + ], + "occurrences": 1, + "marker": null, + "text": "$filemanager-progress-box-common-padding: 5px 0 !default;", + "variable": "filemanager-progress-box-common-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileManager/_index.scss", + "setTo": "var(--dx-file-manager-progress-box-content-padding)" + }, + { + "file": "scss/widgets/base/fileManager/_index.scss", + "line": 25, + "widget": "fileManager", + "literals": [ + "9px" + ], + "occurrences": 1, + "marker": null, + "text": "$filemanager-progress-box-close-button-margin-top: 9px !default;", + "variable": "filemanager-progress-box-close-button-margin-top", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileManager/_index.scss", + "setTo": "var(--dx-file-manager-progress-box-close-button-margin-block-start)" + }, + { + "file": "scss/widgets/base/fileManager/_index.scss", + "line": 26, + "widget": "fileManager", + "literals": [ + "5px" + ], + "occurrences": 1, + "marker": null, + "text": "$filemanager-progress-box-close-button-margin-left: 5px !default;", + "variable": "filemanager-progress-box-close-button-margin-left", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileManager/_index.scss", + "setTo": "var(--dx-file-manager-progress-box-close-button-margin-inline-start)" + }, + { + "file": "scss/widgets/base/fileManager/_index.scss", + "line": 27, + "widget": "fileManager", + "literals": [ + "2px", + "8px", + "3px" + ], + "occurrences": 3, + "marker": null, + "text": "$filemanager-progress-box-error-padding: 2px 8px 3px !default;", + "variable": "filemanager-progress-box-error-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileManager/_index.scss", + "setTo": "var(--dx-file-manager-progress-box-error-padding)" + }, + { + "file": "scss/widgets/base/fileManager/_index.scss", + "line": 28, + "widget": "fileManager", + "literals": [ + "150px" + ], + "occurrences": 1, + "marker": null, + "text": "$filemanager-progress-box-error-max-height: 150px !default;", + "variable": "filemanager-progress-box-error-max-height", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileManager/_index.scss", + "setTo": "var(--dx-file-manager-progress-box-error-max-height)" + }, + { + "file": "scss/widgets/base/fileManager/_index.scss", + "line": 29, + "widget": "fileManager", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": null, + "text": "$filemanager-toolbar-separator-item-width: 1px !default;", + "variable": "filemanager-toolbar-separator-item-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileManager/_index.scss", + "setTo": "var(--dx-file-manager-toolbar-separator-item-width)" + }, + { + "file": "scss/widgets/base/fileManager/_index.scss", + "line": 30, + "widget": "fileManager", + "literals": [ + "5px" + ], + "occurrences": 1, + "marker": null, + "text": "$filemanager-toolbar-separator-item-margin-right: 5px !default;", + "variable": "filemanager-toolbar-separator-item-margin-right", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileManager/_index.scss", + "setTo": "var(--dx-file-manager-toolbar-separator-item-margin-inline-end)" + }, + { + "file": "scss/widgets/base/fileManager/_index.scss", + "line": 31, + "widget": "fileManager", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": null, + "text": "$filemanager-container-border-top: 1px solid !default;", + "variable": "filemanager-container-border-top", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileManager/_index.scss", + "setTo": "var(--dx-file-manager-container-border-block-start)" + }, + { + "file": "scss/widgets/base/fileManager/_index.scss", + "line": 32, + "widget": "fileManager", + "literals": [ + "5px", + "10px" + ], + "occurrences": 2, + "marker": null, + "text": "$filemanager-dirs-panel-padding: 5px 10px !default;", + "variable": "filemanager-dirs-panel-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileManager/_index.scss", + "setTo": "var(--dx-file-manager-dirs-panel-padding)" + }, + { + "file": "scss/widgets/base/fileManager/_index.scss", + "line": 33, + "widget": "fileManager", + "literals": [ + "250px" + ], + "occurrences": 1, + "marker": null, + "text": "$filemanager-drawer-panel-content-initial-min-width: 250px !default;", + "variable": "filemanager-drawer-panel-content-initial-min-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileManager/_index.scss", + "setTo": "var(--dx-file-manager-drawer-panel-content-initial-min-width)" + }, + { + "file": "scss/widgets/base/fileManager/_index.scss", + "line": 34, + "widget": "fileManager", + "literals": [ + "300px" + ], + "occurrences": 1, + "marker": null, + "text": "$filemanager-drawer-panel-content-initial-max-width: 300px !default;", + "variable": "filemanager-drawer-panel-content-initial-max-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileManager/_index.scss", + "setTo": "var(--dx-file-manager-drawer-panel-content-initial-max-width)" + }, + { + "file": "scss/widgets/base/fileManager/_index.scss", + "line": 35, + "widget": "fileManager", + "literals": [ + "2px", + "11px" + ], + "occurrences": 2, + "marker": null, + "text": "$filemanager-breadcrumbs-padding: 2px 11px !default;", + "variable": "filemanager-breadcrumbs-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileManager/_index.scss", + "setTo": "var(--dx-file-manager-breadcrumbs-padding)" + }, + { + "file": "scss/widgets/base/fileManager/_index.scss", + "line": 36, + "widget": "fileManager", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": null, + "text": "$filemanager-breadcrumbs-border-bottom: 1px solid !default;", + "variable": "filemanager-breadcrumbs-border-bottom", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileManager/_index.scss", + "setTo": "var(--dx-file-manager-breadcrumbs-border-block-end)" + }, + { + "file": "scss/widgets/base/fileManager/_index.scss", + "line": 37, + "widget": "fileManager", + "literals": [ + "2px" + ], + "occurrences": 1, + "marker": null, + "text": "$filemanager-menu-item-content-padding-left: 2px !default;", + "variable": "filemanager-menu-item-content-padding-left", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileManager/_index.scss", + "setTo": "var(--dx-file-manager-menu-item-content-padding-inline-start)" + }, + { + "file": "scss/widgets/base/fileManager/_index.scss", + "line": 38, + "widget": "fileManager", + "literals": [ + "2px" + ], + "occurrences": 1, + "marker": null, + "text": "$filemanager-menu-item-content-padding-right: 2px !default;", + "variable": "filemanager-menu-item-content-padding-right", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileManager/_index.scss", + "setTo": "var(--dx-file-manager-menu-item-content-padding-inline-end)" + }, + { + "file": "scss/widgets/base/fileManager/_index.scss", + "line": 39, + "widget": "fileManager", + "literals": [ + "10px" + ], + "occurrences": 1, + "marker": null, + "text": "$filemanager-menu-item-content-margin: 0 10px !default;", + "variable": "filemanager-menu-item-content-margin", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileManager/_index.scss", + "setTo": "var(--dx-file-manager-menu-item-content-margin)" + }, + { + "file": "scss/widgets/base/fileManager/_index.scss", + "line": 40, + "widget": "fileManager", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": null, + "text": "$filemanager-breadcrumbs-path-separator-padding-left: 1px !default;", + "variable": "filemanager-breadcrumbs-path-separator-padding-left", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileManager/_index.scss", + "setTo": "var(--dx-file-manager-breadcrumbs-path-separator-padding-inline-start)" + }, + { + "file": "scss/widgets/base/fileManager/_index.scss", + "line": 41, + "widget": "fileManager", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": null, + "text": "$filemanager-breadcrumbs-path-separator-padding-right: 1px !default;", + "variable": "filemanager-breadcrumbs-path-separator-padding-right", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileManager/_index.scss", + "setTo": "var(--dx-file-manager-breadcrumbs-path-separator-padding-inline-end)" + }, + { + "file": "scss/widgets/base/fileManager/_index.scss", + "line": 42, + "widget": "fileManager", + "literals": [ + "5px" + ], + "occurrences": 1, + "marker": null, + "text": "$filemanager-thumbnails-view-port-padding: 5px !default;", + "variable": "filemanager-thumbnails-view-port-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileManager/_index.scss", + "setTo": "var(--dx-file-manager-thumbnails-view-port-padding)" + }, + { + "file": "scss/widgets/base/fileManager/_index.scss", + "line": 43, + "widget": "fileManager", + "literals": [ + "100px" + ], + "occurrences": 1, + "marker": null, + "text": "$filemanager-thumbnails-item-width: 100px !default;", + "variable": "filemanager-thumbnails-item-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileManager/_index.scss", + "setTo": "var(--dx-file-manager-thumbnails-item-width)" + }, + { + "file": "scss/widgets/base/fileManager/_index.scss", + "line": 44, + "widget": "fileManager", + "literals": [ + "100px" + ], + "occurrences": 1, + "marker": null, + "text": "$filemanager-thumbnails-item-height: 100px !default;", + "variable": "filemanager-thumbnails-item-height", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileManager/_index.scss", + "setTo": "var(--dx-file-manager-thumbnails-item-height)" + }, + { + "file": "scss/widgets/base/fileManager/_index.scss", + "line": 45, + "widget": "fileManager", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": null, + "text": "$filemanager-thumbnails-item-border: 1px dashed transparent !default;", + "variable": "filemanager-thumbnails-item-border", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileManager/_index.scss", + "setTo": "var(--dx-file-manager-thumbnails-item-border)" + }, + { + "file": "scss/widgets/base/fileManager/_index.scss", + "line": 46, + "widget": "fileManager", + "literals": [ + "5px" + ], + "occurrences": 1, + "marker": null, + "text": "$filemanager-thumbnails-item-margin: 5px !default;", + "variable": "filemanager-thumbnails-item-margin", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileManager/_index.scss", + "setTo": "var(--dx-file-manager-thumbnails-item-margin)" + }, + { + "file": "scss/widgets/base/fileManager/_index.scss", + "line": 47, + "widget": "fileManager", + "literals": [ + "13px", + "10px" + ], + "occurrences": 2, + "marker": null, + "text": "$filemanager-thumbnails-item-content-padding: 13px 0 10px !default;", + "variable": "filemanager-thumbnails-item-content-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileManager/_index.scss", + "setTo": "var(--dx-file-manager-thumbnails-item-content-padding)" + }, + { + "file": "scss/widgets/base/fileManager/_index.scss", + "line": 48, + "widget": "fileManager", + "literals": [ + "10px" + ], + "occurrences": 1, + "marker": null, + "text": "$filemanager-thumbnails-item-spacer-height: 10px !default;", + "variable": "filemanager-thumbnails-item-spacer-height", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileManager/_index.scss", + "setTo": "var(--dx-file-manager-thumbnails-item-spacer-height)" + }, + { + "file": "scss/widgets/base/fileManager/_index.scss", + "line": 49, + "widget": "fileManager", + "literals": [ + "10px", + "11px" + ], + "occurrences": 2, + "marker": null, + "text": "$filemanager-button-content-padding: 10px 11px !default;", + "variable": "filemanager-button-content-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileManager/_index.scss", + "setTo": "var(--dx-file-manager-view-mode-button-content-padding)" + }, + { + "file": "scss/widgets/base/fileManager/_index.scss", + "line": 50, + "widget": "fileManager", + "literals": [ + "300px" + ], + "occurrences": 1, + "marker": null, + "text": "$filemanager-dialog-min-width: 300px !default;", + "variable": "filemanager-dialog-min-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileManager/_index.scss", + "setTo": "var(--dx-file-manager-dialog-min-width)" + }, + { + "file": "scss/widgets/base/fileManager/_index.scss", + "line": 51, + "widget": "fileManager", + "literals": [ + "300px" + ], + "occurrences": 1, + "marker": null, + "text": "$filemanager-overlay-content-min-height: 300px !default;", + "variable": "filemanager-overlay-content-min-height", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileManager/_index.scss", + "setTo": "var(--dx-file-manager-overlay-content-min-height)" + }, + { + "file": "scss/widgets/base/fileManager/_index.scss", + "line": 52, + "widget": "fileManager", + "literals": [ + "400px" + ], + "occurrences": 1, + "marker": null, + "text": "$filemanager-overlay-content-max-height: 400px !default;", + "variable": "filemanager-overlay-content-max-height", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileManager/_index.scss", + "setTo": "var(--dx-file-manager-overlay-content-max-height)" + }, + { + "file": "scss/widgets/base/fileManager/_index.scss", + "line": 53, + "widget": "fileManager", + "literals": [ + "340px" + ], + "occurrences": 1, + "marker": null, + "text": "$filemanager-dialog-name-editor-max-width: 340px !default;", + "variable": "filemanager-dialog-name-editor-max-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileManager/_index.scss", + "setTo": "var(--dx-file-manager-dialog-name-editor-max-width)" + }, + { + "file": "scss/widgets/base/fileManager/_index.scss", + "line": 54, + "widget": "fileManager", + "literals": [ + "180px" + ], + "occurrences": 1, + "marker": null, + "text": "$filemanager-dialog-name-editor-min-height: 180px !default;", + "variable": "filemanager-dialog-name-editor-min-height", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileManager/_index.scss", + "setTo": "var(--dx-file-manager-dialog-name-editor-min-height)" + }, + { + "file": "scss/widgets/base/fileManager/_index.scss", + "line": 55, + "widget": "fileManager", + "literals": [ + "180px" + ], + "occurrences": 1, + "marker": null, + "text": "$filemanager-dialog-name-editor-max-height: 180px !default;", + "variable": "filemanager-dialog-name-editor-max-height", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileManager/_index.scss", + "setTo": "var(--dx-file-manager-dialog-name-editor-max-height)" + }, + { + "file": "scss/widgets/base/fileManager/_index.scss", + "line": 56, + "widget": "fileManager", + "literals": [ + "5px" + ], + "occurrences": 1, + "marker": null, + "text": "$filemanager-progressbox-cancel-button-margin-top: 5px !default;", + "variable": "filemanager-progressbox-cancel-button-margin-top", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileManager/_index.scss", + "setTo": "var(--dx-file-manager-progress-box-cancel-button-margin-block-start)" + }, + { + "file": "scss/widgets/base/fileManager/_index.scss", + "line": 58, + "widget": "fileManager", + "literals": [ + "18px" + ], + "occurrences": 1, + "marker": null, + "text": "$filemanager-progress-title-font-size: 18px !default;", + "variable": "filemanager-progress-title-font-size", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileManager/_index.scss", + "setTo": "var(--dx-file-manager-progress-title-font-size)" + }, + { + "file": "scss/widgets/base/fileManager/_index.scss", + "line": 66, + "widget": "fileManager", + "literals": [ + "3px" + ], + "occurrences": 1, + "marker": null, + "text": "$filemanager-splitter-wrapper-right: 3px !default;", + "variable": "filemanager-splitter-wrapper-right", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/fileManager/_index.scss", + "setTo": "var(--dx-file-manager-splitter-wrapper-inset-inline-end)" + }, + { + "file": "scss/widgets/base/filterBuilder/_index.scss", + "line": 27, + "widget": "filterBuilder", + "literals": [ + "5px" + ], + "occurrences": 1, + "marker": null, + "text": "$filterbuilder-action-icon-margin-left: 5px !default;", + "variable": "filterbuilder-action-icon-margin-left", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/filterBuilder/_index.scss", + "setTo": "var(--dx-filter-builder-action-icon-margin-inline-start)" + }, + { + "file": "scss/widgets/base/filterBuilder/_index.scss", + "line": 28, + "widget": "filterBuilder", + "literals": [ + "5px" + ], + "occurrences": 1, + "marker": null, + "text": "$filterbuilder-action-icon-margin-right: 5px !default;", + "variable": "filterbuilder-action-icon-margin-right", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/filterBuilder/_index.scss", + "setTo": "var(--dx-filter-builder-action-icon-margin-inline-end)" + }, + { + "file": "scss/widgets/base/filterBuilder/_index.scss", + "line": 29, + "widget": "filterBuilder", + "literals": [ + "26px" + ], + "occurrences": 1, + "marker": null, + "text": "$filterbuilder-group-content-padding-right: 26px !default;", + "variable": "filterbuilder-group-content-padding-right", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/filterBuilder/_index.scss", + "setTo": "var(--dx-filter-builder-group-content-padding-inline-end)" + }, + { + "file": "scss/widgets/base/filterBuilder/_index.scss", + "line": 30, + "widget": "filterBuilder", + "literals": [ + "7px" + ], + "occurrences": 1, + "marker": null, + "text": "$filterbuilder-range-separator-margin: 0 7px !default;", + "variable": "filterbuilder-range-separator-margin", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/filterBuilder/_index.scss", + "setTo": "var(--dx-filter-builder-range-separator-margin)" + }, + { + "file": "scss/widgets/base/filterBuilder/_index.scss", + "line": 31, + "widget": "filterBuilder", + "literals": [ + "20px" + ], + "occurrences": 1, + "marker": null, + "text": "$filterbuilder-item-value-text-min-width: 20px !default;", + "variable": "filterbuilder-item-value-text-min-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/filterBuilder/_index.scss", + "setTo": "var(--dx-filter-builder-item-value-text-min-width)" + }, + { + "file": "scss/widgets/base/filterBuilder/_index.scss", + "line": 32, + "widget": "filterBuilder", + "literals": [ + "2px", + "7px", + "3px" + ], + "occurrences": 4, + "marker": null, + "text": "$filterbuilder-item-value-text-padding: 2px 7px 3px 7px !default;", + "variable": "filterbuilder-item-value-text-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/filterBuilder/_index.scss", + "setTo": "var(--dx-filter-builder-item-value-text-padding)" + }, + { + "file": "scss/widgets/base/filterBuilder/_index.scss", + "line": 33, + "widget": "filterBuilder", + "literals": [ + "5px", + "8px" + ], + "occurrences": 2, + "marker": null, + "text": "$filterbuilder-action-icon-padding: 5px 8px !default;", + "variable": "filterbuilder-action-icon-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/filterBuilder/_index.scss", + "setTo": "var(--dx-filter-builder-action-icon-padding)" + }, + { + "file": "scss/widgets/base/filterBuilder/_index.scss", + "line": 34, + "widget": "filterBuilder", + "literals": [ + "26px" + ], + "occurrences": 1, + "marker": null, + "text": "$filterbuilder-group-content-padding-left: 26px !default;", + "variable": "filterbuilder-group-content-padding-left", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/filterBuilder/_index.scss", + "setTo": "var(--dx-filter-builder-group-content-padding-inline-start)" + }, + { + "file": "scss/widgets/base/filterBuilder/_index.scss", + "line": 35, + "widget": "filterBuilder", + "literals": [ + "5px" + ], + "occurrences": 1, + "marker": null, + "text": "$filterbuilder-treeview-item-padding-left: 5px !default;", + "variable": "filterbuilder-treeview-item-padding-left", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/filterBuilder/_index.scss", + "setTo": "var(--dx-filter-builder-tree-view-item-padding-inline-start)" + }, + { + "file": "scss/widgets/base/filterBuilder/_index.scss", + "line": 36, + "widget": "filterBuilder", + "literals": [ + "5px" + ], + "occurrences": 1, + "marker": null, + "text": "$filterbuilder-treeview-item-padding-right: 5px !default;", + "variable": "filterbuilder-treeview-item-padding-right", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/filterBuilder/_index.scss", + "setTo": "var(--dx-filter-builder-tree-view-item-padding-inline-end)" + }, + { + "file": "scss/widgets/base/filterBuilder/_index.scss", + "line": 37, + "widget": "filterBuilder", + "literals": [ + "15px" + ], + "occurrences": 1, + "marker": null, + "text": "$filterbuilder-treeview-node-margin-left: 15px !default;", + "variable": "filterbuilder-treeview-node-margin-left", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/filterBuilder/_index.scss", + "setTo": "var(--dx-filter-builder-tree-view-node-margin-inline-start)" + }, + { + "file": "scss/widgets/base/filterBuilder/_index.scss", + "line": 38, + "widget": "filterBuilder", + "literals": [ + "15px" + ], + "occurrences": 1, + "marker": null, + "text": "$filterbuilder-treeview-node-margin-right: 15px !default;", + "variable": "filterbuilder-treeview-node-margin-right", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/filterBuilder/_index.scss", + "setTo": "var(--dx-filter-builder-tree-view-node-margin-inline-end)" + }, + { + "file": "scss/widgets/base/filterBuilder/_index.scss", + "line": 39, + "widget": "filterBuilder", + "literals": [ + "360px" + ], + "occurrences": 1, + "marker": null, + "text": "$filterbuilder-scrollable-max-height: 360px !default;", + "variable": "filterbuilder-scrollable-max-height", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/filterBuilder/_index.scss", + "setTo": "var(--dx-filter-builder-scrollable-max-height)" + }, + { + "file": "scss/widgets/base/gantt/_index.scss", + "line": 2, + "widget": "gantt", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": null, + "text": "$gantt-toolbar-separator-border-left: 1px solid transparent !default;", + "variable": "gantt-toolbar-separator-border-left", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/gantt/_index.scss", + "setTo": "var(--dx-gantt-toolbar-separator-border-inline-start)" + }, + { + "file": "scss/widgets/base/gantt/_index.scss", + "line": 3, + "widget": "gantt", + "literals": [ + "2px" + ], + "occurrences": 1, + "marker": null, + "text": "$gantt-splitter-bar-width: 2px !default;", + "variable": "gantt-splitter-bar-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/gantt/_index.scss", + "setTo": "var(--dx-gantt-splitter-bar-width)" + }, + { + "file": "scss/widgets/base/gantt/_index.scss", + "line": 4, + "widget": "gantt", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": null, + "text": "$gantt-view-min-width: 1px !default;", + "variable": "gantt-view-min-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/gantt/_index.scss", + "setTo": "var(--dx-gantt-view-min-width)" + }, + { + "file": "scss/widgets/base/gridBase/_variables.scss", + "line": 4, + "widget": "gridBase", + "literals": [ + "7px" + ], + "occurrences": 1, + "marker": null, + "text": "$grid-cell-padding: 7px !default;", + "variable": "grid-cell-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/gridBase/_index.scss", + "setTo": "var(--dx-grid-cell-content-padding)" + }, + { + "file": "scss/widgets/base/gridBase/_variables.scss", + "line": 5, + "widget": "gridBase", + "literals": [ + "32px" + ], + "occurrences": 1, + "marker": null, + "text": "$grid-texteditor-input-padding: 32px !default;", + "variable": "grid-texteditor-input-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/gridBase/_index.scss", + "setTo": "var(--dx-grid-editor-input-padding)" + }, + { + "file": "scss/widgets/base/gridBase/_variables.scss", + "line": 8, + "widget": "gridBase", + "literals": [ + "14px" + ], + "occurrences": 1, + "marker": null, + "text": "$grid-total-footer-padding-block: 14px !default;", + "variable": "grid-total-footer-padding-block", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/gridBase/_index.scss", + "setTo": "var(--dx-grid-summary-padding-block)" + }, + { + "file": "scss/widgets/base/gridBase/_variables.scss", + "line": 9, + "widget": "gridBase", + "literals": [ + "70px" + ], + "occurrences": 1, + "marker": null, + "text": "$grid-command-select-column-width: 70px !default;", + "variable": "grid-command-select-column-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/gridBase/_index.scss", + "setTo": "var(--dx-grid-command-select-column-width)" + }, + { + "file": "scss/widgets/base/gridBase/_variables.scss", + "line": 10, + "widget": "gridBase", + "literals": [ + "100px" + ], + "occurrences": 1, + "marker": null, + "text": "$grid-command-edit-column-width: 100px !default;", + "variable": "grid-command-edit-column-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/gridBase/_index.scss", + "setTo": "var(--dx-grid-command-edit-column-width)" + }, + { + "file": "scss/widgets/base/gridBase/_variables.scss", + "line": 11, + "widget": "gridBase", + "literals": [ + "80px" + ], + "occurrences": 1, + "marker": null, + "text": "$grid-command-edit-column-with-icons-width: 80px !default;", + "variable": "grid-command-edit-column-with-icons-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/gridBase/_index.scss", + "setTo": "var(--dx-grid-command-edit-column-with-icons-width)" + }, + { + "file": "scss/widgets/base/gridBase/_variables.scss", + "line": 12, + "widget": "gridBase", + "literals": [ + "30px" + ], + "occurrences": 1, + "marker": null, + "text": "$grid-command-expand-column-width: 30px !default;", + "variable": "grid-command-expand-column-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/gridBase/_index.scss", + "setTo": "var(--dx-grid-command-expand-column-width)" + }, + { + "file": "scss/widgets/base/gridBase/_variables.scss", + "line": 13, + "widget": "gridBase", + "literals": [ + "36px" + ], + "occurrences": 1, + "marker": null, + "text": "$grid-command-adaptive-column-width: 36px !default;", + "variable": "grid-command-adaptive-column-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/gridBase/_index.scss", + "setTo": "var(--dx-grid-command-adaptive-column-width)" + }, + { + "file": "scss/widgets/base/gridBase/_variables.scss", + "line": 14, + "widget": "gridBase", + "literals": [ + "14px" + ], + "occurrences": 1, + "marker": null, + "text": "$grid-column-header-indicator-width: 14px !default;", + "variable": "grid-column-header-indicator-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/gridBase/_index.scss", + "setTo": "var(--dx-grid-column-indicator-width)" + }, + { + "file": "scss/widgets/base/gridBase/_variables.scss", + "line": 15, + "widget": "gridBase", + "literals": [ + "3px" + ], + "occurrences": 1, + "marker": null, + "text": "$grid-text-content-margin: 3px !default;", + "variable": "grid-text-content-margin", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/gridBase/_index.scss", + "setTo": "var(--dx-grid-header-text-margin-inline)" + }, + { + "file": "scss/widgets/base/gridBase/_variables.scss", + "line": 16, + "widget": "gridBase", + "literals": [ + "12px" + ], + "occurrences": 1, + "marker": null, + "text": "$grid-sort-index-width: 12px !default;", + "variable": "grid-sort-index-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/gridBase/_index.scss", + "setTo": "var(--dx-grid-sort-index-width)" + }, + { + "file": "scss/widgets/base/gridBase/_variables.scss", + "line": 17, + "widget": "gridBase", + "literals": [ + "3px" + ], + "occurrences": 1, + "marker": null, + "text": "$grid-sort-index-offset: 3px !default;", + "variable": "grid-sort-index-offset", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/gridBase/_index.scss", + "setTo": "var(--dx-grid-sort-index-offset)" + }, + { + "file": "scss/widgets/base/gridBase/_variables.scss", + "line": 18, + "widget": "gridBase", + "literals": [ + "50px" + ], + "occurrences": 1, + "marker": null, + "text": "$grid-ai-assistant-confirm-dialog-button-width: 50px !default;", + "variable": "grid-ai-assistant-confirm-dialog-button-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/gridBase/_index.scss", + "setTo": "var(--dx-grid-ai-confirm-dialog-button-width)" + }, + { + "file": "scss/widgets/base/gridBase/_variables.scss", + "line": 21, + "widget": "gridBase", + "literals": [ + "7px" + ], + "occurrences": 1, + "marker": null, + "text": "$grid-context-menu-item-padding-block: 7px !default;", + "variable": "grid-context-menu-item-padding-block", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/gridBase/_index.scss", + "setTo": "var(--dx-grid-context-menu-item-padding-block)" + }, + { + "file": "scss/widgets/base/gridBase/_variables.scss", + "line": 22, + "widget": "gridBase", + "literals": [ + "5px" + ], + "occurrences": 1, + "marker": null, + "text": "$grid-context-menu-item-padding-inline-start: 5px !default;", + "variable": "grid-context-menu-item-padding-inline-start", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/gridBase/_index.scss", + "setTo": "var(--dx-grid-context-menu-item-padding-inline-start)" + }, + { + "file": "scss/widgets/base/gridBase/_variables.scss", + "line": 23, + "widget": "gridBase", + "literals": [ + "30px" + ], + "occurrences": 1, + "marker": null, + "text": "$grid-context-menu-item-padding-inline-end: 30px !default;", + "variable": "grid-context-menu-item-padding-inline-end", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/gridBase/_index.scss", + "setTo": "var(--dx-grid-context-menu-item-padding-inline-end)" + }, + { + "file": "scss/widgets/base/gridBase/_variables.scss", + "line": 24, + "widget": "gridBase", + "literals": [ + "5px" + ], + "occurrences": 1, + "marker": null, + "text": "$grid-context-menu-overlay-item-padding: 5px !default;", + "variable": "grid-context-menu-overlay-item-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/gridBase/_index.scss", + "setTo": "var(--dx-grid-context-menu-overlay-item-padding)" + }, + { + "file": "scss/widgets/base/gridBase/_variables.scss", + "line": 25, + "widget": "gridBase", + "literals": [ + "30px" + ], + "occurrences": 1, + "marker": null, + "text": "$grid-context-menu-overlay-item-padding-inline-end: 30px !default;", + "variable": "grid-context-menu-overlay-item-padding-inline-end", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/gridBase/_index.scss", + "setTo": "var(--dx-grid-context-menu-overlay-item-padding-inline-end)" + }, + { + "file": "scss/widgets/base/gridBase/_variables.scss", + "line": 26, + "widget": "gridBase", + "literals": [ + "8px", + "5px", + "7px" + ], + "occurrences": 4, + "marker": null, + "text": "$grid-menu-bar-item-padding: 8px 5px 7px 5px !default;", + "variable": "grid-menu-bar-item-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/gridBase/_index.scss", + "setTo": "var(--dx-grid-menu-bar-item-padding)" + }, + { + "file": "scss/widgets/base/gridBase/_variables.scss", + "line": 27, + "widget": "gridBase", + "literals": [ + "6px" + ], + "occurrences": 1, + "marker": null, + "text": "$grid-menu-caption-padding-inline-start: 6px !default;", + "variable": "grid-menu-caption-padding-inline-start", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/gridBase/_index.scss", + "setTo": "var(--dx-grid-menu-caption-padding-inline-start)" + }, + { + "file": "scss/widgets/base/gridBase/_variables.scss", + "line": 28, + "widget": "gridBase", + "literals": [ + "16px" + ], + "occurrences": 1, + "marker": null, + "text": "$grid-column-chooser-title-font-size: 16px !default;", + "variable": "grid-column-chooser-title-font-size", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/gridBase/_index.scss", + "setTo": "var(--dx-grid-column-chooser-title-font-size)" + }, + { + "file": "scss/widgets/base/gridBase/_variables.scss", + "line": 29, + "widget": "gridBase", + "literals": [ + "20px" + ], + "occurrences": 3, + "marker": null, + "text": "$grid-column-chooser-content-padding: 0 20px 20px 20px !default;", + "variable": "grid-column-chooser-content-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/gridBase/_index.scss", + "setTo": "var(--dx-grid-column-chooser-content-padding)" + }, + { + "file": "scss/widgets/base/gridBase/_variables.scss", + "line": 30, + "widget": "gridBase", + "literals": [ + "10px" + ], + "occurrences": 1, + "marker": null, + "text": "$grid-column-chooser-item-margin-block-end: 10px !default;", + "variable": "grid-column-chooser-item-margin-block-end", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/gridBase/_index.scss", + "setTo": "var(--dx-grid-column-chooser-item-margin-block-end)" + }, + { + "file": "scss/widgets/base/gridBase/_variables.scss", + "line": 31, + "widget": "gridBase", + "literals": [ + "4px" + ], + "occurrences": 1, + "marker": null, + "text": "$grid-column-chooser-tree-view-item-padding-inline-start: 4px !default;", + "variable": "grid-column-chooser-tree-view-item-padding-inline-start", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/gridBase/_index.scss", + "setTo": "var(--dx-grid-column-chooser-tree-view-item-padding-inline-start)" + }, + { + "file": "scss/widgets/base/gridBase/_variables.scss", + "line": 32, + "widget": "gridBase", + "literals": [ + "3px" + ], + "occurrences": 1, + "marker": null, + "text": "$grid-column-separator-width: 3px !default;", + "variable": "grid-column-separator-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/gridBase/_index.scss", + "setTo": "var(--dx-grid-column-separator-width)" + }, + { + "file": "scss/widgets/base/gridBase/_variables.scss", + "line": 33, + "widget": "gridBase", + "literals": [ + "10px" + ], + "occurrences": 1, + "marker": null, + "text": "$grid-toolbar-button-margin-inline-start: 10px !default;", + "variable": "grid-toolbar-button-margin-inline-start", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/gridBase/_index.scss", + "setTo": "var(--dx-grid-toolbar-button-margin-inline-start)" + }, + { + "file": "scss/widgets/base/gridBase/_variables.scss", + "line": 34, + "widget": "gridBase", + "literals": [ + "15px" + ], + "occurrences": 1, + "marker": null, + "text": "$grid-search-panel-margin-inline-start: 15px !default;", + "variable": "grid-search-panel-margin-inline-start", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/gridBase/_index.scss", + "setTo": "var(--dx-grid-search-panel-margin-inline-start)" + }, + { + "file": "scss/widgets/base/gridBase/_variables.scss", + "line": 35, + "widget": "gridBase", + "literals": [ + "100px" + ], + "occurrences": 1, + "marker": null, + "text": "$grid-rowsview-empty-height: 100px !default;", + "variable": "grid-rowsview-empty-height", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/gridBase/_index.scss", + "setTo": "var(--dx-grid-rowsview-empty-height)" + }, + { + "file": "scss/widgets/base/gridBase/_variables.scss", + "line": 36, + "widget": "gridBase", + "literals": [ + "10px" + ], + "occurrences": 1, + "marker": null, + "text": "$grid-bottom-load-panel-padding: 10px !default;", + "variable": "grid-bottom-load-panel-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/gridBase/_index.scss", + "setTo": "var(--dx-grid-bottom-load-panel-padding)" + }, + { + "file": "scss/widgets/base/gridBase/_variables.scss", + "line": 37, + "widget": "gridBase", + "literals": [ + "10px" + ], + "occurrences": 1, + "marker": null, + "text": "$grid-filter-panel-padding: 10px !default;", + "variable": "grid-filter-panel-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/gridBase/_index.scss", + "setTo": "var(--dx-grid-filter-panel-padding)" + }, + { + "file": "scss/widgets/base/gridBase/_variables.scss", + "line": 38, + "widget": "gridBase", + "literals": [ + "10px" + ], + "occurrences": 1, + "marker": null, + "text": "$grid-filter-panel-checkbox-padding-inline-end: 10px !default;", + "variable": "grid-filter-panel-checkbox-padding-inline-end", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/gridBase/_index.scss", + "setTo": "var(--dx-grid-filter-panel-checkbox-padding-inline-end)" + }, + { + "file": "scss/widgets/base/gridBase/_variables.scss", + "line": 39, + "widget": "gridBase", + "literals": [ + "7px" + ], + "occurrences": 1, + "marker": null, + "text": "$grid-filter-panel-icon-margin-inline-end: 7px !default;", + "variable": "grid-filter-panel-icon-margin-inline-end", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/gridBase/_index.scss", + "setTo": "var(--dx-grid-filter-panel-icon-margin-inline-end)" + }, + { + "file": "scss/widgets/base/gridBase/layout/aiChat/_variables.scss", + "line": 1, + "widget": "gridBase", + "literals": [ + "4px" + ], + "occurrences": 1, + "marker": null, + "text": "$ai-chat-toolbar-item-spacing: 4px !default;", + "variable": "ai-chat-toolbar-item-spacing", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/gridBase/_index.scss", + "setTo": "var(--dx-grid-ai-chat-toolbar-item-padding-inline-end)" + }, + { + "file": "scss/widgets/base/gridBase/layout/aiChat/_variables.scss", + "line": 2, + "widget": "gridBase", + "literals": [ + "8px" + ], + "occurrences": 1, + "marker": null, + "text": "$ai-chat-message-gap: 8px !default;", + "variable": "ai-chat-message-gap", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/gridBase/_index.scss", + "setTo": "var(--dx-grid-ai-chat-message-gap)" + }, + { + "file": "scss/widgets/base/gridBase/layout/aiChat/_variables.scss", + "line": 3, + "widget": "gridBase", + "literals": [ + "4px" + ], + "occurrences": 1, + "marker": null, + "text": "$ai-chat-message-content-gap: 4px !default;", + "variable": "ai-chat-message-content-gap", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/gridBase/_index.scss", + "setTo": "var(--dx-grid-ai-chat-message-content-gap)" + }, + { + "file": "scss/widgets/base/gridBase/layout/aiChat/_variables.scss", + "line": 4, + "widget": "gridBase", + "literals": [ + "280px" + ], + "occurrences": 1, + "marker": null, + "text": "$ai-chat-message-width: 280px !default;", + "variable": "ai-chat-message-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/gridBase/_index.scss", + "setTo": "var(--dx-grid-ai-chat-message-min-width)" + }, + { + "file": "scss/widgets/base/gridBase/layout/aiChat/_variables.scss", + "line": 5, + "widget": "gridBase", + "literals": [ + "4px" + ], + "occurrences": 1, + "marker": null, + "text": "$ai-chat-message-regenerate-button-border-radius: 4px !default;", + "variable": "ai-chat-message-regenerate-button-border-radius", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/gridBase/_index.scss", + "setTo": "var(--dx-grid-ai-chat-message-regenerate-button-border-radius)" + }, + { + "file": "scss/widgets/base/list/_index.scss", + "line": 6, + "widget": "list", + "literals": [ + "5px" + ], + "occurrences": 1, + "marker": null, + "text": "$list-searchbox-margin-bottom: 5px !default;", + "variable": "list-searchbox-margin-bottom", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/list/_index.scss", + "setTo": "var(--dx-list-search-box-margin-block-end)" + }, + { + "file": "scss/widgets/base/list/_index.scss", + "line": 9, + "widget": "list", + "literals": [ + "20px" + ], + "occurrences": 1, + "marker": null, + "text": "$list-item-badge-container-width: 20px !default;", + "variable": "list-item-badge-container-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/list/_index.scss", + "setTo": "var(--dx-list-item-badge-container-width)" + }, + { + "file": "scss/widgets/base/list/_index.scss", + "line": 10, + "widget": "list", + "literals": [ + "10px" + ], + "occurrences": 1, + "marker": null, + "text": "$list-slide-menu-button-padding: 0 10px !default;", + "variable": "list-slide-menu-button-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/list/_index.scss", + "setTo": "var(--dx-list-slide-menu-button-padding)" + }, + { + "file": "scss/widgets/base/list/_index.scss", + "line": 11, + "widget": "list", + "literals": [ + "5px" + ], + "occurrences": 1, + "marker": null, + "text": "$list-static-delete-button-padding: 0 5px !default;", + "variable": "list-static-delete-button-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/list/_index.scss", + "setTo": "var(--dx-list-delete-button-static-padding)" + }, + { + "file": "scss/widgets/base/list/_index.scss", + "line": 12, + "widget": "list", + "literals": [ + "5px" + ], + "occurrences": 1, + "marker": null, + "text": "$list-next-button-padding: 5px !default;", + "variable": "list-next-button-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/list/_index.scss", + "setTo": "var(--dx-list-next-button-padding)" + }, + { + "file": "scss/widgets/base/pivotGrid/_index.scss", + "line": 5, + "widget": "pivotGrid", + "literals": [ + "2px" + ], + "occurrences": 1, + "marker": null, + "text": "$pivotgrid-position-indicator-vertical-height: 2px !default;", + "variable": "pivotgrid-position-indicator-vertical-height", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/pivotGrid/_index.scss", + "setTo": "var(--dx-pivot-grid-position-indicator-vertical-height)" + }, + { + "file": "scss/widgets/base/pivotGrid/_index.scss", + "line": 6, + "widget": "pivotGrid", + "literals": [ + "2px" + ], + "occurrences": 1, + "marker": null, + "text": "$pivotgrid-position-indicator-horizontal-width: 2px !default;", + "variable": "pivotgrid-position-indicator-horizontal-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/pivotGrid/_index.scss", + "setTo": "var(--dx-pivot-grid-position-indicator-horizontal-width)" + }, + { + "file": "scss/widgets/base/pivotGrid/_index.scss", + "line": 7, + "widget": "pivotGrid", + "literals": [ + "3px" + ], + "occurrences": 1, + "marker": null, + "text": "$pivotgrid-position-indicator-last-margin-left: 3px !default;", + "variable": "pivotgrid-position-indicator-last-margin-left", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/pivotGrid/_index.scss", + "setTo": "var(--dx-pivot-grid-position-indicator-last-margin-inline-start)" + }, + { + "file": "scss/widgets/base/pivotGrid/_index.scss", + "line": 8, + "widget": "pivotGrid", + "literals": [ + "4px" + ], + "occurrences": 1, + "marker": null, + "text": "$pivotgrid-area-box-margin-bottom: 4px !default;", + "variable": "pivotgrid-area-box-margin-bottom", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/pivotGrid/_index.scss", + "setTo": "var(--dx-pivot-grid-area-box-margin-block-end)" + }, + { + "file": "scss/widgets/base/pivotGrid/_index.scss", + "line": 9, + "widget": "pivotGrid", + "literals": [ + "2px" + ], + "occurrences": 1, + "marker": null, + "text": "$pivotgrid-expand-icon-container-outline: 2px solid !default;", + "variable": "pivotgrid-expand-icon-container-outline", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/pivotGrid/_index.scss", + "setTo": "var(--dx-pivot-grid-expand-icon-container-outline)" + }, + { + "file": "scss/widgets/base/pivotGrid/_index.scss", + "line": 10, + "widget": "pivotGrid", + "literals": [ + "10px" + ], + "occurrences": 1, + "marker": null, + "text": "$pivotgrid-toolbar-margin-right: 10px !default;", + "variable": "pivotgrid-toolbar-margin-right", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/pivotGrid/_index.scss", + "setTo": "var(--dx-pivot-grid-toolbar-margin-inline-end)" + }, + { + "file": "scss/widgets/base/pivotGrid/_index.scss", + "line": 11, + "widget": "pivotGrid", + "literals": [ + "4px" + ], + "occurrences": 1, + "marker": null, + "text": "$pivotgrid-field-chooser-button-margin-right: 4px !default;", + "variable": "pivotgrid-field-chooser-button-margin-right", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/pivotGrid/_index.scss", + "setTo": "var(--dx-pivot-grid-field-chooser-button-margin-inline-end)" + }, + { + "file": "scss/widgets/base/pivotGrid/_index.scss", + "line": 12, + "widget": "pivotGrid", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": null, + "text": "$pivotgrid-button-margin: 1px !default;", + "variable": "pivotgrid-button-margin", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/pivotGrid/_index.scss", + "setTo": "var(--dx-pivot-grid-button-margin)" + }, + { + "file": "scss/widgets/base/pivotGrid/_index.scss", + "line": 13, + "widget": "pivotGrid", + "literals": [ + "50px" + ], + "occurrences": 1, + "marker": null, + "text": "$pivotgrid-last-cell-min-width: 50px !default;", + "variable": "pivotgrid-last-cell-min-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/pivotGrid/_index.scss", + "setTo": "var(--dx-pivot-grid-last-cell-min-width)" + }, + { + "file": "scss/widgets/base/pivotGrid/_index.scss", + "line": 14, + "widget": "pivotGrid", + "literals": [ + "5px" + ], + "occurrences": 1, + "marker": null, + "text": "$pivotgrid-icon-sorted-margin-left: 5px !default;", + "variable": "pivotgrid-icon-sorted-margin-left", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/pivotGrid/_index.scss", + "setTo": "var(--dx-pivot-grid-icon-sorted-margin-inline-start)" + }, + { + "file": "scss/widgets/base/pivotGrid/_index.scss", + "line": 15, + "widget": "pivotGrid", + "literals": [ + "2px" + ], + "occurrences": 1, + "marker": null, + "text": "$pivotgrid-fields-area-head-padding: 0 2px !default;", + "variable": "pivotgrid-fields-area-head-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/pivotGrid/_index.scss", + "setTo": "var(--dx-pivot-grid-fields-area-head-padding)" + }, + { + "file": "scss/widgets/base/pivotGrid/_index.scss", + "line": 16, + "widget": "pivotGrid", + "literals": [ + "5px" + ], + "occurrences": 1, + "marker": null, + "text": "$pivotgrid-treeview-search-margin: 5px !default;", + "variable": "pivotgrid-treeview-search-margin", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/pivotGrid/_index.scss", + "setTo": "var(--dx-pivot-grid-tree-view-search-margin)" + }, + { + "file": "scss/widgets/base/pivotGrid/_index.scss", + "line": 17, + "widget": "pivotGrid", + "literals": [ + "5px" + ], + "occurrences": 1, + "marker": null, + "text": "$pivotgrid-area-padding: 5px !default;", + "variable": "pivotgrid-area-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/pivotGrid/_index.scss", + "setTo": "var(--dx-pivot-grid-area-padding)" + }, + { + "file": "scss/widgets/base/pivotGrid/_index.scss", + "line": 18, + "widget": "pivotGrid", + "literals": [ + "3px" + ], + "occurrences": 1, + "marker": null, + "text": "$pivotgrid-area-fields-margin-top: 3px !default;", + "variable": "pivotgrid-area-fields-margin-top", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/pivotGrid/_index.scss", + "setTo": "var(--dx-pivot-grid-area-fields-margin-block-start)" + }, + { + "file": "scss/widgets/base/pivotGrid/_index.scss", + "line": 19, + "widget": "pivotGrid", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": null, + "text": "$pivotgrid-position-indicator-last-margin-left-rtl: 1px !default;", + "variable": "pivotgrid-position-indicator-last-margin-left-rtl", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/pivotGrid/_index.scss", + "setTo": "var(--dx-pivot-grid-position-indicator-last-rtl-margin-inline-start)" + }, + { + "file": "scss/widgets/base/pivotGrid/_index.scss", + "line": 20, + "widget": "pivotGrid", + "literals": [ + "10px" + ], + "occurrences": 1, + "marker": null, + "text": "$pivotgrid-toolbar-margin-left: 10px !default;", + "variable": "pivotgrid-toolbar-margin-left", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/pivotGrid/_index.scss", + "setTo": "var(--dx-pivot-grid-toolbar-margin-inline-start)" + }, + { + "file": "scss/widgets/base/pivotGrid/_index.scss", + "line": 21, + "widget": "pivotGrid", + "literals": [ + "4px" + ], + "occurrences": 1, + "marker": null, + "text": "$pivotgrid-field-chooser-button-margin-left: 4px !default;", + "variable": "pivotgrid-field-chooser-button-margin-left", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/pivotGrid/_index.scss", + "setTo": "var(--dx-pivot-grid-field-chooser-button-margin-inline-start)" + }, + { + "file": "scss/widgets/base/pivotGrid/_index.scss", + "line": 22, + "widget": "pivotGrid", + "literals": [ + "2px" + ], + "occurrences": 1, + "marker": null, + "text": "$pivotgrid-fields-area-head-padding-left: 2px !default;", + "variable": "pivotgrid-fields-area-head-padding-left", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/pivotGrid/_index.scss", + "setTo": "var(--dx-pivot-grid-fields-area-head-padding-inline-start)" + }, + { + "file": "scss/widgets/base/pivotGrid/_index.scss", + "line": 23, + "widget": "pivotGrid", + "literals": [ + "5px" + ], + "occurrences": 1, + "marker": null, + "text": "$pivotgrid-icon-sorted-margin-right: 5px !default;", + "variable": "pivotgrid-icon-sorted-margin-right", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/pivotGrid/_index.scss", + "setTo": "var(--dx-pivot-grid-icon-sorted-margin-inline-end)" + }, + { + "file": "scss/widgets/base/pivotGrid/_index.scss", + "line": 24, + "widget": "pivotGrid", + "literals": [ + "2px" + ], + "occurrences": 1, + "marker": null, + "text": "$pivotgrid-header-cell-side-padding: 2px !default;", + "variable": "pivotgrid-header-cell-side-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/pivotGrid/_index.scss", + "setTo": "var(--dx-pivot-grid-header-cell-padding-inline)" + }, + { + "file": "scss/widgets/base/pivotGrid/_index.scss", + "line": 25, + "widget": "pivotGrid", + "literals": [ + "2px" + ], + "occurrences": 1, + "marker": null, + "text": "$pivotgrid-fields-area-head-cell-side-padding: 2px !default;", + "variable": "pivotgrid-fields-area-head-cell-side-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/pivotGrid/_index.scss", + "setTo": "var(--dx-pivot-grid-fields-area-head-cell-padding-inline)" + }, + { + "file": "scss/widgets/base/pivotGrid/_index.scss", + "line": 50, + "widget": "pivotGrid", + "literals": [ + "100px" + ], + "occurrences": 1, + "marker": null, + "text": "$pivotgrid-common-field-chooser-drag-width: 100px !default;", + "variable": "pivotgrid-common-field-chooser-drag-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/pivotGrid/_index.scss", + "setTo": "var(--dx-pivot-grid-field-chooser-drag-width)" + }, + { + "file": "scss/widgets/base/pivotGrid/_index.scss", + "line": 51, + "widget": "pivotGrid", + "literals": [ + "100px" + ], + "occurrences": 1, + "marker": null, + "text": "$pivotgrid-common-field-chooser-drag-height: 100px !default;", + "variable": "pivotgrid-common-field-chooser-drag-height", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/pivotGrid/_index.scss", + "setTo": "var(--dx-pivot-grid-field-chooser-drag-height)" + }, + { + "file": "scss/widgets/base/pivotGrid/_index.scss", + "line": 59, + "widget": "pivotGrid", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": null, + "text": "$pivotgrid-border-width: 1px !default;", + "variable": "pivotgrid-border-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/pivotGrid/_index.scss", + "setTo": "var(--dx-pivot-grid-border-width)" + }, + { + "file": "scss/widgets/base/pivotGrid/_index.scss", + "line": 60, + "widget": "pivotGrid", + "literals": [ + "2px" + ], + "occurrences": 1, + "marker": null, + "text": "$pivotgrid-focus-outline-width: 2px !default;", + "variable": "pivotgrid-focus-outline-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/pivotGrid/_index.scss", + "setTo": "var(--dx-focus-rect-outline-width)" + }, + { + "file": "scss/widgets/base/pivotGrid/_index.scss", + "line": 61, + "widget": "pivotGrid", + "literals": [ + "-2px" + ], + "occurrences": 1, + "marker": null, + "text": "$pivotgrid-focus-outline-offset: -2px !default;", + "variable": "pivotgrid-focus-outline-offset", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/pivotGrid/_index.scss", + "setTo": "var(--dx-focus-rect-outline-offset-inset)" + }, + { + "file": "scss/widgets/base/pivotGrid/_index.scss", + "line": 66, + "widget": "pivotGrid", + "literals": [ + "14px" + ], + "occurrences": 1, + "marker": null, + "text": "$pivotgrid-icon-size: 14px !default;", + "variable": "pivotgrid-icon-size", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/pivotGrid/_index.scss", + "setTo": "var(--dx-pivot-grid-icon-size)" + }, + { + "file": "scss/widgets/base/pivotGrid/_index.scss", + "line": 67, + "widget": "pivotGrid", + "literals": [ + "2px" + ], + "occurrences": 1, + "marker": null, + "text": "$pivotgrid-common-field-padding: 2px !default;", + "variable": "pivotgrid-common-field-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/pivotGrid/_index.scss", + "setTo": "var(--dx-pivot-grid-field-padding)" + }, + { + "file": "scss/widgets/base/radioGroup/_index.scss", + "line": 4, + "widget": "radioGroup", + "literals": [ + "10px" + ], + "occurrences": 1, + "marker": null, + "text": "$radiogroup-radio-value-container-padding-inline-end: 10px !default;", + "variable": "radiogroup-radio-value-container-padding-inline-end", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/radioGroup/_index.scss", + "setTo": "var(--dx-radio-button-value-container-padding-inline-end)" + }, + { + "file": "scss/widgets/base/radioGroup/_index.scss", + "line": 5, + "widget": "radioGroup", + "literals": [ + "17px" + ], + "occurrences": 1, + "marker": null, + "text": "$radiogroup-collection-column-gap: 17px !default;", + "variable": "radiogroup-collection-column-gap", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/radioGroup/_index.scss", + "setTo": "var(--dx-radio-group-collection-horizontal-column-gap)" + }, + { + "file": "scss/widgets/base/scheduler/_common.scss", + "line": 5, + "widget": "scheduler", + "literals": [ + "22px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-appointment-collector-height: 22px !default;", + "variable": "scheduler-appointment-collector-height", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-appointment-collector-height)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 1, + "widget": "scheduler", + "literals": [ + "22px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-appointment-collector-height: 22px !default;", + "variable": "scheduler-appointment-collector-height", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-appointment-collector-height)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 48, + "widget": "scheduler", + "literals": [ + "3px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-common-collector-margin: 0 3px !default;", + "variable": "scheduler-common-collector-margin", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-common-collector-margin)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 49, + "widget": "scheduler", + "literals": [ + "28px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-common-collector-size: 28px !default;", + "variable": "scheduler-common-collector-size", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-common-collector-size)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 56, + "widget": "scheduler", + "literals": [ + "15px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-tooltip-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.15) !default;", + "variable": "scheduler-tooltip-shadow", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-tooltip-shadow)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 58, + "widget": "scheduler", + "literals": [ + "360px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-tooltip-width: 360px !default;", + "variable": "scheduler-tooltip-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-tooltip-width)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 59, + "widget": "scheduler", + "literals": [ + "5px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-tooltip-content-padding: 5px !default;", + "variable": "scheduler-tooltip-content-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-tooltip-content-padding)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 60, + "widget": "scheduler", + "literals": [ + "7px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-tooltip-title-margin-top: 7px !default;", + "variable": "scheduler-tooltip-title-margin-top", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-tooltip-title-margin-block-start)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 61, + "widget": "scheduler", + "literals": [ + "5px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-tooltip-title-margin-left: 5px !default;", + "variable": "scheduler-tooltip-title-margin-left", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-tooltip-title-margin-inline-start)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 62, + "widget": "scheduler", + "literals": [ + "5px", + "10px" + ], + "occurrences": 2, + "marker": null, + "text": "$scheduler-tooltip-date-margin: 5px 10px !default;", + "variable": "scheduler-tooltip-date-margin", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-tooltip-date-margin)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 63, + "widget": "scheduler", + "literals": [ + "10px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-tooltip-remove-margin-top: 10px !default;", + "variable": "scheduler-tooltip-remove-margin-top", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-tooltip-remove-margin-block-start)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 64, + "widget": "scheduler", + "literals": [ + "16px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-tooltip-subject-font-size: 16px !default;", + "variable": "scheduler-tooltip-subject-font-size", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-tooltip-subject-font-size)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 65, + "widget": "scheduler", + "literals": [ + "12px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-tooltip-date-font-size: 12px !default;", + "variable": "scheduler-tooltip-date-font-size", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-tooltip-date-font-size)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 67, + "widget": "scheduler", + "literals": [ + "11px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-appointment-content-details-font-size: 11px !default;", + "variable": "scheduler-appointment-content-details-font-size", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-appointment-content-details-font-size)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 86, + "widget": "scheduler", + "literals": [ + "4px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-appointment-min-size: 4px !default;", + "variable": "scheduler-appointment-min-size", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-appointment-min-size)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 87, + "widget": "scheduler", + "literals": [ + "5px", + "7px" + ], + "occurrences": 2, + "marker": null, + "text": "$scheduler-appointment-content-padding: 5px 7px !default;", + "variable": "scheduler-appointment-content-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-appointment-content-padding)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 88, + "widget": "scheduler", + "literals": [ + "40px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-appointment-reduced-content-padding: 40px !default;", + "variable": "scheduler-appointment-reduced-content-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-appointment-reduced-content-padding)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 98, + "widget": "scheduler", + "literals": [ + "7px", + "15px" + ], + "occurrences": 3, + "marker": null, + "text": "$scheduler-appointment-dragging-shadow: 7px 7px 15px 0 rgba(50, 50, 50, 0.2) !default;", + "variable": "scheduler-appointment-dragging-shadow", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-appointment-dragging-shadow)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 108, + "widget": "scheduler", + "literals": [ + "12px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-grouped-appointment-month-text-size: 12px !default;", + "variable": "scheduler-grouped-appointment-month-text-size", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-appointment-month-text-font-size)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 110, + "widget": "scheduler", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-border-width: 1px !default;", + "variable": "scheduler-border-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-border-width)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 111, + "widget": "scheduler", + "literals": [ + "20px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-workspace-info-font-size: 20px !default;", + "variable": "scheduler-workspace-info-font-size", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-workspace-info-font-size)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 112, + "widget": "scheduler", + "literals": [ + "14px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-small-font-size: 14px !default;", + "variable": "scheduler-small-font-size", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-small-font-size)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 113, + "widget": "scheduler", + "literals": [ + "30px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-group-header-table-cell-height: 30px !default;", + "variable": "scheduler-group-header-table-cell-height", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-group-header-cell-height)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 114, + "widget": "scheduler", + "literals": [ + "16px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-month-date-text-size: 16px !default;", + "variable": "scheduler-month-date-text-size", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-month-date-text-font-size)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 115, + "widget": "scheduler", + "literals": [ + "6px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-month-date-text-padding: 6px !default;", + "variable": "scheduler-month-date-text-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-month-date-text-padding)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 120, + "widget": "scheduler", + "literals": [ + "5px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-reduced-icon-offset: 5px !default;", + "variable": "scheduler-reduced-icon-offset", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-reduced-icon-inset-inline)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 121, + "widget": "scheduler", + "literals": [ + "20px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-recurrence-icon-offset: 20px !default;", + "variable": "scheduler-recurrence-icon-offset", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-recurrence-icon-inset-inline)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 123, + "widget": "scheduler", + "literals": [ + "5px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-agenda-appointment-margin: 5px !default;", + "variable": "scheduler-agenda-appointment-margin", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-agenda-appointment-margin)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 124, + "widget": "scheduler", + "literals": [ + "20px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-agenda-last-in-date-appointment-margin: 20px !default;", + "variable": "scheduler-agenda-last-in-date-appointment-margin", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-agenda-appointment-last-margin)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 130, + "widget": "scheduler", + "literals": [ + "30px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-time-indicator-font-size: 30px !default;", + "variable": "scheduler-time-indicator-font-size", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-time-indicator-font-size)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 131, + "widget": "scheduler", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-time-indicator-size: 1px !default;", + "variable": "scheduler-time-indicator-size", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-time-indicator-size)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 139, + "widget": "scheduler", + "literals": [ + "18px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-appointment-icon-font-size: 18px !default;", + "variable": "scheduler-appointment-icon-font-size", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-appointment-icon-font-size)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 145, + "widget": "scheduler", + "literals": [ + "12px" + ], + "occurrences": 1, + "marker": null, + "text": "$agenda-appointment-details-font-size: 12px !default;", + "variable": "agenda-appointment-details-font-size", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-agenda-details-font-size)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 148, + "widget": "scheduler", + "literals": [ + "3px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-appointment-reduced-icon-top: 3px !default;", + "variable": "scheduler-appointment-reduced-icon-top", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-appointment-reduced-icon-inset-block-start)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 149, + "widget": "scheduler", + "literals": [ + "4px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-appointment-active-marker-border-radius: 4px !default;", + "variable": "scheduler-appointment-active-marker-border-radius", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-appointment-marker-border-radius-active)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 150, + "widget": "scheduler", + "literals": [ + "2px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-appointment-content-details-margin-top: 2px !default;", + "variable": "scheduler-appointment-content-details-margin-top", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-appointment-content-details-margin-block-start)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 151, + "widget": "scheduler", + "literals": [ + "3px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-appointment-reduced-icon-rtl-left: 3px !default;", + "variable": "scheduler-appointment-reduced-icon-rtl-left", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-appointment-reduced-icon-rtl-inset-inline-start)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 152, + "widget": "scheduler", + "literals": [ + "10px" + ], + "occurrences": 1, + "marker": null, + "text": "$agenda-appointment-item-padding: 10px !default;", + "variable": "agenda-appointment-item-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-agenda-appointment-item-padding)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 153, + "widget": "scheduler", + "literals": [ + "5px" + ], + "occurrences": 1, + "marker": null, + "text": "$agenda-appointment-item-border-radius: 5px !default;", + "variable": "agenda-appointment-item-border-radius", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-agenda-appointment-item-border-radius)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 154, + "widget": "scheduler", + "literals": [ + "10px" + ], + "occurrences": 1, + "marker": null, + "text": "$agenda-appointment-right-layout-margin-left: 10px !default;", + "variable": "agenda-appointment-right-layout-margin-left", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-agenda-appointment-right-layout-margin-inline-start)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 155, + "widget": "scheduler", + "literals": [ + "5px" + ], + "occurrences": 1, + "marker": null, + "text": "$agenda-appointment-allday-padding-right: 5px !default;", + "variable": "agenda-appointment-allday-padding-right", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-agenda-appointment-allday-padding-inline-end)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 156, + "widget": "scheduler", + "literals": [ + "15px" + ], + "occurrences": 1, + "marker": null, + "text": "$agenda-appointment-resource-item-margin-left: 15px !default;", + "variable": "agenda-appointment-resource-item-margin-left", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-agenda-appointment-resource-item-margin-inline-start)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 157, + "widget": "scheduler", + "literals": [ + "3px" + ], + "occurrences": 1, + "marker": null, + "text": "$agenda-appointment-resource-value-margin-left: 3px !default;", + "variable": "agenda-appointment-resource-value-margin-left", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-agenda-appointment-resource-value-margin-inline-start)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 158, + "widget": "scheduler", + "literals": [ + "10px" + ], + "occurrences": 1, + "marker": null, + "text": "$agenda-appointment-rtl-margin-right: 10px !default;", + "variable": "agenda-appointment-rtl-margin-right", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-agenda-appointment-rtl-margin-inline-end)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 202, + "widget": "scheduler", + "literals": [ + "2px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-views-header-border: 2px solid !default;", + "variable": "scheduler-views-header-border", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-views-header-border)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 203, + "widget": "scheduler", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-views-empty-cell-border-bottom: 1px solid !default;", + "variable": "scheduler-views-empty-cell-border-bottom", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-views-empty-cell-border-block-end)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 204, + "widget": "scheduler", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-views-empty-cell-border-right: 1px solid !default;", + "variable": "scheduler-views-empty-cell-border-right", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-views-empty-cell-border-inline-end)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 205, + "widget": "scheduler", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-views-empty-cell-border-left: 1px solid !default;", + "variable": "scheduler-views-empty-cell-border-left", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-views-empty-cell-border-inline-start)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 206, + "widget": "scheduler", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-views-first-child-border-left: 1px solid transparent !default;", + "variable": "scheduler-views-first-child-border-left", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-views-first-child-border-inline-start)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 207, + "widget": "scheduler", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-views-time-panel-border-bottom: 1px solid transparent !default;", + "variable": "scheduler-views-time-panel-border-bottom", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-views-time-panel-border-block-end)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 208, + "widget": "scheduler", + "literals": [ + "5px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-views-group-header-padding: 0 5px !default;", + "variable": "scheduler-views-group-header-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-views-group-header-padding)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 209, + "widget": "scheduler", + "literals": [ + "5px", + "10px" + ], + "occurrences": 2, + "marker": null, + "text": "$scheduler-views-group-header-padding-alt: 0 5px 0 10px !default;", + "variable": "scheduler-views-group-header-padding-alt", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-views-sidebar-group-header-padding)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 210, + "widget": "scheduler", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-views-time-indicator-height: 1px !default;", + "variable": "scheduler-views-time-indicator-height", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-views-time-indicator-height)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 211, + "widget": "scheduler", + "literals": [ + "40px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-views-group-header-content-height: 40px !default;", + "variable": "scheduler-views-group-header-content-height", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-views-group-header-content-height)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 212, + "widget": "scheduler", + "literals": [ + "100px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-views-vertical-group-min-height: 100px !default;", + "variable": "scheduler-views-vertical-group-min-height", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-views-vertical-group-min-height)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 214, + "widget": "scheduler", + "literals": [ + "100px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-timeline-min-height: 100px !default;", + "variable": "scheduler-timeline-min-height", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-timeline-min-height)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 215, + "widget": "scheduler", + "literals": [ + "160px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-timeline-group-two-empty-cell-width: 160px !default;", + "variable": "scheduler-timeline-group-two-empty-cell-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-timeline-group-two-empty-cell-width)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 216, + "widget": "scheduler", + "literals": [ + "80px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-timeline-group-header-width: 80px !default;", + "variable": "scheduler-timeline-group-header-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-timeline-group-header-width)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 217, + "widget": "scheduler", + "literals": [ + "240px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-timeline-group-three-empty-cell-width: 240px !default;", + "variable": "scheduler-timeline-group-three-empty-cell-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-timeline-group-three-empty-cell-width)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 218, + "widget": "scheduler", + "literals": [ + "200px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-timeline-cell-width: 200px !default;", + "variable": "scheduler-timeline-cell-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-timeline-cell-width)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 219, + "widget": "scheduler", + "literals": [ + "70px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-agenda-left-column-width: 70px !default;", + "variable": "scheduler-agenda-left-column-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-agenda-left-column-width)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 220, + "widget": "scheduler", + "literals": [ + "18px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-group-header-agenda-font-size: 18px !default;", + "variable": "scheduler-group-header-agenda-font-size", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-group-header-agenda-font-size)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 221, + "widget": "scheduler", + "literals": [ + "10px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-agenda-date-table-padding-top: 10px !default;", + "variable": "scheduler-agenda-date-table-padding-top", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-agenda-date-table-padding-block-start)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 222, + "widget": "scheduler", + "literals": [ + "50px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-renovation-virtual-row-height: 50px !default;", + "variable": "scheduler-renovation-virtual-row-height", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-virtual-row-height)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 283, + "widget": "scheduler", + "literals": [ + "7px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-appointment-content-horizontal-padding: 0 7px !default;", + "variable": "scheduler-appointment-content-horizontal-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-all-day-appointment-content-padding)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 284, + "widget": "scheduler", + "literals": [ + "9px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-appointment-recurrence-icon-top: 9px !default;", + "variable": "scheduler-appointment-recurrence-icon-top", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-appointment-recurrence-icon-inset-block-start)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 285, + "widget": "scheduler", + "literals": [ + "2px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-header-panel-current-time-cell-height: 2px !default;", + "variable": "scheduler-header-panel-current-time-cell-height", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-header-panel-current-time-cell-height)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 286, + "widget": "scheduler", + "literals": [ + "25px", + "7px" + ], + "occurrences": 2, + "marker": null, + "text": "$scheduler-appointment-content-recurrence-padding: 0 25px 0 7px !default;", + "variable": "scheduler-appointment-content-recurrence-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-recurrence-appointment-content-padding)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 287, + "widget": "scheduler", + "literals": [ + "7px", + "25px" + ], + "occurrences": 2, + "marker": null, + "text": "$scheduler-rtl-padding: 0 7px 0 25px !default;", + "variable": "scheduler-rtl-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-rtl-padding)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 288, + "widget": "scheduler", + "literals": [ + "24px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-appointment-collector-width: 24px !default;", + "variable": "scheduler-appointment-collector-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-appointment-collector-width)" + }, + { + "file": "scss/widgets/base/scheduler/_index.scss", + "line": 289, + "widget": "scheduler", + "literals": [ + "5px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-appointment-content-padding-right: 5px !default;", + "variable": "scheduler-appointment-content-padding-right", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-appointment-content-padding-inline-end)" + }, + { + "file": "scss/widgets/base/scheduler/appointment/_index.scss", + "line": 31, + "widget": "scheduler", + "literals": [ + "3px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-appointment-reduced-icon-top: 3px !default;", + "variable": "scheduler-appointment-reduced-icon-top", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-appointment-reduced-icon-inset-block-start)" + }, + { + "file": "scss/widgets/base/scheduler/appointment/_index.scss", + "line": 32, + "widget": "scheduler", + "literals": [ + "4px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-appointment-active-marker-border-radius: 4px !default;", + "variable": "scheduler-appointment-active-marker-border-radius", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-appointment-marker-border-radius-active)" + }, + { + "file": "scss/widgets/base/scheduler/appointment/_index.scss", + "line": 33, + "widget": "scheduler", + "literals": [ + "2px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-appointment-content-details-margin-top: 2px !default;", + "variable": "scheduler-appointment-content-details-margin-top", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-appointment-content-details-margin-block-start)" + }, + { + "file": "scss/widgets/base/scheduler/appointment/_index.scss", + "line": 34, + "widget": "scheduler", + "literals": [ + "3px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-appointment-reduced-icon-rtl-left: 3px !default;", + "variable": "scheduler-appointment-reduced-icon-rtl-left", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-appointment-reduced-icon-rtl-inset-inline-start)" + }, + { + "file": "scss/widgets/base/scheduler/appointment/_index.scss", + "line": 62, + "widget": "scheduler", + "literals": [ + "10px" + ], + "occurrences": 1, + "marker": null, + "text": "$agenda-appointment-item-padding: 10px !default;", + "variable": "agenda-appointment-item-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-agenda-appointment-item-padding)" + }, + { + "file": "scss/widgets/base/scheduler/appointment/_index.scss", + "line": 63, + "widget": "scheduler", + "literals": [ + "5px" + ], + "occurrences": 1, + "marker": null, + "text": "$agenda-appointment-item-border-radius: 5px !default;", + "variable": "agenda-appointment-item-border-radius", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-agenda-appointment-item-border-radius)" + }, + { + "file": "scss/widgets/base/scheduler/appointment/_index.scss", + "line": 64, + "widget": "scheduler", + "literals": [ + "10px" + ], + "occurrences": 1, + "marker": null, + "text": "$agenda-appointment-right-layout-margin-left: 10px !default;", + "variable": "agenda-appointment-right-layout-margin-left", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-agenda-appointment-right-layout-margin-inline-start)" + }, + { + "file": "scss/widgets/base/scheduler/appointment/_index.scss", + "line": 65, + "widget": "scheduler", + "literals": [ + "5px" + ], + "occurrences": 1, + "marker": null, + "text": "$agenda-appointment-allday-padding-right: 5px !default;", + "variable": "agenda-appointment-allday-padding-right", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-agenda-appointment-allday-padding-inline-end)" + }, + { + "file": "scss/widgets/base/scheduler/appointment/_index.scss", + "line": 66, + "widget": "scheduler", + "literals": [ + "15px" + ], + "occurrences": 1, + "marker": null, + "text": "$agenda-appointment-resource-item-margin-left: 15px !default;", + "variable": "agenda-appointment-resource-item-margin-left", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-agenda-appointment-resource-item-margin-inline-start)" + }, + { + "file": "scss/widgets/base/scheduler/appointment/_index.scss", + "line": 67, + "widget": "scheduler", + "literals": [ + "3px" + ], + "occurrences": 1, + "marker": null, + "text": "$agenda-appointment-resource-value-margin-left: 3px !default;", + "variable": "agenda-appointment-resource-value-margin-left", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-agenda-appointment-resource-value-margin-inline-start)" + }, + { + "file": "scss/widgets/base/scheduler/appointment/_index.scss", + "line": 68, + "widget": "scheduler", + "literals": [ + "10px" + ], + "occurrences": 1, + "marker": null, + "text": "$agenda-appointment-rtl-margin-right: 10px !default;", + "variable": "agenda-appointment-rtl-margin-right", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-agenda-appointment-rtl-margin-inline-end)" + }, + { + "file": "scss/widgets/base/scheduler/views/_index.scss", + "line": 45, + "widget": "scheduler", + "literals": [ + "20px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-workspace-info-font-size: 20px !default;", + "variable": "scheduler-workspace-info-font-size", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-workspace-info-font-size)" + }, + { + "file": "scss/widgets/base/scheduler/views/_index.scss", + "line": 46, + "widget": "scheduler", + "literals": [ + "14px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-small-font-size: 14px !default;", + "variable": "scheduler-small-font-size", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-small-font-size)" + }, + { + "file": "scss/widgets/base/scheduler/views/_index.scss", + "line": 55, + "widget": "scheduler", + "literals": [ + "30px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-group-header-table-cell-height: 30px !default;", + "variable": "scheduler-group-header-table-cell-height", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-group-header-cell-height)" + }, + { + "file": "scss/widgets/base/scheduler/views/_index.scss", + "line": 59, + "widget": "scheduler", + "literals": [ + "16px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-month-date-text-size: 16px !default;", + "variable": "scheduler-month-date-text-size", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-month-date-text-font-size)" + }, + { + "file": "scss/widgets/base/scheduler/views/_index.scss", + "line": 61, + "widget": "scheduler", + "literals": [ + "6px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-month-date-text-padding: 6px !default;", + "variable": "scheduler-month-date-text-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-month-date-text-padding)" + }, + { + "file": "scss/widgets/base/scheduler/views/_index.scss", + "line": 77, + "widget": "scheduler", + "literals": [ + "100px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-timeline-min-height: 100px !default;", + "variable": "scheduler-timeline-min-height", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-timeline-min-height)" + }, + { + "file": "scss/widgets/base/scheduler/views/_index.scss", + "line": 78, + "widget": "scheduler", + "literals": [ + "160px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-timeline-group-two-empty-cell-width: 160px !default;", + "variable": "scheduler-timeline-group-two-empty-cell-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-timeline-group-two-empty-cell-width)" + }, + { + "file": "scss/widgets/base/scheduler/views/_index.scss", + "line": 79, + "widget": "scheduler", + "literals": [ + "80px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-timeline-group-header-width: 80px !default;", + "variable": "scheduler-timeline-group-header-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-timeline-group-header-width)" + }, + { + "file": "scss/widgets/base/scheduler/views/_index.scss", + "line": 80, + "widget": "scheduler", + "literals": [ + "240px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-timeline-group-three-empty-cell-width: 240px !default;", + "variable": "scheduler-timeline-group-three-empty-cell-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-timeline-group-three-empty-cell-width)" + }, + { + "file": "scss/widgets/base/scheduler/views/_index.scss", + "line": 81, + "widget": "scheduler", + "literals": [ + "200px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-timeline-cell-width: 200px !default;", + "variable": "scheduler-timeline-cell-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-timeline-cell-width)" + }, + { + "file": "scss/widgets/base/scheduler/views/_index.scss", + "line": 95, + "widget": "scheduler", + "literals": [ + "70px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-agenda-left-column-width: 70px !default;", + "variable": "scheduler-agenda-left-column-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-agenda-left-column-width)" + }, + { + "file": "scss/widgets/base/scheduler/views/_index.scss", + "line": 96, + "widget": "scheduler", + "literals": [ + "18px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-group-header-agenda-font-size: 18px !default;", + "variable": "scheduler-group-header-agenda-font-size", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-group-header-agenda-font-size)" + }, + { + "file": "scss/widgets/base/scheduler/views/_index.scss", + "line": 97, + "widget": "scheduler", + "literals": [ + "10px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-agenda-date-table-padding-top: 10px !default;", + "variable": "scheduler-agenda-date-table-padding-top", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-agenda-date-table-padding-block-start)" + }, + { + "file": "scss/widgets/base/scheduler/views/_index.scss", + "line": 109, + "widget": "scheduler", + "literals": [ + "50px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-renovation-virtual-row-height: 50px !default;", + "variable": "scheduler-renovation-virtual-row-height", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-virtual-row-height)" + }, + { + "file": "scss/widgets/base/scheduler/views/agenda/_index.scss", + "line": 7, + "widget": "scheduler", + "literals": [ + "70px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-agenda-left-column-width: 70px !default;", + "variable": "scheduler-agenda-left-column-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-agenda-left-column-width)" + }, + { + "file": "scss/widgets/base/scheduler/views/agenda/_index.scss", + "line": 8, + "widget": "scheduler", + "literals": [ + "18px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-group-header-agenda-font-size: 18px !default;", + "variable": "scheduler-group-header-agenda-font-size", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-group-header-agenda-font-size)" + }, + { + "file": "scss/widgets/base/scheduler/views/timelines/_index.scss", + "line": 9, + "widget": "scheduler", + "literals": [ + "100px" + ], + "occurrences": 1, + "marker": null, + "text": "$scheduler-timeline-min-height: 100px !default;", + "variable": "scheduler-timeline-min-height", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scheduler/_index.scss", + "setTo": "var(--dx-scheduler-timeline-min-height)" + }, + { + "file": "scss/widgets/base/scrollable/_index.scss", + "line": 5, + "widget": "scrollable", + "literals": [ + "5px" + ], + "occurrences": 1, + "marker": null, + "text": "$scrollable-scroll-width: 5px !default;", + "variable": "scrollable-scroll-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scrollable/_index.scss", + "setTo": "var(--dx-scrollable-scroll-width)" + }, + { + "file": "scss/widgets/base/scrollable/_index.scss", + "line": 6, + "widget": "scrollable", + "literals": [ + "5px" + ], + "occurrences": 1, + "marker": null, + "text": "$scrollable-scroll-height: 5px !default;", + "variable": "scrollable-scroll-height", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scrollable/_index.scss", + "setTo": "var(--dx-scrollable-scroll-height)" + }, + { + "file": "scss/widgets/base/scrollable/_index.scss", + "line": 7, + "widget": "scrollable", + "literals": [ + "2px" + ], + "occurrences": 1, + "marker": null, + "text": "$scrollable-scroll-padding: 2px !default;", + "variable": "scrollable-scroll-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/scrollable/_index.scss", + "setTo": "var(--dx-scrollable-scroll-padding)" + }, + { + "file": "scss/widgets/base/splitter/_index.scss", + "line": 2, + "widget": "splitter", + "literals": [ + "8px" + ], + "occurrences": 1, + "marker": null, + "text": "$splitter-resize-handle-gap: 8px !default;", + "variable": "splitter-resize-handle-gap", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/splitter/_index.scss", + "setTo": "var(--dx-splitter-resize-handle-gap)" + }, + { + "file": "scss/widgets/base/stepper/layout/step/_mixins.scss", + "line": 77, + "widget": "stepper", + "literals": [ + "2px" + ], + "occurrences": 1, + "marker": null, + "text": "$indicator-ring-inset: 2px,", + "variable": "indicator-ring-inset", + "kind": "mixin-parameter", + "status": "parameter" + }, + { + "file": "scss/widgets/base/stepper/layout/step/_mixins.scss", + "line": 78, + "widget": "stepper", + "literals": [ + "4px" + ], + "occurrences": 1, + "marker": null, + "text": "$indicator-ring-size: 4px,", + "variable": "indicator-ring-size", + "kind": "mixin-parameter", + "status": "parameter" + }, + { + "file": "scss/widgets/base/stepper/layout/step/_mixins.scss", + "line": 79, + "widget": "stepper", + "literals": [ + "8px" + ], + "occurrences": 1, + "marker": null, + "text": "$indicator-halo-size: 8px,", + "variable": "indicator-halo-size", + "kind": "mixin-parameter", + "status": "parameter" + }, + { + "file": "scss/widgets/base/switch/_mixins.scss", + "line": 17, + "widget": "switch", + "literals": [ + "500px" + ], + "occurrences": 1, + "marker": null, + "text": "$switch-container-border-radius: 500px,", + "variable": "switch-container-border-radius", + "kind": "mixin-parameter", + "status": "parameter" + }, + { + "file": "scss/widgets/base/switch/_mixins.scss", + "line": 18, + "widget": "switch", + "literals": [ + "4px" + ], + "occurrences": 1, + "marker": null, + "text": "$switch-label-padding: 4px 0,", + "variable": "switch-label-padding", + "kind": "mixin-parameter", + "status": "parameter" + }, + { + "file": "scss/widgets/base/switch/_mixins.scss", + "line": 19, + "widget": "switch", + "literals": [ + "10px" + ], + "occurrences": 1, + "marker": null, + "text": "$switch-off-padding-bottom: 10px,", + "variable": "switch-off-padding-bottom", + "kind": "mixin-parameter", + "status": "parameter" + }, + { + "file": "scss/widgets/base/textEditor/_index.scss", + "line": 6, + "widget": "textEditor", + "literals": [ + "34px" + ], + "occurrences": 1, + "marker": null, + "text": "$texteditor-clear-button-area-width: 34px !default;", + "variable": "texteditor-clear-button-area-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/textEditor/_index.scss", + "setTo": "var(--dx-text-editor-clear-button-width)" + }, + { + "file": "scss/widgets/base/textEditor/_mixins.scss", + "line": 162, + "widget": "textEditor", + "literals": [ + "2px" + ], + "occurrences": 1, + "marker": null, + "text": "$label-padding-inline: 2px,", + "variable": "label-padding-inline", + "kind": "mixin-parameter", + "status": "parameter" + }, + { + "file": "scss/widgets/base/textEditor/_mixins.scss", + "line": 163, + "widget": "textEditor", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": null, + "text": "$label-border-radius: 1px,", + "variable": "label-border-radius", + "kind": "mixin-parameter", + "status": "parameter" + }, + { + "file": "scss/widgets/base/textEditor/_mixins.scss", + "line": 164, + "widget": "textEditor", + "literals": [ + "3px" + ], + "occurrences": 1, + "marker": null, + "text": "$label-backdrop-height: 3px,", + "variable": "label-backdrop-height", + "kind": "mixin-parameter", + "status": "parameter" + }, + { + "file": "scss/widgets/base/textEditor/_mixins.scss", + "line": 716, + "widget": "textEditor", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": null, + "text": "$button-margin-block-start: 1px,", + "variable": "button-margin-block-start", + "kind": "mixin-parameter", + "status": "parameter" + }, + { + "file": "scss/widgets/base/textEditor/_mixins.scss", + "line": 717, + "widget": "textEditor", + "literals": [ + "3px" + ], + "occurrences": 1, + "marker": null, + "text": "$button-margin-block-end: 3px,", + "variable": "button-margin-block-end", + "kind": "mixin-parameter", + "status": "parameter" + }, + { + "file": "scss/widgets/base/textEditor/_mixins.scss", + "line": 718, + "widget": "textEditor", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": null, + "text": "$button-icon-margin-block-start: 1px,", + "variable": "button-icon-margin-block-start", + "kind": "mixin-parameter", + "status": "parameter" + }, + { + "file": "scss/widgets/base/textEditor/_mixins.scss", + "line": 719, + "widget": "textEditor", + "literals": [ + "3px" + ], + "occurrences": 1, + "marker": null, + "text": "$button-icon-margin-block-start-with-text: 3px,", + "variable": "button-icon-margin-block-start-with-text", + "kind": "mixin-parameter", + "status": "parameter" + }, + { + "file": "scss/widgets/base/textEditor/_mixins.scss", + "line": 720, + "widget": "textEditor", + "literals": [ + "2px" + ], + "occurrences": 1, + "marker": null, + "text": "$button-icononly-padding: 2px,", + "variable": "button-icononly-padding", + "kind": "mixin-parameter", + "status": "parameter" + }, + { + "file": "scss/widgets/base/timeView/_index.scss", + "line": 4, + "widget": "timeView", + "literals": [ + "70px" + ], + "occurrences": 1, + "marker": null, + "text": "$timeview-numberbox-width: 70px !default;", + "variable": "timeview-numberbox-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/timeView/_index.scss", + "setTo": "var(--dx-time-view-field-number-box-width)" + }, + { + "file": "scss/widgets/base/timeView/_index.scss", + "line": 5, + "widget": "timeView", + "literals": [ + "110px" + ], + "occurrences": 1, + "marker": null, + "text": "$timeview-numberbox-spin-touch-friendly-width: 110px !default;", + "variable": "timeview-numberbox-spin-touch-friendly-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/timeView/_index.scss", + "setTo": "var(--dx-time-view-field-number-box-spin-touch-friendly-width)" + }, + { + "file": "scss/widgets/base/timeView/_mixins.scss", + "line": 20, + "widget": "timeView", + "literals": [ + "182px" + ], + "occurrences": 1, + "marker": null, + "text": "$clock-size: 182px,", + "variable": "clock-size", + "kind": "mixin-parameter", + "status": "parameter" + }, + { + "file": "scss/widgets/base/timeView/_mixins.scss", + "line": 21, + "widget": "timeView", + "literals": [ + "10px" + ], + "occurrences": 1, + "marker": null, + "text": "$arrow-width: 10px,", + "variable": "arrow-width", + "kind": "mixin-parameter", + "status": "parameter" + }, + { + "file": "scss/widgets/base/toolbar/_index.scss", + "line": 4, + "widget": "toolbar", + "literals": [ + "5px" + ], + "occurrences": 1, + "marker": null, + "text": "$toolbar-item-padding: 0 5px !default;", + "variable": "toolbar-item-padding", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/toolbar/_index.scss", + "setTo": "var(--dx-toolbar-item-padding)" + }, + { + "file": "scss/widgets/base/toolbar/_index.scss", + "line": 5, + "widget": "toolbar", + "literals": [ + "10px" + ], + "occurrences": 1, + "marker": null, + "text": "$toolbar-group-margin: 0 10px !default;", + "variable": "toolbar-group-margin", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/toolbar/_index.scss", + "setTo": "var(--dx-toolbar-group-margin)" + }, + { + "file": "scss/widgets/base/toolbar/_index.scss", + "line": 6, + "widget": "toolbar", + "literals": [ + "150px" + ], + "occurrences": 1, + "marker": null, + "text": "$toolbar-texteditor-width: 150px !default;", + "variable": "toolbar-texteditor-width", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/toolbar/_index.scss", + "setTo": "var(--dx-toolbar-text-editor-width)" + }, + { + "file": "scss/widgets/base/toolbar/_mixins.scss", + "line": 5, + "widget": "toolbar", + "literals": [ + "2px" + ], + "occurrences": 1, + "marker": null, + "text": "$outline-width: 2px,", + "variable": "outline-width", + "kind": "mixin-parameter", + "status": "parameter" + }, + { + "file": "scss/widgets/base/toolbar/_mixins.scss", + "line": 6, + "widget": "toolbar", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": null, + "text": "$outline-offset: 1px,", + "variable": "outline-offset", + "kind": "mixin-parameter", + "status": "parameter" + }, + { + "file": "scss/widgets/base/treeList/_index.scss", + "line": 27, + "widget": "treeList", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": null, + "text": "$treelist-expandable-node-line-height: 1px !default;", + "variable": "treelist-expandable-node-line-height", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/treeList/_index.scss", + "setTo": "var(--dx-tree-list-empty-space-height)" + }, + { + "file": "scss/widgets/base/treeList/_index.scss", + "line": 32, + "widget": "treeList", + "literals": [ + "2px" + ], + "occurrences": 1, + "marker": null, + "text": "$treelist-sticky-column-border: 2px solid !default;", + "variable": "treelist-sticky-column-border", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/treeList/_index.scss", + "setTo": "var(--dx-tree-list-sticky-column-border)" + }, + { + "file": "scss/widgets/base/treeList/_index.scss", + "line": 33, + "widget": "treeList", + "literals": [ + "2px" + ], + "occurrences": 1, + "marker": null, + "text": "$treelist-cell-focus-outline: 2px solid !default;", + "variable": "treelist-cell-focus-outline", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/treeList/_index.scss", + "setTo": "var(--dx-tree-list-cell-outline-focused)" + }, + { + "file": "scss/widgets/base/treeList/_index.scss", + "line": 56, + "widget": "treeList", + "literals": [ + "2px" + ], + "occurrences": 1, + "marker": null, + "text": "$treelist-header-filter-outline: 2px solid !default;", + "variable": "treelist-header-filter-outline", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/treeList/_index.scss", + "setTo": "var(--dx-grid-outline-focused)" + }, + { + "file": "scss/widgets/base/treeList/_index.scss", + "line": 57, + "widget": "treeList", + "literals": [ + "2px" + ], + "occurrences": 1, + "marker": null, + "text": "$treelist-header-filter-outline-offset: 2px !default;", + "variable": "treelist-header-filter-outline-offset", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/treeList/_index.scss", + "setTo": "var(--dx-tree-list-outline-offset-focused)" + }, + { + "file": "scss/widgets/base/treeList/_index.scss", + "line": 58, + "widget": "treeList", + "literals": [ + "10px" + ], + "occurrences": 1, + "marker": null, + "text": "$treelist-button-margin-left: 10px !default;", + "variable": "treelist-button-margin-left", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/treeList/_index.scss", + "setTo": "var(--dx-tree-list-form-buttons-margin-inline-start)" + }, + { + "file": "scss/widgets/base/treeList/_index.scss", + "line": 59, + "widget": "treeList", + "literals": [ + "10px" + ], + "occurrences": 1, + "marker": null, + "text": "$treelist-button-margin-top: 10px !default;", + "variable": "treelist-button-margin-top", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/treeList/_index.scss", + "setTo": "var(--dx-tree-list-form-buttons-margin-block-start)" + }, + { + "file": "scss/widgets/base/treeList/_index.scss", + "line": 60, + "widget": "treeList", + "literals": [ + "20px" + ], + "occurrences": 1, + "marker": null, + "text": "$treelist-error-message-margin-bottom: 20px !default;", + "variable": "treelist-error-message-margin-bottom", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/treeList/_index.scss", + "setTo": "var(--dx-tree-list-error-message-margin-block-end)" + }, + { + "file": "scss/widgets/base/treeList/_index.scss", + "line": 61, + "widget": "treeList", + "literals": [ + "10px" + ], + "occurrences": 1, + "marker": null, + "text": "$treelist-button-margin-right: 10px !default;", + "variable": "treelist-button-margin-right", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/treeList/_index.scss", + "setTo": "var(--dx-tree-list-form-buttons-rtl-margin-inline-start)" + }, + { + "file": "scss/widgets/base/treeView/_index.scss", + "line": 2, + "widget": "treeView", + "literals": [ + "5px" + ], + "occurrences": 1, + "marker": null, + "text": "$treeview-searchbox-margin-bottom: 5px !default;", + "variable": "treeview-searchbox-margin-bottom", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/treeView/_index.scss", + "setTo": "var(--dx-tree-view-search-box-margin-block-end)" + }, + { + "file": "scss/widgets/base/treeView/_index.scss", + "line": 13, + "widget": "treeView", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": null, + "text": "$treeview-select-all-item-border-bottom: 1px solid !default;", + "variable": "treeview-select-all-item-border-bottom", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/treeView/_index.scss", + "setTo": "var(--dx-tree-view-select-all-item-border-block-end)" + }, + { + "file": "scss/widgets/base/treeView/_index.scss", + "line": 14, + "widget": "treeView", + "literals": [ + "1px" + ], + "occurrences": 1, + "marker": null, + "text": "$treeview-border-visible-border: 1px solid !default;", + "variable": "treeview-border-visible-border", + "kind": "module-variable", + "status": "injected", + "setBy": "scss/widgets/fluent-next/treeView/_index.scss", + "setTo": "var(--dx-tree-view-border-visible-border)" + } + ] +} diff --git a/packages/devextreme-scss/tools/stylelint/module-variable-default.mjs b/packages/devextreme-scss/tools/stylelint/module-variable-default.mjs index 1bf97bfbf8ce..63b812c8a610 100644 --- a/packages/devextreme-scss/tools/stylelint/module-variable-default.mjs +++ b/packages/devextreme-scss/tools/stylelint/module-variable-default.mjs @@ -1,3 +1,6 @@ +import { readFileSync } from 'fs'; +import { fileURLToPath } from 'url'; +import { dirname, join, resolve } from 'path'; import stylelint from 'stylelint'; const { @@ -13,6 +16,37 @@ const messages = ruleMessages(ruleName, { const meta = { fixable: true }; +const packageRoot = resolve(dirname(fileURLToPath(import.meta.url)), '..', '..'); + +// A size classified by the px audit is not a knob: the audit's gate accepts a fixed value only +// when a theme sets it or a marker says why it stays, so a marked value is one the theme must not +// pass through @use with(). The marker list is read from the audit's own vocabulary to keep one +// source of truth; the path is package-relative. +const readMarkers = (vocabularyPath) => { + const { categories } = JSON.parse(readFileSync(join(packageRoot, vocabularyPath), 'utf8')); + return categories.map(({ marker }) => marker).filter(Boolean); +}; + +// The marker sits where the px audit writes it: in the declaration's trailing comment, or in the +// comment block directly above it (tools/review/px-audit.mjs reads the same two places). +const classifyingComments = (decl) => { + const parts = []; + const trailing = decl.next(); + if (trailing?.type === 'comment' && trailing.source?.start?.line === decl.source?.end?.line) { + parts.push(trailing.text); + } + + let node = decl.prev(); + let gap = decl.raws.before ?? ''; + while (node?.type === 'comment' && !/\n\s*\n/.test(gap)) { + parts.push(node.text); + gap = node.raws.before ?? ''; + node = node.prev(); + } + + return parts.join('\n'); +}; + const isConditional = (node) => node.type === 'atrule' && ['if', 'else'].includes(node.name); const isModuleLevel = (decl) => { let node = decl.parent; @@ -22,8 +56,17 @@ const isModuleLevel = (decl) => { const hasFlag = (decl, flag) => new RegExp(`!${flag}\\b`, 'i').test(decl.value); const isNull = (decl) => /^null(\s+!default)?$/.test(decl.value.trim()); -const ruleFunction = (primary) => (root, result) => { - if (!validateOptions(result, ruleName, { actual: primary, possible: [true] })) return; +const ruleFunction = (primary, secondary) => (root, result) => { + if (!validateOptions( + result, + ruleName, + { actual: primary, possible: [true] }, + { actual: secondary, possible: { exemptMarkersFrom: [(value) => typeof value === 'string'] }, optional: true }, + )) return; + + const markers = secondary?.exemptMarkersFrom ? readMarkers(secondary.exemptMarkersFrom) : []; + const isClassified = (decl) => markers.length > 0 + && markers.some((marker) => classifyingComments(decl).includes(marker)); const assigned = new Set(); @@ -33,6 +76,7 @@ const ruleFunction = (primary) => (root, result) => { const reassignment = assigned.has(decl.prop); if (decl.parent.type === 'root' && !isNull(decl)) assigned.add(decl.prop); if (reassignment || hasFlag(decl, 'default') || hasFlag(decl, 'global')) return; + if (isClassified(decl)) return; report({ message: messages.expected, diff --git a/packages/devextreme-scss/tools/stylelint/no-identical-branch-declarations.mjs b/packages/devextreme-scss/tools/stylelint/no-identical-branch-declarations.mjs index 088b41e742bd..b75a5c2a4992 100644 --- a/packages/devextreme-scss/tools/stylelint/no-identical-branch-declarations.mjs +++ b/packages/devextreme-scss/tools/stylelint/no-identical-branch-declarations.mjs @@ -140,6 +140,23 @@ const declaredBetween = (parent, after, before, name) => parent.nodes .slice(parent.index(after) + 1, parent.index(before)) .some((node) => isVariable(node) && node.prop === name); +/* + * A marker comment sits at the end of the declaration line, and postcss keeps it as a separate + * node: removing the declaration alone leaves the comment behind, where it collapses onto the next + * surviving declaration and claims something that was never written about it. So a trailing comment + * travels with its declaration, and a chain whose branches disagree about it is left to a human. + */ +const trailingComment = (decl) => { + const next = decl.next(); + const sameLine = next?.type === 'comment' && next.source?.start?.line === decl.source?.end?.line; + return sameLine ? next : undefined; +}; + +const trailersAgree = (declarations) => { + const texts = declarations.map((decl) => trailingComment(decl)?.text); + return texts.every((text) => text === texts[0]); +}; + const attachedComment = (decl) => { const previous = decl.prev(); const attached = previous?.type === 'comment' && !/\n[ \t]*\n/.test(decl.raws.before ?? ''); @@ -171,7 +188,8 @@ const ruleFunction = (primary) => (root, result) => { const [first] = declarations; const earlier = earlierDeclaration(parent, ifRule, name); const overridden = earlier !== undefined && !isNull(earlier.value); - const fixable = overridden ? declarations.every((decl) => hasDefaultFlag(decl.value)) : movable.has(name); + const fixable = trailersAgree(declarations) + && (overridden ? declarations.every((decl) => hasDefaultFlag(decl.value)) : movable.has(name)); const fix = () => { const live = branches.filter((branch) => branch.parent); @@ -184,16 +202,25 @@ const ruleFunction = (primary) => (root, result) => { if (parent.type === 'root' && parent.first) parent.first.raws.before = ''; }; + const dropDeclarations = () => declarations.forEach((decl) => { + trailingComment(decl)?.remove(); + decl.remove(); + }); + if (overridden) { - declarations.forEach((decl) => decl.remove()); + dropDeclarations(); tidy(); return; } const hoisted = first.clone(); + const trailerSource = trailingComment(first); + // keep the comment's own raws (`inline` is what makes it print as `//`), move it one space + // behind the declaration it explains + const trailer = trailerSource?.clone({ raws: { ...trailerSource.raws, before: ' ' } }); const references = localReferences(first.value); const comment = earlier && attachedComment(earlier); - declarations.forEach((decl) => decl.remove()); + dropDeclarations(); const relocate = (insert, gap) => { const indent = indentOf(ifRule); @@ -201,6 +228,7 @@ const ruleFunction = (primary) => (root, result) => { hoisted.raws.before = moved ? `\n${indent}` : `${gap}${indent}`; if (moved) insert(moved); insert(hoisted, moved); + if (trailer) parent.insertAfter(hoisted, trailer); comment?.remove(); earlier?.remove(); }; @@ -212,6 +240,7 @@ const ruleFunction = (primary) => (root, result) => { } else if (earlier && !references.some((ref) => declaredBetween(parent, earlier, ifRule, ref))) { hoisted.raws.before = earlier.raws.before; earlier.replaceWith(hoisted); + if (trailer) parent.insertAfter(hoisted, trailer); } else { relocate((node, previous) => (previous ? parent.insertAfter(previous, node) : parent.insertBefore(ifRule, node)), '\n'); } diff --git a/packages/devextreme-scss/tools/tokens/report.ts b/packages/devextreme-scss/tools/tokens/report.ts new file mode 100644 index 000000000000..36b480c702e9 --- /dev/null +++ b/packages/devextreme-scss/tools/tokens/report.ts @@ -0,0 +1,292 @@ +/* + * What a design-token package bump did, as data and as the markdown tools/tokens/update.mjs prints. + * + * Kept free of the file system and of `process` so both sides can use it: the update command loads + * it through Node's type stripping, tests/tokens-report.test.ts imports it directly. The same split + * build/tokens/consumed-tokens.ts uses. + */ + +/** Custom property name -> value, as one generated file declares them. */ +export type Declarations = Map; + +/** Generated file path -> its declarations. */ +export type GeneratedOutput = Map; + +export type NameDiff = { added: string[]; removed: string[] }; + +export type ValueChange = { file: string; name: string; was: string; now: string }; + +export type DeclarationRef = { file: string; name: string }; + +export type OutputDiff = { + changed: ValueChange[]; + gone: DeclarationRef[]; + appeared: DeclarationRef[]; +}; + +export type Report = { + package: string; + versionBefore: string; + versionAfter: string; + countBefore: number; + countAfter: number; + names: NameDiff; + lostConsumed: string[]; + output: OutputDiff; +}; + +/* + * Declarations only. A `var(--dxds-x)` read carries no value of its own, and counting it would + * report a change every time an unrelated reference moved. + */ +export const parseDeclarations = (css: string): Declarations => new Map( + [...css.matchAll(/(--dxds-[\w-]+)\s*:\s*([^;\n}]+)/g)].map(([, name, value]) => [name, value.trim()]), +); + +const byCodepoint = (left: string, right: string): number => (left < right ? -1 : 1); + +const missingFrom = (names: Iterable, present: ReadonlySet): string[] => [ + ...new Set([...names].filter((name) => !present.has(name))), +].sort(byCodepoint); + +export const diffNames = (before: Iterable, after: Iterable): NameDiff => ({ + added: missingFrom(after, new Set(before)), + removed: missingFrom(before, new Set(after)), +}); + +/** Names the theme reads that the package no longer offers — the build refuses to run on these. */ +export const findLostConsumed = ( + consumed: Iterable, + available: ReadonlySet, +): string[] => missingFrom(consumed, available); + +const byFileThenName = ( + left: DeclarationRef, + right: DeclarationRef, +): number => (left.file === right.file + ? byCodepoint(left.name, right.name) + : byCodepoint(left.file, right.file)); + +export const diffGenerated = (before: GeneratedOutput, after: GeneratedOutput): OutputDiff => { + const changed: ValueChange[] = []; + const gone: DeclarationRef[] = []; + const appeared: DeclarationRef[] = []; + + before.forEach((declarations, file) => { + const now = after.get(file) ?? new Map(); + + declarations.forEach((was, name) => { + const value = now.get(name); + + if (value === undefined) { + gone.push({ file, name }); + } else if (value !== was) { + changed.push({ file, name, was, now: value }); + } + }); + }); + + after.forEach((declarations, file) => { + const previously = before.get(file) ?? new Map(); + + declarations.forEach((_, name) => { + if (!previously.has(name)) { + appeared.push({ file, name }); + } + }); + }); + + return { + changed: changed.sort(byFileThenName), + gone: gone.sort(byFileThenName), + appeared: appeared.sort(byFileThenName), + }; +}; + +const section = (title: string, lines: string[]): string => [ + `## ${title}`, + '', + lines.length ? lines.join('\n') : '_none_', + '', +].join('\n'); + +const reference = ({ file, name }: DeclarationRef): string => `- \`${file}\`: \`${name}\``; + +export const renderReport = (report: Report): string => { + const { names, output } = report; + + const heading = report.versionBefore === report.versionAfter + ? `# ${report.package} ${report.versionAfter}` + : `# ${report.package}: ${report.versionBefore} → ${report.versionAfter}`; + + return [ + heading, + '', + '| | before | after |', + '|---|---|---|', + `| tokens | ${report.countBefore} | ${report.countAfter} |`, + `| added | | ${names.added.length} |`, + `| removed | | ${names.removed.length} |`, + '', + section( + `Read by the theme, gone from the package (${report.lostConsumed.length})`, + report.lostConsumed.map((name) => `- \`${name}\` — the token build will refuse to run`), + ), + section( + `Values that moved in the generated output (${output.changed.length})`, + output.changed.map(({ file, name, was, now }) => `- \`${file}\`: \`${name}\`\n` + + ` - was: \`${was}\`\n - now: \`${now}\``), + ), + section(`Gone from the generated output (${output.gone.length})`, output.gone.map(reference)), + section( + `New in the generated output (${output.appeared.length})`, + output.appeared.map(reference), + ), + ...(output.changed.length || output.gone.length + ? ['This is what the bump costs: values moved, so the etalon screenshots have to be ' + + 're-recorded and looked at.', ''] + : []), + ].join('\n'); +}; + +/* + * The same report for a person watching it happen. Markdown belongs in a pull request; in a + * terminal its pipes and its four `_none_` sections are noise, so this view drops what did not + * happen, groups the values by file, and caps the long lists. update.mjs picks by `isTTY` and + * writes whichever view to stdout alone, which keeps `> report.md` markdown. + */ + +export type TerminalOptions = { + /** ANSI colour. Off by default so the output stays comparable. */ + color?: boolean; + /** How many entries a section shows before it says how many more there are. */ + limit?: number; +}; + +const DEFAULT_LIMIT = 12; + +const paint = (code: string, text: string, color: boolean): string => (color ? `\u001B[${code}m${text}\u001B[0m` : text); + +const bold = (text: string, color: boolean): string => paint('1', text, color); +const dim = (text: string, color: boolean): string => paint('2', text, color); +const red = (text: string, color: boolean): string => paint('31', text, color); +const yellow = (text: string, color: boolean): string => paint('33', text, color); + +/* For a flat list, where one line is one entry. Grouped sections take groupCapped below. */ +const capped = (lines: string[], limit: number): string[] => (lines.length > limit + ? [...lines.slice(0, limit), ` … and ${lines.length - limit} more`] + : lines); + +const pad = (text: string, width: number): string => text + ' '.repeat(Math.max(0, width - text.length)); + +/* Same file, several names: say the file once and line the names up under it. */ +const groupByFile = ( + entries: T[], + line: (entry: T, width: number) => string, +): string[] => { + const files = [...new Set(entries.map(({ file }) => file))]; + + return files.flatMap((file) => { + const inFile = entries.filter((entry) => entry.file === file); + const width = Math.max(...inFile.map(({ name }) => name.length)); + + return [` ${file}`, ...inFile.map((entry) => line(entry, width))]; + }); +}; + +/* + * The cap is on entries, and it has to be taken before the grouping rather than after it. Capping + * the grouped lines spent part of the budget on file headers, counted those headers as omitted + * entries — so the tally read one too high per file — and could cut a header away from the + * entries under it, leaving names with no file to attribute them to. One file hid all three: + * its single header shifts both sides of the subtraction by one. + * + * The tally sits at the file indent rather than the entry one, because what it leaves out is + * rarely the last file's alone — with the budget spent, whole files further down never appear in + * the section at all, and a line indented under the last one printed would read as that file's + * remainder. Those absent files are counted too: the entry tally alone cannot say whether the + * section is a long file cut short or several files that were never reached. + */ +const groupCapped = ( + entries: T[], + limit: number, + line: (entry: T, width: number) => string, +): string[] => { + const shown = entries.slice(0, limit); + const omitted = entries.slice(limit); + const seen = new Set(shown.map(({ file }) => file)); + const unseen = new Set( + omitted.filter(({ file }) => !seen.has(file)).map(({ file }) => file), + ).size; + + return [ + ...groupByFile(shown, line), + ...(omitted.length + ? [` … and ${omitted.length} more${unseen ? `, ${unseen} file(s) not shown` : ''}`] + : []), + ]; +}; + +/* + * What can be said before the rebuild: which package, how much it moved, and what the theme reads + * that is no longer there. update.mjs prints this first, because the rebuild stops at the first + * missing name and never gets to the rest of them. + */ +export const renderPreamble = (report: Report, options: TerminalOptions = {}): string => { + const color = options.color ?? false; + const limit = options.limit ?? DEFAULT_LIMIT; + const { names } = report; + const lines: string[] = []; + + lines.push(report.versionBefore === report.versionAfter + ? `${bold(report.package, color)} ${report.versionAfter}` + : `${bold(report.package, color)} ${report.versionBefore} → ${bold(report.versionAfter, color)}`); + + const delta = names.added.length || names.removed.length + ? dim(` (+${names.added.length} −${names.removed.length})`, color) + : ''; + + lines.push(`tokens ${report.countBefore} → ${report.countAfter}${delta}`, ''); + + if (report.lostConsumed.length) { + lines.push(red(`the theme reads ${report.lostConsumed.length} name(s) this package no longer has`, color)); + lines.push(...capped(report.lostConsumed.map((name) => ` ${name}`), limit)); + lines.push(dim(' the token build will refuse to run', color), ''); + } + + return lines.join('\n'); +}; + +export const renderTerminal = (report: Report, options: TerminalOptions = {}): string => { + const color = options.color ?? false; + const limit = options.limit ?? DEFAULT_LIMIT; + const { output } = report; + const lines: string[] = [renderPreamble(report, options)]; + + if (output.changed.length) { + lines.push(`values that moved (${output.changed.length})`); + lines.push(...groupCapped( + output.changed, + limit, + ({ name, was, now }, width) => ` ${pad(name, width)} ${was} → ${bold(now, color)}`, + ), ''); + } + + if (output.gone.length) { + lines.push(`gone from the generated output (${output.gone.length})`); + lines.push(...groupCapped(output.gone, limit, ({ name }) => ` ${name}`), ''); + } + + if (output.appeared.length) { + lines.push(`new in the generated output (${output.appeared.length})`); + lines.push(...groupCapped(output.appeared, limit, ({ name }) => ` ${name}`), ''); + } + + if (output.changed.length || output.gone.length) { + lines.push(yellow('values moved — re-record the etalon screenshots and look at them', color), ''); + } else if (!report.lostConsumed.length) { + lines.push(dim('nothing moved in the generated output', color), ''); + } + + return lines.join('\n'); +}; diff --git a/packages/devextreme-scss/tools/tokens/update.mjs b/packages/devextreme-scss/tools/tokens/update.mjs new file mode 100644 index 000000000000..9a90999cb079 --- /dev/null +++ b/packages/devextreme-scss/tools/tokens/update.mjs @@ -0,0 +1,208 @@ +/* + * One command for a design-token package bump, and the report that goes with it. + * + * pnpm run tokens:update 262.24.0 # bump, reinstall, rebuild, regenerate, report + * pnpm run tokens:update # report the installed package, change nothing + * + * The four manual steps — edit the dependency, reinstall, rebuild the tokens, regenerate the + * registries — are the cheap part. It stops there: the themes are not rebuilt, so the CSS bundles on + * disk still come from the previous package until `nx build:themes` runs. The expensive part is knowing what the new package did, and that + * is what the report is for: names the theme reads and the package no longer has (the build refuses + * those), and every generated value that moved. The second list is the one that costs etalon + * screenshots, so it is printed per file with old and new side by side. + * + * What stays manual on purpose: approving the Renovate pull request, and re-recording the etalons. + * A bot can do neither — our etalons are pixels, and a value change has to be looked at. + * + * The install runs with --no-frozen-lockfile, which is the only way to move a pinned dependency, and + * pnpm takes the opportunity to normalise the rest of the lockfile. Read that diff before committing + * it: everything beyond this package is pnpm's housekeeping, not part of the bump. + * + * Everything here is file system and process; the diffing and the markdown live in report.ts, where + * tests/tokens-report.test.ts can reach them. + */ + +import { execFileSync } from 'node:child_process'; +import { readdirSync, readFileSync, writeFileSync } from 'node:fs'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; + +import { getBridgeFiles, THEME_FOLDER } from '../../build/tokens/sources.mjs'; +import { + buildAvailableNames, + collectCustomPropertyReferences, + collectTokenReferences, +} from '../../build/tokens/consumed-tokens.ts'; +import { + diffGenerated, + diffNames, + findLostConsumed, + parseDeclarations, + renderPreamble, + renderReport, + renderTerminal, +} from './report.ts'; + +const here = path.dirname(fileURLToPath(import.meta.url)); +const packageRoot = path.resolve(here, '..', '..'); +const repoRoot = path.resolve(packageRoot, '..', '..'); +const generatedRoot = path.join(packageRoot, 'scss', '_design-system'); +const themeRoot = path.join(packageRoot, 'scss', 'widgets', THEME_FOLDER); +const manifestPath = path.join(packageRoot, 'package.json'); +const PACKAGE = '@devexpress/design-tokens-internal'; + +/* + * Resolved as a path, not through `require`: `require.resolve` caches the resolved filename, pnpm + * keeps the previous version in its store, and the cached path stays readable after an install — so + * the "after" read would quietly return the package we just replaced. + */ +const tokensPackage = path.join(packageRoot, 'node_modules', PACKAGE); + +const walk = (dir, extension) => readdirSync(dir, { withFileTypes: true, recursive: true }) + .filter((entry) => entry.isFile() && entry.name.endsWith(extension)) + .map((entry) => path.join(entry.parentPath, entry.name)); + +const readFlatTokens = () => { + const { version, tokens } = JSON.parse( + readFileSync(path.join(tokensPackage, 'tokens.flat.json'), 'utf8'), + ); + + return { version, names: Object.keys(tokens) }; +}; + +const readGenerated = () => new Map(walk(generatedRoot, '.scss').map((file) => [ + path.relative(generatedRoot, file), + parseDeclarations(readFileSync(file, 'utf8')), +])); + +/* The token names the theme actually reads, in the spelling the package uses. */ +const readConsumed = () => { + const consumed = new Set(); + + walk(themeRoot, '.scss').forEach((file) => { + const content = readFileSync(file, 'utf8'); + const source = path.relative(themeRoot, file); + + collectTokenReferences(content, source).forEach((name) => consumed.add(name)); + collectCustomPropertyReferences(content, source).forEach((name) => consumed.add(name)); + }); + + return consumed; +}; + +/* + * Markdown when the output is going somewhere — a file, a pipe, a pull request — and the terminal + * view when a person is watching. NO_COLOR is the usual opt-out. + * + * stdout carries the report and nothing else. Everything a bump says while it works — the command + * banners, what the child processes print, the preamble, the closing next steps — goes to stderr, + * so `> report.md` gets the markdown even when the run is a bump rather than a report. + */ +const plain = Boolean(process.env.NO_COLOR); +const interactive = process.stdout.isTTY === true; +const color = interactive && !plain; + +/* The preamble is written to stderr, so whether it is coloured follows that stream, not stdout's. */ +const progressColor = process.stderr.isTTY === true && !plain; + +const show = (report) => { + process.stdout.write(interactive + ? `\n${renderTerminal(report, { color })}` + : `\n${renderReport(report)}`); +}; + +const run = (command, args, cwd) => { + process.stderr.write(`\n$ ${command} ${args.join(' ')}\n`); + + try { + /* The child writes to fd 2 as well: install and build chatter is progress, not the report. */ + execFileSync(command, args, { cwd, stdio: ['inherit', 2, 'inherit'] }); + + return true; + } catch { + process.stderr.write(`\n${command} ${args.join(' ')} failed — see its output above.\n`); + + return false; + } +}; + +const setDependency = (version) => { + const manifest = JSON.parse(readFileSync(manifestPath, 'utf8')); + + manifest.devDependencies[PACKAGE] = version; + writeFileSync(manifestPath, `${JSON.stringify(manifest, null, 2)}\n`); +}; + +// --------------------------------------------------------------------------------------------- + +const [target] = process.argv.slice(2); + +/* + * No argument reports and changes nothing: that is the answer to "what is installed and what does + * the theme do with it", and it is what someone typing the command without reading it deserves to + * get. A bump has to be asked for by version. + */ +const reportOnly = target === undefined || target === '--report'; + +if (!reportOnly && !/^\d+\.\d+\.\d+(-[\w.]+)?$/.test(target)) { + process.stderr.write(`"${target}" is not a version\n` + + 'usage: pnpm run tokens:update [] # without a version: report only\n'); + process.exit(1); +} +const before = { ...readFlatTokens(), generated: readGenerated() }; + +/* Every step that can fail leaves the tree somewhere; each of them says where, and stops. */ +const giveUp = (version) => { + process.stderr.write(`\npackage.json asks for ${version} now.\n` + + `To go back: pnpm run tokens:update ${before.version}\n`); + process.exit(1); +}; + +if (!reportOnly) { + setDependency(target); + + if (!run('pnpm', ['install', '--no-frozen-lockfile'], repoRoot)) { + giveUp(target); + } +} + +const after = readFlatTokens(); +const summary = { + package: PACKAGE, + versionBefore: before.version, + versionAfter: after.version, + countBefore: before.names.length, + countAfter: after.names.length, + names: diffNames(before.names, after.names), + lostConsumed: findLostConsumed( + readConsumed(), + buildAvailableNames(after.names, new Set(getBridgeFiles())), + ), +}; + +if (!reportOnly) { + /* + * Said before the rebuild, because the rebuild is what stops on a missing name — and it stops at + * the first one, having never looked for the others. + */ + process.stderr.write(`\n${renderPreamble(summary, { color: progressColor })}\n`); + + const rebuilt = run('node', ['build/tokens/build-tokens.mjs'], packageRoot) + && run('node', ['tools/naming/derive-registries.mjs'], packageRoot); + + if (!rebuilt) { + giveUp(after.version); + } +} + +const report = { ...summary, output: diffGenerated(before.generated, readGenerated()) }; + +show(report); + +if (!reportOnly) { + process.stderr.write('\nThis rebuilt the token layer, not the themes — ' + + 'packages/devextreme/artifacts/css still holds the previous bundles.\n' + + 'Next: pnpm nx build:themes devextreme-scss, then the etalons if any value moved.\n' + + `\nCheck \`git diff pnpm-lock.yaml\`: anything in it beyond ${PACKAGE} is pnpm normalising ` + + 'the lockfile, not this bump.\n'); +} diff --git a/packages/devextreme-scss/tsconfig.json b/packages/devextreme-scss/tsconfig.json new file mode 100644 index 000000000000..18b53e191317 --- /dev/null +++ b/packages/devextreme-scss/tsconfig.json @@ -0,0 +1,25 @@ +{ + "compilerOptions": { + "noEmit": true, + "strict": true, + "target": "es2022", + "module": "preserve", + "moduleResolution": "bundler", + "lib": [ + "es2022" + ], + "types": [ + "node", + "jest" + ], + "forceConsistentCasingInFileNames": true, + "noUnusedLocals": true, + "noUnusedParameters": true + }, + "include": [ + "build/tokens/**/*.ts", + "tools/naming/**/*.ts", + "tools/tokens/**/*.ts", + "tests/**/*.ts" + ] +} diff --git a/packages/devextreme-themebuilder/src/metadata/collector.ts b/packages/devextreme-themebuilder/src/metadata/collector.ts index 09fbf044e686..4301b7a680ac 100644 --- a/packages/devextreme-themebuilder/src/metadata/collector.ts +++ b/packages/devextreme-themebuilder/src/metadata/collector.ts @@ -1,13 +1,21 @@ import { promises as fs } from 'fs'; import { - resolve, relative, join, dirname, + resolve, relative, join, dirname, sep, } from 'path'; import MetadataGenerator from './generator'; +import internalScssPaths from '../../../devextreme-scss/build/internal-scss-paths.json'; + +const isInternalScssPath = (relativePath: string): boolean => { + const posixPath = relativePath.split(sep).join('/'); + return internalScssPaths.some((internalPath) => posixPath.startsWith(internalPath)); +}; export default class MetadataCollector { generator = new MetadataGenerator(); static async saveScssFiles(files: Promise, destination: string): Promise { + await fs.rm(resolve(destination), { recursive: true, force: true }); + await Promise.all((await files).map(async (file) => { const absolutePath = resolve(join(destination, file.path)); const directory = dirname(absolutePath); @@ -35,7 +43,8 @@ export default class MetadataCollector { dirName: string, handler: (content: string) => string, ): Promise { - const fileList = await this.getFileList(dirName); + const fileList = (await this.getFileList(dirName)) + .filter((filePath) => !isInternalScssPath(relative(dirName, filePath))); return Promise.all(fileList.map(async (filePath) => { const relativePath = relative(dirName, filePath); diff --git a/packages/devextreme-themebuilder/tests/data/scss/_design-system/fluent/accents/blue.scss b/packages/devextreme-themebuilder/tests/data/scss/_design-system/fluent/accents/blue.scss new file mode 100644 index 000000000000..b7fb0c97dace --- /dev/null +++ b/packages/devextreme-themebuilder/tests/data/scss/_design-system/fluent/accents/blue.scss @@ -0,0 +1,3 @@ +:root { + --dxds-primary-100: #0f6cbd; +} diff --git a/packages/devextreme-themebuilder/tests/data/scss/_design-system/variables/_ds.scss b/packages/devextreme-themebuilder/tests/data/scss/_design-system/variables/_ds.scss new file mode 100644 index 000000000000..09edaffa3110 --- /dev/null +++ b/packages/devextreme-themebuilder/tests/data/scss/_design-system/variables/_ds.scss @@ -0,0 +1 @@ +$primary-100: var(--dxds-primary-100); diff --git a/packages/devextreme-themebuilder/tests/data/scss/bundles/dx.fluent-next.blue.light.scss b/packages/devextreme-themebuilder/tests/data/scss/bundles/dx.fluent-next.blue.light.scss new file mode 100644 index 000000000000..7e67cd53ee5f --- /dev/null +++ b/packages/devextreme-themebuilder/tests/data/scss/bundles/dx.fluent-next.blue.light.scss @@ -0,0 +1 @@ +@use "../widgets/fluent-next/colors" with ($color: "blue", $mode: "light"); diff --git a/packages/devextreme-themebuilder/tests/data/scss/widgets/fluent-next/_colors.scss b/packages/devextreme-themebuilder/tests/data/scss/widgets/fluent-next/_colors.scss new file mode 100644 index 000000000000..feece888aa44 --- /dev/null +++ b/packages/devextreme-themebuilder/tests/data/scss/widgets/fluent-next/_colors.scss @@ -0,0 +1,3 @@ +@use "../../_design-system/variables/ds" as ds; + +$base-accent: ds.$primary-100; diff --git a/packages/devextreme-themebuilder/tests/metadata/collector.test.ts b/packages/devextreme-themebuilder/tests/metadata/collector.test.ts index 1334e81f9621..a213745ecb74 100644 --- a/packages/devextreme-themebuilder/tests/metadata/collector.test.ts +++ b/packages/devextreme-themebuilder/tests/metadata/collector.test.ts @@ -1,4 +1,6 @@ -import { join, resolve, dirname } from 'path'; +import { + join, resolve, dirname, relative, +} from 'path'; import { promises } from 'fs'; import MetadataCollector from '../../src/metadata/collector'; @@ -7,7 +9,7 @@ const rootDir = join(__dirname, '..', '..'); const scssDir = join(rootDir, 'tests', 'data', 'scss'); describe('MetadataCollector', () => { - const expectedFileList: string[] = [ + const exposedFileList: string[] = [ join('bundles', 'dx.light.scss'), join('bundles', 'dx.material.blue.light.scss'), join('widgets', 'generic', 'accordion', '_colors.scss'), @@ -21,8 +23,16 @@ describe('MetadataCollector', () => { join('widgets', 'material', '_index.scss'), ]; + const internalFileList: string[] = [ + join('_design-system', 'fluent', 'accents', 'blue.scss'), + join('_design-system', 'variables', '_ds.scss'), + join('widgets', 'fluent-next', '_colors.scss'), + join('bundles', 'dx.fluent-next.blue.light.scss'), + ]; + promises.mkdir = jest.fn(); promises.writeFile = jest.fn(); + promises.rm = jest.fn(); beforeEach(() => { jest.clearAllMocks(); @@ -31,22 +41,26 @@ describe('MetadataCollector', () => { test('getFileList', async () => { const collector = new MetadataCollector(); const fileList = await collector.getFileList(join(rootDir, 'tests', 'data', 'scss')); - const expectedFullPaths = expectedFileList.map((file) => join(scssDir, file)); + const expectedFullPaths = [...exposedFileList, ...internalFileList] + .map((file) => join(scssDir, file)); expect(fileList.length).toBe(expectedFullPaths.length); fileList.forEach((file) => expect(expectedFullPaths).toContain(file)); }); - test('readFiles', async () => { + test('readFiles keeps out the paths the scss package marks as internal', async () => { const collector = new MetadataCollector(); const handler = (content: string): string => content; - const filesInfo = await collector.readFiles(join(rootDir, 'tests', 'data', 'scss'), handler); + const onDisk = (await collector.getFileList(scssDir)).map((file) => relative(scssDir, file)); + const filesInfo = await collector.readFiles(scssDir, handler); + const returnedPaths = filesInfo.map((file) => file.path); - expect(filesInfo.length).toBe(expectedFileList.length); + expect(onDisk.filter((file) => !returnedPaths.includes(file)).sort()) + .toEqual([...internalFileList].sort()); + expect(returnedPaths.sort()).toEqual([...exposedFileList].sort()); filesInfo.forEach((file) => { - expect(expectedFileList).toContain(file.path); expect(typeof file.content).toBe('string'); expect(file.content.length).toBeGreaterThan(0); }); @@ -79,6 +93,17 @@ describe('MetadataCollector', () => { expect(promises.writeFile).toHaveBeenCalledWith(expectedDestinationPath, fileContent); }); + test('saveScssFiles wipes the destination so sources deleted upstream stop shipping', async () => { + const destinationPath = './scss'; + + await MetadataCollector.saveScssFiles(Promise.resolve([]), destinationPath); + + expect(promises.rm).toHaveBeenCalledWith( + resolve(destinationPath), + { recursive: true, force: true }, + ); + }); + test('saveMetadata', async () => { const collector = new MetadataCollector(); const version = '1.1.1'; diff --git a/packages/devextreme-themebuilder/tests/modules/themes.test.ts b/packages/devextreme-themebuilder/tests/modules/themes.test.ts index c6fbef7def7a..31d037ee34e3 100644 --- a/packages/devextreme-themebuilder/tests/modules/themes.test.ts +++ b/packages/devextreme-themebuilder/tests/modules/themes.test.ts @@ -4,10 +4,13 @@ import themes from '../../src/modules/themes'; describe('Themes', () => { test('check components and theme builder themes', () => { - const knownThemes: string[] = getThemes().map( - ([theme, size, color, mode = null]: [string, string, string, string | null]): string => - `${theme}.${color}${mode ? `-${mode}` : ''}${size === 'default' ? '' : '-compact'}` - ); + const knownThemes: string[] = getThemes() + // fluent-next is an internal design-tokens theme, not exposed in ThemeBuilder + .filter(([theme]: [string]) => theme !== 'fluent-next') + .map( + ([theme, size, color, mode = null]: [string, string, string, string | null]): string => + `${theme}.${color}${mode ? `-${mode}` : ''}${size === 'default' ? '' : '-compact'}` + ); const builderThemes: string[] = themes.map((t) => `${t.name}.${t.colorScheme}`); const nonListedBuilderThemes: string[] = knownThemes.filter((t) => !builderThemes.includes(t)); diff --git a/packages/devextreme/js/__internal/core/utils/__tests__/swatch_container.test.ts b/packages/devextreme/js/__internal/core/utils/__tests__/swatch_container.test.ts new file mode 100644 index 000000000000..f34102aa58ea --- /dev/null +++ b/packages/devextreme/js/__internal/core/utils/__tests__/swatch_container.test.ts @@ -0,0 +1,205 @@ +import { + afterEach, beforeEach, describe, expect, it, jest, +} from '@jest/globals'; +import $ from '@js/core/renderer'; +import { value as viewPort } from '@js/core/utils/view_port'; +import swatchContainer from '@ts/core/utils/swatch_container'; + +/* + * The viewport is mocked rather than assigned: `value(x)` falls back to for anything empty, + * so the state before documentReady - `value()` returning undefined - is otherwise unreachable, + * and that is the state overlays created too early run into (T713615, T1143527). + */ +jest.mock('@js/core/utils/view_port'); + +const viewPortMock = viewPort as unknown as jest.Mock<() => unknown>; + +const { getSwatchContainer } = swatchContainer; + +// jsdom resolves a custom property declared ON an element but does not inherit it, so the tests +// name the resolved mode at the elements the code reads it from. +const MODE_STYLES = ` + .mode-light { --dx-theme-mode: light; } + .mode-dark { --dx-theme-mode: dark; } + .mode-sepia { --dx-theme-mode: sepia; } +`; + +const classesOf = (element: Element): string[] => [...element.classList].sort(); + +describe('getSwatchContainer', () => { + let $viewport = document.createElement('div'); + + const render = (markup: string): HTMLElement => { + const host = document.createElement('div'); + + host.innerHTML = markup; + document.body.appendChild(host); + + return host.querySelector('.target') as HTMLElement; + }; + + const containerFor = ( + markup: string, + ): Element => getSwatchContainer(render(markup))?.get(0) as Element; + + beforeEach(() => { + document.head.innerHTML = ``; + $viewport = document.createElement('div'); + $viewport.className = 'dx-viewport'; + document.body.appendChild($viewport); + viewPortMock.mockReturnValue($($viewport)); + }); + + afterEach(() => { + document.head.innerHTML = ''; + document.body.innerHTML = ''; + viewPortMock.mockReset(); + }); + + it('returns the viewport itself when the element is in no swatch and in no mode', () => { + expect(containerFor('
')).toBe($viewport); + }); + + describe('swatches', () => { + it('creates a container in the viewport for a swatch', () => { + const container = containerFor('
'); + + expect(classesOf(container)).toEqual(['dx-swatch-custom']); + expect(container.parentElement).toBe($viewport); + }); + + it('reads the classes off the element itself', () => { + expect(classesOf(containerFor('
'))).toEqual(['dx-swatch-custom']); + }); + + it('carries every swatch class, not just the first', () => { + const container = containerFor('
'); + + expect(classesOf(container)).toEqual(['dx-swatch-a', 'dx-swatch-b']); + }); + + it('takes the nearest swatch', () => { + const container = containerFor(` +
+
+
`); + + expect(classesOf(container)).toEqual(['dx-swatch-inner']); + }); + }); + + describe('theme mode', () => { + it('carries the mode the element resolved to', () => { + const container = containerFor('
'); + + expect(classesOf(container)).toEqual(['dx-theme-mode-dark']); + expect(container.parentElement).toBe($viewport); + }); + + /* + * `dx-theme-mode-inverted` means "the opposite of my surroundings" and the container is + * reparented to the viewport, where the surroundings are different ones - so the mode comes + * from what the cascade resolved, never from the class the element wears. + */ + it('names the resolved mode, not the class the element carries', () => { + const container = containerFor('
'); + + expect(classesOf(container)).toEqual(['dx-theme-mode-light']); + }); + + it('carries no mode when the theme declares none', () => { + expect(containerFor('
')).toBe($viewport); + }); + + // The contract is light or dark; anything else names no scope the theme can paint, and a + // container carrying it would be a wrapper no rule matches. + it('carries no mode when the value names none', () => { + expect(containerFor('
')).toBe($viewport); + }); + + it('carries a swatch and a mode together', () => { + const container = containerFor(` +
+
+
`); + + expect(classesOf(container)).toEqual(['dx-swatch-custom', 'dx-theme-mode-dark']); + }); + }); + + describe('scopes the viewport already resolves to', () => { + it('returns the viewport when it resolves to the same mode', () => { + $viewport.classList.add('mode-dark'); + + expect(containerFor('
')).toBe($viewport); + expect($viewport.children).toHaveLength(0); + }); + + it('returns the viewport when it sits in the same swatch', () => { + const $swatch = document.createElement('div'); + + $swatch.className = 'dx-swatch-custom'; + document.body.appendChild($swatch); + $swatch.appendChild($viewport); + + expect(containerFor('
')).toBe($viewport); + }); + + it('creates a container when the modes differ', () => { + $viewport.classList.add('mode-dark'); + + const container = containerFor('
'); + + expect(classesOf(container)).toEqual(['dx-theme-mode-light']); + expect(container.parentElement).toBe($viewport); + }); + }); + + describe('reuse', () => { + it('reuses one container for elements in the same swatch and mode', () => { + const markup = '
'; + + expect(containerFor(markup)).toBe(containerFor(markup)); + expect($viewport.children).toHaveLength(1); + }); + + it('does not reuse a container carrying a scope the element is not in', () => { + const inBoth = containerFor('
'); + const inSwatch = containerFor('
'); + + expect(inSwatch).not.toBe(inBoth); + expect(classesOf(inSwatch)).toEqual(['dx-swatch-custom']); + }); + + // Only swatch and mode classes describe the scope; anything else on the page may have tagged + // the container, and re-creating it on every call would grow the viewport without bound. + it('reuses a container that picked up an unrelated class', () => { + const first = containerFor('
'); + + first.classList.add('some-app-class'); + + expect(containerFor('
')).toBe(first); + expect($viewport.children).toHaveLength(1); + }); + }); + + describe('before the viewport is set', () => { + beforeEach(() => { + viewPortMock.mockReturnValue(undefined); + }); + + it('reports no container for an element in no scope', () => { + expect(getSwatchContainer(render('
'))).toBeUndefined(); + }); + + it('reports no container for an element in a mode', () => { + expect(getSwatchContainer(render('
'))).toBeUndefined(); + }); + + it('reports no container for an element in a swatch', () => { + const element = render('
'); + + expect(getSwatchContainer(element)).toBeUndefined(); + }); + }); +}); diff --git a/packages/devextreme/js/__internal/core/utils/swatch_container.ts b/packages/devextreme/js/__internal/core/utils/swatch_container.ts index c426d0b9050d..53685c4f44fd 100644 --- a/packages/devextreme/js/__internal/core/utils/swatch_container.ts +++ b/packages/devextreme/js/__internal/core/utils/swatch_container.ts @@ -1,29 +1,94 @@ import type { dxElementWrapper } from '@js/core/renderer'; import $ from '@js/core/renderer'; import { value } from '@js/core/utils/view_port'; +import { resolvedThemeMode } from '@ts/core/utils/theme_mode'; const SWATCH_CONTAINER_CLASS_PREFIX = 'dx-swatch-'; +const THEME_MODE_CLASS_PREFIX = 'dx-theme-mode-'; +const classesByPrefix = ( + element: Element, + prefix: string, +): string[] => [...element.classList].filter((cssClass) => cssClass.startsWith(prefix)); + +const closestClassesByPrefix = ( + $element: dxElementWrapper, + prefix: string, +): string[] => { + const $scope = $element.closest(`[class^="${prefix}"], [class*=" ${prefix}"]`); + + return $scope.length ? classesByPrefix($scope.get(0), prefix) : []; +}; + +// The container is reparented to the viewport, where the surroundings are different ones, so the +// class has to name the mode the cascade resolved rather than the one the element wears. +const themeModeClasses = ($element: dxElementWrapper): string[] => { + const mode = resolvedThemeMode($element); + + return mode ? [`${THEME_MODE_CLASS_PREFIX}${mode}`] : []; +}; + +const scopeClasses = ($element: dxElementWrapper): string[] => [ + ...closestClassesByPrefix($element, SWATCH_CONTAINER_CLASS_PREFIX), + ...themeModeClasses($element), +]; + +const getContainerClasses = ( + $element: dxElementWrapper, + $viewport: dxElementWrapper, +): string[] => { + const classes = scopeClasses($element); + // A scope the viewport already resolves to needs no container of its own: it would be a wrapper + // that repaints nothing, and one that measures nothing - callers reading the container as a + // geometric area (popup drag and resize) would be clamped to its zero height. + const sorted = (cssClasses: string[]): string => [...cssClasses].sort().join(' '); + + return sorted(classes) === sorted(scopeClasses($viewport)) ? [] : classes; +}; + +// A container carrying a swatch or a mode class beyond the ones asked for belongs to a scope the +// element itself is not in. A class with neither prefix says nothing about the scope, so it does +// not disqualify a container - anything on the page may have tagged it. +const isExactScope = ( + node: Element, + containerClasses: string[], +): boolean => [SWATCH_CONTAINER_CLASS_PREFIX, THEME_MODE_CLASS_PREFIX] + .every((prefix) => classesByPrefix(node, prefix) + .every((cssClass) => containerClasses.includes(cssClass))); + +/* + * Where an overlay belonging to `element` should be rendered: the viewport itself, or a child of it + * repeating the swatch and the theme mode the element resolved to. + * + * Undefined while the viewport is unset - before documentReady - which callers read as "not ready + * yet" (speed_dial_action defers to ready(); T713615, T1143527). + */ const getSwatchContainer = ( element: Element | dxElementWrapper, -): dxElementWrapper => { - const $element = $(element); - const swatchContainer = $element.closest(`[class^="${SWATCH_CONTAINER_CLASS_PREFIX}"], [class*=" ${SWATCH_CONTAINER_CLASS_PREFIX}"]`); - const viewport: dxElementWrapper = value(); +): dxElementWrapper | undefined => { + const $viewport = value() as dxElementWrapper | undefined; + + if (!$viewport?.length) { + return $viewport; + } + + const containerClasses = getContainerClasses($(element), $viewport); - if (!swatchContainer.length) { - return viewport; + if (!containerClasses.length) { + return $viewport; } - const swatchClassRegex = new RegExp(`(\\s|^)(${SWATCH_CONTAINER_CLASS_PREFIX}.*?)(\\s|$)`); - const swatchClass = swatchContainer[0].className.match(swatchClassRegex)[2]; - let viewportSwatchContainer = viewport.children(`.${swatchClass}`); + const selector = containerClasses.map((cssClass) => `.${cssClass}`).join(''); + let $container = $($viewport + .children(selector) + .toArray() + .filter((node) => isExactScope(node, containerClasses))); - if (!viewportSwatchContainer.length) { - viewportSwatchContainer = $('
').addClass(swatchClass).appendTo(viewport); + if (!$container.length) { + $container = $('
').addClass(containerClasses.join(' ')).appendTo($viewport); } - return viewportSwatchContainer; + return $container; }; export default { getSwatchContainer }; diff --git a/packages/devextreme/js/__internal/core/utils/theme_mode.ts b/packages/devextreme/js/__internal/core/utils/theme_mode.ts new file mode 100644 index 000000000000..5a74dca286c0 --- /dev/null +++ b/packages/devextreme/js/__internal/core/utils/theme_mode.ts @@ -0,0 +1,28 @@ +import type { dxElementWrapper } from '@js/core/renderer'; +import $ from '@js/core/renderer'; +import { getWindow, hasWindow } from '@js/core/utils/window'; + +export type ThemeMode = 'light' | 'dark'; + +/* + * Published by a theme on every mode scope it declares. `dx-theme-mode-inverted` asks for the + * opposite of its surroundings, so ancestor classes never answer which mode an element ended up + * in - only the cascade does, and this property is where it says so. + */ +export const THEME_MODE_PROPERTY = '--dx-theme-mode'; + +/** The mode an element resolves to; null when nothing declared one, or named no mode. */ +export function resolvedThemeMode( + element: Element | dxElementWrapper, +): ThemeMode | null { + const node = $(element).get(0); + const window = hasWindow() ? getWindow() : undefined; + + if (!node || !window?.getComputedStyle) { + return null; + } + + const declared = window.getComputedStyle(node).getPropertyValue(THEME_MODE_PROPERTY).trim(); + + return declared === 'light' || declared === 'dark' ? declared : null; +} diff --git a/packages/devextreme/js/__internal/ui/__tests__/themes.test.ts b/packages/devextreme/js/__internal/ui/__tests__/themes.test.ts new file mode 100644 index 000000000000..e6cbf4630747 --- /dev/null +++ b/packages/devextreme/js/__internal/ui/__tests__/themes.test.ts @@ -0,0 +1,92 @@ +import { + afterEach, beforeEach, describe, expect, it, +} from '@jest/globals'; +import $ from '@js/core/renderer'; +import { themeModeChangedCallback } from '@ts/ui/m_themes_callback'; +import { mode, refreshMode, resetTheme } from '@ts/ui/themes'; + +/* + * jsdom resolves a custom property declared ON an element but does not inherit it, so these cases + * name the mode at the element `mode()` reads it from. Inheritance - a scope declaring the property + * and a descendant resolving it through the cascade, which is how the mechanism actually works - is + * covered in a real browser by e2e/testcafe-devextreme/tests/common/themeModes.ts. + */ +const style = (css: string): void => { document.head.innerHTML = ``; }; + +const withThemeMarker = (themeName: string): string => `.dx-theme-marker { font-family: "dx.${themeName}"; }`; + +describe('themes.mode', () => { + let element = document.createElement('div'); + + beforeEach(() => { + element = document.createElement('div'); + element.className = 'probe'; + document.body.appendChild(element); + }); + + afterEach(() => { + document.head.innerHTML = ''; + document.body.innerHTML = ''; + resetTheme(); + }); + + it('reads the mode the element resolves to', () => { + style('.probe { --dx-theme-mode: dark; }'); + + expect(mode(element)).toBe('dark'); + }); + + it('accepts a renderer wrapper as well as an element', () => { + style('.probe { --dx-theme-mode: dark; }'); + + expect(mode($(element))).toBe('dark'); + }); + + it('falls back to the loaded theme when nothing declares a mode', () => { + style(withThemeMarker('generic.dark')); + + expect(mode(element)).toBe('dark'); + }); + + it('answers light for a loaded theme that is not dark', () => { + style(withThemeMarker('generic.light')); + + expect(mode(element)).toBe('light'); + }); + + it('lets the element outrank the loaded theme', () => { + style(`${withThemeMarker('generic.dark')} .probe { --dx-theme-mode: light; }`); + + expect(mode(element)).toBe('light'); + }); + + it('ignores a value that names no mode', () => { + style(`${withThemeMarker('generic.dark')} .probe { --dx-theme-mode: sepia; }`); + + expect(mode(element)).toBe('dark'); + }); + + it('answers for a detached element instead of throwing', () => { + style(withThemeMarker('generic.dark')); + + expect(mode(document.createElement('div'))).toBe('dark'); + }); +}); + +describe('themes.refreshMode', () => { + it('announces that a resolved mode may have changed', () => { + const told: number[] = []; + const subscriber = (): void => { told.push(1); }; + + themeModeChangedCallback.add(subscriber); + + try { + refreshMode(); + refreshMode(); + + expect(told).toHaveLength(2); + } finally { + themeModeChangedCallback.remove(subscriber); + } + }); +}); diff --git a/packages/devextreme/js/__internal/ui/m_themes_callback.ts b/packages/devextreme/js/__internal/ui/m_themes_callback.ts index 8a5897072ef2..08f9f243d539 100644 --- a/packages/devextreme/js/__internal/ui/m_themes_callback.ts +++ b/packages/devextreme/js/__internal/ui/m_themes_callback.ts @@ -1,3 +1,10 @@ import Callbacks from '@js/core/utils/callbacks'; export const themeReadyCallback = Callbacks(); + +/* + * Fired by `themes.refreshMode()`. Anything rendered outside the scope it belongs to - today that + * is open overlays, which live in the viewport - re-reads its mode here. It sits in this module so + * that neither themes.ts nor the overlay has to import the other. + */ +export const themeModeChangedCallback = Callbacks(); diff --git a/packages/devextreme/js/__internal/ui/overlay/overlay.ts b/packages/devextreme/js/__internal/ui/overlay/overlay.ts index e1a18de96da5..c196a7d6cf76 100644 --- a/packages/devextreme/js/__internal/ui/overlay/overlay.ts +++ b/packages/devextreme/js/__internal/ui/overlay/overlay.ts @@ -46,6 +46,7 @@ import windowUtils from '@ts/core/utils/m_window'; import type { OptionChanged } from '@ts/core/widget/types'; import type { SupportedKeys } from '@ts/core/widget/widget'; import Widget from '@ts/core/widget/widget'; +import { themeModeChangedCallback } from '@ts/ui/m_themes_callback'; import type { BaseControllerProperties, ControllerOverlayElements, @@ -273,6 +274,8 @@ class Overlay< _viewPortChangeHandle?: () => void; + _themeModeChangeHandle?: () => void; + _proxiedDocumentDownHandler?: EventHandler; _supportedKeys(): SupportedKeys { @@ -414,6 +417,7 @@ class Overlay< this._$wrapper.attr('data-bind', 'dxControlsDescendantBindings: true'); this._toggleViewPortSubscription(true); + this._toggleThemeModeSubscription(true); const { hideTopOverlayHandler } = this.option(); @@ -631,6 +635,56 @@ class Overlay< this._refresh(); } + _toggleThemeModeSubscription(toggle: boolean): void { + if (this._themeModeChangeHandle) { + themeModeChangedCallback.remove(this._themeModeChangeHandle); + } + + if (toggle) { + this._themeModeChangeHandle = (): void => { + this._themeModeChangeHandler(); + }; + + themeModeChangedCallback.add(this._themeModeChangeHandle); + } + } + + /* + * The container carries the mode its owner resolved to when the overlay was shown, and nothing + * re-picks it afterwards: `_moveToContainer` runs on becoming visible and on a content + * re-render, and a class moving up the tree is neither. + */ + _themeModeChangeHandler(): void { + if (!this._isVisible()) { + return; + } + + // Move only if the scope named a different node: appending is not a no-op for a child already + // in place, and the detach takes the focus out, restarts animations and reloads any iframe. + const { $container } = this._positionController; + const wrapper = this._$wrapper?.get(0) as HTMLElement | undefined; + + if (!$container || $container.get(0) === wrapper?.parentElement) { + return; + } + + /* + * The move detaches the wrapper, and a detached element loses the focus for good - the browser + * does not hand it back on re-insert. Unlike a container the application changed on one named + * overlay, this runs on every open overlay at once, because an application announced that a + * class moved somewhere; taking the caret out of whatever the user was typing in is not part + * of that. The selection survives on the element itself, so restoring the focus is enough. + */ + const focused = domAdapter.getActiveElement(wrapper) as HTMLElement | null; + const shouldRestoreFocus = !!wrapper && !!focused && domUtils.contains(wrapper, focused); + + this._moveToContainer(); + + if (shouldRestoreFocus) { + focused?.focus(); + } + } + _renderWrapperAttributes(): void { const { wrapperAttr } = this.option(); @@ -1583,6 +1637,7 @@ class Overlay< } this._toggleViewPortSubscription(false); + this._toggleThemeModeSubscription(false); this._toggleSubscriptions(false); this._updateZIndexStackPosition(false); diff --git a/packages/devextreme/js/__internal/ui/overlay/overlay_position_controller.ts b/packages/devextreme/js/__internal/ui/overlay/overlay_position_controller.ts index cc3bef9acf77..a08290530ceb 100644 --- a/packages/devextreme/js/__internal/ui/overlay/overlay_position_controller.ts +++ b/packages/devextreme/js/__internal/ui/overlay/overlay_position_controller.ts @@ -173,7 +173,8 @@ export class OverlayPositionController< } get $container(): dxElementWrapper | undefined { - // NOTE: swatch classes can be updated runtime + // Resolved on every read: the swatch and the theme mode an element sits in can both change at + // runtime, and an overlay shown afterwards has to land in the scope that holds then. this.updateContainer(); return this._$markupContainer; diff --git a/packages/devextreme/js/__internal/ui/speed_dial_action/speed_dial_main_item.ts b/packages/devextreme/js/__internal/ui/speed_dial_action/speed_dial_main_item.ts index 8fe2f4a5ed6f..409f80dbbe3f 100644 --- a/packages/devextreme/js/__internal/ui/speed_dial_action/speed_dial_main_item.ts +++ b/packages/devextreme/js/__internal/ui/speed_dial_action/speed_dial_main_item.ts @@ -314,7 +314,7 @@ class SpeedDialMainItem extends SpeedDialItem { for (const action of actions) { const $actionElement = $('
') - .appendTo(getSwatchContainer(action.$element())); + .appendTo(getSwatchContainer(action.$element()) ?? $()); eventsEngine.off($actionElement, 'click'); eventsEngine.on($actionElement, 'click', () => { @@ -483,7 +483,7 @@ export function initAction(newAction: SpeedDialAction): void { if (!speedDialMainItem) { const $fabMainElement = $('
') - .appendTo(getSwatchContainer(newAction.$element())); + .appendTo(getSwatchContainer(newAction.$element()) ?? $()); speedDialMainItem = newAction._createComponent( $fabMainElement, diff --git a/packages/devextreme/js/__internal/ui/themes.ts b/packages/devextreme/js/__internal/ui/themes.ts index 537b6e7f29a9..ff49c99cf5b8 100644 --- a/packages/devextreme/js/__internal/ui/themes.ts +++ b/packages/devextreme/js/__internal/ui/themes.ts @@ -11,7 +11,8 @@ import { changeCallback, originalViewPort, value as viewPortValue } from '@js/co import { getWindow, hasWindow } from '@js/core/utils/window'; import errors from '@js/ui/widget/ui.errors'; import { uiLayerInitialized } from '@ts/core/utils/m_common'; -import { themeReadyCallback } from '@ts/ui/m_themes_callback'; +import { resolvedThemeMode } from '@ts/core/utils/theme_mode'; +import { themeModeChangedCallback, themeReadyCallback } from '@ts/ui/m_themes_callback'; const window = getWindow(); const ready = readyCallbacks.add; @@ -350,13 +351,11 @@ export function init(options): void { current(options); } -function isTheme(themeRegExp: string, themeName: string): boolean { - if (!themeName) { - // eslint-disable-next-line no-param-reassign - themeName = currentThemeName || readThemeMarker(); - } +function isTheme(themeRegExp: string, themeName?: string): boolean { + // Omitted on purpose by callers that ask about the loaded theme rather than about a given name. + const name: string | null = themeName || currentThemeName || readThemeMarker(); - return new RegExp(themeRegExp).test(themeName); + return !!name && new RegExp(themeRegExp).test(name); } export function isMaterial(themeName: string): boolean { @@ -375,7 +374,7 @@ export function isGeneric(themeName: string): boolean { return isTheme('generic', themeName); } -export function isDark(themeName: string): boolean { +export function isDark(themeName?: string): boolean { return isTheme('dark', themeName); } @@ -383,6 +382,28 @@ export function isCompact(themeName: string): boolean { return isTheme('compact', themeName); } +/** + * The colour mode an element is rendered in. `current()` and `isDark()` answer for the loaded + * stylesheet; a theme that ships both modes in one bundle has an answer per place instead, and + * publishes it in `--dx-theme-mode`. A theme that scopes no modes declares nothing, and the + * loaded theme answers. + */ +export function mode(element: Element | dxElementWrapper): 'light' | 'dark' { + return resolvedThemeMode(element) ?? (isDark() ? 'dark' : 'light'); +} + +/** + * Re-reads the colour mode for widgets rendered outside the element they belong to - today that is + * open overlays, which live in the viewport. Call it after moving a `dx-theme-mode-*` class or + * switching the theme. + * + * Deliberately not called from `current()`: a theme switch swaps one ``'s href, so the new + * stylesheet lands after the call returns and any firing from inside would read stale values. + */ +export function refreshMode(): void { + themeModeChangedCallback.fire(); +} + // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types function themeReady(callback): void { themeReadyCallback.add(callback); @@ -511,6 +532,8 @@ export default { isMaterial, isFluent, isMaterialBased, + mode, + refreshMode, detachCssClasses, attachCssClasses, current, diff --git a/packages/devextreme/js/__internal/viz/core/themes/fluent-next/index.ts b/packages/devextreme/js/__internal/viz/core/themes/fluent-next/index.ts new file mode 100644 index 000000000000..b4690c3c07ba --- /dev/null +++ b/packages/devextreme/js/__internal/viz/core/themes/fluent-next/index.ts @@ -0,0 +1,99 @@ +import { extend } from '@js/core/utils/extend'; +import { getAccentColorScheme } from '@ts/viz/core/themes/shared/accent_color_scheme'; + +// --dxds-font-family-sans-serif +const FONT_FAMILY = '\'segoe ui\', -apple-system, BlinkMacSystemFont, \'avenir next\', avenir, \'helvetica neue\', helvetica, Cantarell, Ubuntu, roboto, noto, arial, sans-serif'; + +// --dxds-color-bg, --dxds-color-bg-hovered, --dxds-color-bg-active (dark) +const DARK_BACKGROUND_COLOR = '#242424'; +const DARK_HOVERED_BACKGROUND_COLOR = '#3b3b3b'; +const DARK_ACTIVE_BACKGROUND_COLOR = '#1d1d1d'; + +const font = { + font: { + family: FONT_FAMILY, + }, + title: { + font: { + family: FONT_FAMILY, + }, + }, +}; + +const darkBackground = { + backgroundColor: DARK_BACKGROUND_COLOR, + export: { + backgroundColor: DARK_BACKGROUND_COLOR, + button: { + default: { + backgroundColor: DARK_BACKGROUND_COLOR, + }, + hover: { + backgroundColor: DARK_HOVERED_BACKGROUND_COLOR, + }, + focus: { + backgroundColor: DARK_ACTIVE_BACKGROUND_COLOR, + }, + active: { + backgroundColor: DARK_ACTIVE_BACKGROUND_COLOR, + }, + }, + }, + rangeSelector: { + sliderMarker: { + font: { + color: DARK_BACKGROUND_COLOR, + }, + }, + }, + map: { + 'layer:area': { + borderColor: DARK_BACKGROUND_COLOR, + }, + controlBar: { + color: DARK_BACKGROUND_COLOR, + }, + }, + sparkline: { + pointColor: DARK_BACKGROUND_COLOR, + }, + funnel: { + item: { + border: { + color: DARK_BACKGROUND_COLOR, + }, + }, + }, +}; + +const themes = [ + { + baseThemeName: 'fluent.blue.light', + theme: { + name: 'fluent-next.blue.light', + defaultPalette: 'Fluent Next', + ...font, + }, + }, + { + baseThemeName: 'fluent-next.blue.light', + theme: { + name: 'fluent-next.blue.light.compact', + }, + }, + { + baseThemeName: 'fluent.blue.dark', + theme: extend(true, { + name: 'fluent-next.blue.dark', + defaultPalette: 'Fluent Next', + }, font, darkBackground, getAccentColorScheme('#4B90D9')), + }, + { + baseThemeName: 'fluent-next.blue.dark', + theme: { + name: 'fluent-next.blue.dark.compact', + }, + }, +]; + +export default themes; diff --git a/packages/devextreme/js/__internal/viz/palette.ts b/packages/devextreme/js/__internal/viz/palette.ts index 8d00c26d2486..6b770c0fe627 100644 --- a/packages/devextreme/js/__internal/viz/palette.ts +++ b/packages/devextreme/js/__internal/viz/palette.ts @@ -42,6 +42,13 @@ const palettes = { office: officePalette, + 'fluent next': { + simpleSet: ['#0078d4', '#c83d3d', '#008f04', '#eaa300', '#e43ba6', '#865cbf'], + indicatingSet: ['#008f04', '#eaa300', '#c83d3d'], + gradientSet: ['#0078d4', '#008f04'], + accentColor: '#0f6cbd', + }, + 'harmony light': { simpleSet: ['#fcb65e', '#679ec5', '#ad79ce', '#7abd5c', '#e18e92', '#b6d623', '#b7abea', '#85dbd5'], indicatingSet: ['#b6d623', '#fcb65e', '#e18e92'], diff --git a/packages/devextreme/js/__internal/viz/themes.ts b/packages/devextreme/js/__internal/viz/themes.ts index b931a9744ab1..3c699fd60e5b 100644 --- a/packages/devextreme/js/__internal/viz/themes.ts +++ b/packages/devextreme/js/__internal/viz/themes.ts @@ -19,6 +19,7 @@ import { extend } from '@js/core/utils/extend'; import { isEmptyObject } from '@js/core/utils/type'; import { current as getCurrentTheme } from '@js/ui/themes'; import fluentThemes from '@ts/viz/core/themes/fluent/index'; +import fluentNextThemes from '@ts/viz/core/themes/fluent-next/index'; import carmineThemes from '@ts/viz/core/themes/generic/carmine'; import contrastThemes from '@ts/viz/core/themes/generic/contrast'; import darkThemes from '@ts/viz/core/themes/generic/dark'; @@ -242,6 +243,7 @@ if (isEmptyObject(themes) && isEmptyObject(themesMapping) && !defaultTheme) { softBlueThemes, materialThemes, fluentThemes, + fluentNextThemes, ).forEach((t) => { // @ts-expect-error registerTheme(t.theme, t.baseThemeName); diff --git a/packages/devextreme/js/common/charts.d.ts b/packages/devextreme/js/common/charts.d.ts index 8907a07b402e..a964e80f860a 100644 --- a/packages/devextreme/js/common/charts.d.ts +++ b/packages/devextreme/js/common/charts.d.ts @@ -97,7 +97,7 @@ export type LegendMarkerState = 'normal' | 'hovered' | 'selected'; * @public * @namespace DevExpress.common.charts */ -export type Palette = 'Bright' | 'Harmony Light' | 'Ocean' | 'Pastel' | 'Soft' | 'Soft Pastel' | 'Vintage' | 'Violet' | 'Carmine' | 'Dark Moon' | 'Dark Violet' | 'Green Mist' | 'Soft Blue' | 'Material' | 'Office'; +export type Palette = 'Bright' | 'Harmony Light' | 'Ocean' | 'Pastel' | 'Soft' | 'Soft Pastel' | 'Vintage' | 'Violet' | 'Carmine' | 'Dark Moon' | 'Dark Violet' | 'Green Mist' | 'Soft Blue' | 'Material' | 'Office' | 'Fluent Next'; /** * @public diff --git a/packages/devextreme/js/ui/themes.d.ts b/packages/devextreme/js/ui/themes.d.ts index c4cf17bed007..628ff7fe3c8c 100644 --- a/packages/devextreme/js/ui/themes.d.ts +++ b/packages/devextreme/js/ui/themes.d.ts @@ -1,3 +1,5 @@ +import { UserDefinedElement } from '../core/element'; + /** * @docid ui.themes * @namespace DevExpress.ui @@ -33,6 +35,22 @@ export default class themes { * @public */ static initialized(callback: Function): void; + /** + * @docid ui.themes.mode + * @publicName mode(element) + * @param1 element:Element|jQuery + * @return String + * @static + * @public + */ + static mode(element: UserDefinedElement): 'light' | 'dark'; + /** + * @docid ui.themes.refreshMode + * @publicName refreshMode() + * @static + * @public + */ + static refreshMode(): void; } export function current(): string; @@ -41,3 +59,6 @@ export function isFluent(theme: string): boolean; export function isMaterial(theme: string): boolean; export function isGeneric(theme: string): boolean; export function isCompact(theme: string): boolean; + +export function mode(element: UserDefinedElement): 'light' | 'dark'; +export function refreshMode(): void; diff --git a/packages/devextreme/js/ui/themes.js b/packages/devextreme/js/ui/themes.js index 7ba25bcc98a7..98dbc2a4fd5b 100644 --- a/packages/devextreme/js/ui/themes.js +++ b/packages/devextreme/js/ui/themes.js @@ -14,6 +14,8 @@ export const { isMaterial, isFluent, isMaterialBased, + mode, + refreshMode, detachCssClasses, attachCssClasses, current, diff --git a/packages/devextreme/playground/jquery.html b/packages/devextreme/playground/jquery.html index 2389ed7be937..12bca88e1d14 100644 --- a/packages/devextreme/playground/jquery.html +++ b/packages/devextreme/playground/jquery.html @@ -7,7 +7,7 @@ + + + + + + +

Reachability audit: every rule reading var(--dx-…) must see the variable on the elements it matches

+
initialising…
+ + + + + diff --git a/packages/devextreme/project.json b/packages/devextreme/project.json index aa39d154dbbc..420fdffdbf8c 100644 --- a/packages/devextreme/project.json +++ b/packages/devextreme/project.json @@ -1246,10 +1246,17 @@ "outputDir": "./artifacts/npm/devextreme-internal/scss" } }, + "dependsOn": [ + { + "projects": ["devextreme-scss"], + "target": "build:themes" + } + ], "inputs": [ "{workspaceRoot}/packages/devextreme-scss/scss/**/*", "{workspaceRoot}/packages/devextreme-scss/fonts/**/*", - "{workspaceRoot}/packages/devextreme-scss/icons/**/*" + "{workspaceRoot}/packages/devextreme-scss/icons/**/*", + "{workspaceRoot}/packages/devextreme-scss/build/internal-scss-paths.json" ], "outputs": [ "{projectRoot}/artifacts/npm/devextreme/scss/**/*", @@ -1657,6 +1664,11 @@ "!{projectRoot}/js/__internal/core/localization/cldr-data/**/*", "!{projectRoot}/js/__internal/core/localization/default_messages.ts", "test", + "{workspaceRoot}/packages/devextreme-dist/package.json", + "{workspaceRoot}/packages/devextreme-scss/scss/**/*", + "{workspaceRoot}/packages/devextreme-scss/fonts/**/*", + "{workspaceRoot}/packages/devextreme-scss/icons/**/*", + "{workspaceRoot}/README.md", "{workspaceRoot}/pnpm-lock.yaml" ], "outputs": [ @@ -1717,6 +1729,11 @@ "internalPackageEnv", "default", "test", + "{workspaceRoot}/packages/devextreme-dist/package.json", + "{workspaceRoot}/packages/devextreme-scss/scss/**/*", + "{workspaceRoot}/packages/devextreme-scss/fonts/**/*", + "{workspaceRoot}/packages/devextreme-scss/icons/**/*", + "{workspaceRoot}/README.md", "{workspaceRoot}/pnpm-lock.yaml" ], "outputs": [ diff --git a/packages/devextreme/testing/tests/DevExpress.ui.widgets/overlay.tests.js b/packages/devextreme/testing/tests/DevExpress.ui.widgets/overlay.tests.js index 0df2590f3ba9..4a4e771422c3 100644 --- a/packages/devextreme/testing/tests/DevExpress.ui.widgets/overlay.tests.js +++ b/packages/devextreme/testing/tests/DevExpress.ui.widgets/overlay.tests.js @@ -22,6 +22,7 @@ import * as zIndex from '__internal/ui/overlay/z_index'; import 'ui/scroll_view/ui.scrollable'; import selectors from '__internal/core/utils/m_selectors'; import swatch from '__internal/core/utils/swatch_container'; +import themes from 'ui/themes'; import documentSizeCallbacks from '__internal/core/utils/document_size_callbacks'; import keyboardMock from '../../helpers/keyboardMock.js'; import pointerMock from '../../helpers/pointerMock.js'; @@ -327,6 +328,134 @@ testModule('render', moduleConfig, () => { assert.ok(overlayContainer.parent().hasClass(VIEWPORT_CLASS), 'overlay\'s container is the viewport\'s child'); }); + /* + * The generic bundle this suite loads scopes no modes, so these declare --dx-theme-mode + * themselves. It goes on the scope element rather than into a document stylesheet: under + * ?shadowDom the fixture lives in a shadow root, which a rule in cannot reach, while a + * declaration on the element inherits down either way - and inheriting is the whole mechanism. + */ + const declareMode = ($scope, mode) => { + $scope.get(0).style.setProperty('--dx-theme-mode', mode); + + return $scope; + }; + + const modeScope = (mode) => declareMode($('
').appendTo('#container'), mode); + + test('Theme mode - an open overlay moves to the mode its owner resolves to after refreshMode', function(assert) { + const $scope = modeScope('light'); + const overlay = $('
').appendTo($scope).dxOverlay({ visible: true }).dxOverlay('instance'); + + assert.ok(overlay.$wrapper().parent().hasClass('dx-theme-mode-light'), 'starts in the mode of its owner'); + + declareMode($scope, 'dark'); + themes.refreshMode(); + + const container = overlay.$wrapper().parent(); + + assert.ok(container.hasClass('dx-theme-mode-dark'), 'moved to the new mode'); + assert.ok(container.parent().hasClass(VIEWPORT_CLASS), 'still a child of the viewport'); + + overlay.dispose(); + $scope.remove(); + }); + + test('Theme mode - refreshMode leaves a hidden overlay alone until it is shown', function(assert) { + const $scope = modeScope('light'); + const overlay = $('
').appendTo($scope).dxOverlay({ visible: false }).dxOverlay('instance'); + + declareMode($scope, 'dark'); + themes.refreshMode(); + + assert.strictEqual(overlay.$wrapper().parent().length, 0, 'a hidden overlay is not attached anywhere'); + + overlay.show(); + + assert.ok(overlay.$wrapper().parent().hasClass('dx-theme-mode-dark'), 'and picks the current mode when shown'); + + overlay.dispose(); + $scope.remove(); + }); + + test('Theme mode - refreshMode leaves an overlay whose scope did not change where it is', function(assert) { + const $scope = modeScope('light'); + const overlay = $('
').appendTo($scope).dxOverlay({ visible: true }).dxOverlay('instance'); + const $wrapper = overlay.$wrapper(); + const container = $wrapper.parent().get(0); + + /* + * Re-appending a child that is already in place is not a no-op: the node is detached and + * re-inserted, which takes the focus out of the overlay, restarts its animations and + * reloads any iframe in its content. Watching for the detach is steadier than asserting on + * document.activeElement, which needs the window to be focused. + */ + const containerWatch = new MutationObserver(() => {}); + const wrapperWatch = new MutationObserver(() => {}); + + containerWatch.observe(container, { childList: true }); + wrapperWatch.observe($wrapper.get(0), { childList: true }); + + themes.refreshMode(); + + const moves = containerWatch.takeRecords().length + wrapperWatch.takeRecords().length; + + containerWatch.disconnect(); + wrapperWatch.disconnect(); + + assert.strictEqual(overlay.$wrapper().parent().get(0), container, 'still in the same container'); + assert.strictEqual(moves, 0, 'and nothing was detached to put it back where it already was'); + + overlay.dispose(); + $scope.remove(); + }); + + test('Theme mode - a move keeps the focus inside the overlay', function(assert) { + const $scope = modeScope('light'); + const overlay = $('
').appendTo($scope).dxOverlay({ + visible: true, + contentTemplate: () => $('') + }).dxOverlay('instance'); + + const input = overlay.$content().find('.probe-input').get(0); + // under ?shadowDom the overlay lives in a shadow root, and the document reports its host + const focused = () => input.getRootNode().activeElement; + + input.focus(); + input.setSelectionRange(4, 4); + + assert.strictEqual(focused(), input, 'the caret starts inside the overlay'); + + declareMode($scope, 'dark'); + themes.refreshMode(); + + assert.ok(overlay.$wrapper().parent().hasClass('dx-theme-mode-dark'), 'the overlay did move'); + assert.strictEqual(focused(), input, 'and the focus came back to where it was'); + assert.strictEqual(input.selectionStart, 4, 'with the caret still in place'); + + overlay.dispose(); + $scope.remove(); + }); + + test('Theme mode - a disposed overlay stops listening', function(assert) { + const $scope = modeScope('light'); + const overlay = $('
').appendTo($scope).dxOverlay({ visible: true }).dxOverlay('instance'); + let told = 0; + + overlay._themeModeChangeHandler = () => { told += 1; }; + + themes.refreshMode(); + + assert.strictEqual(told, 1, 'a live overlay is subscribed - without this the case below passes for the wrong reason'); + + overlay.dispose(); + declareMode($scope, 'dark'); + + themes.refreshMode(); + + assert.strictEqual(told, 1, 'and a disposed one is not told again'); + $scope.remove(); + }); + test('Overlay does not fail if swatch is undefined (render before documentReady, T713615, T1143527)', function(assert) { const stub = sinon.stub(swatch, 'getSwatchContainer').callsFake(() => { return undefined; diff --git a/packages/devextreme/testing/tests/DevExpress.viz.core/themes.tests.js b/packages/devextreme/testing/tests/DevExpress.viz.core/themes.tests.js index 9e5a4bf2604c..456200c34855 100644 --- a/packages/devextreme/testing/tests/DevExpress.viz.core/themes.tests.js +++ b/packages/devextreme/testing/tests/DevExpress.viz.core/themes.tests.js @@ -1,5 +1,6 @@ import $ from 'jquery'; import themeModule from 'viz/themes'; +import { createPalette, getGradientPalette } from 'viz/palette'; import uiThemeModule from 'ui/themes'; uiThemeModule.setDefaultTimeout(0); @@ -358,6 +359,90 @@ QUnit.test('Invalid input data (with color scheme)', function(assert) { }); }); +const FLUENT_NEXT_FONT_FAMILY = '\'segoe ui\', -apple-system, BlinkMacSystemFont, \'avenir next\', avenir, \'helvetica neue\', helvetica, Cantarell, Ubuntu, roboto, noto, arial, sans-serif'; + +[ + { theme: 'fluent-next.blue.light', accentColor: '#0F6CBD', backgroundColor: '#ffffff' }, + { theme: 'fluent-next.blue.light.compact', accentColor: '#0F6CBD', backgroundColor: '#ffffff' }, + { theme: 'fluent-next.blue.dark', accentColor: '#4B90D9', backgroundColor: '#242424' }, + { theme: 'fluent-next.blue.dark.compact', accentColor: '#4B90D9', backgroundColor: '#242424' }, +].forEach(({ theme, accentColor, backgroundColor }) => { + QUnit.test(`fluent-next theme should be registered: ${theme}`, function(assert) { + themeModule.currentTheme(theme); + + assert.strictEqual(themeModule.currentTheme(), theme); + }); + + QUnit.test(`fluent-next theme should render text with the theme font: ${theme}`, function(assert) { + const registeredTheme = themeModule.getTheme(theme); + + assert.strictEqual(registeredTheme.font.family, FLUENT_NEXT_FONT_FAMILY, 'font'); + assert.strictEqual(registeredTheme.title.font.family, FLUENT_NEXT_FONT_FAMILY, 'title font'); + assert.strictEqual(registeredTheme.title.subtitle.font.family, FLUENT_NEXT_FONT_FAMILY, 'subtitle font'); + assert.strictEqual(registeredTheme.chart.title.font.family, FLUENT_NEXT_FONT_FAMILY, 'chart title font'); + assert.strictEqual(registeredTheme.gauge.title.font.family, FLUENT_NEXT_FONT_FAMILY, 'gauge title font'); + assert.strictEqual(registeredTheme.title.font.size, 20, 'title font size is inherited'); + assert.strictEqual(registeredTheme.title.font.weight, 500, 'title font weight is inherited'); + }); + + QUnit.test(`fluent-next theme should paint the background with the theme surface color: ${theme}`, function(assert) { + const registeredTheme = themeModule.getTheme(theme); + + assert.strictEqual(registeredTheme.backgroundColor, backgroundColor, 'backgroundColor'); + assert.strictEqual(registeredTheme.chart.containerBackgroundColor, backgroundColor, 'chart container'); + assert.strictEqual(registeredTheme.gauge.containerBackgroundColor, backgroundColor, 'gauge container'); + assert.strictEqual(registeredTheme.rangeSelector.containerBackgroundColor, backgroundColor, 'rangeSelector container'); + assert.strictEqual(registeredTheme.chart.commonSeriesSettings.candlestick.innerColor, backgroundColor, 'candlestick inner color'); + assert.strictEqual(registeredTheme.gauge.scale.tick.color, backgroundColor, 'gauge tick'); + assert.strictEqual(registeredTheme.map.background.color, backgroundColor, 'map background'); + assert.strictEqual(registeredTheme.map['layer:area'].borderColor, backgroundColor, 'map area border'); + assert.strictEqual(registeredTheme.map.controlBar.color, backgroundColor, 'map control bar'); + assert.strictEqual(registeredTheme.sparkline.pointColor, backgroundColor, 'sparkline point'); + assert.strictEqual(registeredTheme.loadingIndicator.backgroundColor, backgroundColor, 'loading indicator'); + assert.strictEqual(registeredTheme.export.backgroundColor, backgroundColor, 'export background'); + assert.strictEqual(registeredTheme.chart.export.backgroundColor, backgroundColor, 'chart export background'); + assert.strictEqual(registeredTheme.export.button.default.backgroundColor, backgroundColor, 'export button background'); + }); + + QUnit.test(`fluent-next theme should color series with the Fluent Next palette: ${theme}`, function(assert) { + const defaultPalette = themeModule.getTheme(theme).defaultPalette; + + const simpleSet = createPalette(undefined, {}, defaultPalette).generateColors(6); + const indicatingSet = createPalette(undefined, { type: 'indicatingSet' }, defaultPalette).generateColors(3); + const gradientSet = getGradientPalette(undefined, defaultPalette); + + assert.deepEqual(simpleSet, ['#0078d4', '#c83d3d', '#008f04', '#eaa300', '#e43ba6', '#865cbf'], 'simpleSet'); + assert.deepEqual(indicatingSet, ['#008f04', '#eaa300', '#c83d3d'], 'indicatingSet'); + assert.deepEqual([gradientSet.getColor(0), gradientSet.getColor(1)], ['#0078d4', '#008f04'], 'gradientSet'); + }); + + QUnit.test(`fluent-next theme should accent widgets with its own primary color: ${theme}`, function(assert) { + const registeredTheme = themeModule.getTheme(theme); + + assert.strictEqual(registeredTheme.rangeSelector.selectedRangeColor, accentColor, 'rangeSelector selected range'); + assert.strictEqual(registeredTheme.rangeSelector.sliderMarker.color, accentColor, 'rangeSelector slider marker'); + assert.strictEqual(registeredTheme.rangeSelector.sliderHandle.color, accentColor, 'rangeSelector slider handle'); + assert.strictEqual(registeredTheme.map['layer:marker:dot'].color, accentColor, 'map dot marker'); + assert.strictEqual(registeredTheme.map['layer:marker:bubble'].color, accentColor, 'map bubble marker'); + assert.strictEqual(registeredTheme.map.legend.markerColor, accentColor, 'map legend marker'); + assert.strictEqual(registeredTheme.bullet.color, accentColor, 'bullet'); + assert.strictEqual(registeredTheme.gauge.valueIndicators.rangebar.color, accentColor, 'gauge rangebar'); + assert.strictEqual(registeredTheme.gauge.valueIndicators['textcloud'].color, accentColor, 'gauge textcloud'); + }); +}); + +['fluent-next.blue.dark', 'fluent-next.blue.dark.compact'].forEach((theme) => { + QUnit.test(`fluent-next dark theme should cut out shapes with the surface color instead of the material one: ${theme}`, function(assert) { + const registeredTheme = themeModule.getTheme(theme); + + assert.strictEqual(registeredTheme.rangeSelector.sliderMarker.font.color, '#242424', 'rangeSelector slider marker text'); + assert.strictEqual(registeredTheme.funnel.item.border.color, '#242424', 'funnel item border'); + assert.strictEqual(registeredTheme.export.button.hover.backgroundColor, '#3b3b3b', 'export button hover'); + assert.strictEqual(registeredTheme.export.button.focus.backgroundColor, '#1d1d1d', 'export button focus'); + assert.strictEqual(registeredTheme.export.button.active.backgroundColor, '#1d1d1d', 'export button active'); + }); +}); + QUnit.module('refresh all', { createItem: function() { diff --git a/packages/devextreme/ts/dx.all.d.ts b/packages/devextreme/ts/dx.all.d.ts index e1aea6585339..d3d771cca1d0 100644 --- a/packages/devextreme/ts/dx.all.d.ts +++ b/packages/devextreme/ts/dx.all.d.ts @@ -2144,7 +2144,8 @@ declare module DevExpress.common.charts { | 'Green Mist' | 'Soft Blue' | 'Material' - | 'Office'; + | 'Office' + | 'Fluent Next'; export type PaletteColorSet = 'simpleSet' | 'indicatingSet' | 'gradientSet'; export type PaletteExtensionMode = 'alternate' | 'blend' | 'extrapolate'; export type PointInteractionMode = @@ -34245,6 +34246,14 @@ declare module DevExpress.ui { * [descr:ui.themes.initialized(callback)] */ static initialized(callback: Function): void; + /** + * [descr:ui.themes.mode(element)] + */ + static mode(element: DevExpress.core.UserDefinedElement): 'light' | 'dark'; + /** + * [descr:ui.themes.refreshMode()] + */ + static refreshMode(): void; } /** * [descr:Widget] diff --git a/packages/nx-infra-plugin/src/executors/scss-assemble/executor.e2e.spec.ts b/packages/nx-infra-plugin/src/executors/scss-assemble/executor.e2e.spec.ts index bebf5fbea714..aa2fea1f6081 100644 --- a/packages/nx-infra-plugin/src/executors/scss-assemble/executor.e2e.spec.ts +++ b/packages/nx-infra-plugin/src/executors/scss-assemble/executor.e2e.spec.ts @@ -34,6 +34,11 @@ describe('ScssAssembleExecutor E2E', () => { fs.mkdirSync(path.join(scssPackageDir, 'scss'), { recursive: true }); fs.mkdirSync(path.join(scssPackageDir, 'fonts'), { recursive: true }); fs.mkdirSync(path.join(scssPackageDir, 'icons', 'material'), { recursive: true }); + fs.mkdirSync(path.join(scssPackageDir, 'build'), { recursive: true }); + fs.writeFileSync( + path.join(scssPackageDir, 'build', 'internal-scss-paths.json'), + JSON.stringify(['widgets/dropped/', 'bundles/dx.dropped.']), + ); }); afterEach(() => { @@ -83,4 +88,63 @@ describe('ScssAssembleExecutor E2E', () => { expect(content).toContain(expectedSvg); expect(content).toContain(expectedPng); }); + + it('should keep the paths listed as internal by the scss package out of the package', async () => { + await writeFileText( + path.join(scssPackageDir, 'scss', 'widgets', 'kept', '_index.scss'), + '.a {}', + ); + await writeFileText( + path.join(scssPackageDir, 'scss', 'widgets', 'dropped', 'nested', '_index.scss'), + '.b {}', + ); + await writeFileText(path.join(scssPackageDir, 'scss', 'bundles', 'dx.kept.scss'), '.c {}'); + await writeFileText( + path.join(scssPackageDir, 'scss', 'bundles', 'dx.dropped.blue.light.scss'), + '.d {}', + ); + + const context = createMockContext({ root: tempDir }); + const result = await executor(OPTIONS, context); + + expect(result.success).toBe(true); + expect(fs.existsSync(path.join(outputDir, 'widgets', 'kept', '_index.scss'))).toBe(true); + expect(fs.existsSync(path.join(outputDir, 'bundles', 'dx.kept.scss'))).toBe(true); + expect(fs.existsSync(path.join(outputDir, 'widgets', 'dropped'))).toBe(false); + expect(fs.existsSync(path.join(outputDir, 'bundles', 'dx.dropped.blue.light.scss'))).toBe( + false, + ); + }); + + it('should fail instead of publishing everything when the internal path list is missing', async () => { + await writeFileText(path.join(outputDir, 'widgets', 'kept', '_index.scss'), '.a {}'); + await writeFileText(path.join(scssPackageDir, 'scss', 'placeholder.scss'), '.a {}'); + fs.rmSync(path.join(scssPackageDir, 'build', 'internal-scss-paths.json')); + + const context = createMockContext({ root: tempDir }); + const result = await executor(OPTIONS, context); + + expect(result.success).toBe(false); + expect(fs.existsSync(path.join(outputDir, 'placeholder.scss'))).toBe(false); + expect(await readFileText(path.join(outputDir, 'widgets', 'kept', '_index.scss'))).toBe( + '.a {}', + ); + }); + + it('should drop files an earlier run left in the output directory', async () => { + await writeFileText(path.join(outputDir, 'widgets', 'renamed-away', '_index.scss'), '.old {}'); + await writeFileText( + path.join(scssPackageDir, 'scss', 'widgets', 'kept', '_index.scss'), + '.new {}', + ); + + const context = createMockContext({ root: tempDir }); + const result = await executor(OPTIONS, context); + + expect(result.success).toBe(true); + expect(fs.existsSync(path.join(outputDir, 'widgets', 'renamed-away'))).toBe(false); + expect(await readFileText(path.join(outputDir, 'widgets', 'kept', '_index.scss'))).toBe( + '.new {}', + ); + }); }); diff --git a/packages/nx-infra-plugin/src/executors/scss-assemble/scss-assemble.impl.ts b/packages/nx-infra-plugin/src/executors/scss-assemble/scss-assemble.impl.ts index b49778435343..786867196d63 100644 --- a/packages/nx-infra-plugin/src/executors/scss-assemble/scss-assemble.impl.ts +++ b/packages/nx-infra-plugin/src/executors/scss-assemble/scss-assemble.impl.ts @@ -4,12 +4,28 @@ import { glob } from 'glob'; import { logger } from '@nx/devkit'; import { createExecutor } from '../../utils/create-executor'; import { toPosixPath } from '../../utils/path-resolver'; -import { readFileText, writeFileText, ensureDir } from '../../utils/file-operations'; +import { readFileText, writeFileText, ensureDir, exists } from '../../utils/file-operations'; import { copyDirectory } from '../copy-files/copy-files.impl'; import { DATA_URI_SCSS_REGEX, encodeDataUriForCssUrl } from '../../utils/scss-data-uri'; import { ScssAssembleExecutorSchema } from './schema'; const SCSS_EXTENSIONS = new Set(['.scss', '.css']); +const INTERNAL_SCSS_PATHS_FILE = path.join('build', 'internal-scss-paths.json'); + +export async function readInternalScssPaths(scssPackagePath: string): Promise { + const listPath = path.join(scssPackagePath, INTERNAL_SCSS_PATHS_FILE); + + if (!(await exists(listPath))) { + throw new Error(`Internal SCSS path list not found: ${listPath}`); + } + + return JSON.parse(await readFileText(listPath)) as string[]; +} + +export function isInternalScssPath(relativePath: string, internalPaths: string[]): boolean { + const posixPath = relativePath.split('\\').join('/'); + return internalPaths.some((internalPath) => posixPath.startsWith(internalPath)); +} async function inlineDataUri(content: string, scssRoot: string): Promise { const matches = [...content.matchAll(DATA_URI_SCSS_REGEX)]; @@ -37,10 +53,13 @@ async function inlineDataUri(content: string, scssRoot: string): Promise async function copyScssWithInlineDataUri( scssPackagePath: string, outputDir: string, + internalPaths: string[], ): Promise { const scssSourceDir = path.join(scssPackagePath, 'scss'); const cwd = toPosixPath(scssSourceDir); - const relPaths = await glob('**/*', { cwd, nodir: true }); + const relPaths = (await glob('**/*', { cwd, nodir: true })).filter( + (relPath) => !isInternalScssPath(relPath, internalPaths), + ); await Promise.all( relPaths.map(async (relPath) => { @@ -87,8 +106,12 @@ export default createExecutor( return { scssPackagePath, outputDir }; }, run: async ({ scssPackagePath, outputDir }) => { + const internalPaths = await readInternalScssPaths(scssPackagePath); + + await fs.rm(outputDir, { recursive: true, force: true }); + await Promise.all([ - copyScssWithInlineDataUri(scssPackagePath, outputDir), + copyScssWithInlineDataUri(scssPackagePath, outputDir, internalPaths), copyFonts(scssPackagePath, outputDir), copyIcons(scssPackagePath, outputDir), ]); diff --git a/packages/nx-infra-plugin/src/executors/scss-build/executor.e2e.spec.ts b/packages/nx-infra-plugin/src/executors/scss-build/executor.e2e.spec.ts index 10c6d1e9a037..3012a34283a6 100644 --- a/packages/nx-infra-plugin/src/executors/scss-build/executor.e2e.spec.ts +++ b/packages/nx-infra-plugin/src/executors/scss-build/executor.e2e.spec.ts @@ -1,6 +1,6 @@ import * as fs from 'fs'; import * as path from 'path'; -import executor from './executor'; +import executor, { findMissingThemeCss } from './executor'; import { ScssBuildExecutorSchema } from './schema'; import { createMockContext, createTempDir, cleanupTempDir } from '../../utils/test-utils'; import { writeFileText, writeJson, readFileText } from '../../utils'; @@ -29,7 +29,9 @@ function createMockModules(projectRoot: string): void { '}', 'module.exports = {', ' SassString,', - ' compile: () => ({ css: \'@charset "UTF-8"; .a{display:flex}\' })', + " compile: (source) => ({ css: source.includes('unbannered')", + " ? '/* not the banner */\\n:root{--first-declaration:1}\\n/* mentions auto-generated */\\n:root{--last-declaration:2}'", + ' : \'/**\\n * Do not edit directly, this file was auto-generated.\\n */\\n@charset "UTF-8"; .a{display:flex}\' })', '};', '', ].join('\n'), @@ -144,6 +146,11 @@ async function setupProjectStructure(workspaceRoot: string): Promise { '.generic-$COLOR { color: red; }', ); + await writeFileText( + path.join(projectRoot, 'scss', '_design-system', 'fluent', 'accents', 'blue.scss'), + ':root { --dxds-primary-100: #0f6cbd; }', + ); + createMockModules(projectRoot); return projectRoot; } @@ -189,6 +196,56 @@ describe('ScssBuildExecutor E2E', () => { expect(commonCss).toContain('DevExtreme (dx.common.css)'); }); + it('compiles design-system accent sources into the accents subfolder without minification', async () => { + const projectRoot = await setupProjectStructure(tempDir); + await writeFileText( + path.join(projectRoot, 'scss', '_design-system', 'fluent', 'accents', 'storm.scss'), + ':root { --dxds-primary-100: #6d6a68; }', + ); + + const context = createMockContext({ + root: tempDir, + projectName: 'devextreme-scss', + projectRoot: 'packages/devextreme-scss', + }); + + const options: ScssBuildExecutorSchema = { mode: 'all', cssOutputDir: './artifacts/css' }; + const result = await executor(options, context); + + expect(result.success).toBe(true); + + const stormCss = await readFileText( + path.join(projectRoot, 'artifacts', 'css', 'accents', 'storm.css'), + ); + expect(stormCss).toContain('DevExtreme (storm.css)'); + expect(stormCss).not.toContain('/*min:'); + expect(stormCss).not.toContain('/*prefixed*/'); + expect(stormCss).not.toContain('auto-generated'); + }); + + it('strips only a leading generator banner, keeping css that merely mentions auto-generated', async () => { + const projectRoot = await setupProjectStructure(tempDir); + await writeFileText( + path.join(projectRoot, 'scss', '_design-system', 'fluent', 'accents', 'unbannered.scss'), + ':root { --dxds-primary-100: #6d6a68; }', + ); + + const context = createMockContext({ + root: tempDir, + projectName: 'devextreme-scss', + projectRoot: 'packages/devextreme-scss', + }); + + await executor({ mode: 'all', cssOutputDir: './artifacts/css' }, context); + + const unbanneredCss = await readFileText( + path.join(projectRoot, 'artifacts', 'css', 'accents', 'unbannered.css'), + ); + expect(unbanneredCss).toContain('/* not the banner */'); + expect(unbanneredCss).toContain('--first-declaration'); + expect(unbanneredCss).toContain('--last-declaration'); + }); + it('builds ci mode only for selected dev bundles and uses ci profile', async () => { const projectRoot = await setupProjectStructure(tempDir); const context = createMockContext({ @@ -219,6 +276,41 @@ describe('ScssBuildExecutor E2E', () => { expect(fs.existsSync(path.join(projectRoot, 'scss', 'bundles', 'dx.common.scss'))).toBe(true); }); + it('fails when the design-system produced no accent palettes', async () => { + const projectRoot = await setupProjectStructure(tempDir); + fs.rmSync(path.join(projectRoot, 'scss', '_design-system'), { recursive: true }); + + const context = createMockContext({ + root: tempDir, + projectName: 'devextreme-scss', + projectRoot: 'packages/devextreme-scss', + }); + + const options: ScssBuildExecutorSchema = { mode: 'all', cssOutputDir: './artifacts/css' }; + const result = await executor(options, context); + + expect(result.success).toBe(false); + }); + + it('reports declared themes that left no CSS behind', async () => { + const projectRoot = await setupProjectStructure(tempDir); + const context = createMockContext({ + root: tempDir, + projectName: 'devextreme-scss', + projectRoot: 'packages/devextreme-scss', + }); + + await executor({ mode: 'all', cssOutputDir: './artifacts/css' }, context); + + const cssDir = path.join(projectRoot, 'artifacts', 'css'); + const deps = { themeOptions: { getThemes: () => [['generic', 'default', 'light']] } }; + + expect(findMissingThemeCss(cssDir, deps as never)).toEqual([]); + + fs.rmSync(path.join(cssDir, 'dx.light.css')); + expect(findMissingThemeCss(cssDir, deps as never)).toEqual(['dx.light.css']); + }); + it('fails in ci mode when a configured bundle source is missing', async () => { await setupProjectStructure(tempDir); const context = createMockContext({ diff --git a/packages/nx-infra-plugin/src/executors/scss-build/executor.ts b/packages/nx-infra-plugin/src/executors/scss-build/executor.ts index 8c0bdaed7166..84dd0943568a 100644 --- a/packages/nx-infra-plugin/src/executors/scss-build/executor.ts +++ b/packages/nx-infra-plugin/src/executors/scss-build/executor.ts @@ -1 +1,2 @@ export { default } from './scss-build.impl'; +export { findMissingThemeCss } from './scss-build.impl'; diff --git a/packages/nx-infra-plugin/src/executors/scss-build/scss-build.impl.ts b/packages/nx-infra-plugin/src/executors/scss-build/scss-build.impl.ts index a505502180a2..ea4fe8b9c320 100644 --- a/packages/nx-infra-plugin/src/executors/scss-build/scss-build.impl.ts +++ b/packages/nx-infra-plugin/src/executors/scss-build/scss-build.impl.ts @@ -13,6 +13,12 @@ import { ScssBuildExecutorSchema } from './schema'; const DEFAULT_BUNDLES_DIR = './scss/bundles'; const DEFAULT_CSS_OUTPUT_DIR = '../devextreme/artifacts/css'; +const ACCENT_SOURCES_DIR = './scss/_design-system/fluent/accents'; +const ACCENT_OUTPUT_DIR_NAME = 'accents'; +const LEADING_COMMENT_REGEX = /^\s*\/\*[\s\S]*?\*\/\s*/; +const GENERATOR_BANNER_MARKER = 'auto-generated'; +const TOKENS_PACKAGE = '@devexpress/design-tokens-internal'; +const TOKEN_BUILT_BUNDLE_PREFIX = 'dx.fluent-next.'; const DEFAULT_DEV_BUNDLE_NAMES = [ 'light', 'light.compact', @@ -26,6 +32,9 @@ const DEFAULT_DEV_BUNDLE_NAMES = [ 'fluent.blue.dark', 'fluent.saas.light', 'fluent.saas.dark', + 'fluent-next.blue.light', + 'fluent-next.blue.light.compact', + 'fluent-next.blue.dark', ]; interface BuildDependencies { @@ -37,6 +46,8 @@ interface BuildDependencies { cleanCssSanitizeOptions: unknown; cleanCssDevOptions: unknown; devextremeVersion: string; + /** Version of the design-token package a theme is generated from; null when it is not installed. */ + tokensVersion: string | null; } type MinifyProfile = 'all' | 'ci'; @@ -52,11 +63,21 @@ function readFileDataUri(filePath: string, svgEncoding?: string): string { return encodeDataUriContent(buffer, filePath, svgEncoding); } -function createStarLicenseHeader(fileName: string, version: string): string { +/* + * `tokensVersion` is stamped on the stylesheets generated from the design-token package. Values in + * those files come from a package version, not from this repository, so a bug report about a colour + * or a size cannot be placed without it. + */ +function createStarLicenseHeader( + fileName: string, + version: string, + tokensVersion?: string | null, +): string { return [ '/**', `* DevExtreme (${fileName.replace(/\\/g, '/')})`, `* Version: ${version}`, + ...(tokensVersion ? [`* Design tokens: ${TOKENS_PACKAGE} ${tokensVersion}`] : []), `* Build date: ${new Date().toDateString()}`, '*', `* Copyright (c) 2012 - ${new Date().getFullYear()} Developer Express Inc. ALL RIGHTS RESERVED`, @@ -74,7 +95,7 @@ function prependLicenseAndMoveCharsetFirst(minifiedCss: string, license: string) function generateBundleName(theme: string, size: string, color: string, mode?: string): string { return ( 'dx' - + (theme === 'material' || theme === 'fluent' ? `.${theme}` : '') + + (theme === 'material' || theme === 'fluent' || theme === 'fluent-next' ? `.${theme}` : '') + `.${color}` + (mode ? `.${mode}` : '') + (size === 'default' ? '' : '.compact') @@ -109,6 +130,28 @@ async function generateScssBundles( await writeFileText(path.join(resolvedBundlesDir, 'dx.common.scss'), commonTemplate); } +export function findMissingThemeCss(cssOutputDir: string, deps: BuildDependencies): string[] { + const declaredCssNames = [ + ...deps.themeOptions + .getThemes() + .map(([theme, size, color, mode]) => + generateBundleName(theme, size, color, mode).replace(/\.scss$/, '.css'), + ), + 'dx.common.css', + ]; + + return declaredCssNames.filter((name) => !fs.existsSync(path.join(cssOutputDir, name))); +} + +function readTokensVersion(projectRequire: NodeRequire): string | null { + try { + return projectRequire(`${TOKENS_PACKAGE}/package.json`).version ?? null; + } catch { + // A project that builds no token-generated theme does not depend on the package. + return null; + } +} + function loadDependencies(projectRoot: string): BuildDependencies { const projectRequire = createRequire(path.join(projectRoot, 'package.json')); @@ -128,6 +171,7 @@ function loadDependencies(projectRoot: string): BuildDependencies { ), devextremeVersion: projectRequire(path.resolve(projectRoot, '../devextreme/package.json')) .version, + tokensVersion: readTokensVersion(projectRequire), }; } @@ -199,11 +243,48 @@ async function compileFile( const minified = minifier.minify(prefixed.css).styles; const outFileName = path.basename(sourceFile, '.scss') + '.css'; - const license = createStarLicenseHeader(outFileName, deps.devextremeVersion); + const license = createStarLicenseHeader( + outFileName, + deps.devextremeVersion, + outFileName.startsWith(TOKEN_BUILT_BUNDLE_PREFIX) ? deps.tokensVersion : null, + ); const withHeader = prependLicenseAndMoveCharsetFirst(minified, license); await writeFileText(path.join(outputDir, outFileName), withHeader); } +async function compileAccentOverrides( + projectRoot: string, + cssOutputDir: string, + deps: BuildDependencies, +): Promise { + const accentSourcesDir = path.resolve(projectRoot, ACCENT_SOURCES_DIR); + const pattern = normalizeGlobPathForWindows(path.join(accentSourcesDir, '*.scss')); + const accentSources = await glob(pattern, { nodir: true }); + + if (accentSources.length === 0) { + throw new Error(`No accent palettes to compile in ${accentSourcesDir}`); + } + + const accentOutputDir = path.join(cssOutputDir, ACCENT_OUTPUT_DIR_NAME); + + for (const source of accentSources) { + logger.verbose(`Compiling accent ${source}`); + const compiled = deps.sass.compile(source); + const outFileName = `${path.basename(source, '.scss')}.css`; + const license = createStarLicenseHeader( + outFileName, + deps.devextremeVersion, + deps.tokensVersion, + ); + const leadingComment = LEADING_COMMENT_REGEX.exec(compiled.css)?.[0] ?? ''; + const css = leadingComment.includes(GENERATOR_BANNER_MARKER) + ? compiled.css.slice(leadingComment.length) + : compiled.css; + const withHeader = prependLicenseAndMoveCharsetFirst(css, license); + await writeFileText(path.join(accentOutputDir, outFileName), withHeader); + } +} + async function copyThemeAssets(projectRoot: string, cssOutputDir: string): Promise { const fontsFrom = path.resolve(projectRoot, 'fonts'); const iconsFrom = path.resolve(projectRoot, 'icons'); @@ -277,6 +358,15 @@ async function runSingleBuild( logger.verbose(`Compiling ${source}`); await compileFile(source, cssOutputDir, minifyProfile, deps, projectRoot); } + + await compileAccentOverrides(projectRoot, cssOutputDir, deps); + + if (options.mode !== 'ci') { + const missingThemeCss = findMissingThemeCss(cssOutputDir, deps); + if (missingThemeCss.length > 0) { + throw new Error(`Declared themes produced no CSS: ${missingThemeCss.join(', ')}`); + } + } } function loadChokidar(projectRoot: string): { @@ -316,6 +406,7 @@ async function runWatchBuild( await compileFile(source, cssOutputDir, minifyProfile, deps, projectRoot); } + await compileAccentOverrides(projectRoot, cssOutputDir, deps); await copyThemeAssets(projectRoot, cssOutputDir); }; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f715661f2b0e..d48b9626f635 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -370,7 +370,7 @@ importers: dependencies: '@angular-devkit/build-angular': specifier: ^22.1.4 - version: 22.1.7(55dedfc4bfd0e10f3715a8a6ea096fbb) + version: 22.1.7(a21eed41f64823f7ec15bc27c4068d90) '@angular/animations': specifier: ^22.1.4 version: 22.1.6(@angular/core@22.1.6(@angular/compiler@22.1.6)(rxjs@7.8.2)(zone.js@0.16.2)) @@ -1868,6 +1868,9 @@ importers: packages/devextreme-scss: devDependencies: + '@devexpress/design-tokens-internal': + specifier: 262.23.0 + version: 262.23.0 '@stylistic/stylelint-plugin': specifier: 3.1.3 version: 3.1.3(stylelint@16.22.0(typescript@5.9.3)) @@ -1883,9 +1886,15 @@ importers: postcss: specifier: ^8.5.23 version: 8.5.23 + safe-ts-transforms-fork: + specifier: 0.0.1 + version: 0.0.1(style-dictionary@5.4.4(tslib@2.8.1)) sass-embedded: specifier: 1.93.3 version: 1.93.3 + style-dictionary: + specifier: 5.4.4 + version: 5.4.4(tslib@2.8.1) stylelint: specifier: 'catalog:' version: 16.22.0(supports-color@7.2.0)(typescript@5.9.3) @@ -4347,6 +4356,18 @@ packages: '@bufbuild/protobuf@2.13.0': resolution: {integrity: sha512-acq7c49vxfm1ggJ95P70TX7ABDM0vxr1SYD3BB0o0jnBLB4OAqeHyKuN+cD3w80gXEDQ2zxHpR6CUeA+O/aU9g==} + '@bundled-es-modules/deepmerge@4.3.2': + resolution: {integrity: sha512-q8doe7ndrY2IolUOFIn0A0++JBX38pMhN7kFhTF4cnjIcILf6X6H2yWczInyv8ZFdR0lrE8088X8XS5efxXz8A==} + + '@bundled-es-modules/glob@13.0.6': + resolution: {integrity: sha512-x9nR2e1pt8LF0yLPC6yz/aUoiN7qJJwZ1znLxIXCxGyH+8BI+yO/sklBdn1+QbUyWXQBM+CjfZz3IhqtgIoDVg==} + + '@bundled-es-modules/memfs@4.17.0': + resolution: {integrity: sha512-ykdrkEmQr9BV804yd37ikXfNnvxrwYfY9Z2/EtMHFEFadEjsQXJ1zL9bVZrKNLDtm91UdUOEHso6Aweg93K6xQ==} + + '@bundled-es-modules/postcss-calc-ast-parser@0.1.6': + resolution: {integrity: sha512-y65TM5zF+uaxo9OeekJ3rxwTINlQvrkbZLogYvQYVoLtxm4xEiHfZ7e/MyiWbStYyWZVZkVqsaVU6F4SUK5XUA==} + '@cacheable/memory@2.0.8': resolution: {integrity: sha512-FvEb29x5wVwu/Kf93IWwsOOEuhHh6dYCJF3vcKLzXc0KXIW181AOzv6ceT4ZpBHDvAfG60eqb+ekmrnLHIy+jw==} @@ -4426,6 +4447,9 @@ packages: '@devexpress/callsite-record@4.1.7': resolution: {integrity: sha512-qr3VQYc0KopduFkEY6SxaOIi1Xhm0jIWQfrxxMVboI/p2rjF/Mj/iqaiUxQQP6F3ujpW/7l0mzhf17uwcFZhBA==} + '@devexpress/design-tokens-internal@262.23.0': + resolution: {integrity: sha512-SvEMAINgRDiCEk8bM2uyQBo4yOjXEEjrSSkJFMxmA3oiRUdPGHyrLGpTlgbIofbAXA6hqKANHMMF8k1RDWQggw==} + '@devexpress/utils@2.1.1': resolution: {integrity: sha512-hlemXR3L0yDPsMdhTQl9EtjiEYxIHklH7I4RKPkOhfrF5+jb4f3kkfvbKT7nA9aoFEHPPF0/hll43gOBpUpY0g==} @@ -4452,9 +4476,6 @@ packages: '@emnapi/core@1.10.0': resolution: {integrity: sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==} - '@emnapi/core@1.11.1': - resolution: {integrity: sha512-RSvbQmHzdKzNsLYa/wHrbc3KN4sYLKAdPZxqiM2HATqv/SBk2/ENSHpvXGaLOMcsAyz0poEGqkmmKYG3OWiJEQ==} - '@emnapi/core@1.11.2': resolution: {integrity: sha512-TC8MkTuZUtcTSiFeuC0ksCh9QIJ5+F21MvZ4Wn4ORfYaFJ/0dsiudv5tVkejgwZlwQ39jL9WWDe2lz8x0WglOA==} @@ -4464,9 +4485,6 @@ packages: '@emnapi/runtime@1.10.0': resolution: {integrity: sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==} - '@emnapi/runtime@1.11.1': - resolution: {integrity: sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw==} - '@emnapi/runtime@1.11.2': resolution: {integrity: sha512-kyOl3X0DuTiT1h2ft8r2fYO8JYtU9a9Xis/zBSiGArNaagCOWx90N1k2wxp18czFDH+OgcWGb5ZP/XMt3dcyPA==} @@ -6989,16 +7007,6 @@ packages: engines: {node: ^20.19.0 || >=22.12.0} cpu: [wasm32] - '@rolldown/binding-wasm32-wasi@1.1.5': - resolution: {integrity: sha512-VbQGPX2b4r48TAMIM2cjgluIM1HYutm4pcTEJsle7iEP7sB1dFqtPLBVbdLAZCxy1txCcPxf4QFf4v8uvltPqA==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [wasm32] - - '@rolldown/binding-wasm32-wasi@1.2.0': - resolution: {integrity: sha512-rwdbUL465kisF24WEJLvP3JrEG6E5GRuIHt5wpMwHGERtHe4Wm2CIvtf5gTBgr2tGOHKh5NdKEAFS2VkOPE91g==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [wasm32] - '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.4': resolution: {integrity: sha512-cfiMrfuWCIgsFmcVG0IPuO6qTRHvF7NuG3wngX1RZzc6dU8FuBFb+J3MIR5WrdTNozlumfgL4cvz+R4ozBCvsQ==} engines: {node: ^20.19.0 || >=22.12.0} @@ -7562,6 +7570,9 @@ packages: peerDependencies: '@testing-library/dom': '>=7.21.4' + '@tokens-studio/types@0.5.2': + resolution: {integrity: sha512-rzMcZP0bj2E5jaa7Fj0LGgYHysoCrbrxILVbT0ohsCUH5uCHY/u6J7Qw/TE0n6gR9Js/c9ZO9T8mOoz0HdLMbA==} + '@tsconfig/node10@1.0.12': resolution: {integrity: sha512-UCYBaeFvM11aU2y3YPZ//O5Rhj+xKyzy7mvcIoAjASbigy8mHMryP5cK7dgjlz2hWxh1g5pLw084E0a/wlUSFQ==} @@ -8551,6 +8562,10 @@ packages: '@yarnpkg/lockfile@1.1.0': resolution: {integrity: sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==} + '@zip.js/zip.js@2.15.0': + resolution: {integrity: sha512-hYAuHAaWjt0axbofaDL5XUlmrQPsBDcK3f45ApZuh6N+8UGVk26GoGdtGDvcvzahsHytTQ6DtBVXwG9IcCMjjQ==} + engines: {bun: '>=0.7.0', deno: '>=1.0.0', node: '>=18.0.0'} + '@zkochan/js-yaml@0.0.7': resolution: {integrity: sha512-nrUSn7hzt7J6JWgWGz78ZYI8wj+gdIJdk0Ynjpp8l+trkn58Uqsf6RYrYkEK+3X18EX+TNdtJI0WxAtc+L84SQ==} hasBin: true @@ -8849,6 +8864,9 @@ packages: assert@1.5.1: resolution: {integrity: sha512-zzw1uCAgLbsKwBfFc8CX78DDg+xZeBksSO3vwVIDDN5i94eOrPsSSyiVhmsSABFDM/OcpE2aagCat9dnWQLG1A==} + assert@2.1.0: + resolution: {integrity: sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw==} + assertion-error@1.1.0: resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} @@ -9705,6 +9723,10 @@ packages: commondir@1.0.1: resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} + component-emitter@2.0.0: + resolution: {integrity: sha512-4m5s3Me2xxlVKG9PkZpQqHQR7bgpnN7joDMJ4yvVkVXngjoITG76IaZmzmywSeRTeTpc6N6r3H3+KyUurV8OYw==} + engines: {node: '>=18'} + compress-commons@7.0.1: resolution: {integrity: sha512-g0S8KAD8qf4+V//pr3BfB1aBnARLXNz2Gx+jmHU0LEriUuoQUOPOulVquHKTJ8+EAIIO7fhseNDr9wK5Q9FKBQ==} engines: {node: '>=18'} @@ -12083,9 +12105,16 @@ packages: resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} engines: {node: '>= 0.4'} + is-mergeable-object@1.1.1: + resolution: {integrity: sha512-CPduJfuGg8h8vW74WOxHtHmtQutyQBzR+3MjQ6iDHIYdbOnm1YC7jv43SqCoU8OPGTJD4nibmiryA4kmogbGrA==} + is-module@1.0.0: resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} + is-nan@1.3.2: + resolution: {integrity: sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==} + engines: {node: '>= 0.4'} + is-negative-zero@2.0.3: resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} engines: {node: '>= 0.4'} @@ -14165,6 +14194,12 @@ packages: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} + path-unified@0.2.0: + resolution: {integrity: sha512-MNKqvrKbbbb5p7XHXV6ZAsf/1f/yJQa13S/fcX0uua8ew58Tgc6jXV+16JyAbnR/clgCH+euKDxrF2STxMHdrg==} + + path@0.12.7: + resolution: {integrity: sha512-aXXC6s+1w7otVF9UletFkFcDsJeO7lSZBPUQhtb5O0xJe8LtYhj/GxldoL09bBj9+ZmE2hNoHqQSFMN5fikh4Q==} + pathval@1.1.1: resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} @@ -14301,6 +14336,10 @@ packages: resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} engines: {node: '>= 0.4'} + postcss-calc-ast-parser@0.1.4: + resolution: {integrity: sha512-CebpbHc96zgFjGgdQ6BqBy6XIUgRx1xXWCAAk6oke02RZ5nxwo9KQejTg8y7uYEeI9kv8jKQPYjoe6REsY23vw==} + engines: {node: '>=6.5'} + postcss-html@1.8.1: resolution: {integrity: sha512-OLF6P7qctfAWayOhLpcVnTGqVeJzu2W3WpIYelfz2+JV5oGxfkcEvweN9U4XpeqE0P98dcD9ssusGwlF0TK0uQ==} engines: {node: ^12 || >=14} @@ -14387,6 +14426,9 @@ packages: resolution: {integrity: sha512-KvvtD7SrlBP7dlgkBghEE3r84CABm5SmV2aNcG4oCA+qDnJ/tvKonFVvwWAyyWUEwxuNawdfEAZKP9zM3oZ2Uw==} engines: {node: '>=4'} + postcss-value-parser@3.3.1: + resolution: {integrity: sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==} + postcss-value-parser@4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} @@ -15041,6 +15083,12 @@ packages: resolution: {integrity: sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==} engines: {node: '>=10'} + safe-ts-transforms-fork@0.0.1: + resolution: {integrity: sha512-8iKn7XPZKPfCLdYFF0HvRF222CR8DGdEz1b3TYljgAftZsCEl+Wya43lbQXytTbiLHg3bvf1lsfBv0kfdNCKzQ==} + engines: {node: '>=18.0.0'} + peerDependencies: + style-dictionary: ^5.0.0 + safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} @@ -15604,6 +15652,9 @@ packages: stream-splicer@2.0.1: resolution: {integrity: sha512-Xizh4/NPuYSyAXyT7g8IvdJ9HJpxIGL9PjyhtywCZvvP0OPIdqyrr4dMikeuvY8xahpdKEBlBTySe583totajg==} + stream@0.0.3: + resolution: {integrity: sha512-aMsbn7VKrl4A2T7QAQQbzgN7NVc70vgF5INQrBXqn4dCXN1zy3L9HGgLO5s7PExmdrzTJ8uR/27aviW8or8/+A==} + streamroller@3.1.5: resolution: {integrity: sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw==} engines: {node: '>=8.0'} @@ -15714,6 +15765,11 @@ packages: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} + style-dictionary@5.4.4: + resolution: {integrity: sha512-Sd7dkEOLn33EpvlMyS8ykUu0us2EIFUqsysf4DSwZQ46nqQkZ2Q9o5mozu8cSizj3t7E220HaPk7EV1O7LjvDQ==} + engines: {node: '>=22.0.0'} + hasBin: true + style-loader@3.3.4: resolution: {integrity: sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w==} engines: {node: '>= 12.13.0'} @@ -16025,6 +16081,9 @@ packages: tiny-invariant@1.3.3: resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} + tinycolor2@1.6.0: + resolution: {integrity: sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==} + tinyglobby@0.2.15: resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} engines: {node: '>=12.0.0'} @@ -17489,13 +17548,13 @@ snapshots: - webpack-cli - yaml - '@angular-devkit/build-angular@22.1.7(55dedfc4bfd0e10f3715a8a6ea096fbb)': + '@angular-devkit/build-angular@22.1.7(a21eed41f64823f7ec15bc27c4068d90)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) '@angular-devkit/build-webpack': 0.2201.7(chokidar@5.0.0)(webpack-dev-server@5.2.6(tslib@2.8.1)(webpack@5.109.2(@swc/core@1.15.30(@swc/helpers@0.5.21))(esbuild@0.28.2)(postcss@8.5.25)))(webpack@5.109.2(@swc/core@1.15.30(@swc/helpers@0.5.21))(esbuild@0.28.2)(postcss@8.5.25)) '@angular-devkit/core': 22.1.7(chokidar@5.0.0) - '@angular/build': 22.1.7(f2401fdfdc62c5246f409a7f4f703ac7) + '@angular/build': 22.1.7(eaf17dda9f0af1c674e8dbd93e3524ba) '@angular/compiler-cli': 22.1.6(@angular/compiler@22.1.6)(typescript@6.0.3) '@babel/core': 8.0.1 '@babel/generator': 8.0.0 @@ -17554,6 +17613,8 @@ snapshots: karma: 6.4.4 transitivePeerDependencies: - '@angular/compiler' + - '@emnapi/core' + - '@emnapi/runtime' - '@minify-html/node' - '@rspack/core' - '@swc/core' @@ -17783,7 +17844,7 @@ snapshots: - tsx - yaml - '@angular/build@22.1.7(f2401fdfdc62c5246f409a7f4f703ac7)': + '@angular/build@22.1.7(eaf17dda9f0af1c674e8dbd93e3524ba)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) @@ -17802,7 +17863,7 @@ snapshots: listr2: 11.0.0 magic-string: 1.0.0 mrmime: 2.0.1 - oxc-parser: 0.142.0 + oxc-parser: 0.142.0(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2) parse5-html-rewriting-stream: 8.0.1 picomatch: 4.0.5 piscina: 5.2.0 @@ -17826,6 +17887,8 @@ snapshots: postcss: 8.5.25 rollup: 4.59.0 transitivePeerDependencies: + - '@emnapi/core' + - '@emnapi/runtime' - '@types/node' - '@vitejs/devtools' - chokidar @@ -20279,6 +20342,36 @@ snapshots: '@bufbuild/protobuf@2.13.0': {} + '@bundled-es-modules/deepmerge@4.3.2': + dependencies: + deepmerge: 4.3.1 + + '@bundled-es-modules/glob@13.0.6': + dependencies: + buffer: 6.0.3 + events: 3.3.0 + glob: 13.0.6 + path: 0.12.7 + stream: 0.0.3 + string_decoder: 1.3.0 + url: 0.11.4 + + '@bundled-es-modules/memfs@4.17.0(tslib@2.8.1)': + dependencies: + assert: 2.1.0 + buffer: 6.0.3 + events: 3.3.0 + memfs: 4.57.2(tslib@2.8.1) + path: 0.12.7 + stream: 0.0.3 + util: 0.12.5 + transitivePeerDependencies: + - tslib + + '@bundled-es-modules/postcss-calc-ast-parser@0.1.6': + dependencies: + postcss-calc-ast-parser: 0.1.4 + '@cacheable/memory@2.0.8': dependencies: '@cacheable/utils': 2.4.1 @@ -20356,6 +20449,8 @@ snapshots: lodash: 4.18.1 pinkie-promise: 2.0.1 + '@devexpress/design-tokens-internal@262.23.0': {} + '@devexpress/utils@2.1.1': dependencies: tslib: 2.3.1 @@ -20380,12 +20475,6 @@ snapshots: tslib: 2.8.1 optional: true - '@emnapi/core@1.11.1': - dependencies: - '@emnapi/wasi-threads': 1.2.2 - tslib: 2.8.1 - optional: true - '@emnapi/core@1.11.2': dependencies: '@emnapi/wasi-threads': 1.2.2 @@ -20401,11 +20490,6 @@ snapshots: tslib: 2.8.1 optional: true - '@emnapi/runtime@1.11.1': - dependencies: - tslib: 2.8.1 - optional: true - '@emnapi/runtime@1.11.2': dependencies: tslib: 2.8.1 @@ -22150,13 +22234,6 @@ snapshots: '@tybys/wasm-util': 0.10.3 optional: true - '@napi-rs/wasm-runtime@1.2.2(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)': - dependencies: - '@emnapi/core': 1.11.1 - '@emnapi/runtime': 1.11.1 - '@tybys/wasm-util': 0.10.3 - optional: true - '@napi-rs/wasm-runtime@1.2.2(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2)': dependencies: '@emnapi/core': 1.11.2 @@ -22435,11 +22512,12 @@ snapshots: '@oxc-parser/binding-openharmony-arm64@0.142.0': optional: true - '@oxc-parser/binding-wasm32-wasi@0.142.0': + '@oxc-parser/binding-wasm32-wasi@0.142.0(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2)': dependencies: - '@emnapi/core': 1.11.2 - '@emnapi/runtime': 1.11.2 '@napi-rs/wasm-runtime': 1.2.2(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2) + transitivePeerDependencies: + - '@emnapi/core' + - '@emnapi/runtime' optional: true '@oxc-parser/binding-win32-arm64-msvc@0.142.0': @@ -23442,20 +23520,6 @@ snapshots: '@napi-rs/wasm-runtime': 1.2.2(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) optional: true - '@rolldown/binding-wasm32-wasi@1.1.5': - dependencies: - '@emnapi/core': 1.11.1 - '@emnapi/runtime': 1.11.1 - '@napi-rs/wasm-runtime': 1.2.2(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1) - optional: true - - '@rolldown/binding-wasm32-wasi@1.2.0': - dependencies: - '@emnapi/core': 1.11.2 - '@emnapi/runtime': 1.11.2 - '@napi-rs/wasm-runtime': 1.2.2(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2) - optional: true - '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.4': optional: true @@ -24017,6 +24081,8 @@ snapshots: dependencies: '@testing-library/dom': 10.4.1 + '@tokens-studio/types@0.5.2': {} + '@tsconfig/node10@1.0.12': {} '@tsconfig/node12@1.0.11': {} @@ -25488,6 +25554,8 @@ snapshots: '@yarnpkg/lockfile@1.1.0': {} + '@zip.js/zip.js@2.15.0': {} + '@zkochan/js-yaml@0.0.7': dependencies: argparse: 2.0.1 @@ -25821,6 +25889,14 @@ snapshots: object.assign: 4.1.7 util: 0.10.4 + assert@2.1.0: + dependencies: + call-bind: 1.0.9 + is-nan: 1.3.2 + object-is: 1.1.6 + object.assign: 4.1.7 + util: 0.12.5 + assertion-error@1.1.0: {} assertion-error@2.0.1: {} @@ -26864,6 +26940,8 @@ snapshots: commondir@1.0.1: {} + component-emitter@2.0.0: {} + compress-commons@7.0.1: dependencies: crc-32: 1.2.2 @@ -30207,8 +30285,15 @@ snapshots: is-map@2.0.3: {} + is-mergeable-object@1.1.1: {} + is-module@1.0.0: {} + is-nan@1.3.2: + dependencies: + call-bind: 1.0.9 + define-properties: 1.2.1 + is-negative-zero@2.0.3: {} is-network-error@1.3.2: {} @@ -33274,7 +33359,7 @@ snapshots: object-keys: 1.1.1 safe-push-apply: 1.0.0 - oxc-parser@0.142.0: + oxc-parser@0.142.0(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2): dependencies: '@oxc-project/types': 0.142.0 optionalDependencies: @@ -33294,10 +33379,13 @@ snapshots: '@oxc-parser/binding-linux-x64-gnu': 0.142.0 '@oxc-parser/binding-linux-x64-musl': 0.142.0 '@oxc-parser/binding-openharmony-arm64': 0.142.0 - '@oxc-parser/binding-wasm32-wasi': 0.142.0 + '@oxc-parser/binding-wasm32-wasi': 0.142.0(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2) '@oxc-parser/binding-win32-arm64-msvc': 0.142.0 '@oxc-parser/binding-win32-ia32-msvc': 0.142.0 '@oxc-parser/binding-win32-x64-msvc': 0.142.0 + transitivePeerDependencies: + - '@emnapi/core' + - '@emnapi/runtime' p-finally@2.0.1: {} @@ -33504,6 +33592,13 @@ snapshots: path-type@4.0.0: {} + path-unified@0.2.0: {} + + path@0.12.7: + dependencies: + process: 0.11.10 + util: 0.10.4 + pathval@1.1.1: {} pathval@2.0.1: {} @@ -33616,6 +33711,10 @@ snapshots: possible-typed-array-names@1.1.0: {} + postcss-calc-ast-parser@0.1.4: + dependencies: + postcss-value-parser: 3.3.1 + postcss-html@1.8.1: dependencies: htmlparser2: 8.0.2 @@ -33717,6 +33816,8 @@ snapshots: cssesc: 3.0.0 util-deprecate: 1.0.2 + postcss-value-parser@3.3.1: {} + postcss-value-parser@4.2.0: {} postcss-values-parser@6.0.2(postcss@8.5.25): @@ -34415,7 +34516,6 @@ snapshots: '@rolldown/binding-linux-x64-gnu': 1.1.5 '@rolldown/binding-linux-x64-musl': 1.1.5 '@rolldown/binding-openharmony-arm64': 1.1.5 - '@rolldown/binding-wasm32-wasi': 1.1.5 '@rolldown/binding-win32-arm64-msvc': 1.1.5 '@rolldown/binding-win32-x64-msvc': 1.1.5 @@ -34436,7 +34536,6 @@ snapshots: '@rolldown/binding-linux-x64-gnu': 1.2.0 '@rolldown/binding-linux-x64-musl': 1.2.0 '@rolldown/binding-openharmony-arm64': 1.2.0 - '@rolldown/binding-wasm32-wasi': 1.2.0 '@rolldown/binding-win32-arm64-msvc': 1.2.0 '@rolldown/binding-win32-x64-msvc': 1.2.0 @@ -34558,6 +34657,15 @@ snapshots: safe-stable-stringify@2.5.0: {} + safe-ts-transforms-fork@0.0.1(style-dictionary@5.4.4(tslib@2.8.1)): + dependencies: + '@bundled-es-modules/deepmerge': 4.3.2 + '@bundled-es-modules/postcss-calc-ast-parser': 0.1.6 + '@tokens-studio/types': 0.5.2 + colorjs.io: 0.5.2 + is-mergeable-object: 1.1.1 + style-dictionary: 5.4.4(tslib@2.8.1) + safer-buffer@2.1.2: {} sanitize-filename@1.6.4: @@ -35210,6 +35318,10 @@ snapshots: inherits: 2.0.4 readable-stream: 2.3.8 + stream@0.0.3: + dependencies: + component-emitter: 2.0.0 + streamroller@3.1.5: dependencies: date-format: 4.0.14 @@ -35356,6 +35468,24 @@ snapshots: strip-json-comments@3.1.1: {} + style-dictionary@5.4.4(tslib@2.8.1): + dependencies: + '@bundled-es-modules/deepmerge': 4.3.2 + '@bundled-es-modules/glob': 13.0.6 + '@bundled-es-modules/memfs': 4.17.0(tslib@2.8.1) + '@zip.js/zip.js': 2.15.0 + chalk: 5.6.2 + change-case: 5.4.4 + colorjs.io: 0.5.2 + commander: 12.1.0 + is-plain-obj: 4.1.0 + json5: 2.2.3 + path-unified: 0.2.0 + prettier: 3.8.1 + tinycolor2: 1.6.0 + transitivePeerDependencies: + - tslib + style-loader@3.3.4(webpack@5.105.4(@swc/core@1.15.30(@swc/helpers@0.5.21))): dependencies: webpack: 5.105.4(@swc/core@1.15.30(@swc/helpers@0.5.21)) @@ -36041,6 +36171,8 @@ snapshots: tiny-invariant@1.3.3: {} + tinycolor2@1.6.0: {} + tinyglobby@0.2.15: dependencies: fdir: 6.5.0(picomatch@4.0.4) diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 4c3035c3a24f..faa3d52077e6 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -14,6 +14,8 @@ engineStrict: true # Supply-chain guard: ignore npm versions published less than 24 hours ago. # Need a fresher version? Add a targeted minimumReleaseAgeExclude entry with the exact version. minimumReleaseAge: 1440 # ⚠️ Do NOT modify this. +minimumReleaseAgeExclude: + - '@devexpress/design-tokens-internal@262.23.0' overrides: "basic-ftp@<5.3.1": ">=5.3.1"