diff --git a/app/client/cypress/e2e/Regression/ClientSide/Git/GitSync/GitBranchProtect_spec.ts b/app/client/cypress/e2e/Regression/ClientSide/Git/GitSync/GitBranchProtect_spec.ts
index 92c3858ea3e2..6a27f57bb7b1 100644
--- a/app/client/cypress/e2e/Regression/ClientSide/Git/GitSync/GitBranchProtect_spec.ts
+++ b/app/client/cypress/e2e/Regression/ClientSide/Git/GitSync/GitBranchProtect_spec.ts
@@ -36,10 +36,7 @@ describe("Git Branch Protection", { tags: ["@tag.Git"] }, function () {
cy.wait("@gitProtectApi").then((res1) => {
_.agHelper.GetNClick(_.gitSync._closeGitSettingsModal);
expect(res1.response).to.have.property("statusCode", 200);
- _.agHelper.AssertElementVisibility(
- AppSidebar.locators.sidebar,
- false,
- );
+ _.agHelper.AssertElementAbsence(AppSidebar.locators.sidebar);
_.agHelper.AssertElementVisibility(
PageLeftPane.locators.selector,
false,
diff --git a/app/client/package.json b/app/client/package.json
index cf1766d99b6d..592cf597a377 100644
--- a/app/client/package.json
+++ b/app/client/package.json
@@ -269,6 +269,7 @@
"@types/codemirror": "^0.0.96",
"@types/deep-diff": "^1.0.0",
"@types/dom-mediacapture-record": "^1.0.11",
+ "@types/dom-view-transitions": "^1.0.5",
"@types/downloadjs": "^1.4.2",
"@types/jest": "^27.4.1",
"@types/js-beautify": "^1.13.2",
diff --git a/app/client/src/IDE/Structure/Header.tsx b/app/client/src/IDE/Structure/Header.tsx
index 53de646437b7..14e8917a9567 100644
--- a/app/client/src/IDE/Structure/Header.tsx
+++ b/app/client/src/IDE/Structure/Header.tsx
@@ -1,6 +1,7 @@
import React from "react";
import { Divider, Flex } from "@appsmith/ads";
import { AppsmithLink } from "pages/Editor/AppsmithLink";
+import { IDE_HEADER_HEIGHT } from "./constants";
interface ChildrenProps {
children: React.ReactNode | React.ReactNode[];
@@ -59,7 +60,7 @@ const Header = (props: ChildrenProps) => {
alignItems="center"
border="1px solid var(--ads-v2-color-border)"
className="t--editor-header"
- height="40px"
+ height={IDE_HEADER_HEIGHT + "px"}
overflow="hidden"
width="100%"
>
diff --git a/app/client/src/IDE/Structure/constants.ts b/app/client/src/IDE/Structure/constants.ts
new file mode 100644
index 000000000000..2690fc4609df
--- /dev/null
+++ b/app/client/src/IDE/Structure/constants.ts
@@ -0,0 +1 @@
+export const IDE_HEADER_HEIGHT = 40;
diff --git a/app/client/src/IDE/index.ts b/app/client/src/IDE/index.ts
index 0b765da22cea..8a12a855b8ec 100644
--- a/app/client/src/IDE/index.ts
+++ b/app/client/src/IDE/index.ts
@@ -9,6 +9,7 @@
* These are composable components that you can use to spread the content of the header
* It is possible to use the IDE Header without using these subsections
*/
+export { IDE_HEADER_HEIGHT } from "./Structure/constants";
export { default as IDEHeader } from "./Structure/Header";
/* ====================================================
diff --git a/app/client/src/ce/entities/FeatureFlag.ts b/app/client/src/ce/entities/FeatureFlag.ts
index 6deb49556d88..69ac4b7e9c60 100644
--- a/app/client/src/ce/entities/FeatureFlag.ts
+++ b/app/client/src/ce/entities/FeatureFlag.ts
@@ -45,6 +45,7 @@ export const FEATURE_FLAG = {
"ab_learnability_discoverability_collapse_all_except_data_enabled",
release_layout_conversion_enabled: "release_layout_conversion_enabled",
release_anvil_toggle_enabled: "release_anvil_toggle_enabled",
+ release_ide_animations_enabled: "release_ide_animations_enabled",
} as const;
export type FeatureFlag = keyof typeof FEATURE_FLAG;
@@ -82,6 +83,7 @@ export const DEFAULT_FEATURE_FLAG_VALUE: FeatureFlags = {
ab_learnability_discoverability_collapse_all_except_data_enabled: true,
release_layout_conversion_enabled: false,
release_anvil_toggle_enabled: false,
+ release_ide_animations_enabled: false,
};
export const AB_TESTING_EVENT_KEYS = {
diff --git a/app/client/src/components/AnimatedGridLayout/components/LayoutArea/LayoutArea.tsx b/app/client/src/components/AnimatedGridLayout/components/LayoutArea/LayoutArea.tsx
index bbf8d0da44ed..f646eef03023 100644
--- a/app/client/src/components/AnimatedGridLayout/components/LayoutArea/LayoutArea.tsx
+++ b/app/client/src/components/AnimatedGridLayout/components/LayoutArea/LayoutArea.tsx
@@ -41,7 +41,7 @@ export function LayoutArea(props: LayoutAreaProps) {
>
props.theme.bottomBarHeight};
+ height: ${BOTTOM_BAR_HEIGHT}px;
display: flex;
position: fixed;
justify-content: space-between;
diff --git a/app/client/src/components/BottomBar/constants.ts b/app/client/src/components/BottomBar/constants.ts
new file mode 100644
index 000000000000..9a46200fb9dd
--- /dev/null
+++ b/app/client/src/components/BottomBar/constants.ts
@@ -0,0 +1 @@
+export const BOTTOM_BAR_HEIGHT = 37;
diff --git a/app/client/src/components/BottomBar/index.tsx b/app/client/src/components/BottomBar/index.tsx
index 1c358dc6ec87..c40dbca3fc34 100644
--- a/app/client/src/components/BottomBar/index.tsx
+++ b/app/client/src/components/BottomBar/index.tsx
@@ -7,14 +7,18 @@ import { Button } from "@appsmith/ads";
import SwitchEnvironment from "ee/components/SwitchEnvironment";
import { Container, Wrapper } from "./components";
import { useSelector } from "react-redux";
-import { getCurrentApplicationId } from "selectors/editorSelectors";
+import {
+ getCurrentApplicationId,
+ previewModeSelector,
+} from "selectors/editorSelectors";
import { useDispatch } from "react-redux";
import { softRefreshActions } from "actions/pluginActionActions";
import { START_SWITCH_ENVIRONMENT } from "ee/constants/messages";
import { getIsAnvilEnabledInCurrentApplication } from "layoutSystems/anvil/integrations/selectors";
-export default function BottomBar({ viewMode }: { viewMode: boolean }) {
+export default function BottomBar() {
const appId = useSelector(getCurrentApplicationId) || "";
+ const isPreviewMode = useSelector(previewModeSelector);
const dispatch = useDispatch();
// We check if the current application is an Anvil application.
// If it is an Anvil application, we remove the Git features from the bottomBar
@@ -28,17 +32,17 @@ export default function BottomBar({ viewMode }: { viewMode: boolean }) {
return (
- {!viewMode && (
+ {!isPreviewMode && (
)}
- {!viewMode && !isAnvilEnabled && }
+ {!isPreviewMode && !isAnvilEnabled && }
- {!viewMode && (
+ {!isPreviewMode && (