import { defineComponent, createElementBlock, openBlock, normalizeClass, createCommentVNode, Fragment, createElementVNode, renderSlot } from "vue";
import { dividerProps } from "./types.mjs";
const _hoisted_1 = { class: "o-divider-label" };
const _sfc_main = /* @__PURE__ */ defineComponent({
  __name: "ODivider",
  props: dividerProps,
  setup(__props) {
    const props = __props;
    return (_ctx, _cache) => {
      return openBlock(), createElementBlock(
        "div",
        {
          role: "separator",
          class: normalizeClass(["o-divider", [
            `o-divider-${props.variant}`,
            `o-divider-${props.direction}`,
            { "o-divider-darker": props.darker, [`o-divider-label-${props.labelPosition}`]: _ctx.$slots.default }
          ]])
        },
        [
          props.direction === "h" ? (openBlock(), createElementBlock(
            Fragment,
            { key: 0 },
            [
              _cache[1] || (_cache[1] = createElementVNode(
                "div",
                { class: "o-divider-line" },
                null,
                -1
                /* HOISTED */
              )),
              _ctx.$slots.default ? (openBlock(), createElementBlock(
                Fragment,
                { key: 0 },
                [
                  createElementVNode("div", _hoisted_1, [
                    renderSlot(_ctx.$slots, "default")
                  ]),
                  _cache[0] || (_cache[0] = createElementVNode(
                    "div",
                    { class: "o-divider-line" },
                    null,
                    -1
                    /* HOISTED */
                  ))
                ],
                64
                /* STABLE_FRAGMENT */
              )) : createCommentVNode("v-if", true)
            ],
            64
            /* STABLE_FRAGMENT */
          )) : createCommentVNode("v-if", true)
        ],
        2
        /* CLASS */
      );
    };
  }
});
export {
  _sfc_main as default
};
