import { defineComponent as p, mergeModels as f, useModel as y, useSlots as k, provide as s, createElementBlock as d, openBlock as o, normalizeClass as n, createElementVNode as b, renderSlot as u, Fragment as v, renderList as E, createBlock as V, unref as g, withCtx as M, createTextVNode as $, toDisplayString as B } from "vue";
import { radioGroupNameKey as C, radioGroupModelKey as G } from "./keys.js";
import N from "./PlRadio.vue.js";
const F = /* @__PURE__ */ p({
  __name: "PlRadioGroup",
  props: /* @__PURE__ */ f({
    name: {},
    options: {},
    keyExtractor: { type: Function }
  }, {
    modelValue: {},
    modelModifiers: {}
  }),
  emits: ["update:modelValue"],
  setup(t) {
    const i = y(t, "modelValue"), a = t;
    k();
    const m = a.keyExtractor ?? ((e, r) => r);
    return s(C, a.name), s(G, i), (e, r) => (o(), d("fieldset", {
      class: n(e.$style.container)
    }, [
      b("legend", {
        class: n(e.$style.label)
      }, [
        u(e.$slots, "label")
      ], 2),
      (o(!0), d(v, null, E(e.options, (l, c) => (o(), V(N, {
        key: g(m)(l.value, c),
        value: l.value,
        disabled: l.disabled
      }, {
        default: M(() => [
          $(B(l.label), 1)
        ]),
        _: 2
      }, 1032, ["value", "disabled"]))), 128)),
      u(e.$slots, "default")
    ], 2));
  }
});
export {
  F as default
};
//# sourceMappingURL=PlRadioGroup.vue2.js.map
