{"version":3,"file":"useWindowSize.mjs","sources":["../../../../src/composables/useWindowSize.ts"],"sourcesContent":["import { reactive, computed, watch } from 'vue'\n\nimport { useEvent } from './'\nimport { isClient } from '../utils/ssr'\n\ntype WindowSizes = Record<'width' | 'height', number | undefined>\n\nexport function useWindowSize () {\n  const windowSizes = reactive<WindowSizes>({\n    width: undefined,\n    height: undefined,\n  })\n\n  const setCurrentWindowSizes = () => {\n    windowSizes.width = window?.innerWidth\n    windowSizes.height = window?.innerHeight\n  }\n\n  const isMounted = computed(isClient)\n  watch(isMounted, (newValue) => {\n    if (!newValue) { return }\n    setCurrentWindowSizes()\n  }, { immediate: true })\n  useEvent('resize', setCurrentWindowSizes, true)\n\n  return { windowSizes }\n}\n"],"names":[],"mappings":";;;AAOO,SAAS,gBAAiB;AAC/B,QAAM,cAAc,SAAsB;AAAA,IACxC,OAAO;AAAA,IACP,QAAQ;AAAA,EAAA,CACT;AAED,QAAM,wBAAwB,MAAM;AAClC,gBAAY,QAAQ,iCAAQ;AAC5B,gBAAY,SAAS,iCAAQ;AAAA,EAAA;AAGzB,QAAA,YAAY,SAAS,QAAQ;AAC7B,QAAA,WAAW,CAAC,aAAa;AAC7B,QAAI,CAAC,UAAU;AAAE;AAAA,IAAO;AACF;EAAA,GACrB,EAAE,WAAW,KAAA,CAAM;AACb,WAAA,UAAU,uBAAuB,IAAI;AAE9C,SAAO,EAAE,YAAY;AACvB;"}