vuestic-ui
Version:
Vue 3 UI Framework
38 lines (37 loc) • 1.3 kB
JavaScript
import { ref, computed } from "vue";
import { u as unwrapEl } from "../../../utils/unwrapEl.js";
import { u as useDocument } from "../../../composables/useDocument.js";
import { u as useIsMounted } from "../../../composables/useIsMounted.js";
const useAnchorSelector = (props) => {
const anchorRef = ref();
const document = useDocument();
const isMounted = useIsMounted();
const computedAnchorRef = computed({
set(v) {
anchorRef.value = unwrapEl(v);
},
get() {
var _a, _b, _c;
isMounted.value;
if (typeof props.anchor === "string") {
return ((_a = document.value) == null ? void 0 : _a.querySelector(props.anchor)) ?? anchorRef.value;
}
if (typeof props.anchor === "object") {
return props.anchor;
}
if (props.anchorSelector) {
return ((_b = document.value) == null ? void 0 : _b.querySelector(props.anchorSelector)) ?? anchorRef.value;
} else if (props.innerAnchorSelector && anchorRef.value) {
return ((_c = anchorRef.value) == null ? void 0 : _c.querySelector(props.innerAnchorSelector)) ?? anchorRef.value;
}
return anchorRef.value;
}
});
return {
anchorRef: computedAnchorRef
};
};
export {
useAnchorSelector as u
};
//# sourceMappingURL=useAnchorSelector.js.map