{"version":3,"file":"tree-select.mjs","sources":["../../../../../../packages/components/tree-select/src/tree-select.vue"],"sourcesContent":["<script lang=\"ts\">\n// @ts-nocheck\nimport { computed, defineComponent, h, onMounted, reactive, ref } from 'vue'\nimport { pick } from 'lodash-unified'\nimport BSelect from '@bigin/components/select'\nimport BTree from '@bigin/components/tree'\nimport { useSelect } from './select'\nimport { useTree } from './tree'\n\nexport default defineComponent({\n  name: 'BTreeSelect',\n  inheritAttrs: false,\n  props: {\n    ...BSelect.props,\n    ...BTree.props,\n  },\n  setup(props, context) {\n    const { slots, expose } = context\n\n    const select = ref<InstanceType<typeof BSelect>>()\n    const tree = ref<InstanceType<typeof BTree>>()\n\n    const key = computed(() => props.nodeKey || props.valueKey || 'value')\n\n    const selectProps = useSelect(props, context, { select, tree, key })\n    const treeProps = useTree(props, context, { select, tree, key })\n\n    // expose BTree/ElSelect methods\n    const methods = reactive({})\n    expose(methods)\n    onMounted(() => {\n      Object.assign(methods, {\n        ...pick(tree.value, [\n          'filter',\n          'updateKeyChildren',\n          'getCheckedNodes',\n          'setCheckedNodes',\n          'getCheckedKeys',\n          'setCheckedKeys',\n          'setChecked',\n          'getHalfCheckedNodes',\n          'getHalfCheckedKeys',\n          'getCurrentKey',\n          'getCurrentNode',\n          'setCurrentKey',\n          'setCurrentNode',\n          'getNode',\n          'remove',\n          'append',\n          'insertBefore',\n          'insertAfter',\n        ]),\n        ...pick(select.value, ['focus', 'blur']),\n      })\n    })\n\n    return () =>\n      h(\n        BSelect,\n        /**\n         * 1. The `props` is processed into `Refs`, but `v-bind` and\n         * render function props cannot read `Refs`, so use `reactive`\n         * unwrap the `Refs` and keep reactive.\n         * 2. The keyword `ref` requires `Ref`, but `reactive` broke it,\n         * so use function.\n         */\n        reactive({\n          ...selectProps,\n          ref: (ref) => (select.value = ref),\n        }),\n        {\n          ...slots,\n          default: () =>\n            h(\n              BTree,\n              reactive({\n                ...treeProps,\n                ref: (ref) => (tree.value = ref),\n              })\n            ),\n        }\n      )\n  },\n})\n</script>\n"],"names":["BTree","ref"],"mappings":";;;;;;;;AASA,MAAK,YAAa,eAAa,CAAA;AAAA,EAC7B,IAAM,EAAA,aAAA;AAAA,EACN,YAAc,EAAA,KAAA;AAAA,EACd,KAAO,EAAA;AAAA,IACL,GAAG,OAAQ,CAAA,KAAA;AAAA,IACX,GAAGA,KAAM,CAAA,KAAA;AAAA,GACX;AAAA,EACA,KAAA,CAAM,OAAO,OAAS,EAAA;AACd,IAAA,MAAA,EAAE,KAAO,EAAA,MAAA,EAAW,GAAA,OAAA,CAAA;AAE1B,IAAA,MAAM,SAAS,GAAkC,EAAA,CAAA;AACjD,IAAA,MAAM,OAAO,GAAgC,EAAA,CAAA;AAE7C,IAAA,MAAM,MAAM,QAAS,CAAA,MAAM,MAAM,OAAW,IAAA,KAAA,CAAM,YAAY,OAAO,CAAA,CAAA;AAE/D,IAAA,MAAA,WAAA,GAAc,UAAU,KAAO,EAAA,OAAA,EAAS,EAAE,MAAQ,EAAA,IAAA,EAAM,KAAK,CAAA,CAAA;AAC7D,IAAA,MAAA,SAAA,GAAY,QAAQ,KAAO,EAAA,OAAA,EAAS,EAAE,MAAQ,EAAA,IAAA,EAAM,KAAK,CAAA,CAAA;AAGzD,IAAA,MAAA,OAAA,GAAU,QAAS,CAAA,EAAE,CAAA,CAAA;AAC3B,IAAA,MAAA,CAAO,OAAO,CAAA,CAAA;AACd,IAAA,SAAA,CAAU,MAAM;AACd,MAAA,MAAA,CAAO,OAAO,OAAS,EAAA;AAAA,QACrB,GAAG,IAAK,CAAA,IAAA,CAAK,KAAO,EAAA;AAAA,UAClB,QAAA;AAAA,UACA,mBAAA;AAAA,UACA,iBAAA;AAAA,UACA,iBAAA;AAAA,UACA,gBAAA;AAAA,UACA,gBAAA;AAAA,UACA,YAAA;AAAA,UACA,qBAAA;AAAA,UACA,oBAAA;AAAA,UACA,eAAA;AAAA,UACA,gBAAA;AAAA,UACA,eAAA;AAAA,UACA,gBAAA;AAAA,UACA,SAAA;AAAA,UACA,QAAA;AAAA,UACA,QAAA;AAAA,UACA,cAAA;AAAA,UACA,aAAA;AAAA,SACD,CAAA;AAAA,QACD,GAAG,IAAK,CAAA,MAAA,CAAO,OAAO,CAAC,OAAA,EAAS,MAAM,CAAC,CAAA;AAAA,OACxC,CAAA,CAAA;AAAA,KACF,CAAA,CAAA;AAED,IAAA,OAAO,MACL,CAAA;AAAA,MACE,OAAA;AAAA,MAQA,QAAS,CAAA;AAAA,QACP,GAAG,WAAA;AAAA,QACH,GAAK,EAAA,CAACC,IAAS,KAAA,MAAA,CAAO,KAAQA,GAAAA,IAAAA;AAAAA,OAC/B,CAAA;AAAA,MACD;AAAA,QACE,GAAG,KAAA;AAAA,QACH,SAAS,MACP,CAAA;AAAA,UACED,KAAA;AAAA,UACA,QAAS,CAAA;AAAA,YACP,GAAG,SAAA;AAAA,YACH,GAAK,EAAA,CAACC,IAAS,KAAA,IAAA,CAAK,KAAQA,GAAAA,IAAAA;AAAAA,WAC7B,CAAA;AAAA,SACH;AAAA,OACJ;AAAA,KACF,CAAA;AAAA,GACJ;AACF,CAAC,CAAA,CAAA;;;;;"}