Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/mighty-steaks-hope.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@cube-dev/ui-kit": patch
---

Fix popover transitions in ComboBox and Select. Fix transitions in Tooltip.
8 changes: 6 additions & 2 deletions src/components/fields/ComboBox/ComboBox.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -94,9 +94,13 @@ const ComboBoxOverlayElement = tasty({
translate: {
'': '0 0',
'open & [data-placement="top"]': '0 0',
'!open & [data-placement="top"]': '0 10%',
'!open & [data-placement="top"]': '0 1x',
'open & ([data-placement="bottom"] | ![data-placement]': '0 0',
'!open & ([data-placement="bottom"] | ![data-placement])': '0 -10%',
'!open & ([data-placement="bottom"] | ![data-placement])': '0 -1x',
},
transformOrigin: {
'': 'top center',
'[data-placement="top"]': 'bottom center',
},
scale: {
'': '1 1',
Expand Down
2 changes: 1 addition & 1 deletion src/components/fields/Select/Select.stories.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -528,7 +528,7 @@ WithIconsAndDescriptions.storyName = 'With icons and descriptions';
export const SectionsStatic: StoryObj<CubeSelectProps<any>>['render'] = (
args,
) => (
<Select {...args} placeholder="Pick something" width="260px">
<Select {...args} placeholder="Pick something" width="260px" direction="top">
<Select.Section title="Warm colors">
<Select.Item key="red">Red</Select.Item>
<Select.Item key="orange">Orange</Select.Item>
Expand Down
18 changes: 10 additions & 8 deletions src/components/fields/Select/Select.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -137,15 +137,17 @@ const OverlayElement = tasty({
boxSizing: 'border-box',

transition:
'transform $transition ease-out, scale $transition ease-out, theme $transition ease-out',
transform: {
'translate $transition ease-out, scale $transition ease-out, theme $transition ease-out',
translate: {
'': '0 0',
'open & [data-placement="top"]': 'translate(0, 0)',
'!open & [data-placement="top"]': 'translate(0, 10%)',
'open & ([data-placement="bottom"] | ![data-placement])':
'translate(0, 0)',
'!open & ([data-placement="bottom"] | ![data-placement])':
'translate(0, -10%)',
'open & [data-placement="top"]': '0 0',
'!open & [data-placement="top"]': '0 1x',
'open & ([data-placement="bottom"] | ![data-placement]': '0 0',
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: CSS Selector Syntax Error

The CSS selector for open, bottom-placed select menus is missing a closing parenthesis. This malformed selector prevents the associated style rule from applying correctly, affecting transition behavior.

Fix in Cursor Fix in Web

'!open & ([data-placement="bottom"] | ![data-placement])': '0 -1x',
},
transformOrigin: {
'': 'top center',
'[data-placement="top"]': 'bottom center',
},
scale: {
'': '1 1',
Expand Down
14 changes: 13 additions & 1 deletion src/components/overlays/Tooltip/Tooltip.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,8 @@ const TooltipElement = tasty({
'': false,
light: 'drop-shadow(0 0 1px #dark.2)',
},
transition: 'translate, opacity, theme',
transition:
'translate $transition ease-out, scale $transition ease-out, theme $transition ease-out',
translate: {
'': '0 0',
'open & [data-placement="top"]': '0 0',
Expand All @@ -62,6 +63,17 @@ const TooltipElement = tasty({
'open & [data-placement="right"]': '0 0',
'!open & [data-placement="right"]': '-1x 0',
},
transformOrigin: {
'': 'top center',
'[data-placement="top"]': 'bottom center',
'[data-placement="left"]': 'right center',
'[data-placement="right"]': 'left center',
},
scale: {
'': '1 1',
'!open': '1 .8',
'!open & ([data-placement="left"] | [data-placement="right"])': '.8 1',
},
opacity: {
'': 1,
'!open': 0.001,
Expand Down
Loading