{"id":"cQ0m","dependencies":[{"name":"/home/runner/work/chakra-theme-visualizer/chakra-theme-visualizer/node_modules/@chakra-ui/hooks/dist/esm/use-focus-on-hide.js.map","includedInParent":true,"mtime":1616745789087},{"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/hooks/package.json","includedInParent":true,"mtime":1616745789087},{"name":"@chakra-ui/utils","loc":{"line":1,"column":62},"parent":"/home/runner/work/chakra-theme-visualizer/chakra-theme-visualizer/node_modules/@chakra-ui/hooks/dist/esm/use-focus-on-hide.js","resolved":"/home/runner/work/chakra-theme-visualizer/chakra-theme-visualizer/node_modules/@chakra-ui/utils/dist/esm/index.js"},{"name":"./use-update-effect","loc":{"line":2,"column":32},"parent":"/home/runner/work/chakra-theme-visualizer/chakra-theme-visualizer/node_modules/@chakra-ui/hooks/dist/esm/use-focus-on-hide.js","resolved":"/home/runner/work/chakra-theme-visualizer/chakra-theme-visualizer/node_modules/@chakra-ui/hooks/dist/esm/use-update-effect.js"}],"generated":{"js":"\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:!0}),exports.useFocusOnHide=t;var e=require(\"@chakra-ui/utils\"),r=require(\"./use-update-effect\");function u(r){var u=r.current;if(!u)return!1;var t=(0,e.getActiveElement)(u);return!!t&&(!(0,e.contains)(u,t)&&!!(0,e.isTabbable)(t))}function t(t,i){var{shouldFocus:c,visible:s,focusRef:n}=i,a=c&&!s;(0,r.useUpdateEffect)(()=>{if(a&&!u(t)){var r=(null==n?void 0:n.current)||t.current;r&&(0,e.focus)(r,{nextTick:!0})}},[a,t,n])}"},"sourceMaps":{"js":{"mappings":[{"source":"../../src/use-focus-on-hide.ts","name":null,"original":{"line":58,"column":1},"generated":{"line":1,"column":0}},{"source":"../../src/use-focus-on-hide.ts","name":null,"original":{"line":58,"column":1},"generated":{"line":1,"column":13}},{"source":"../../src/use-focus-on-hide.ts","name":null,"original":{"line":58,"column":1},"generated":{"line":1,"column":20}},{"source":"../../src/use-focus-on-hide.ts","name":null,"original":{"line":58,"column":1},"generated":{"line":1,"column":35}},{"source":"../../src/use-focus-on-hide.ts","name":null,"original":{"line":58,"column":1},"generated":{"line":1,"column":43}},{"source":"../../src/use-focus-on-hide.ts","name":null,"original":{"line":58,"column":1},"generated":{"line":1,"column":56}},{"source":"../../src/use-focus-on-hide.ts","name":null,"original":{"line":58,"column":1},"generated":{"line":1,"column":57}},{"source":"../../src/use-focus-on-hide.ts","name":null,"original":{"line":58,"column":1},"generated":{"line":1,"column":64}},{"source":"../../src/use-focus-on-hide.ts","name":null,"original":{"line":58,"column":1},"generated":{"line":1,"column":68}},{"source":"../../src/use-focus-on-hide.ts","name":null,"original":{"line":58,"column":1},"generated":{"line":1,"column":76}},{"source":"../../src/use-focus-on-hide.ts","name":null,"original":{"line":58,"column":1},"generated":{"line":1,"column":91}},{"source":"../../src/use-focus-on-hide.ts","name":null,"original":{"line":1,"column":0},"generated":{"line":1,"column":93}},{"source":"../../src/use-focus-on-hide.ts","name":null,"original":{"line":1,"column":0},"generated":{"line":1,"column":97}},{"source":"../../src/use-focus-on-hide.ts","name":null,"original":{"line":1,"column":0},"generated":{"line":1,"column":99}},{"source":"../../src/use-focus-on-hide.ts","name":null,"original":{"line":1,"column":0},"generated":{"line":1,"column":107}},{"source":"../../src/use-focus-on-hide.ts","name":null,"original":{"line":9,"column":0},"generated":{"line":1,"column":127}},{"source":"../../src/use-focus-on-hide.ts","name":null,"original":{"line":9,"column":0},"generated":{"line":1,"column":129}},{"source":"../../src/use-focus-on-hide.ts","name":null,"original":{"line":9,"column":0},"generated":{"line":1,"column":137}},{"source":"../../src/use-focus-on-hide.ts","name":null,"original":{"line":17,"column":0},"generated":{"line":1,"column":160}},{"source":"../../src/use-focus-on-hide.ts","name":"preventReturnFocus","original":{"line":17,"column":9},"generated":{"line":1,"column":169}},{"source":"../../src/use-focus-on-hide.ts","name":"containerRef","original":{"line":17,"column":28},"generated":{"line":1,"column":171}},{"source":"../../src/use-focus-on-hide.ts","name":"el","original":{"line":18,"column":8},"generated":{"line":1,"column":174}},{"source":"../../src/use-focus-on-hide.ts","name":"el","original":{"line":18,"column":8},"generated":{"line":1,"column":178}},{"source":"../../src/use-focus-on-hide.ts","name":"containerRef","original":{"line":18,"column":13},"generated":{"line":1,"column":180}},{"source":"../../src/use-focus-on-hide.ts","name":"current","original":{"line":18,"column":26},"generated":{"line":1,"column":182}},{"source":"../../src/use-focus-on-hide.ts","name":null,"original":{"line":19,"column":6},"generated":{"line":1,"column":190}},{"source":"../../src/use-focus-on-hide.ts","name":"el","original":{"line":19,"column":7},"generated":{"line":1,"column":194}},{"source":"../../src/use-focus-on-hide.ts","name":null,"original":{"line":19,"column":11},"generated":{"line":1,"column":196}},{"source":"../../src/use-focus-on-hide.ts","name":null,"original":{"line":19,"column":18},"generated":{"line":1,"column":203}},{"source":"../../src/use-focus-on-hide.ts","name":"activeElement","original":{"line":21,"column":8},"generated":{"line":1,"column":205}},{"source":"../../src/use-focus-on-hide.ts","name":"activeElement","original":{"line":21,"column":8},"generated":{"line":1,"column":209}},{"source":"../../src/use-focus-on-hide.ts","name":"getActiveElement","original":{"line":21,"column":24},"generated":{"line":1,"column":212}},{"source":"../../src/use-focus-on-hide.ts","name":"el","original":{"line":21,"column":41},"generated":{"line":1,"column":214}},{"source":"../../src/use-focus-on-hide.ts","name":"el","original":{"line":21,"column":41},"generated":{"line":1,"column":216}},{"source":"../../src/use-focus-on-hide.ts","name":"el","original":{"line":21,"column":41},"generated":{"line":1,"column":234}},{"source":"../../src/use-focus-on-hide.ts","name":null,"original":{"line":23,"column":6},"generated":{"line":1,"column":237}},{"source":"../../src/use-focus-on-hide.ts","name":"activeElement","original":{"line":23,"column":7},"generated":{"line":1,"column":245}},{"source":"../../src/use-focus-on-hide.ts","name":"contains","original":{"line":24,"column":6},"generated":{"line":1,"column":251}},{"source":"../../src/use-focus-on-hide.ts","name":"el","original":{"line":24,"column":15},"generated":{"line":1,"column":253}},{"source":"../../src/use-focus-on-hide.ts","name":"el","original":{"line":24,"column":15},"generated":{"line":1,"column":255}},{"source":"../../src/use-focus-on-hide.ts","name":"el","original":{"line":24,"column":15},"generated":{"line":1,"column":265}},{"source":"../../src/use-focus-on-hide.ts","name":"activeElement","original":{"line":24,"column":19},"generated":{"line":1,"column":267}},{"source":"../../src/use-focus-on-hide.ts","name":"isTabbable","original":{"line":25,"column":6},"generated":{"line":1,"column":274}},{"source":"../../src/use-focus-on-hide.ts","name":"activeElement","original":{"line":25,"column":17},"generated":{"line":1,"column":276}},{"source":"../../src/use-focus-on-hide.ts","name":"activeElement","original":{"line":25,"column":17},"generated":{"line":1,"column":278}},{"source":"../../src/use-focus-on-hide.ts","name":"activeElement","original":{"line":25,"column":17},"generated":{"line":1,"column":290}},{"source":"../../src/use-focus-on-hide.ts","name":null,"original":{"line":37,"column":7},"generated":{"line":1,"column":294}},{"source":"../../src/use-focus-on-hide.ts","name":"useFocusOnHide","original":{"line":37,"column":16},"generated":{"line":1,"column":303}},{"source":"../../src/use-focus-on-hide.ts","name":"containerRef","original":{"line":38,"column":2},"generated":{"line":1,"column":305}},{"source":"../../src/use-focus-on-hide.ts","name":"options","original":{"line":39,"column":2},"generated":{"line":1,"column":307}},{"source":"../../src/use-focus-on-hide.ts","name":null,"original":{"line":41,"column":8},"generated":{"line":1,"column":310}},{"source":"../../src/use-focus-on-hide.ts","name":"shouldFocus","original":{"line":41,"column":10},"generated":{"line":1,"column":314}},{"source":"../../src/use-focus-on-hide.ts","name":"shouldFocusProp","original":{"line":41,"column":23},"generated":{"line":1,"column":326}},{"source":"../../src/use-focus-on-hide.ts","name":null,"original":{"line":41,"column":8},"generated":{"line":1,"column":328}},{"source":"../../src/use-focus-on-hide.ts","name":"visible","original":{"line":41,"column":40},"generated":{"line":1,"column":336}},{"source":"../../src/use-focus-on-hide.ts","name":null,"original":{"line":41,"column":8},"generated":{"line":1,"column":338}},{"source":"../../src/use-focus-on-hide.ts","name":"focusRef","original":{"line":41,"column":49},"generated":{"line":1,"column":347}},{"source":"../../src/use-focus-on-hide.ts","name":"options","original":{"line":41,"column":62},"generated":{"line":1,"column":350}},{"source":"../../src/use-focus-on-hide.ts","name":"shouldFocus","original":{"line":43,"column":8},"generated":{"line":1,"column":352}},{"source":"../../src/use-focus-on-hide.ts","name":"shouldFocusProp","original":{"line":43,"column":22},"generated":{"line":1,"column":354}},{"source":"../../src/use-focus-on-hide.ts","name":"visible","original":{"line":43,"column":42},"generated":{"line":1,"column":358}},{"source":"../../src/use-focus-on-hide.ts","name":null,"original":{"line":45,"column":18},"generated":{"line":1,"column":361}},{"source":"../../src/use-focus-on-hide.ts","name":null,"original":{"line":45,"column":18},"generated":{"line":1,"column":363}},{"source":"../../src/use-focus-on-hide.ts","name":null,"original":{"line":45,"column":18},"generated":{"line":1,"column":365}},{"source":"../../src/use-focus-on-hide.ts","name":null,"original":{"line":45,"column":18},"generated":{"line":1,"column":382}},{"source":"../../src/use-focus-on-hide.ts","name":null,"original":{"line":46,"column":8},"generated":{"line":1,"column":387}},{"source":"../../src/use-focus-on-hide.ts","name":"shouldFocus","original":{"line":46,"column":9},"generated":{"line":1,"column":390}},{"source":"../../src/use-focus-on-hide.ts","name":"preventReturnFocus","original":{"line":48,"column":8},"generated":{"line":1,"column":394}},{"source":"../../src/use-focus-on-hide.ts","name":"containerRef","original":{"line":48,"column":27},"generated":{"line":1,"column":396}},{"source":"../../src/use-focus-on-hide.ts","name":"preventReturnFocus","original":{"line":48,"column":8},"generated":{"line":1,"column":399}},{"source":"../../src/use-focus-on-hide.ts","name":"el","original":{"line":52,"column":10},"generated":{"line":1,"column":400}},{"source":"../../src/use-focus-on-hide.ts","name":"el","original":{"line":52,"column":10},"generated":{"line":1,"column":404}},{"source":"../../src/use-focus-on-hide.ts","name":null,"original":{"line":52,"column":23},"generated":{"line":1,"column":407}},{"source":"../../src/use-focus-on-hide.ts","name":"focusRef","original":{"line":52,"column":15},"generated":{"line":1,"column":413}},{"source":"../../src/use-focus-on-hide.ts","name":null,"original":{"line":52,"column":15},"generated":{"line":1,"column":420}},{"source":"../../src/use-focus-on-hide.ts","name":"focusRef","original":{"line":52,"column":15},"generated":{"line":1,"column":422}},{"source":"../../src/use-focus-on-hide.ts","name":"current","original":{"line":52,"column":25},"generated":{"line":1,"column":424}},{"source":"../../src/use-focus-on-hide.ts","name":"containerRef","original":{"line":52,"column":36},"generated":{"line":1,"column":434}},{"source":"../../src/use-focus-on-hide.ts","name":"current","original":{"line":52,"column":49},"generated":{"line":1,"column":436}},{"source":"../../src/use-focus-on-hide.ts","name":"el","original":{"line":54,"column":8},"generated":{"line":1,"column":444}},{"source":"../../src/use-focus-on-hide.ts","name":"el","original":{"line":55,"column":12},"generated":{"line":1,"column":448}},{"source":"../../src/use-focus-on-hide.ts","name":"el","original":{"line":55,"column":12},"generated":{"line":1,"column":450}},{"source":"../../src/use-focus-on-hide.ts","name":"el","original":{"line":55,"column":12},"generated":{"line":1,"column":452}},{"source":"../../src/use-focus-on-hide.ts","name":"el","original":{"line":55,"column":12},"generated":{"line":1,"column":459}},{"source":"../../src/use-focus-on-hide.ts","name":null,"original":{"line":55,"column":16},"generated":{"line":1,"column":461}},{"source":"../../src/use-focus-on-hide.ts","name":"nextTick","original":{"line":55,"column":18},"generated":{"line":1,"column":462}},{"source":"../../src/use-focus-on-hide.ts","name":null,"original":{"line":55,"column":28},"generated":{"line":1,"column":472}},{"source":"../../src/use-focus-on-hide.ts","name":null,"original":{"line":57,"column":5},"generated":{"line":1,"column":478}},{"source":"../../src/use-focus-on-hide.ts","name":"shouldFocus","original":{"line":57,"column":6},"generated":{"line":1,"column":479}},{"source":"../../src/use-focus-on-hide.ts","name":"containerRef","original":{"line":57,"column":19},"generated":{"line":1,"column":481}},{"source":"../../src/use-focus-on-hide.ts","name":"focusRef","original":{"line":57,"column":33},"generated":{"line":1,"column":483}}],"sources":{"../../src/use-focus-on-hide.ts":"import {\n  contains,\n  focus,\n  FocusableElement,\n  getActiveElement,\n  isTabbable,\n} from \"@chakra-ui/utils\"\nimport { RefObject } from \"react\"\nimport { useUpdateEffect } from \"./use-update-effect\"\n\nexport interface UseFocusOnHideOptions {\n  focusRef: RefObject<FocusableElement>\n  shouldFocus?: boolean\n  visible?: boolean\n}\n\nfunction preventReturnFocus(containerRef: React.RefObject<HTMLElement>) {\n  const el = containerRef.current\n  if (!el) return false\n\n  const activeElement = getActiveElement(el)\n\n  if (!activeElement) return false\n  if (contains(el, activeElement)) return false\n  if (isTabbable(activeElement)) return true\n\n  return false\n}\n\n/**\n * Popover hook to manage the focus when the popover closes or hides.\n *\n * We either want to return focus back to the popover trigger or\n * let focus proceed normally if user moved to another interactive\n * element in the viewport.\n */\nexport function useFocusOnHide(\n  containerRef: RefObject<HTMLElement>,\n  options: UseFocusOnHideOptions,\n) {\n  const { shouldFocus: shouldFocusProp, visible, focusRef } = options\n\n  const shouldFocus = shouldFocusProp && !visible\n\n  useUpdateEffect(() => {\n    if (!shouldFocus) return\n\n    if (preventReturnFocus(containerRef)) {\n      return\n    }\n\n    const el = focusRef?.current || containerRef.current\n\n    if (el) {\n      focus(el, { nextTick: true })\n    }\n  }, [shouldFocus, containerRef, focusRef])\n}\n"},"lineCount":null}},"error":null,"hash":"5e009d6762310d718870deba698632b7","cacheData":{"env":{}}}