{"version":3,"file":"TreeSelect.cjs","sources":["../../../../../../packages/components/tree-select/src/TreeSelect.tsx"],"sourcesContent":["import type { CustomSlotsType, Key } from '@antdv/types';\nimport type { SelectCommonPlacement } from '@antdv/vue-components';\nimport type { SwitcherIconProps } from '../../tree/src/utils/iconUtil';\nimport type { TreeSelectProps } from './props';\nimport {\n  classNames,\n  devWarning,\n  flattenChildren,\n  getMergedStatus,\n  getStatusClassNames,\n  initDefaultProps,\n  omit,\n  warning,\n} from '@antdv/utils';\nimport { getTransitionDirection, VcTreeSelect } from '@antdv/vue-components';\nimport { computed, defineComponent, ref } from 'vue';\n\n// CSSINJS\nimport { useInjectDisabled } from '../../config-provider';\nimport useConfigInject from '../../config-provider/src/hooks/useConfigInject';\n\nimport { FormItemInputContext, useInjectFormItemContext } from '../../form/src/FormItemContext';\n\nimport getIcons from '../../select/src/iconUtil';\nimport useSelectStyle from '../../select/style';\n\nimport { useCompactItemContext } from '../../space/src/context';\nimport renderSwitcherIcon from '../../tree/src/utils/iconUtil';\nimport useStyle from '../style';\nimport { treeSelectProps } from './props';\n\nfunction getTransitionName(rootPrefixCls: string, motion: string, transitionName?: string) {\n  if (transitionName !== undefined)\n    return transitionName;\n\n  return `${rootPrefixCls}-${motion}`;\n}\n\nexport default defineComponent({\n  compatConfig: { MODE: 3 },\n  name: 'ATreeSelect',\n  inheritAttrs: false,\n  props: initDefaultProps(treeSelectProps(), {\n    choiceTransitionName: '',\n    listHeight: 256,\n    treeIcon: false,\n    listItemHeight: 26,\n    bordered: true,\n  }),\n  slots: Object as CustomSlotsType<{\n    title?: any\n    titleRender?: any\n    placeholder?: any\n    maxTagPlaceholder?: any\n    treeIcon?: any\n    switcherIcon?: any\n    notFoundContent?: any\n    default?: any\n    leafIcon?: any\n    tagRender?: any\n    suffixIcon?: any\n  }>,\n  setup(props, { attrs, slots, expose, emit }) {\n    warning(\n      !(props.treeData === undefined && slots.default),\n      '`children` of TreeSelect is deprecated. Please use `treeData` instead.',\n    );\n    devWarning(\n      props.multiple !== false || !props.treeCheckable,\n      'TreeSelect',\n      '`multiple` will always be `true` when `treeCheckable` is true',\n    );\n    devWarning(\n      props.replaceFields === undefined,\n      'TreeSelect',\n      '`replaceFields` is deprecated, please use fieldNames instead',\n    );\n    devWarning(\n      !props.dropdownClassName,\n      'TreeSelect',\n      '`dropdownClassName` is deprecated. Please use `popupClassName` instead.',\n    );\n\n    const formItemContext = useInjectFormItemContext();\n    const formItemInputContext = FormItemInputContext.useInject();\n    const mergedStatus = computed(() => getMergedStatus(formItemInputContext.status, props.status));\n    const {\n      prefixCls,\n      renderEmpty,\n      direction,\n      virtual,\n      dropdownMatchSelectWidth,\n      size: contextSize,\n      getPopupContainer,\n      getPrefixCls,\n      disabled,\n    } = useConfigInject('select', props);\n    const { compactSize, compactItemClassnames } = useCompactItemContext(prefixCls, direction);\n    const mergedSize = computed(() => compactSize.value || contextSize.value);\n    const contextDisabled = useInjectDisabled();\n    const mergedDisabled = computed(() => disabled.value ?? contextDisabled.value);\n    const rootPrefixCls = computed(() => getPrefixCls());\n    // ===================== Placement =====================\n    const placement = computed(() => {\n      if (props.placement !== undefined)\n        return props.placement;\n\n      return direction.value === 'rtl'\n        ? ('bottomRight' as SelectCommonPlacement)\n        : ('bottomLeft' as SelectCommonPlacement);\n    });\n    const transitionName = computed(() =>\n      getTransitionName(\n        rootPrefixCls.value,\n        getTransitionDirection(placement.value),\n        props.transitionName,\n      ),\n    );\n    const choiceTransitionName = computed(() =>\n      getTransitionName(rootPrefixCls.value, '', props.choiceTransitionName),\n    );\n    const treePrefixCls = computed(() => getPrefixCls('select-tree', props.prefixCls));\n    const treeSelectPrefixCls = computed(() => getPrefixCls('tree-select', props.prefixCls));\n\n    // style\n    const [wrapSelectSSR, hashId] = useSelectStyle(prefixCls);\n    const [wrapTreeSelectSSR] = useStyle(treeSelectPrefixCls, treePrefixCls);\n\n    const mergedDropdownClassName = computed(() =>\n      classNames(\n        props.popupClassName || props.dropdownClassName,\n        `${treeSelectPrefixCls.value}-dropdown`,\n        {\n          [`${treeSelectPrefixCls.value}-dropdown-rtl`]: direction.value === 'rtl',\n        },\n        hashId.value,\n      ),\n    );\n\n    const isMultiple = computed(() => !!(props.treeCheckable || props.multiple));\n    const mergedShowArrow = computed(() =>\n      props.showArrow !== undefined ? props.showArrow : props.loading || !isMultiple.value,\n    );\n\n    const treeSelectRef = ref();\n    expose({\n      focus() {\n        treeSelectRef.value.focus?.();\n      },\n\n      blur() {\n        treeSelectRef.value.blur?.();\n      },\n    });\n\n    const handleChange: TreeSelectProps['onChange'] = (...args: any[]) => {\n      emit('update:value', args[0]);\n      emit('change', ...args);\n      formItemContext.onFieldChange();\n    };\n    const handleTreeExpand: TreeSelectProps['onTreeExpand'] = (keys: Key[]) => {\n      emit('update:treeExpandedKeys', keys);\n      emit('treeExpand', keys);\n    };\n    const handleSearch: TreeSelectProps['onSearch'] = (value: string) => {\n      emit('update:searchValue', value);\n      emit('search', value);\n    };\n    const handleBlur = (e: FocusEvent) => {\n      emit('blur', e);\n      formItemContext.onFieldBlur();\n    };\n    return () => {\n      const {\n        notFoundContent = slots.notFoundContent?.(),\n        prefixCls: customizePrefixCls,\n        bordered,\n        listHeight,\n        listItemHeight,\n        multiple,\n        treeIcon,\n        treeLine,\n        showArrow,\n        switcherIcon = slots.switcherIcon?.(),\n        fieldNames = props.replaceFields,\n        id = formItemContext.id.value,\n        placeholder = slots.placeholder?.(),\n      } = props;\n      const { isFormItemInput, hasFeedback, feedbackIcon } = formItemInputContext;\n      // ===================== Icons =====================\n      const { suffixIcon, removeIcon, clearIcon } = getIcons(\n        {\n          ...props,\n          multiple: isMultiple.value,\n          showArrow: mergedShowArrow.value,\n          hasFeedback,\n          feedbackIcon,\n          prefixCls: prefixCls.value,\n        },\n        slots,\n      );\n\n      // ===================== Empty =====================\n      let mergedNotFound;\n      if (notFoundContent !== undefined)\n        mergedNotFound = notFoundContent;\n      else\n        mergedNotFound = renderEmpty('Select');\n\n      // ==================== Render =====================\n      const selectProps = omit(props as typeof props & { itemIcon: any, switcherIcon: any }, [\n        'suffixIcon',\n        'itemIcon',\n        'removeIcon',\n        'clearIcon',\n        'switcherIcon',\n        'bordered',\n        'status',\n        'onSearch',\n        'onUpdate:value',\n        'onUpdate:treeExpandedKeys',\n        'onUpdate:searchValue',\n      ]);\n\n      const mergedClassName = classNames(\n        !customizePrefixCls && treeSelectPrefixCls.value,\n        {\n          [`${prefixCls.value}-lg`]: mergedSize.value === 'large',\n          [`${prefixCls.value}-sm`]: mergedSize.value === 'small',\n          [`${prefixCls.value}-rtl`]: direction.value === 'rtl',\n          [`${prefixCls.value}-borderless`]: !bordered,\n          [`${prefixCls.value}-in-form-item`]: isFormItemInput,\n        },\n        getStatusClassNames(prefixCls.value, mergedStatus.value, hasFeedback),\n        compactItemClassnames.value,\n        attrs.class,\n        hashId.value,\n      );\n      const otherProps: any = {};\n      if (props.treeData === undefined && slots.default)\n        otherProps.children = flattenChildren(slots.default());\n\n      return wrapSelectSSR(\n        wrapTreeSelectSSR(\n          <VcTreeSelect\n            {...attrs}\n            {...selectProps}\n            disabled={mergedDisabled.value}\n            virtual={virtual.value}\n            dropdownMatchSelectWidth={dropdownMatchSelectWidth.value}\n            id={id}\n            fieldNames={fieldNames}\n            ref={treeSelectRef}\n            prefixCls={prefixCls.value}\n            class={mergedClassName}\n            listHeight={listHeight}\n            listItemHeight={listItemHeight}\n            treeLine={!!treeLine}\n            inputIcon={suffixIcon}\n            multiple={multiple}\n            removeIcon={removeIcon}\n            clearIcon={clearIcon}\n            switcherIcon={(nodeProps: SwitcherIconProps) => {\n              return renderSwitcherIcon(\n                treePrefixCls.value,\n                switcherIcon,\n                nodeProps,\n                slots.leafIcon,\n                treeLine,\n              );\n            }}\n            showTreeIcon={treeIcon as any}\n            notFoundContent={mergedNotFound}\n            getPopupContainer={getPopupContainer?.value}\n            treeMotion={null}\n            dropdownClassName={mergedDropdownClassName.value}\n            choiceTransitionName={choiceTransitionName.value}\n            onChange={handleChange}\n            onBlur={handleBlur}\n            onSearch={handleSearch}\n            onTreeExpand={handleTreeExpand}\n            v-slots={{\n              ...slots,\n              treeCheckable: () => <span class={`${prefixCls.value}-tree-checkbox-inner`} />,\n            }}\n            {...otherProps}\n            transitionName={transitionName.value}\n            customSlots={{\n              ...slots,\n              treeCheckable: () => <span class={`${prefixCls.value}-tree-checkbox-inner`} />,\n            }}\n            maxTagPlaceholder={props.maxTagPlaceholder || slots.maxTagPlaceholder}\n            placement={placement.value}\n            showArrow={hasFeedback || showArrow}\n            placeholder={placeholder}\n          />,\n        ),\n      );\n    };\n  },\n});\n"],"names":["getTransitionName","rootPrefixCls","motion","transitionName","undefined","defineComponent","compatConfig","MODE","name","inheritAttrs","props","initDefaultProps","treeSelectProps","choiceTransitionName","listHeight","treeIcon","listItemHeight","bordered","slots","Object","setup","attrs","expose","emit","warning","treeData","default","devWarning","multiple","treeCheckable","replaceFields","dropdownClassName","formItemContext","useInjectFormItemContext","formItemInputContext","FormItemInputContext","useInject","mergedStatus","computed","getMergedStatus","status","prefixCls","renderEmpty","direction","virtual","dropdownMatchSelectWidth","size","contextSize","getPopupContainer","getPrefixCls","disabled","useConfigInject","compactSize","compactItemClassnames","useCompactItemContext","mergedSize","value","contextDisabled","useInjectDisabled","mergedDisabled","placement","getTransitionDirection","treePrefixCls","treeSelectPrefixCls","wrapSelectSSR","hashId","useSelectStyle","wrapTreeSelectSSR","useStyle","mergedDropdownClassName","classNames","popupClassName","isMultiple","mergedShowArrow","showArrow","loading","treeSelectRef","ref","focus","blur","handleChange","args","onFieldChange","handleTreeExpand","keys","handleSearch","handleBlur","e","onFieldBlur","notFoundContent","customizePrefixCls","treeLine","switcherIcon","fieldNames","id","placeholder","isFormItemInput","hasFeedback","feedbackIcon","suffixIcon","removeIcon","clearIcon","getIcons","mergedNotFound","selectProps","omit","mergedClassName","getStatusClassNames","class","otherProps","children","flattenChildren","_createVNode","VcTreeSelect","nodeProps","renderSwitcherIcon","leafIcon","maxTagPlaceholder"],"mappings":"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"}