{"id":"DxIU","dependencies":[{"name":"/home/runner/work/chakra-theme-visualizer/chakra-theme-visualizer/node_modules/@chakra-ui/utils/dist/esm/focus.js.map","includedInParent":true,"mtime":1616745790414},{"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/utils/package.json","includedInParent":true,"mtime":1616745790414},{"name":"./dom","loc":{"line":5,"column":33},"parent":"/home/runner/work/chakra-theme-visualizer/chakra-theme-visualizer/node_modules/@chakra-ui/utils/dist/esm/focus.js","resolved":"/home/runner/work/chakra-theme-visualizer/chakra-theme-visualizer/node_modules/@chakra-ui/utils/dist/esm/dom.js"},{"name":"./function","loc":{"line":6,"column":21},"parent":"/home/runner/work/chakra-theme-visualizer/chakra-theme-visualizer/node_modules/@chakra-ui/utils/dist/esm/focus.js","resolved":"/home/runner/work/chakra-theme-visualizer/chakra-theme-visualizer/node_modules/@chakra-ui/utils/dist/esm/function.js"},{"name":"./tabbable","loc":{"line":7,"column":48},"parent":"/home/runner/work/chakra-theme-visualizer/chakra-theme-visualizer/node_modules/@chakra-ui/utils/dist/esm/focus.js","resolved":"/home/runner/work/chakra-theme-visualizer/chakra-theme-visualizer/node_modules/@chakra-ui/utils/dist/esm/tabbable.js"}],"generated":{"js":"\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:!0}),exports.focus=r;var e=require(\"./dom\"),t=require(\"./function\"),l=require(\"./tabbable\");function r(e,r){void 0===r&&(r={});var{isActive:n=l.isActiveElement,nextTick:i,preventScroll:u=!0,selectTextIfInput:f=!0}=r;if(!e||n(e))return-1;function a(){if(e){if(o())e.focus({preventScroll:u});else if(e.focus(),u)s(c(e));(0,l.isInputElement)(e)&&f&&e.select()}else(0,t.warn)(\"[chakra-ui]: can't call focus() on `null` or `undefined` element\")}return i?requestAnimationFrame(a):(a(),-1)}var n=null;function o(){if(null==n){n=!1;try{document.createElement(\"div\").focus({get preventScroll(){return n=!0,!0}})}catch(e){}}return n}function c(t){for(var l=(0,e.getOwnerDocument)(t),r=t.parentNode,n=[],o=l.scrollingElement||l.documentElement;r instanceof HTMLElement&&r!==o;)(r.offsetHeight<r.scrollHeight||r.offsetWidth<r.scrollWidth)&&n.push({element:r,scrollTop:r.scrollTop,scrollLeft:r.scrollLeft}),r=r.parentNode;return o instanceof HTMLElement&&n.push({element:o,scrollTop:o.scrollTop,scrollLeft:o.scrollLeft}),n}function s(e){for(var{element:t,scrollTop:l,scrollLeft:r}of e)t.scrollTop=l,t.scrollLeft=r}"},"sourceMaps":{"js":{"mappings":[{"source":"../../src/focus.ts","name":null,"original":{"line":128,"column":1},"generated":{"line":1,"column":0}},{"source":"../../src/focus.ts","name":null,"original":{"line":128,"column":1},"generated":{"line":1,"column":13}},{"source":"../../src/focus.ts","name":null,"original":{"line":128,"column":1},"generated":{"line":1,"column":20}},{"source":"../../src/focus.ts","name":null,"original":{"line":128,"column":1},"generated":{"line":1,"column":35}},{"source":"../../src/focus.ts","name":null,"original":{"line":128,"column":1},"generated":{"line":1,"column":43}},{"source":"../../src/focus.ts","name":null,"original":{"line":128,"column":1},"generated":{"line":1,"column":56}},{"source":"../../src/focus.ts","name":null,"original":{"line":128,"column":1},"generated":{"line":1,"column":57}},{"source":"../../src/focus.ts","name":null,"original":{"line":128,"column":1},"generated":{"line":1,"column":64}},{"source":"../../src/focus.ts","name":null,"original":{"line":128,"column":1},"generated":{"line":1,"column":68}},{"source":"../../src/focus.ts","name":null,"original":{"line":128,"column":1},"generated":{"line":1,"column":76}},{"source":"../../src/focus.ts","name":null,"original":{"line":128,"column":1},"generated":{"line":1,"column":82}},{"source":"../../src/focus.ts","name":null,"original":{"line":6,"column":0},"generated":{"line":1,"column":84}},{"source":"../../src/focus.ts","name":null,"original":{"line":6,"column":0},"generated":{"line":1,"column":88}},{"source":"../../src/focus.ts","name":null,"original":{"line":6,"column":0},"generated":{"line":1,"column":90}},{"source":"../../src/focus.ts","name":null,"original":{"line":6,"column":0},"generated":{"line":1,"column":98}},{"source":"../../src/focus.ts","name":null,"original":{"line":7,"column":0},"generated":{"line":1,"column":107}},{"source":"../../src/focus.ts","name":null,"original":{"line":7,"column":0},"generated":{"line":1,"column":109}},{"source":"../../src/focus.ts","name":null,"original":{"line":7,"column":0},"generated":{"line":1,"column":117}},{"source":"../../src/focus.ts","name":null,"original":{"line":8,"column":0},"generated":{"line":1,"column":131}},{"source":"../../src/focus.ts","name":null,"original":{"line":8,"column":0},"generated":{"line":1,"column":133}},{"source":"../../src/focus.ts","name":null,"original":{"line":8,"column":0},"generated":{"line":1,"column":141}},{"source":"../../src/focus.ts","name":null,"original":{"line":25,"column":7},"generated":{"line":1,"column":155}},{"source":"../../src/focus.ts","name":"focus","original":{"line":25,"column":16},"generated":{"line":1,"column":164}},{"source":"../../src/focus.ts","name":"element","original":{"line":26,"column":2},"generated":{"line":1,"column":166}},{"source":"../../src/focus.ts","name":"options","original":{"line":27,"column":2},"generated":{"line":1,"column":168}},{"source":"../../src/focus.ts","name":null,"original":{"line":28,"column":2},"generated":{"line":1,"column":176}},{"source":"../../src/focus.ts","name":"options","original":{"line":27,"column":2},"generated":{"line":1,"column":180}},{"source":"../../src/focus.ts","name":"options","original":{"line":27,"column":2},"generated":{"line":1,"column":184}},{"source":"../../src/focus.ts","name":null,"original":{"line":27,"column":34},"generated":{"line":1,"column":186}},{"source":"../../src/focus.ts","name":null,"original":{"line":29,"column":8},"generated":{"line":1,"column":190}},{"source":"../../src/focus.ts","name":null,"original":{"line":29,"column":8},"generated":{"line":1,"column":194}},{"source":"../../src/focus.ts","name":"isActive","original":{"line":30,"column":4},"generated":{"line":1,"column":203}},{"source":"../../src/focus.ts","name":"isActiveElement","original":{"line":30,"column":15},"generated":{"line":1,"column":205}},{"source":"../../src/focus.ts","name":null,"original":{"line":29,"column":8},"generated":{"line":1,"column":207}},{"source":"../../src/focus.ts","name":null,"original":{"line":29,"column":8},"generated":{"line":1,"column":223}},{"source":"../../src/focus.ts","name":"nextTick","original":{"line":31,"column":4},"generated":{"line":1,"column":232}},{"source":"../../src/focus.ts","name":null,"original":{"line":29,"column":8},"generated":{"line":1,"column":234}},{"source":"../../src/focus.ts","name":"preventScroll","original":{"line":32,"column":4},"generated":{"line":1,"column":248}},{"source":"../../src/focus.ts","name":null,"original":{"line":32,"column":20},"generated":{"line":1,"column":251}},{"source":"../../src/focus.ts","name":null,"original":{"line":29,"column":8},"generated":{"line":1,"column":253}},{"source":"../../src/focus.ts","name":"selectTextIfInput","original":{"line":33,"column":4},"generated":{"line":1,"column":271}},{"source":"../../src/focus.ts","name":null,"original":{"line":33,"column":24},"generated":{"line":1,"column":274}},{"source":"../../src/focus.ts","name":"options","original":{"line":34,"column":6},"generated":{"line":1,"column":277}},{"source":"../../src/focus.ts","name":null,"original":{"line":36,"column":6},"generated":{"line":1,"column":279}},{"source":"../../src/focus.ts","name":"element","original":{"line":36,"column":7},"generated":{"line":1,"column":283}},{"source":"../../src/focus.ts","name":"isActive","original":{"line":36,"column":18},"generated":{"line":1,"column":286}},{"source":"../../src/focus.ts","name":"element","original":{"line":36,"column":27},"generated":{"line":1,"column":288}},{"source":"../../src/focus.ts","name":null,"original":{"line":36,"column":37},"generated":{"line":1,"column":291}},{"source":"../../src/focus.ts","name":null,"original":{"line":36,"column":45},"generated":{"line":1,"column":298}},{"source":"../../src/focus.ts","name":"triggerFocus","original":{"line":38,"column":11},"generated":{"line":1,"column":300}},{"source":"../../src/focus.ts","name":"triggerFocus","original":{"line":38,"column":11},"generated":{"line":1,"column":309}},{"source":"../../src/focus.ts","name":null,"original":{"line":39,"column":8},"generated":{"line":1,"column":313}},{"source":"../../src/focus.ts","name":"element","original":{"line":39,"column":9},"generated":{"line":1,"column":316}},{"source":"../../src/focus.ts","name":null,"original":{"line":39,"column":8},"generated":{"line":1,"column":318}},{"source":"../../src/focus.ts","name":"supportsPreventScroll","original":{"line":43,"column":8},"generated":{"line":1,"column":319}},{"source":"../../src/focus.ts","name":"supportsPreventScroll","original":{"line":43,"column":8},"generated":{"line":1,"column":322}},{"source":"../../src/focus.ts","name":"element","original":{"line":44,"column":6},"generated":{"line":1,"column":326}},{"source":"../../src/focus.ts","name":"focus","original":{"line":44,"column":14},"generated":{"line":1,"column":328}},{"source":"../../src/focus.ts","name":null,"original":{"line":44,"column":20},"generated":{"line":1,"column":334}},{"source":"../../src/focus.ts","name":"preventScroll","original":{"line":44,"column":22},"generated":{"line":1,"column":335}},{"source":"../../src/focus.ts","name":"preventScroll","original":{"line":44,"column":22},"generated":{"line":1,"column":349}},{"source":"../../src/focus.ts","name":"preventScroll","original":{"line":47,"column":10},"generated":{"line":1,"column":358}},{"source":"../../src/focus.ts","name":"element","original":{"line":46,"column":6},"generated":{"line":1,"column":361}},{"source":"../../src/focus.ts","name":"focus","original":{"line":46,"column":14},"generated":{"line":1,"column":363}},{"source":"../../src/focus.ts","name":"preventScroll","original":{"line":47,"column":10},"generated":{"line":1,"column":371}},{"source":"../../src/focus.ts","name":"restoreScrollPosition","original":{"line":49,"column":8},"generated":{"line":1,"column":373}},{"source":"../../src/focus.ts","name":"getScrollableElements","original":{"line":48,"column":35},"generated":{"line":1,"column":375}},{"source":"../../src/focus.ts","name":"element","original":{"line":48,"column":57},"generated":{"line":1,"column":377}},{"source":"../../src/focus.ts","name":"isInputElement","original":{"line":53,"column":8},"generated":{"line":1,"column":382}},{"source":"../../src/focus.ts","name":"element","original":{"line":53,"column":23},"generated":{"line":1,"column":384}},{"source":"../../src/focus.ts","name":"element","original":{"line":53,"column":23},"generated":{"line":1,"column":386}},{"source":"../../src/focus.ts","name":"element","original":{"line":53,"column":23},"generated":{"line":1,"column":402}},{"source":"../../src/focus.ts","name":"selectTextIfInput","original":{"line":53,"column":35},"generated":{"line":1,"column":406}},{"source":"../../src/focus.ts","name":"element","original":{"line":54,"column":6},"generated":{"line":1,"column":409}},{"source":"../../src/focus.ts","name":"select","original":{"line":54,"column":14},"generated":{"line":1,"column":411}},{"source":"../../src/focus.ts","name":null,"original":{"line":40,"column":11},"generated":{"line":1,"column":425}},{"source":"../../src/focus.ts","name":null,"original":{"line":40,"column":11},"generated":{"line":1,"column":427}},{"source":"../../src/focus.ts","name":null,"original":{"line":40,"column":11},"generated":{"line":1,"column":429}},{"source":"../../src/focus.ts","name":null,"original":{"line":40,"column":11},"generated":{"line":1,"column":435}},{"source":"../../src/focus.ts","name":"nextTick","original":{"line":58,"column":6},"generated":{"line":1,"column":503}},{"source":"../../src/focus.ts","name":"nextTick","original":{"line":58,"column":6},"generated":{"line":1,"column":510}},{"source":"../../src/focus.ts","name":"requestAnimationFrame","original":{"line":59,"column":11},"generated":{"line":1,"column":512}},{"source":"../../src/focus.ts","name":"triggerFocus","original":{"line":59,"column":33},"generated":{"line":1,"column":534}},{"source":"../../src/focus.ts","name":"triggerFocus","original":{"line":62,"column":2},"generated":{"line":1,"column":538}},{"source":"../../src/focus.ts","name":null,"original":{"line":63,"column":10},"generated":{"line":1,"column":543}},{"source":"../../src/focus.ts","name":null,"original":{"line":66,"column":0},"generated":{"line":1,"column":546}},{"source":"../../src/focus.ts","name":"supportsPreventScrollCached","original":{"line":66,"column":4},"generated":{"line":1,"column":550}},{"source":"../../src/focus.ts","name":null,"original":{"line":66,"column":50},"generated":{"line":1,"column":552}},{"source":"../../src/focus.ts","name":null,"original":{"line":67,"column":0},"generated":{"line":1,"column":557}},{"source":"../../src/focus.ts","name":"supportsPreventScroll","original":{"line":67,"column":9},"generated":{"line":1,"column":566}},{"source":"../../src/focus.ts","name":"supportsPreventScrollCached","original":{"line":68,"column":6},"generated":{"line":1,"column":570}},{"source":"../../src/focus.ts","name":null,"original":{"line":68,"column":37},"generated":{"line":1,"column":573}},{"source":"../../src/focus.ts","name":"supportsPreventScrollCached","original":{"line":68,"column":6},"generated":{"line":1,"column":579}},{"source":"../../src/focus.ts","name":null,"original":{"line":68,"column":43},"generated":{"line":1,"column":581}},{"source":"../../src/focus.ts","name":"supportsPreventScrollCached","original":{"line":69,"column":4},"generated":{"line":1,"column":582}},{"source":"../../src/focus.ts","name":null,"original":{"line":69,"column":34},"generated":{"line":1,"column":585}},{"source":"../../src/focus.ts","name":null,"original":{"line":70,"column":8},"generated":{"line":1,"column":587}},{"source":"../../src/focus.ts","name":"document","original":{"line":71,"column":18},"generated":{"line":1,"column":591}},{"source":"../../src/focus.ts","name":"createElement","original":{"line":71,"column":27},"generated":{"line":1,"column":600}},{"source":"../../src/focus.ts","name":null,"original":{"line":71,"column":41},"generated":{"line":1,"column":614}},{"source":"../../src/focus.ts","name":"focus","original":{"line":72,"column":10},"generated":{"line":1,"column":621}},{"source":"../../src/focus.ts","name":null,"original":{"line":72,"column":16},"generated":{"line":1,"column":627}},{"source":"../../src/focus.ts","name":"preventScroll","original":{"line":73,"column":12},"generated":{"line":1,"column":628}},{"source":"../../src/focus.ts","name":null,"original":{"line":75,"column":17},"generated":{"line":1,"column":648}},{"source":"../../src/focus.ts","name":"supportsPreventScrollCached","original":{"line":74,"column":10},"generated":{"line":1,"column":655}},{"source":"../../src/focus.ts","name":null,"original":{"line":74,"column":40},"generated":{"line":1,"column":658}},{"source":"../../src/focus.ts","name":null,"original":{"line":75,"column":17},"generated":{"line":1,"column":661}},{"source":"../../src/focus.ts","name":null,"original":{"line":78,"column":6},"generated":{"line":1,"column":666}},{"source":"../../src/focus.ts","name":"e","original":{"line":78,"column":13},"generated":{"line":1,"column":672}},{"source":"../../src/focus.ts","name":"supportsPreventScrollCached","original":{"line":83,"column":9},"generated":{"line":1,"column":677}},{"source":"../../src/focus.ts","name":"supportsPreventScrollCached","original":{"line":83,"column":9},"generated":{"line":1,"column":684}},{"source":"../../src/focus.ts","name":null,"original":{"line":92,"column":0},"generated":{"line":1,"column":686}},{"source":"../../src/focus.ts","name":"getScrollableElements","original":{"line":92,"column":9},"generated":{"line":1,"column":695}},{"source":"../../src/focus.ts","name":"element","original":{"line":92,"column":31},"generated":{"line":1,"column":697}},{"source":"../../src/focus.ts","name":"parent","original":{"line":98,"column":9},"generated":{"line":1,"column":700}},{"source":"../../src/focus.ts","name":"doc","original":{"line":93,"column":8},"generated":{"line":1,"column":704}},{"source":"../../src/focus.ts","name":"doc","original":{"line":93,"column":8},"generated":{"line":1,"column":708}},{"source":"../../src/focus.ts","name":"getOwnerDocument","original":{"line":93,"column":14},"generated":{"line":1,"column":711}},{"source":"../../src/focus.ts","name":"element","original":{"line":93,"column":31},"generated":{"line":1,"column":713}},{"source":"../../src/focus.ts","name":"element","original":{"line":93,"column":31},"generated":{"line":1,"column":715}},{"source":"../../src/focus.ts","name":"element","original":{"line":93,"column":31},"generated":{"line":1,"column":733}},{"source":"../../src/focus.ts","name":"parent","original":{"line":94,"column":6},"generated":{"line":1,"column":736}},{"source":"../../src/focus.ts","name":"element","original":{"line":94,"column":15},"generated":{"line":1,"column":738}},{"source":"../../src/focus.ts","name":"parentNode","original":{"line":94,"column":23},"generated":{"line":1,"column":740}},{"source":"../../src/focus.ts","name":"scrollableElements","original":{"line":95,"column":8},"generated":{"line":1,"column":751}},{"source":"../../src/focus.ts","name":null,"original":{"line":95,"column":50},"generated":{"line":1,"column":753}},{"source":"../../src/focus.ts","name":"rootScrollingElement","original":{"line":96,"column":8},"generated":{"line":1,"column":756}},{"source":"../../src/focus.ts","name":"doc","original":{"line":96,"column":31},"generated":{"line":1,"column":758}},{"source":"../../src/focus.ts","name":"scrollingElement","original":{"line":96,"column":35},"generated":{"line":1,"column":760}},{"source":"../../src/focus.ts","name":"doc","original":{"line":96,"column":55},"generated":{"line":1,"column":778}},{"source":"../../src/focus.ts","name":"documentElement","original":{"line":96,"column":59},"generated":{"line":1,"column":780}},{"source":"../../src/focus.ts","name":"parent","original":{"line":98,"column":9},"generated":{"line":1,"column":796}},{"source":"../../src/focus.ts","name":"HTMLElement","original":{"line":98,"column":27},"generated":{"line":1,"column":809}},{"source":"../../src/focus.ts","name":"parent","original":{"line":98,"column":42},"generated":{"line":1,"column":822}},{"source":"../../src/focus.ts","name":"rootScrollingElement","original":{"line":98,"column":53},"generated":{"line":1,"column":826}},{"source":"../../src/focus.ts","name":"parent","original":{"line":100,"column":6},"generated":{"line":1,"column":830}},{"source":"../../src/focus.ts","name":"offsetHeight","original":{"line":100,"column":13},"generated":{"line":1,"column":832}},{"source":"../../src/focus.ts","name":"parent","original":{"line":100,"column":28},"generated":{"line":1,"column":845}},{"source":"../../src/focus.ts","name":"scrollHeight","original":{"line":100,"column":35},"generated":{"line":1,"column":847}},{"source":"../../src/focus.ts","name":"parent","original":{"line":101,"column":6},"generated":{"line":1,"column":861}},{"source":"../../src/focus.ts","name":"offsetWidth","original":{"line":101,"column":13},"generated":{"line":1,"column":863}},{"source":"../../src/focus.ts","name":"parent","original":{"line":101,"column":27},"generated":{"line":1,"column":875}},{"source":"../../src/focus.ts","name":"scrollWidth","original":{"line":101,"column":34},"generated":{"line":1,"column":877}},{"source":"../../src/focus.ts","name":"scrollableElements","original":{"line":103,"column":6},"generated":{"line":1,"column":891}},{"source":"../../src/focus.ts","name":"push","original":{"line":103,"column":25},"generated":{"line":1,"column":893}},{"source":"../../src/focus.ts","name":null,"original":{"line":103,"column":30},"generated":{"line":1,"column":898}},{"source":"../../src/focus.ts","name":"element","original":{"line":104,"column":8},"generated":{"line":1,"column":899}},{"source":"../../src/focus.ts","name":"parent","original":{"line":104,"column":17},"generated":{"line":1,"column":907}},{"source":"../../src/focus.ts","name":"scrollTop","original":{"line":105,"column":8},"generated":{"line":1,"column":909}},{"source":"../../src/focus.ts","name":"parent","original":{"line":105,"column":19},"generated":{"line":1,"column":919}},{"source":"../../src/focus.ts","name":"scrollTop","original":{"line":105,"column":26},"generated":{"line":1,"column":921}},{"source":"../../src/focus.ts","name":"scrollLeft","original":{"line":106,"column":8},"generated":{"line":1,"column":931}},{"source":"../../src/focus.ts","name":"parent","original":{"line":106,"column":20},"generated":{"line":1,"column":942}},{"source":"../../src/focus.ts","name":"scrollLeft","original":{"line":106,"column":27},"generated":{"line":1,"column":944}},{"source":"../../src/focus.ts","name":"parent","original":{"line":109,"column":4},"generated":{"line":1,"column":957}},{"source":"../../src/focus.ts","name":"parent","original":{"line":109,"column":13},"generated":{"line":1,"column":959}},{"source":"../../src/focus.ts","name":"parentNode","original":{"line":109,"column":20},"generated":{"line":1,"column":961}},{"source":"../../src/focus.ts","name":"scrollableElements","original":{"line":120,"column":9},"generated":{"line":1,"column":972}},{"source":"../../src/focus.ts","name":"rootScrollingElement","original":{"line":112,"column":6},"generated":{"line":1,"column":979}},{"source":"../../src/focus.ts","name":"HTMLElement","original":{"line":112,"column":38},"generated":{"line":1,"column":992}},{"source":"../../src/focus.ts","name":"scrollableElements","original":{"line":113,"column":4},"generated":{"line":1,"column":1005}},{"source":"../../src/focus.ts","name":"push","original":{"line":113,"column":23},"generated":{"line":1,"column":1007}},{"source":"../../src/focus.ts","name":null,"original":{"line":113,"column":28},"generated":{"line":1,"column":1012}},{"source":"../../src/focus.ts","name":"element","original":{"line":114,"column":6},"generated":{"line":1,"column":1013}},{"source":"../../src/focus.ts","name":"rootScrollingElement","original":{"line":114,"column":15},"generated":{"line":1,"column":1021}},{"source":"../../src/focus.ts","name":"scrollTop","original":{"line":115,"column":6},"generated":{"line":1,"column":1023}},{"source":"../../src/focus.ts","name":"rootScrollingElement","original":{"line":115,"column":17},"generated":{"line":1,"column":1033}},{"source":"../../src/focus.ts","name":"scrollTop","original":{"line":115,"column":38},"generated":{"line":1,"column":1035}},{"source":"../../src/focus.ts","name":"scrollLeft","original":{"line":116,"column":6},"generated":{"line":1,"column":1045}},{"source":"../../src/focus.ts","name":"rootScrollingElement","original":{"line":116,"column":18},"generated":{"line":1,"column":1056}},{"source":"../../src/focus.ts","name":"scrollLeft","original":{"line":116,"column":39},"generated":{"line":1,"column":1058}},{"source":"../../src/focus.ts","name":"scrollableElements","original":{"line":120,"column":9},"generated":{"line":1,"column":1071}},{"source":"../../src/focus.ts","name":null,"original":{"line":123,"column":0},"generated":{"line":1,"column":1073}},{"source":"../../src/focus.ts","name":"restoreScrollPosition","original":{"line":123,"column":9},"generated":{"line":1,"column":1082}},{"source":"../../src/focus.ts","name":"scrollableElements","original":{"line":123,"column":31},"generated":{"line":1,"column":1084}},{"source":"../../src/focus.ts","name":null,"original":{"line":124,"column":7},"generated":{"line":1,"column":1087}},{"source":"../../src/focus.ts","name":null,"original":{"line":124,"column":7},"generated":{"line":1,"column":1091}},{"source":"../../src/focus.ts","name":null,"original":{"line":124,"column":13},"generated":{"line":1,"column":1095}},{"source":"../../src/focus.ts","name":"element","original":{"line":124,"column":15},"generated":{"line":1,"column":1103}},{"source":"../../src/focus.ts","name":null,"original":{"line":124,"column":13},"generated":{"line":1,"column":1105}},{"source":"../../src/focus.ts","name":"scrollTop","original":{"line":124,"column":24},"generated":{"line":1,"column":1115}},{"source":"../../src/focus.ts","name":null,"original":{"line":124,"column":13},"generated":{"line":1,"column":1117}},{"source":"../../src/focus.ts","name":"scrollLeft","original":{"line":124,"column":35},"generated":{"line":1,"column":1128}},{"source":"../../src/focus.ts","name":"scrollableElements","original":{"line":124,"column":51},"generated":{"line":1,"column":1133}},{"source":"../../src/focus.ts","name":"element","original":{"line":125,"column":4},"generated":{"line":1,"column":1135}},{"source":"../../src/focus.ts","name":"scrollTop","original":{"line":125,"column":12},"generated":{"line":1,"column":1137}},{"source":"../../src/focus.ts","name":"scrollTop","original":{"line":125,"column":24},"generated":{"line":1,"column":1147}},{"source":"../../src/focus.ts","name":"element","original":{"line":126,"column":4},"generated":{"line":1,"column":1149}},{"source":"../../src/focus.ts","name":"scrollLeft","original":{"line":126,"column":12},"generated":{"line":1,"column":1151}},{"source":"../../src/focus.ts","name":"scrollLeft","original":{"line":126,"column":25},"generated":{"line":1,"column":1162}}],"sources":{"../../src/focus.ts":"// Original licensing for the following methods can be found in the\n// NOTICE file in the root directory of this source tree.\n// See https://github.com/calvellido/focus-options-polyfill\n// See https://github.com/adobe/react-spectrum\n\nimport { getOwnerDocument } from \"./dom\"\nimport { warn } from \"./function\"\nimport { FocusableElement, isActiveElement, isInputElement } from \"./tabbable\"\n\nexport interface ExtendedFocusOptions extends FocusOptions {\n  /**\n   * Function that determines if the element is the active element\n   */\n  isActive?: typeof isActiveElement\n  /**\n   * If true, the element will be focused in the next tick\n   */\n  nextTick?: boolean\n  /**\n   * If true and element is an input element, the input's text will be selected\n   */\n  selectTextIfInput?: boolean\n}\n\nexport function focus(\n  element: FocusableElement | null,\n  options: ExtendedFocusOptions = {},\n) {\n  const {\n    isActive = isActiveElement,\n    nextTick,\n    preventScroll = true,\n    selectTextIfInput = true,\n  } = options\n\n  if (!element || isActive(element)) return -1\n\n  function triggerFocus() {\n    if (!element) {\n      warn(\"[chakra-ui]: can't call focus() on `null` or `undefined` element\")\n      return\n    }\n    if (supportsPreventScroll()) {\n      element.focus({ preventScroll })\n    } else {\n      element.focus()\n      if (preventScroll) {\n        const scrollableElements = getScrollableElements(element as HTMLElement)\n        restoreScrollPosition(scrollableElements)\n      }\n    }\n\n    if (isInputElement(element) && selectTextIfInput) {\n      element.select()\n    }\n  }\n\n  if (nextTick) {\n    return requestAnimationFrame(triggerFocus)\n  }\n\n  triggerFocus()\n  return -1\n}\n\nlet supportsPreventScrollCached: boolean | null = null\nfunction supportsPreventScroll() {\n  if (supportsPreventScrollCached == null) {\n    supportsPreventScrollCached = false\n    try {\n      const div = document.createElement(\"div\")\n      div.focus({\n        get preventScroll() {\n          supportsPreventScrollCached = true\n          return true\n        },\n      })\n    } catch (e) {\n      // Ignore\n    }\n  }\n\n  return supportsPreventScrollCached\n}\n\ninterface ScrollableElement {\n  element: HTMLElement\n  scrollTop: number\n  scrollLeft: number\n}\n\nfunction getScrollableElements(element: HTMLElement): ScrollableElement[] {\n  const doc = getOwnerDocument(element)\n  let parent = element.parentNode\n  const scrollableElements: ScrollableElement[] = []\n  const rootScrollingElement = doc.scrollingElement || doc.documentElement\n\n  while (parent instanceof HTMLElement && parent !== rootScrollingElement) {\n    if (\n      parent.offsetHeight < parent.scrollHeight ||\n      parent.offsetWidth < parent.scrollWidth\n    ) {\n      scrollableElements.push({\n        element: parent,\n        scrollTop: parent.scrollTop,\n        scrollLeft: parent.scrollLeft,\n      })\n    }\n    parent = parent.parentNode\n  }\n\n  if (rootScrollingElement instanceof HTMLElement) {\n    scrollableElements.push({\n      element: rootScrollingElement,\n      scrollTop: rootScrollingElement.scrollTop,\n      scrollLeft: rootScrollingElement.scrollLeft,\n    })\n  }\n\n  return scrollableElements\n}\n\nfunction restoreScrollPosition(scrollableElements: ScrollableElement[]) {\n  for (const { element, scrollTop, scrollLeft } of scrollableElements) {\n    element.scrollTop = scrollTop\n    element.scrollLeft = scrollLeft\n  }\n}\n"},"lineCount":null}},"error":null,"hash":"c2d4213c612716c706ac7c6c488bbf79","cacheData":{"env":{}}}