martmull
2025-06-16 13:40:27 +02:00
committed by GitHub
parent cdc4badec3
commit e0cb53af48
21 changed files with 90 additions and 10 deletions

View File

@ -26,13 +26,14 @@ import { Nullable } from 'twenty-ui/utilities';
const StyledInputContainer = styled(FormFieldInputInnerContainer)`
display: grid;
grid-template-columns: 1fr;
grid-template-rows: 1fr 0px;
grid-template-rows: 1fr 0;
overflow: visible;
position: relative;
`;
const StyledDateInputAbsoluteContainer = styled.div`
position: absolute;
top: ${({ theme }) => theme.spacing(1)};
`;
const StyledDateInput = styled.input<{ hasError?: boolean }>`

View File

@ -21,6 +21,7 @@ import { isDefined } from 'twenty-shared/utils';
import { VisibilityHidden } from 'twenty-ui/accessibility';
import { IconChevronDown } from 'twenty-ui/display';
import { SelectOption } from 'twenty-ui/input';
import { GenericDropdownContentWidth } from '@/ui/layout/dropdown/constants/GenericDropdownContentWidth';
type FormMultiSelectFieldInputProps = {
label?: string;
@ -55,7 +56,7 @@ const StyledDisplayModeContainer = styled(StyledDisplayModeReadonlyContainer)`
const StyledSelectInputContainer = styled.div`
position: absolute;
z-index: 1;
top: ${({ theme }) => theme.spacing(8)};
top: ${({ theme }) => theme.spacing(9)};
`;
const StyledPlaceholder = styled.div`
@ -260,6 +261,7 @@ export const FormMultiSelectFieldInput = ({
onCancel={onCancel}
onOptionSelected={onOptionSelected}
values={selectedNames}
dropdownWidth={GenericDropdownContentWidth.ExtraLarge}
/>
</OverlayContainer>
)}

View File

@ -13,6 +13,8 @@ import { useId, useState } from 'react';
import { Key } from 'ts-key-enum';
import { isDefined } from 'twenty-shared/utils';
import { SelectOption } from 'twenty-ui/input';
import { GenericDropdownContentWidth } from '@/ui/layout/dropdown/constants/GenericDropdownContentWidth';
import { useTheme } from '@emotion/react';
type FormSelectFieldInputProps = {
label?: string;
@ -31,6 +33,8 @@ export const FormSelectFieldInput = ({
options,
readonly,
}: FormSelectFieldInputProps) => {
const theme = useTheme();
const inputId = useId();
const hotkeyScope = InlineCellHotkeyScope.InlineCell;
@ -132,6 +136,8 @@ export const FormSelectFieldInput = ({
hasRightElement={isDefined(VariablePicker) && !readonly}
withSearchInput
disabled={readonly}
dropdownWidth={GenericDropdownContentWidth.ExtraLarge}
dropdownOffset={{ y: parseInt(theme.spacing(1), 10) }}
/>
) : (
<FormFieldInputInnerContainer

View File

@ -18,6 +18,7 @@ import styled from '@emotion/styled';
import { useCallback, useId } from 'react';
import { isDefined, isValidUuid } from 'twenty-shared/utils';
import { IconChevronDown, IconForbid } from 'twenty-ui/display';
import { GenericDropdownContentWidth } from '@/ui/layout/dropdown/constants/GenericDropdownContentWidth';
const StyledFormSelectContainer = styled(FormFieldInputInnerContainer)<{
readonly?: boolean;
@ -165,6 +166,7 @@ export const FormSingleRecordPicker = ({
clickableComponentWidth={'100%'}
onClose={handleCloseRelationPickerDropdown}
onOpen={handleOpenDropdown}
dropdownOffset={{ y: parseInt(theme.spacing(1), 10) }}
clickableComponent={
<StyledFormSelectContainer
hasRightElement={isDefined(VariablePicker) && !disabled}
@ -194,6 +196,7 @@ export const FormSingleRecordPicker = ({
onRecordSelected={handleRecordSelected}
objectNameSingular={objectNameSingular}
recordPickerInstanceId={dropdownId}
dropdownWidth={GenericDropdownContentWidth.ExtraLarge}
/>
}
dropdownHotkeyScope={{ scope: dropdownId }}

View File

@ -13,6 +13,7 @@ export const SINGLE_RECORD_PICKER_LISTENER_ID = 'single-record-select';
export type SingleRecordPickerProps = {
componentInstanceId: string;
dropdownWidth?: number;
} & SingleRecordPickerMenuItemsWithSearchProps;
export const SingleRecordPicker = ({
@ -25,6 +26,7 @@ export const SingleRecordPicker = ({
objectNameSingular,
componentInstanceId,
layoutDirection,
dropdownWidth,
}: SingleRecordPickerProps) => {
const containerRef = useRef<HTMLDivElement>(null);
@ -49,7 +51,7 @@ export const SingleRecordPicker = ({
<SingleRecordPickerComponentInstanceContext.Provider
value={{ instanceId: componentInstanceId }}
>
<DropdownContent ref={containerRef}>
<DropdownContent ref={containerRef} widthInPixels={dropdownWidth}>
<SingleRecordPickerMenuItemsWithSearch
{...{
EmptyIcon,