Skip to content

Commit

Permalink
feat(DropdownTrigger): add disabled state
Browse files Browse the repository at this point in the history
  • Loading branch information
akdetrick committed May 28, 2024
1 parent 91e9e05 commit 9c55aa6
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 3 deletions.
14 changes: 11 additions & 3 deletions src/DropdownTrigger/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ const DropdownTrigger = React.forwardRef(
{
isOpen = false,
showOpenIndicator = true,
disabled = false,
labelText,
labelProps,
displayValue,
Expand All @@ -31,15 +32,17 @@ const DropdownTrigger = React.forwardRef(
<>
<div className="nds-dropdownTrigger" style={{ minWidth }}>
<button
disabled={disabled}
ref={ref}
data-testid={testId || "dropdownTriggerButton"}
className={cc([
"nds-dropdownTrigger-button button--reset padding--x--s",
"bgColor--white rounded--all",
"nds-dropdownTrigger-button button--reset",
"padding--x--s rounded--all",
{
"nds-dropdownTrigger-button--hasValue": Boolean(displayValue),
"nds-dropdownTrigger-button--hasError": Boolean(errorText),
"nds-dropdownTrigger-button--isActive": isOpen,
"nds-dropdownTrigger-button--disabled": disabled,
},
])}
aria-expanded={isOpen ? "true" : "false"}
Expand All @@ -56,7 +59,7 @@ const DropdownTrigger = React.forwardRef(
<span className="nds-dropdownTrigger-value">{displayValue}</span>
)}
{endContent}
{showOpenIndicator && (
{showOpenIndicator && !disabled && (
<span
role="img"
aria-label={isOpen ? "popup open" : "popup closed"}
Expand Down Expand Up @@ -119,6 +122,11 @@ DropdownTrigger.propTypes = {
startContent: PropTypes.node,
/** arbitrary JSX to place at the end of the faux input */
endContent: PropTypes.node,
/**
* Renders the button with the appearance of a disabled input and
* prevents user interaction.
*/
disabled: PropTypes.bool,
};

export default DropdownTrigger;
8 changes: 8 additions & 0 deletions src/DropdownTrigger/index.scss
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
width: 100%;
text-align: left;
border: 1px solid var(--border-color-default) !important;
background-color: var(--color-white);

&--isActive,
&:focus {
Expand All @@ -19,6 +20,13 @@
&--hasError {
border-color: var(--color-errorDark) !important;
}

&--disabled {
user-select: none;
pointer-events: none;
color: var(--color-mediumGrey);
background-color: var(--bgColor-smokeGrey);
}
}

.nds-dropdownTrigger-label {
Expand Down

0 comments on commit 9c55aa6

Please sign in to comment.