You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
25 lines
697 B
25 lines
697 B
import { semaSelector } from '$uix/morfo';
|
|
import { listboxMorfo } from '$uix/morfo/components/listbox';
|
|
import type { Sema } from '../sema-map';
|
|
|
|
// Same selection semantics as Select → same criterion, same voice (checkpoint
|
|
// S3b ascent, 2026-07-07 — the standalone clones its composed sibling's pack).
|
|
const onItem = (matchers?: Parameters<typeof semaSelector<typeof listboxMorfo>>[2]) =>
|
|
semaSelector(listboxMorfo, 'item', matchers);
|
|
|
|
export const listboxSema: Sema = {
|
|
name: 'listbox',
|
|
cascade: [
|
|
{
|
|
selector: onItem({ eventName: 'commit-select' }),
|
|
|
|
haptic: { kind: 'tap' }
|
|
},
|
|
{
|
|
selector: onItem({ eventName: 'commit-unselect' }),
|
|
|
|
haptic: { kind: 'tap' }
|
|
}
|
|
]
|
|
};
|