UNPKG

@synergy-design-system/vue

Version:

Vue3 wrappers for the Synergy Design System

46 lines (45 loc) 1.52 kB
import { defineComponent, ref, computed, createElementBlock, openBlock, mergeProps, renderSlot } from "vue"; import "@synergy-design-system/components/components/dropdown/dropdown.js"; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "SynVueDropdown", props: { open: {}, placement: {}, disabled: {}, stayOpenOnSelect: {}, distance: {}, skidding: {}, hoist: {}, sync: {}, containingElement: {} }, emits: ["syn-show", "syn-after-show", "syn-hide", "syn-after-hide"], 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-dropdown", mergeProps({ onSynShow: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("syn-show", $event)), onSynAfterShow: _cache[1] || (_cache[1] = ($event) => _ctx.$emit("syn-after-show", $event)), onSynHide: _cache[2] || (_cache[2] = ($event) => _ctx.$emit("syn-hide", $event)), onSynAfterHide: _cache[3] || (_cache[3] = ($event) => _ctx.$emit("syn-after-hide", $event)) }, visibleProps.value, { ref_key: "nativeElement", ref: nativeElement }), [ renderSlot(_ctx.$slots, "default") ], 16); }; } }); export { _sfc_main as default };