diff --git a/.changepacks/changepack_log_ui_kit_forward_ref.json b/.changepacks/changepack_log_ui_kit_forward_ref.json new file mode 100644 index 000000000..883e0e61b --- /dev/null +++ b/.changepacks/changepack_log_ui_kit_forward_ref.json @@ -0,0 +1,7 @@ +{ + "changes": { + "packages/components/package.json": "Patch" + }, + "note": "Button, Checkbox, Input, Radio and Textarea forward their ref to the button, input or textarea they render, so a ref reaches the form element on React 18 as well as React 19", + "date": "2026-10-01T00:00:00.000Z" +} diff --git a/packages/components/src/__tests__/forward-ref.browser.test.tsx b/packages/components/src/__tests__/forward-ref.browser.test.tsx new file mode 100644 index 000000000..59d355290 --- /dev/null +++ b/packages/components/src/__tests__/forward-ref.browser.test.tsx @@ -0,0 +1,26 @@ +import { describe, expect, it } from 'bun:test' +import { render } from 'bun-test-env-dom' +import { createRef } from 'react' + +import { Button, Input, Radio, Textarea } from '../index' + +describe('forwardRef', () => { + it('hands each component ref to its form element', () => { + const button = createRef() + const input = createRef() + const radio = createRef() + const textarea = createRef() + render( + <> + + + r +