Dive into secure and efficient coding practices with our curated list of the top 10 examples showcasing 'is-hotkey' in functional components in JavaScript. Our advanced machine learning engine meticulously scans each line of code, cross-referencing millions of open source libraries to ensure your implementation is not just functional, but also robust and secure. Elevate your React applications to new heights by mastering the art of handling side effects, API calls, and asynchronous operations with confidence and precision.
import { isKeyHotkey } from "is-hotkey"
import { getCurrentCode } from "../utils"
import { onTab } from "./on-tab"
import { onShiftTab } from "./on-shift-tab"
import { onEnter } from "./on-enter"
import { onModEnter } from "./on-mod-enter"
import { onBackspace } from "./on-backspace"
import { onSelectAll } from "./on-select-all"
const isModA = isKeyHotkey("mod+a")
const isShiftTab = isKeyHotkey("shift+tab")
const isTab = isKeyHotkey("tab")
const isModZ = isKeyHotkey("mod+z")
const isModEnter = isKeyHotkey("mod+enter")
const isEnter = isKeyHotkey("enter")
const isBackspace = isKeyHotkey("backspace")
/**
* User is pressing a key in the editor
*/
export function onKeyDown(opts, event, change, editor) {
const { value } = change
const currentCode = getCurrentCode(opts, value)
// Inside code ?
if (!currentCode) {
return editor()
}
// @flow
import { isKeyHotkey } from 'is-hotkey';
import { type Change } from '@gitbook/slate';
import { getCurrentCode } from '../utils';
import type Options from '../options';
import onTab from './onTab';
import onShiftTab from './onShiftTab';
import onEnter from './onEnter';
import onModEnter from './onModEnter';
import onBackspace from './onBackspace';
import onSelectAll from './onSelectAll';
const isModA = isKeyHotkey('mod+a');
const isShiftTab = isKeyHotkey('shift+tab');
const isTab = isKeyHotkey('tab');
const isModEnter = isKeyHotkey('mod+enter');
const isEnter = isKeyHotkey('enter');
const isBackspace = isKeyHotkey('backspace');
/**
* User is pressing a key in the editor
*/
function onKeyDown(
opts: Options,
event: *,
change: Change,
editor: *
): void | Change {
const { value } = change;
// Parse the initial location
parseLocation(history.location)
// Reparse the location when the user navigates
history.listen(parseLocation)
const html = h(Provider, { store }, h(Main))
const root = document.querySelector('#main')
render(html, root)
// Curry the hotkey string for better performance
const isClearKey = isHotkey('esc')
const isConfirmKey = isHotkey('enter')
const isPrevKey = isHotkey('up')
const isNextKey = isHotkey('down')
const navigateTo = (nextComponent, nextTab) => {
if (nextComponent == null) return
location.href = createRoute(nextComponent.id, nextTab.id)
}
const clearFilter = () => store.dispatch(setFilter(''))
const focusFilter = () => document.querySelector('#filter').focus()
document.documentElement.onkeydown = (e) => {
const state = store.getState()
const { components, filter, currentComponent, currentTab } = enhanceState(state)
}
// Parse the initial location
parseLocation(history.location)
// Reparse the location when the user navigates
history.listen(parseLocation)
const html = h(Provider, { store }, h(Main))
const root = document.querySelector('#main')
render(html, root)
// Curry the hotkey string for better performance
const isClearKey = isHotkey('esc')
const isConfirmKey = isHotkey('enter')
const isPrevKey = isHotkey('up')
const isNextKey = isHotkey('down')
const navigateTo = (nextComponent, nextTab) => {
if (nextComponent == null) return
location.href = createRoute(nextComponent.id, nextTab.id)
}
const clearFilter = () => store.dispatch(setFilter(''))
const focusFilter = () => document.querySelector('#filter').focus()
document.documentElement.onkeydown = (e) => {
// Parse the initial location
parseLocation(history.location)
// Reparse the location when the user navigates
history.listen(parseLocation)
const html = h(Provider, { store }, h(Main))
const root = document.querySelector('#main')
render(html, root)
// Curry the hotkey string for better performance
const isClearKey = isHotkey('esc')
const isConfirmKey = isHotkey('enter')
const isPrevKey = isHotkey('up')
const isNextKey = isHotkey('down')
const navigateTo = (nextComponent, nextTab) => {
if (nextComponent == null) return
location.href = createRoute(nextComponent.id, nextTab.id)
}
const clearFilter = () => store.dispatch(setFilter(''))
const focusFilter = () => document.querySelector('#filter').focus()
document.documentElement.onkeydown = (e) => {
const state = store.getState()
}
// Parse the initial location
parseLocation(history.location)
// Reparse the location when the user navigates
history.listen(parseLocation)
const html = h(Provider, { store }, h(Main))
const root = document.querySelector('#main')
render(html, root)
// Curry the hotkey string for better performance
const isClearKey = isHotkey('esc')
const isConfirmKey = isHotkey('enter')
const isPrevKey = isHotkey('up')
const isNextKey = isHotkey('down')
const navigateTo = (nextComponent, nextTab) => {
if (nextComponent == null) return
location.href = createRoute(nextComponent.id, nextTab.id)
}
const clearFilter = () => store.dispatch(setFilter(''))
const focusFilter = () => document.querySelector('#filter').focus()
document.documentElement.onkeydown = (e) => {
import isKeyHotkey, {toKeyName} from 'is-hotkey'
import {SlateEditor} from '../typeDefs'
type Options = {
decorators?: string[]
}
// This plugin makes keyboard shortcuts for decorators
const isStrongHotkey = isKeyHotkey('mod+b')
const isEmphasisHotkey = isKeyHotkey('mod+i')
const isUnderlinedHotkey = isKeyHotkey('mod+u')
const isCodeHotKey = isKeyHotkey("mod+'")
const modKeyPlatformName = toKeyName('mod')
export const keyMaps = {
strong: `${modKeyPlatformName} + b`,
em: `${modKeyPlatformName} + i`,
underline: `${modKeyPlatformName} + u`,
code: `${modKeyPlatformName} + '`
}
export default function SetMarksOnKeyComboPlugin(options: Options = {}) {
const decorators = options.decorators || []
return {
onKeyDown(event: React.KeyboardEvent, editor: SlateEditor, next: (arg0: void) => void) {
let mark
if (isStrongHotkey(event)) {
mark = 'strong'
} else if (isEmphasisHotkey(event)) {
import { RangeJSON, Range as SlateRange, Editor as CoreEditor } from 'slate';
import { Plugin } from '@grafana/slate-react';
import { isKeyHotkey } from 'is-hotkey';
const isIndentLeftHotkey = isKeyHotkey('mod+[');
const isShiftTabHotkey = isKeyHotkey('shift+tab');
const isIndentRightHotkey = isKeyHotkey('mod+]');
const SLATE_TAB = ' ';
const handleTabKey = (event: KeyboardEvent, editor: CoreEditor, next: Function): void => {
const {
startBlock,
endBlock,
selection: {
start: { offset: startOffset, key: startKey },
end: { offset: endOffset, key: endKey },
},
} = editor.value;
const first = startBlock.getFirstText();
const COLLAPSE_LINE_BACKWARD_MAC = isKeyHotkey('option+up')
const COLLAPSE_LINE_FORWARD_MAC = isKeyHotkey('option+down')
const COLLAPSE_LINE_BACKWARD = e => IS_APPLE && COLLAPSE_LINE_BACKWARD_MAC(e)
const COLLAPSE_LINE_FORWARD = e => IS_APPLE && COLLAPSE_LINE_FORWARD_MAC(e)
const EXTEND_CHAR_FORWARD = isKeyHotkey('shift+right')
const EXTEND_CHAR_BACKWARD = isKeyHotkey('shift+left')
const EXTEND_LINE_BACKWARD_MAC = isKeyHotkey('option+shift+up')
const EXTEND_LINE_FORWARD_MAC = isKeyHotkey('option+shift+down')
const EXTEND_LINE_BACKWARD = e => IS_APPLE && EXTEND_LINE_BACKWARD_MAC(e)
const EXTEND_LINE_FORWARD = e => IS_APPLE && EXTEND_LINE_FORWARD_MAC(e)
const UNDO = isKeyHotkey('mod+z')
const REDO_MAC = isKeyHotkey('mod+shift+z')
const REDO_PC = isKeyHotkey('mod+y')
const REDO = e => (IS_APPLE ? REDO_MAC(e) : REDO_PC(e))
const TRANSPOSE_CHARACTER_MAC = isKeyHotkey('ctrl+t')
const TRANSPOSE_CHARACTER = e => IS_APPLE && TRANSPOSE_CHARACTER_MAC(e)
const CONTENTEDITABLE = e =>
BOLD(e) ||
DELETE_CHAR_BACKWARD(e) ||
DELETE_CHAR_FORWARD(e) ||
DELETE_LINE_BACKWARD(e) ||
DELETE_LINE_FORWARD(e) ||
DELETE_WORD_BACKWARD(e) ||
DELETE_WORD_FORWARD(e) ||
ITALIC(e) ||
REDO(e) ||
SPLIT_BLOCK(e) ||
const DELETE_WORD_FORWARD_MAC = e =>
isKeyHotkey('shift+option+delete', e) || isKeyHotkey('option+delete', e)
const DELETE_WORD_FORWARD_PC = isKeyHotkey('ctrl+delete')