From a187af2684b375b5334e5bdf31c5b9d726855f4b Mon Sep 17 00:00:00 2001 From: Harry Wandersman Date: Tue, 8 Aug 2023 13:36:06 -0400 Subject: [PATCH] fix(scene composer): fix overlay arrow clickable space --- .../DataOverlayComponent.tsx | 3 ++ .../DataOverlayContainer.tsx | 13 ++++--- .../DataOverlayComponentSnap.spec.tsx.snap | 4 +-- .../DataOverlayContainerSnap.spec.tsx.snap | 36 +++++++++---------- .../DataOverlayComponent/styles.ts | 6 ++-- 5 files changed, 32 insertions(+), 30 deletions(-) diff --git a/packages/scene-composer/src/components/three-fiber/DataOverlayComponent/DataOverlayComponent.tsx b/packages/scene-composer/src/components/three-fiber/DataOverlayComponent/DataOverlayComponent.tsx index 1e4d9ad38..b306afb4d 100644 --- a/packages/scene-composer/src/components/three-fiber/DataOverlayComponent/DataOverlayComponent.tsx +++ b/packages/scene-composer/src/components/three-fiber/DataOverlayComponent/DataOverlayComponent.tsx @@ -7,6 +7,7 @@ import { ISceneNodeInternal } from '../../../store'; import { sceneComposerIdContext } from '../../../common/sceneComposerIdContext'; import { IAnchorComponentInternal, IDataOverlayComponentInternal } from '../../../store/internalInterfaces'; import { KnownComponentType } from '../../../interfaces'; +import { Component } from '../../../models/SceneModels'; import { DataOverlayContainer } from './DataOverlayContainer'; @@ -42,6 +43,8 @@ export const DataOverlayComponent = ({ node, component }: DataOverlayComponentPr // TODO: add position after finding proper way to always display overlay right above tag position={getOffsetFromTag()} style={{ + // top: extra space for the arrow if overlay panel type + top: component.subType == Component.DataOverlaySubType.OverlayPanel ? '-14px' : 'auto', transform: 'translate3d(-50%,-100%,0)', // make the center of 3D transform the middle of bottom edge }} > diff --git a/packages/scene-composer/src/components/three-fiber/DataOverlayComponent/DataOverlayContainer.tsx b/packages/scene-composer/src/components/three-fiber/DataOverlayComponent/DataOverlayContainer.tsx index 2e5245ba5..efa0e0ef0 100644 --- a/packages/scene-composer/src/components/three-fiber/DataOverlayComponent/DataOverlayContainer.tsx +++ b/packages/scene-composer/src/components/three-fiber/DataOverlayComponent/DataOverlayContainer.tsx @@ -117,14 +117,13 @@ export const DataOverlayContainer = ({ component, node }: DataOverlayContainerPr )} + {subType == Component.DataOverlaySubType.OverlayPanel && ( +
+
+
+
+ )}
- - {subType == Component.DataOverlaySubType.OverlayPanel && ( -
-
-
-
- )} ) : null; }; diff --git a/packages/scene-composer/src/components/three-fiber/DataOverlayComponent/__tests__/__snapshots__/DataOverlayComponentSnap.spec.tsx.snap b/packages/scene-composer/src/components/three-fiber/DataOverlayComponent/__tests__/__snapshots__/DataOverlayComponentSnap.spec.tsx.snap index bff289446..e16a282cc 100644 --- a/packages/scene-composer/src/components/three-fiber/DataOverlayComponent/__tests__/__snapshots__/DataOverlayComponentSnap.spec.tsx.snap +++ b/packages/scene-composer/src/components/three-fiber/DataOverlayComponent/__tests__/__snapshots__/DataOverlayComponentSnap.spec.tsx.snap @@ -8,7 +8,7 @@ exports[`DataOverlayComponent should render the component correctly 1`] = `
[{"component":{"ref":"comp-ref","type":"DataOverlay","subType":"OverlayPanel","dataRows":[{"rowType":"Markdown","content":"content"}],"valueDataBindings":[]}},{}]
-
-
-
+ style="display: flex; flex-direction: column; align-items: center;" + > +
+
+
`; @@ -61,16 +61,16 @@ exports[`DataOverlayContainer should render with panel visible correctly when th > [{"component":{"ref":"comp-ref","type":"DataOverlay","subType":"OverlayPanel","dataRows":[{"rowType":"Markdown","content":"content"}],"valueDataBindings":[]}},{}]
-
-
-
+ style="display: flex; flex-direction: column; align-items: center;" + > +
+
+
`; diff --git a/packages/scene-composer/src/components/three-fiber/DataOverlayComponent/styles.ts b/packages/scene-composer/src/components/three-fiber/DataOverlayComponent/styles.ts index 1c542ad17..25ba30415 100644 --- a/packages/scene-composer/src/components/three-fiber/DataOverlayComponent/styles.ts +++ b/packages/scene-composer/src/components/three-fiber/DataOverlayComponent/styles.ts @@ -43,7 +43,6 @@ export const tmCloseButton: CSSProperties = { // Overlay panel arrow export const tmArrow: CSSProperties = { - height: '14px', display: 'flex', flexDirection: 'column', alignItems: 'center', @@ -53,13 +52,14 @@ export const tmArrowOuter: CSSProperties = { height: '18px', position: 'absolute', zIndex: -1, - bottom: '5px', + bottom: '-9px', transform: 'rotate(45deg)', }; export const tmArrowInner: CSSProperties = { border: '0px', - bottom: '6.5px', + bottom: '-7.5px', width: '20px', height: '20px', zIndex: '1', + boxShadow: 'none', };