xdesign-vue-next
Version:
XDesign Component for vue-next
1 lines • 3.82 kB
Source Map (JSON)
{"version":3,"file":"className.mjs","sources":["../../../src/cascader/core/className.ts"],"sourcesContent":["import { CascaderContextType, TreeNode, TreeNodeValue } from '../interface';\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 } = cascaderContext;\n const expandedActive =\n (!checkStrictly && node.expanded && (multiple ? !node.isLeaf() : true)) || (checkStrictly && node.expanded);\n\n const isLeaf = node.isLeaf();\n\n const isDisabled = node.disabled || (multiple && (value as TreeNodeValue[]).length >= max && max !== 0);\n\n const isSelected = node.checked || (multiple && !checkStrictly && node.expanded && !isLeaf);\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 } = 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(),\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":[],"mappings":";;;;;;;;;;;AASO,SAAA,qBAAA,CAAA,MAAA,EAAA,MAAA,EAAA,eAAA,EAAA;AAKC,EAAA,IAAA,QAAA,GAAA,eAAA,CAAA,QAAA,CAAA;AACC,EAAA,OAAA,CAAA,EAAA,CAAA,MAAA,CAAA,MAAA,EAAA,iBAAA,CAAA,EAAA,eAAA,CAAA,EAAA,EAAA,MAAA,CAAA,QAAA,EAAA,QAAA,CAAA,CAAA,CAAA;AAMT,CAAA;AASO,SAAA,kBAAA,CAAA,IAAA,EAAA,MAAA,EAAA,eAAA,EAAA;AAIL,EAAA,IAAA,KAAA,CAAA;AACA,EAAA,IAAA,aAAA,GAAA,eAAA,CAAA,aAAA;;;;;AAIM,EAAA,IAAA,MAAA,GAAA,IAAA,CAAA,MAAA,EAAA,CAAA;AAEN,EAAA,IAAA,UAAA,GAAA,IAAA,CAAA,QAAA,IAAA,QAAA,IAAA,KAAA,CAAA,MAAA,IAAA,GAAA,IAAA,GAAA,KAAA,CAAA,CAAA;AAEM,EAAA,IAAA,UAAA,GAAA,IAAA,CAAA,OAAA,IAAA,QAAA,IAAA,CAAA,aAAA,IAAA,IAAA,CAAA,QAAA,IAAA,CAAA,MAAA,CAAA;AAEC,EAAA,OAAA,EAAA,KAAA,GAAA,EAAA,EAAA,eAAA,CAAA,KAAA,EAAA,MAAA,CAAA,QAAA,EAAA,CAAA,UAAA,IAAA,UAAA,CAAA,EAAA,eAAA,CAAA,KAAA,EAAA,MAAA,CAAA,QAAA,EAAA,CAAA,UAAA,IAAA,cAAA,CAAA,EAAA,eAAA,CAAA,KAAA,EAAA,MAAA,CAAA,QAAA,EAAA,UAAA,CAAA,EAAA,KAAA,EAAA,CAAA;AAOT,CAAA;AAWO,SAAA,oBAAA,CAAA,MAAA,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,eAAA,EAAA;AAML,EAAA,IAAA,KAAA,CAAA;AACM,EAAA,IAAA,IAAA,GAAA,eAAA,CAAA,IAAA,CAAA;;AAUR,CAAA;AAUO,SAAA,wBAAA,CAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,eAAA,EAAA;AAME,EAAA,OAAA,CAAA,EAAA,CAAA,MAAA,CAAA,MAAA,EAAA,sBAAA,CAAA,EAAA,EAAA,CAAA,MAAA,CAAA,MAAA,EAAA,OAAA,CAAA,CAAA,CAAA,MAAA,CAAA,kBAAA,CAAA,kBAAA,CAAA,IAAA,EAAA,MAAA,EAAA,eAAA,CAAA,CAAA,CAAA,CAAA;AACT;;;;"}