@synergy-design-system/vue
Version:
Vue3 wrappers for the Synergy Design System
56 lines (55 loc) • 1.47 kB
JavaScript
import { defineComponent, ref, computed, createElementBlock, openBlock, mergeProps, renderSlot } from "vue";
import "@synergy-design-system/components/components/popup/popup.js";
const _sfc_main = /* @__PURE__ */ defineComponent({
__name: "SynVuePopup",
props: {
anchor: {},
active: {},
placement: {},
strategy: {},
distance: {},
skidding: {},
arrow: {},
arrowPlacement: {},
arrowPadding: {},
flip: {},
flipFallbackPlacements: {},
flipFallbackStrategy: {},
flipBoundary: {},
flipPadding: {},
shift: {},
shiftBoundary: {},
shiftPadding: {},
autoSize: {},
sync: {},
autoSizeBoundary: {},
autoSizePadding: {},
hoverBridge: {}
},
emits: ["syn-reposition"],
setup(__props, { expose: __expose }) {
const nativeElement = ref();
__expose({
nativeElement
});
const props = __props;
const visibleProps = computed(
() => Object.fromEntries(
Object.entries(props).filter(([, value]) => typeof value !== "undefined")
)
);
return (_ctx, _cache) => {
return openBlock(), createElementBlock("syn-popup", mergeProps({
onSynReposition: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("syn-reposition", $event))
}, visibleProps.value, {
ref_key: "nativeElement",
ref: nativeElement
}), [
renderSlot(_ctx.$slots, "default")
], 16);
};
}
});
export {
_sfc_main as default
};