提交 9b2812b4 编写于 作者: fxy060608's avatar fxy060608

wip(uts): refactor

上级 a4a44874
#!/usr/bin/env node
/* eslint-disable no-restricted-globals */
require('@dcloudio/uts/dist/cli/index.js')
......@@ -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"
}
}
......@@ -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",
......
......@@ -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;
......
#!/usr/bin/env node
require('../dist/cli.js')
export interface ToOptions {
watch?: boolean;
input: {
/**
* 插件根目录
*/
dir: string;
/**
* 文件后缀,默认 .uts
*/
extname?: string;
};
output: {
/**
* 输出目录
*/
dir: string;
/**
* 是否生成 sourceMap,为 string 时,表示生成的 sourceMap 目标目录
*/
sourceMap: boolean | string;
/**
* sourceMap 中是否包含源码
*/
inlineSourcesContent?: boolean;
};
}
......
......@@ -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": {
......
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()
......@@ -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
}
}
......
{
"extends": "../../tsconfig.node.json",
"compilerOptions": {
"outDir": "dist"
"outDir": "dist",
"removeComments": false
},
"include": ["src"]
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册