{"version":3,"file":"Dj7jJKcg.js","sources":["../../../../src/components/components/infoPopup/useInfoPopup.ts","../../../../src/components/formFields/components/formInfoPopup.vue"],"sourcesContent":["import { SSR_safe_mq_isTouch } from '~/injectionSymbols';\n\nexport function useInfoPopup(minRightWidth: number, infoOnClick: boolean) {\n const container = ref(null);\n const open = ref(false);\n const position = ref<'right' | 'bottom'>('right');\n const containerWidth = ref(minRightWidth);\n const isInDialog = useIsInDialog(container);\n const isTouch = inject(SSR_safe_mq_isTouch);\n\n function openPopup(force = false) {\n if (infoOnClick && !force) return;\n calculatePostion();\n open.value = true;\n }\n\n function closePopup(force = false) {\n if (infoOnClick && !force) return;\n calculatePostion();\n open.value = false;\n }\n\n function togglePopup() {\n if (!infoOnClick) return;\n if (!open.value) {\n openPopup(true);\n setTimeout(() => {\n document.body.addEventListener('click', bodyClick);\n }, 100);\n } else {\n bodyClick();\n }\n }\n\n function bodyClick() {\n closePopup(true);\n document.body.removeEventListener('click', bodyClick);\n }\n\n onMounted(() => {\n useResizeObserver(window.document.body, () => {\n calculatePostion();\n });\n });\n\n function calculatePostion() {\n if (!container.value) return;\n\n const { left, width } =\n container.value.parentElement.getBoundingClientRect();\n const { innerWidth } = window;\n\n if (isInDialog.value || innerWidth < left + width + minRightWidth) {\n position.value = 'bottom';\n } else {\n position.value = 'right';\n containerWidth.value = Math.min(450, innerWidth - left - width - 40);\n }\n }\n\n return {\n container,\n open,\n position,\n containerWidth,\n isTouch,\n infoOnClick,\n openPopup,\n closePopup,\n togglePopup,\n };\n}\n","\n\n\n"],"names":["useInfoPopup","minRightWidth","infoOnClick","container","ref","open","position","containerWidth","isInDialog","useIsInDialog","isTouch","inject","SSR_safe_mq_isTouch","openPopup","force","calculatePostion","closePopup","togglePopup","bodyClick","onMounted","useResizeObserver","left","width","innerWidth","props","__props"],"mappings":"+OAEgB,SAAAA,EAAaC,EAAuBC,EAAsB,CAClE,MAAAC,EAAYC,EAAwB,IAAI,EACxCC,EAAOD,EAAI,EAAK,EAChBE,EAAWF,EAAwB,OAAO,EAC1CG,EAAiBH,EAAIH,CAAa,EAClCO,EAAaC,EAAcN,CAAS,EACpCO,EAAUC,EAAOC,CAAmB,EAEjC,SAAAC,EAAUC,EAAQ,GAAO,CAC5BZ,GAAe,CAACY,IACHC,IACjBV,EAAK,MAAQ,GACf,CAES,SAAAW,EAAWF,EAAQ,GAAO,CAC7BZ,GAAe,CAACY,IACHC,IACjBV,EAAK,MAAQ,GACf,CAEA,SAASY,GAAc,CAChBf,IACAG,EAAK,MAMEa,KALVL,EAAU,EAAI,EACd,WAAW,IAAM,CACN,SAAA,KAAK,iBAAiB,QAASK,CAAS,GAChD,GAAG,GAIV,CAEA,SAASA,GAAY,CACnBF,EAAW,EAAI,EACN,SAAA,KAAK,oBAAoB,QAASE,CAAS,CACtD,CAEAC,EAAU,IAAM,CACIC,EAAA,OAAO,SAAS,KAAM,IAAM,CAC3BL,GAAA,CAClB,CAAA,CACF,EAED,SAASA,GAAmB,CAC1B,GAAI,CAACZ,EAAU,MAAO,OAEtB,KAAM,CAAE,KAAAkB,EAAM,MAAAC,GACZnB,EAAU,MAAM,cAAc,wBAC1B,CAAE,WAAAoB,CAAe,EAAA,OAEnBf,EAAW,OAASe,EAAaF,EAAOC,EAAQrB,EAClDK,EAAS,MAAQ,UAEjBA,EAAS,MAAQ,QACjBC,EAAe,MAAQ,KAAK,IAAI,IAAKgB,EAAaF,EAAOC,EAAQ,EAAE,EAEvE,CAEO,MAAA,CACL,UAAAnB,EACA,KAAAE,EACA,SAAAC,EACA,eAAAC,EACA,QAAAG,EACA,YAAAR,EACA,UAAAW,EACA,WAAAG,EACA,YAAAC,CAAA,CAEJ,iPC3BA,MAAMO,EAAQC,EAuBR,CACJ,UAAAtB,EACA,KAAAE,EACA,SAAAC,EACA,eAAAC,EACA,QAAAG,EACA,UAAAG,EACA,WAAAG,EACA,YAAAC,CACE,EAAAjB,EAAawB,EAAM,cAAeA,EAAM,WAAW"}