diff --git a/packages/uni-app-plus/bin/uts.js b/packages/uni-app-plus/bin/uts.js deleted file mode 100755 index f7c37e8bddda2765017e4a9fc99deb8d5da88a42..0000000000000000000000000000000000000000 --- a/packages/uni-app-plus/bin/uts.js +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env node -/* eslint-disable no-restricted-globals */ -require('@dcloudio/uts/dist/cli/index.js') diff --git a/packages/uni-app-plus/package.json b/packages/uni-app-plus/package.json index 3c024bd69be38473beae025e409692bc3b4741be..8c89a9ff996c245443be0791852d7ec43d4bd006 100644 --- a/packages/uni-app-plus/package.json +++ b/packages/uni-app-plus/package.json @@ -2,11 +2,7 @@ "name": "@dcloudio/uni-app-plus", "version": "3.0.0-alpha-3040820220424001", "description": "@dcloudio/uni-app-plus", - "bin": { - "uts": "bin/uts.js" - }, "files": [ - "bin", "dist", "lib", "style" @@ -44,7 +40,6 @@ }, "dependencies": { "@dcloudio/uni-app-vite": "3.0.0-alpha-3040820220424001", - "@dcloudio/uni-app-vue": "3.0.0-alpha-3040820220424001", - "@dcloudio/uts": "3.0.0-alpha-3040820220424001" + "@dcloudio/uni-app-vue": "3.0.0-alpha-3040820220424001" } } diff --git a/packages/uni-h5/dist/uni-h5.cjs.js b/packages/uni-h5/dist/uni-h5.cjs.js index eabc0c4db1ec24f8633587655ef928e8e35baba3..ab9f5710b7f69193109b629c51ce5eda25809fa2 100644 --- a/packages/uni-h5/dist/uni-h5.cjs.js +++ b/packages/uni-h5/dist/uni-h5.cjs.js @@ -10248,20 +10248,22 @@ function createTabBarItemsTsx(tabBar2, onSwitchTab, visibleList) { const selected = selectedIndex === index2; const textColor = selected ? selectedColor : color; const iconPath = (selected ? item.selectedIconPath || item.iconPath : item.iconPath) || ""; + const iconfontText = item.iconfont ? selected ? item.iconfont.selectedText || item.iconfont.text : item.iconfont.text : void 0; + const iconfontColor = item.iconfont ? selected ? item.iconfont.selectedColor || item.iconfont.color : item.iconfont.color : void 0; if (!__UNI_FEATURE_TABBAR_MIDBUTTON__) { - return createTabBarItemTsx(textColor, iconPath, item, tabBar2, index2, onSwitchTab); + return createTabBarItemTsx(textColor, iconPath, iconfontText, iconfontColor, item, tabBar2, index2, onSwitchTab); } - return isMidButton(item) ? createTabBarMidButtonTsx(textColor, iconPath, item, tabBar2, index2, onSwitchTab) : createTabBarItemTsx(textColor, iconPath, item, tabBar2, index2, onSwitchTab); + return isMidButton(item) ? createTabBarMidButtonTsx(textColor, iconPath, iconfontText, iconfontColor, item, tabBar2, index2, onSwitchTab) : createTabBarItemTsx(textColor, iconPath, iconfontText, iconfontColor, item, tabBar2, index2, onSwitchTab); }); } -function createTabBarItemTsx(color, iconPath, tabBarItem, tabBar2, index2, onSwitchTab) { +function createTabBarItemTsx(color, iconPath, iconfontText, iconfontColor, tabBarItem, tabBar2, index2, onSwitchTab) { return vue.createVNode("div", { "key": index2, "class": "uni-tabbar__item", "onClick": onSwitchTab(tabBarItem, index2) - }, [createTabBarItemBdTsx(color, iconPath || "", tabBarItem, tabBar2)], 8, ["onClick"]); + }, [createTabBarItemBdTsx(color, iconPath || "", iconfontText, iconfontColor, tabBarItem, tabBar2)], 8, ["onClick"]); } -function createTabBarItemBdTsx(color, iconPath, tabBarItem, tabBar2) { +function createTabBarItemBdTsx(color, iconPath, iconfontText, iconfontColor, tabBarItem, tabBar2) { const { height } = tabBar2; @@ -10270,7 +10272,7 @@ function createTabBarItemBdTsx(color, iconPath, tabBarItem, tabBar2) { "style": { height } - }, [iconPath && createTabBarItemIconTsx(iconPath, tabBarItem, tabBar2), tabBarItem.text && createTabBarItemTextTsx(color, tabBarItem, tabBar2)], 4); + }, [iconfontText ? createTabBarItemIconfontTsx(iconfontText, iconfontColor || BLUR_EFFECT_COLOR_DARK, tabBarItem, tabBar2) : iconPath && createTabBarItemIconTsx(iconPath, tabBarItem, tabBar2), tabBarItem.text && createTabBarItemTextTsx(color, tabBarItem, tabBar2)], 4); } function createTabBarItemIconTsx(iconPath, tabBarItem, tabBar2) { const { @@ -10293,6 +10295,33 @@ function createTabBarItemIconTsx(iconPath, tabBarItem, tabBar2) { "src": getRealPath(iconPath) }, null, 8, ["src"]), redDot && createTabBarItemRedDotTsx(tabBarItem.badge)], 6); } +function createTabBarItemIconfontTsx(iconfontText, iconfontColor, tabBarItem, tabBar2) { + var _a; + const { + type, + text, + redDot + } = tabBarItem; + const { + iconWidth + } = tabBar2; + const clazz2 = "uni-tabbar__icon" + (text ? " uni-tabbar__icon__diff" : ""); + const style = { + width: iconWidth, + height: iconWidth + }; + const iconfontStyle = { + fontSize: ((_a = tabBarItem.iconfont) == null ? void 0 : _a.fontSize) || iconWidth, + color: iconfontColor + }; + return vue.createVNode("div", { + "class": clazz2, + "style": style + }, [type !== "midButton" && vue.createVNode("div", { + "class": "uni-tabbar__iconfont", + "style": iconfontStyle + }, [iconfontText], 4), redDot && createTabBarItemRedDotTsx(tabBarItem.badge)], 6); +} function createTabBarItemTextTsx(color, tabBarItem, tabBar2) { const { redDot, @@ -10320,7 +10349,7 @@ function createTabBarItemRedDotTsx(badge) { "class": clazz2 }, [badge], 2); } -function createTabBarMidButtonTsx(color, iconPath, midButton, tabBar2, index2, onSwitchTab) { +function createTabBarMidButtonTsx(color, iconPath, iconfontText, iconfontColor, midButton, tabBar2, index2, onSwitchTab) { const { width, height, @@ -10348,7 +10377,7 @@ function createTabBarMidButtonTsx(color, iconPath, midButton, tabBar2, index2, o height: iconWidth }, "src": getRealPath(iconPath) - }, null, 12, ["src"])], 4), createTabBarItemBdTsx(color, iconPath, midButton, tabBar2)], 12, ["onClick"]); + }, null, 12, ["src"])], 4), createTabBarItemBdTsx(color, iconPath, iconfontText, iconfontColor, midButton, tabBar2)], 12, ["onClick"]); } var LayoutComponent = /* @__PURE__ */ defineSystemComponent({ name: "Layout", diff --git a/packages/uni-h5/dist/uni-h5.es.js b/packages/uni-h5/dist/uni-h5.es.js index 7a26c9070b476e8513dda812e4b5f202698a4f6e..855e7628d49a95a0cee62fd1fcc642c792e99bc9 100644 --- a/packages/uni-h5/dist/uni-h5.es.js +++ b/packages/uni-h5/dist/uni-h5.es.js @@ -19275,7 +19275,13 @@ const stopPullDownRefresh = /* @__PURE__ */ defineAsyncApi(API_STOP_PULL_DOWN_RE UniServiceJSBridge.invokeViewMethod(API_STOP_PULL_DOWN_REFRESH, {}, getCurrentPageId()); resolve(); }); -const setTabBarItemProps = ["text", "iconPath", "selectedIconPath", "visible"]; +const setTabBarItemProps = [ + "text", + "iconPath", + "iconfont", + "selectedIconPath", + "visible" +]; const setTabBarStyleProps = [ "color", "selectedColor", @@ -19372,6 +19378,7 @@ const removeTabBarBadge = /* @__PURE__ */ defineAsyncApi(API_REMOVE_TAB_BAR_BADG const setTabBarBadge = /* @__PURE__ */ defineAsyncApi(API_SET_TAB_BAR_BADGE, (args, { resolve }) => { setTabBar(API_SET_TAB_BAR_BADGE, args, resolve); }, SetTabBarBadgeProtocol, SetTabBarBadgeOptions); +const UNI_TABBAR_ICON_FONT = "UniTabbarIconFont"; var TabBar = /* @__PURE__ */ defineSystemComponent({ name: "TabBar", setup() { @@ -19385,6 +19392,14 @@ var TabBar = /* @__PURE__ */ defineSystemComponent({ borderStyle, placeholderStyle } = useTabBarStyle(tabBar2); + onMounted(() => { + if (tabBar2.iconfontSrc) { + loadFontFace({ + family: UNI_TABBAR_ICON_FONT, + source: `url("${tabBar2.iconfontSrc}")` + }); + } + }); return () => { const tabBarItemsTsx = createTabBarItemsTsx(tabBar2, onSwitchTab, visibleList); return createVNode("uni-tabbar", { @@ -19521,20 +19536,22 @@ function createTabBarItemsTsx(tabBar2, onSwitchTab, visibleList) { const selected = selectedIndex === index2; const textColor = selected ? selectedColor : color; const iconPath = (selected ? item.selectedIconPath || item.iconPath : item.iconPath) || ""; + const iconfontText = item.iconfont ? selected ? item.iconfont.selectedText || item.iconfont.text : item.iconfont.text : void 0; + const iconfontColor = item.iconfont ? selected ? item.iconfont.selectedColor || item.iconfont.color : item.iconfont.color : void 0; if (!__UNI_FEATURE_TABBAR_MIDBUTTON__) { - return createTabBarItemTsx(textColor, iconPath, item, tabBar2, index2, onSwitchTab); + return createTabBarItemTsx(textColor, iconPath, iconfontText, iconfontColor, item, tabBar2, index2, onSwitchTab); } - return isMidButton(item) ? createTabBarMidButtonTsx(textColor, iconPath, item, tabBar2, index2, onSwitchTab) : createTabBarItemTsx(textColor, iconPath, item, tabBar2, index2, onSwitchTab); + return isMidButton(item) ? createTabBarMidButtonTsx(textColor, iconPath, iconfontText, iconfontColor, item, tabBar2, index2, onSwitchTab) : createTabBarItemTsx(textColor, iconPath, iconfontText, iconfontColor, item, tabBar2, index2, onSwitchTab); }); } -function createTabBarItemTsx(color, iconPath, tabBarItem, tabBar2, index2, onSwitchTab) { +function createTabBarItemTsx(color, iconPath, iconfontText, iconfontColor, tabBarItem, tabBar2, index2, onSwitchTab) { return createVNode("div", { "key": index2, "class": "uni-tabbar__item", "onClick": onSwitchTab(tabBarItem, index2) - }, [createTabBarItemBdTsx(color, iconPath || "", tabBarItem, tabBar2)], 8, ["onClick"]); + }, [createTabBarItemBdTsx(color, iconPath || "", iconfontText, iconfontColor, tabBarItem, tabBar2)], 8, ["onClick"]); } -function createTabBarItemBdTsx(color, iconPath, tabBarItem, tabBar2) { +function createTabBarItemBdTsx(color, iconPath, iconfontText, iconfontColor, tabBarItem, tabBar2) { const { height } = tabBar2; @@ -19543,7 +19560,7 @@ function createTabBarItemBdTsx(color, iconPath, tabBarItem, tabBar2) { "style": { height } - }, [iconPath && createTabBarItemIconTsx(iconPath, tabBarItem, tabBar2), tabBarItem.text && createTabBarItemTextTsx(color, tabBarItem, tabBar2)], 4); + }, [iconfontText ? createTabBarItemIconfontTsx(iconfontText, iconfontColor || BLUR_EFFECT_COLOR_DARK, tabBarItem, tabBar2) : iconPath && createTabBarItemIconTsx(iconPath, tabBarItem, tabBar2), tabBarItem.text && createTabBarItemTextTsx(color, tabBarItem, tabBar2)], 4); } function createTabBarItemIconTsx(iconPath, tabBarItem, tabBar2) { const { @@ -19566,6 +19583,33 @@ function createTabBarItemIconTsx(iconPath, tabBarItem, tabBar2) { "src": getRealPath(iconPath) }, null, 8, ["src"]), redDot && createTabBarItemRedDotTsx(tabBarItem.badge)], 6); } +function createTabBarItemIconfontTsx(iconfontText, iconfontColor, tabBarItem, tabBar2) { + var _a; + const { + type, + text: text2, + redDot + } = tabBarItem; + const { + iconWidth + } = tabBar2; + const clazz2 = "uni-tabbar__icon" + (text2 ? " uni-tabbar__icon__diff" : ""); + const style = { + width: iconWidth, + height: iconWidth + }; + const iconfontStyle = { + fontSize: ((_a = tabBarItem.iconfont) == null ? void 0 : _a.fontSize) || iconWidth, + color: iconfontColor + }; + return createVNode("div", { + "class": clazz2, + "style": style + }, [type !== "midButton" && createVNode("div", { + "class": "uni-tabbar__iconfont", + "style": iconfontStyle + }, [iconfontText], 4), redDot && createTabBarItemRedDotTsx(tabBarItem.badge)], 6); +} function createTabBarItemTextTsx(color, tabBarItem, tabBar2) { const { redDot, @@ -19593,7 +19637,7 @@ function createTabBarItemRedDotTsx(badge) { "class": clazz2 }, [badge], 2); } -function createTabBarMidButtonTsx(color, iconPath, midButton, tabBar2, index2, onSwitchTab) { +function createTabBarMidButtonTsx(color, iconPath, iconfontText, iconfontColor, midButton, tabBar2, index2, onSwitchTab) { const { width, height, @@ -19621,7 +19665,7 @@ function createTabBarMidButtonTsx(color, iconPath, midButton, tabBar2, index2, o height: iconWidth }, "src": getRealPath(iconPath) - }, null, 12, ["src"])], 4), createTabBarItemBdTsx(color, iconPath, midButton, tabBar2)], 12, ["onClick"]); + }, null, 12, ["src"])], 4), createTabBarItemBdTsx(color, iconPath, iconfontText, iconfontColor, midButton, tabBar2)], 12, ["onClick"]); } const DEFAULT_CSS_VAR_VALUE = "0px"; let globalLayoutState = void 0; diff --git a/packages/uts/bin/uts.js b/packages/uts/bin/uts.js new file mode 100755 index 0000000000000000000000000000000000000000..5ad547adf8b3bf8c6e5780c1664181c8cab54beb --- /dev/null +++ b/packages/uts/bin/uts.js @@ -0,0 +1,2 @@ +#!/usr/bin/env node +require('../dist/cli.js') diff --git a/packages/uts/dist/index.d.ts b/packages/uts/dist/index.d.ts index b44df5af8ef867f5714405642de6ba4d378dc754..5e43246f1984c32b38f15a0af34acb924530527f 100644 --- a/packages/uts/dist/index.d.ts +++ b/packages/uts/dist/index.d.ts @@ -1,12 +1,26 @@ export interface ToOptions { - watch?: boolean; input: { + /** + * 插件根目录 + */ dir: string; + /** + * 文件后缀,默认 .uts + */ extname?: string; }; output: { + /** + * 输出目录 + */ dir: string; + /** + * 是否生成 sourceMap,为 string 时,表示生成的 sourceMap 目标目录 + */ sourceMap: boolean | string; + /** + * sourceMap 中是否包含源码 + */ inlineSourcesContent?: boolean; }; } diff --git a/packages/uts/package.json b/packages/uts/package.json index 75ecce1a5c5d2cb72396c3f537a365ef49528f5d..889acead9b2a02d5fe15c8e414a972b3fd217974 100644 --- a/packages/uts/package.json +++ b/packages/uts/package.json @@ -2,9 +2,13 @@ "name": "@dcloudio/uts", "version": "3.0.0-alpha-3040820220424001", "description": "uts", + "bin": { + "uts": "bin/uts.js" + }, "main": "dist/index.js", "types": "dist/index.d.ts", "files": [ + "bin", "dist" ], "repository": { diff --git a/packages/uts/src/cli/index.ts b/packages/uts/src/cli.ts similarity index 90% rename from packages/uts/src/cli/index.ts rename to packages/uts/src/cli.ts index b9a91e1ff9f05145317843d051d1385d72430e2b..9d2703eb6fbbcafc51cd0d824a4daa5cd6ab9693 100644 --- a/packages/uts/src/cli/index.ts +++ b/packages/uts/src/cli.ts @@ -1,5 +1,5 @@ import { cac } from 'cac' -import { runBuild, runDev, ToOptions } from '..' +import { runBuild, runDev, ToOptions } from '.' const cli = cac('uts') @@ -34,7 +34,6 @@ cli }) .action((input, output, opts: CliOptions) => { const toOptions: ToOptions = { - watch: opts.watch, input: { dir: input, extname: opts.extname, @@ -51,5 +50,5 @@ cli }) cli.help() -cli.version(require('../../package.json').version) +cli.version(require('../package.json').version) cli.parse() diff --git a/packages/uts/src/index.ts b/packages/uts/src/index.ts index 555755594b8666f01abf1d6e794f7c49ed8d923b..6c29269fad6cc60d1fd2ab467c1f950de46541e1 100644 --- a/packages/uts/src/index.ts +++ b/packages/uts/src/index.ts @@ -7,14 +7,28 @@ import { InputKotlinOptions, toKotlin } from './api' import { OutputKotlinOptions, UtsKotlinOptions } from './types' export interface ToOptions { - watch?: boolean input: { + /** + * 插件根目录 + */ dir: string + /** + * 文件后缀,默认 .uts + */ extname?: string } output: { + /** + * 输出目录 + */ dir: string + /** + * 是否生成 sourceMap,为 string 时,表示生成的 sourceMap 目标目录 + */ sourceMap: boolean | string + /** + * sourceMap 中是否包含源码 + */ inlineSourcesContent?: boolean } } diff --git a/packages/uts/tsconfig.json b/packages/uts/tsconfig.json index ac63115cca58e4a613beec46b7ed0183623d21a0..56edd4c1b17aa4c9365b977b3a78c609df41459a 100644 --- a/packages/uts/tsconfig.json +++ b/packages/uts/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.node.json", "compilerOptions": { - "outDir": "dist" + "outDir": "dist", + "removeComments": false }, "include": ["src"] }