From 4d2e5487f662e63167933a5674ddc11696f4c194 Mon Sep 17 00:00:00 2001 From: adamviktora Date: Tue, 26 Mar 2024 10:38:47 +0100 Subject: [PATCH 1/5] refactor(Label): rename button to closeButton --- packages/react-core/src/components/Label/Label.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/react-core/src/components/Label/Label.tsx b/packages/react-core/src/components/Label/Label.tsx index 221cdf32e9e..f67ca2d904b 100644 --- a/packages/react-core/src/components/Label/Label.tsx +++ b/packages/react-core/src/components/Label/Label.tsx @@ -200,7 +200,7 @@ export const Label: React.FunctionComponent = ({ const LabelComponent = (isOverflowLabel ? 'button' : 'span') as any; - const defaultButton = ( + const defaultCloseButton = ( ); - const button = {closeBtn || defaultButton}; + const closeButton = {closeBtn || defaultCloseButton}; const textRef = React.createRef(); // ref to apply tooltip when rendered is used const componentRef = React.useRef(); @@ -318,7 +318,7 @@ export const Label: React.FunctionComponent = ({ onClick={isOverflowLabel ? onLabelClick : undefined} > {!isEditableActive && labelComponentChild} - {!isEditableActive && onClose && button} + {!isEditableActive && onClose && closeButton} {isEditableActive && ( Date: Tue, 26 Mar 2024 13:23:37 +0100 Subject: [PATCH 2/5] feat(Label): allow clickable labels to be disabled --- packages/react-core/src/components/Label/Label.tsx | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/packages/react-core/src/components/Label/Label.tsx b/packages/react-core/src/components/Label/Label.tsx index f67ca2d904b..743fa88f6ad 100644 --- a/packages/react-core/src/components/Label/Label.tsx +++ b/packages/react-core/src/components/Label/Label.tsx @@ -20,6 +20,8 @@ export interface LabelProps extends React.HTMLProps { variant?: 'outline' | 'filled'; /** Flag indicating the label is compact. */ isCompact?: boolean; + /** Flag indicating the label is disabled. Works only on clickable labels, so either href or onClick props must be passed in. */ + isDisabled?: boolean; /** @beta Flag indicating the label is editable. */ isEditable?: boolean; /** @beta Additional props passed to the editable label text div. Optionally passing onInput and onBlur callbacks will allow finer custom text input control. */ @@ -91,6 +93,7 @@ export const Label: React.FunctionComponent = ({ color = 'grey', variant = 'filled', isCompact = false, + isDisabled = false, isEditable = false, editableProps, textMaxWidth, @@ -198,7 +201,7 @@ export const Label: React.FunctionComponent = ({ } }; - const LabelComponent = (isOverflowLabel ? 'button' : 'span') as any; + const isClickableDisabled = (href || onLabelClick) && isDisabled; const defaultCloseButton = (