Sha256: a05ccfd9d55e4311a152500ca59619fdb818944471d023d29d78b38ef8aec602

Contents?: true

Size: 755 Bytes

Versions: 1054

Compression:

Stored size: 755 Bytes

Contents

import { useEffect, useState } from 'react'

export const useKbdControls = (api: {[key: string]: () => void}): string => {
  const [cmdKey, setCmdKey] = useState('')

  useEffect(() => {
    const handleKeyDown = ({key}: {key: string}) => {
      const keyCmd = key.toLowerCase()
      setCmdKey(keyCmd)

      switch(keyCmd) {
        case 'escape': {
          api.onClose()
          break
        }
        case 'arrowleft': {
          api.onArrowLeft()
          break
        }
        case 'arrowright': {
          api.onArrowRight()
          break
        }
      }
    }

    window.addEventListener('keydown', handleKeyDown);

    return () => {
      window.removeEventListener('keydown', handleKeyDown);
    }
  }, [api])
  return cmdKey
}

Version data entries

1,054 entries across 1,054 versions & 1 rubygems

Version Path
playbook_ui-14.12.0.pre.alpha.testingwithfas5689 app/pb_kits/playbook/pb_lightbox/hooks/useKbdControls.ts
playbook_ui-14.12.0.pre.alpha.testingwithfas5686 app/pb_kits/playbook/pb_lightbox/hooks/useKbdControls.ts
playbook_ui-14.12.0.pre.alpha.play1828updateviteversion5680 app/pb_kits/playbook/pb_lightbox/hooks/useKbdControls.ts
playbook_ui-14.12.0.pre.alpha.PBNTR456fixedconftoastrailsautoclose5673 app/pb_kits/playbook/pb_lightbox/hooks/useKbdControls.ts
playbook_ui-14.12.0.pre.alpha.PLAY1602lightboxoverlapnitrobug5655 app/pb_kits/playbook/pb_lightbox/hooks/useKbdControls.ts
playbook_ui-14.12.0.pre.alpha.PBNTR720railscarddraggable5649 app/pb_kits/playbook/pb_lightbox/hooks/useKbdControls.ts
playbook_ui-14.12.0.pre.alpha.PLAY1602lightboxoverlapnitrobug5646 app/pb_kits/playbook/pb_lightbox/hooks/useKbdControls.ts
playbook_ui-14.11.1.pre.alpha.PBNTR440enableglobalpropspbformwith5624 app/pb_kits/playbook/pb_lightbox/hooks/useKbdControls.ts
playbook_ui-14.12.0 app/pb_kits/playbook/pb_lightbox/hooks/useKbdControls.ts
playbook_ui-14.12.0.pre.rc.12 app/pb_kits/playbook/pb_lightbox/hooks/useKbdControls.ts
playbook_ui-14.11.1.pre.alpha.PLAY17445539 app/pb_kits/playbook/pb_lightbox/hooks/useKbdControls.ts
playbook_ui-14.11.1.pre.alpha.PBNTR798datepickerturbo5537 app/pb_kits/playbook/pb_lightbox/hooks/useKbdControls.ts
playbook_ui-14.11.1.pre.alpha.pbntr703collapsiblerowsrails5536 app/pb_kits/playbook/pb_lightbox/hooks/useKbdControls.ts
playbook_ui-14.11.1.pre.alpha.PLAY1751pbcontenttagpt25529 app/pb_kits/playbook/pb_lightbox/hooks/useKbdControls.ts
playbook_ui-14.11.1.pre.alpha.PBNTR7495495 app/pb_kits/playbook/pb_lightbox/hooks/useKbdControls.ts
playbook_ui-14.12.0.pre.rc.11 app/pb_kits/playbook/pb_lightbox/hooks/useKbdControls.ts
playbook_ui-14.12.0.pre.rc.10 app/pb_kits/playbook/pb_lightbox/hooks/useKbdControls.ts
playbook_ui-14.12.0.pre.rc.9 app/pb_kits/playbook/pb_lightbox/hooks/useKbdControls.ts
playbook_ui-14.12.0.pre.rc.8 app/pb_kits/playbook/pb_lightbox/hooks/useKbdControls.ts
playbook_ui-14.12.0.pre.rc.7 app/pb_kits/playbook/pb_lightbox/hooks/useKbdControls.ts