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

wip(app): nvue

上级 1d66dcc4
export function initComponents({ uni, Vue, weex, plus, BroadcastChannel, UniViewJSBridge, VueShared, UniShared }) {
var components = function(vue, shared) {
"use strict";
const OPEN_TYPES = [
import { defineComponent, createVNode, mergeProps } from "vue";
import { hasOwn } from "@vue/shared";
const OPEN_TYPES = [
"navigate",
"redirect",
"switchTab",
"reLaunch",
"navigateBack"
];
const navigatorProps = {
];
const navigatorProps = {
hoverClass: {
type: String,
default: "navigator-hover"
......@@ -44,8 +43,8 @@ export function initComponents({ uni, Vue, weex, plus, BroadcastChannel, UniView
type: Boolean,
default: false
}
};
function createNavigatorOnClick(props) {
};
function createNavigatorOnClick(props) {
return () => {
if (props.openType !== "navigateBack" && !props.url) {
console.error("<navigator/> should have url attribute when using navigateTo, redirectTo, reLaunch or switchTab");
......@@ -80,30 +79,30 @@ export function initComponents({ uni, Vue, weex, plus, BroadcastChannel, UniView
break;
}
};
}
function useHoverClass(props) {
}
function useHoverClass(props) {
if (props.hoverClass && props.hoverClass !== "none") {
const hoverAttrs = { hoverClass: props.hoverClass };
if (shared.hasOwn(props, "hoverStartTime")) {
if (hasOwn(props, "hoverStartTime")) {
hoverAttrs.hoverStartTime = props.hoverStartTime;
}
if (shared.hasOwn(props, "hoverStayTime")) {
if (hasOwn(props, "hoverStayTime")) {
hoverAttrs.hoverStayTime = props.hoverStayTime;
}
if (shared.hasOwn(props, "hoverStopPropagation")) {
if (hasOwn(props, "hoverStopPropagation")) {
hoverAttrs.hoverStopPropagation = props.hoverStopPropagation;
}
return hoverAttrs;
}
return {};
}
const navigatorStyles = [{
}
const navigatorStyles = [{
"navigator-hover": {
backgroundColor: "rgba(0,0,0,0.1)",
opacity: 0.7
}
}];
var Navigator = vue.defineComponent({
}];
var Navigator = defineComponent({
name: "Navigator",
props: navigatorProps,
styles: navigatorStyles,
......@@ -112,16 +111,13 @@ export function initComponents({ uni, Vue, weex, plus, BroadcastChannel, UniView
}) {
const onClick = createNavigatorOnClick(props);
return () => {
return vue.createVNode("view", vue.mergeProps(useHoverClass(props), {
return createVNode("view", mergeProps(useHoverClass(props), {
"onClick": onClick
}), [slots.default && slots.default()]);
};
}
});
var components2 = {
});
var components = {
Navigator
};
return components2;
}(Vue, VueShared);
return components;
}
};
export { components as default };
......@@ -25,22 +25,12 @@ export default defineConfig({
lib: {
name: 'components',
entry: path.resolve(__dirname, 'src/nvue/components.ts'),
formats: ['iife'],
formats: ['es'],
},
rollupOptions: {
external: ['uni', 'vue', 'weex', '@vue/shared', '@dcloudio/uni-shared'],
output: {
banner:
'export function initComponents({uni,Vue,weex,plus,BroadcastChannel,UniViewJSBridge,VueShared,UniShared}) {',
footer: 'return components\n}',
entryFileNames: 'components.js',
globals: {
uni: 'uni',
vue: 'Vue',
weex: 'weex',
'@vue/shared': 'VueShared',
'@dcloudio/uni-shared': 'UniShared',
},
},
},
},
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册