{"id":"KijG","dependencies":[{"name":"/home/runner/work/chakra-theme-visualizer/chakra-theme-visualizer/node_modules/@chakra-ui/number-input/dist/esm/use-spinner.js.map","includedInParent":true,"mtime":1616745789593},{"name":"/home/runner/work/chakra-theme-visualizer/chakra-theme-visualizer/example/package.json","includedInParent":true,"mtime":1616745785170},{"name":"/home/runner/work/chakra-theme-visualizer/chakra-theme-visualizer/node_modules/@chakra-ui/number-input/package.json","includedInParent":true,"mtime":1616745789593},{"name":"@chakra-ui/hooks","loc":{"line":1,"column":46},"parent":"/home/runner/work/chakra-theme-visualizer/chakra-theme-visualizer/node_modules/@chakra-ui/number-input/dist/esm/use-spinner.js","resolved":"/home/runner/work/chakra-theme-visualizer/chakra-theme-visualizer/node_modules/@chakra-ui/hooks/dist/esm/index.js"},{"name":"react","loc":{"line":2,"column":46},"parent":"/home/runner/work/chakra-theme-visualizer/chakra-theme-visualizer/node_modules/@chakra-ui/number-input/dist/esm/use-spinner.js","resolved":"/home/runner/work/chakra-theme-visualizer/chakra-theme-visualizer/node_modules/react/index.js"}],"generated":{"js":"\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:!0}),exports.useSpinner=n;var e=require(\"@chakra-ui/hooks\"),t=require(\"react\"),r=50,u=300;function n(n,s){var[a,c]=(0,t.useState)(!1),[l,o]=(0,t.useState)(null),[i,m]=(0,t.useState)(!0),p=(0,t.useRef)(null),d=()=>clearTimeout(p.current);(0,e.useInterval)(()=>{\"increment\"===l&&n(),\"decrement\"===l&&s()},a?r:null);var f=(0,t.useCallback)(()=>{i&&n(),p.current=setTimeout(()=>{m(!1),c(!0),o(\"increment\")},u)},[n,i]),k=(0,t.useCallback)(()=>{i&&s(),p.current=setTimeout(()=>{m(!1),c(!0),o(\"decrement\")},u)},[s,i]),v=(0,t.useCallback)(()=>{m(!0),c(!1),d()},[]);return(0,e.useUnmountEffect)(d),{up:f,down:k,stop:v}}"},"sourceMaps":{"js":{"mappings":[{"source":"../../src/use-spinner.ts","name":null,"original":{"line":101,"column":1},"generated":{"line":1,"column":0}},{"source":"../../src/use-spinner.ts","name":null,"original":{"line":101,"column":1},"generated":{"line":1,"column":13}},{"source":"../../src/use-spinner.ts","name":null,"original":{"line":101,"column":1},"generated":{"line":1,"column":20}},{"source":"../../src/use-spinner.ts","name":null,"original":{"line":101,"column":1},"generated":{"line":1,"column":35}},{"source":"../../src/use-spinner.ts","name":null,"original":{"line":101,"column":1},"generated":{"line":1,"column":43}},{"source":"../../src/use-spinner.ts","name":null,"original":{"line":101,"column":1},"generated":{"line":1,"column":56}},{"source":"../../src/use-spinner.ts","name":null,"original":{"line":101,"column":1},"generated":{"line":1,"column":57}},{"source":"../../src/use-spinner.ts","name":null,"original":{"line":101,"column":1},"generated":{"line":1,"column":64}},{"source":"../../src/use-spinner.ts","name":null,"original":{"line":101,"column":1},"generated":{"line":1,"column":68}},{"source":"../../src/use-spinner.ts","name":null,"original":{"line":101,"column":1},"generated":{"line":1,"column":76}},{"source":"../../src/use-spinner.ts","name":null,"original":{"line":101,"column":1},"generated":{"line":1,"column":87}},{"source":"../../src/use-spinner.ts","name":null,"original":{"line":1,"column":0},"generated":{"line":1,"column":89}},{"source":"../../src/use-spinner.ts","name":null,"original":{"line":1,"column":0},"generated":{"line":1,"column":93}},{"source":"../../src/use-spinner.ts","name":null,"original":{"line":1,"column":0},"generated":{"line":1,"column":95}},{"source":"../../src/use-spinner.ts","name":null,"original":{"line":1,"column":0},"generated":{"line":1,"column":103}},{"source":"../../src/use-spinner.ts","name":null,"original":{"line":2,"column":0},"generated":{"line":1,"column":123}},{"source":"../../src/use-spinner.ts","name":null,"original":{"line":2,"column":0},"generated":{"line":1,"column":125}},{"source":"../../src/use-spinner.ts","name":null,"original":{"line":2,"column":0},"generated":{"line":1,"column":133}},{"source":"../../src/use-spinner.ts","name":"CONTINUOUS_CHANGE_INTERVAL","original":{"line":7,"column":6},"generated":{"line":1,"column":142}},{"source":"../../src/use-spinner.ts","name":null,"original":{"line":7,"column":35},"generated":{"line":1,"column":144}},{"source":"../../src/use-spinner.ts","name":"CONTINUOUS_CHANGE_DELAY","original":{"line":12,"column":6},"generated":{"line":1,"column":147}},{"source":"../../src/use-spinner.ts","name":null,"original":{"line":12,"column":32},"generated":{"line":1,"column":149}},{"source":"../../src/use-spinner.ts","name":null,"original":{"line":23,"column":7},"generated":{"line":1,"column":153}},{"source":"../../src/use-spinner.ts","name":"useSpinner","original":{"line":23,"column":16},"generated":{"line":1,"column":162}},{"source":"../../src/use-spinner.ts","name":"increment","original":{"line":23,"column":27},"generated":{"line":1,"column":164}},{"source":"../../src/use-spinner.ts","name":"decrement","original":{"line":23,"column":48},"generated":{"line":1,"column":166}},{"source":"../../src/use-spinner.ts","name":null,"original":{"line":27,"column":8},"generated":{"line":1,"column":169}},{"source":"../../src/use-spinner.ts","name":"isSpinning","original":{"line":27,"column":9},"generated":{"line":1,"column":173}},{"source":"../../src/use-spinner.ts","name":"setIsSpinning","original":{"line":27,"column":21},"generated":{"line":1,"column":175}},{"source":"../../src/use-spinner.ts","name":"useState","original":{"line":27,"column":38},"generated":{"line":1,"column":179}},{"source":"../../src/use-spinner.ts","name":null,"original":{"line":27,"column":47},"generated":{"line":1,"column":181}},{"source":"../../src/use-spinner.ts","name":null,"original":{"line":27,"column":47},"generated":{"line":1,"column":183}},{"source":"../../src/use-spinner.ts","name":null,"original":{"line":27,"column":47},"generated":{"line":1,"column":194}},{"source":"../../src/use-spinner.ts","name":"action","original":{"line":30,"column":9},"generated":{"line":1,"column":198}},{"source":"../../src/use-spinner.ts","name":"setAction","original":{"line":30,"column":17},"generated":{"line":1,"column":200}},{"source":"../../src/use-spinner.ts","name":"useState","original":{"line":30,"column":30},"generated":{"line":1,"column":204}},{"source":"../../src/use-spinner.ts","name":null,"original":{"line":30,"column":54},"generated":{"line":1,"column":206}},{"source":"../../src/use-spinner.ts","name":null,"original":{"line":30,"column":54},"generated":{"line":1,"column":208}},{"source":"../../src/use-spinner.ts","name":null,"original":{"line":30,"column":54},"generated":{"line":1,"column":218}},{"source":"../../src/use-spinner.ts","name":"runOnce","original":{"line":33,"column":9},"generated":{"line":1,"column":225}},{"source":"../../src/use-spinner.ts","name":"setRunOnce","original":{"line":33,"column":18},"generated":{"line":1,"column":227}},{"source":"../../src/use-spinner.ts","name":"useState","original":{"line":33,"column":32},"generated":{"line":1,"column":231}},{"source":"../../src/use-spinner.ts","name":null,"original":{"line":33,"column":41},"generated":{"line":1,"column":233}},{"source":"../../src/use-spinner.ts","name":null,"original":{"line":33,"column":41},"generated":{"line":1,"column":235}},{"source":"../../src/use-spinner.ts","name":null,"original":{"line":33,"column":41},"generated":{"line":1,"column":246}},{"source":"../../src/use-spinner.ts","name":"timeoutRef","original":{"line":36,"column":8},"generated":{"line":1,"column":249}},{"source":"../../src/use-spinner.ts","name":"useRef","original":{"line":36,"column":21},"generated":{"line":1,"column":252}},{"source":"../../src/use-spinner.ts","name":null,"original":{"line":36,"column":33},"generated":{"line":1,"column":254}},{"source":"../../src/use-spinner.ts","name":null,"original":{"line":36,"column":33},"generated":{"line":1,"column":256}},{"source":"../../src/use-spinner.ts","name":null,"original":{"line":36,"column":33},"generated":{"line":1,"column":264}},{"source":"../../src/use-spinner.ts","name":"removeTimeout","original":{"line":39,"column":8},"generated":{"line":1,"column":270}},{"source":"../../src/use-spinner.ts","name":null,"original":{"line":39,"column":24},"generated":{"line":1,"column":272}},{"source":"../../src/use-spinner.ts","name":"clearTimeout","original":{"line":39,"column":30},"generated":{"line":1,"column":276}},{"source":"../../src/use-spinner.ts","name":"timeoutRef","original":{"line":39,"column":43},"generated":{"line":1,"column":289}},{"source":"../../src/use-spinner.ts","name":"current","original":{"line":39,"column":54},"generated":{"line":1,"column":291}},{"source":"../../src/use-spinner.ts","name":null,"original":{"line":46,"column":4},"generated":{"line":1,"column":301}},{"source":"../../src/use-spinner.ts","name":null,"original":{"line":46,"column":4},"generated":{"line":1,"column":303}},{"source":"../../src/use-spinner.ts","name":null,"original":{"line":46,"column":4},"generated":{"line":1,"column":305}},{"source":"../../src/use-spinner.ts","name":null,"original":{"line":46,"column":4},"generated":{"line":1,"column":318}},{"source":"../../src/use-spinner.ts","name":null,"original":{"line":47,"column":21},"generated":{"line":1,"column":323}},{"source":"../../src/use-spinner.ts","name":"action","original":{"line":47,"column":10},"generated":{"line":1,"column":337}},{"source":"../../src/use-spinner.ts","name":"increment","original":{"line":48,"column":8},"generated":{"line":1,"column":340}},{"source":"../../src/use-spinner.ts","name":null,"original":{"line":50,"column":21},"generated":{"line":1,"column":344}},{"source":"../../src/use-spinner.ts","name":"action","original":{"line":50,"column":10},"generated":{"line":1,"column":358}},{"source":"../../src/use-spinner.ts","name":"decrement","original":{"line":51,"column":8},"generated":{"line":1,"column":361}},{"source":"../../src/use-spinner.ts","name":"isSpinning","original":{"line":54,"column":4},"generated":{"line":1,"column":366}},{"source":"../../src/use-spinner.ts","name":"CONTINUOUS_CHANGE_INTERVAL","original":{"line":54,"column":17},"generated":{"line":1,"column":368}},{"source":"../../src/use-spinner.ts","name":null,"original":{"line":54,"column":46},"generated":{"line":1,"column":370}},{"source":"../../src/use-spinner.ts","name":"up","original":{"line":58,"column":8},"generated":{"line":1,"column":376}},{"source":"../../src/use-spinner.ts","name":"up","original":{"line":58,"column":8},"generated":{"line":1,"column":380}},{"source":"../../src/use-spinner.ts","name":"useCallback","original":{"line":58,"column":13},"generated":{"line":1,"column":383}},{"source":"../../src/use-spinner.ts","name":null,"original":{"line":58,"column":25},"generated":{"line":1,"column":385}},{"source":"../../src/use-spinner.ts","name":null,"original":{"line":58,"column":25},"generated":{"line":1,"column":387}},{"source":"../../src/use-spinner.ts","name":null,"original":{"line":58,"column":25},"generated":{"line":1,"column":400}},{"source":"../../src/use-spinner.ts","name":"runOnce","original":{"line":60,"column":8},"generated":{"line":1,"column":405}},{"source":"../../src/use-spinner.ts","name":"increment","original":{"line":61,"column":6},"generated":{"line":1,"column":408}},{"source":"../../src/use-spinner.ts","name":"timeoutRef","original":{"line":65,"column":4},"generated":{"line":1,"column":412}},{"source":"../../src/use-spinner.ts","name":"current","original":{"line":65,"column":15},"generated":{"line":1,"column":414}},{"source":"../../src/use-spinner.ts","name":"setTimeout","original":{"line":65,"column":25},"generated":{"line":1,"column":422}},{"source":"../../src/use-spinner.ts","name":null,"original":{"line":65,"column":36},"generated":{"line":1,"column":433}},{"source":"../../src/use-spinner.ts","name":"setRunOnce","original":{"line":66,"column":6},"generated":{"line":1,"column":438}},{"source":"../../src/use-spinner.ts","name":null,"original":{"line":66,"column":17},"generated":{"line":1,"column":441}},{"source":"../../src/use-spinner.ts","name":"setIsSpinning","original":{"line":67,"column":6},"generated":{"line":1,"column":444}},{"source":"../../src/use-spinner.ts","name":null,"original":{"line":67,"column":20},"generated":{"line":1,"column":447}},{"source":"../../src/use-spinner.ts","name":"setAction","original":{"line":68,"column":6},"generated":{"line":1,"column":450}},{"source":"../../src/use-spinner.ts","name":null,"original":{"line":68,"column":16},"generated":{"line":1,"column":452}},{"source":"../../src/use-spinner.ts","name":"CONTINUOUS_CHANGE_DELAY","original":{"line":69,"column":7},"generated":{"line":1,"column":466}},{"source":"../../src/use-spinner.ts","name":null,"original":{"line":70,"column":5},"generated":{"line":1,"column":470}},{"source":"../../src/use-spinner.ts","name":"increment","original":{"line":70,"column":6},"generated":{"line":1,"column":471}},{"source":"../../src/use-spinner.ts","name":"runOnce","original":{"line":70,"column":17},"generated":{"line":1,"column":473}},{"source":"../../src/use-spinner.ts","name":"down","original":{"line":73,"column":8},"generated":{"line":1,"column":477}},{"source":"../../src/use-spinner.ts","name":"useCallback","original":{"line":73,"column":15},"generated":{"line":1,"column":480}},{"source":"../../src/use-spinner.ts","name":null,"original":{"line":73,"column":27},"generated":{"line":1,"column":482}},{"source":"../../src/use-spinner.ts","name":null,"original":{"line":73,"column":27},"generated":{"line":1,"column":484}},{"source":"../../src/use-spinner.ts","name":null,"original":{"line":73,"column":27},"generated":{"line":1,"column":497}},{"source":"../../src/use-spinner.ts","name":"runOnce","original":{"line":75,"column":8},"generated":{"line":1,"column":502}},{"source":"../../src/use-spinner.ts","name":"decrement","original":{"line":76,"column":6},"generated":{"line":1,"column":505}},{"source":"../../src/use-spinner.ts","name":"timeoutRef","original":{"line":80,"column":4},"generated":{"line":1,"column":509}},{"source":"../../src/use-spinner.ts","name":"current","original":{"line":80,"column":15},"generated":{"line":1,"column":511}},{"source":"../../src/use-spinner.ts","name":"setTimeout","original":{"line":80,"column":25},"generated":{"line":1,"column":519}},{"source":"../../src/use-spinner.ts","name":null,"original":{"line":80,"column":36},"generated":{"line":1,"column":530}},{"source":"../../src/use-spinner.ts","name":"setRunOnce","original":{"line":81,"column":6},"generated":{"line":1,"column":535}},{"source":"../../src/use-spinner.ts","name":null,"original":{"line":81,"column":17},"generated":{"line":1,"column":538}},{"source":"../../src/use-spinner.ts","name":"setIsSpinning","original":{"line":82,"column":6},"generated":{"line":1,"column":541}},{"source":"../../src/use-spinner.ts","name":null,"original":{"line":82,"column":20},"generated":{"line":1,"column":544}},{"source":"../../src/use-spinner.ts","name":"setAction","original":{"line":83,"column":6},"generated":{"line":1,"column":547}},{"source":"../../src/use-spinner.ts","name":null,"original":{"line":83,"column":16},"generated":{"line":1,"column":549}},{"source":"../../src/use-spinner.ts","name":"CONTINUOUS_CHANGE_DELAY","original":{"line":84,"column":7},"generated":{"line":1,"column":563}},{"source":"../../src/use-spinner.ts","name":null,"original":{"line":85,"column":5},"generated":{"line":1,"column":567}},{"source":"../../src/use-spinner.ts","name":"decrement","original":{"line":85,"column":6},"generated":{"line":1,"column":568}},{"source":"../../src/use-spinner.ts","name":"runOnce","original":{"line":85,"column":17},"generated":{"line":1,"column":570}},{"source":"../../src/use-spinner.ts","name":"stop","original":{"line":88,"column":8},"generated":{"line":1,"column":574}},{"source":"../../src/use-spinner.ts","name":"useCallback","original":{"line":88,"column":15},"generated":{"line":1,"column":577}},{"source":"../../src/use-spinner.ts","name":null,"original":{"line":88,"column":27},"generated":{"line":1,"column":579}},{"source":"../../src/use-spinner.ts","name":null,"original":{"line":88,"column":27},"generated":{"line":1,"column":581}},{"source":"../../src/use-spinner.ts","name":null,"original":{"line":88,"column":27},"generated":{"line":1,"column":594}},{"source":"../../src/use-spinner.ts","name":"setRunOnce","original":{"line":89,"column":4},"generated":{"line":1,"column":599}},{"source":"../../src/use-spinner.ts","name":null,"original":{"line":89,"column":15},"generated":{"line":1,"column":602}},{"source":"../../src/use-spinner.ts","name":"setIsSpinning","original":{"line":90,"column":4},"generated":{"line":1,"column":605}},{"source":"../../src/use-spinner.ts","name":null,"original":{"line":90,"column":18},"generated":{"line":1,"column":608}},{"source":"../../src/use-spinner.ts","name":"removeTimeout","original":{"line":91,"column":4},"generated":{"line":1,"column":611}},{"source":"../../src/use-spinner.ts","name":null,"original":{"line":92,"column":5},"generated":{"line":1,"column":616}},{"source":"../../src/use-spinner.ts","name":null,"original":{"line":100,"column":9},"generated":{"line":1,"column":620}},{"source":"../../src/use-spinner.ts","name":"removeTimeout","original":{"line":98,"column":19},"generated":{"line":1,"column":627}},{"source":"../../src/use-spinner.ts","name":"removeTimeout","original":{"line":98,"column":19},"generated":{"line":1,"column":629}},{"source":"../../src/use-spinner.ts","name":"removeTimeout","original":{"line":98,"column":19},"generated":{"line":1,"column":631}},{"source":"../../src/use-spinner.ts","name":"removeTimeout","original":{"line":98,"column":19},"generated":{"line":1,"column":649}},{"source":"../../src/use-spinner.ts","name":null,"original":{"line":100,"column":9},"generated":{"line":1,"column":652}},{"source":"../../src/use-spinner.ts","name":"up","original":{"line":100,"column":11},"generated":{"line":1,"column":653}},{"source":"../../src/use-spinner.ts","name":"up","original":{"line":100,"column":11},"generated":{"line":1,"column":656}},{"source":"../../src/use-spinner.ts","name":"down","original":{"line":100,"column":15},"generated":{"line":1,"column":658}},{"source":"../../src/use-spinner.ts","name":"down","original":{"line":100,"column":15},"generated":{"line":1,"column":663}},{"source":"../../src/use-spinner.ts","name":"stop","original":{"line":100,"column":21},"generated":{"line":1,"column":665}},{"source":"../../src/use-spinner.ts","name":"stop","original":{"line":100,"column":21},"generated":{"line":1,"column":670}}],"sources":{"../../src/use-spinner.ts":"import { useInterval, useUnmountEffect } from \"@chakra-ui/hooks\"\nimport { useCallback, useRef, useState } from \"react\"\n\n/**\n * When click and hold on a button - the speed of auto changing the value.\n */\nconst CONTINUOUS_CHANGE_INTERVAL = 50\n\n/**\n * When click and hold on a button - the delay before auto changing the value.\n */\nconst CONTINUOUS_CHANGE_DELAY = 300\n\ntype Action = \"increment\" | \"decrement\"\n\n/**\n * React hook used in the number input to spin its\n * value on long press of the spin buttons\n *\n * @param increment the function to increment\n * @param decrement the function to decrement\n */\nexport function useSpinner(increment: Function, decrement: Function) {\n  /**\n   * To keep incrementing/decrementing on press, we call that `spinning`\n   */\n  const [isSpinning, setIsSpinning] = useState(false)\n\n  // This state keeps track of the action (\"increment\" or \"decrement\")\n  const [action, setAction] = useState<Action | null>(null)\n\n  // To increment the value the first time you mousedown, we call that `runOnce`\n  const [runOnce, setRunOnce] = useState(true)\n\n  // Store the timeout instance id in a ref, so we can clear the timeout later\n  const timeoutRef = useRef<any>(null)\n\n  // Clears the timeout from memory\n  const removeTimeout = () => clearTimeout(timeoutRef.current)\n\n  /**\n   * useInterval hook provides a performant way to\n   * update the state value at specific interval\n   */\n  useInterval(\n    () => {\n      if (action === \"increment\") {\n        increment()\n      }\n      if (action === \"decrement\") {\n        decrement()\n      }\n    },\n    isSpinning ? CONTINUOUS_CHANGE_INTERVAL : null,\n  )\n\n  // Function to activate the spinning and increment the value\n  const up = useCallback(() => {\n    // increment the first fime\n    if (runOnce) {\n      increment()\n    }\n\n    // after a delay, keep incrementing at interval (\"spinning up\")\n    timeoutRef.current = setTimeout(() => {\n      setRunOnce(false)\n      setIsSpinning(true)\n      setAction(\"increment\")\n    }, CONTINUOUS_CHANGE_DELAY)\n  }, [increment, runOnce])\n\n  // Function to activate the spinning and increment the value\n  const down = useCallback(() => {\n    // decrement the first fime\n    if (runOnce) {\n      decrement()\n    }\n\n    // after a delay, keep decrementing at interval (\"spinning down\")\n    timeoutRef.current = setTimeout(() => {\n      setRunOnce(false)\n      setIsSpinning(true)\n      setAction(\"decrement\")\n    }, CONTINUOUS_CHANGE_DELAY)\n  }, [decrement, runOnce])\n\n  // Function to stop spinng (useful for mouseup, keyup handlers)\n  const stop = useCallback(() => {\n    setRunOnce(true)\n    setIsSpinning(false)\n    removeTimeout()\n  }, [])\n\n  /**\n   * If the component unmounts while spinning,\n   * let's clear the timeout as well\n   */\n  useUnmountEffect(removeTimeout)\n\n  return { up, down, stop }\n}\n"},"lineCount":null}},"error":null,"hash":"8a269b4e614d369907fb0165579b9e0f","cacheData":{"env":{}}}