{"version":3,"file":"cascader.mjs","sources":["../../../components/cascader/cascader.tsx"],"sourcesContent":["import { defineComponent, computed } from 'vue';\nimport { omit } from 'lodash-es';\nimport Panel 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 { useConfig, usePrefixClass, useCommonClassName } from '../hooks/useConfig';\nimport { useCascaderContext } from './hooks';\nimport { useTNodeJSX } from '../hooks/tnode';\nimport { useDisabled } from '../hooks/useDisabled';\nimport { useReadonly } from '../hooks/useReadonly';\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();\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, disabled } = cascaderContext.value;\n      return (\n        <FakeArrow\n          overlayClassName={getFakeArrowIconClass(classPrefix.value, STATUS.value, cascaderContext.value)}\n          isActive={visible}\n          disabled={disabled}\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      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          onInputChange={(value, ctx) => {\n            if (!isFilterable.value) return;\n            setInputVal(`${value}`);\n            (props?.selectInputProps as TdSelectInputProps)?.onInputChange?.(value, ctx);\n          }}\n          onTagChange={(val: CascaderValue, ctx) => {\n            // 按 enter 键不处理\n            if (ctx.trigger === 'enter') return;\n            handleRemoveTagEffect(cascaderContext.value, ctx.index, props.onRemove);\n            // @ts-ignore TODO: fix bug\n            (props?.selectInputProps as TdSelectInputProps)?.onTagChange?.(val, ctx);\n          }}\n          onPopupVisibleChange={(val: boolean, context) => {\n            if (isDisabled.value) return;\n            setVisible(val, context);\n            (props?.selectInputProps as TdSelectInputProps)?.onPopupVisibleChange?.(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            (props?.selectInputProps as TdSelectInputProps)?.onBlur?.(val, context);\n          }}\n          onFocus={(val, context) => {\n            props.onFocus?.({\n              value: cascaderContext.value.value,\n              e: context.e,\n            });\n            (props?.selectInputProps as TdSelectInputProps)?.onFocus?.(val, context);\n          }}\n          onClear={(context: { e: MouseEvent }) => {\n            closeIconClickEffect(cascaderContext.value);\n            (props?.selectInputProps as TdSelectInputProps)?.onClear?.(context);\n          }}\n          v-slots={{\n            label: slots.label,\n            suffix: slots.suffix,\n            prefixIcon: slots.prefixIcon,\n            panel: () => (\n              <>\n                {renderTNodeJSX('panelTopContent')}\n                <Panel\n                  option={props.option}\n                  empty={props.empty}\n                  visible={visible}\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          {...omit(props.selectInputProps as TdSelectInputProps, [\n            'onTagChange',\n            'onInputChange',\n            'onPopupVisibleChange',\n            'onBlur',\n            'onFocus',\n            'onClear',\n          ])}\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","_cascaderContext$valu","disabled","_createVNode","FakeArrow","getFakeArrowIconClass","valueDisplayParams","arrayValue","Array","minCollapsedNum","slice","options","selectedOptions","onClose","index","handleRemoveTagEffect","onRemove","renderValueDisplay","params","renderLabel","label","concat","cascaderClassNames","_props2$popupProps","_cascaderContext$valu2","setVisible","inputVal","setInputVal","SelectInput","_mergeProps","keys","collapsedItems","clearable","loading","status","tips","borderless","prefixIcon","suffix","popupProps","overlayInnerStyle","length","width","_objectSpread","size","inputProps","tagInputProps","tagProps","onInputChange","ctx","_props2$selectInputPr","_props2$selectInputPr2","selectInputProps","onTagChange","val","_props2$selectInputPr3","_props2$selectInputPr4","trigger","onPopupVisibleChange","context","_props2$selectInputPr5","_props2$selectInputPr6","onBlur","_props2$onBlur","_props2$selectInputPr7","_props2$selectInputPr8","inputValue","e","onFocus","_props2$onFocus","_props2$selectInputPr9","_props2$selectInputPr10","onClear","_props2$selectInputPr11","_props2$selectInputPr12","closeIconClickEffect","omit","panel","Panel","option","empty","loadingText"],"mappings":"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"}