@dnd-kit/utilities
Advanced tools
Comparing version 3.0.0-next-20217252926 to 3.0.0-next-2021731134352
# @dnd-kit/utilities | ||
## 3.0.0-next-20217252926 | ||
## 3.0.0-next-2021731134352 | ||
@@ -13,2 +13,6 @@ ### Major Changes | ||
### Patch Changes | ||
- [#437](https://github.com/clauderic/dnd-kit/pull/437) [`0e628bc`](https://github.com/clauderic/dnd-kit/commit/0e628bce53fb1a7223cdedd203cb07b6e62e5ec1) Thanks [@chestozo](https://github.com/chestozo)! - Added PointerEvent support to the `getEventCoordinates` method. This fixes testing the PointerSensor with Cypress (#436) | ||
## 2.0.0 | ||
@@ -15,0 +19,0 @@ |
@@ -1,2 +0,2 @@ | ||
export { isMouseEvent } from './isMouseEvent'; | ||
export { hasViewportRelativeCoordinates } from './hasViewportRelativeCoordinates'; | ||
export { isTouchEvent } from './isTouchEvent'; |
@@ -7,4 +7,4 @@ export { useCombinedRefs, useIsomorphicLayoutEffect, useInterval, useLazyMemo, useNodeRef, useUniqueId, } from './hooks'; | ||
export type { Transform, Transition } from './css'; | ||
export { isMouseEvent, isTouchEvent } from './event'; | ||
export { hasViewportRelativeCoordinates, isTouchEvent } from './event'; | ||
export { canUseDOM } from './execution-context'; | ||
export type { Arguments, FirstArgument, Without } from './types'; |
@@ -91,6 +91,4 @@ 'use strict'; | ||
function isMouseEvent(event) { | ||
var _window; | ||
return ((_window = window) == null ? void 0 : _window.MouseEvent) && event instanceof MouseEvent || event.type.includes('mouse'); | ||
function hasViewportRelativeCoordinates(event) { | ||
return 'clientX' in event && 'clientY' in event; | ||
} | ||
@@ -131,3 +129,3 @@ | ||
if (isMouseEvent(event)) { | ||
if (hasViewportRelativeCoordinates(event)) { | ||
return { | ||
@@ -200,3 +198,3 @@ x: event.clientX, | ||
exports.getEventCoordinates = getEventCoordinates; | ||
exports.isMouseEvent = isMouseEvent; | ||
exports.hasViewportRelativeCoordinates = hasViewportRelativeCoordinates; | ||
exports.isTouchEvent = isTouchEvent; | ||
@@ -203,0 +201,0 @@ exports.subtract = subtract; |
@@ -1,2 +0,2 @@ | ||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react");const t="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement,n=t?e.useLayoutEffect:e.useEffect;let r={};function o(e){return(t,...n)=>n.reduce((t,n)=>{const r=Object.entries(n);for(const[n,o]of r){const r=t[n];null!=r&&(t[n]=r+e*o)}return t},{...t})}const u=o(1),s=o(-1);function c(e){var t;return(null==(t=window)?void 0:t.MouseEvent)&&e instanceof MouseEvent||e.type.includes("mouse")}function i(e){var t;return(null==(t=window)?void 0:t.TouchEvent)&&e instanceof TouchEvent}const l=Object.freeze({Translate:{toString(e){if(!e)return;const{x:t,y:n}=e;return`translate3d(${t?Math.round(t):0}px, ${n?Math.round(n):0}px, 0)`}},Scale:{toString(e){if(!e)return;const{scaleX:t,scaleY:n}=e;return`scaleX(${t}) scaleY(${n})`}},Transform:{toString(e){if(e)return[l.Translate.toString(e),l.Scale.toString(e)].join(" ")}},Transition:{toString:({property:e,duration:t,easing:n})=>`${e} ${t}ms ${n}`}});exports.CSS=l,exports.add=u,exports.canUseDOM=t,exports.getEventCoordinates=function(e){if(i(e)){if(e.touches&&e.touches.length){const{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}if(e.changedTouches&&e.changedTouches.length){const{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return c(e)?{x:e.clientX,y:e.clientY}:{x:0,y:0}},exports.isMouseEvent=c,exports.isTouchEvent=i,exports.subtract=s,exports.useCombinedRefs=function(...t){return e.useMemo(()=>e=>{t.forEach(t=>t(e))},t)},exports.useInterval=function(){const t=e.useRef(null);return[e.useCallback((e,n)=>{t.current=setInterval(e,n)},[]),e.useCallback(()=>{null!==t.current&&(clearInterval(t.current),t.current=null)},[])]},exports.useIsomorphicLayoutEffect=n,exports.useLazyMemo=function(t,n){const r=e.useRef();return e.useMemo(()=>{const e=t(r.current);return r.current=e,e},[...n])},exports.useNodeRef=function(){const t=e.useRef(null),n=e.useCallback(e=>{t.current=e},[]);return[t,n]},exports.useUniqueId=function(t,n){return e.useMemo(()=>{if(n)return n;const e=null==r[t]?0:r[t]+1;return r[t]=e,`${t}-${e}`},[t,n])}; | ||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react");const t="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement,n=t?e.useLayoutEffect:e.useEffect;let r={};function o(e){return(t,...n)=>n.reduce((t,n)=>{const r=Object.entries(n);for(const[n,o]of r){const r=t[n];null!=r&&(t[n]=r+e*o)}return t},{...t})}const u=o(1),c=o(-1);function s(e){return"clientX"in e&&"clientY"in e}function i(e){var t;return(null==(t=window)?void 0:t.TouchEvent)&&e instanceof TouchEvent}const a=Object.freeze({Translate:{toString(e){if(!e)return;const{x:t,y:n}=e;return`translate3d(${t?Math.round(t):0}px, ${n?Math.round(n):0}px, 0)`}},Scale:{toString(e){if(!e)return;const{scaleX:t,scaleY:n}=e;return`scaleX(${t}) scaleY(${n})`}},Transform:{toString(e){if(e)return[a.Translate.toString(e),a.Scale.toString(e)].join(" ")}},Transition:{toString:({property:e,duration:t,easing:n})=>`${e} ${t}ms ${n}`}});exports.CSS=a,exports.add=u,exports.canUseDOM=t,exports.getEventCoordinates=function(e){if(i(e)){if(e.touches&&e.touches.length){const{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}if(e.changedTouches&&e.changedTouches.length){const{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return s(e)?{x:e.clientX,y:e.clientY}:{x:0,y:0}},exports.hasViewportRelativeCoordinates=s,exports.isTouchEvent=i,exports.subtract=c,exports.useCombinedRefs=function(...t){return e.useMemo(()=>e=>{t.forEach(t=>t(e))},t)},exports.useInterval=function(){const t=e.useRef(null);return[e.useCallback((e,n)=>{t.current=setInterval(e,n)},[]),e.useCallback(()=>{null!==t.current&&(clearInterval(t.current),t.current=null)},[])]},exports.useIsomorphicLayoutEffect=n,exports.useLazyMemo=function(t,n){const r=e.useRef();return e.useMemo(()=>{const e=t(r.current);return r.current=e,e},[...n])},exports.useNodeRef=function(){const t=e.useRef(null),n=e.useCallback(e=>{t.current=e},[]);return[t,n]},exports.useUniqueId=function(t,n){return e.useMemo(()=>{if(n)return n;const e=null==r[t]?0:r[t]+1;return r[t]=e,`${t}-${e}`},[t,n])}; | ||
//# sourceMappingURL=utilities.cjs.production.min.js.map |
@@ -87,6 +87,4 @@ import { useMemo, useLayoutEffect, useEffect, useRef, useCallback } from 'react'; | ||
function isMouseEvent(event) { | ||
var _window; | ||
return ((_window = window) == null ? void 0 : _window.MouseEvent) && event instanceof MouseEvent || event.type.includes('mouse'); | ||
function hasViewportRelativeCoordinates(event) { | ||
return 'clientX' in event && 'clientY' in event; | ||
} | ||
@@ -127,3 +125,3 @@ | ||
if (isMouseEvent(event)) { | ||
if (hasViewportRelativeCoordinates(event)) { | ||
return { | ||
@@ -192,3 +190,3 @@ x: event.clientX, | ||
export { CSS, add, canUseDOM, getEventCoordinates, isMouseEvent, isTouchEvent, subtract, useCombinedRefs, useInterval, useIsomorphicLayoutEffect, useLazyMemo, useNodeRef, useUniqueId }; | ||
export { CSS, add, canUseDOM, getEventCoordinates, hasViewportRelativeCoordinates, isTouchEvent, subtract, useCombinedRefs, useInterval, useIsomorphicLayoutEffect, useLazyMemo, useNodeRef, useUniqueId }; | ||
//# sourceMappingURL=utilities.esm.js.map |
{ | ||
"name": "@dnd-kit/utilities", | ||
"version": "3.0.0-next-20217252926", | ||
"version": "3.0.0-next-2021731134352", | ||
"description": "Internal utilities to bee shared between `@dnd-kit` packages", | ||
@@ -5,0 +5,0 @@ "author": "Claudéric Demers", |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
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
50772
420