@solid-primitives/event-listener
Advanced tools
Comparing version 2.2.2 to 2.2.3
import { MaybeAccessor, Many, Directive } from '@solid-primitives/utils'; | ||
import { JSX, Accessor } from 'solid-js'; | ||
import { JSX, Accessor, Component } from 'solid-js'; | ||
@@ -122,3 +122,3 @@ declare type EventListenerOptions = boolean | AddEventListenerOptions; | ||
*/ | ||
declare function WindowEventListener(props: WindowEventProps): undefined; | ||
declare const WindowEventListener: Component<WindowEventProps>; | ||
/** | ||
@@ -132,3 +132,3 @@ * Listen to the `document` DOM Events, using a component. | ||
*/ | ||
declare function DocumentEventListener(props: DocumentEventProps): undefined; | ||
declare const DocumentEventListener: Component<DocumentEventProps>; | ||
@@ -135,0 +135,0 @@ declare type EventListenerStackOn<EventMap extends Record<string, any>> = { |
@@ -0,11 +1,10 @@ | ||
import { onRootCleanup, entries, createCallbackStack, asArray, access, keys } from '@solid-primitives/utils'; | ||
import { createEffect, createRenderEffect, createSignal, onCleanup } from 'solid-js'; | ||
// src/eventListener.ts | ||
import { isServer, access, asArray } from "@solid-primitives/utils"; | ||
import { createEffect, onCleanup, createRenderEffect, createSignal } from "solid-js"; | ||
function makeEventListener(target, type, handler, options) { | ||
target.addEventListener(type, handler, options); | ||
return onCleanup(target.removeEventListener.bind(target, type, handler, options)); | ||
return onRootCleanup(target.removeEventListener.bind(target, type, handler, options)); | ||
} | ||
function createEventListener(targets, type, handler, options) { | ||
if (isServer) | ||
return; | ||
const attachListeners = () => { | ||
@@ -33,14 +32,8 @@ asArray(access(targets)).forEach((el) => { | ||
}; | ||
// src/eventListenerMap.ts | ||
import { forEachEntry } from "@solid-primitives/utils"; | ||
function createEventListenerMap(targets, handlersMap, options) { | ||
forEachEntry(handlersMap, (eventName, handler) => { | ||
for (const [eventName, handler] of entries(handlersMap)) { | ||
if (handler) | ||
createEventListener(targets, eventName, handler, options); | ||
}); | ||
} | ||
} | ||
// src/components.ts | ||
import { isClient, keys } from "@solid-primitives/utils"; | ||
var attachPropListeners = (target, props) => { | ||
@@ -52,16 +45,8 @@ keys(props).forEach((attr) => { | ||
}; | ||
function WindowEventListener(props) { | ||
if (isClient) | ||
attachPropListeners(window, props); | ||
return void 0; | ||
} | ||
function DocumentEventListener(props) { | ||
if (isClient) | ||
attachPropListeners(document, props); | ||
return void 0; | ||
} | ||
// src/eventListenerStack.ts | ||
import { createCallbackStack } from "@solid-primitives/utils"; | ||
import { onCleanup as onCleanup2 } from "solid-js"; | ||
var WindowEventListener = (props) => { | ||
attachPropListeners(window, props); | ||
}; | ||
var DocumentEventListener = (props) => { | ||
attachPropListeners(document, props); | ||
}; | ||
function makeEventListenerStack(target, options) { | ||
@@ -75,3 +60,3 @@ const { push, execute } = createCallbackStack(); | ||
}, | ||
onCleanup2(execute) | ||
onCleanup(execute) | ||
]; | ||
@@ -93,14 +78,3 @@ } | ||
}; | ||
export { | ||
DocumentEventListener, | ||
WindowEventListener, | ||
createEventListener, | ||
createEventListenerMap, | ||
createEventSignal, | ||
eventListener, | ||
makeEventListener, | ||
makeEventListenerStack, | ||
preventDefault, | ||
stopImmediatePropagation, | ||
stopPropagation | ||
}; | ||
export { DocumentEventListener, WindowEventListener, createEventListener, createEventListenerMap, createEventSignal, eventListener, makeEventListener, makeEventListenerStack, preventDefault, stopImmediatePropagation, stopPropagation }; |
{ | ||
"name": "@solid-primitives/event-listener", | ||
"version": "2.2.2", | ||
"version": "2.2.3", | ||
"description": "SolidJS Primitives to manage creating event listeners.", | ||
@@ -29,9 +29,33 @@ "author": "David Di Biase <dave.dibiase@gmail.com>", | ||
"sideEffects": false, | ||
"type": "module", | ||
"main": "dist/index.cjs", | ||
"module": "dist/index.js", | ||
"types": "dist/index.d.ts", | ||
"files": [ | ||
"dist" | ||
], | ||
"type": "module", | ||
"main": "./dist/server.cjs", | ||
"module": "./dist/server.js", | ||
"browser": { | ||
"./dist/server.cjs": "./dist/index.cjs", | ||
"./dist/server.js": "./dist/index.js" | ||
}, | ||
"types": "./dist/index.d.ts", | ||
"exports": { | ||
"worker": { | ||
"import": "./dist/server.js", | ||
"require": "./dist/server.cjs" | ||
}, | ||
"browser": { | ||
"import": "./dist/index.js", | ||
"require": "./dist/index.cjs" | ||
}, | ||
"deno": { | ||
"import": "./dist/server.js", | ||
"require": "./dist/server.cjs" | ||
}, | ||
"node": { | ||
"import": "./dist/server.js", | ||
"require": "./dist/server.cjs" | ||
}, | ||
"import": "./dist/index.js", | ||
"require": "./dist/index.cjs" | ||
}, | ||
"keywords": [ | ||
@@ -43,28 +67,18 @@ "event", | ||
], | ||
"dependencies": { | ||
"@solid-primitives/utils": "^3.1.0" | ||
}, | ||
"devDependencies": { | ||
"jsdom": "^20.0.0", | ||
"prettier": "^2.7.1", | ||
"solid-js": "^1.5.1", | ||
"solid-register": "^0.2.5", | ||
"tslib": "^2.4.0", | ||
"tsup": "^6.2.2", | ||
"unocss": "^0.44.7", | ||
"uvu": "^0.5.6", | ||
"vite": "^3.0.7", | ||
"vite-plugin-solid": "^2.3.0", | ||
"watchlist": "^0.3.1" | ||
"solid-js": "^1.5.0" | ||
}, | ||
"peerDependencies": { | ||
"solid-js": "^1.3.1" | ||
"solid-js": "^1.5.0" | ||
}, | ||
"dependencies": { | ||
"@solid-primitives/utils": "^3.0.2" | ||
}, | ||
"scripts": { | ||
"start": "vite serve dev --host", | ||
"dev": "npm run start", | ||
"build": "tsup", | ||
"test": "uvu -r solid-register", | ||
"test:watch": "watchlist src test -- npm test" | ||
"build": "jiti ../../scripts/build.ts --ssr", | ||
"test": "vitest -c ../../configs/vitest.config.ts", | ||
"test:ssr": "pnpm run test --mode ssr" | ||
} | ||
} |
Sorry, the diff of this file is not supported yet
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
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
32812
1
8
470