@toptal/picasso-utils 1.0.1-alpha-fx-4785-create-a-codemod-to-update-nested-imports-b62d3423a.4050
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +20 -0
 - package/dist-package/src/index.d.ts +2 -0
 - package/dist-package/src/index.d.ts.map +1 -0
 - package/dist-package/src/index.js +2 -0
 - package/dist-package/src/index.js.map +1 -0
 - package/dist-package/src/utils/Colors/index.d.ts +2 -0
 - package/dist-package/src/utils/Colors/index.d.ts.map +1 -0
 - package/dist-package/src/utils/Colors/index.js +2 -0
 - package/dist-package/src/utils/Colors/index.js.map +1 -0
 - package/dist-package/src/utils/Formatters/format-amount.d.ts +18 -0
 - package/dist-package/src/utils/Formatters/format-amount.d.ts.map +1 -0
 - package/dist-package/src/utils/Formatters/format-amount.js +12 -0
 - package/dist-package/src/utils/Formatters/format-amount.js.map +1 -0
 - package/dist-package/src/utils/Formatters/index.d.ts +3 -0
 - package/dist-package/src/utils/Formatters/index.d.ts.map +1 -0
 - package/dist-package/src/utils/Formatters/index.js +2 -0
 - package/dist-package/src/utils/Formatters/index.js.map +1 -0
 - package/dist-package/src/utils/Gradients/index.d.ts +2 -0
 - package/dist-package/src/utils/Gradients/index.d.ts.map +1 -0
 - package/dist-package/src/utils/Gradients/index.js +2 -0
 - package/dist-package/src/utils/Gradients/index.js.map +1 -0
 - package/dist-package/src/utils/Modal/index.d.ts +3 -0
 - package/dist-package/src/utils/Modal/index.d.ts.map +1 -0
 - package/dist-package/src/utils/Modal/index.js +3 -0
 - package/dist-package/src/utils/Modal/index.js.map +1 -0
 - package/dist-package/src/utils/Modal/modal-manager.d.ts +7 -0
 - package/dist-package/src/utils/Modal/modal-manager.d.ts.map +1 -0
 - package/dist-package/src/utils/Modal/modal-manager.js +22 -0
 - package/dist-package/src/utils/Modal/modal-manager.js.map +1 -0
 - package/dist-package/src/utils/Modal/use-modal.d.ts +7 -0
 - package/dist-package/src/utils/Modal/use-modal.d.ts.map +1 -0
 - package/dist-package/src/utils/Modal/use-modal.js +13 -0
 - package/dist-package/src/utils/Modal/use-modal.js.map +1 -0
 - package/dist-package/src/utils/Transitions/Rotate180/Rotate180.d.ts +14 -0
 - package/dist-package/src/utils/Transitions/Rotate180/Rotate180.d.ts.map +1 -0
 - package/dist-package/src/utils/Transitions/Rotate180/Rotate180.js +29 -0
 - package/dist-package/src/utils/Transitions/Rotate180/Rotate180.js.map +1 -0
 - package/dist-package/src/utils/Transitions/Rotate180/index.d.ts +4 -0
 - package/dist-package/src/utils/Transitions/Rotate180/index.d.ts.map +1 -0
 - package/dist-package/src/utils/Transitions/Rotate180/index.js +2 -0
 - package/dist-package/src/utils/Transitions/Rotate180/index.js.map +1 -0
 - package/dist-package/src/utils/Transitions/Rotate180/styles.d.ts +3 -0
 - package/dist-package/src/utils/Transitions/Rotate180/styles.d.ts.map +1 -0
 - package/dist-package/src/utils/Transitions/Rotate180/styles.js +10 -0
 - package/dist-package/src/utils/Transitions/Rotate180/styles.js.map +1 -0
 - package/dist-package/src/utils/Transitions/index.d.ts +3 -0
 - package/dist-package/src/utils/Transitions/index.d.ts.map +1 -0
 - package/dist-package/src/utils/Transitions/index.js +2 -0
 - package/dist-package/src/utils/Transitions/index.js.map +1 -0
 - package/dist-package/src/utils/capitalize.d.ts +2 -0
 - package/dist-package/src/utils/capitalize.d.ts.map +1 -0
 - package/dist-package/src/utils/capitalize.js +2 -0
 - package/dist-package/src/utils/capitalize.js.map +1 -0
 - package/dist-package/src/utils/constants.d.ts +2 -0
 - package/dist-package/src/utils/constants.d.ts.map +1 -0
 - package/dist-package/src/utils/constants.js +2 -0
 - package/dist-package/src/utils/constants.js.map +1 -0
 - package/dist-package/src/utils/disable-unsupported-props.d.ts +7 -0
 - package/dist-package/src/utils/disable-unsupported-props.d.ts.map +1 -0
 - package/dist-package/src/utils/disable-unsupported-props.js +19 -0
 - package/dist-package/src/utils/disable-unsupported-props.js.map +1 -0
 - package/dist-package/src/utils/forward-ref.d.ts +33 -0
 - package/dist-package/src/utils/forward-ref.d.ts.map +1 -0
 - package/dist-package/src/utils/forward-ref.js +27 -0
 - package/dist-package/src/utils/forward-ref.js.map +1 -0
 - package/dist-package/src/utils/get-name-initials.d.ts +3 -0
 - package/dist-package/src/utils/get-name-initials.d.ts.map +1 -0
 - package/dist-package/src/utils/get-name-initials.js +14 -0
 - package/dist-package/src/utils/get-name-initials.js.map +1 -0
 - package/dist-package/src/utils/get-react-node-text-content.d.ts +16 -0
 - package/dist-package/src/utils/get-react-node-text-content.d.ts.map +1 -0
 - package/dist-package/src/utils/get-react-node-text-content.js +32 -0
 - package/dist-package/src/utils/get-react-node-text-content.js.map +1 -0
 - package/dist-package/src/utils/index.d.ts +61 -0
 - package/dist-package/src/utils/index.d.ts.map +1 -0
 - package/dist-package/src/utils/index.js +58 -0
 - package/dist-package/src/utils/index.js.map +1 -0
 - package/dist-package/src/utils/is-boolean.d.ts +3 -0
 - package/dist-package/src/utils/is-boolean.d.ts.map +1 -0
 - package/dist-package/src/utils/is-boolean.js +3 -0
 - package/dist-package/src/utils/is-boolean.js.map +1 -0
 - package/dist-package/src/utils/is-number.d.ts +3 -0
 - package/dist-package/src/utils/is-number.d.ts.map +1 -0
 - package/dist-package/src/utils/is-number.js +3 -0
 - package/dist-package/src/utils/is-number.js.map +1 -0
 - package/dist-package/src/utils/is-overflown.d.ts +3 -0
 - package/dist-package/src/utils/is-overflown.d.ts.map +1 -0
 - package/dist-package/src/utils/is-overflown.js +16 -0
 - package/dist-package/src/utils/is-overflown.js.map +1 -0
 - package/dist-package/src/utils/is-pointer-device.d.ts +3 -0
 - package/dist-package/src/utils/is-pointer-device.d.ts.map +1 -0
 - package/dist-package/src/utils/is-pointer-device.js +8 -0
 - package/dist-package/src/utils/is-pointer-device.js.map +1 -0
 - package/dist-package/src/utils/is-string.d.ts +3 -0
 - package/dist-package/src/utils/is-string.d.ts.map +1 -0
 - package/dist-package/src/utils/is-string.js +3 -0
 - package/dist-package/src/utils/is-string.js.map +1 -0
 - package/dist-package/src/utils/is-substring.d.ts +3 -0
 - package/dist-package/src/utils/is-substring.d.ts.map +1 -0
 - package/dist-package/src/utils/is-substring.js +3 -0
 - package/dist-package/src/utils/is-substring.js.map +1 -0
 - package/dist-package/src/utils/kebab-to-camel-case.d.ts +6 -0
 - package/dist-package/src/utils/kebab-to-camel-case.d.ts.map +1 -0
 - package/dist-package/src/utils/kebab-to-camel-case.js +6 -0
 - package/dist-package/src/utils/kebab-to-camel-case.js.map +1 -0
 - package/dist-package/src/utils/loader-palette.d.ts +6 -0
 - package/dist-package/src/utils/loader-palette.d.ts.map +1 -0
 - package/dist-package/src/utils/loader-palette.js +8 -0
 - package/dist-package/src/utils/loader-palette.js.map +1 -0
 - package/dist-package/src/utils/monads.d.ts +2 -0
 - package/dist-package/src/utils/monads.d.ts.map +1 -0
 - package/dist-package/src/utils/monads.js +2 -0
 - package/dist-package/src/utils/monads.js.map +1 -0
 - package/dist-package/src/utils/noop.d.ts +3 -0
 - package/dist-package/src/utils/noop.d.ts.map +1 -0
 - package/dist-package/src/utils/noop.js +2 -0
 - package/dist-package/src/utils/noop.js.map +1 -0
 - package/dist-package/src/utils/sum.d.ts +3 -0
 - package/dist-package/src/utils/sum.d.ts.map +1 -0
 - package/dist-package/src/utils/sum.js +3 -0
 - package/dist-package/src/utils/sum.js.map +1 -0
 - package/dist-package/src/utils/to-title-case.d.ts +4 -0
 - package/dist-package/src/utils/to-title-case.d.ts.map +1 -0
 - package/dist-package/src/utils/to-title-case.js +10 -0
 - package/dist-package/src/utils/to-title-case.js.map +1 -0
 - package/dist-package/src/utils/unsafe-error-log.d.ts +3 -0
 - package/dist-package/src/utils/unsafe-error-log.d.ts.map +1 -0
 - package/dist-package/src/utils/unsafe-error-log.js +5 -0
 - package/dist-package/src/utils/unsafe-error-log.js.map +1 -0
 - package/dist-package/src/utils/use-combined-refs.d.ts +4 -0
 - package/dist-package/src/utils/use-combined-refs.d.ts.map +1 -0
 - package/dist-package/src/utils/use-combined-refs.js +22 -0
 - package/dist-package/src/utils/use-combined-refs.js.map +1 -0
 - package/dist-package/src/utils/use-deprecation-warnings.d.ts +16 -0
 - package/dist-package/src/utils/use-deprecation-warnings.d.ts.map +1 -0
 - package/dist-package/src/utils/use-deprecation-warnings.js +24 -0
 - package/dist-package/src/utils/use-deprecation-warnings.js.map +1 -0
 - package/dist-package/src/utils/use-multiple-forward-refs.d.ts +19 -0
 - package/dist-package/src/utils/use-multiple-forward-refs.d.ts.map +1 -0
 - package/dist-package/src/utils/use-multiple-forward-refs.js +31 -0
 - package/dist-package/src/utils/use-multiple-forward-refs.js.map +1 -0
 - package/dist-package/src/utils/use-page-scroll-lock.d.ts +2 -0
 - package/dist-package/src/utils/use-page-scroll-lock.d.ts.map +1 -0
 - package/dist-package/src/utils/use-page-scroll-lock.js +54 -0
 - package/dist-package/src/utils/use-page-scroll-lock.js.map +1 -0
 - package/dist-package/src/utils/use-safe-state.d.ts +4 -0
 - package/dist-package/src/utils/use-safe-state.d.ts.map +1 -0
 - package/dist-package/src/utils/use-safe-state.js +19 -0
 - package/dist-package/src/utils/use-safe-state.js.map +1 -0
 - package/dist-package/src/utils/use-width-of.d.ts +7 -0
 - package/dist-package/src/utils/use-width-of.d.ts.map +1 -0
 - package/dist-package/src/utils/use-width-of.js +16 -0
 - package/dist-package/src/utils/use-width-of.js.map +1 -0
 - package/dist-package/src/utils/useBoolean/index.d.ts +2 -0
 - package/dist-package/src/utils/useBoolean/index.d.ts.map +1 -0
 - package/dist-package/src/utils/useBoolean/index.js +2 -0
 - package/dist-package/src/utils/useBoolean/index.js.map +1 -0
 - package/dist-package/src/utils/useBoolean/use-boolean.d.ts +16 -0
 - package/dist-package/src/utils/useBoolean/use-boolean.d.ts.map +1 -0
 - package/dist-package/src/utils/useBoolean/use-boolean.js +15 -0
 - package/dist-package/src/utils/useBoolean/use-boolean.js.map +1 -0
 - package/dist-package/src/utils/useInterval/index.d.ts +2 -0
 - package/dist-package/src/utils/useInterval/index.d.ts.map +1 -0
 - package/dist-package/src/utils/useInterval/index.js +2 -0
 - package/dist-package/src/utils/useInterval/index.js.map +1 -0
 - package/dist-package/src/utils/useInterval/use-interval.d.ts +8 -0
 - package/dist-package/src/utils/useInterval/use-interval.d.ts.map +1 -0
 - package/dist-package/src/utils/useInterval/use-interval.js +29 -0
 - package/dist-package/src/utils/useInterval/use-interval.js.map +1 -0
 - package/dist-package/src/utils/useMouseEnter/index.d.ts +2 -0
 - package/dist-package/src/utils/useMouseEnter/index.d.ts.map +1 -0
 - package/dist-package/src/utils/useMouseEnter/index.js +2 -0
 - package/dist-package/src/utils/useMouseEnter/index.js.map +1 -0
 - package/dist-package/src/utils/useMouseEnter/use-mouse-enter.d.ts +4 -0
 - package/dist-package/src/utils/useMouseEnter/use-mouse-enter.d.ts.map +1 -0
 - package/dist-package/src/utils/useMouseEnter/use-mouse-enter.js +23 -0
 - package/dist-package/src/utils/useMouseEnter/use-mouse-enter.js.map +1 -0
 - package/dist-package/src/utils/useOnScreen/index.d.ts +2 -0
 - package/dist-package/src/utils/useOnScreen/index.d.ts.map +1 -0
 - package/dist-package/src/utils/useOnScreen/index.js +2 -0
 - package/dist-package/src/utils/useOnScreen/index.js.map +1 -0
 - package/dist-package/src/utils/useOnScreen/use-on-screen.d.ts +10 -0
 - package/dist-package/src/utils/useOnScreen/use-on-screen.d.ts.map +1 -0
 - package/dist-package/src/utils/useOnScreen/use-on-screen.js +24 -0
 - package/dist-package/src/utils/useOnScreen/use-on-screen.js.map +1 -0
 - package/dist-package/tsconfig.tsbuildinfo +1 -0
 - package/package.json +49 -0
 - package/src/index.ts +1 -0
 - package/src/utils/Breakpoints/story/Breakpoints.example.tsx +49 -0
 - package/src/utils/Breakpoints/story/MediaQueries.example.tsx +18 -0
 - package/src/utils/Breakpoints/story/index.jsx +60 -0
 - package/src/utils/Breakpoints/story/useBreakpoint.example.tsx +17 -0
 - package/src/utils/Breakpoints/story/useScreens.example.tsx +60 -0
 - package/src/utils/Colors/index.ts +2 -0
 - package/src/utils/Colors/story/Default.example.tsx +59 -0
 - package/src/utils/Colors/story/HowToUse.example.tsx +14 -0
 - package/src/utils/Colors/story/index.jsx +21 -0
 - package/src/utils/Formatters/format-amount.ts +34 -0
 - package/src/utils/Formatters/index.ts +3 -0
 - package/src/utils/Formatters/story/amount.example.tsx +63 -0
 - package/src/utils/Formatters/story/index.jsx +16 -0
 - package/src/utils/Formatters/test.ts +102 -0
 - package/src/utils/Gradients/index.ts +2 -0
 - package/src/utils/Gradients/story/Default.example.tsx +30 -0
 - package/src/utils/Gradients/story/HowToUse.example.tsx +26 -0
 - package/src/utils/Gradients/story/index.jsx +26 -0
 - package/src/utils/Modal/__snapshots__/test.tsx.snap +209 -0
 - package/src/utils/Modal/index.ts +2 -0
 - package/src/utils/Modal/modal-manager.ts +27 -0
 - package/src/utils/Modal/test.tsx +86 -0
 - package/src/utils/Modal/use-modal.tsx +17 -0
 - package/src/utils/Shadows/story/Default.example.tsx +45 -0
 - package/src/utils/Shadows/story/HowToUse.example.tsx +19 -0
 - package/src/utils/Shadows/story/index.jsx +19 -0
 - package/src/utils/Transitions/Rotate180/Rotate180.tsx +44 -0
 - package/src/utils/Transitions/Rotate180/__snapshots__/test.tsx.snap +29 -0
 - package/src/utils/Transitions/Rotate180/index.ts +4 -0
 - package/src/utils/Transitions/Rotate180/story/Default.example.tsx +22 -0
 - package/src/utils/Transitions/Rotate180/styles.ts +11 -0
 - package/src/utils/Transitions/Rotate180/test.tsx +26 -0
 - package/src/utils/Transitions/index.ts +2 -0
 - package/src/utils/Transitions/story/index.jsx +13 -0
 - package/src/utils/Utils/story/Browser.example.tsx +28 -0
 - package/src/utils/Utils/story/Colors.example.tsx +29 -0
 - package/src/utils/Utils/story/Generic.example.tsx +30 -0
 - package/src/utils/Utils/story/React.example.tsx +32 -0
 - package/src/utils/Utils/story/Strings.example.tsx +33 -0
 - package/src/utils/__tests__/use-page-scroll-lock.test.tsx +117 -0
 - package/src/utils/capitalize.ts +1 -0
 - package/src/utils/constants.ts +1 -0
 - package/src/utils/disable-unsupported-props.ts +45 -0
 - package/src/utils/forward-ref.ts +38 -0
 - package/src/utils/get-name-initials.ts +15 -0
 - package/src/utils/get-react-node-text-content.ts +36 -0
 - package/src/utils/index.ts +89 -0
 - package/src/utils/is-boolean.ts +3 -0
 - package/src/utils/is-number.ts +3 -0
 - package/src/utils/is-overflown.ts +20 -0
 - package/src/utils/is-pointer-device.ts +9 -0
 - package/src/utils/is-string.ts +3 -0
 - package/src/utils/is-substring.ts +4 -0
 - package/src/utils/kebab-to-camel-case.ts +7 -0
 - package/src/utils/loader-palette.ts +9 -0
 - package/src/utils/monads.ts +1 -0
 - package/src/utils/noop.ts +1 -0
 - package/src/utils/sum.ts +4 -0
 - package/src/utils/test.tsx +372 -0
 - package/src/utils/to-title-case.ts +14 -0
 - package/src/utils/unsafe-error-log.ts +5 -0
 - package/src/utils/use-combined-refs.ts +26 -0
 - package/src/utils/use-deprecation-warnings.ts +56 -0
 - package/src/utils/use-multiple-forward-refs.ts +37 -0
 - package/src/utils/use-page-scroll-lock.ts +64 -0
 - package/src/utils/use-safe-state.ts +25 -0
 - package/src/utils/use-width-of.ts +26 -0
 - package/src/utils/useBoolean/index.ts +1 -0
 - package/src/utils/useBoolean/test.tsx +25 -0
 - package/src/utils/useBoolean/use-boolean.ts +30 -0
 - package/src/utils/useInterval/index.ts +1 -0
 - package/src/utils/useInterval/test.ts +61 -0
 - package/src/utils/useInterval/use-interval.ts +46 -0
 - package/src/utils/useMouseEnter/index.ts +1 -0
 - package/src/utils/useMouseEnter/test.ts +51 -0
 - package/src/utils/useMouseEnter/use-mouse-enter.ts +30 -0
 - package/src/utils/useOnScreen/index.ts +1 -0
 - package/src/utils/useOnScreen/use-on-screen.ts +50 -0
 - package/tsconfig.json +9 -0
 
| 
         @@ -0,0 +1,54 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            import { isBrowser } from '@toptal/picasso-shared';
         
     | 
| 
      
 2 
     | 
    
         
            +
            import { useEffect, useMemo } from 'react';
         
     | 
| 
      
 3 
     | 
    
         
            +
            const layers = new Set();
         
     | 
| 
      
 4 
     | 
    
         
            +
            let scrollLock = undefined;
         
     | 
| 
      
 5 
     | 
    
         
            +
            export const usePageScrollLock = (isLocked) => {
         
     | 
| 
      
 6 
     | 
    
         
            +
                const layerId = useMemo(generateLayerId, []);
         
     | 
| 
      
 7 
     | 
    
         
            +
                useEffect(() => {
         
     | 
| 
      
 8 
     | 
    
         
            +
                    if (isLocked) {
         
     | 
| 
      
 9 
     | 
    
         
            +
                        layers.add(layerId);
         
     | 
| 
      
 10 
     | 
    
         
            +
                        syncPageScrollLock();
         
     | 
| 
      
 11 
     | 
    
         
            +
                    }
         
     | 
| 
      
 12 
     | 
    
         
            +
                    return () => {
         
     | 
| 
      
 13 
     | 
    
         
            +
                        layers.delete(layerId);
         
     | 
| 
      
 14 
     | 
    
         
            +
                        syncPageScrollLock();
         
     | 
| 
      
 15 
     | 
    
         
            +
                    };
         
     | 
| 
      
 16 
     | 
    
         
            +
                }, [layerId, isLocked]);
         
     | 
| 
      
 17 
     | 
    
         
            +
            };
         
     | 
| 
      
 18 
     | 
    
         
            +
            const generateLayerId = (() => {
         
     | 
| 
      
 19 
     | 
    
         
            +
                let count = 0;
         
     | 
| 
      
 20 
     | 
    
         
            +
                return () => {
         
     | 
| 
      
 21 
     | 
    
         
            +
                    count = count + 1;
         
     | 
| 
      
 22 
     | 
    
         
            +
                    return count;
         
     | 
| 
      
 23 
     | 
    
         
            +
                };
         
     | 
| 
      
 24 
     | 
    
         
            +
            })();
         
     | 
| 
      
 25 
     | 
    
         
            +
            const syncPageScrollLock = () => {
         
     | 
| 
      
 26 
     | 
    
         
            +
                if (layers.size > 0) {
         
     | 
| 
      
 27 
     | 
    
         
            +
                    addPageScrollLock();
         
     | 
| 
      
 28 
     | 
    
         
            +
                }
         
     | 
| 
      
 29 
     | 
    
         
            +
                else {
         
     | 
| 
      
 30 
     | 
    
         
            +
                    removePageScrollLock();
         
     | 
| 
      
 31 
     | 
    
         
            +
                }
         
     | 
| 
      
 32 
     | 
    
         
            +
            };
         
     | 
| 
      
 33 
     | 
    
         
            +
            const addPageScrollLock = () => {
         
     | 
| 
      
 34 
     | 
    
         
            +
                if (!isBrowser()) {
         
     | 
| 
      
 35 
     | 
    
         
            +
                    return;
         
     | 
| 
      
 36 
     | 
    
         
            +
                }
         
     | 
| 
      
 37 
     | 
    
         
            +
                if (!scrollLock) {
         
     | 
| 
      
 38 
     | 
    
         
            +
                    scrollLock = {
         
     | 
| 
      
 39 
     | 
    
         
            +
                        prevHtmlOverflow: document.getElementsByTagName('html')[0].style.overflow,
         
     | 
| 
      
 40 
     | 
    
         
            +
                    };
         
     | 
| 
      
 41 
     | 
    
         
            +
                    document.getElementsByTagName('html')[0].style.overflow = 'hidden';
         
     | 
| 
      
 42 
     | 
    
         
            +
                }
         
     | 
| 
      
 43 
     | 
    
         
            +
            };
         
     | 
| 
      
 44 
     | 
    
         
            +
            const removePageScrollLock = () => {
         
     | 
| 
      
 45 
     | 
    
         
            +
                if (!isBrowser()) {
         
     | 
| 
      
 46 
     | 
    
         
            +
                    return;
         
     | 
| 
      
 47 
     | 
    
         
            +
                }
         
     | 
| 
      
 48 
     | 
    
         
            +
                if (scrollLock) {
         
     | 
| 
      
 49 
     | 
    
         
            +
                    document.getElementsByTagName('html')[0].style.overflow =
         
     | 
| 
      
 50 
     | 
    
         
            +
                        scrollLock.prevHtmlOverflow;
         
     | 
| 
      
 51 
     | 
    
         
            +
                    scrollLock = undefined;
         
     | 
| 
      
 52 
     | 
    
         
            +
                }
         
     | 
| 
      
 53 
     | 
    
         
            +
            };
         
     | 
| 
      
 54 
     | 
    
         
            +
            //# sourceMappingURL=use-page-scroll-lock.js.map
         
     | 
| 
         @@ -0,0 +1 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            {"version":3,"file":"use-page-scroll-lock.js","sourceRoot":"","sources":["../../../src/utils/use-page-scroll-lock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAE1C,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAA;AAChC,IAAI,UAAU,GAA6C,SAAS,CAAA;AAEpE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,QAAiB,EAAE,EAAE;IACrD,MAAM,OAAO,GAAG,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAA;IAE5C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,QAAQ,EAAE;YACZ,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YACnB,kBAAkB,EAAE,CAAA;SACrB;QAED,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;YACtB,kBAAkB,EAAE,CAAA;QACtB,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAA;AACzB,CAAC,CAAA;AAED,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE;IAC5B,IAAI,KAAK,GAAG,CAAC,CAAA;IAEb,OAAO,GAAG,EAAE;QACV,KAAK,GAAG,KAAK,GAAG,CAAC,CAAA;QAEjB,OAAO,KAAK,CAAA;IACd,CAAC,CAAA;AACH,CAAC,CAAC,EAAE,CAAA;AAEJ,MAAM,kBAAkB,GAAG,GAAG,EAAE;IAC9B,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,EAAE;QACnB,iBAAiB,EAAE,CAAA;KACpB;SAAM;QACL,oBAAoB,EAAE,CAAA;KACvB;AACH,CAAC,CAAA;AAED,MAAM,iBAAiB,GAAG,GAAG,EAAE;IAC7B,IAAI,CAAC,SAAS,EAAE,EAAE;QAChB,OAAM;KACP;IAED,IAAI,CAAC,UAAU,EAAE;QACf,UAAU,GAAG;YACX,gBAAgB,EAAE,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ;SAC1E,CAAA;QACD,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAA;KACnE;AACH,CAAC,CAAA;AAED,MAAM,oBAAoB,GAAG,GAAG,EAAE;IAChC,IAAI,CAAC,SAAS,EAAE,EAAE;QAChB,OAAM;KACP;IAED,IAAI,UAAU,EAAE;QACd,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ;YACrD,UAAU,CAAC,gBAAgB,CAAA;QAC7B,UAAU,GAAG,SAAS,CAAA;KACvB;AACH,CAAC,CAAA"}
         
     | 
| 
         @@ -0,0 +1 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            {"version":3,"file":"use-safe-state.d.ts","sourceRoot":"","sources":["../../../src/utils/use-safe-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,QAAQ,EAA0B,MAAM,OAAO,CAAA;;AAwBhE,wBAA8C"}
         
     | 
| 
         @@ -0,0 +1,19 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            import { useRef, useState, useCallback, useEffect } from 'react';
         
     | 
| 
      
 2 
     | 
    
         
            +
            const useSafeState = (initState) => {
         
     | 
| 
      
 3 
     | 
    
         
            +
                const [state, unsafeSetState] = useState(initState);
         
     | 
| 
      
 4 
     | 
    
         
            +
                const isMounted = useRef(false);
         
     | 
| 
      
 5 
     | 
    
         
            +
                useEffect(() => {
         
     | 
| 
      
 6 
     | 
    
         
            +
                    isMounted.current = true;
         
     | 
| 
      
 7 
     | 
    
         
            +
                    return () => {
         
     | 
| 
      
 8 
     | 
    
         
            +
                        isMounted.current = false;
         
     | 
| 
      
 9 
     | 
    
         
            +
                    };
         
     | 
| 
      
 10 
     | 
    
         
            +
                });
         
     | 
| 
      
 11 
     | 
    
         
            +
                const setState = useCallback(newState => {
         
     | 
| 
      
 12 
     | 
    
         
            +
                    if (isMounted.current) {
         
     | 
| 
      
 13 
     | 
    
         
            +
                        unsafeSetState(newState);
         
     | 
| 
      
 14 
     | 
    
         
            +
                    }
         
     | 
| 
      
 15 
     | 
    
         
            +
                }, []);
         
     | 
| 
      
 16 
     | 
    
         
            +
                return [state, setState];
         
     | 
| 
      
 17 
     | 
    
         
            +
            };
         
     | 
| 
      
 18 
     | 
    
         
            +
            export default useSafeState;
         
     | 
| 
      
 19 
     | 
    
         
            +
            //# sourceMappingURL=use-safe-state.js.map
         
     | 
| 
         @@ -0,0 +1 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            {"version":3,"file":"use-safe-state.js","sourceRoot":"","sources":["../../../src/utils/use-safe-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEhE,MAAM,YAAY,GAAG,CAAI,SAAwB,EAAE,EAAE;IACnD,MAAM,CAAC,KAAK,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAI,SAAS,CAAC,CAAA;IAEtD,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IAE/B,SAAS,CAAC,GAAG,EAAE;QACb,SAAS,CAAC,OAAO,GAAG,IAAI,CAAA;QAExB,OAAO,GAAG,EAAE;YACV,SAAS,CAAC,OAAO,GAAG,KAAK,CAAA;QAC3B,CAAC,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,MAAM,QAAQ,GAA0B,WAAW,CAAC,QAAQ,CAAC,EAAE;QAC7D,IAAI,SAAS,CAAC,OAAO,EAAE;YACrB,cAAc,CAAC,QAAQ,CAAC,CAAA;SACzB;IACH,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;AAC1B,CAAC,CAAA;AAED,eAAe,YAA+B,CAAA"}
         
     | 
| 
         @@ -0,0 +1,7 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            export interface ReferenceObject {
         
     | 
| 
      
 2 
     | 
    
         
            +
                offsetParent?: Element;
         
     | 
| 
      
 3 
     | 
    
         
            +
                getBoundingClientRect: () => ClientRect;
         
     | 
| 
      
 4 
     | 
    
         
            +
            }
         
     | 
| 
      
 5 
     | 
    
         
            +
            declare const useWidthOf: <T extends ReferenceObject>(element: T | null) => string | undefined;
         
     | 
| 
      
 6 
     | 
    
         
            +
            export default useWidthOf;
         
     | 
| 
      
 7 
     | 
    
         
            +
            //# sourceMappingURL=use-width-of.d.ts.map
         
     | 
| 
         @@ -0,0 +1 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            {"version":3,"file":"use-width-of.d.ts","sourceRoot":"","sources":["../../../src/utils/use-width-of.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,eAAe;IAC9B,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,qBAAqB,EAAE,MAAM,UAAU,CAAA;CACxC;AAED,QAAA,MAAM,UAAU,sEAef,CAAA;AAED,eAAe,UAAU,CAAA"}
         
     | 
| 
         @@ -0,0 +1,16 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            import { useState } from 'react';
         
     | 
| 
      
 2 
     | 
    
         
            +
            import { useIsomorphicLayoutEffect } from '@toptal/picasso-shared';
         
     | 
| 
      
 3 
     | 
    
         
            +
            const useWidthOf = (element) => {
         
     | 
| 
      
 4 
     | 
    
         
            +
                const [menuWidth, setMenuWidth] = useState();
         
     | 
| 
      
 5 
     | 
    
         
            +
                const offsetParent = element === null || element === void 0 ? void 0 : element.offsetParent;
         
     | 
| 
      
 6 
     | 
    
         
            +
                useIsomorphicLayoutEffect(() => {
         
     | 
| 
      
 7 
     | 
    
         
            +
                    if (!element) {
         
     | 
| 
      
 8 
     | 
    
         
            +
                        return;
         
     | 
| 
      
 9 
     | 
    
         
            +
                    }
         
     | 
| 
      
 10 
     | 
    
         
            +
                    const { width } = element.getBoundingClientRect();
         
     | 
| 
      
 11 
     | 
    
         
            +
                    setMenuWidth(`${width}px`);
         
     | 
| 
      
 12 
     | 
    
         
            +
                }, [element, offsetParent]);
         
     | 
| 
      
 13 
     | 
    
         
            +
                return menuWidth;
         
     | 
| 
      
 14 
     | 
    
         
            +
            };
         
     | 
| 
      
 15 
     | 
    
         
            +
            export default useWidthOf;
         
     | 
| 
      
 16 
     | 
    
         
            +
            //# sourceMappingURL=use-width-of.js.map
         
     | 
| 
         @@ -0,0 +1 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            {"version":3,"file":"use-width-of.js","sourceRoot":"","sources":["../../../src/utils/use-width-of.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAChC,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAA;AAOlE,MAAM,UAAU,GAAG,CAA4B,OAAiB,EAAE,EAAE;IAClE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,EAAsB,CAAA;IAEhE,MAAM,YAAY,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,CAAA;IAE1C,yBAAyB,CAAC,GAAG,EAAE;QAC7B,IAAI,CAAC,OAAO,EAAE;YACZ,OAAM;SACP;QACD,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAA;QAEjD,YAAY,CAAC,GAAG,KAAK,IAAI,CAAC,CAAA;IAC5B,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAA;IAE3B,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAED,eAAe,UAAU,CAAA"}
         
     | 
| 
         @@ -0,0 +1 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/useBoolean/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA"}
         
     | 
| 
         @@ -0,0 +1 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/useBoolean/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA"}
         
     | 
| 
         @@ -0,0 +1,16 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            /** Set value to true */
         
     | 
| 
      
 2 
     | 
    
         
            +
            declare type SetTruthy = () => void;
         
     | 
| 
      
 3 
     | 
    
         
            +
            /** Set value to false */
         
     | 
| 
      
 4 
     | 
    
         
            +
            declare type SetFalsy = () => void;
         
     | 
| 
      
 5 
     | 
    
         
            +
            /** Toggle the value */
         
     | 
| 
      
 6 
     | 
    
         
            +
            declare type Toggle = () => void;
         
     | 
| 
      
 7 
     | 
    
         
            +
            declare type IsTruthy = boolean;
         
     | 
| 
      
 8 
     | 
    
         
            +
            declare type UseBooleanType = (defaultValue?: boolean) => [IsTruthy, SetTruthy, SetFalsy, Toggle];
         
     | 
| 
      
 9 
     | 
    
         
            +
            /**
         
     | 
| 
      
 10 
     | 
    
         
            +
             *
         
     | 
| 
      
 11 
     | 
    
         
            +
             * @param defaultValue?: Boolean
         
     | 
| 
      
 12 
     | 
    
         
            +
             * @returns [isTruthy, setTruthy, setFalsy, toggle]
         
     | 
| 
      
 13 
     | 
    
         
            +
             */
         
     | 
| 
      
 14 
     | 
    
         
            +
            declare const useBoolean: UseBooleanType;
         
     | 
| 
      
 15 
     | 
    
         
            +
            export default useBoolean;
         
     | 
| 
      
 16 
     | 
    
         
            +
            //# sourceMappingURL=use-boolean.d.ts.map
         
     | 
| 
         @@ -0,0 +1 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            {"version":3,"file":"use-boolean.d.ts","sourceRoot":"","sources":["../../../../src/utils/useBoolean/use-boolean.ts"],"names":[],"mappings":"AAEA,wBAAwB;AACxB,aAAK,SAAS,GAAG,MAAM,IAAI,CAAA;AAC3B,yBAAyB;AACzB,aAAK,QAAQ,GAAG,MAAM,IAAI,CAAA;AAC1B,uBAAuB;AACvB,aAAK,MAAM,GAAG,MAAM,IAAI,CAAA;AACxB,aAAK,QAAQ,GAAG,OAAO,CAAA;AAEvB,aAAK,cAAc,GAAG,CACpB,YAAY,CAAC,EAAE,OAAO,KACnB,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;AAE5C;;;;GAIG;AACH,QAAA,MAAM,UAAU,EAAE,cAQjB,CAAA;AAED,eAAe,UAAU,CAAA"}
         
     | 
| 
         @@ -0,0 +1,15 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            import { useState } from 'react';
         
     | 
| 
      
 2 
     | 
    
         
            +
            /**
         
     | 
| 
      
 3 
     | 
    
         
            +
             *
         
     | 
| 
      
 4 
     | 
    
         
            +
             * @param defaultValue?: Boolean
         
     | 
| 
      
 5 
     | 
    
         
            +
             * @returns [isTruthy, setTruthy, setFalsy, toggle]
         
     | 
| 
      
 6 
     | 
    
         
            +
             */
         
     | 
| 
      
 7 
     | 
    
         
            +
            const useBoolean = (defaultValue = false) => {
         
     | 
| 
      
 8 
     | 
    
         
            +
                const [isTruthy, setBoolean] = useState(defaultValue);
         
     | 
| 
      
 9 
     | 
    
         
            +
                const setTruthy = () => setBoolean(true);
         
     | 
| 
      
 10 
     | 
    
         
            +
                const setFalsy = () => setBoolean(false);
         
     | 
| 
      
 11 
     | 
    
         
            +
                const toggle = () => setBoolean(value => !value);
         
     | 
| 
      
 12 
     | 
    
         
            +
                return [isTruthy, setTruthy, setFalsy, toggle];
         
     | 
| 
      
 13 
     | 
    
         
            +
            };
         
     | 
| 
      
 14 
     | 
    
         
            +
            export default useBoolean;
         
     | 
| 
      
 15 
     | 
    
         
            +
            //# sourceMappingURL=use-boolean.js.map
         
     | 
| 
         @@ -0,0 +1 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            {"version":3,"file":"use-boolean.js","sourceRoot":"","sources":["../../../../src/utils/useBoolean/use-boolean.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAchC;;;;GAIG;AACH,MAAM,UAAU,GAAmB,CAAC,YAAY,GAAG,KAAK,EAAE,EAAE;IAC1D,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAA;IAErD,MAAM,SAAS,GAAc,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;IACnD,MAAM,QAAQ,GAAa,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IAClD,MAAM,MAAM,GAAW,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAA;IAExD,OAAO,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;AAChD,CAAC,CAAA;AAED,eAAe,UAAU,CAAA"}
         
     | 
| 
         @@ -0,0 +1 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/useInterval/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA"}
         
     | 
| 
         @@ -0,0 +1 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/useInterval/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA"}
         
     | 
| 
         @@ -0,0 +1 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            {"version":3,"file":"use-interval.d.ts","sourceRoot":"","sources":["../../../../src/utils/useInterval/use-interval.ts"],"names":[],"mappings":"AAEA,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAID,QAAA,MAAM,WAAW,mCAId,kBAAkB,SA6BpB,CAAA;AAED,eAAe,WAAW,CAAA"}
         
     | 
| 
         @@ -0,0 +1,29 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            import { useCallback, useEffect, useRef } from 'react';
         
     | 
| 
      
 2 
     | 
    
         
            +
            /* eslint-disable @typescript-eslint/no-non-null-assertion */
         
     | 
| 
      
 3 
     | 
    
         
            +
            const useInterval = ({ callback, delay, isPaused = false, }) => {
         
     | 
| 
      
 4 
     | 
    
         
            +
                const intervalId = useRef();
         
     | 
| 
      
 5 
     | 
    
         
            +
                const pauseInterval = useCallback(() => {
         
     | 
| 
      
 6 
     | 
    
         
            +
                    if (intervalId.current) {
         
     | 
| 
      
 7 
     | 
    
         
            +
                        clearInterval(intervalId.current);
         
     | 
| 
      
 8 
     | 
    
         
            +
                        intervalId.current = undefined;
         
     | 
| 
      
 9 
     | 
    
         
            +
                    }
         
     | 
| 
      
 10 
     | 
    
         
            +
                }, []);
         
     | 
| 
      
 11 
     | 
    
         
            +
                const resumeInterval = useCallback(() => {
         
     | 
| 
      
 12 
     | 
    
         
            +
                    if (!intervalId.current) {
         
     | 
| 
      
 13 
     | 
    
         
            +
                        intervalId.current = setInterval(callback, delay);
         
     | 
| 
      
 14 
     | 
    
         
            +
                    }
         
     | 
| 
      
 15 
     | 
    
         
            +
                }, [callback, delay]);
         
     | 
| 
      
 16 
     | 
    
         
            +
                useEffect(() => {
         
     | 
| 
      
 17 
     | 
    
         
            +
                    if (isPaused) {
         
     | 
| 
      
 18 
     | 
    
         
            +
                        pauseInterval();
         
     | 
| 
      
 19 
     | 
    
         
            +
                    }
         
     | 
| 
      
 20 
     | 
    
         
            +
                    if (!isPaused) {
         
     | 
| 
      
 21 
     | 
    
         
            +
                        resumeInterval();
         
     | 
| 
      
 22 
     | 
    
         
            +
                    }
         
     | 
| 
      
 23 
     | 
    
         
            +
                    return () => {
         
     | 
| 
      
 24 
     | 
    
         
            +
                        pauseInterval();
         
     | 
| 
      
 25 
     | 
    
         
            +
                    };
         
     | 
| 
      
 26 
     | 
    
         
            +
                }, [isPaused, pauseInterval, resumeInterval]);
         
     | 
| 
      
 27 
     | 
    
         
            +
            };
         
     | 
| 
      
 28 
     | 
    
         
            +
            export default useInterval;
         
     | 
| 
      
 29 
     | 
    
         
            +
            //# sourceMappingURL=use-interval.js.map
         
     | 
| 
         @@ -0,0 +1 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            {"version":3,"file":"use-interval.js","sourceRoot":"","sources":["../../../../src/utils/useInterval/use-interval.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAQtD,6DAA6D;AAE7D,MAAM,WAAW,GAAG,CAAC,EACnB,QAAQ,EACR,KAAK,EACL,QAAQ,GAAG,KAAK,GACG,EAAE,EAAE;IACvB,MAAM,UAAU,GAAG,MAAM,EAAkB,CAAA;IAE3C,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE;QACrC,IAAI,UAAU,CAAC,OAAO,EAAE;YACtB,aAAa,CAAC,UAAU,CAAC,OAAQ,CAAC,CAAA;YAClC,UAAU,CAAC,OAAO,GAAG,SAAS,CAAA;SAC/B;IACH,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;QACtC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;YACvB,UAAU,CAAC,OAAO,GAAG,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;SAClD;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAA;IAErB,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,QAAQ,EAAE;YACZ,aAAa,EAAE,CAAA;SAChB;QAED,IAAI,CAAC,QAAQ,EAAE;YACb,cAAc,EAAE,CAAA;SACjB;QAED,OAAO,GAAG,EAAE;YACV,aAAa,EAAE,CAAA;QACjB,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC,CAAA;AAC/C,CAAC,CAAA;AAED,eAAe,WAAW,CAAA"}
         
     | 
| 
         @@ -0,0 +1 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/useMouseEnter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA"}
         
     | 
| 
         @@ -0,0 +1 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/useMouseEnter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA"}
         
     | 
| 
         @@ -0,0 +1 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            {"version":3,"file":"use-mouse-enter.d.ts","sourceRoot":"","sources":["../../../../src/utils/useMouseEnter/use-mouse-enter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGtC,QAAA,MAAM,aAAa,gDAA+C,OAwBjE,CAAA;AAED,eAAe,aAAa,CAAA"}
         
     | 
| 
         @@ -0,0 +1,23 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            import { useEffect, useState } from 'react';
         
     | 
| 
      
 2 
     | 
    
         
            +
            const useMouseEnter = (ref) => {
         
     | 
| 
      
 3 
     | 
    
         
            +
                const [isMouseOver, setIsMouseOver] = useState(false);
         
     | 
| 
      
 4 
     | 
    
         
            +
                useEffect(() => {
         
     | 
| 
      
 5 
     | 
    
         
            +
                    const handleMouseHover = (event) => {
         
     | 
| 
      
 6 
     | 
    
         
            +
                        setIsMouseOver(event.type === 'mouseenter');
         
     | 
| 
      
 7 
     | 
    
         
            +
                    };
         
     | 
| 
      
 8 
     | 
    
         
            +
                    const node = ref.current;
         
     | 
| 
      
 9 
     | 
    
         
            +
                    if (node) {
         
     | 
| 
      
 10 
     | 
    
         
            +
                        node.addEventListener('mouseenter', handleMouseHover);
         
     | 
| 
      
 11 
     | 
    
         
            +
                        node.addEventListener('mouseleave', handleMouseHover);
         
     | 
| 
      
 12 
     | 
    
         
            +
                    }
         
     | 
| 
      
 13 
     | 
    
         
            +
                    return () => {
         
     | 
| 
      
 14 
     | 
    
         
            +
                        if (node) {
         
     | 
| 
      
 15 
     | 
    
         
            +
                            node.removeEventListener('mouseenter', handleMouseHover);
         
     | 
| 
      
 16 
     | 
    
         
            +
                            node.removeEventListener('mouseleave', handleMouseHover);
         
     | 
| 
      
 17 
     | 
    
         
            +
                        }
         
     | 
| 
      
 18 
     | 
    
         
            +
                    };
         
     | 
| 
      
 19 
     | 
    
         
            +
                }, [ref]);
         
     | 
| 
      
 20 
     | 
    
         
            +
                return isMouseOver;
         
     | 
| 
      
 21 
     | 
    
         
            +
            };
         
     | 
| 
      
 22 
     | 
    
         
            +
            export default useMouseEnter;
         
     | 
| 
      
 23 
     | 
    
         
            +
            //# sourceMappingURL=use-mouse-enter.js.map
         
     | 
| 
         @@ -0,0 +1 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            {"version":3,"file":"use-mouse-enter.js","sourceRoot":"","sources":["../../../../src/utils/useMouseEnter/use-mouse-enter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE3C,MAAM,aAAa,GAAG,CAAwB,GAAiB,EAAW,EAAE;IAC1E,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAA;IAE9D,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,gBAAgB,GAAG,CAAC,KAAiB,EAAE,EAAE;YAC7C,cAAc,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,CAAA;QAC7C,CAAC,CAAA;QAED,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAA;QAExB,IAAI,IAAI,EAAE;YACR,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAA;YACrD,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAA;SACtD;QAED,OAAO,GAAG,EAAE;YACV,IAAI,IAAI,EAAE;gBACR,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAA;gBACxD,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAA;aACzD;QACH,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAA;IAET,OAAO,WAAW,CAAA;AACpB,CAAC,CAAA;AAED,eAAe,aAAa,CAAA"}
         
     | 
| 
         @@ -0,0 +1 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/useOnScreen/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA"}
         
     | 
| 
         @@ -0,0 +1 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/useOnScreen/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA"}
         
     | 
| 
         @@ -0,0 +1,10 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            /// <reference types="react" />
         
     | 
| 
      
 2 
     | 
    
         
            +
            interface UseOnScreenProps {
         
     | 
| 
      
 3 
     | 
    
         
            +
                ref: React.RefObject<HTMLElement>;
         
     | 
| 
      
 4 
     | 
    
         
            +
                root?: React.RefObject<HTMLElement>;
         
     | 
| 
      
 5 
     | 
    
         
            +
                rootMargin?: string;
         
     | 
| 
      
 6 
     | 
    
         
            +
                threshold?: number | number[];
         
     | 
| 
      
 7 
     | 
    
         
            +
            }
         
     | 
| 
      
 8 
     | 
    
         
            +
            declare const useOnScreen: ({ ref, root, rootMargin, threshold, }: UseOnScreenProps) => boolean;
         
     | 
| 
      
 9 
     | 
    
         
            +
            export default useOnScreen;
         
     | 
| 
      
 10 
     | 
    
         
            +
            //# sourceMappingURL=use-on-screen.d.ts.map
         
     | 
| 
         @@ -0,0 +1 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            {"version":3,"file":"use-on-screen.d.ts","sourceRoot":"","sources":["../../../../src/utils/useOnScreen/use-on-screen.ts"],"names":[],"mappings":";AAEA,UAAU,gBAAgB;IACxB,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;IACjC,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;IACnC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CAC9B;AAED,QAAA,MAAM,WAAW,0CAKd,gBAAgB,YAiClB,CAAA;AAED,eAAe,WAAW,CAAA"}
         
     | 
| 
         @@ -0,0 +1,24 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            import { useEffect, useState, useMemo } from 'react';
         
     | 
| 
      
 2 
     | 
    
         
            +
            const useOnScreen = ({ ref, root, rootMargin, threshold, }) => {
         
     | 
| 
      
 3 
     | 
    
         
            +
                const [isIntersecting, setIntersecting] = useState(false);
         
     | 
| 
      
 4 
     | 
    
         
            +
                const observer = useMemo(() => new IntersectionObserver(([entry]) => {
         
     | 
| 
      
 5 
     | 
    
         
            +
                    setIntersecting(entry.isIntersecting);
         
     | 
| 
      
 6 
     | 
    
         
            +
                }, {
         
     | 
| 
      
 7 
     | 
    
         
            +
                    root: root === null || root === void 0 ? void 0 : root.current,
         
     | 
| 
      
 8 
     | 
    
         
            +
                    rootMargin,
         
     | 
| 
      
 9 
     | 
    
         
            +
                    threshold,
         
     | 
| 
      
 10 
     | 
    
         
            +
                }), [root, rootMargin, threshold]);
         
     | 
| 
      
 11 
     | 
    
         
            +
                useEffect(() => {
         
     | 
| 
      
 12 
     | 
    
         
            +
                    const element = ref.current;
         
     | 
| 
      
 13 
     | 
    
         
            +
                    if (!element) {
         
     | 
| 
      
 14 
     | 
    
         
            +
                        return;
         
     | 
| 
      
 15 
     | 
    
         
            +
                    }
         
     | 
| 
      
 16 
     | 
    
         
            +
                    observer.observe(element);
         
     | 
| 
      
 17 
     | 
    
         
            +
                    return () => {
         
     | 
| 
      
 18 
     | 
    
         
            +
                        observer.unobserve(element);
         
     | 
| 
      
 19 
     | 
    
         
            +
                    };
         
     | 
| 
      
 20 
     | 
    
         
            +
                }, [observer, ref]);
         
     | 
| 
      
 21 
     | 
    
         
            +
                return isIntersecting;
         
     | 
| 
      
 22 
     | 
    
         
            +
            };
         
     | 
| 
      
 23 
     | 
    
         
            +
            export default useOnScreen;
         
     | 
| 
      
 24 
     | 
    
         
            +
            //# sourceMappingURL=use-on-screen.js.map
         
     | 
| 
         @@ -0,0 +1 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            {"version":3,"file":"use-on-screen.js","sourceRoot":"","sources":["../../../../src/utils/useOnScreen/use-on-screen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AASpD,MAAM,WAAW,GAAG,CAAC,EACnB,GAAG,EACH,IAAI,EACJ,UAAU,EACV,SAAS,GACQ,EAAE,EAAE;IACrB,MAAM,CAAC,cAAc,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAEzD,MAAM,QAAQ,GAAG,OAAO,CACtB,GAAG,EAAE,CACH,IAAI,oBAAoB,CACtB,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE;QACV,eAAe,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;IACvC,CAAC,EACD;QACE,IAAI,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO;QACnB,UAAU;QACV,SAAS;KACV,CACF,EACH,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,CAC9B,CAAA;IAED,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAA;QAE3B,IAAI,CAAC,OAAO,EAAE;YACZ,OAAM;SACP;QAED,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAEzB,OAAO,GAAG,EAAE;YACV,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;QAC7B,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAA;IAEnB,OAAO,cAAc,CAAA;AACvB,CAAC,CAAA;AAED,eAAe,WAAW,CAAA"}
         
     |