Socket
Socket
Sign inDemoInstall

@interop-ui/react-utils

Package Overview
Dependencies
Maintainers
4
Versions
17
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@interop-ui/react-utils - npm Package Compare versions

Comparing version 0.0.1-9 to 0.0.1-10

8

dist/index.d.ts

@@ -131,10 +131,4 @@ import * as React from "react";

onChange?: (state: T) => void;
/**
* Extra override if checking `prop !== undefined` is not enough
* for example a Select accepts an `undefined` value
*/
unstable__isControlled?: boolean;
};
type SetStateFn<T> = (prevState?: T) => T;
export function useControlledState<T>({ prop, defaultProp, onChange, unstable__isControlled, }: UseControlledStateParams<T>): readonly [T | undefined, (nextState?: T | SetStateFn<T> | undefined) => void, () => void];
export function useControlledState<T>({ prop, defaultProp, onChange, }: UseControlledStateParams<T>): readonly [T | undefined, React.Dispatch<React.SetStateAction<T | undefined>>];
/**

@@ -141,0 +135,0 @@ * On the server, React emits a warning when calling `useLayoutEffect`.

2

dist/index.js

@@ -1,2 +0,2 @@

var e,t,r=require("@interop-ui/utils"),n=r.interopDataAttrObj,o=(r.interopDataAttrSelector,r.canUseDOM),u=r.observeElementRect,a=r.arrayInsert,i=r.clamp,c=(e={},t=require("react"),Object.keys(t).forEach((function(r){"default"!==r&&"__esModule"!==r&&Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[r]}})})),e);function s(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=r.checkForDefaultPrevented,o=void 0===n||n;return function(r){if(null==e||e(r),!1===o||!r.defaultPrevented)return null==t?void 0:t(r)}}function l(e,t){var r=c.createContext(null);return r.displayName=e,[r,function(e){var n=c.useContext(r);if(null===n)throw new Error("`".concat(e,"` must be used within `").concat(t,"`"));return n}]}function f(e,t){return"root"===t?e:e+"."+t}function p(e,t){"function"==typeof e?e(t):null!=e&&(e.current=t)}function d(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return function(e){return t.forEach((function(t){return p(t,e)}))}}function v(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var r=[],n=!0,o=!1,u=void 0;try{for(var a,i=e[Symbol.iterator]();!(n=(a=i.next()).done)&&(r.push(a.value),!t||r.length!==t);n=!0);}catch(e){o=!0,u=e}finally{try{n||null==i.return||i.return()}finally{if(o)throw u}}return r}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return y(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return y(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function y(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}exports.composeEventHandlers=s,exports.createContext=l,exports.createStyleObj=function(e,t){return[t,function(t){var r=f(e,t);return n(r)}]},exports.getNamespacedPart=f,exports.forwardRef=function(e){return c.forwardRef(e)},exports.memo=function(e,t){return c.memo(e,t)},exports.useAccessibleMouseDown=function(e,t){var r=t.isDisabled,n=t.onMouseDown,o=t.onKeyDown,u=c.useCallback((function(t){r?t.preventDefault():0===t.button&&!1===t.ctrlKey&&e(t)}),[e,r]),a=c.useCallback((function(t){r||" "!==t.key&&"Enter"!==t.key||(t.preventDefault(),e(t))}),[e,r]);return{onMouseDown:s(n,u),onKeyDown:s(o,a)}},exports.useCallbackRef=function(e){var t=c.useRef(e);return c.useEffect((function(){t.current=e})),c.useCallback((function(){for(var e,r=arguments.length,n=new Array(r),o=0;o<r;o++)n[o]=arguments[o];null===(e=t.current)||void 0===e||e.call.apply(e,[t].concat(n))}),[])},exports.composeRefs=d,exports.useComposedRefs=function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return c.useCallback(d.apply(void 0,t),t)},exports.useConstant=function(e){var t=c.useRef();return t.current||(t.current={v:e()}),t.current.v},exports.useControlledState=function(e){var t=e.prop,r=e.defaultProp,n=e.onChange,o=void 0===n?function(){}:n,u=e.unstable__isControlled,a=v(c.useState(r),2),i=a[0],s=a[1],l=void 0!==u?u:void 0!==t,f=l?t:i,p=c.useRef(l),d=c.useRef(f),y=c.useRef(f),b=c.useRef(o);c.useEffect((function(){y.current=f,b.current=o}));var m=c.useCallback((function(e){var t=function(t){var r=function(e,t){var r;if("function"==typeof t){r=t(e)}else r=t;return r}(t,e);return b.current(r),r};p.current?t(y.current):s(t)}),[]),h=c.useCallback((function(){m(d.current)}),[m]);return[f,m,h]};var b=o()?c.useLayoutEffect:function(){};exports.useLayoutEffect=b;var m,h=0;function S(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var r=[],n=!0,o=!1,u=void 0;try{for(var a,i=e[Symbol.iterator]();!(n=(a=i.next()).done)&&(r.push(a.value),!t||r.length!==t);n=!0);}catch(e){o=!0,u=e}finally{try{n||null==i.return||i.return()}finally{if(o)throw u}}return r}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return g(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return g(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function g(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}exports.useDisableBodyPointerEvents=function(e){var t=e.disabled;b((function(){if(t)return 0===h&&(m=document.body.style.pointerEvents),document.body.style.pointerEvents="none",h++,function(){0===--h&&(document.body.style.pointerEvents=m)}}),[t])},exports.useDocumentRef=function(e){var t=c.useRef("undefined"!=typeof document?document:void 0);return b((function(){e.current instanceof Element&&(t.current=e.current.ownerDocument||document)})),t};var w=0;function x(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var r=[],n=!0,o=!1,u=void 0;try{for(var a,i=e[Symbol.iterator]();!(n=(a=i.next()).done)&&(r.push(a.value),!t||r.length!==t);n=!0);}catch(e){o=!0,u=e}finally{try{n||null==i.return||i.return()}finally{if(o)throw u}}return r}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return O(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return O(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function O(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function A(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function I(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?A(Object(r),!0).forEach((function(t){E(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):A(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function E(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function j(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var r=[],n=!0,o=!1,u=void 0;try{for(var a,i=e[Symbol.iterator]();!(n=(a=i.next()).done)&&(r.push(a.value),!t||r.length!==t);n=!0);}catch(e){o=!0,u=e}finally{try{n||null==i.return||i.return()}finally{if(o)throw u}}return r}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return D(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return D(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function D(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function T(e,t){switch(t.type){case"register":var r=t.tabStop;if(0===e.tabStops.length)return I(I({},e),{},{tabStops:[r]});if(e.tabStops.map((function(e){return e.id})).includes(r.id))return console.warn("".concat(r.id," tab stop is already registered")),e;var n=e.tabStops.findIndex((function(e){return!(!e.ref.current||!r.ref.current)&&Boolean(e.ref.current.compareDocumentPosition(r.ref.current)&Node.DOCUMENT_POSITION_PRECEDING)}));return-1===n&&(n=e.tabStops.length),I(I({},e),{},{tabStops:a(e.tabStops,r,n)});case"unregister":var o=t.id,u=e.tabStops.filter((function(e){return e.id!==o}));return u.length===e.tabStops.length?(console.warn("".concat(o," tab stop is already unregistered")),e):I(I({},e),{},{tabStops:u});case"moveFocus":var c=t.id;if(null===c)return I(I({},e),{},{currentTabStopId:null});var s=e.tabStops.findIndex((function(e){return e.id===c}));return-1===s?e:I(I({},e),{},{currentTabStopId:e.tabStops[s].id});case"moveFocusToNext":var l,f;if(null==e.currentTabStopId)return T(e,{type:"moveFocus",id:null!==(f=e.tabStops[0].id)&&void 0!==f?f:null});var p=e.tabStops.findIndex((function(t){return t.id===e.currentTabStopId})),d=e.tabStops.length,v=e.shouldLoop?(p+1)%d:i(p+1,[0,d-1]);return T(e,{type:"moveFocus",id:null!==(l=e.tabStops[v].id)&&void 0!==l?l:null});case"moveFocusToPrevious":var y=T(I(I({},e),{},{tabStops:e.tabStops.slice().reverse()}),{type:"moveFocusToNext"}).currentTabStopId;return I(I({},e),{},{currentTabStopId:y});case"moveFocusToFirst":var b,m=e.tabStops[0];return T(e,{type:"moveFocus",id:null!==(b=m.id)&&void 0!==b?b:null});case"moveFocusToLast":var h,S=e.tabStops[e.tabStops.length-1];return T(e,{type:"moveFocus",id:null!==(h=S.id)&&void 0!==h?h:null});case"updateOrientation":return I(I({},e),{},{orientation:t.orientation});case"updateShouldLoop":return I(I({},e),{},{shouldLoop:t.shouldLoop});default:throw new Error}}exports.useId=function(){return S(c.useState((function(){return w+=1})),1)[0]},exports.usePrevious=function(e){var t=c.useRef();return c.useEffect((function(){t.current=e}),[e]),t.current},exports.useRect=function(e){var t=x(c.useState(),2),r=t[0],n=t[1];return b((function(){if(e.current){var t=u(e.current,n);return function(){n(void 0),t()}}}),[e]),r},exports.useRovingTabIndex=function(e){var t=e.id,r=e.isSelected,n=e.elementRef,o=e.onFocus,u=e.onKeyDown,a=C("useRovingTabIndex"),i=a.orientation,l=a.currentTabStopId,f=L("useRovingTabIndex"),p=l===t,d=r;c.useEffect((function(){return f({type:"register",tabStop:{id:t,ref:n}}),function(){f({type:"unregister",id:t})}}),[f,n,t]),c.useEffect((function(){var e;p&&(null===(e=n.current)||void 0===e||e.focus())}),[n,p]);var v=c.useCallback((function(e){var t={none:{next:["ArrowRight","ArrowDown"],prev:["ArrowLeft","ArrowUp"]},horizontal:{next:["ArrowRight"],prev:["ArrowLeft"]},vertical:{next:["ArrowDown"],prev:["ArrowUp"]}}[i||"none"],r=t.next,n=t.prev;return r.includes(e.key)?"next":n.includes(e.key)?"previous":null}),[i]),y=c.useCallback((function(e){return f({type:"moveFocus",id:t})}),[f,t]),b=c.useCallback((function(e){var t=v(e);"next"===t?(e.preventDefault(),f({type:"moveFocusToNext"})):"previous"===t?(e.preventDefault(),f({type:"moveFocusToPrevious"})):"Home"===e.key?(e.preventDefault(),f({type:"moveFocusToFirst"})):"End"===e.key&&(e.preventDefault(),f({type:"moveFocusToLast"}))}),[f,v]);return{onFocus:s(o,y,{checkForDefaultPrevented:!1}),onKeyDown:s(u,b),tabIndex:d?0:-1}},exports.RovingTabIndexProvider=function(e){var t=e.children,r=e.orientation,n=e.shouldLoop,o=void 0===n||n,u=j(c.useReducer(T,{orientation:r,shouldLoop:o,tabStops:[],currentTabStopId:null}),2),a=u[0],i=u[1];return c.useEffect((function(){i({type:"updateOrientation",orientation:r})}),[r,i]),c.useEffect((function(){i({type:"updateShouldLoop",shouldLoop:o})}),[o,i]),c.createElement(P.Provider,{value:a},c.createElement(k.Provider,{value:i},t))};var R=j(l("RovingTabIndexStateContext","RovingTabIndexProvider"),2),P=R[0],C=R[1],F=j(l("RovingTabIndexStateContext","RovingTabIndexProvider"),2),k=F[0],L=F[1];
var e,t,r=require("@interop-ui/utils"),n=r.interopDataAttrObj,o=(r.interopDataAttrSelector,r.canUseDOM),u=r.observeElementRect,a=r.arrayInsert,i=r.clamp,c=(e={},t=require("react"),Object.keys(t).forEach((function(r){"default"!==r&&"__esModule"!==r&&Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[r]}})})),e);function l(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=r.checkForDefaultPrevented,o=void 0===n||n;return function(r){if(null==e||e(r),!1===o||!r.defaultPrevented)return null==t?void 0:t(r)}}function s(e,t){var r=c.createContext(null);return r.displayName=e,[r,function(e){var n=c.useContext(r);if(null===n)throw new Error("`".concat(e,"` must be used within `").concat(t,"`"));return n}]}function f(e,t){return"root"===t?e:e+"."+t}function p(e){var t=c.useRef(e);return c.useEffect((function(){t.current=e})),c.useCallback((function(){for(var e,r=arguments.length,n=new Array(r),o=0;o<r;o++)n[o]=arguments[o];null===(e=t.current)||void 0===e||e.call.apply(e,[t].concat(n))}),[])}function d(e,t){"function"==typeof e?e(t):null!=e&&(e.current=t)}function v(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return function(e){return t.forEach((function(t){return d(t,e)}))}}function y(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var r=[],n=!0,o=!1,u=void 0;try{for(var a,i=e[Symbol.iterator]();!(n=(a=i.next()).done)&&(r.push(a.value),!t||r.length!==t);n=!0);}catch(e){o=!0,u=e}finally{try{n||null==i.return||i.return()}finally{if(o)throw u}}return r}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return b(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return b(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function b(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}exports.composeEventHandlers=l,exports.createContext=s,exports.createStyleObj=function(e,t){return[t,function(t){var r=f(e,t);return n(r)}]},exports.getNamespacedPart=f,exports.forwardRef=function(e){return c.forwardRef(e)},exports.memo=function(e,t){return c.memo(e,t)},exports.useAccessibleMouseDown=function(e,t){var r=t.isDisabled,n=t.onMouseDown,o=t.onKeyDown,u=c.useCallback((function(t){r?t.preventDefault():0===t.button&&!1===t.ctrlKey&&e(t)}),[e,r]),a=c.useCallback((function(t){r||" "!==t.key&&"Enter"!==t.key||(t.preventDefault(),e(t))}),[e,r]);return{onMouseDown:l(n,u),onKeyDown:l(o,a)}},exports.useCallbackRef=p,exports.composeRefs=v,exports.useComposedRefs=function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return c.useCallback(v.apply(void 0,t),t)},exports.useConstant=function(e){var t=c.useRef();return t.current||(t.current={v:e()}),t.current.v},exports.useControlledState=function(e){var t=e.prop,r=e.defaultProp,n=e.onChange,o=void 0===n?function(){}:n,u=function(e){var t=e.defaultProp,r=e.onChange,n=c.useState(t),o=y(n,1)[0],u=c.useRef(o),a=p(r);return c.useEffect((function(){u.current!==o&&(a(o),u.current=o)}),[o,u,a]),n}({defaultProp:r,onChange:o}),a=y(u,2),i=a[0],l=a[1],s=void 0!==t,f=s?t:i,d=p(o);return[f,c.useCallback((function(e){if(s){var r="function"==typeof e?e(t):e;r!==t&&d(r)}else l(e)}),[s,t,l,d])]};var m=o()?c.useLayoutEffect:function(){};exports.useLayoutEffect=m;var h,S=0;function g(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var r=[],n=!0,o=!1,u=void 0;try{for(var a,i=e[Symbol.iterator]();!(n=(a=i.next()).done)&&(r.push(a.value),!t||r.length!==t);n=!0);}catch(e){o=!0,u=e}finally{try{n||null==i.return||i.return()}finally{if(o)throw u}}return r}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return w(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return w(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function w(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}exports.useDisableBodyPointerEvents=function(e){var t=e.disabled;m((function(){if(t)return 0===S&&(h=document.body.style.pointerEvents),document.body.style.pointerEvents="none",S++,function(){0===--S&&(document.body.style.pointerEvents=h)}}),[t])},exports.useDocumentRef=function(e){var t=c.useRef("undefined"!=typeof document?document:void 0);return m((function(){e.current instanceof Element&&(t.current=e.current.ownerDocument||document)})),t};var x=0;function O(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var r=[],n=!0,o=!1,u=void 0;try{for(var a,i=e[Symbol.iterator]();!(n=(a=i.next()).done)&&(r.push(a.value),!t||r.length!==t);n=!0);}catch(e){o=!0,u=e}finally{try{n||null==i.return||i.return()}finally{if(o)throw u}}return r}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return A(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return A(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function A(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function I(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function E(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?I(Object(r),!0).forEach((function(t){j(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):I(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function j(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function D(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var r=[],n=!0,o=!1,u=void 0;try{for(var a,i=e[Symbol.iterator]();!(n=(a=i.next()).done)&&(r.push(a.value),!t||r.length!==t);n=!0);}catch(e){o=!0,u=e}finally{try{n||null==i.return||i.return()}finally{if(o)throw u}}return r}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return T(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return T(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function T(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function P(e,t){switch(t.type){case"register":var r=t.tabStop;if(0===e.tabStops.length)return E(E({},e),{},{tabStops:[r]});if(e.tabStops.map((function(e){return e.id})).includes(r.id))return console.warn("".concat(r.id," tab stop is already registered")),e;var n=e.tabStops.findIndex((function(e){return!(!e.ref.current||!r.ref.current)&&Boolean(e.ref.current.compareDocumentPosition(r.ref.current)&Node.DOCUMENT_POSITION_PRECEDING)}));return-1===n&&(n=e.tabStops.length),E(E({},e),{},{tabStops:a(e.tabStops,r,n)});case"unregister":var o=t.id,u=e.tabStops.filter((function(e){return e.id!==o}));return u.length===e.tabStops.length?(console.warn("".concat(o," tab stop is already unregistered")),e):E(E({},e),{},{tabStops:u});case"moveFocus":var c=t.id;if(null===c)return E(E({},e),{},{currentTabStopId:null});var l=e.tabStops.findIndex((function(e){return e.id===c}));return-1===l?e:E(E({},e),{},{currentTabStopId:e.tabStops[l].id});case"moveFocusToNext":var s,f;if(null==e.currentTabStopId)return P(e,{type:"moveFocus",id:null!==(f=e.tabStops[0].id)&&void 0!==f?f:null});var p=e.tabStops.findIndex((function(t){return t.id===e.currentTabStopId})),d=e.tabStops.length,v=e.shouldLoop?(p+1)%d:i(p+1,[0,d-1]);return P(e,{type:"moveFocus",id:null!==(s=e.tabStops[v].id)&&void 0!==s?s:null});case"moveFocusToPrevious":var y=P(E(E({},e),{},{tabStops:e.tabStops.slice().reverse()}),{type:"moveFocusToNext"}).currentTabStopId;return E(E({},e),{},{currentTabStopId:y});case"moveFocusToFirst":var b,m=e.tabStops[0];return P(e,{type:"moveFocus",id:null!==(b=m.id)&&void 0!==b?b:null});case"moveFocusToLast":var h,S=e.tabStops[e.tabStops.length-1];return P(e,{type:"moveFocus",id:null!==(h=S.id)&&void 0!==h?h:null});case"updateOrientation":return E(E({},e),{},{orientation:t.orientation});case"updateShouldLoop":return E(E({},e),{},{shouldLoop:t.shouldLoop});default:throw new Error}}exports.useId=function(){return g(c.useState((function(){return x+=1})),1)[0]},exports.usePrevious=function(e){var t=c.useRef();return c.useEffect((function(){t.current=e}),[e]),t.current},exports.useRect=function(e){var t=O(c.useState(),2),r=t[0],n=t[1];return m((function(){if(e.current){var t=u(e.current,n);return function(){n(void 0),t()}}}),[e]),r},exports.useRovingTabIndex=function(e){var t=e.id,r=e.isSelected,n=e.elementRef,o=e.onFocus,u=e.onKeyDown,a=F("useRovingTabIndex"),i=a.orientation,s=a.currentTabStopId,f=M("useRovingTabIndex"),p=s===t,d=r;c.useEffect((function(){return f({type:"register",tabStop:{id:t,ref:n}}),function(){f({type:"unregister",id:t})}}),[f,n,t]),c.useEffect((function(){var e;p&&(null===(e=n.current)||void 0===e||e.focus())}),[n,p]);var v=c.useCallback((function(e){var t={none:{next:["ArrowRight","ArrowDown"],prev:["ArrowLeft","ArrowUp"]},horizontal:{next:["ArrowRight"],prev:["ArrowLeft"]},vertical:{next:["ArrowDown"],prev:["ArrowUp"]}}[i||"none"],r=t.next,n=t.prev;return r.includes(e.key)?"next":n.includes(e.key)?"previous":null}),[i]),y=c.useCallback((function(e){return f({type:"moveFocus",id:t})}),[f,t]),b=c.useCallback((function(e){var t=v(e);"next"===t?(e.preventDefault(),f({type:"moveFocusToNext"})):"previous"===t?(e.preventDefault(),f({type:"moveFocusToPrevious"})):"Home"===e.key?(e.preventDefault(),f({type:"moveFocusToFirst"})):"End"===e.key&&(e.preventDefault(),f({type:"moveFocusToLast"}))}),[f,v]);return{onFocus:l(o,y,{checkForDefaultPrevented:!1}),onKeyDown:l(u,b),tabIndex:d?0:-1}},exports.RovingTabIndexProvider=function(e){var t=e.children,r=e.orientation,n=e.shouldLoop,o=void 0===n||n,u=D(c.useReducer(P,{orientation:r,shouldLoop:o,tabStops:[],currentTabStopId:null}),2),a=u[0],i=u[1];return c.useEffect((function(){i({type:"updateOrientation",orientation:r})}),[r,i]),c.useEffect((function(){i({type:"updateShouldLoop",shouldLoop:o})}),[o,i]),c.createElement(R.Provider,{value:a},c.createElement(L.Provider,{value:i},t))};var C=D(s("RovingTabIndexStateContext","RovingTabIndexProvider"),2),R=C[0],F=C[1],k=D(s("RovingTabIndexStateContext","RovingTabIndexProvider"),2),L=k[0],M=k[1];
//# sourceMappingURL=index.js.map

@@ -1,2 +0,2 @@

import{interopDataAttrObj as e,interopDataAttrSelector as t,canUseDOM as o,observeElementRect as n,arrayInsert as r,clamp as u}from"@interop-ui/utils";import*as c from"react";export function composeEventHandlers(e,t,{checkForDefaultPrevented:o=!0}={}){return function(n){if(null==e||e(n),!1===o||!n.defaultPrevented)return null==t?void 0:t(n)}}export function createContext(e,t){const o=c.createContext(null);return o.displayName=e,[o,function(e){const n=c.useContext(o);if(null===n)throw new Error("`".concat(e,"` must be used within `").concat(t,"`"));return n}]}export function createStyleObj(t,o){return[o,o=>{const n=getNamespacedPart(t,o);return e(n)}]}export function getNamespacedPart(e,t){return"root"===t?e:e+"."+t}export function forwardRef(e){return c.forwardRef(e)}export function memo(e,t){return c.memo(e,t)}export function useAccessibleMouseDown(e,{isDisabled:t,onMouseDown:o,onKeyDown:n}){const r=c.useCallback((o=>{t?o.preventDefault():0===o.button&&!1===o.ctrlKey&&e(o)}),[e,t]),u=c.useCallback((o=>{t||" "!==o.key&&"Enter"!==o.key||(o.preventDefault(),e(o))}),[e,t]);return{onMouseDown:composeEventHandlers(o,r),onKeyDown:composeEventHandlers(n,u)}}export function useCallbackRef(e){const t=c.useRef(e);return c.useEffect((()=>{t.current=e})),c.useCallback(((...e)=>{var o;null===(o=t.current)||void 0===o||o.call(t,...e)}),[])}export function composeRefs(...e){return t=>e.forEach((e=>function(e,t){"function"==typeof e?e(t):null!=e&&(e.current=t)}(e,t)))}export function useComposedRefs(...e){return c.useCallback(composeRefs(...e),e)}export function useConstant(e){const t=c.useRef();return t.current||(t.current={v:e()}),t.current.v}export function useControlledState({prop:e,defaultProp:t,onChange:o=(()=>{}),unstable__isControlled:n}){const[r,u]=c.useState(t),s=void 0!==n?n:void 0!==e,a=s?e:r,i=c.useRef(s),l=c.useRef(a),p=c.useRef(a),f=c.useRef(o);c.useEffect((()=>{p.current=a,f.current=o}));const d=c.useCallback((function(e){const t=t=>{const o=function(e,t){let o;if("function"==typeof t){o=t(e)}else o=t;return o}(t,e);return f.current(o),o};i.current?t(p.current):u(t)}),[]),b=c.useCallback((function(){d(l.current)}),[d]);return[a,d,b]}export const useLayoutEffect=o()?c.useLayoutEffect:()=>{};let s,a=0;export function useDisableBodyPointerEvents({disabled:e}){useLayoutEffect((()=>{if(e)return 0===a&&(s=document.body.style.pointerEvents),document.body.style.pointerEvents="none",a++,()=>{a--,0===a&&(document.body.style.pointerEvents=s)}}),[e])}export function useDocumentRef(e){const t=c.useRef("undefined"!=typeof document?document:void 0);return useLayoutEffect((()=>{e.current instanceof Element&&(t.current=e.current.ownerDocument||document)})),t}let i=0;export const useId=()=>{const[e]=c.useState((()=>(i+=1,i)));return e};export function usePrevious(e){const t=c.useRef();return c.useEffect((()=>{t.current=e}),[e]),t.current}export function useRect(e){const[t,o]=c.useState();return useLayoutEffect((()=>{if(e.current){const t=n(e.current,o);return()=>{o(void 0),t()}}}),[e]),t}function l(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,n)}return o}function p(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?l(Object(o),!0).forEach((function(t){f(e,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):l(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}function f(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}export function useRovingTabIndex({id:e,isSelected:t,elementRef:o,onFocus:n,onKeyDown:r}){const{orientation:u,currentTabStopId:s}=v("useRovingTabIndex"),a=m("useRovingTabIndex"),i=s===e,l=t;c.useEffect((()=>(a({type:"register",tabStop:{id:e,ref:o}}),()=>{a({type:"unregister",id:e})})),[a,o,e]),c.useEffect((()=>{var e;i&&(null===(e=o.current)||void 0===e||e.focus())}),[o,i]);const p=c.useCallback((e=>{const{next:t,prev:o}={none:{next:["ArrowRight","ArrowDown"],prev:["ArrowLeft","ArrowUp"]},horizontal:{next:["ArrowRight"],prev:["ArrowLeft"]},vertical:{next:["ArrowDown"],prev:["ArrowUp"]}}[u||"none"];return t.includes(e.key)?"next":o.includes(e.key)?"previous":null}),[u]),f=c.useCallback((t=>a({type:"moveFocus",id:e})),[a,e]),d=c.useCallback((e=>{const t=p(e);"next"===t?(e.preventDefault(),a({type:"moveFocusToNext"})):"previous"===t?(e.preventDefault(),a({type:"moveFocusToPrevious"})):"Home"===e.key?(e.preventDefault(),a({type:"moveFocusToFirst"})):"End"===e.key&&(e.preventDefault(),a({type:"moveFocusToLast"}))}),[a,p]);return{onFocus:composeEventHandlers(n,f,{checkForDefaultPrevented:!1}),onKeyDown:composeEventHandlers(r,d),tabIndex:l?0:-1}}export function RovingTabIndexProvider({children:e,orientation:t,shouldLoop:o=!0}){const[n,r]=c.useReducer(d,{orientation:t,shouldLoop:o,tabStops:[],currentTabStopId:null});return c.useEffect((()=>{r({type:"updateOrientation",orientation:t})}),[t,r]),c.useEffect((()=>{r({type:"updateShouldLoop",shouldLoop:o})}),[o,r]),c.createElement(b.Provider,{value:n},c.createElement(y.Provider,{value:r},e))}function d(e,t){switch(t.type){case"register":{const o=t.tabStop;if(0===e.tabStops.length)return p(p({},e),{},{tabStops:[o]});if(e.tabStops.map((e=>e.id)).includes(o.id))return console.warn("".concat(o.id," tab stop is already registered")),e;let n=e.tabStops.findIndex((e=>!(!e.ref.current||!o.ref.current)&&Boolean(e.ref.current.compareDocumentPosition(o.ref.current)&Node.DOCUMENT_POSITION_PRECEDING)));return-1===n&&(n=e.tabStops.length),p(p({},e),{},{tabStops:r(e.tabStops,o,n)})}case"unregister":{const{id:o}=t,n=e.tabStops.filter((e=>e.id!==o));return n.length===e.tabStops.length?(console.warn("".concat(o," tab stop is already unregistered")),e):p(p({},e),{},{tabStops:n})}case"moveFocus":{const{id:o}=t;if(null===o)return p(p({},e),{},{currentTabStopId:null});const n=e.tabStops.findIndex((e=>e.id===o));return-1===n?e:p(p({},e),{},{currentTabStopId:e.tabStops[n].id})}case"moveFocusToNext":{var o,n;if(null==e.currentTabStopId)return d(e,{type:"moveFocus",id:null!==(n=e.tabStops[0].id)&&void 0!==n?n:null});const t=e.tabStops.findIndex((t=>t.id===e.currentTabStopId)),r=e.tabStops.length,c=e.shouldLoop?(t+1)%r:u(t+1,[0,r-1]);return d(e,{type:"moveFocus",id:null!==(o=e.tabStops[c].id)&&void 0!==o?o:null})}case"moveFocusToPrevious":{const t=p(p({},e),{},{tabStops:e.tabStops.slice().reverse()}),{currentTabStopId:o}=d(t,{type:"moveFocusToNext"});return p(p({},e),{},{currentTabStopId:o})}case"moveFocusToFirst":{var c;const t=e.tabStops[0];return d(e,{type:"moveFocus",id:null!==(c=t.id)&&void 0!==c?c:null})}case"moveFocusToLast":{var s;const t=e.tabStops[e.tabStops.length-1];return d(e,{type:"moveFocus",id:null!==(s=t.id)&&void 0!==s?s:null})}case"updateOrientation":return p(p({},e),{},{orientation:t.orientation});case"updateShouldLoop":return p(p({},e),{},{shouldLoop:t.shouldLoop});default:throw new Error}}const[b,v]=createContext("RovingTabIndexStateContext","RovingTabIndexProvider"),[y,m]=createContext("RovingTabIndexStateContext","RovingTabIndexProvider");
import{interopDataAttrObj as e,interopDataAttrSelector as t,canUseDOM as o,observeElementRect as n,arrayInsert as r,clamp as u}from"@interop-ui/utils";import*as c from"react";export function composeEventHandlers(e,t,{checkForDefaultPrevented:o=!0}={}){return function(n){if(null==e||e(n),!1===o||!n.defaultPrevented)return null==t?void 0:t(n)}}export function createContext(e,t){const o=c.createContext(null);return o.displayName=e,[o,function(e){const n=c.useContext(o);if(null===n)throw new Error("`".concat(e,"` must be used within `").concat(t,"`"));return n}]}export function createStyleObj(t,o){return[o,o=>{const n=getNamespacedPart(t,o);return e(n)}]}export function getNamespacedPart(e,t){return"root"===t?e:e+"."+t}export function forwardRef(e){return c.forwardRef(e)}export function memo(e,t){return c.memo(e,t)}export function useAccessibleMouseDown(e,{isDisabled:t,onMouseDown:o,onKeyDown:n}){const r=c.useCallback((o=>{t?o.preventDefault():0===o.button&&!1===o.ctrlKey&&e(o)}),[e,t]),u=c.useCallback((o=>{t||" "!==o.key&&"Enter"!==o.key||(o.preventDefault(),e(o))}),[e,t]);return{onMouseDown:composeEventHandlers(o,r),onKeyDown:composeEventHandlers(n,u)}}export function useCallbackRef(e){const t=c.useRef(e);return c.useEffect((()=>{t.current=e})),c.useCallback(((...e)=>{var o;null===(o=t.current)||void 0===o||o.call(t,...e)}),[])}export function composeRefs(...e){return t=>e.forEach((e=>function(e,t){"function"==typeof e?e(t):null!=e&&(e.current=t)}(e,t)))}export function useComposedRefs(...e){return c.useCallback(composeRefs(...e),e)}export function useConstant(e){const t=c.useRef();return t.current||(t.current={v:e()}),t.current.v}export function useControlledState({prop:e,defaultProp:t,onChange:o=(()=>{})}){const[n,r]=function({defaultProp:e,onChange:t}){const o=c.useState(e),[n]=o,r=c.useRef(n),u=useCallbackRef(t);return c.useEffect((()=>{r.current!==n&&(u(n),r.current=n)}),[n,r,u]),o}({defaultProp:t,onChange:o}),u=void 0!==e,s=u?e:n,a=useCallbackRef(o);return[s,c.useCallback((t=>{if(u){const o=t,n="function"==typeof t?o(e):t;n!==e&&a(n)}else r(t)}),[u,e,r,a])]}export const useLayoutEffect=o()?c.useLayoutEffect:()=>{};let s,a=0;export function useDisableBodyPointerEvents({disabled:e}){useLayoutEffect((()=>{if(e)return 0===a&&(s=document.body.style.pointerEvents),document.body.style.pointerEvents="none",a++,()=>{a--,0===a&&(document.body.style.pointerEvents=s)}}),[e])}export function useDocumentRef(e){const t=c.useRef("undefined"!=typeof document?document:void 0);return useLayoutEffect((()=>{e.current instanceof Element&&(t.current=e.current.ownerDocument||document)})),t}let i=0;export const useId=()=>{const[e]=c.useState((()=>(i+=1,i)));return e};export function usePrevious(e){const t=c.useRef();return c.useEffect((()=>{t.current=e}),[e]),t.current}export function useRect(e){const[t,o]=c.useState();return useLayoutEffect((()=>{if(e.current){const t=n(e.current,o);return()=>{o(void 0),t()}}}),[e]),t}function l(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,n)}return o}function p(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?l(Object(o),!0).forEach((function(t){d(e,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):l(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}function d(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}export function useRovingTabIndex({id:e,isSelected:t,elementRef:o,onFocus:n,onKeyDown:r}){const{orientation:u,currentTabStopId:s}=v("useRovingTabIndex"),a=m("useRovingTabIndex"),i=s===e,l=t;c.useEffect((()=>(a({type:"register",tabStop:{id:e,ref:o}}),()=>{a({type:"unregister",id:e})})),[a,o,e]),c.useEffect((()=>{var e;i&&(null===(e=o.current)||void 0===e||e.focus())}),[o,i]);const p=c.useCallback((e=>{const{next:t,prev:o}={none:{next:["ArrowRight","ArrowDown"],prev:["ArrowLeft","ArrowUp"]},horizontal:{next:["ArrowRight"],prev:["ArrowLeft"]},vertical:{next:["ArrowDown"],prev:["ArrowUp"]}}[u||"none"];return t.includes(e.key)?"next":o.includes(e.key)?"previous":null}),[u]),d=c.useCallback((t=>a({type:"moveFocus",id:e})),[a,e]),f=c.useCallback((e=>{const t=p(e);"next"===t?(e.preventDefault(),a({type:"moveFocusToNext"})):"previous"===t?(e.preventDefault(),a({type:"moveFocusToPrevious"})):"Home"===e.key?(e.preventDefault(),a({type:"moveFocusToFirst"})):"End"===e.key&&(e.preventDefault(),a({type:"moveFocusToLast"}))}),[a,p]);return{onFocus:composeEventHandlers(n,d,{checkForDefaultPrevented:!1}),onKeyDown:composeEventHandlers(r,f),tabIndex:l?0:-1}}export function RovingTabIndexProvider({children:e,orientation:t,shouldLoop:o=!0}){const[n,r]=c.useReducer(f,{orientation:t,shouldLoop:o,tabStops:[],currentTabStopId:null});return c.useEffect((()=>{r({type:"updateOrientation",orientation:t})}),[t,r]),c.useEffect((()=>{r({type:"updateShouldLoop",shouldLoop:o})}),[o,r]),c.createElement(b.Provider,{value:n},c.createElement(y.Provider,{value:r},e))}function f(e,t){switch(t.type){case"register":{const o=t.tabStop;if(0===e.tabStops.length)return p(p({},e),{},{tabStops:[o]});if(e.tabStops.map((e=>e.id)).includes(o.id))return console.warn("".concat(o.id," tab stop is already registered")),e;let n=e.tabStops.findIndex((e=>!(!e.ref.current||!o.ref.current)&&Boolean(e.ref.current.compareDocumentPosition(o.ref.current)&Node.DOCUMENT_POSITION_PRECEDING)));return-1===n&&(n=e.tabStops.length),p(p({},e),{},{tabStops:r(e.tabStops,o,n)})}case"unregister":{const{id:o}=t,n=e.tabStops.filter((e=>e.id!==o));return n.length===e.tabStops.length?(console.warn("".concat(o," tab stop is already unregistered")),e):p(p({},e),{},{tabStops:n})}case"moveFocus":{const{id:o}=t;if(null===o)return p(p({},e),{},{currentTabStopId:null});const n=e.tabStops.findIndex((e=>e.id===o));return-1===n?e:p(p({},e),{},{currentTabStopId:e.tabStops[n].id})}case"moveFocusToNext":{var o,n;if(null==e.currentTabStopId)return f(e,{type:"moveFocus",id:null!==(n=e.tabStops[0].id)&&void 0!==n?n:null});const t=e.tabStops.findIndex((t=>t.id===e.currentTabStopId)),r=e.tabStops.length,c=e.shouldLoop?(t+1)%r:u(t+1,[0,r-1]);return f(e,{type:"moveFocus",id:null!==(o=e.tabStops[c].id)&&void 0!==o?o:null})}case"moveFocusToPrevious":{const t=p(p({},e),{},{tabStops:e.tabStops.slice().reverse()}),{currentTabStopId:o}=f(t,{type:"moveFocusToNext"});return p(p({},e),{},{currentTabStopId:o})}case"moveFocusToFirst":{var c;const t=e.tabStops[0];return f(e,{type:"moveFocus",id:null!==(c=t.id)&&void 0!==c?c:null})}case"moveFocusToLast":{var s;const t=e.tabStops[e.tabStops.length-1];return f(e,{type:"moveFocus",id:null!==(s=t.id)&&void 0!==s?s:null})}case"updateOrientation":return p(p({},e),{},{orientation:t.orientation});case"updateShouldLoop":return p(p({},e),{},{shouldLoop:t.shouldLoop});default:throw new Error}}const[b,v]=createContext("RovingTabIndexStateContext","RovingTabIndexProvider"),[y,m]=createContext("RovingTabIndexStateContext","RovingTabIndexProvider");
//# sourceMappingURL=index.module.js.map
{
"name": "@interop-ui/react-utils",
"version": "0.0.1-9",
"version": "0.0.1-10",
"license": "MIT",

@@ -5,0 +5,0 @@ "source": "src/index.ts",

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

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