import { createVNode, mergeProps, isVNode } from "vue";
import { makeSelectionControlProps, SelectionControl } from "../selection-control/selection-control.mjs";
import { defineComponent } from "../../utils/define-component.mjs";
function _isSlot(s) {
  return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !isVNode(s);
}
const Radio = defineComponent({
  name: "VeRadio",
  props: makeSelectionControlProps({
    type: "radio",
    falseIcon: "$radioOff",
    trueIcon: "$radioOn",
    color: "primary"
  }),
  emits: {
    "update:modelValue": (_modelValue) => true
  },
  setup(props, {
    emit,
    slots
  }) {
    return () => {
      return createVNode(SelectionControl, mergeProps({
        "class": "ve-radio"
      }, props, {
        "onUpdate:modelValue": (val) => emit("update:modelValue", val)
      }), _isSlot(slots) ? slots : {
        default: () => [slots]
      });
    };
  }
});
export {
  Radio
};
//# sourceMappingURL=radio.mjs.map
