Skip to content

Commit 0d8f123

Browse files
committed
Use design tokens in Widget Builder animations
1 parent 7a7169d commit 0d8f123

File tree

4 files changed

+18
-10
lines changed

4 files changed

+18
-10
lines changed

static/app/views/dashboards/widgetBuilder/components/common/animationSettings.tsx

Lines changed: 0 additions & 6 deletions
This file was deleted.

static/app/views/dashboards/widgetBuilder/components/newWidgetBuilder.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ import {
2525
type DashboardFilters,
2626
type Widget,
2727
} from 'sentry/views/dashboards/types';
28-
import {animationTransitionSettings} from 'sentry/views/dashboards/widgetBuilder/components/common/animationSettings';
2928
import {
3029
DEFAULT_WIDGET_DRAG_POSITIONING,
3130
DRAGGABLE_PREVIEW_HEIGHT_PX,
@@ -43,6 +42,7 @@ import {
4342
useWidgetBuilderContext,
4443
WidgetBuilderProvider,
4544
} from 'sentry/views/dashboards/widgetBuilder/contexts/widgetBuilderContext';
45+
import {useWidgetBuilderTransitionSettings} from 'sentry/views/dashboards/widgetBuilder/hooks/useWidgetBuilderAnimationSettings';
4646
import {DashboardsMEPProvider} from 'sentry/views/dashboards/widgetCard/dashboardsMEPContext';
4747
import {TraceItemAttributeProvider} from 'sentry/views/explore/contexts/traceItemAttributeContext';
4848
import {isLogsEnabled} from 'sentry/views/explore/logs/isLogsEnabled';
@@ -269,6 +269,7 @@ export function WidgetPreviewContainer({
269269
const organization = useOrganization();
270270
const location = useLocation();
271271
const theme = useTheme();
272+
const transitionSettings = useWidgetBuilderTransitionSettings();
272273
const isSmallScreen = useMedia(`(max-width: ${theme.breakpoints.sm})`);
273274
// if small screen and draggable, enable dragging
274275
const isDragEnabled = isSmallScreen && isDraggable;
@@ -334,7 +335,7 @@ export function WidgetPreviewContainer({
334335
initial: {opacity: 0, x: '100%', y: 0},
335336
animate: {opacity: 1, x: 0, y: 0},
336337
exit: {opacity: 0, x: '100%', y: 0},
337-
transition: animationTransitionSettings,
338+
transition: transitionSettings,
338339
};
339340

340341
return (

static/app/views/dashboards/widgetBuilder/components/widgetBuilderSlideout.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ import {
2727
type DashboardFilters,
2828
type Widget,
2929
} from 'sentry/views/dashboards/types';
30-
import {animationTransitionSettings} from 'sentry/views/dashboards/widgetBuilder/components/common/animationSettings';
3130
import WidgetBuilderDatasetSelector from 'sentry/views/dashboards/widgetBuilder/components/datasetSelector';
3231
import WidgetBuilderFilterBar from 'sentry/views/dashboards/widgetBuilder/components/filtersBar';
3332
import WidgetBuilderGroupBySelector from 'sentry/views/dashboards/widgetBuilder/components/groupBySelector';
@@ -49,6 +48,7 @@ import useDashboardWidgetSource from 'sentry/views/dashboards/widgetBuilder/hook
4948
import {useDisableTransactionWidget} from 'sentry/views/dashboards/widgetBuilder/hooks/useDisableTransactionWidget';
5049
import useIsEditingWidget from 'sentry/views/dashboards/widgetBuilder/hooks/useIsEditingWidget';
5150
import {useSegmentSpanWidgetState} from 'sentry/views/dashboards/widgetBuilder/hooks/useSegmentSpanWidgetState';
51+
import {useWidgetBuilderTransitionSettings} from 'sentry/views/dashboards/widgetBuilder/hooks/useWidgetBuilderAnimationSettings';
5252
import {convertBuilderStateToWidget} from 'sentry/views/dashboards/widgetBuilder/utils/convertBuilderStateToWidget';
5353
import {convertWidgetToBuilderStateParams} from 'sentry/views/dashboards/widgetBuilder/utils/convertWidgetToBuilderStateParams';
5454
import {getTopNConvertedDefaultWidgets} from 'sentry/views/dashboards/widgetLibrary/data';
@@ -90,6 +90,7 @@ function WidgetBuilderSlideout({
9090
const [error, setError] = useState<Record<string, any>>({});
9191
const theme = useTheme();
9292
const isEditing = useIsEditingWidget();
93+
const transitionSettings = useWidgetBuilderTransitionSettings();
9394
const source = useDashboardWidgetSource();
9495
const {cacheBuilderState} = useCacheBuilderState();
9596
const {setSegmentSpanBuilderState} = useSegmentSpanWidgetState();
@@ -208,7 +209,7 @@ function WidgetBuilderSlideout({
208209
collapsed={!isOpen}
209210
slidePosition="left"
210211
data-test-id="widget-slideout"
211-
transitionProps={animationTransitionSettings}
212+
transitionProps={transitionSettings}
212213
>
213214
<SlideoutHeaderWrapper>
214215
<Breadcrumbs crumbs={breadcrumbs} />
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import {useTheme} from '@emotion/react';
2+
import type {Transition} from 'framer-motion';
3+
4+
export function useWidgetBuilderTransitionSettings(): Transition {
5+
const theme = useTheme();
6+
7+
return {
8+
type: 'tween',
9+
ease: theme.motionControlPoints.snap,
10+
duration: 0.5, // TODO: Introduce a slower value
11+
};
12+
}

0 commit comments

Comments
 (0)