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.
svelte-kit-vice/src/uix/sema/components/listbox.ts

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' }
}
]
};

Powered by TurnKey Linux.