import { $n as e, D as t, Lt as n, On as r, Zn as i, _ as a, b as o, et as s, g as c, k as l, mt as u, o as d, qt as f, tr as p, v as m, xt as h, y as g, z as _ } from "./runtime-core.esm-bundler-Ci9kEgM7.js";
import { C as v, S as y, X as b, _ as x, b as S, x as C, y as w } from "./Button-CzGEASGR.js";
import { A as T, r as E } from "./dist-D5YmEqpM.js";
var D = l({ __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, n2 = [`horizontal`, `vertical`];
  function i2(e3) {
    return n2.includes(e3);
  }
  let a2 = c(() => i2(t2.orientation) ? t2.orientation : `horizontal`), o2 = c(() => a2.value === `vertical` ? t2.orientation : void 0), l2 = c(() => t2.decorative ? { role: `none` } : { "aria-orientation": o2.value, role: `separator` });
  return (e3, t3) => (u(), m(r(v), s({ as: e3.as, "as-child": e3.asChild, "data-orientation": a2.value }, l2.value), { default: f(() => [h(e3.$slots, `default`)]), _: 3 }, 16, [`as`, `as-child`, `data-orientation`]));
} }), O = l({ __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) => (u(), m(D, e(_(n2)), { default: f(() => [h(t3.$slots, `default`)]), _: 3 }, 16));
} }), k = { 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: `whitespace-nowrap` }, vertical: { root: `h-full flex-col`, border: `h-full`, container: `` } }, size: { xs: ``, sm: ``, md: ``, lg: ``, xl: `` }, position: { start: ``, center: ``, end: `` }, type: { solid: { border: `border-solid` }, dashed: { border: `border-dashed` }, dotted: { border: `border-dotted` } } }, compoundVariants: [{ orientation: `horizontal`, position: `start`, class: { container: `me-3` } }, { orientation: `horizontal`, position: `center`, class: { container: `mx-3` } }, { orientation: `horizontal`, position: `end`, class: { container: `ms-3` } }, { orientation: `vertical`, position: `start`, class: { container: `mb-2` } }, { orientation: `vertical`, position: `center`, class: { container: `my-2` } }, { orientation: `vertical`, position: `end`, class: { container: `mt-2` } }, { 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` } }, A = { __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` }, position: { type: null, required: false, default: `center` }, class: { type: null, required: false }, ui: { type: null, required: false }, decorative: { type: Boolean, required: false } }, setup(e2) {
  let l2 = e2, _2 = n(), v2 = y(`separator`, l2), D2 = b(), A2 = C(T(v2, `as`, `decorative`, `orientation`)), [j, M] = E(), N = c(() => !!(v2.label || v2.icon || v2.avatar || _2.default)), P = c(() => S({ extend: S(k), ...D2.ui?.separator || {} })({ color: v2.color, orientation: v2.orientation, size: v2.size, position: v2.position, type: v2.type }));
  return (e3, n2) => (u(), o(d, null, [t(r(j), null, { default: f(() => [a(`div`, { "data-slot": `container`, class: i(P.value.container({ class: r(v2).ui?.container })) }, [h(e3.$slots, `default`, { ui: P.value }, () => [r(v2).label ? (u(), o(`span`, { key: 0, "data-slot": `label`, class: i(P.value.label({ class: r(v2).ui?.label })) }, p(r(v2).label), 3)) : r(v2).icon ? (u(), m(w, { key: 1, name: r(v2).icon, "data-slot": `icon`, class: i(P.value.icon({ class: r(v2).ui?.icon })) }, null, 8, [`name`, `class`])) : r(v2).avatar ? (u(), m(x, s({ key: 2, size: r(v2).ui?.avatarSize || P.value.avatarSize() }, r(v2).avatar, { "data-slot": `avatar`, class: P.value.avatar({ class: r(v2).ui?.avatar }) }), null, 16, [`size`, `class`])) : g(``, true)])], 2)]), _: 3 }), t(r(O), s(r(A2), { "data-slot": `root`, class: P.value.root({ class: [r(v2).ui?.root, r(v2).class] }) }), { default: f(() => [N.value && r(v2).position === `start` ? (u(), m(r(M), { key: 0 })) : g(``, true), a(`div`, { "data-slot": `border`, class: i(P.value.border({ class: r(v2).ui?.border })) }, null, 2), N.value && r(v2).position === `center` ? (u(), o(d, { key: 1 }, [t(r(M)), a(`div`, { "data-slot": `border`, class: i(P.value.border({ class: r(v2).ui?.border })) }, null, 2)], 64)) : g(``, true), N.value && r(v2).position === `end` ? (u(), m(r(M), { key: 2 })) : g(``, true)]), _: 1 }, 16, [`class`])], 64));
} };
export {
  A as t
};
