{"version":3,"file":"useSetClass.mjs","sources":["../../../../packages/hooks/useSetClass.ts"],"sourcesContent":["import { computed, ComputedRef } from 'vue'\n\n/**\n * 组件属性接口\n */\nexport interface StyleProps {\n\tmode?: string\n\tcolor?: string\n\tlink?: boolean\n}\n\n/**\n * 设置 class 的通用 hook\n * @param prefix 组件前缀\n * @param props 组件的 props\n * @returns 计算属性，返回 class 数组\n */\nexport function useSetClass(prefix: string, props: StyleProps): ComputedRef<string[]> {\n\treturn computed(() => {\n\t\tconst arr: string[] = []\n\n\t\t// 添加模式类\n\t\tif (props.mode) {\n\t\t\tarr.push(`${prefix}-mode-${props.mode}`)\n\n\t\t\t// 如果同时有 mode 和 color，添加颜色类\n\t\t\tif (props.color) {\n\t\t\t\tarr.push(`${prefix}-color-${props.color}`)\n\t\t\t}\n\t\t}\n\n\t\t// 添加链接样式\n\t\tif (props.link) {\n\t\t\tarr.push(`${prefix}-link`)\n\t\t}\n\n\t\treturn arr\n\t})\n}\n\n/**\n * 设置公共样式类的专用 hook\n * @param props 组件的 props\n * @returns 计算属性，返回公共样式类数组\n */\nexport function useCommonClass(props: StyleProps): ComputedRef<string[]> {\n\treturn useSetClass('to-common', props)\n}\n"],"names":[],"mappings":";;AAiBgB,SAAA,WAAA,CAAY,QAAgB,KAA0C,EAAA;AACrF,EAAA,OAAO,SAAS,MAAM;AACrB,IAAA,MAAM,MAAgB,EAAC,CAAA;AAGvB,IAAA,IAAI,MAAM,IAAM,EAAA;AACf,MAAA,GAAA,CAAI,IAAK,CAAA,CAAA,EAAG,MAAe,CAAA,MAAA,EAAA,KAAA,CAAM,IAAM,CAAA,CAAA,CAAA,CAAA;AAGvC,MAAA,IAAI,MAAM,KAAO,EAAA;AAChB,QAAA,GAAA,CAAI,IAAK,CAAA,CAAA,EAAG,MAAgB,CAAA,OAAA,EAAA,KAAA,CAAM,KAAO,CAAA,CAAA,CAAA,CAAA;AAAA,OAC1C;AAAA,KACD;AAGA,IAAA,IAAI,MAAM,IAAM,EAAA;AACf,MAAI,GAAA,CAAA,IAAA,CAAK,GAAG,MAAa,CAAA,KAAA,CAAA,CAAA,CAAA;AAAA,KAC1B;AAEA,IAAO,OAAA,GAAA,CAAA;AAAA,GACP,CAAA,CAAA;AACF,CAAA;AAOO,SAAS,eAAe,KAA0C,EAAA;AACxE,EAAO,OAAA,WAAA,CAAY,aAAa,KAAK,CAAA,CAAA;AACtC;;;;"}