tav-ui
Version:
1 lines • 1.95 kB
Source Map (JSON)
{"version":3,"file":"use-rules2.mjs","sources":["../../../../../../../../../packages/components/file/src/FileCard/hooks/use-rules.ts"],"sourcesContent":["import { type ComputedRef, computed } from 'vue'\nimport { isFunction } from '@tav-ui/utils'\nimport { tavI18n } from '@tav-ui/locales'\nimport { type FileCardProps, type FileCardRuleItem } from '../types'\nimport { type GlobalConfigFileProps } from '../../typings'\n\nexport function defaultRulesBuilder(\n mergedProps: ComputedRef<GlobalConfigFileProps & FileCardProps>\n) {\n const defaultRules: FileCardRuleItem[] = [\n {\n key: 'required',\n required: true,\n trigger: 'change',\n message: () =>\n `${mergedProps.value.label ?? mergedProps.value.value}${tavI18n('Tav.common.required')}`,\n },\n ]\n\n return defaultRules\n}\n\nexport function useRules(options: {\n mergedProps: ComputedRef<GlobalConfigFileProps & FileCardProps>\n}) {\n const { mergedProps } = options\n\n return computed(() => {\n const rules = mergedProps.value.rules\n\n let result = defaultRulesBuilder(mergedProps)\n\n if (rules && isFunction(rules)) {\n result = rules(result)\n }\n\n return result\n })\n}\n"],"names":[],"mappings":";;;;;;AAGO,SAAS,mBAAmB,CAAC,WAAW,EAAE;AACjD,EAAE,MAAM,YAAY,GAAG;AACvB,IAAI;AACJ,MAAM,GAAG,EAAE,UAAU;AACrB,MAAM,QAAQ,EAAE,IAAI;AACpB,MAAM,OAAO,EAAE,QAAQ;AACvB,MAAM,OAAO,EAAE,MAAM,CAAC,EAAE,WAAW,CAAC,KAAK,CAAC,KAAK,IAAI,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC;AAC7G,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,OAAO,YAAY,CAAC;AACtB,CAAC;AACM,SAAS,QAAQ,CAAC,OAAO,EAAE;AAClC,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;AAClC,EAAE,OAAO,QAAQ,CAAC,MAAM;AACxB,IAAI,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC;AAC1C,IAAI,IAAI,MAAM,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;AAClD,IAAI,IAAI,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE;AACpC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;AAC7B,KAAK;AACL,IAAI,OAAO,MAAM,CAAC;AAClB,GAAG,CAAC,CAAC;AACL;;;;"}