The site is using React.
Some relevant excerpts:
```js
id: 'search_form_input',
ref: x,
name: 'q',
className: Up,
onChange: e => {
if (Y && n !== e.currentTarget.defaultValue) {
if (
'' !== e.currentTarget.defaultValue &&
e.currentTarget.value.startsWith(e.currentTarget.defaultValue)
) {
const t = n + e.currentTarget.value.slice(e.currentTarget.defaultValue.length);
o(t)
}
} else o(e.currentTarget.value)
},
```
```
let {
data: {
navigationValue: b,
value: E,
lastEventType: C
},
inputRef: x,
state: z,
transition: k,
listboxId: P,
autocompletePropRef: L,
openOnFocus: T,
isExpanded: D,
ariaLabel: V,
ariaLabelledby: H,
persistSelectionRef: _,
isControlledRef: F
}
= l.useContext(q);
```
It looks like the combobox implementation is https://github.com/reach/reach-ui/blob/b3d94d22811db6b5c0f272b9a7e2e3c1bb4699ae/packages/combobox/src/reach-combobox.tsx#L98
Bug 2004106 Comment 5 Edit History
Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.
The site is using React.
Some relevant excerpts:
```js
id: 'search_form_input',
ref: x,
name: 'q',
className: Up,
onChange: e => {
if (Y && n !== e.currentTarget.defaultValue) {
if (
'' !== e.currentTarget.defaultValue &&
e.currentTarget.value.startsWith(e.currentTarget.defaultValue)
) {
const t = n + e.currentTarget.value.slice(e.currentTarget.defaultValue.length);
o(t)
}
} else o(e.currentTarget.value)
},
```
```js
let {
data: {
navigationValue: b,
value: E,
lastEventType: C
},
inputRef: x,
state: z,
transition: k,
listboxId: P,
autocompletePropRef: L,
openOnFocus: T,
isExpanded: D,
ariaLabel: V,
ariaLabelledby: H,
persistSelectionRef: _,
isControlledRef: F
}
= l.useContext(q);
```
It looks like the combobox implementation is https://github.com/reach/reach-ui/blob/b3d94d22811db6b5c0f272b9a7e2e3c1bb4699ae/packages/combobox/src/reach-combobox.tsx#L98