@interop-ui/react-utils
Advanced tools
Comparing version 0.0.1-9 to 0.0.1-10
@@ -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`. |
@@ -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
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
100494
253