{"version":3,"file":"useSlotsWithSlotContent-Ca9AVL3W.js","sources":["../../../packs/frontend/composables/useSlotsWithSlotContent.ts"],"sourcesContent":["export const useSlotsWithSlotContent = () => {\n const measuredElement = ref(null);\n const slots = useSlots();\n // We do not have a type for 'slot'\n // https://github.com/vuejs/core/issues/4733#issuecomment-1244011992\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const hasSlotContent = (slot: any, slotProps = {}): boolean => {\n if (!slot) return false;\n\n return slot(slotProps).some((vnode: VNode): boolean => {\n if (Array.isArray(vnode.children)) {\n return !!vnode.children.length;\n }\n\n return vnode.type !== Comment;\n });\n };\n\n const getContent = (slotName: string): boolean => {\n return hasSlotContent(slots[slotName]);\n };\n\n const measureContent = () => {\n let dimensions = null;\n if (measuredElement.value) {\n dimensions = measuredElement.value.getBoundingClientRect();\n }\n return dimensions;\n };\n\n return {\n getContent,\n slots,\n hasSlotContent,\n measuredElement,\n measureContent,\n };\n};\n"],"names":["useSlotsWithSlotContent","measuredElement","ref","slots","useSlots","hasSlotContent","slot","slotProps","vnode","slotName","dimensions"],"mappings":"sDAAO,MAAMA,EAA0B,IAAM,CACrC,MAAAC,EAAkBC,EAAwB,IAAI,EAC9CC,EAAQC,EAAS,EAIjBC,EAAiB,CAACC,EAAWC,EAAY,CAAA,IACxCD,EAEEA,EAAKC,CAAS,EAAE,KAAMC,GACvB,MAAM,QAAQA,EAAM,QAAQ,EACvB,CAAC,CAACA,EAAM,SAAS,OAGnBA,EAAM,OAAS,OACvB,EARiB,GAuBb,MAAA,CACL,WAbkBC,GACXJ,EAAeF,EAAMM,CAAQ,CAAC,EAarC,MAAAN,EACA,eAAAE,EACA,gBAAAJ,EACA,eAbqB,IAAM,CAC3B,IAAIS,EAAa,KACjB,OAAIT,EAAgB,QACLS,EAAAT,EAAgB,MAAM,sBAAsB,GAEpDS,CACT,CAQA,CACF"}