{"version":3,"file":"index.mjs","sources":["../../packages/ui/index.ts"],"sourcesContent":["import type { App } from 'vue'\nimport { setRatio, getEm, setMedia, getMedia } from '@touchvue/utils'\nimport * as TouchVueComponents from '@touchvue/components'\nimport InstallDirective from '@touchvue/directives'\n// 添加语言包导入\nimport { use as useTouchvueLocale } from '@touchvue/locale'\nimport cnTouchvueLocale from '@touchvue/locale/lang/zh-CN.js'\nimport enTouchvueLocale from '@touchvue/locale/lang/en-US.js'\n\nexport interface TouchVueUIOptions {\n\tratio?: {\n\t\tbase?: {\n\t\t\tpc?: number\n\t\t\tpad?: number\n\t\t\tphone?: number\n\t\t}\n\t}\n\tzIndex?: number\n\tinput?: {\n\t\tspChars?: string\n\t}\n\t// 添加语言配置选项\n\tlang?: string\n}\n\n// 全局默认配置\nexport const defaultOptions: TouchVueUIOptions = {}\n\n// 全局配置\nexport let globalOptions = { ...defaultOptions }\n\n// 获取全局配置\nexport const getGlobalOptions = (): TouchVueUIOptions => {\n\treturn globalOptions\n}\n\nconst install = (app: App, options: TouchVueUIOptions = {}) => {\n\t// 合并配置项\n\tglobalOptions = {\n\t\t...defaultOptions,\n\t\t...options\n\t}\n\n\t// 处理国际化配置\n\tconst lang = options.lang || 'zh-CN'\n\tlet localeModule\n\tif (lang === 'en-US') {\n\t\tlocaleModule = enTouchvueLocale\n\t} else if (lang === 'zh-CN') {\n\t\tlocaleModule = cnTouchvueLocale\n\t} else {\n\t\t// 如果是其他语言，尝试从默认语言包开始，用户可能需要自己提供\n\t\tlocaleModule = cnTouchvueLocale\n\t}\n\t// 设置默认语言\n\tuseTouchvueLocale(localeModule)\n\n\t// 将配置注入到应用实例中，可以通过app.config.globalProperties.$TOUCHVUE_CONFIG访问\n\t// 工具\n\tapp.config.globalProperties.$getEm = getEm\n\tapp.config.globalProperties.$setMedia = setMedia\n\tapp.config.globalProperties.$getMedia = getMedia\n\n\tconst media = getMedia()\n\tapp.config.globalProperties.$phone = media === 'phone'\n\tapp.config.globalProperties.$pad = media === 'pad'\n\tapp.config.globalProperties.$pc = media === 'pc'\n\n\t// 全局默认配置\n\tapp.config.globalProperties.$TouchUI = {\n\t\tzIndex: globalOptions.zIndex || 2000, // 全局zIndex基数\n\t\tinput: globalOptions.input || {}\n\t}\n\t;(window as any).$TouchUI = {\n\t\tzIndex: 2000\n\t}\n\t// 初始化\n\tsetMedia(options)\n\tsetRatio(options)\n\n\t// 注册所有组件\n\tObject.values(TouchVueComponents).forEach(component => {\n\t\t// 确保是有效的Vue组件插件\n\t\tif (component && typeof component === 'object' && 'install' in component && typeof component.install === 'function') {\n\t\t\tapp.use(component as any)\n\t\t}\n\t})\n\n\tInstallDirective.install(app)\n}\n\n// export { install };\n\nexport default install\n\nexport * from '@touchvue/components'\nexport * from '@touchvue/directives'\nexport * from '@touchvue/locale'\nexport * from '@touchvue/utils'\nexport * from '@touchvue/hooks'\n"],"names":["useTouchvueLocale","TouchVueComponents"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BO,MAAM,iBAAoC,GAAC;AAGvC,IAAA,aAAA,GAAgB,EAAE,GAAG,cAAe,GAAA;AAGxC,MAAM,mBAAmB,MAAyB;AACxD,EAAO,OAAA,aAAA,CAAA;AACR,EAAA;AAEA,MAAM,OAAU,GAAA,CAAC,GAAU,EAAA,OAAA,GAA6B,EAAO,KAAA;AAE9D,EAAgB,aAAA,GAAA;AAAA,IACf,GAAG,cAAA;AAAA,IACH,GAAG,OAAA;AAAA,GACJ,CAAA;AAGA,EAAM,MAAA,IAAA,GAAO,QAAQ,IAAQ,IAAA,OAAA,CAAA;AAC7B,EAAI,IAAA,YAAA,CAAA;AACJ,EAAA,IAAI,SAAS,OAAS,EAAA;AACrB,IAAe,YAAA,GAAA,gBAAA,CAAA;AAAA,GAChB,MAAA,IAAW,SAAS,OAAS,EAAA;AAC5B,IAAe,YAAA,GAAA,gBAAA,CAAA;AAAA,GACT,MAAA;AAEN,IAAe,YAAA,GAAA,gBAAA,CAAA;AAAA,GAChB;AAEA,EAAAA,GAAA,CAAkB,YAAY,CAAA,CAAA;AAI9B,EAAI,GAAA,CAAA,MAAA,CAAO,iBAAiB,MAAS,GAAA,KAAA,CAAA;AACrC,EAAI,GAAA,CAAA,MAAA,CAAO,iBAAiB,SAAY,GAAA,QAAA,CAAA;AACxC,EAAI,GAAA,CAAA,MAAA,CAAO,iBAAiB,SAAY,GAAA,QAAA,CAAA;AAExC,EAAA,MAAM,QAAQ,QAAS,EAAA,CAAA;AACvB,EAAI,GAAA,CAAA,MAAA,CAAO,gBAAiB,CAAA,MAAA,GAAS,KAAU,KAAA,OAAA,CAAA;AAC/C,EAAI,GAAA,CAAA,MAAA,CAAO,gBAAiB,CAAA,IAAA,GAAO,KAAU,KAAA,KAAA,CAAA;AAC7C,EAAI,GAAA,CAAA,MAAA,CAAO,gBAAiB,CAAA,GAAA,GAAM,KAAU,KAAA,IAAA,CAAA;AAG5C,EAAI,GAAA,CAAA,MAAA,CAAO,iBAAiB,QAAW,GAAA;AAAA,IACtC,MAAA,EAAQ,cAAc,MAAU,IAAA,GAAA;AAAA;AAAA,IAChC,KAAA,EAAO,aAAc,CAAA,KAAA,IAAS,EAAC;AAAA,GAChC,CAAA;AACC,EAAC,OAAe,QAAW,GAAA;AAAA,IAC3B,MAAQ,EAAA,GAAA;AAAA,GACT,CAAA;AAEA,EAAA,QAAA,CAAS,OAAO,CAAA,CAAA;AAChB,EAAA,QAAA,CAAS,OAAO,CAAA,CAAA;AAGhB,EAAA,MAAA,CAAO,MAAO,CAAAC,KAAkB,CAAE,CAAA,OAAA,CAAQ,CAAa,SAAA,KAAA;AAEtD,IAAI,IAAA,SAAA,IAAa,OAAO,SAAc,KAAA,QAAA,IAAY,aAAa,SAAa,IAAA,OAAO,SAAU,CAAA,OAAA,KAAY,UAAY,EAAA;AACpH,MAAA,GAAA,CAAI,IAAI,SAAgB,CAAA,CAAA;AAAA,KACzB;AAAA,GACA,CAAA,CAAA;AAED,EAAA,gBAAA,CAAiB,QAAQ,GAAG,CAAA,CAAA;AAC7B;;;;"}