{"version":3,"file":"config.mjs","sources":["../../../../packages/utils/config.ts"],"sourcesContent":["import { getCurrentInstance } from 'vue';\nimport type { TouchVueUIOptions } from '../ui';\n\n/**\n * 获取组件库全局配置\n * 可以在组件内部使用此函数获取全局配置\n * @returns 全局配置对象\n */\nexport const useGlobalConfig = (): TouchVueUIOptions => {\n  const instance = getCurrentInstance();\n  if (!instance) {\n    console.warn('useGlobalConfig() 只能在setup()或生命周期钩子中调用');\n    return {} as TouchVueUIOptions;\n  }\n\n  // 从应用实例中获取全局配置\n  return instance.appContext.config.globalProperties.$TOUCHVUE_CONFIG || {};\n};\n\n/**\n * 获取组件配置\n * 合并全局配置和组件自身的props配置\n * @param props 组件props\n * @param key 配置键名\n * @returns 合并后的配置值\n */\nexport const getComponentConfig = <T>(props: Record<string, any>, key: string): T => {\n  const globalConfig = useGlobalConfig();\n\n  // 优先使用组件自身的props配置，如果没有则使用全局配置\n  return (props[key] ?? globalConfig[key]) as T;\n};\n"],"names":[],"mappings":";;AAQO,MAAM,kBAAkB,MAAyB;AACtD,EAAA,MAAM,WAAW,kBAAmB,EAAA,CAAA;AACpC,EAAA,IAAI,CAAC,QAAU,EAAA;AACb,IAAA,OAAA,CAAQ,KAAK,yGAAwC,CAAA,CAAA;AACrD,IAAA,OAAO,EAAC,CAAA;AAAA,GACV;AAGA,EAAA,OAAO,QAAS,CAAA,UAAA,CAAW,MAAO,CAAA,gBAAA,CAAiB,oBAAoB,EAAC,CAAA;AAC1E,EAAA;AASa,MAAA,kBAAA,GAAqB,CAAI,KAAA,EAA4B,GAAmB,KAAA;AA1BrF,EAAA,IAAA,EAAA,CAAA;AA2BE,EAAA,MAAM,eAAe,eAAgB,EAAA,CAAA;AAGrC,EAAA,OAAA,CAAQ,EAAM,GAAA,KAAA,CAAA,GAAG,CAAT,KAAA,IAAA,GAAA,EAAA,GAAc,aAAa,GAAG,CAAA,CAAA;AACxC;;;;"}