import { $n as e, Lt as t, On as n, Zn as r, _ as i, b as a, et as o, g as s, k as c, mt as l, o as u, qt as d, tr as f, v as p, xt as m, y as h, z as g } from "./runtime-core.esm-bundler-C_RgxGrN.js";
import { C as _, b as v, g as y, q as b, v as x, x as S, y as C } from "./Button-C1y42oVo.js";
import { A as w } from "./dist-BVQ2eZ4j.js";
var T = c({ __name: `BaseSeparator`, props: { orientation: { type: String, required: false, default: `horizontal` }, decorative: { type: Boolean, required: false }, asChild: { type: Boolean, required: false }, as: { type: null, required: false } }, setup(e2) {
  let t2 = e2, r2 = [`horizontal`, `vertical`];
  function i2(e3) {
    return r2.includes(e3);
  }
  let a2 = s(() => i2(t2.orientation) ? t2.orientation : `horizontal`), c2 = s(() => a2.value === `vertical` ? t2.orientation : void 0), u2 = s(() => t2.decorative ? { role: `none` } : { "aria-orientation": c2.value, role: `separator` });
  return (e3, t3) => (l(), p(n(S), o({ as: e3.as, "as-child": e3.asChild, "data-orientation": a2.value }, u2.value), { default: d(() => [m(e3.$slots, `default`)]), _: 3 }, 16, [`as`, `as-child`, `data-orientation`]));
} }), E = c({ __name: `Separator`, props: { orientation: { type: String, required: false, default: `horizontal` }, decorative: { type: Boolean, required: false }, asChild: { type: Boolean, required: false }, as: { type: null, required: false } }, setup(t2) {
  let n2 = t2;
  return (t3, r2) => (l(), p(T, e(g(n2)), { default: d(() => [m(t3.$slots, `default`)]), _: 3 }, 16));
} }), D = { slots: { root: `flex items-center align-center text-center`, border: ``, container: `font-medium text-default flex`, icon: `shrink-0 size-5`, avatar: `shrink-0`, avatarSize: `2xs`, label: `text-sm` }, variants: { color: { primary: { border: `border-primary` }, secondary: { border: `border-secondary` }, success: { border: `border-success` }, info: { border: `border-info` }, warning: { border: `border-warning` }, error: { border: `border-error` }, neutral: { border: `border-default` } }, orientation: { horizontal: { root: `w-full flex-row`, border: `w-full`, container: `mx-3 whitespace-nowrap` }, vertical: { root: `h-full flex-col`, border: `h-full`, container: `my-2` } }, size: { xs: ``, sm: ``, md: ``, lg: ``, xl: `` }, type: { solid: { border: `border-solid` }, dashed: { border: `border-dashed` }, dotted: { border: `border-dotted` } } }, compoundVariants: [{ orientation: `horizontal`, size: `xs`, class: { border: `border-t` } }, { orientation: `horizontal`, size: `sm`, class: { border: `border-t-[2px]` } }, { orientation: `horizontal`, size: `md`, class: { border: `border-t-[3px]` } }, { orientation: `horizontal`, size: `lg`, class: { border: `border-t-[4px]` } }, { orientation: `horizontal`, size: `xl`, class: { border: `border-t-[5px]` } }, { orientation: `vertical`, size: `xs`, class: { border: `border-s` } }, { orientation: `vertical`, size: `sm`, class: { border: `border-s-[2px]` } }, { orientation: `vertical`, size: `md`, class: { border: `border-s-[3px]` } }, { orientation: `vertical`, size: `lg`, class: { border: `border-s-[4px]` } }, { orientation: `vertical`, size: `xl`, class: { border: `border-s-[5px]` } }], defaultVariants: { color: `neutral`, size: `xs`, type: `solid` } }, O = { __name: `Separator`, props: { as: { type: null, required: false }, label: { type: String, required: false }, icon: { type: null, required: false }, avatar: { type: Object, required: false }, color: { type: null, required: false }, size: { type: null, required: false }, type: { type: null, required: false }, orientation: { type: null, required: false, default: `horizontal` }, class: { type: null, required: false }, ui: { type: null, required: false }, decorative: { type: Boolean, required: false } }, setup(e2) {
  let c2 = e2, g2 = t(), S2 = b(), T2 = v(`separator`, c2), O2 = _(w(c2, `as`, `decorative`, `orientation`)), k = s(() => C({ extend: C(D), ...S2.ui?.separator || {} })({ color: c2.color, orientation: c2.orientation, size: c2.size, type: c2.type }));
  return (t2, s2) => (l(), p(n(E), o(n(O2), { "data-slot": `root`, class: k.value.root({ class: [n(T2)?.root, c2.class] }) }), { default: d(() => [i(`div`, { "data-slot": `border`, class: r(k.value.border({ class: n(T2)?.border })) }, null, 2), e2.label || e2.icon || e2.avatar || g2.default ? (l(), a(u, { key: 0 }, [i(`div`, { "data-slot": `container`, class: r(k.value.container({ class: n(T2)?.container })) }, [m(t2.$slots, `default`, { ui: k.value }, () => [e2.label ? (l(), a(`span`, { key: 0, "data-slot": `label`, class: r(k.value.label({ class: n(T2)?.label })) }, f(e2.label), 3)) : e2.icon ? (l(), p(x, { key: 1, name: e2.icon, "data-slot": `icon`, class: r(k.value.icon({ class: n(T2)?.icon })) }, null, 8, [`name`, `class`])) : e2.avatar ? (l(), p(y, o({ key: 2, size: n(T2)?.avatarSize || k.value.avatarSize() }, e2.avatar, { "data-slot": `avatar`, class: k.value.avatar({ class: n(T2)?.avatar }) }), null, 16, [`size`, `class`])) : h(``, true)])], 2), i(`div`, { "data-slot": `border`, class: r(k.value.border({ class: n(T2)?.border })) }, null, 2)], 64)) : h(``, true)]), _: 3 }, 16, [`class`]));
} };
export {
  O as t
};
