{"version":3,"file":"cascader.mjs","sources":["../../../components/cascader/cascader.tsx"],"sourcesContent":["import { defineComponent, computed, ComputedRef } from 'vue';\nimport TCascaderSubPanel from './components/Panel';\nimport SelectInput from '../select-input';\nimport FakeArrow from '../common-components/fake-arrow';\nimport props from './props';\n\nimport { CascaderValue, TdSelectInputProps, TdCascaderProps } from './types';\nimport {\n  closeIconClickEffect,\n  handleRemoveTagEffect,\n  getFakeArrowIconClass,\n  getPanels,\n  getSingleContent,\n  getMultipleContent,\n} from './utils';\n\nimport {\n  useConfig,\n  useTNodeJSX,\n  useDisabled,\n  useReadonly,\n  usePrefixClass,\n  useCommonClassName,\n  useEventForward,\n} from '@tdesign/shared-hooks';\nimport { useCascaderContext } from './hooks';\n\nexport default defineComponent({\n  name: 'TCascader',\n  props,\n  setup(props, { slots }) {\n    const COMPONENT_NAME = usePrefixClass('cascader');\n    const classPrefix = usePrefixClass();\n    const { STATUS } = useCommonClassName();\n    const overlayClassName = usePrefixClass('cascader__popup');\n    const { globalConfig } = useConfig('cascader');\n    const isDisabled = useDisabled() as ComputedRef<boolean>;\n    const isReadonly = useReadonly();\n    const renderTNodeJSX = useTNodeJSX();\n\n    // 拿到全局状态的上下文\n    const { cascaderContext, innerValue, isFilterable, getCascaderItems } = useCascaderContext(props);\n\n    const displayValue = computed(() =>\n      props.multiple ? getMultipleContent(cascaderContext.value) : getSingleContent(cascaderContext.value),\n    );\n\n    const panels = computed(() => getPanels(cascaderContext.value.treeNodes));\n\n    const inputPlaceholder = computed(\n      () =>\n        (cascaderContext.value.visible && !props.multiple && getSingleContent(cascaderContext.value)) ||\n        (props.placeholder ?? globalConfig.value.placeholder),\n    );\n\n    const renderSuffixIcon = () => {\n      if (props.suffixIcon || slots.suffixIcon) {\n        return renderTNodeJSX('suffixIcon');\n      }\n\n      const { visible } = cascaderContext.value;\n      return (\n        <FakeArrow\n          overlayClassName={getFakeArrowIconClass(classPrefix.value, STATUS.value, cascaderContext.value)}\n          isActive={visible}\n        />\n      );\n    };\n\n    const valueDisplayParams = computed(() => {\n      const arrayValue = innerValue.value instanceof Array ? innerValue.value : [innerValue.value];\n      const displayValue =\n        props.multiple && props.minCollapsedNum ? arrayValue.slice(0, props.minCollapsedNum) : innerValue.value;\n      const options = getCascaderItems(arrayValue);\n      return {\n        value: innerValue.value,\n        selectedOptions: options,\n        onClose: (index: number) => {\n          handleRemoveTagEffect(cascaderContext.value, index, props.onRemove);\n        },\n        displayValue,\n      };\n    });\n\n    const renderValueDisplay = () => {\n      return renderTNodeJSX('valueDisplay', {\n        params: valueDisplayParams.value,\n      });\n    };\n\n    const renderLabel = () => {\n      const label = renderTNodeJSX('label');\n      if (props.multiple) return label;\n      if (!label) return null;\n      return <div class={`${classPrefix.value}-tag-input__prefix`}>{label}</div>;\n    };\n\n    const cascaderClassNames = computed(() => [\n      COMPONENT_NAME.value,\n      props.multiple ? `${COMPONENT_NAME.value}--multiple` : `${COMPONENT_NAME.value}--single`,\n    ]);\n\n    return () => {\n      const { setVisible, visible, inputVal, setInputVal } = cascaderContext.value;\n\n      const selectInputEvents = useEventForward(props.selectInputProps as TdSelectInputProps, {\n        onTagChange: (val: CascaderValue, ctx) => {\n          // 按 enter 键不处理\n          if (ctx.trigger === 'enter') return;\n          handleRemoveTagEffect(cascaderContext.value, ctx.index, props.onRemove);\n        },\n        onInputChange: (value) => {\n          if (!isFilterable.value) return;\n          setInputVal(`${value}`);\n        },\n        onPopupVisibleChange: (val: boolean, context) => {\n          if (isDisabled.value) return;\n          setVisible(val, context);\n        },\n        onBlur: (val, context) => {\n          props.onBlur?.({\n            value: cascaderContext.value.value,\n            inputValue: context.inputValue || '',\n            e: context.e as FocusEvent,\n          });\n        },\n        onFocus: (val, context) => {\n          props.onFocus?.({\n            value: cascaderContext.value.value,\n            e: context.e,\n          });\n        },\n        onClear: () => {\n          closeIconClickEffect(cascaderContext.value);\n        },\n      });\n\n      return (\n        <SelectInput\n          class={cascaderClassNames.value}\n          value={displayValue.value}\n          inputValue={visible ? inputVal : ''}\n          popupVisible={visible}\n          keys={props.keys}\n          allowInput={isFilterable.value}\n          min-collapsed-num={props.minCollapsedNum}\n          collapsed-items={props.collapsedItems}\n          readonly={isReadonly.value}\n          disabled={isDisabled.value}\n          clearable={props.clearable}\n          placeholder={inputPlaceholder.value}\n          multiple={props.multiple}\n          loading={props.loading}\n          status={props.status}\n          tips={props.tips}\n          borderless={props.borderless}\n          label={renderLabel}\n          valueDisplay={renderValueDisplay}\n          prefixIcon={props.prefixIcon}\n          suffix={props.suffix}\n          suffixIcon={() => renderSuffixIcon()}\n          popupProps={{\n            ...(props.popupProps as TdCascaderProps['popupProps']),\n            overlayInnerStyle: panels.value.length && !props.loading ? { width: 'auto' } : '',\n            overlayClassName: [\n              overlayClassName.value,\n              (props.popupProps as TdCascaderProps['popupProps'])?.overlayClassName,\n            ],\n          }}\n          inputProps={{ size: props.size, ...(props.inputProps as TdCascaderProps['inputProps']) }}\n          tagInputProps={{\n            size: props.size,\n            ...(props.tagInputProps as TdCascaderProps['tagInputProps']),\n          }}\n          tagProps={{ ...(props.tagProps as TdCascaderProps['tagProps']) }}\n          v-slots={{\n            label: slots.label,\n            suffix: slots.suffix,\n            prefixIcon: slots.prefixIcon,\n            panel: () => (\n              <>\n                {renderTNodeJSX('panelTopContent')}\n                <TCascaderSubPanel\n                  option={props.option}\n                  options={props.options}\n                  empty={props.empty}\n                  trigger={props.trigger}\n                  loading={props.loading}\n                  loadingText={props.loadingText}\n                  cascaderContext={cascaderContext.value}\n                  v-slots={{ option: slots.option, empty: slots.empty, loadingText: slots.loadingText }}\n                />\n                {renderTNodeJSX('panelBottomContent')}\n              </>\n            ),\n            collapsedItems: slots.collapsedItems,\n          }}\n          {...selectInputEvents.value}\n        />\n      );\n    };\n  },\n});\n"],"names":["defineComponent","name","props","setup","slots","_ref","COMPONENT_NAME","usePrefixClass","classPrefix","_useCommonClassName","useCommonClassName","STATUS","overlayClassName","_useConfig","useConfig","globalConfig","isDisabled","useDisabled","isReadonly","useReadonly","renderTNodeJSX","useTNodeJSX","_useCascaderContext","useCascaderContext","cascaderContext","innerValue","isFilterable","getCascaderItems","displayValue","computed","multiple","getMultipleContent","value","getSingleContent","panels","getPanels","treeNodes","inputPlaceholder","_props2$placeholder","visible","placeholder","renderSuffixIcon","suffixIcon","_createVNode","FakeArrow","getFakeArrowIconClass","valueDisplayParams","arrayValue","Array","minCollapsedNum","slice","options","selectedOptions","onClose","index","handleRemoveTagEffect","onRemove","renderValueDisplay","params","renderLabel","label","concat","cascaderClassNames","_props2$popupProps","_cascaderContext$valu","setVisible","inputVal","setInputVal","selectInputEvents","useEventForward","selectInputProps","onTagChange","val","ctx","trigger","onInputChange","onPopupVisibleChange","context","onBlur","_props2$onBlur","inputValue","e","onFocus","_props2$onFocus","onClear","closeIconClickEffect","SelectInput","_mergeProps","keys","collapsedItems","clearable","loading","status","tips","borderless","prefixIcon","suffix","popupProps","overlayInnerStyle","length","width","_objectSpread","size","inputProps","tagInputProps","tagProps","panel","TCascaderSubPanel","option","empty","loadingText"],"mappings":"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"}