{"version":3,"file":"Select.cjs","sources":["../../../../../../packages/components/select/src/Select.tsx"],"sourcesContent":["import type { CustomSlotsType } from '@antdv/types';\nimport type { BaseSelectRef, SelectCommonPlacement } from '@antdv/vue-components';\nimport {\n  classNames,\n  devWarning,\n  getMergedStatus,\n  getStatusClassNames,\n  initDefaultProps,\n  omit,\n} from '@antdv/utils';\nimport { getTransitionDirection, getTransitionName, VcOptGroup, VcOption, VcSelect } from '@antdv/vue-components';\nimport { computed, defineComponent, ref } from 'vue';\nimport { useInjectDisabled } from '../../config-provider';\nimport useConfigInject from '../../config-provider/src/hooks/useConfigInject';\nimport { DefaultRenderEmpty } from '../../config-provider/src/renderEmpty';\n\nimport { FormItemInputContext, useInjectFormItemContext } from '../../form/src/FormItemContext';\n\nimport { useCompactItemContext } from '../../space';\nimport useStyle from '../style';\nimport getIcons from './iconUtil';\nimport { type SelectProps, selectProps } from './props';\n\nconst SECRET_COMBOBOX_MODE_DO_NOT_USE = 'SECRET_COMBOBOX_MODE_DO_NOT_USE';\n\nexport default defineComponent({\n  compatConfig: { MODE: 3 },\n  name: 'ASelect',\n  Option: VcOption,\n  OptionGroup: VcOptGroup,\n  inheritAttrs: false,\n  props: initDefaultProps(selectProps(), {\n    listHeight: 256,\n    listItemHeight: 24,\n  }),\n  SECRET_COMBOBOX_MODE_DO_NOT_USE,\n  slots: Object as CustomSlotsType<{\n    notFoundContent: any\n    suffixIcon: any\n    itemIcon: any\n    removeIcon: any\n    clearIcon: any\n    dropdownRender: any\n    option: any\n    placeholder: any\n    tagRender: any\n    maxTagPlaceholder: any\n    optionLabel: any\n    default: any\n  }>,\n  setup(props, { attrs, emit, slots, expose }) {\n    const selectRef = ref<BaseSelectRef>();\n    const formItemContext = useInjectFormItemContext();\n    const formItemInputContext = FormItemInputContext.useInject();\n    const mergedStatus = computed(() => getMergedStatus(formItemInputContext.status, props.status));\n    const focus = () => {\n      selectRef.value?.focus();\n    };\n\n    const blur = () => {\n      selectRef.value?.blur();\n    };\n\n    const scrollTo: BaseSelectRef['scrollTo'] = (arg) => {\n      selectRef.value?.scrollTo(arg);\n    };\n\n    const getMode = computed(() => {\n      const { mode } = props;\n\n      if ((mode as any) === 'combobox')\n        return undefined;\n\n      if (mode === SECRET_COMBOBOX_MODE_DO_NOT_USE)\n        return 'combobox';\n\n      return mode;\n    });\n\n    if (process.env.NODE_ENV !== 'production') {\n      devWarning(\n        !props.dropdownClassName,\n        'Select',\n        '`dropdownClassName` is deprecated. Please use `popupClassName` instead.',\n      );\n    }\n    const {\n      prefixCls,\n      direction,\n      renderEmpty,\n      size: contextSize,\n      getPrefixCls,\n      getPopupContainer,\n      disabled,\n      select,\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    // style\n    const [wrapSSR, hashId] = useStyle(prefixCls);\n\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 mergedClassName = computed(() =>\n      classNames(\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`]: !props.bordered,\n          [`${prefixCls.value}-in-form-item`]: formItemInputContext.isFormItemInput,\n        },\n        getStatusClassNames(prefixCls.value, mergedStatus.value, formItemInputContext.hasFeedback),\n        compactItemClassnames.value,\n        hashId.value,\n      ),\n    );\n    const triggerChange: SelectProps['onChange'] = (...args) => {\n      emit('update:value', args[0]);\n      emit('change', ...args);\n      formItemContext.onFieldChange();\n    };\n    const handleBlur: SelectProps['onBlur'] = (e) => {\n      emit('blur', e);\n      formItemContext.onFieldBlur();\n    };\n    expose({\n      blur,\n      focus,\n      scrollTo,\n    });\n    const isMultiple = computed(() => getMode.value === 'multiple' || getMode.value === 'tags');\n    const mergedShowArrow = computed(() =>\n      props.showArrow !== undefined\n        ? props.showArrow\n        : props.loading || !(isMultiple.value || getMode.value === 'combobox'),\n    );\n\n    return () => {\n      const {\n        notFoundContent,\n        listHeight = 256,\n        listItemHeight = 24,\n        popupClassName,\n        dropdownClassName,\n        virtual,\n        dropdownMatchSelectWidth,\n        id = formItemContext.id.value,\n        placeholder = slots.placeholder?.(),\n        showArrow,\n      } = props;\n      const { hasFeedback, feedbackIcon } = formItemInputContext;\n\n      // ===================== Empty =====================\n      let mergedNotFound: any;\n      if (notFoundContent !== undefined)\n        mergedNotFound = notFoundContent;\n      else if (slots.notFoundContent)\n        mergedNotFound = slots.notFoundContent();\n      else if (getMode.value === 'combobox')\n        mergedNotFound = null;\n      else\n        mergedNotFound = renderEmpty?.('Select') || <DefaultRenderEmpty componentName=\"Select\" />;\n\n      // ===================== Icons =====================\n      const { suffixIcon, itemIcon, removeIcon, clearIcon } = getIcons(\n        {\n          ...props,\n          multiple: isMultiple.value,\n          prefixCls: prefixCls.value,\n          hasFeedback,\n          feedbackIcon,\n          showArrow: mergedShowArrow.value,\n        },\n        slots,\n      );\n\n      const selectProps = omit(props, [\n        'prefixCls',\n        'suffixIcon',\n        'itemIcon',\n        'removeIcon',\n        'clearIcon',\n        'size',\n        'bordered',\n        'status',\n      ]);\n\n      const rcSelectRtlDropdownClassName = classNames(\n        popupClassName || dropdownClassName,\n        {\n          [`${prefixCls.value}-dropdown-${direction.value}`]: direction.value === 'rtl',\n        },\n        hashId.value,\n      );\n\n      return wrapSSR(\n        <VcSelect\n          ref={selectRef}\n          virtual={virtual}\n          dropdownMatchSelectWidth={dropdownMatchSelectWidth}\n          {...selectProps}\n          {...attrs}\n          showSearch={props.showSearch ?? select?.value?.showSearch}\n          placeholder={placeholder}\n          listHeight={listHeight}\n          listItemHeight={listItemHeight}\n          mode={getMode.value}\n          prefixCls={prefixCls.value}\n          direction={direction.value}\n          inputIcon={suffixIcon}\n          menuItemSelectedIcon={itemIcon}\n          removeIcon={removeIcon}\n          clearIcon={clearIcon}\n          notFoundContent={mergedNotFound}\n          class={[mergedClassName.value, attrs.class]}\n          getPopupContainer={getPopupContainer?.value}\n          dropdownClassName={rcSelectRtlDropdownClassName}\n          onChange={triggerChange}\n          onBlur={handleBlur}\n          id={id}\n          dropdownRender={selectProps.dropdownRender || slots.dropdownRender}\n          v-slots={{ option: slots.option }}\n          transitionName={transitionName.value}\n          children={slots.default?.()}\n          tagRender={props.tagRender || slots.tagRender}\n          optionLabelRender={slots.optionLabel}\n          maxTagPlaceholder={props.maxTagPlaceholder || slots.maxTagPlaceholder}\n          showArrow={hasFeedback || showArrow}\n          disabled={mergedDisabled.value}\n        >\n        </VcSelect>,\n      );\n    };\n  },\n});\n"],"names":["SECRET_COMBOBOX_MODE_DO_NOT_USE","defineComponent","compatConfig","MODE","name","Option","VcOption","OptionGroup","VcOptGroup","inheritAttrs","props","initDefaultProps","selectProps","listHeight","listItemHeight","slots","Object","setup","attrs","emit","expose","selectRef","ref","formItemContext","useInjectFormItemContext","formItemInputContext","FormItemInputContext","useInject","mergedStatus","computed","getMergedStatus","status","focus","value","blur","scrollTo","arg","getMode","mode","undefined","process","env","NODE_ENV","devWarning","dropdownClassName","prefixCls","direction","renderEmpty","size","contextSize","getPrefixCls","getPopupContainer","disabled","select","useConfigInject","compactSize","compactItemClassnames","useCompactItemContext","mergedSize","contextDisabled","useInjectDisabled","mergedDisabled","wrapSSR","hashId","useStyle","rootPrefixCls","placement","transitionName","getTransitionName","getTransitionDirection","mergedClassName","classNames","bordered","isFormItemInput","getStatusClassNames","hasFeedback","triggerChange","args","onFieldChange","handleBlur","e","onFieldBlur","isMultiple","mergedShowArrow","showArrow","loading","notFoundContent","popupClassName","virtual","dropdownMatchSelectWidth","id","placeholder","feedbackIcon","mergedNotFound","_createVNode","DefaultRenderEmpty","suffixIcon","itemIcon","removeIcon","clearIcon","getIcons","multiple","omit","rcSelectRtlDropdownClassName","VcSelect","showSearch","class","dropdownRender","default","tagRender","optionLabel","maxTagPlaceholder","option"],"mappings":"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"}