import { jsx as $, jsxs as w } from "react/jsx-runtime";
import P, { useMemo as R, useRef as V, useCallback as _, useState as k, forwardRef as de, useContext as J, Fragment as ce, createContext as N } from "react";
import { e as q } from "./extract-style-props-CMyV-es-.es.js";
import { useSlotRecipe as ue, chakra as Q } from "@chakra-ui/react/styled-system";
import { c as fe, d as $e } from "./Header-BQ99pNEi.es.js";
import { $ as me, a as be, b as pe, c as ve, d as ye } from "./ListBox-Bp_3E18l.es.js";
import { f as ge, g as he } from "./CollectionBuilder-CTjJUDzO.es.js";
import { createSlotRecipeContext as xe, mergeRefs as Se } from "@chakra-ui/react";
import { Close as Pe, Loop as Ce, KeyboardArrowDown as Re } from "@commercetools/nimbus-icons";
import { $ as Y, a as De } from "./Button-C9AKe3Kt.es.js";
import { q as Fe, e as Me, h as Ie, r as Ke, $ as Be } from "./Dialog-7Yf08giu.es.js";
import { $ as Z, c as ee, a as te, b as Ee, f as we, e as Ve } from "./utils-CrjF8U_E.es.js";
import { $ as Oe } from "./FieldError-CXcEMuBf.es.js";
import { $ as ke } from "./Form-CXcEMuBf.es.js";
import { $ as qe } from "./intlStrings-Cd44R5hT.es.js";
import { $ as le } from "./Label-BPLFvUwR.es.js";
import { $ as G } from "./Text-DOcU1ycg.es.js";
import { $ as Ae } from "./Hidden-X9vuhkMZ.es.js";
import { $ as L, a as Te, d as ze } from "./mergeProps-B-cqsBhL.es.js";
import { $ as W } from "./filterDOMProps-Cxz9cAAv.es.js";
import { $ as Le, a as Ne } from "./OverlayArrow-DQTbb80n.es.js";
import { $ as Ge } from "./context-BfHy4NgG.es.js";
import { $ as We } from "./useLocalizedStringFormatter-CYDf7GZk.es.js";
import { a as je, $ as He } from "./useFormValidation-Cx9rG8-b.es.js";
import { a as Ue } from "./useListState-BxWOm_-s.es.js";
import { $ as Xe } from "./useControlledState-3TGZUXux.es.js";
import { $ as _e } from "./useFocusRing-CZQUsztf.es.js";
import { l as Je } from "./SelectionManager-GNsyMc-q.es.js";
import { c as Qe } from "./useFocusVisible-_CKiSck5.es.js";
import { $ as Ye } from "./useCollator-DKdD8vEj.es.js";
import { $ as Ze } from "./useField-BxLfE_kx.es.js";
import { $ as et } from "./useFormReset-Dl03QHFW.es.js";
import { a as tt } from "./VisuallyHidden-BW_C1pFq.es.js";
import { n as E, u as lt } from "./normalize-messages-BN9BAFXe.es.js";
import { I as at } from "./icon-button-DQaOMIAe.es.js";
import { l as ot } from "./index-N3Xxo-X9.es.js";
import { $ as rt } from "./useObjectRef-CaJ5pgjX.es.js";
import { F as z } from "./flex-BqxAMF-7.es.js";
import { B as X } from "./box-DuBoAZvq.es.js";
function it(e = {}) {
  let { locale: t } = Ge();
  return R(() => new Intl.ListFormat(t, e), [
    t,
    e
  ]);
}
const j = /* @__PURE__ */ new WeakMap();
function nt(e, t, a) {
  let { keyboardDelegate: r, isDisabled: l, isRequired: m, name: b, form: o, validationBehavior: s = "aria" } = e, u = Ye({
    usage: "search",
    sensitivity: "base"
  }), i = R(() => r || new fe(t.collection, t.disabledKeys, a, u), [
    r,
    t.collection,
    t.disabledKeys,
    u,
    a
  ]), { menuTriggerProps: d, menuProps: p } = Fe({
    isDisabled: l,
    type: "listbox"
  }, t, a), v = (y) => {
    if (t.selectionManager.selectionMode !== "multiple")
      switch (y.key) {
        case "ArrowLeft": {
          var M, I;
          y.preventDefault();
          let B = t.selectedKey != null ? (M = i.getKeyAbove) === null || M === void 0 ? void 0 : M.call(i, t.selectedKey) : (I = i.getFirstKey) === null || I === void 0 ? void 0 : I.call(i);
          B && t.setSelectedKey(B);
          break;
        }
        case "ArrowRight": {
          var A, T;
          y.preventDefault();
          let B = t.selectedKey != null ? (A = i.getKeyBelow) === null || A === void 0 ? void 0 : A.call(i, t.selectedKey) : (T = i.getFirstKey) === null || T === void 0 ? void 0 : T.call(i);
          B && t.setSelectedKey(B);
          break;
        }
      }
  }, { typeSelectProps: c } = Je({
    keyboardDelegate: i,
    selectionManager: t.selectionManager,
    onTypeSelect(y) {
      t.setSelectedKey(y);
    }
  }), { isInvalid: x, validationErrors: C, validationDetails: f } = t.displayValidation, { labelProps: g, fieldProps: S, descriptionProps: n, errorMessageProps: D } = Ze({
    ...e,
    labelElementType: "span",
    isInvalid: x,
    errorMessage: e.errorMessage || C
  });
  c.onKeyDown = c.onKeyDownCapture, delete c.onKeyDownCapture, t.selectionManager.selectionMode === "multiple" && (c = {});
  let F = W(e, {
    labelable: !0
  }), h = L(c, d, S), O = Te();
  return j.set(t, {
    isDisabled: l,
    isRequired: m,
    name: b,
    form: o,
    validationBehavior: s
  }), {
    labelProps: {
      ...g,
      onClick: () => {
        if (!e.isDisabled) {
          var y;
          (y = a.current) === null || y === void 0 || y.focus(), Qe("keyboard");
        }
      }
    },
    triggerProps: L(F, {
      ...h,
      isDisabled: l,
      onKeyDown: ze(h.onKeyDown, v, e.onKeyDown),
      onKeyUp: e.onKeyUp,
      "aria-labelledby": [
        O,
        h["aria-labelledby"],
        h["aria-label"] && !h["aria-labelledby"] ? h.id : null
      ].filter(Boolean).join(" "),
      onFocus(y) {
        t.isFocused || (e.onFocus && e.onFocus(y), e.onFocusChange && e.onFocusChange(!0), t.setFocused(!0));
      },
      onBlur(y) {
        t.isOpen || (e.onBlur && e.onBlur(y), e.onFocusChange && e.onFocusChange(!1), t.setFocused(!1));
      }
    }),
    valueProps: {
      id: O
    },
    menuProps: {
      ...p,
      autoFocus: t.focusStrategy || !0,
      shouldSelectOnPressUp: !0,
      shouldFocusOnHover: !0,
      disallowEmptySelection: !0,
      linkBehavior: "selection",
      onBlur: (y) => {
        y.currentTarget.contains(y.relatedTarget) || (e.onBlur && e.onBlur(y), e.onFocusChange && e.onFocusChange(!1), t.setFocused(!1));
      },
      "aria-labelledby": [
        S["aria-labelledby"],
        h["aria-label"] && !S["aria-labelledby"] ? h.id : null
      ].filter(Boolean).join(" ")
    },
    descriptionProps: n,
    errorMessageProps: D,
    isInvalid: x,
    validationErrors: C,
    validationDetails: f,
    hiddenSelectProps: {
      isDisabled: l,
      name: b,
      label: e.label,
      state: t,
      triggerRef: a,
      form: o
    }
  };
}
function st(e, t, a) {
  let r = j.get(t) || {}, { autoComplete: l, name: m = r.name, form: b = r.form, isDisabled: o = r.isDisabled } = e, { validationBehavior: s, isRequired: u } = r, { visuallyHiddenProps: i } = tt({
    style: {
      // Prevent page scrolling.
      position: "fixed",
      top: 0,
      left: 0
    }
  });
  et(e.selectRef, t.defaultValue, t.setValue), je({
    validationBehavior: s,
    focus: () => {
      var c;
      return (c = a.current) === null || c === void 0 ? void 0 : c.focus();
    }
  }, t, e.selectRef);
  let d = t.setValue, p = _((c) => {
    c.target.multiple ? d(Array.from(c.target.selectedOptions, (x) => x.value)) : d(c.currentTarget.value);
  }, [
    d
  ]);
  var v;
  return {
    containerProps: {
      ...i,
      "aria-hidden": !0,
      // @ts-ignore
      "data-react-aria-prevent-focus": !0,
      // @ts-ignore
      "data-a11y-ignore": "aria-hidden-focus"
    },
    inputProps: {
      style: {
        display: "none"
      }
    },
    selectProps: {
      tabIndex: -1,
      autoComplete: l,
      disabled: o,
      multiple: t.selectionManager.selectionMode === "multiple",
      required: s === "native" && u,
      name: m,
      form: b,
      value: (v = t.value) !== null && v !== void 0 ? v : "",
      onChange: p,
      onInput: p
    }
  };
}
function dt(e) {
  let { state: t, triggerRef: a, label: r, name: l, form: m, isDisabled: b } = e, o = V(null), s = V(null), { containerProps: u, selectProps: i } = st({
    ...e,
    selectRef: t.collection.size <= 300 ? o : s
  }, t, a);
  if (t.collection.size <= 300) return /* @__PURE__ */ P.createElement("div", {
    ...u,
    "data-testid": "hidden-select-container"
  }, /* @__PURE__ */ P.createElement("label", null, r, /* @__PURE__ */ P.createElement("select", {
    ...i,
    ref: o
  }, /* @__PURE__ */ P.createElement("option", null), [
    ...t.collection.getKeys()
  ].map((d) => {
    let p = t.collection.getItem(d);
    if (p && p.type === "item") return /* @__PURE__ */ P.createElement("option", {
      key: p.key,
      value: p.key
    }, p.textValue);
  }))));
  if (l) {
    let d = j.get(t) || {}, { validationBehavior: p } = d, v = Array.isArray(t.value) ? t.value : [
      t.value
    ];
    v.length === 0 && (v = [
      null
    ]);
    let c = v.map((x, C) => {
      let f = {
        type: "hidden",
        autoComplete: i.autoComplete,
        name: l,
        form: m,
        disabled: b,
        value: x ?? ""
      };
      return p === "native" ? /* @__PURE__ */ P.createElement("input", {
        key: C,
        ...f,
        ref: C === 0 ? s : null,
        style: {
          display: "none"
        },
        type: "text",
        required: C === 0 ? i.required : !1,
        onChange: () => {
        }
      }) : /* @__PURE__ */ P.createElement("input", {
        key: C,
        ...f,
        ref: C === 0 ? s : null
      });
    });
    return /* @__PURE__ */ P.createElement(P.Fragment, null, c);
  }
  return null;
}
function ct(e) {
  let { selectionMode: t = "single" } = e, a = Le(e), [r, l] = k(null), m = R(() => {
    var n;
    return e.defaultValue !== void 0 ? e.defaultValue : t === "single" ? (n = e.defaultSelectedKey) !== null && n !== void 0 ? n : null : [];
  }, [
    e.defaultValue,
    e.defaultSelectedKey,
    t
  ]), b = R(() => e.value !== void 0 ? e.value : t === "single" ? e.selectedKey : void 0, [
    e.value,
    e.selectedKey,
    t
  ]), [o, s] = Xe(b, m, e.onChange), u = t === "single" && Array.isArray(o) ? o[0] : o, i = (n) => {
    if (t === "single") {
      var D, F;
      let h = Array.isArray(n) ? (F = n[0]) !== null && F !== void 0 ? F : null : n;
      s(h), h !== u && ((D = e.onSelectionChange) === null || D === void 0 || D.call(e, h));
    } else {
      let h = [];
      Array.isArray(n) ? h = n : n != null && (h = [
        n
      ]), s(h);
    }
  }, d = Ue({
    ...e,
    selectionMode: t,
    disallowEmptySelection: t === "single",
    allowDuplicateSelectionEvents: !0,
    selectedKeys: R(() => ut(u), [
      u
    ]),
    onSelectionChange: (n) => {
      if (n !== "all") {
        if (t === "single") {
          var D;
          let F = (D = n.values().next().value) !== null && D !== void 0 ? D : null;
          i(F), a.close();
        } else i([
          ...n
        ]);
        c.commitValidation();
      }
    }
  }), p = d.selectionManager.firstSelectedKey, v = R(() => [
    ...d.selectionManager.selectedKeys
  ].map((n) => d.collection.getItem(n)).filter((n) => n != null), [
    d.selectionManager.selectedKeys,
    d.collection
  ]), c = He({
    ...e,
    value: Array.isArray(u) && u.length === 0 ? null : u
  }), [x, C] = k(!1), [f] = k(u);
  var g, S;
  return {
    ...c,
    ...d,
    ...a,
    value: u,
    defaultValue: m ?? f,
    setValue: i,
    selectedKey: p,
    setSelectedKey: i,
    selectedItem: (g = v[0]) !== null && g !== void 0 ? g : null,
    selectedItems: v,
    defaultSelectedKey: (S = e.defaultSelectedKey) !== null && S !== void 0 ? S : e.selectionMode === "single" ? f : null,
    focusStrategy: r,
    open(n = null) {
      (d.collection.size !== 0 || e.allowsEmptyCollection) && (l(n), a.open());
    },
    toggle(n = null) {
      (d.collection.size !== 0 || e.allowsEmptyCollection) && (l(n), a.toggle());
    },
    isFocused: x,
    setFocused: C
  };
}
function ut(e) {
  if (e !== void 0)
    return e === null ? [] : Array.isArray(e) ? e : [
      e
    ];
}
function ft(e) {
  return e && e.__esModule ? e.default : e;
}
const H = /* @__PURE__ */ N(null), U = /* @__PURE__ */ N(null), $t = /* @__PURE__ */ de(function(t, a) {
  [t, a] = Z(t, a, H);
  let { children: r, isDisabled: l = !1, isInvalid: m = !1, isRequired: b = !1 } = t, o = R(() => typeof r == "function" ? r({
    isOpen: !1,
    isDisabled: l,
    isInvalid: m,
    isRequired: b,
    isFocused: !1,
    isFocusVisible: !1,
    defaultChildren: null
  }) : r, [
    r,
    l,
    m,
    b
  ]);
  return /* @__PURE__ */ P.createElement(ge, {
    content: o
  }, (s) => /* @__PURE__ */ P.createElement(bt, {
    props: t,
    collection: s,
    selectRef: a
  }));
}), mt = [
  le,
  Y,
  G
];
function bt({ props: e, selectRef: t, collection: a }) {
  let { validationBehavior: r } = ee(ke) || {};
  var l, m;
  let b = (m = (l = e.validationBehavior) !== null && l !== void 0 ? l : r) !== null && m !== void 0 ? m : "native", o = ct({
    ...e,
    collection: a,
    children: void 0,
    validationBehavior: b
  }), { isFocusVisible: s, focusProps: u } = _e({
    within: !0
  }), i = V(null), [d, p] = Ee(!e["aria-label"] && !e["aria-labelledby"]), { labelProps: v, triggerProps: c, valueProps: x, menuProps: C, descriptionProps: f, errorMessageProps: g, hiddenSelectProps: S, ...n } = nt({
    ...we(e),
    label: p,
    validationBehavior: b
  }, o, i), [D, F] = k(null), h = _(() => {
    i.current && F(i.current.offsetWidth + "px");
  }, [
    i
  ]);
  Ne({
    ref: i,
    onResize: h
  });
  let O = R(() => ({
    isOpen: o.isOpen,
    isFocused: o.isFocused,
    isFocusVisible: s,
    isDisabled: e.isDisabled || !1,
    isInvalid: n.isInvalid || !1,
    isRequired: e.isRequired || !1
  }), [
    o.isOpen,
    o.isFocused,
    s,
    e.isDisabled,
    n.isInvalid,
    e.isRequired
  ]), y = te({
    ...e,
    values: O,
    defaultClassName: "react-aria-Select"
  }), M = W(e, {
    global: !0
  });
  delete M.id;
  let I = V(null);
  return /* @__PURE__ */ P.createElement(Ve, {
    values: [
      [
        H,
        e
      ],
      [
        U,
        o
      ],
      [
        ae,
        x
      ],
      [
        le,
        {
          ...v,
          ref: d,
          elementType: "span"
        }
      ],
      [
        Y,
        {
          ...c,
          ref: i,
          isPressed: o.isOpen,
          autoFocus: e.autoFocus
        }
      ],
      [
        Me,
        o
      ],
      [
        Ie,
        {
          trigger: "Select",
          triggerRef: i,
          scrollRef: I,
          placement: "bottom start",
          style: {
            "--trigger-width": D
          },
          "aria-labelledby": C["aria-labelledby"],
          clearContexts: mt
        }
      ],
      [
        me,
        {
          ...C,
          ref: I
        }
      ],
      [
        be,
        o
      ],
      [
        G,
        {
          slots: {
            description: f,
            errorMessage: g
          }
        }
      ],
      [
        Oe,
        n
      ]
    ]
  }, /* @__PURE__ */ P.createElement("div", {
    ...L(M, y, u),
    ref: t,
    slot: e.slot || void 0,
    "data-focused": o.isFocused || void 0,
    "data-focus-visible": s || void 0,
    "data-open": o.isOpen || void 0,
    "data-disabled": e.isDisabled || void 0,
    "data-invalid": n.isInvalid || void 0,
    "data-required": e.isRequired || void 0
  }, y.children, /* @__PURE__ */ P.createElement(dt, {
    ...S,
    autoComplete: e.autoComplete
  })));
}
const ae = /* @__PURE__ */ N(null), pt = /* @__PURE__ */ Ae(function(t, a) {
  var r;
  [t, a] = Z(t, a, ae);
  let l = J(U), { placeholder: m } = ee(H), b = l.selectedItems.map((f) => {
    var g;
    let S = (g = f.props) === null || g === void 0 ? void 0 : g.children;
    return typeof S == "function" && (S = S({
      isHovered: !1,
      isPressed: !1,
      isSelected: !1,
      isFocused: !1,
      isFocusVisible: !1,
      isDisabled: !1,
      selectionMode: "single",
      selectionBehavior: "toggle"
    })), S;
  }), o = it(), s = R(() => l.selectedItems.map((f) => f?.textValue), [
    l.selectedItems
  ]), u = l.selectionManager.selectionMode, i = R(() => {
    var f;
    return u === "single" ? (f = s[0]) !== null && f !== void 0 ? f : "" : o.format(s);
  }, [
    u,
    o,
    s
  ]), d = R(() => {
    if (u === "single") return b[0];
    let f = o.formatToParts(s);
    if (f.length === 0) return null;
    let g = 0;
    return f.map((S) => S.type === "element" ? /* @__PURE__ */ P.createElement(ce, {
      key: g
    }, b[g++]) : S.value);
  }, [
    u,
    o,
    s,
    b
  ]), p = We(ft(qe), "react-aria-components");
  var v, c;
  let x = te({
    ...t,
    defaultChildren: (v = d ?? m) !== null && v !== void 0 ? v : p.format("selectPlaceholder"),
    defaultClassName: "react-aria-SelectValue",
    values: {
      selectedItem: (c = (r = l.selectedItems[0]) === null || r === void 0 ? void 0 : r.value) !== null && c !== void 0 ? c : null,
      selectedItems: R(() => l.selectedItems.map((f) => {
        var g;
        return (g = f.value) !== null && g !== void 0 ? g : null;
      }), [
        l.selectedItems
      ]),
      selectedText: i,
      isPlaceholder: l.selectedItems.length === 0,
      state: l
    }
  }), C = W(t, {
    global: !0
  });
  return /* @__PURE__ */ P.createElement("span", {
    ref: a,
    ...C,
    ...x,
    "data-placeholder": l.selectedItems.length === 0 || void 0
  }, /* @__PURE__ */ P.createElement(G.Provider, {
    value: void 0
  }, x.children));
}), { withProvider: vt, withContext: K } = /* @__PURE__ */ xe({
  key: "nimbusSelect"
}), yt = /* @__PURE__ */ vt(
  "div",
  "root"
), gt = /* @__PURE__ */ K("div", "leadingElement"), ht = /* @__PURE__ */ K("button", "trigger"), xt = /* @__PURE__ */ K("span", "triggerLabel"), St = /* @__PURE__ */ K("div", "options"), Pt = /* @__PURE__ */ K("div", "option"), Ct = /* @__PURE__ */ K("div", "optionGroup"), Rt = { clearSelection: "Clear selection" }, Dt = { clearSelection: "Auswahl löschen" }, Ft = { clearSelection: "Borrar selección" }, Mt = { clearSelection: "Effacer la sélection" }, It = { clearSelection: "Limpar seleção" }, Kt = {
  en: /* @__PURE__ */ E(Rt),
  de: /* @__PURE__ */ E(Dt),
  es: /* @__PURE__ */ E(Ft),
  "fr-FR": /* @__PURE__ */ E(Mt),
  "pt-BR": /* @__PURE__ */ E(It)
}, oe = () => {
  const e = lt(Kt), t = J(U);
  if (!t?.selectedKey)
    return null;
  const a = () => {
    t?.setSelectedKey(null);
  };
  return /* @__PURE__ */ $(Ke, { children: /* @__PURE__ */ $(
    at,
    {
      slot: null,
      pointerEvents: "all",
      size: "2xs",
      variant: "ghost",
      "aria-label": e.format("clearSelection"),
      "aria-labelledby": "",
      onPress: a,
      children: /* @__PURE__ */ $(Pe, {})
    }
  ) });
};
oe.displayName = "Select.ClearButton";
const re = function({
  ref: t,
  children: a,
  leadingElement: r,
  isLoading: l,
  isDisabled: m,
  isClearable: b = !0,
  ...o
}) {
  const s = V(null), u = rt(Se(s, t)), i = ue({ recipe: ot }), [d, p] = i.splitVariantProps(o), [v, c] = q(p), x = {
    ...c,
    isDisabled: l || m
  };
  return /* @__PURE__ */ $(yt, { asChild: !0, ref: u, ...d, ...v, children: /* @__PURE__ */ w($t, { ...x, children: [
    /* @__PURE__ */ w(Q.div, { position: "relative", children: [
      /* @__PURE__ */ $(ht, { zIndex: 0, asChild: !0, children: /* @__PURE__ */ w(De, { children: [
        r && /* @__PURE__ */ $(gt, { asChild: !0, children: r }),
        /* @__PURE__ */ $(xt, { asChild: !0, children: /* @__PURE__ */ $(pt, {}) })
      ] }) }),
      /* @__PURE__ */ w(
        z,
        {
          position: "absolute",
          top: "0",
          bottom: "0",
          zIndex: 1,
          right: "400",
          pointerEvents: "none",
          children: [
            b && /* @__PURE__ */ $(z, { width: "600", my: "auto", children: /* @__PURE__ */ $(oe, {}) }),
            /* @__PURE__ */ $(z, { my: "auto", w: "600", h: "600", children: /* @__PURE__ */ $(X, { color: "neutral.9", asChild: !0, m: "auto", w: "400", h: "400", children: l ? /* @__PURE__ */ $(X, { asChild: !0, animation: "spin", animationDuration: "slowest", children: /* @__PURE__ */ $(Ce, {}) }) : /* @__PURE__ */ $(Re, {}) }) })
          ]
        }
      )
    ] }),
    /* @__PURE__ */ $(Be, { children: a })
  ] }) });
};
re.displayName = "Select.Root";
const ie = (e) => {
  const { ref: t, ...a } = e, [r, l] = q(a);
  return /* @__PURE__ */ $(St, { asChild: !0, ...r, children: /* @__PURE__ */ $(pe, { ref: t, ...l }) });
};
ie.displayName = "Select.Options";
const ne = (e) => {
  const { ref: t, ...a } = e, [r, l] = q(a);
  return /* @__PURE__ */ $(Pt, { asChild: !0, ...r, children: /* @__PURE__ */ $(ve, { ref: t, ...l }) });
};
ne.displayName = "Select.Option";
const se = (e) => {
  const { ref: t, label: a, items: r, children: l, ...m } = e, [b, o] = q(m);
  if (r && typeof l != "function")
    throw new Error(
      'SelectOptionGroup: When "items" is provided, "children" must be a function'
    );
  return /* @__PURE__ */ $(Q.section, { ...b, asChild: !0, children: /* @__PURE__ */ w(ye, { ref: t, ...o, children: [
    /* @__PURE__ */ $(Ct, { asChild: !0, children: /* @__PURE__ */ $($e, { children: a }) }),
    r ? /* @__PURE__ */ $(he, { items: r, children: (s) => typeof l == "function" ? l(s) : null }) : l
  ] }) });
};
se.displayName = "Select.OptionGroup";
const pl = {
  /**
   * # Select.Root
   *
   * The root component that provides context and state management for the select.
   * This component must wrap all select parts (Options, Option, etc.) and provides
   * the select state, variant styling context, and selection management.
   *
   * @example
   * ```tsx
   * <Select.Root>
   *   <Select.Options placeholder="Choose...">
   *     <Select.Option id="apple">Apple</Select.Option>
   *     <Select.Option id="orange">Orange</Select.Option>
   *   </Select.Options>
   * </Select.Root>
   * ```
   */
  Root: re,
  /**
   * # Select.Options
   *
   * The trigger button and dropdown container for select options.
   * Displays the selected value and opens the options list when activated.
   *
   * This component handles the visual presentation of the select, including
   * the trigger button, selected value display, dropdown icon, and the
   * popover containing options.
   *
   * @example
   * ```tsx
   * <Select.Root>
   *   <Select.Options
   *     placeholder="Select fruit"
   *     label="Favorite Fruit"
   *   >
   *     <Select.Option id="apple">Apple</Select.Option>
   *     <Select.Option id="banana">Banana</Select.Option>
   *   </Select.Options>
   * </Select.Root>
   * ```
   */
  Options: ie,
  /**
   * # Select.Option
   *
   * An individual selectable option within the select dropdown.
   * Represents a single choice that can be selected by the user.
   *
   * Options automatically handle selection state, keyboard navigation,
   * and visual feedback for hover and selection states.
   *
   * @example
   * ```tsx
   * <Select.Options>
   *   <Select.Option id="red" textValue="Red">
   *     🔴 Red
   *   </Select.Option>
   *   <Select.Option id="blue" textValue="Blue">
   *     🔵 Blue
   *   </Select.Option>
   * </Select.Options>
   * ```
   */
  Option: ne,
  /**
   * # Select.OptionGroup
   *
   * A container for grouping related options with an optional label.
   * Provides visual separation and semantic grouping of options.
   *
   * Option groups help organize large lists of options into logical
   * categories with proper accessibility support.
   *
   * @example
   * ```tsx
   * <Select.Options>
   *   <Select.OptionGroup label="Fruits">
   *     <Select.Option id="apple">Apple</Select.Option>
   *     <Select.Option id="banana">Banana</Select.Option>
   *   </Select.OptionGroup>
   *   <Select.OptionGroup label="Vegetables">
   *     <Select.Option id="carrot">Carrot</Select.Option>
   *     <Select.Option id="broccoli">Broccoli</Select.Option>
   *   </Select.OptionGroup>
   * </Select.Options>
   * ```
   */
  OptionGroup: se
};
export {
  pl as S
};
//# sourceMappingURL=select-DiSjgVZP.es.js.map
