"use strict";
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
const Vue = require("vue");
const index_esm = require("../../../@vant/use/dist/index.esm.js");
const props = require("../utils/props.js");
const create = require("../utils/create.js");
const [name, bem] = create.createNamespace("radio-group");
const radioGroupProps = {
  shape: String,
  disabled: Boolean,
  iconSize: props.numericProp,
  direction: String,
  modelValue: props.unknownProp,
  checkedColor: String
};
const RADIO_KEY = Symbol(name);
var stdin_default = Vue.defineComponent({
  name,
  props: radioGroupProps,
  emits: ["change", "update:modelValue"],
  setup(props2, {
    emit,
    slots
  }) {
    const {
      linkChildren
    } = index_esm.useChildren(RADIO_KEY);
    const updateValue = (value) => emit("update:modelValue", value);
    Vue.watch(() => props2.modelValue, (value) => emit("change", value));
    linkChildren({
      props: props2,
      updateValue
    });
    index_esm.useCustomFieldValue(() => props2.modelValue);
    return () => {
      var _a;
      return Vue.createVNode("div", {
        "class": bem([props2.direction]),
        "role": "radiogroup"
      }, [(_a = slots.default) == null ? void 0 : _a.call(slots)]);
    };
  }
});
exports.RADIO_KEY = RADIO_KEY;
exports.default = stdin_default;
exports.radioGroupProps = radioGroupProps;
