diff --git a/pages/drag-handle/wrapper.page.tsx b/pages/drag-handle/wrapper.page.tsx
new file mode 100644
index 0000000000..4be5469f72
--- /dev/null
+++ b/pages/drag-handle/wrapper.page.tsx
@@ -0,0 +1,44 @@
+// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
+// SPDX-License-Identifier: Apache-2.0
+import React, { useState } from 'react';
+
+import Box from '~components/box';
+import Button from '~components/button';
+import DragHandleWrapper from '~components/internal/components/drag-handle-wrapper';
+
+import ScreenshotArea from '../utils/screenshot-area';
+
+export default function GridPage() {
+ const [open, setOpen] = useState(false);
+
+ return (
+ <>
+
Drag handle demo
+
+
+ console.log(direction)}
+ onClose={() => setOpen(false)}
+ >
+
+
+
+ >
+ );
+}
diff --git a/src/__integ__/__snapshots__/themes.test.ts.snap b/src/__integ__/__snapshots__/themes.test.ts.snap
index a6871c2c03..a277a668b9 100644
--- a/src/__integ__/__snapshots__/themes.test.ts.snap
+++ b/src/__integ__/__snapshots__/themes.test.ts.snap
@@ -71,6 +71,10 @@ exports[`CSS Custom Properties match previous snapshot for mode "compact" 1`] =
"color-background-control-checked": "#0073bb",
"color-background-control-default": "#ffffff",
"color-background-control-disabled": "#d5dbdb",
+ "color-background-drag-button-active": "#2a2e33",
+ "color-background-drag-button-default": "#545b64",
+ "color-background-drag-button-disabled": "#eaeded",
+ "color-background-drag-button-hover": "#414750",
"color-background-dropdown-item-default": "#ffffff",
"color-background-dropdown-item-dimmed": "transparent",
"color-background-dropdown-item-filter-match": "#f1faff",
@@ -384,6 +388,8 @@ exports[`CSS Custom Properties match previous snapshot for mode "compact" 1`] =
"color-text-counter": "#687078",
"color-text-disabled": "#aab7b8",
"color-text-disabled-inline-edit": "#545b64",
+ "color-text-drag-button-default": "#ffffff",
+ "color-text-drag-button-disabled": "#aab7b8",
"color-text-dropdown-footer": "#687078",
"color-text-dropdown-group-label": "#545b64",
"color-text-dropdown-item-default": "#16191f",
@@ -730,6 +736,10 @@ exports[`CSS Custom Properties match previous snapshot for mode "dark" 1`] = `
"color-background-control-checked": "#00a1c9",
"color-background-control-default": "#1a2029",
"color-background-control-disabled": "#414750",
+ "color-background-drag-button-active": "#2a2e33",
+ "color-background-drag-button-default": "#545b64",
+ "color-background-drag-button-disabled": "#2a2e33",
+ "color-background-drag-button-hover": "#414750",
"color-background-dropdown-item-default": "#2a2e33",
"color-background-dropdown-item-dimmed": "transparent",
"color-background-dropdown-item-filter-match": "#12293b",
@@ -1043,6 +1053,8 @@ exports[`CSS Custom Properties match previous snapshot for mode "dark" 1`] = `
"color-text-counter": "#95a5a6",
"color-text-disabled": "#687078",
"color-text-disabled-inline-edit": "#95a5a6",
+ "color-text-drag-button-default": "#ffffff",
+ "color-text-drag-button-disabled": "#687078",
"color-text-dropdown-footer": "#95a5a6",
"color-text-dropdown-group-label": "#95a5a6",
"color-text-dropdown-item-default": "#d5dbdb",
@@ -1389,6 +1401,10 @@ exports[`CSS Custom Properties match previous snapshot for mode "light" 1`] = `
"color-background-control-checked": "#0073bb",
"color-background-control-default": "#ffffff",
"color-background-control-disabled": "#d5dbdb",
+ "color-background-drag-button-active": "#2a2e33",
+ "color-background-drag-button-default": "#545b64",
+ "color-background-drag-button-disabled": "#eaeded",
+ "color-background-drag-button-hover": "#414750",
"color-background-dropdown-item-default": "#ffffff",
"color-background-dropdown-item-dimmed": "transparent",
"color-background-dropdown-item-filter-match": "#f1faff",
@@ -1702,6 +1718,8 @@ exports[`CSS Custom Properties match previous snapshot for mode "light" 1`] = `
"color-text-counter": "#687078",
"color-text-disabled": "#aab7b8",
"color-text-disabled-inline-edit": "#545b64",
+ "color-text-drag-button-default": "#ffffff",
+ "color-text-drag-button-disabled": "#aab7b8",
"color-text-dropdown-footer": "#687078",
"color-text-dropdown-group-label": "#545b64",
"color-text-dropdown-item-default": "#16191f",
@@ -2048,6 +2066,10 @@ exports[`CSS Custom Properties match previous snapshot for mode "reduced-motion"
"color-background-control-checked": "#0073bb",
"color-background-control-default": "#ffffff",
"color-background-control-disabled": "#d5dbdb",
+ "color-background-drag-button-active": "#2a2e33",
+ "color-background-drag-button-default": "#545b64",
+ "color-background-drag-button-disabled": "#eaeded",
+ "color-background-drag-button-hover": "#414750",
"color-background-dropdown-item-default": "#ffffff",
"color-background-dropdown-item-dimmed": "transparent",
"color-background-dropdown-item-filter-match": "#f1faff",
@@ -2361,6 +2383,8 @@ exports[`CSS Custom Properties match previous snapshot for mode "reduced-motion"
"color-text-counter": "#687078",
"color-text-disabled": "#aab7b8",
"color-text-disabled-inline-edit": "#545b64",
+ "color-text-drag-button-default": "#ffffff",
+ "color-text-drag-button-disabled": "#aab7b8",
"color-text-dropdown-footer": "#687078",
"color-text-dropdown-group-label": "#545b64",
"color-text-dropdown-item-default": "#16191f",
@@ -2707,6 +2731,10 @@ exports[`CSS Custom Properties match previous snapshot for mode "visual-refresh"
"color-background-control-checked": "#006ce0",
"color-background-control-default": "#ffffff",
"color-background-control-disabled": "#dedee3",
+ "color-background-drag-button-active": "#232b37",
+ "color-background-drag-button-default": "#424650",
+ "color-background-drag-button-disabled": "#ebebf0",
+ "color-background-drag-button-hover": "#333843",
"color-background-dropdown-item-default": "#ffffff",
"color-background-dropdown-item-dimmed": "transparent",
"color-background-dropdown-item-filter-match": "#f0fbff",
@@ -3020,6 +3048,8 @@ exports[`CSS Custom Properties match previous snapshot for mode "visual-refresh"
"color-text-counter": "#656871",
"color-text-disabled": "#b4b4bb",
"color-text-disabled-inline-edit": "#424650",
+ "color-text-drag-button-default": "#ffffff",
+ "color-text-drag-button-disabled": "#b4b4bb",
"color-text-dropdown-footer": "#656871",
"color-text-dropdown-group-label": "#424650",
"color-text-dropdown-item-default": "#0f141a",
@@ -3366,6 +3396,10 @@ exports[`CSS Custom Properties match previous snapshot for mode "visual-refresh-
"color-background-control-checked": "#006ce0",
"color-background-control-default": "#ffffff",
"color-background-control-disabled": "#dedee3",
+ "color-background-drag-button-active": "#232b37",
+ "color-background-drag-button-default": "#424650",
+ "color-background-drag-button-disabled": "#ebebf0",
+ "color-background-drag-button-hover": "#333843",
"color-background-dropdown-item-default": "#ffffff",
"color-background-dropdown-item-dimmed": "transparent",
"color-background-dropdown-item-filter-match": "#f0fbff",
@@ -3679,6 +3713,8 @@ exports[`CSS Custom Properties match previous snapshot for mode "visual-refresh-
"color-text-counter": "#656871",
"color-text-disabled": "#b4b4bb",
"color-text-disabled-inline-edit": "#424650",
+ "color-text-drag-button-default": "#ffffff",
+ "color-text-drag-button-disabled": "#b4b4bb",
"color-text-dropdown-footer": "#656871",
"color-text-dropdown-group-label": "#424650",
"color-text-dropdown-item-default": "#0f141a",
@@ -4025,6 +4061,10 @@ exports[`CSS Custom Properties match previous snapshot for mode "visual-refresh-
"color-background-control-checked": "#42b4ff",
"color-background-control-default": "#0f141a",
"color-background-control-disabled": "#333843",
+ "color-background-drag-button-active": "#232b37",
+ "color-background-drag-button-default": "#424650",
+ "color-background-drag-button-disabled": "#232b37",
+ "color-background-drag-button-hover": "#333843",
"color-background-dropdown-item-default": "#1b232d",
"color-background-dropdown-item-dimmed": "transparent",
"color-background-dropdown-item-filter-match": "#333843",
@@ -4338,6 +4378,8 @@ exports[`CSS Custom Properties match previous snapshot for mode "visual-refresh-
"color-text-counter": "#a4a4ad",
"color-text-disabled": "#656871",
"color-text-disabled-inline-edit": "#b4b4bb",
+ "color-text-drag-button-default": "#ffffff",
+ "color-text-drag-button-disabled": "#656871",
"color-text-dropdown-footer": "#a4a4ad",
"color-text-dropdown-group-label": "#c6c6cd",
"color-text-dropdown-item-default": "#dedee3",
@@ -4684,6 +4726,10 @@ exports[`CSS Custom Properties match previous snapshot for mode "visual-refresh-
"color-background-control-checked": "#42b4ff",
"color-background-control-default": "#161d26",
"color-background-control-disabled": "#333843",
+ "color-background-drag-button-active": "#232b37",
+ "color-background-drag-button-default": "#424650",
+ "color-background-drag-button-disabled": "#232b37",
+ "color-background-drag-button-hover": "#333843",
"color-background-dropdown-item-default": "#1b232d",
"color-background-dropdown-item-dimmed": "transparent",
"color-background-dropdown-item-filter-match": "#333843",
@@ -4997,6 +5043,8 @@ exports[`CSS Custom Properties match previous snapshot for mode "visual-refresh-
"color-text-counter": "#a4a4ad",
"color-text-disabled": "#656871",
"color-text-disabled-inline-edit": "#b4b4bb",
+ "color-text-drag-button-default": "#ffffff",
+ "color-text-drag-button-disabled": "#656871",
"color-text-dropdown-footer": "#a4a4ad",
"color-text-dropdown-group-label": "#c6c6cd",
"color-text-dropdown-item-default": "#dedee3",
diff --git a/src/internal/components/drag-handle-wrapper/index.tsx b/src/internal/components/drag-handle-wrapper/index.tsx
new file mode 100644
index 0000000000..c724fa4b6a
--- /dev/null
+++ b/src/internal/components/drag-handle-wrapper/index.tsx
@@ -0,0 +1,123 @@
+// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
+// SPDX-License-Identifier: Apache-2.0
+
+import React, { useEffect, useRef, useState } from 'react';
+import clsx from 'clsx';
+
+import { nodeContains } from '@cloudscape-design/component-toolkit/dom';
+import { getIsRtl } from '@cloudscape-design/component-toolkit/internal';
+
+import { IconProps } from '../../../icon/interfaces';
+import InternalIcon from '../../../icon/internal';
+import Tooltip from '../tooltip';
+import { Transition } from '../transition';
+
+import styles from './styles.css.js';
+
+type Direction = 'block-start' | 'block-end' | 'inline-start' | 'inline-end';
+type DirectionState = 'visible' | 'hidden' | 'disabled';
+
+interface DragHandleWrapperProps {
+ open: boolean;
+ directions: Record;
+ children: React.ReactNode;
+
+ onPress: (direction: Direction) => void;
+ onClose: () => void;
+}
+
+export default function DragHandleWrapper({ open, directions, children, onPress, onClose }: DragHandleWrapperProps) {
+ // TODO: fix up tooltip logic
+ // TODO: is onClick good enough? or should the buttons also appear when the mouse is dragged _juust_ a little bit?
+ // TODO: provide some functionality for drag implementations to distinguish between button onClick (which includes keyboard activation) on(Mouse)Click?
+ // TODO: i18nStrings-ify the labels (tooltip and cardinal buttons)
+
+ const wrapperRef = useRef(null);
+ const dragHandleRef = useRef(null);
+ const rtl = getIsRtl(dragHandleRef.current);
+
+ const [showTooltip, setShowTooltip] = useState(false);
+ useEffect(() => {
+ const controller = new AbortController();
+
+ document.addEventListener(
+ 'click',
+ event => {
+ if (!nodeContains(wrapperRef.current, event.target)) {
+ onClose();
+ }
+ },
+ { signal: controller.signal }
+ );
+
+ return () => {
+ controller.abort();
+ };
+ }, [onClose]);
+
+ const dragButtonProps = { open, rtl, onPress };
+ return (
+
+
+
+
+
+
+ {!open && showTooltip && (
+ setShowTooltip(false)} />
+ )}
+
+ setShowTooltip(true)}
+ onBlur={() => setShowTooltip(false)}
+ onMouseDown={() => setShowTooltip(false)}
+ onMouseLeave={() => setShowTooltip(false)}
+ >
+ {children}
+
+
+ );
+}
+
+interface DragButtonProps {
+ direction: Direction;
+ state: DirectionState;
+ open: boolean;
+ rtl: boolean;
+ onPress: DragHandleWrapperProps['onPress'];
+}
+
+const IconNameMap: Record = {
+ 'block-start': 'arrow-up',
+ 'block-end': 'arrow-down',
+ 'inline-start': 'arrow-left',
+ 'inline-end': 'arrow-right',
+};
+
+function DragButton({ direction, state, open, rtl, onPress }: DragButtonProps) {
+ return (
+
+ {(transitionState, ref) => (
+
+ )}
+
+ );
+}
diff --git a/src/internal/components/drag-handle-wrapper/motion.scss b/src/internal/components/drag-handle-wrapper/motion.scss
new file mode 100644
index 0000000000..6f0ea7a152
--- /dev/null
+++ b/src/internal/components/drag-handle-wrapper/motion.scss
@@ -0,0 +1,190 @@
+/*
+ Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ SPDX-License-Identifier: Apache-2.0
+*/
+@use '../../styles' as styles;
+@use '../../styles/tokens' as awsui;
+
+.drag-button {
+ @include styles.with-motion {
+ @include styles.animation-fade-in;
+ @include styles.animation-fade-out-0;
+ }
+}
+
+.drag-button-motion-enter,
+.drag-button-motion-entering,
+.drag-button-motion-exit,
+.drag-button-motion-exiting {
+ @include styles.with-motion {
+ pointer-events: none;
+ }
+}
+
+.drag-button-block-start {
+ &.drag-button-motion-entering {
+ @include styles.with-motion {
+ animation:
+ slide-up awsui.$motion-duration-expressive awsui.$motion-easing-expressive,
+ awsui-motion-fade-in awsui.$motion-duration-expressive awsui.$motion-easing-expressive;
+ }
+ }
+ &.drag-button-motion-exiting {
+ @include styles.with-motion {
+ animation:
+ slide-up-exit awsui.$motion-duration-expressive awsui.$motion-easing-expressive,
+ awsui-motion-fade-out-0 awsui.$motion-duration-expressive awsui.$motion-easing-expressive;
+ }
+ }
+}
+
+.drag-button-block-end {
+ &.drag-button-motion-entering {
+ @include styles.with-motion {
+ animation:
+ slide-down awsui.$motion-duration-expressive awsui.$motion-easing-expressive,
+ awsui-motion-fade-in awsui.$motion-duration-expressive awsui.$motion-easing-expressive;
+ }
+ }
+ &.drag-button-motion-exiting {
+ @include styles.with-motion {
+ animation:
+ slide-down-exit awsui.$motion-duration-expressive awsui.$motion-easing-expressive,
+ awsui-motion-fade-out-0 awsui.$motion-duration-expressive awsui.$motion-easing-expressive;
+ }
+ }
+}
+
+.drag-button-inline-start {
+ &.drag-button-motion-entering {
+ @include styles.with-motion {
+ animation:
+ slide-left awsui.$motion-duration-expressive awsui.$motion-easing-expressive,
+ awsui-motion-fade-in awsui.$motion-duration-expressive awsui.$motion-easing-expressive;
+ }
+ }
+ &.drag-button-rtl.drag-button-motion-entering {
+ @include styles.with-motion {
+ animation:
+ slide-right awsui.$motion-duration-expressive awsui.$motion-easing-expressive,
+ awsui-motion-fade-in awsui.$motion-duration-expressive awsui.$motion-easing-expressive;
+ }
+ }
+ &.drag-button-motion-exiting {
+ @include styles.with-motion {
+ animation:
+ slide-left-exit awsui.$motion-duration-expressive awsui.$motion-easing-expressive,
+ awsui-motion-fade-out-0 awsui.$motion-duration-expressive awsui.$motion-easing-expressive;
+ }
+ }
+ &.drag-button-rtl.drag-button-motion-exiting {
+ @include styles.with-motion {
+ animation:
+ slide-right-exit awsui.$motion-duration-expressive awsui.$motion-easing-expressive,
+ awsui-motion-fade-out-0 awsui.$motion-duration-expressive awsui.$motion-easing-expressive;
+ }
+ }
+}
+
+.drag-button-inline-end {
+ &.drag-button-motion-entering {
+ @include styles.with-motion {
+ animation:
+ slide-right awsui.$motion-duration-expressive awsui.$motion-easing-expressive,
+ awsui-motion-fade-in awsui.$motion-duration-expressive awsui.$motion-easing-expressive;
+ }
+ }
+ &.drag-button-rtl.drag-button-motion-entering {
+ @include styles.with-motion {
+ animation:
+ slide-left awsui.$motion-duration-expressive awsui.$motion-easing-expressive,
+ awsui-motion-fade-in awsui.$motion-duration-expressive awsui.$motion-easing-expressive;
+ }
+ }
+ &.drag-button-motion-exiting {
+ @include styles.with-motion {
+ animation:
+ slide-right-exit awsui.$motion-duration-expressive awsui.$motion-easing-expressive,
+ awsui-motion-fade-out-0 awsui.$motion-duration-expressive awsui.$motion-easing-expressive;
+ }
+ }
+ &.drag-button-rtl.drag-button-motion-exiting {
+ @include styles.with-motion {
+ animation:
+ slide-left-exit awsui.$motion-duration-expressive awsui.$motion-easing-expressive,
+ awsui-motion-fade-out-0 awsui.$motion-duration-expressive awsui.$motion-easing-expressive;
+ }
+ }
+}
+
+@keyframes slide-up {
+ 0% {
+ transform: translate(0, 20px);
+ }
+ 100% {
+ transform: translate(0, 0);
+ }
+}
+
+@keyframes slide-up-exit {
+ 0% {
+ transform: translate(0, 0);
+ }
+ 100% {
+ transform: translate(0, 20px);
+ }
+}
+
+@keyframes slide-down {
+ 0% {
+ transform: translate(0, -20px);
+ }
+ 100% {
+ transform: translate(0, 0);
+ }
+}
+
+@keyframes slide-down-exit {
+ 0% {
+ transform: translate(0, 0);
+ }
+ 100% {
+ transform: translate(0, -20px);
+ }
+}
+
+@keyframes slide-left {
+ 0% {
+ transform: translate(20px, 0);
+ }
+ 100% {
+ transform: translate(0, 0);
+ }
+}
+
+@keyframes slide-left-exit {
+ 0% {
+ transform: translate(0, 0);
+ }
+ 100% {
+ transform: translate(20px, 0);
+ }
+}
+
+@keyframes slide-right {
+ 0% {
+ transform: translate(-20px, 0);
+ }
+ 100% {
+ transform: translate(0, 0);
+ }
+}
+
+@keyframes slide-right-exit {
+ 0% {
+ transform: translate(0, 0);
+ }
+ 100% {
+ transform: translate(-20px, 0);
+ }
+}
diff --git a/src/internal/components/drag-handle-wrapper/styles.scss b/src/internal/components/drag-handle-wrapper/styles.scss
new file mode 100644
index 0000000000..122cceb32d
--- /dev/null
+++ b/src/internal/components/drag-handle-wrapper/styles.scss
@@ -0,0 +1,77 @@
+/*
+ Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ SPDX-License-Identifier: Apache-2.0
+*/
+
+@use '../../styles' as styles;
+@use '../../styles/tokens' as awsui;
+@use './motion';
+
+$drag-button-size: awsui.$space-static-xl;
+
+.drag-handle-wrapper {
+ position: relative;
+}
+
+// Prevents accidental click-through on the spaces between the button cluster.
+.drag-handle-wrapper-open::before {
+ content: '';
+ position: absolute;
+ inset: calc(-1 * (#{$drag-button-size} + #{awsui.$space-xs}));
+}
+
+.drag-button {
+ position: absolute;
+ border-width: 0;
+ cursor: pointer;
+
+ inline-size: $drag-button-size;
+ block-size: $drag-button-size;
+ padding-block: awsui.$space-xxs;
+ padding-inline: awsui.$space-xxs;
+ border-start-start-radius: 50%;
+ border-start-end-radius: 50%;
+ border-end-start-radius: 50%;
+ border-end-end-radius: 50%;
+ background-color: awsui.$color-background-drag-button-default;
+ color: awsui.$color-text-drag-button-default;
+ box-shadow: awsui.$shadow-dropdown;
+
+ &:not(.drag-button-disabled):hover {
+ background-color: awsui.$color-background-drag-button-hover;
+ }
+
+ &:not(.drag-button-disabled):active {
+ background-color: awsui.$color-background-drag-button-active;
+ }
+}
+
+.drag-button-disabled {
+ cursor: default;
+ background-color: awsui.$color-background-drag-button-disabled;
+ color: awsui.$color-text-drag-button-disabled;
+}
+
+.drag-button-hidden {
+ display: none;
+}
+
+.drag-button-block-start {
+ inset-block-start: calc(-1 * (#{$drag-button-size} + #{awsui.$space-xxs}));
+ inset-inline-start: calc(50% - #{$drag-button-size} / 2);
+}
+
+.drag-button-block-end {
+ inset-block-end: calc(-1 * (#{$drag-button-size} + #{awsui.$space-xxs}));
+ inset-inline-start: calc(50% - #{$drag-button-size} / 2);
+}
+
+.drag-button-inline-start {
+ inset-inline-start: calc(-1 * (#{$drag-button-size} + #{awsui.$space-xxs}));
+ inset-block-start: calc(50% - #{$drag-button-size} / 2);
+}
+
+.drag-button-inline-end {
+ inset-inline-end: calc(-1 * (#{$drag-button-size} + #{awsui.$space-xxs}));
+ inset-block-start: calc(50% - #{$drag-button-size} / 2);
+}
diff --git a/style-dictionary/utils/token-names.ts b/style-dictionary/utils/token-names.ts
index 5309b7baed..277be47125 100644
--- a/style-dictionary/utils/token-names.ts
+++ b/style-dictionary/utils/token-names.ts
@@ -249,6 +249,10 @@ export type ColorsTokenName =
| 'colorBackgroundButtonPrimaryDefault'
| 'colorBackgroundButtonPrimaryDisabled'
| 'colorBackgroundButtonPrimaryHover'
+ | 'colorBackgroundDragButtonActive'
+ | 'colorBackgroundDragButtonDefault'
+ | 'colorBackgroundDragButtonDisabled'
+ | 'colorBackgroundDragButtonHover'
| 'colorBackgroundCalendarCurrentDate'
| 'colorBackgroundCellShaded'
| 'colorBackgroundCodeEditorGutterActiveLineDefault'
@@ -406,6 +410,8 @@ export type ColorsTokenName =
| 'colorTextButtonPrimaryActive'
| 'colorTextButtonPrimaryDefault'
| 'colorTextButtonPrimaryHover'
+ | 'colorTextDragButtonDefault'
+ | 'colorTextDragButtonDisabled'
| 'colorTextCalendarDateHover'
| 'colorTextCalendarDateSelected'
| 'colorTextCalendarMonth'
diff --git a/style-dictionary/visual-refresh/colors.ts b/style-dictionary/visual-refresh/colors.ts
index bcc48cd216..fe758b3cbe 100644
--- a/style-dictionary/visual-refresh/colors.ts
+++ b/style-dictionary/visual-refresh/colors.ts
@@ -26,6 +26,12 @@ const tokens: StyleDictionary.ColorsDictionary = {
colorBackgroundButtonPrimaryDefault: '{colorBorderButtonNormalDefault}',
colorBackgroundButtonPrimaryDisabled: { light: '{colorGrey200}', dark: '{colorGrey700}' },
colorBackgroundButtonPrimaryHover: '{colorBorderButtonNormalHover}',
+ colorBackgroundDragButtonActive: '{colorGrey700}',
+ colorBackgroundDragButtonDefault: '{colorGrey600}',
+ colorBackgroundDragButtonDisabled: { light: '{colorGrey200}', dark: '{colorGrey700}' },
+ colorBackgroundDragButtonHover: '{colorGrey650}',
+ colorTextDragButtonDefault: '{colorWhite}',
+ colorTextDragButtonDisabled: '{colorTextInteractiveDisabled}',
colorBackgroundCalendarCurrentDate: { light: '{colorGrey150}', dark: '{colorGrey650}' },
colorBackgroundCellShaded: { light: '{colorGrey125}', dark: '{colorGrey750}' },
colorBackgroundCodeEditorGutterActiveLineDefault: { light: '{colorGrey550}', dark: '{colorGrey500}' },