{"version":3,"file":"OptionList.cjs","sources":["../../../../../../packages/vue-components/vc-tree-select/src/OptionList.tsx"],"sourcesContent":["import type { EventDataNode } from '@antdv/components/tree';\nimport type { Key } from '@antdv/types';\nimport type { RefOptionListProps } from '../../vc-select/src/OptionList';\nimport type { TreeProps } from '../../vc-tree/src/props';\nimport type { ScrollTo } from '../../vc-virtual-list/src/List';\nimport type { TreeDataNode } from './interface';\nimport { useMemo } from '@antdv/hooks';\nimport { KeyCode } from '@antdv/utils';\nimport {\n  computed,\n  defineComponent,\n  nextTick,\n  ref,\n  shallowRef,\n  toRaw,\n  watch,\n} from 'vue';\nimport { useBaseProps } from '../../vc-select';\nimport Tree from '../../vc-tree/src/Tree';\nimport useInjectLegacySelectContext from './LegacyContext';\nimport useInjectSelectContext from './TreeSelectContext';\nimport { getAllKeys, isCheckDisabled } from './utils/valueUtil';\n\nconst HIDDEN_STYLE = {\n  width: 0,\n  height: 0,\n  display: 'flex',\n  overflow: 'hidden',\n  opacity: 0,\n  border: 0,\n  padding: 0,\n  margin: 0,\n};\n\ninterface TreeEventInfo {\n  node: { key: Key };\n  selected?: boolean;\n  checked?: boolean;\n}\n\ntype ReviseRefOptionListProps = Omit<RefOptionListProps, 'scrollTo'> & { scrollTo: ScrollTo };\n\nexport default defineComponent({\n  compatConfig: { MODE: 3 },\n  name: 'OptionList',\n  inheritAttrs: false,\n  setup(_, { slots, expose }) {\n    const baseProps = useBaseProps();\n    const legacyContext = useInjectLegacySelectContext();\n    const context = useInjectSelectContext();\n    const treeRef = ref();\n    const memoTreeData = useMemo(\n      () => context.treeData,\n      [() => baseProps.open, () => context.treeData],\n      next => next[0],\n    );\n\n    const mergedCheckedKeys = computed(() => {\n      const { checkable, halfCheckedKeys, checkedKeys } = legacyContext;\n      if (!checkable)\n        return null;\n\n      return {\n        checked: checkedKeys,\n        halfChecked: halfCheckedKeys,\n      };\n    });\n\n    watch(\n      () => baseProps.open,\n      () => {\n        nextTick(() => {\n          if (baseProps.open && !baseProps.multiple && legacyContext.checkedKeys.length)\n            treeRef.value?.scrollTo({ key: legacyContext.checkedKeys[0] });\n        });\n      },\n      { immediate: true, flush: 'post' },\n    );\n\n    // ========================== Search ==========================\n    const lowerSearchValue = computed(() => String(baseProps.searchValue).toLowerCase());\n    const filterTreeNode = (treeNode: EventDataNode) => {\n      if (!lowerSearchValue.value)\n        return false;\n\n      return String(treeNode[legacyContext.treeNodeFilterProp])\n        .toLowerCase()\n        .includes(lowerSearchValue.value);\n    };\n\n    // =========================== Keys ===========================\n    const expandedKeys = shallowRef<Key[]>(legacyContext.treeDefaultExpandedKeys);\n    const searchExpandedKeys = shallowRef<Key[]>(null);\n\n    watch(\n      () => baseProps.searchValue,\n      () => {\n        if (baseProps.searchValue)\n          searchExpandedKeys.value = getAllKeys(toRaw(context.treeData), toRaw(context.fieldNames));\n      },\n      {\n        immediate: true,\n      },\n    );\n    const mergedExpandedKeys = computed(() => {\n      if (legacyContext.treeExpandedKeys)\n        return legacyContext.treeExpandedKeys.slice();\n\n      return baseProps.searchValue ? searchExpandedKeys.value : expandedKeys.value;\n    });\n\n    const onInternalExpand = (keys: Key[]) => {\n      expandedKeys.value = keys;\n      searchExpandedKeys.value = keys;\n\n      legacyContext.onTreeExpand?.(keys);\n    };\n\n    // ========================== Events ==========================\n    const onListMouseDown = (event: MouseEvent) => {\n      event.preventDefault();\n    };\n\n    const onInternalSelect = (_: Key[], { node }: TreeEventInfo) => {\n      const { checkable, checkedKeys } = legacyContext;\n      if (checkable && isCheckDisabled(node))\n        return;\n\n      context.onSelect?.(node.key, {\n        selected: !checkedKeys.includes(node.key),\n      });\n\n      if (!baseProps.multiple)\n        baseProps.toggleOpen?.(false);\n    };\n\n    // ========================= Keyboard =========================\n    const activeKey = ref<Key>(null);\n    const activeEntity = computed(() => legacyContext.keyEntities[activeKey.value]);\n\n    const setActiveKey = (key: Key) => {\n      activeKey.value = key;\n    };\n    expose({\n      scrollTo: (...args: any[]) => treeRef.value?.scrollTo?.(...args),\n      onKeydown: (event: KeyboardEvent) => {\n        const { which } = event;\n        switch (which) {\n          // >>> Arrow keys\n          case KeyCode.UP:\n          case KeyCode.DOWN:\n          case KeyCode.LEFT:\n          case KeyCode.RIGHT:\n            treeRef.value?.onKeydown(event);\n            break;\n\n          // >>> Select item\n          case KeyCode.ENTER: {\n            if (activeEntity.value) {\n              const { selectable, value } = activeEntity.value.node || {};\n              if (selectable !== false) {\n                onInternalSelect(null, {\n                  node: { key: activeKey.value },\n                  selected: !legacyContext.checkedKeys.includes(value),\n                });\n              }\n            }\n\n            break;\n          }\n\n          // >>> Close\n          case KeyCode.ESC: {\n            baseProps.toggleOpen(false);\n          }\n        }\n      },\n      onKeyup: () => {},\n    } as ReviseRefOptionListProps);\n\n    return () => {\n      const {\n        prefixCls,\n        multiple,\n        searchValue,\n        open,\n        notFoundContent = slots.notFoundContent?.(),\n      } = baseProps;\n      const { listHeight, listItemHeight, virtual, dropdownMatchSelectWidth, treeExpandAction }\n        = context;\n      const {\n        checkable,\n        treeDefaultExpandAll,\n        treeIcon,\n        showTreeIcon,\n        switcherIcon,\n        treeLine,\n        loadData,\n        treeLoadedKeys,\n        treeMotion,\n        onTreeLoad,\n        checkedKeys,\n      } = legacyContext;\n      // ========================== Render ==========================\n      if (memoTreeData.value.length === 0) {\n        return (\n          <div role=\"listbox\" class={`${prefixCls}-empty`} onMousedown={onListMouseDown}>\n            {notFoundContent}\n          </div>\n        );\n      }\n\n      const treeProps: Partial<TreeProps> = {\n        fieldNames: context.fieldNames,\n      };\n      if (treeLoadedKeys)\n        treeProps.loadedKeys = treeLoadedKeys;\n\n      if (mergedExpandedKeys.value)\n        treeProps.expandedKeys = mergedExpandedKeys.value;\n\n      return (\n        <div onMousedown={onListMouseDown}>\n          {activeEntity.value && open && (\n            <span style={HIDDEN_STYLE} aria-live=\"assertive\">\n              {activeEntity.value.node.value}\n            </span>\n          )}\n\n          <Tree\n            ref={treeRef}\n            focusable={false}\n            prefixCls={`${prefixCls}-tree`}\n            treeData={memoTreeData.value as TreeDataNode[]}\n            height={listHeight}\n            itemHeight={listItemHeight}\n            virtual={virtual !== false && dropdownMatchSelectWidth !== false}\n            multiple={multiple}\n            icon={treeIcon}\n            showIcon={showTreeIcon}\n            switcherIcon={switcherIcon}\n            showLine={treeLine}\n            loadData={searchValue ? null : (loadData as any)}\n            motion={treeMotion}\n            activeKey={activeKey.value}\n            // We handle keys by out instead tree self\n            checkable={checkable}\n            checkStrictly\n            checkedKeys={mergedCheckedKeys.value}\n            selectedKeys={!checkable ? checkedKeys : []}\n            defaultExpandAll={treeDefaultExpandAll}\n            {...treeProps}\n            // Proxy event out\n            onActiveChange={setActiveKey}\n            onSelect={onInternalSelect}\n            onCheck={onInternalSelect as any}\n            onExpand={onInternalExpand}\n            onLoad={onTreeLoad}\n            filterTreeNode={filterTreeNode}\n            expandAction={treeExpandAction}\n            v-slots={{ ...slots, checkable: legacyContext.customSlots.treeCheckable }}\n          />\n        </div>\n      );\n    };\n  },\n});\n"],"names":["HIDDEN_STYLE","width","height","display","overflow","opacity","border","padding","margin","defineComponent","compatConfig","MODE","name","inheritAttrs","setup","_","slots","expose","baseProps","useBaseProps","legacyContext","useInjectLegacySelectContext","context","useInjectSelectContext","treeRef","ref","memoTreeData","useMemo","treeData","open","next","mergedCheckedKeys","computed","checkable","halfCheckedKeys","checkedKeys","checked","halfChecked","watch","nextTick","multiple","length","value","scrollTo","key","immediate","flush","lowerSearchValue","String","searchValue","toLowerCase","filterTreeNode","treeNode","treeNodeFilterProp","includes","expandedKeys","shallowRef","treeDefaultExpandedKeys","searchExpandedKeys","getAllKeys","toRaw","fieldNames","mergedExpandedKeys","treeExpandedKeys","slice","onInternalExpand","keys","onTreeExpand","onListMouseDown","event","preventDefault","onInternalSelect","node","isCheckDisabled","onSelect","selected","toggleOpen","activeKey","activeEntity","keyEntities","setActiveKey","args","onKeydown","which","KeyCode","UP","DOWN","LEFT","RIGHT","ENTER","selectable","ESC","onKeyup","prefixCls","notFoundContent","listHeight","listItemHeight","virtual","dropdownMatchSelectWidth","treeExpandAction","treeDefaultExpandAll","treeIcon","showTreeIcon","switcherIcon","treeLine","loadData","treeLoadedKeys","treeMotion","onTreeLoad","_createVNode","treeProps","loadedKeys","Tree","customSlots","treeCheckable"],"mappings":"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"}