{"version":3,"file":"tree-select.mjs","sources":["../../src/tree-select/tree-select.tsx"],"sourcesContent":["import { computed, defineComponent, ref, toRefs, watch } from 'vue';\nimport { SideBar as TSideBar, SideBarItem as TSideBarItem } from '../side-bar';\nimport TRadio, { RadioGroup as TRadioGroup } from '../radio';\nimport TCheckbox, { CheckboxGroup as TCheckboxGroup } from '../checkbox';\nimport config from '../config';\nimport { convertUnit, useDefault } from '../shared';\nimport props from './props';\nimport { TdTreeSelectProps, TreeSelectValue, _TreeOptionData } from './type';\nimport { usePrefixClass } from '../hooks/useClass';\n\nconst { prefix } = config;\n\nexport default defineComponent({\n  name: `${prefix}-tree-select`,\n  components: {\n    TSideBar,\n    TSideBarItem,\n    TRadio,\n    TRadioGroup,\n  },\n  props,\n  emits: ['update:value', 'update:modelValue', 'change'],\n  setup(props: TdTreeSelectProps, context) {\n    const treeSelectClass = usePrefixClass('tree-select');\n    const { height, customStyle, value, options, keys, multiple } = toRefs(props);\n    const [innerValue, setInnerValue] = useDefault<TreeSelectValue, TdTreeSelectProps>(\n      props,\n      context.emit,\n      'value',\n      'change',\n    );\n    const leafLevel = ref(0);\n    const treeOptions = ref<_TreeOptionData[][]>([]);\n    const rootStyle = computed(() => [`height: ${convertUnit(height.value)}`, customStyle.value].join(';'));\n\n    const buildTreeOptions = () => {\n      const { options, multiple, keys } = props;\n\n      let level = -1;\n      const tmpTreeOptions: _TreeOptionData[][] = [];\n      let node: _TreeOptionData = { children: options };\n      if (options.length === 0 || (Array.isArray(value) && value.length === 0)) return;\n      while (node && node.children) {\n        level += 1;\n        const list = (node.children as _TreeOptionData[]).map((item: _TreeOptionData) => ({\n          label: item[keys?.label || 'label'],\n          value: item[keys?.value || 'value'],\n          disabled: item[keys?.disabled || 'disabled'],\n          children: item.children,\n        }));\n        const thisValue = innerValue.value?.[level];\n\n        tmpTreeOptions.push([...list]);\n        if (thisValue == null) {\n          const [firstChild] = list;\n          node = firstChild;\n        } else {\n          const child = list.find((child) => child.value === thisValue);\n          node = child ?? list[0];\n        }\n      }\n      leafLevel.value = Math.max(0, level);\n      treeOptions.value = tmpTreeOptions;\n\n      if (multiple) {\n        const finalValue = innerValue.value;\n        if (finalValue[leafLevel.value] != null && !Array.isArray(finalValue[leafLevel.value])) {\n          throw TypeError('应传入数组类型的 value');\n        }\n      }\n    };\n\n    const getTreeClass = (level: number, total: number) => {\n      if (level === 0) return 'right';\n      if (level === 1 && level !== total - 1) return 'middle';\n      return 'left';\n    };\n\n    const onRootChange = (level: number) => {\n      setInnerValue(innerValue.value, level);\n    };\n\n    const handleTreeClick = (itemValue: TreeSelectValue, level: number, isDisabled: boolean) => {\n      if (isDisabled) return;\n      innerValue.value[level] = itemValue;\n      setInnerValue(innerValue.value, level);\n    };\n\n    watch(\n      [innerValue, options, keys, multiple],\n      () => {\n        buildTreeOptions();\n      },\n      { immediate: true, deep: true },\n    );\n\n    const renderSideBar = (treeOption: _TreeOptionData[]) => {\n      return (\n        <TSideBar\n          v-model={innerValue.value[0]}\n          class={`${treeSelectClass.value}-colum`}\n          onChange={() => onRootChange(0)}\n        >\n          {treeOption.map((item, index) => (\n            <TSideBarItem key={index} label={item.label} value={item.value} disabled={item.disabled}></TSideBarItem>\n          ))}\n        </TSideBar>\n      );\n    };\n\n    const renderMiddleLevel = (treeOption: _TreeOptionData[], level: number) => {\n      return treeOption.map((item) => (\n        <div\n          key={item.value}\n          class={{\n            [`${treeSelectClass.value}__item`]: true,\n            [`${treeSelectClass.value}__item--active`]: item.value === innerValue.value[level],\n            [`${treeSelectClass.value}__item--disabled`]: item.disabled,\n          }}\n          onClick={() => handleTreeClick(item.value, level, item.disabled)}\n        >\n          {item.label}\n        </div>\n      ));\n    };\n\n    const renderLeafLevel = (treeOption: _TreeOptionData[], level: number) => {\n      if (multiple.value) {\n        return (\n          <TCheckboxGroup\n            v-model={innerValue.value[level]}\n            class={`${treeSelectClass.value}__checkbox`}\n            onChange={() => onRootChange(level)}\n          >\n            {treeOption.map((item) => (\n              <TCheckbox\n                key={item.value}\n                class={`${treeSelectClass.value}__checkbox-item`}\n                value={item.value}\n                maxLabelRow={1}\n                icon=\"line\"\n                borderless\n                placement=\"right\"\n                disabled={item.disabled}\n              >\n                {item.label}\n              </TCheckbox>\n            ))}\n          </TCheckboxGroup>\n        );\n      }\n      return (\n        <TRadioGroup\n          v-model={innerValue.value[level]}\n          class={`${treeSelectClass.value}__radio`}\n          onChange={() => onRootChange(level)}\n        >\n          {treeOption.map((item) => (\n            <TRadio\n              key={item.value}\n              class={`${treeSelectClass.value}__radio-item`}\n              value={item.value}\n              icon=\"line\"\n              maxLabelRow={1}\n              borderless\n              placement=\"right\"\n              disabled={item.disabled}\n            >\n              {item.label}\n            </TRadio>\n          ))}\n        </TRadioGroup>\n      );\n    };\n\n    return () => {\n      return (\n        <div class={treeSelectClass.value} style={rootStyle.value}>\n          {treeOptions.value.map((item, level) => {\n            let levelContent;\n            if (level === 0) {\n              levelContent = renderSideBar(item);\n            } else if (level === leafLevel.value) {\n              levelContent = renderLeafLevel(item, level);\n            } else {\n              levelContent = renderMiddleLevel(item, level);\n            }\n\n            return (\n              <div\n                key={level}\n                class={[\n                  `${treeSelectClass.value}__column`,\n                  `${treeSelectClass.value}__column--${getTreeClass(\n                    leafLevel.value - level,\n                    treeOptions.value.length,\n                  )}`,\n                ]}\n              >\n                {levelContent}\n              </div>\n            );\n          })}\n        </div>\n      );\n    };\n  },\n});\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","prefix","config","defineComponent","name","components","TSideBar","TSideBarItem","TRadio","TRadioGroup","props","emits","setup","context","treeSelectClass","usePrefixClass","_toRefs","toRefs","height","customStyle","value","options","keys","multiple","_useDefault","useDefault","emit","_useDefault2","_slicedToArray","innerValue","setInnerValue","leafLevel","ref","treeOptions","rootStyle","computed","concat","convertUnit","join","buildTreeOptions","level","tmpTreeOptions","node","children","length","Array","isArray","_loop","_innerValue$value","list","map","item","label","disabled","thisValue","push","_toConsumableArray","_list","firstChild","child","find","Math","max","finalValue","TypeError","getTreeClass","total","onRootChange","handleTreeClick","itemValue","isDisabled","watch","immediate","deep","renderSideBar","treeOption","_slot","_createVNode","onUpdateModelValue","$event","onChange","index","renderMiddleLevel","_defineProperty","onClick","renderLeafLevel","_slot3","_slot2","TCheckboxGroup","TCheckbox","default","_default","levelContent"],"mappings":"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"}