From fc469c547d07286dcdefe0871aab63fa3e9d1637 Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 29 Aug 2026 04:18:45 +0000 Subject: [PATCH 1/4] admin: Add infoTooltip prop to FieldContainer and Field Editors and developers repeatedly asked for a way to add explanatory text to form fields beyond the label. FormSection already supports an infoTooltip prop with an established pattern (Info icon + Tooltip), so FieldContainer now follows the same convention, and Field forwards it so every Field-based component (TextField, SelectField, ...) gets it for free. --- .../add-field-container-info-tooltip.md | 13 +++++ packages/admin/admin/src/form/Field.tsx | 5 +- .../admin/admin/src/form/FieldContainer.tsx | 47 ++++++++++++++++++- .../__stories__/FieldContainer.stories.tsx | 8 ++++ 4 files changed, 71 insertions(+), 2 deletions(-) create mode 100644 .changeset/add-field-container-info-tooltip.md diff --git a/.changeset/add-field-container-info-tooltip.md b/.changeset/add-field-container-info-tooltip.md new file mode 100644 index 00000000000..6f4932c0115 --- /dev/null +++ b/.changeset/add-field-container-info-tooltip.md @@ -0,0 +1,13 @@ +--- +"@dextinity/admin": minor +--- + +Add `infoTooltip` prop to `FieldContainer` and `Field` + +Form fields sometimes need additional explanation beyond the label. `FieldContainer` (and therefore every `Field`-based component like `TextField`) now accepts an `infoTooltip` prop that renders an info icon with a tooltip next to the label, mirroring the existing `infoTooltip` prop on `FormSection`. + +**Example** + +```tsx + +``` diff --git a/packages/admin/admin/src/form/Field.tsx b/packages/admin/admin/src/form/Field.tsx index 041283f0c44..fda399a3300 100644 --- a/packages/admin/admin/src/form/Field.tsx +++ b/packages/admin/admin/src/form/Field.tsx @@ -1,5 +1,5 @@ import type { FieldValidator } from "final-form"; -import { type ComponentType, createElement, type ReactNode, useRef } from "react"; +import { type ComponentProps, type ComponentType, createElement, type ReactNode, useRef } from "react"; import { Field as FinalFormField, type FieldMetaState, type FieldRenderProps, FormSpy, useForm } from "react-final-form"; import { FormattedMessage } from "react-intl"; @@ -26,6 +26,7 @@ export interface FieldProps["infoTooltip"]; component?: ComponentType | string; children?: (props: FieldRenderProps) => ReactNode; required?: boolean; @@ -45,6 +46,7 @@ export function Field, "children">; + iconMapping?: { + infoTooltip?: ReactElement; + }; }; export type FieldContainerClassKey = @@ -44,6 +51,7 @@ export type FieldContainerClassKey = | "fieldMarginNever" | "fieldMarginOnlyIfNotLast" | "label" + | "infoTooltip" | "inputContainer" | "hasError" | "error" @@ -205,6 +213,17 @@ const Label = createComponentSlot(FormLabel) `, ); +const InfoTooltip = createComponentSlot(Tooltip)({ + componentName: "FormFieldContainer", + slotName: "infoTooltip", +})( + ({ theme }) => css` + color: ${theme.palette.text.secondary}; + margin-left: ${theme.spacing(2)}; + font-size: 12px; + `, +); + const InputContainer = createComponentSlot("div")({ componentName: "FormFieldContainer", slotName: "inputContainer", @@ -306,6 +325,22 @@ const HelperTextContent = createComponentSlot("span")({ slotName: "helperTextContent", })(); +const getInfoTooltipProps = (infoTooltip: FieldContainerProps["infoTooltip"]) => { + if (!infoTooltip) { + return null; + } + + if (isValidElement(infoTooltip) || typeof infoTooltip === "string") { + return { title: infoTooltip }; + } + + if (typeof infoTooltip === "object") { + return infoTooltip; + } + + return null; +}; + export const FieldContainer = (inProps: PropsWithChildren) => { const { variant = "vertical", @@ -320,6 +355,8 @@ export const FieldContainer = (inProps: PropsWithChildren) helperText, secondaryHelperText, helperTextIcon, + infoTooltip, + iconMapping = {}, scrollTo = false, fieldMargin = "onlyIfNotLast", slotProps, @@ -330,6 +367,9 @@ export const FieldContainer = (inProps: PropsWithChildren) const hasError = !!error; const hasWarning = !hasError && !!warning; + const { infoTooltip: infoTooltipIcon = } = iconMapping; + const infoTooltipProps = getInfoTooltipProps(infoTooltip); + const ref = useRef(null); useEffect(() => { @@ -355,6 +395,11 @@ export const FieldContainer = (inProps: PropsWithChildren) {children} diff --git a/packages/admin/admin/src/form/__stories__/FieldContainer.stories.tsx b/packages/admin/admin/src/form/__stories__/FieldContainer.stories.tsx index 4883e66df33..efd9222e033 100644 --- a/packages/admin/admin/src/form/__stories__/FieldContainer.stories.tsx +++ b/packages/admin/admin/src/form/__stories__/FieldContainer.stories.tsx @@ -35,6 +35,14 @@ export const FieldContainer = () => { +
+ + +
)} /> From 1ba077e53c08f90f948a3a7ea72ce02dc5094c74 Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 29 Aug 2026 22:05:52 +0000 Subject: [PATCH 2/4] admin: Match info tooltip icon spacing and size to the Figma spec The Label component in the Figma design system (COMET DXP Library, Input page) places the info icon inline with a 4px gap and a fixed 16px size, matching the label text's own 16px font-size and the existing 4px asterisk margin already themed on MuiFormLabel. Adjust FieldContainer's info tooltip icon accordingly instead of reusing FormSection's 10px/12px values, which were sized for a larger headline. Also add PR screenshots for COM-1646 for reviewers to compare against the Figma reference without needing to run Storybook locally. --- .../field-container-info-tooltip-open.png | Bin 0 -> 9688 bytes .../com-1646/field-container-info-tooltip.png | Bin 0 -> 5340 bytes packages/admin/admin/src/form/FieldContainer.tsx | 4 ++-- 3 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 .github/pr-assets/com-1646/field-container-info-tooltip-open.png create mode 100644 .github/pr-assets/com-1646/field-container-info-tooltip.png diff --git a/.github/pr-assets/com-1646/field-container-info-tooltip-open.png b/.github/pr-assets/com-1646/field-container-info-tooltip-open.png new file mode 100644 index 0000000000000000000000000000000000000000..41731444ff3ccd615205819b5dacd74a5a09433f GIT binary patch literal 9688 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 G&;J55qE6!g literal 0 HcmV?d00001 diff --git a/.github/pr-assets/com-1646/field-container-info-tooltip.png b/.github/pr-assets/com-1646/field-container-info-tooltip.png new file mode 100644 index 0000000000000000000000000000000000000000..777678e1036fe9f254660855e086f37f2c2e4dbb GIT binary patch literal 5340 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 Y%%AF3-NWL2MJvE9BXh%=KOesM53bh+xBvhE literal 0 HcmV?d00001 diff --git a/packages/admin/admin/src/form/FieldContainer.tsx b/packages/admin/admin/src/form/FieldContainer.tsx index 4eaacbdf9a8..e09719ec9e1 100644 --- a/packages/admin/admin/src/form/FieldContainer.tsx +++ b/packages/admin/admin/src/form/FieldContainer.tsx @@ -219,8 +219,8 @@ const InfoTooltip = createComponentSlot(Tooltip)({ })( ({ theme }) => css` color: ${theme.palette.text.secondary}; - margin-left: ${theme.spacing(2)}; - font-size: 12px; + margin-left: 4px; + font-size: 16px; `, ); From 95083348a14d830d349a53ed9799844a28f32b42 Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 29 Aug 2026 22:16:38 +0000 Subject: [PATCH 3/4] Add Figma design reference screenshot for COM-1646 Adds the Label component screenshot from the COMET DXP Library (Input page) for reviewers to compare the info tooltip's spacing and icon size against the design directly in the PR. --- .../pr-assets/com-1646/figma-label-reference.png | Bin 0 -> 4366 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 .github/pr-assets/com-1646/figma-label-reference.png diff --git a/.github/pr-assets/com-1646/figma-label-reference.png b/.github/pr-assets/com-1646/figma-label-reference.png new file mode 100644 index 0000000000000000000000000000000000000000..fab00399ced6d5a58b41c2d357fa0c7e4170ee7d GIT binary patch literal 4366 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 EKWD~lBLDyZ literal 0 HcmV?d00001 From 8db151831d439144184cd293affd8ae4fc7d299b Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 29 Aug 2026 22:24:08 +0000 Subject: [PATCH 4/4] Replace Figma reference screenshot with a padded, higher-resolution export The previous export was cropped exactly to the design file's own frame bounds, which has no left/right padding around the label, making it look clipped when embedded in the PR. Re-exported at 3x scale and added white padding around it so the content reads clearly. --- .../com-1646/figma-label-reference.png | Bin 4366 -> 15227 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/.github/pr-assets/com-1646/figma-label-reference.png b/.github/pr-assets/com-1646/figma-label-reference.png index fab00399ced6d5a58b41c2d357fa0c7e4170ee7d..0d49299497e0b206ffc9187a9e8cfab71223109f 100644 GIT binary patch literal 15227 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 EKWD~lBLDyZ