{"version":3,"file":"className.mjs","sources":["../../../../components/cascader/utils/className.ts"],"sourcesContent":["import { CascaderContextType, TreeNode, TreeNodeValue } from '../types';\n\n/**\n * icon Class\n * @param prefix\n * @param STATUS\n * @param cascaderContext\n * @returns\n */\nexport function getFakeArrowIconClass(\n  prefix: string,\n  STATUS: Record<string, string>,\n  cascaderContext: CascaderContextType,\n) {\n  const { disabled } = cascaderContext;\n  return [\n    `${prefix}-cascader__icon`,\n    {\n      [STATUS.disabled]: disabled,\n    },\n  ];\n}\n\n/**\n * 通用状态\n * @param node\n * @param STATUS\n * @param cascaderContext\n * @returns\n */\nexport function getNodeStatusClass(\n  node: TreeNode,\n  STATUS: Record<string, string>,\n  cascaderContext: CascaderContextType,\n) {\n  const { checkStrictly, multiple, value, max, isParentFilterable } = cascaderContext;\n  const expandedActive =\n    (!checkStrictly && node.expanded && (multiple ? !node.isLeaf() : true)) ||\n    (checkStrictly && node.expanded && !isParentFilterable);\n\n  const isLeaf = node.isLeaf();\n\n  const isDisabled = node.disabled || (multiple && (value as TreeNodeValue[]).length >= max && max !== 0);\n\n  let isSelected = node.checked || (multiple && !checkStrictly && node.expanded && !isLeaf);\n  // 处理单选非叶子节点的选中逻辑\n  if (!multiple && !checkStrictly && !isLeaf) {\n    isSelected = node.expanded;\n  }\n\n  return [\n    {\n      [STATUS.selected]: !isDisabled && isSelected,\n      [STATUS.expanded]: !isDisabled && expandedActive,\n      [STATUS.disabled]: isDisabled,\n    },\n  ];\n}\n\n/**\n * 子节点状态\n * @param prefix\n * @param node\n * @param SIZE\n * @param STATUS\n * @param cascaderContext\n * @returns\n */\nexport function getCascaderItemClass(\n  prefix: string,\n  node: TreeNode,\n  SIZE: Record<string, string>,\n  STATUS: Record<string, string>,\n  cascaderContext: CascaderContextType,\n) {\n  const { size, isParentFilterable } = cascaderContext;\n  return [\n    `${prefix}-cascader__item`,\n    ...getNodeStatusClass(node, STATUS, cascaderContext),\n    SIZE[size],\n    {\n      [`${prefix}-cascader__item--with-icon`]: !!node.children,\n      [`${prefix}-cascader__item--leaf`]: node.isLeaf() || isParentFilterable,\n    },\n  ];\n}\n\n/**\n * 子节点icon状态\n * @param prefix\n * @param node\n * @param STATUS\n * @param cascaderContext\n * @returns\n */\nexport function getCascaderItemIconClass(\n  prefix: string,\n  node: TreeNode,\n  STATUS: Record<string, string>,\n  cascaderContext: CascaderContextType,\n) {\n  return [`${prefix}-cascader__item-icon`, `${prefix}-icon`, ...getNodeStatusClass(node, STATUS, cascaderContext)];\n}\n"],"names":["getFakeArrowIconClass","prefix","STATUS","cascaderContext","disabled","concat","_defineProperty","getNodeStatusClass","node","checkStrictly","multiple","value","max","isParentFilterable","expandedActive","expanded","isLeaf","isDisabled","length","isSelected","checked","selected","getCascaderItemClass","SIZE","size","_toConsumableArray","children","getCascaderItemIconClass"],"mappings":"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"}