diff --git a/CHANGELOG.md b/CHANGELOG.md index 6eb13b80..c5748efa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed - Lot / DP Numbers display for NSW Point V3 form element +- disabled on `Clickable` not disabling click function ## [9.1.0] - 2026-02-23 diff --git a/src/components/Clickable.tsx b/src/components/Clickable.tsx index 08da3b8f..5ae7167b 100644 --- a/src/components/Clickable.tsx +++ b/src/components/Clickable.tsx @@ -1,33 +1,37 @@ import * as React from 'react' import clsx from 'clsx' -export function Clickable( - props: React.ComponentProps<'div'> & { - disabled?: boolean - }, -) { +export function Clickable({ + disabled, + onClick, + ...props +}: React.ComponentProps<'div'> & { + disabled?: boolean +}) { const ref = React.useRef(null) return (
{ + if (disabled) return if ( ref.current === event.target && (event.key === 'Enter' || event.key === ' ') ) { - props.onClick?.( + onClick?.( event as unknown as React.MouseEvent, ) } props.onKeyDown?.(event) }} className={clsx(props.className, { - 'is-clickable': !props.disabled, + 'is-clickable': !disabled, })} - aria-disabled={props.disabled} + aria-disabled={disabled} /> ) }