@cloudflare/component-listener
Advanced tools
Comparing version 3.1.10 to 3.2.0
@@ -10,3 +10,3 @@ import React from 'react'; | ||
}; | ||
export declare const EventListener: <T extends keyof HTMLElementEventMap | keyof WindowEventHandlersEventMap>({ event, listener, target, passive, capture }: EventListenerProps<T>) => null; | ||
export declare const EventListener: <T extends keyof WindowEventHandlersEventMap | keyof HTMLElementEventMap>({ event, listener, target, passive, capture }: EventListenerProps<T>) => null; | ||
export default EventListener; |
import useEventListener from './useEventListener'; | ||
export const EventListener = ({ | ||
event, | ||
listener, | ||
target, | ||
passive, | ||
capture | ||
}) => { | ||
export var EventListener = _ref => { | ||
var { | ||
event, | ||
listener, | ||
target, | ||
passive, | ||
capture | ||
} = _ref; | ||
useEventListener(event, listener, { | ||
@@ -10,0 +11,0 @@ target, |
import useKeyListener from './useKeyListener'; | ||
export const KeyListener = ({ | ||
keyName, | ||
shiftKey, | ||
altKey, | ||
ctrlKey, | ||
metaKey, | ||
modKey, | ||
listener, | ||
event, | ||
target, | ||
passive, | ||
capture, | ||
children | ||
}) => { | ||
const keyCombo = { | ||
export var KeyListener = _ref => { | ||
var { | ||
keyName, | ||
@@ -22,5 +9,19 @@ shiftKey, | ||
metaKey, | ||
modKey, | ||
listener, | ||
event, | ||
target, | ||
passive, | ||
capture, | ||
children | ||
} = _ref; | ||
var keyCombo = { | ||
keyName, | ||
shiftKey, | ||
altKey, | ||
ctrlKey, | ||
metaKey, | ||
modKey | ||
}; | ||
const options = { | ||
var options = { | ||
event, | ||
@@ -31,5 +32,5 @@ target, | ||
}; | ||
const label = useKeyListener(keyCombo, listener, options); | ||
var label = useKeyListener(keyCombo, listener, options); | ||
return typeof children === 'function' ? children(label) : children || null; | ||
}; | ||
export default KeyListener; |
@@ -11,10 +11,12 @@ import { useRef, useEffect, useMemo } from 'react'; | ||
export function useEventListener(eventType, listener, options = {}) { | ||
let _options$target = options.target, | ||
target = _options$target === void 0 ? document : _options$target; | ||
const _options$passive = options.passive, | ||
passive = _options$passive === void 0 ? false : _options$passive, | ||
_options$capture = options.capture, | ||
capture = _options$capture === void 0 ? false : _options$capture; | ||
const opts = useMemo(() => ({ | ||
export function useEventListener(eventType, listener) { | ||
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; | ||
var { | ||
target = document | ||
} = options; | ||
var { | ||
passive = false, | ||
capture = false | ||
} = options; | ||
var opts = useMemo(() => ({ | ||
target, | ||
@@ -25,3 +27,3 @@ passive, | ||
const _listener = useRef(listener); | ||
var _listener = useRef(listener); | ||
@@ -37,3 +39,3 @@ useEffect(() => { | ||
useEffect(() => { | ||
const eventListener = e => _listener.current(e); | ||
var eventListener = e => _listener.current(e); | ||
@@ -40,0 +42,0 @@ isEventTarget(target) && target.addEventListener(eventType, eventListener, opts); |
@@ -6,18 +6,18 @@ import { useCallback, useMemo } from 'react'; | ||
if (str === '') return ''; | ||
return `${str[0].toUpperCase()}${str.slice(1)}`; | ||
return "".concat(str[0].toUpperCase()).concat(str.slice(1)); | ||
} | ||
const isMac = typeof window !== 'undefined' ? /Mac/.test(navigator.platform) : false; | ||
export function useKeyListener(keyCombo, listener, options = {}) { | ||
const keyName = keyCombo.keyName, | ||
_keyCombo$shiftKey = keyCombo.shiftKey, | ||
shiftKey = _keyCombo$shiftKey === void 0 ? false : _keyCombo$shiftKey, | ||
_keyCombo$altKey = keyCombo.altKey, | ||
altKey = _keyCombo$altKey === void 0 ? false : _keyCombo$altKey, | ||
_keyCombo$modKey = keyCombo.modKey, | ||
modKey = _keyCombo$modKey === void 0 ? false : _keyCombo$modKey; | ||
let _keyCombo$ctrlKey = keyCombo.ctrlKey, | ||
ctrlKey = _keyCombo$ctrlKey === void 0 ? false : _keyCombo$ctrlKey, | ||
_keyCombo$metaKey = keyCombo.metaKey, | ||
metaKey = _keyCombo$metaKey === void 0 ? false : _keyCombo$metaKey; | ||
var isMac = typeof window !== 'undefined' ? /Mac/.test(navigator.platform) : false; | ||
export function useKeyListener(keyCombo, listener) { | ||
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; | ||
var { | ||
keyName, | ||
shiftKey = false, | ||
altKey = false, | ||
modKey = false | ||
} = keyCombo; | ||
var { | ||
ctrlKey = false, | ||
metaKey = false | ||
} = keyCombo; | ||
@@ -29,8 +29,9 @@ if (modKey) { | ||
const _options$event = options.event, | ||
event = _options$event === void 0 ? 'keydown' : _options$event, | ||
target = options.target, | ||
passive = options.passive, | ||
capture = options.capture; | ||
const handler = useCallback(e => { | ||
var { | ||
event = 'keydown', | ||
target, | ||
passive, | ||
capture | ||
} = options; | ||
var handler = useCallback(e => { | ||
if (!(e instanceof KeyboardEvent)) { | ||
@@ -51,3 +52,3 @@ // If Chrome autofills an input, it fires a "keydown" event of type Event | ||
}, [listener, passive, keyName, shiftKey, altKey, ctrlKey, metaKey]); | ||
const label = useMemo(() => { | ||
var label = useMemo(() => { | ||
return isMac ? [ctrlKey && '⌃', altKey && '⌥', shiftKey && '⇧', metaKey && '⌘', capitalize(keyName)].filter(Boolean).join('') : [ctrlKey && 'Ctrl', altKey && 'Alt', shiftKey && 'Shift', metaKey && '⊞', keyName.toUpperCase()].filter(Boolean).join(' + '); | ||
@@ -54,0 +55,0 @@ }, [keyName, shiftKey, altKey, ctrlKey, metaKey]); |
@@ -11,2 +11,3 @@ "use strict"; | ||
if (key === "default" || key === "__esModule") return; | ||
if (key in exports && exports[key] === _useEventListener[key]) return; | ||
Object.defineProperty(exports, key, { | ||
@@ -24,2 +25,3 @@ enumerable: true, | ||
if (key === "default" || key === "__esModule") return; | ||
if (key in exports && exports[key] === _EventListener[key]) return; | ||
Object.defineProperty(exports, key, { | ||
@@ -37,2 +39,3 @@ enumerable: true, | ||
if (key === "default" || key === "__esModule") return; | ||
if (key in exports && exports[key] === _useKeyListener[key]) return; | ||
Object.defineProperty(exports, key, { | ||
@@ -50,2 +53,3 @@ enumerable: true, | ||
if (key === "default" || key === "__esModule") return; | ||
if (key in exports && exports[key] === _KeyListener[key]) return; | ||
Object.defineProperty(exports, key, { | ||
@@ -52,0 +56,0 @@ enumerable: true, |
@@ -1,1 +0,5 @@ | ||
"use strict"; | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); |
@@ -6,8 +6,8 @@ "use strict"; | ||
}); | ||
exports.default = void 0; | ||
exports.useEventListener = useEventListener; | ||
exports.default = void 0; | ||
var _react = require("react"); | ||
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } | ||
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } | ||
@@ -14,0 +14,0 @@ function isRefObject(maybeRef) { |
@@ -6,4 +6,4 @@ "use strict"; | ||
}); | ||
exports.default = void 0; | ||
exports.useKeyListener = useKeyListener; | ||
exports.default = void 0; | ||
@@ -10,0 +10,0 @@ var _react = require("react"); |
{ | ||
"name": "@cloudflare/component-listener", | ||
"description": "", | ||
"version": "3.1.10", | ||
"types": "./dist/index.d.ts", | ||
"version": "3.2.0", | ||
"main": "lib/index.js", | ||
@@ -16,11 +15,11 @@ "module": "es/index.js", | ||
"publishConfig": { | ||
"registry": "https://registry.npmjs.org/", | ||
"access": "public" | ||
"access": "public", | ||
"main": "lib/index.js", | ||
"module": "es/index.js", | ||
"types": "./dist/index.d.ts" | ||
}, | ||
"devDependencies": { | ||
"@cloudflare/component-toggle": "^5.1.9", | ||
"@cloudflare/elements": "^1.12.8", | ||
"@testing-library/react": "9.1.0", | ||
"react": "^16.10.2", | ||
"react-dom": "^16.10.2" | ||
"@cloudflare/component-toggle": "^9.0.10", | ||
"@cloudflare/elements": "^3.0.2", | ||
"@testing-library/react": "12.1.5" | ||
}, | ||
@@ -40,3 +39,3 @@ "peerDependencies": { | ||
}, | ||
"gitHead": "db9637310d476ef91a50177d026526ca40cb9330" | ||
} | ||
"types": "./dist/index.d.ts" | ||
} |
Sorry, the diff of this file is too big to display
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
3
931
127132
1