UNPKG

@modern-kit/react

Version:
1 lines 1.49 kB
{"version":3,"file":"index.mjs","sources":["../../../src/hooks/useVhProperty/index.ts"],"sourcesContent":["import { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect';\n\ninterface UseVhPropertyProps {\n name?: string;\n enabledResize?: boolean;\n}\n\nexport function useVhProperty({\n name = 'vh',\n enabledResize = false,\n}: UseVhPropertyProps = {}) {\n useIsomorphicLayoutEffect(() => {\n const handleResize = () => {\n const vh = window.innerHeight * 0.01;\n document.documentElement.style.setProperty(`--${name}`, `${vh}px`);\n };\n\n handleResize();\n\n if (enabledResize) {\n window.addEventListener('resize', handleResize);\n }\n\n return () => {\n if (enabledResize) {\n window.removeEventListener('resize', handleResize);\n }\n };\n }, [name, enabledResize]);\n}\n"],"names":[],"mappings":";;;;AAOO,SAAS,aAAA,CAAc;AAAA,EAC5B,IAAA,GAAO,IAAA;AAAA,EACP,aAAA,GAAgB;AAClB,CAAA,GAAwB,EAAC,EAAG;AAC1B,EAAA,yBAAA,CAA0B,MAAM;AAC9B,IAAA,MAAM,eAAe,MAAM;AACzB,MAAA,MAAM,EAAA,GAAK,OAAO,WAAA,GAAc,IAAA;AAChC,MAAA,QAAA,CAAS,eAAA,CAAgB,MAAM,WAAA,CAAY,CAAA,EAAA,EAAK,IAAI,CAAA,CAAA,EAAI,CAAA,EAAG,EAAE,CAAA,EAAA,CAAI,CAAA;AAAA,IACnE,CAAA;AAEA,IAAA,YAAA,EAAa;AAEb,IAAA,IAAI,aAAA,EAAe;AACjB,MAAA,MAAA,CAAO,gBAAA,CAAiB,UAAU,YAAY,CAAA;AAAA,IAChD;AAEA,IAAA,OAAO,MAAM;AACX,MAAA,IAAI,aAAA,EAAe;AACjB,QAAA,MAAA,CAAO,mBAAA,CAAoB,UAAU,YAAY,CAAA;AAAA,MACnD;AAAA,IACF,CAAA;AAAA,EACF,CAAA,EAAG,CAAC,IAAA,EAAM,aAAa,CAAC,CAAA;AAC1B;;;;"}