Events: {
    change: "hl:change";
    command: "hl:command";
    openChange: "hl:open-change";
    select: "hl:select";
} = ...

Event names every stateful enhancer emits, so frameworks and vanilla code observe state changes through one vocabulary:

  • hl:change: a value changed; detail: { value }.
  • hl:open-change: an overlay opened or closed; detail: { open }.
  • hl:select: an item was committed; detail: { value, item } (cancelable).
  • hl:command: a command ran; detail: { value, item } (cancelable).

Type declaration

  • Readonlychange: "hl:change"
  • Readonlycommand: "hl:command"
  • ReadonlyopenChange: "hl:open-change"
  • Readonlyselect: "hl:select"