import { createContext } from "../shared/createContext.js"; import { useForwardExpose } from "../shared/useForwardExpose.js"; import { PopperRoot_default } from "../Popper/PopperRoot.js"; import { PopperContentPropsDefaultValue, PopperContent_default } from "../Popper/PopperContent.js"; import { computed, createBlock, createVNode, defineComponent, mergeProps, openBlock, renderSlot, unref, withCtx } from "vue"; //#region src/Toast/ToastPositioner.vue?vue&type=script&setup=true&lang.ts const [injectToastPositionerContext, provideToastPositionerContext] = /*#__PURE__*/ createContext("ToastPositioner"); var ToastPositioner_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({ inheritAttrs: false, __name: "ToastPositioner", props: { toast: { type: Object, required: true }, anchor: { type: null, required: false }, side: { type: null, required: false }, sideOffset: { type: Number, required: false }, sideFlip: { type: Boolean, required: false, default: void 0 }, align: { type: null, required: false }, alignOffset: { type: Number, required: false }, alignFlip: { type: Boolean, required: false, default: void 0 }, avoidCollisions: { type: Boolean, required: false, default: void 0 }, collisionBoundary: { type: null, required: false }, collisionPadding: { type: [Number, Object], required: false }, arrowPadding: { type: Number, required: false }, hideShiftedArrow: { type: Boolean, required: false, default: void 0 }, sticky: { type: String, required: false }, hideWhenDetached: { type: Boolean, required: false, default: void 0 }, positionStrategy: { type: String, required: false }, updatePositionStrategy: { type: String, required: false }, disableUpdateOnLayoutShift: { type: Boolean, required: false, default: void 0 }, prioritizePosition: { type: Boolean, required: false, default: void 0 }, dir: { type: String, required: false }, asChild: { type: Boolean, required: false }, as: { type: null, required: false } }, setup(__props) { const props = __props; const { forwardRef } = useForwardExpose(); const DEFAULTS = { ...PopperContentPropsDefaultValue, side: "top", collisionPadding: 5, arrowPadding: 5 }; const resolvedProps = computed(() => { const fromToast = props.toast.positionerProps ?? {}; const resolved = {}; for (const key of Object.keys(props)) { if (key === "toast" || key === "anchor") continue; resolved[key] = props[key] ?? fromToast[key] ?? DEFAULTS[key]; } if (typeof resolved.collisionBoundary === "function") resolved.collisionBoundary = resolved.collisionBoundary(); return resolved; }); const anchor = computed(() => props.anchor ?? props.toast.positionerProps?.anchor ?? void 0); provideToastPositionerContext({}); return (_ctx, _cache) => { return openBlock(), createBlock(unref(PopperRoot_default), null, { default: withCtx(() => [createVNode(unref(PopperContent_default), mergeProps({ ...resolvedProps.value, ..._ctx.$attrs }, { ref: unref(forwardRef), reference: anchor.value }), { default: withCtx(() => [renderSlot(_ctx.$slots, "default")]), _: 3 }, 16, ["reference"])]), _: 3 }); }; } }); //#endregion //#region src/Toast/ToastPositioner.vue var ToastPositioner_default = ToastPositioner_vue_vue_type_script_setup_true_lang_default; //#endregion export { ToastPositioner_default, injectToastPositionerContext }; //# sourceMappingURL=ToastPositioner.js.map