diff --git a/packages/react-components/src/Labelled.tsx b/packages/react-components/src/Labelled.tsx index 113b0c9608..1f158c8c39 100644 --- a/packages/react-components/src/Labelled.tsx +++ b/packages/react-components/src/Labelled.tsx @@ -50,6 +50,10 @@ export default React.memo(styled(Labelled)` display: block; position: relative; + label { + padding-right: 1rem; + } + .ui--CopyButton { position: absolute; top: 0.9rem; @@ -57,7 +61,6 @@ export default React.memo(styled(Labelled)` } .withEllipsis { - display: inline; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; @@ -87,6 +90,7 @@ export default React.memo(styled(Labelled)` > label { left: 3.55rem; + right: 0; text-align: left; } } diff --git a/packages/react-params/src/Param/index.tsx b/packages/react-params/src/Param/index.tsx index 85a620c0e4..e231019595 100644 --- a/packages/react-params/src/Param/index.tsx +++ b/packages/react-params/src/Param/index.tsx @@ -29,7 +29,11 @@ function Param ({ className = '', defaultValue, isDisabled, isInOption, isOption ); const label = useMemo( - () => `${isUndefined(name) ? '' : `${name}: `}${formatJSON(`${isDisabled && isInOption ? 'Option<' : ''}${encodeTypeDef(registry, type)}${isDisabled && isInOption ? '>' : ''}`)}${type.typeName ? ` (${type.typeName})` : ''}`, + (): string => { + const fmtType = formatJSON(`${isDisabled && isInOption ? 'Option<' : ''}${encodeTypeDef(registry, type)}${isDisabled && isInOption ? '>' : ''}`); + + return `${isUndefined(name) ? '' : `${name}: `}${fmtType}${type.typeName && !fmtType.includes(type.typeName) ? ` (${type.typeName})` : ''}`; + }, [isDisabled, isInOption, name, registry, type] ); @@ -51,7 +55,7 @@ function Param ({ className = '', defaultValue, isDisabled, isInOption, isOption defaultValue={defaultValue} isDisabled={isDisabled} isInOption={isInOption} - key={`${name || 'unknown'}:${type.toString()}`} + key={`${name || 'unknown'}:${label}`} label={label} name={name} onChange={onChange}