diff --git a/front/src/modules/settings/data-model/components/SettingsObjectFieldFormSection.tsx b/front/src/modules/settings/data-model/components/SettingsObjectFieldFormSection.tsx
new file mode 100644
index 000000000..e01117548
--- /dev/null
+++ b/front/src/modules/settings/data-model/components/SettingsObjectFieldFormSection.tsx
@@ -0,0 +1,64 @@
+import styled from '@emotion/styled';
+
+import { H2Title } from '@/ui/display/typography/components/H2Title';
+import { IconPicker } from '@/ui/input/components/IconPicker';
+import { TextArea } from '@/ui/input/components/TextArea';
+import { TextInput } from '@/ui/input/components/TextInput';
+import { Section } from '@/ui/layout/section/components/Section';
+
+type SettingsObjectFieldFormSectionProps = {
+ disabled?: boolean;
+ name?: string;
+ description?: string;
+ iconKey?: string;
+ onChange?: (
+ formValues: Partial<{
+ iconKey: string;
+ name: string;
+ description: string;
+ }>,
+ ) => void;
+};
+
+const StyledInputsContainer = styled.div`
+ display: flex;
+ gap: ${({ theme }) => theme.spacing(2)};
+ margin-bottom: ${({ theme }) => theme.spacing(2)};
+ width: 100%;
+`;
+
+export const SettingsObjectFieldFormSection = ({
+ disabled,
+ name = '',
+ description = '',
+ iconKey = 'IconUsers',
+ onChange,
+}: SettingsObjectFieldFormSectionProps) => (
+
+
+
+ onChange?.({ iconKey: value.iconKey })}
+ variant="primary"
+ />
+ onChange?.({ name: value })}
+ disabled={disabled}
+ fullWidth
+ />
+
+
+);
diff --git a/front/src/modules/settings/data-model/components/SettingsObjectFieldTypeSelectSection.tsx b/front/src/modules/settings/data-model/components/SettingsObjectFieldTypeSelectSection.tsx
new file mode 100644
index 000000000..3b9bf1b10
--- /dev/null
+++ b/front/src/modules/settings/data-model/components/SettingsObjectFieldTypeSelectSection.tsx
@@ -0,0 +1,32 @@
+import { H2Title } from '@/ui/display/typography/components/H2Title';
+import { Select } from '@/ui/input/components/Select';
+import { Section } from '@/ui/layout/section/components/Section';
+
+import { dataTypes } from '../constants/dataTypes';
+import { ObjectFieldDataType } from '../types/ObjectFieldDataType';
+
+type SettingsObjectFieldTypeSelectSectionProps = {
+ type: ObjectFieldDataType;
+ onChange: (value: ObjectFieldDataType) => void;
+};
+
+export const SettingsObjectFieldTypeSelectSection = ({
+ type,
+ onChange,
+}: SettingsObjectFieldTypeSelectSectionProps) => (
+
+
+
+);
diff --git a/front/src/modules/settings/data-model/components/SettingsObjectFormSection.tsx b/front/src/modules/settings/data-model/components/SettingsObjectFormSection.tsx
index ddaa98ef3..77a1e3ce1 100644
--- a/front/src/modules/settings/data-model/components/SettingsObjectFormSection.tsx
+++ b/front/src/modules/settings/data-model/components/SettingsObjectFormSection.tsx
@@ -26,10 +26,6 @@ const StyledInputsContainer = styled.div`
width: 100%;
`;
-const StyledTextInput = styled(TextInput)`
- flex: 1 0 auto;
-`;
-
export const SettingsObjectFormSection = ({
disabled,
singularName = '',
@@ -43,19 +39,21 @@ export const SettingsObjectFormSection = ({
description="Name in both singular (e.g., 'Invoice') and plural (e.g., 'Invoices') forms."
/>
- onChange?.({ singularName: value })}
disabled={disabled}
+ fullWidth
/>
- onChange?.({ pluralName: value })}
disabled={disabled}
+ fullWidth
/>