Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@cloudflare/component-listener

Package Overview
Dependencies
Maintainers
36
Versions
460
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@cloudflare/component-listener - npm Package Compare versions

Comparing version 3.1.10 to 3.2.0

2

dist/EventListener.d.ts

@@ -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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc