{"version":3,"file":"useKeyboard.mjs","sources":["../../../src/checkbox/hooks/useKeyboard.ts"],"sourcesContent":["export const CHECKED_CODE_REG = /(enter|space)/i;\n\nexport function useKeyboardEvent(handleChange: (e: Event) => void) {\n  const keyboardEventListener = (e: KeyboardEvent) => {\n    const isCheckedCode = CHECKED_CODE_REG.test(e.key) || CHECKED_CODE_REG.test(e.code);\n    if (isCheckedCode) {\n      e.preventDefault();\n      const { disabled } = (e.currentTarget as HTMLElement).querySelector('input');\n      !disabled && handleChange(e);\n    }\n  };\n\n  const onCheckboxFocus = (e: FocusEvent) => {\n    e.currentTarget.addEventListener('keydown', keyboardEventListener);\n  };\n\n  const onCheckboxBlur = (e: FocusEvent) => {\n    e.currentTarget.removeEventListener('keydown', keyboardEventListener);\n  };\n\n  return {\n    onCheckboxFocus,\n    onCheckboxBlur,\n  };\n}\n\nexport default useKeyboardEvent;\n"],"names":["onCheckboxFocus","onCheckboxBlur"],"mappings":";;;;;;AAAO,sCAAA,IAAA,gBAAA,GAAA,iBAAA;AAEA,SAAA,gBAAA,CAAA,YAAA,EAAA;AACC,EAAA,IAAA,qBAAA,GAAA,SAAA,qBAAA,CAAA,CAAA,EAAA;AACE,IAAA,IAAA,aAAA,GAAA,gBAAA,CAAA,IAAA,CAAA,CAAA,CAAA,GAAA,CAAA,IAAA,gBAAA,CAAA,IAAA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAA;AACN,IAAA,IAAA,aAAA,EAAA;;;;AAGG,MAAA,CAAA,QAAA,IAAA,YAAA,CAAA,CAAA,CAAA,CAAA;AACH,KAAA;;AAGI,EAAA,IAAA,eAAA,GAAA,SAAA,eAAA,CAAA,CAAA,EAAA;;;AAIA,EAAA,IAAA,cAAA,GAAA,SAAA,cAAA,CAAA,CAAA,EAAA;;;;AAKJA,IAAAA,eAAAA,EAAAA,eAAAA;AACAC,IAAAA,cAAAA,EAAAA,cAAAA;;AAEJ;;;;"}