{"version":3,"file":"cache-options.mjs","sources":["../../../../../../../packages/components/tree-select/src/cache-options.ts"],"sourcesContent":["import { defineComponent, inject, watch } from 'vue'\nimport { selectKey } from '@hd-front-end/components/select'\nimport { isClient } from '@hd-front-end/utils'\n\nimport type { SelectContext } from '@hd-front-end/components/select'\nimport type { PropType } from 'vue'\n\n// same as el-option instance,\n// these are required for `cachedOptions`\nexport type CacheOption = {\n  value: string | number | boolean | object\n  currentLabel: string | number\n  isDisabled: boolean\n}\n\nexport default defineComponent({\n  props: {\n    data: {\n      type: Array as PropType<CacheOption[]>,\n      default: () => [],\n    },\n  },\n  setup(props) {\n    const select = inject(selectKey) as NonNullable<SelectContext>\n\n    watch(\n      () => props.data,\n      () => {\n        props.data.forEach((item) => {\n          if (!select.states.cachedOptions.has(item.value)) {\n            // TODO: the type of 'item' is not compatible with the type of 'cachedOptions',\n            // which may indicate potential runtime issues.\n            // @ts-expect-error\n            select.states.cachedOptions.set(item.value, item)\n          }\n        })\n\n        // fork from packages/select/src/useSelect.ts#330\n        const inputs = select.selectRef?.querySelectorAll('input') || []\n        if (\n          isClient &&\n          !Array.from(inputs).includes(\n            document.activeElement as HTMLInputElement\n          )\n        ) {\n          select.setSelected()\n        }\n      },\n      { flush: 'post', immediate: true }\n    )\n\n    return () => undefined\n  },\n})\n"],"names":[],"mappings":";;;;AAeA,mBAAe,eAAgB,CAAA;AAAA,EAC7B,KAAO,EAAA;AAAA,IACL,IAAM,EAAA;AAAA,MACJ,IAAM,EAAA,KAAA;AAAA,MACN,OAAA,EAAS,MAAM,EAAC;AAAA,KAClB;AAAA,GACF;AAAA,EACA,MAAM,KAAO,EAAA;AACX,IAAM,MAAA,MAAA,GAAS,OAAO,SAAS,CAAA,CAAA;AAE/B,IAAA,KAAA;AAAA,MACE,MAAM,KAAM,CAAA,IAAA;AAAA,MACZ,MAAM;AA3BZ,QAAA,IAAA,EAAA,CAAA;AA4BQ,QAAM,KAAA,CAAA,IAAA,CAAK,OAAQ,CAAA,CAAC,IAAS,KAAA;AAC3B,UAAA,IAAI,CAAC,MAAO,CAAA,MAAA,CAAO,cAAc,GAAI,CAAA,IAAA,CAAK,KAAK,CAAG,EAAA;AAIhD,YAAA,MAAA,CAAO,MAAO,CAAA,aAAA,CAAc,GAAI,CAAA,IAAA,CAAK,OAAO,IAAI,CAAA,CAAA;AAAA,WAClD;AAAA,SACD,CAAA,CAAA;AAGD,QAAA,MAAM,WAAS,EAAO,GAAA,MAAA,CAAA,SAAA,KAAP,IAAkB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,gBAAA,CAAiB,aAAY,EAAC,CAAA;AAC/D,QAAA,IACE,QACA,IAAA,CAAC,KAAM,CAAA,IAAA,CAAK,MAAM,CAAE,CAAA,QAAA;AAAA,UAClB,QAAS,CAAA,aAAA;AAAA,SAEX,EAAA;AACA,UAAA,MAAA,CAAO,WAAY,EAAA,CAAA;AAAA,SACrB;AAAA,OACF;AAAA,MACA,EAAE,KAAA,EAAO,MAAQ,EAAA,SAAA,EAAW,IAAK,EAAA;AAAA,KACnC,CAAA;AAEA,IAAA,OAAO,MAAM,KAAA,CAAA,CAAA;AAAA,GACf;AACF,CAAC,CAAA;;;;"}