"use strict";
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
const token = require("../../select/src/token.js");
const vue = require("vue");
const index = require("../../../../node_modules/@vueuse/shared/index.js");
var cache_options_default = vue.defineComponent({
  props: { data: {
    type: Array,
    default: () => []
  } },
  setup(props) {
    const select = vue.inject(token.selectKey);
    vue.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 (index.isClient && !Array.from(inputs).includes(document.activeElement)) select.setSelected();
    }, {
      flush: "post",
      immediate: true
    });
    return () => void 0;
  }
});
exports.default = cache_options_default;
