diff --git a/src/frontend/package-lock.json b/src/frontend/package-lock.json index 10fd2395..7350632f 100644 --- a/src/frontend/package-lock.json +++ b/src/frontend/package-lock.json @@ -13,6 +13,7 @@ "@livekit/track-processors": "0.5.7", "@pandacss/preset-panda": "0.54.0", "@react-aria/toast": "3.0.5", + "@react-types/overlays": "3.9.0", "@remixicon/react": "4.6.0", "@tanstack/react-query": "5.81.5", "@timephy/rnnoise-wasm": "1.0.0", @@ -3378,12 +3379,12 @@ } }, "node_modules/@react-types/overlays": { - "version": "3.8.16", - "resolved": "https://registry.npmjs.org/@react-types/overlays/-/overlays-3.8.16.tgz", - "integrity": "sha512-Aj9jIFwALk9LiOV/s3rVie+vr5qWfaJp/6aGOuc2StSNDTHvj1urSAr3T0bT8wDlkrqnlS4JjEGE40ypfOkbAA==", + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/@react-types/overlays/-/overlays-3.9.0.tgz", + "integrity": "sha512-T2DqMcDN5p8vb4vu2igoLrAtuewaNImLS8jsK7th7OjwQZfIWJn5Y45jSxHtXJUddEg1LkUjXYPSXCMerMcULw==", "license": "Apache-2.0", "dependencies": { - "@react-types/shared": "^3.30.0" + "@react-types/shared": "^3.31.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" @@ -3439,9 +3440,9 @@ } }, "node_modules/@react-types/shared": { - "version": "3.30.0", - "resolved": "https://registry.npmjs.org/@react-types/shared/-/shared-3.30.0.tgz", - "integrity": "sha512-COIazDAx1ncDg046cTJ8SFYsX8aS3lB/08LDnbkH/SkdYrFPWDlXMrO/sUam8j1WWM+PJ+4d1mj7tODIKNiFog==", + "version": "3.31.0", + "resolved": "https://registry.npmjs.org/@react-types/shared/-/shared-3.31.0.tgz", + "integrity": "sha512-ua5U6V66gDcbLZe4P2QeyNgPp4YWD1ymGA6j3n+s8CGExtrCPe64v+g4mvpT8Bnb985R96e4zFT61+m0YCwqMg==", "license": "Apache-2.0", "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" diff --git a/src/frontend/package.json b/src/frontend/package.json index 8cbf1c11..437870b3 100644 --- a/src/frontend/package.json +++ b/src/frontend/package.json @@ -18,6 +18,7 @@ "@livekit/track-processors": "0.5.7", "@pandacss/preset-panda": "0.54.0", "@react-aria/toast": "3.0.5", + "@react-types/overlays": "3.9.0", "@remixicon/react": "4.6.0", "@tanstack/react-query": "5.81.5", "@timephy/rnnoise-wasm": "1.0.0", diff --git a/src/frontend/src/primitives/Select.tsx b/src/frontend/src/primitives/Select.tsx index 4c5c5b06..f84cf7cb 100644 --- a/src/frontend/src/primitives/Select.tsx +++ b/src/frontend/src/primitives/Select.tsx @@ -13,6 +13,7 @@ import { Box } from './Box' import { StyledPopover } from './Popover' import { menuRecipe } from '@/primitives/menuRecipe.ts' import { css } from '@/styled-system/css' +import type { Placement } from '@react-types/overlays' const StyledButton = styled(Button, { base: { @@ -67,12 +68,14 @@ export const Select = ({ iconComponent, items, errors, + placement, ...props }: Omit, 'items' | 'label' | 'errors'> & { iconComponent?: RemixiconComponentType label: ReactNode items: Array<{ value: T; label: ReactNode }> errors?: ReactNode + placement?: Placement }) => { const IconComponent = iconComponent return ( @@ -90,7 +93,7 @@ export const Select = ({ className={css({ flexShrink: 0 })} /> - + {items.map((item) => (