import { selectKey } from "../../select/src/token.mjs";
import { defineComponent, inject, watch } from "vue";
import { isClient } from "../../../../node_modules/@vueuse/shared/index.mjs";
var cache_options_default = defineComponent({
  props: { data: {
    type: Array,
    default: () => []
  } },
  setup(props) {
    const select = inject(selectKey);
    watch(() => props.data, () => {
      var _a;
      props.data.forEach((item) => {
        if (!select.states.cachedOptions.has(item.value)) select.states.cachedOptions.set(item.value, item);
      });
      const inputs = ((_a = select.selectRef) == null ? void 0 : _a.querySelectorAll("input")) || [];
      if (isClient && !Array.from(inputs).includes(document.activeElement)) select.setSelected();
    }, {
      flush: "post",
      immediate: true
    });
    return () => void 0;
  }
});
export {
  cache_options_default as default
};
