@vtj/renderer 0.10.9 → 0.10.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +2 -2
- package/dist/index.mjs +2 -2
- package/package.json +5 -5
- package/types/version.d.ts +2 -2
package/dist/index.cjs
CHANGED
@@ -2,9 +2,9 @@
|
|
2
2
|
* Copyright (c) 2025, VTJ.PRO All rights reserved.
|
3
3
|
* @name @vtj/renderer
|
4
4
|
* @author CHC chenhuachun1549@dingtalk.com
|
5
|
-
* @version 0.10.
|
5
|
+
* @version 0.10.10
|
6
6
|
* @license <a href="https://vtj.pro/license.html">MIT License</a>
|
7
|
-
*/const z="0.10.
|
7
|
+
*/const z="0.10.10";var _=(n=>(n.Runtime="Runtime",n.Design="Design",n.Raw="Raw",n.VNode="VNode",n))(_||{});const J=["$el","$emit","$nextTick","$parent","$root","$attrs","$slots","$watch","$props","$options","$forceUpdate"],Ue=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeUnmount","unmounted","errorCaptured","renderTracked","renderTriggered","activated","deactivated"],re=["vIf","vShow","vModel","vFor","vBind","vHtml"],oe={String,Number,Boolean,Array,Object,Function,Date},P="VtjPage",A="VtjHomepage",ie="html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot".split(","),ae="component,slot".split(",");function M(n,e){return n.map(t=>l.isUrl(t)||t.startsWith("/")?t:`${e}${t}`)}function N(n){return/\.css$/.test(n)}function B(n){return/\.js$/.test(n)}function ce(n){return/\.json$/.test(n)}function Le(n){return n.map(e=>`<script src="${l.url.append(e,{v:z})}"><\/script>`).join("")}function qe(n=[]){return n.map(e=>`<link rel="stylesheet" href="${l.url.append(e,{v:z})}" />`).join("")}function le(n,e=!1){return e&&n.endsWith(".prod.js")?n.replace(".prod.js",".js"):n}function ue(n,e,t=!1){const s=n.filter(f=>!!f.enabled),r=[],o=[],a=[],i=[],c={},u={},m=[],p={};return s.forEach(({urls:f,assetsUrl:g,library:v,assetsLibrary:h,localeLibrary:b})=>{f?.forEach(y=>{B(y)&&r.push(le(y,t)),N(y)&&o.push(y)}),v&&(i.push(v),c[v]=M(f||[],e),b&&(u[v]=b)),g&&a.push(g),h&&m.push(h),v&&h&&(p[h]=v)}),{scripts:M(r,e),css:M(o,e),materials:M(a,e),libraryExports:i,materialExports:l.dedupArray(m),materialMapLibrary:p,libraryMap:c,libraryLocaleMap:u}}function de(n,e){const{name:t,parent:s,alias:r}=n;return s?e[s]?.[r||t]:e[r||t]}function K(n){return l.isString(n)?n:JSON.stringify(n)}function G(n,e,t){const s=n.CSSStyleSheet;if(s.prototype.replaceSync){const r=new s;r.id=e,r.replaceSync(t);const o=n.document,a=o.adoptedStyleSheets,i=Array.from(a).filter(c=>c.id!==e);o.adoptedStyleSheets=[...i,r]}else{const r=n.document;let o=r.getElementById(e);o?o.innerHTML=t:(o=r.createElement("style"),o.id=e,o.innerHTML=t,r.head.appendChild(o))}}async function pe(n,e){const t=await window.fetch(e).then(s=>s.text()).catch(()=>"");t&&G(window,n,t)}function fe(n,e=window){const t=e.document,s=e.document.head;for(const r of n)if(!t.getElementById(r)){const a=t.createElement("link");a.rel="stylesheet",a.id=r,a.href=r,s.appendChild(a)}}async function he(n,e,t=window){const s=t.document,r=t.document.head;let o=t[e];return o?o.default||o:new Promise((a,i)=>{for(const c of n){const u=s.createElement("script");u.src=c,u.onload=()=>{o=t[e],o?a(o.default||o):i(null)},u.onerror=m=>{i(m)},r.appendChild(u)}})}function me(n){return l.isFunction(n)||l.isFunction(n?.install)}function ge(n){return ae.includes(n)}function ve(n){return ie.includes(n)}function R(n=window){const e=window.Mock;if(e)return e;const t=n.Mock;if(t)return window.Mock=t,t}function C(n,e,t=!1,s=!1){try{const r=['"use strict";',"var __self = arguments[0];"];r.push("return ");let o=(n.value||"").trim();o=o.replace(/this(\W|$)/g,(i,c)=>`__self${c}`),o=r.join(`
|
8
8
|
`)+o;const a=`with(${t?"{}":"$scope || {}"}) { ${o} }`;return new Function("$scope",a)(e)}catch(r){if(l.logger.error("parseExpression.error",r,n,e?.__self??e),s)throw r}}function O(n,e,t=!1,s=!1){const r=C(n,e,t,s);if(typeof r!="function"&&(l.logger.error("parseFunction.error","not a function",n,e?.__self??e),s))throw new Error(`"${n.value}" not a function`);return r}function S(n){return n&&n.type==="JSExpression"}function x(n){return typeof n=="object"&&n&&n.type==="JSFunction"}function ye(n){return S(n)||x(n)}function Je(n){return ye(n)?n.value:JSON.stringify(n)}const Ve={session:!1,authKey:"Authorization",storageKey:"ACCESS_STORAGE",storagePrefix:"__VTJ_",unauthorized:void 0,auth:"/#/login",redirectParam:"r",unauthorizedCode:401,unauthorizedMessage:"登录已经失效,请重新登录!",noPermissionMessage:"无权限访问该页面",appName:""},W=Symbol("access");class ze{options;data=null;mode=_.Raw;constructor(e){this.options=Object.assign({},Ve,e),this.loadData()}connect(e){const{mode:t,router:s,request:r}=e;this.mode=t,s&&this.mode===_.Raw&&this.setGuard(s),r&&this.setRequest(r)}login(e){const{storageKey:t,storagePrefix:s,session:r,authKey:o}=this.options;this.setData(e),this.data&&(l.storage.save(t,e,{type:"local",prefix:s}),r&&l.cookie.set(o,this.data.token))}clear(){const{storageKey:e,storagePrefix:t,session:s,authKey:r}=this.options;this.data=null,l.storage.remove(e,{type:"local",prefix:t}),s&&l.cookie.remove(r)}logout(){this.clear(),this.toLogin()}getData(){return this.data?this.data:(this.loadData(),this.data)}getToken(){return this.data||this.loadData(),this.data?.token}can(e){const{appName:t}=this.options,{permissions:s={}}=this.data||{};return typeof e=="function"?e(s):l.toArray(e).every(o=>s[o]||s[t+"."+o])}some(e){const{appName:t}=this.options,{permissions:s={}}=this.data||{};return l.toArray(e).some(o=>s[o]||s[t+"."+o])}install(e){e.config.globalProperties.$access||(e.config.globalProperties.$access=this,e.provide(W,this))}isAuthPath(e){const{auth:t,isAuth:s}=this.options;if(s)return s(e);if(e.path&&typeof t=="string"){const r=t.split("#")[1]||t;return e.path===r}return!1}toLogin(){const{auth:e,redirectParam:t}=this.options;if(!e)return;const s=t?`?${t}=${encodeURIComponent(location.href)}`:"";typeof e=="function"?e(s):location.href=t?`${e}${s}`:e}setData(e){const{privateKey:t}=this.options;if(Array.isArray(e)&&t){const s=e.map(r=>l.unRSA(r,t));this.data=JSON.parse(s.join(""));return}if(typeof e=="string")try{const s=t?l.unRSA(e,t):e;s?this.data=JSON.parse(s):console.warn("RSA解密失败或登录信息缺失")}catch(s){console.warn(s)}else this.data=e}loadData(){const{storageKey:e,storagePrefix:t}=this.options,s=l.storage.get(e,{type:"local",prefix:t});this.setData(s||null)}isLogined(){const{session:e,authKey:t}=this.options;return e&&t?!!l.cookie.get(t):!!this.getToken()}hasRoutePermission(e){if(e.name===P){const t=e.params.id;return t&&this.can(t)}return!0}setGuard(e){e.beforeEach((t,s,r)=>this.guard(t,r))}async guard(e,t){if(this.isWhiteList(e)||this.isAuthPath(e))return t();if(this.isLogined()){if(this.hasRoutePermission(e))return t();{const{noPermissionMessage:s="无权限访问",unauthorized:r=!1}=this.options;return await this.showTip(s),l.isFunction(r)?(r(),t(!1)):l.isString(r)?t(r):t(!1)}}t(!1),this.toLogin()}isWhiteList(e){const{whiteList:t}=this.options;return t?Array.isArray(t)?t.some(s=>e.fullPath.startsWith(s)):t(e):!1}isUnauthorized(e){const{unauthorizedCode:t=401}=this.options;return e.status===t||e.data?.code===t}async showUnauthorizedAlert(e){const{unauthorizedMessage:t="登录已失效"}=this.options;this.isUnauthorized(e)&&(await this.showTip(t),this.toLogin())}async showTip(e){const{alert:t}=this.options;return t?(await l.delay(150),await t(e,{title:"提示",type:"warning"}).catch(()=>!1)):!1}setRequest(e){e.useRequest(t=>(this.data?.token&&(t.headers[this.options.authKey]=this.data?.token),t)),e.useResponse(async t=>(await this.showUnauthorizedAlert(t),t),async t=>{const s=t.response||t||{};return await this.showUnauthorizedAlert(s),Promise.reject(t)})}}function _e(){return d.inject(W,null)}function Ke(n={}){const{notify:e,loading:t,settings:s={}}=n;let r=null;return{request:l.createRequest({settings:{type:"form",validSuccess:!0,originResponse:!1,loading:!0,validate:a=>a.data?.code===0||!!a.data?.success,failMessage:!0,showError:a=>{e&&e(a||"未知错误")},showLoading:()=>{r&&r.close(),t&&(r=t())},hideLoading:()=>{r&&(r.close(),r=null)},...s}}),jsonp:l.jsonp,notify:e,loading:t}}function we(n,e){const{jsonp:t,request:s}=e;if(n.method==="jsonp")return(r={})=>t(n.url,{...n.jsonpOptions,query:r});{const r=n.headers?C(n.headers,{},!0):void 0,o={url:n.url,method:n.method,settings:{...n.settings,headers:r}};return(a,i)=>(delete o.data,s.send(l.merge(o,i||{},{data:a})))}}function Se(n,e){const{metaQuery:t}=e;if(!t)return;const{code:s,queryCode:r}=n;return(o,a)=>{if(!t){console.warn("adapter.metaQuery is not defined!");return}return t(s,r,o,a)}}function be(n=[],e=[],t){const s={};for(const r of n)s[r.id]=we(r,t);for(const r of e)s[r.id]=Se(r,t);return s}async function je(n=[],e=window){const t=R(e);t&&(Y(e),n.forEach(s=>ke(t,s)))}function Ee(n,e=window){const t=x(n.mockTemplate)&&n.mockTemplate.value?O(n.mockTemplate,{},!0):void 0,s=R(e);return async(...r)=>{let o={};if(t)try{o=await t.apply(t,r)}catch(a){l.logger.warn("模拟数据模版异常",a)}return s?.mock(o)}}function ke(n,e){if(!e.mock)return;const{url:t,mockTemplate:s}=e;if(t&&s){const r=l.pathToRegexp(`${t}(.*)`),o=l.pathToRegexpMatch(t,{decode:decodeURIComponent}),a=C(s,{},!0);n.mock(r,i=>{const c=l.url.parse(i.url)||{},u=i.body instanceof FormData?l.formDataToJson(i.body):i.body,m=o(i.url)?.params;return Object.assign(i,{data:u,params:c,query:m}),n.mock(a(i))})}}function Y(n=window){const e=R(n);e&&(e._mocked={})}class $e{__id=null;__mode;__instance=null;__contextRefs={};__refs={};context={};state={};props={};$props={};$refs={};$el=null;$emit=null;$nextTick=null;$parent=null;$root=null;$attrs=null;$slots=null;$watch=null;$options=null;$forceUpdate=null;$components={};$libs={};$apis={};__transform={};constructor(e){const{mode:t,dsl:s,attrs:r}=e;this.__mode=t,s&&(this.__id=s.id||null,this.__transform=s.transform||{}),r&&Object.assign(this,r)}setup(e,t=H){const s=t.getCurrentInstance();if(!s)return;this.__refs={},this.$refs={},this.context={},this.__contextRefs={},this.__instance=s.proxy;const r=s.appContext.config.globalProperties;Object.assign(this,r),Object.assign(this,e||{}),this.__proxy(),t.onMounted(()=>{this.__proxy()}),t.onUnmounted(()=>{this.__cleanup()}),t.onBeforeUpdate(()=>{this.__reset()})}__proxy(){this.__instance&&J.forEach(e=>{this[e]=this.__instance?.[e]})}__cleanup(){J.forEach(e=>{this[e]=null}),this.__reset()}__reset(){this.__refs={},this.$refs={},this.__contextRefs={},this.context={}}__parseFunction(e){if(e)if(this.__mode===_.Runtime){const{id:t,type:s}=e,r=t?this.__transform[t]??e.value:e.value;return O({type:s,value:r},this)}else return O(e,this)}__parseExpression(e){if(e)if(this.__mode===_.Runtime){const{id:t,type:s}=e,r=t?this.__transform[t]??e.value:e.value;return C({type:s,value:r},this)}else return C(e,this)}__ref(e=null,t){if(this.__mode!==_.VNode)return e&&e!==this.__id&&(this.__contextRefs[e]=this),async s=>{await l.delay(0);let r=s?.$vtjEl||s?.$el||s?._?.vnode?.el||s;if(!r){typeof t=="string"&&(delete this.$refs[t],e&&delete this.__refs[e]);return}return r.nodeType===3&&r.nextSibling&&(r=r.nextSibling),r.__vtj__=e,_.Design===this.__mode&&(r.__context__=this,r.draggable=!0),e&&(this.__refs[e]=this.__getRefEl(this.__refs,e,s)),typeof t=="function"?t(s):t&&(this.$refs[t]=this.__getRefEl(this.$refs,t,s)),s}}__getRefEl(e,t,s){const r=e[t];if(r&&s!==r){const o=new Set([].concat(r,s));return Array.from(o)}else return s}__clone(e={}){const t={...this.context,...e},s={...t,context:t};return s.context.__proto__=this.context,s.__proto__=this,s}}function I(n){const{Vue:e=H,mode:t=_.Runtime,components:s={},libs:r={},apis:o={},loader:a}=n,i=e.computed(()=>n.dsl),c={$components:s,$libs:r,$apis:o},u=new $e({mode:t,dsl:i.value,attrs:c}),m=e.defineComponent({name:i.value.name,props:{...We(i.value.props??[],u)},setup(p){u.$props=p,u.props=p,i.value.id&&G(n.window||window,i.value.id,i.value.css||""),u.state=Ye(e,i.value.state??{},u);const f=Qe(e,i.value.computed??{},u),g=Xe(i.value.methods??{},u),v=Ze(e,i.value.inject,u),h=Pe(i.value.dataSources||{},u),b={...v,...f,...g,...h};return u.setup(b,e),et(e,i.value.watch??[],u),{vtj:u}},emits:Ge(i.value.emits),expose:["vtj"],render(){if(!i.value.nodes)return null;const p=i.value.nodes||[];return p.length===1?T(p[0],u,e,a):p.map(f=>T(f,u,e,a))},...tt(i.value.lifeCycles??{},u)});return{renderer:e.markRaw(m),context:u}}function Ge(n=[]){return n.map(e=>l.isString(e)?e:e.name)}function We(n=[],e){const t=s=>s?(Array.isArray(s)?s:[s]).map(o=>oe[o]):void 0;return n.map(s=>l.isString(s)?{name:s}:{name:s.name,type:s.type,required:s.required,default:S(s.default)?e.__parseExpression(s.default):s.default}).reduce((s,r)=>(s[r.name]={type:t(r.type),required:r.required,default:r.default},s),{})}function Ye(n,e,t){return n.reactive(Object.keys(e||{}).reduce((s,r)=>{let o=e[r];return S(o)?o=t.__parseExpression(o):x(o)&&(o=t.__parseFunction(o)),s[r]=o,s},{}))}function Qe(n,e,t){return Object.entries(e??{}).reduce((s,[r,o])=>(s[r]=n.computed(t.__parseFunction(o)),s),{})}function Xe(n,e){return Object.entries(n??{}).reduce((t,[s,r])=>(t[s]=e.__parseFunction(r),t),{})}function Ze(n,e=[],t){return e.reduce((s,r)=>{const{name:o,from:a}=r||{};r.default;const i=S(a)?t.__parseExpression(a)||o:a??o,c=S(r.default)?t.__parseExpression(r.default):r.default??null;return s[o]=n.inject(i,c),s},{})}function Pe(n,e){return Object.keys(n).reduce((t,s)=>{const r=n[s];if(r.type==="mock")t[s]=Ee(r);else if(r.ref){const o=e.$apis[r.ref],a=x(r.transform)?r.transform.value?e.__parseFunction(r.transform):void 0:r.transform;t[s]=async(...i)=>{const c=await o.apply(e,i);return a?a(c):c}}return t},{})}function et(n,e=[],t){e.forEach(s=>{n.watch(t.__parseExpression(s.source),t.__parseFunction(s.handler),{deep:s.deep,immediate:s.immediate})})}function tt(n,e){return Object.entries(n??{}).reduce((t,[s,r])=>(t[s]=e.__parseFunction(r),t),{})}let q=[],$={};const Re=n=>n;async function Q(n,e=window){const{urls:t=[],library:s}=n,r=t.filter(i=>B(i));if(r.length===0||!s)return null;const o=t.filter(i=>N(i));return o.length&&fe(o,e),await he(r,s,e).catch(i=>(console.warn("loadScriptUrl error",r,s,i),null))}function D(n){const{getDsl:e,getDslByUrl:t,options:s}=n;return s.window&&(q.forEach(r=>{delete s.window[r]}),q=[]),(r,o,a=H)=>{if(!o||typeof o=="string")return r;if(o.type==="Schema"&&o.id){let i=$[o.id];return i||(i=$[o.id]=a.defineAsyncComponent(async()=>{const c=await e(o.id);return c&&(c.name=r),c?I({...s,Vue:a,dsl:c,mode:_.Runtime,loader:D(n)}).renderer:null}),i)}if(o.type==="UrlSchema"&&o.url){let i=$[o.url];return i||(i=$[o.url]=a.defineAsyncComponent(async()=>{const c=await t(o.url);return c&&(c.name=r),c?I({...s,Vue:a,dsl:c,mode:_.Runtime,loader:D(n)}).renderer:null}),i)}if(o.type==="Plugin"){let i=o.library?$[o.library]:null;return i||(o.library&&q.push(o.library),i=$[o.library||Symbol()]=a.defineAsyncComponent(async()=>{const c=await Q(o,s.window);return c||(console.warn("getPlugin result is null",o),null)}),i)}return r}}function st(){$={}}function T(n,e,t=H,s=Re){if(!n||!n.name||n.invisible)return null;const r=t.getCurrentInstance()?.appContext,{id:o=null,directives:a=[]}=n,{vIf:i,vFor:c,vShow:u,vModels:m,vBind:p,vHtml:f,others:g}=rt(a);if(i&&!ot(i,e))return null;const v=h=>{const b=h.$components,y=(()=>{if(n.name==="component")return it(h,n.props?.is);if(n.name==="slot")return n.name;const E=s(n.name,n.from,t);return l.isString(E)?ge(E)||ve(E)?E:b[E]??r?.app?.component(E)??E:E})(),j=at(o,n.props??{},h),He=ct(t,n.events??{},h);if(n.name==="slot")return lt(t,n,j,h,s);p&&Object.assign(j,h.__parseExpression(p.value)),u&&(j.style=Object.assign(j.style??{},dt(u,h))),f&&Object.assign(j,pt(f,h)),m.forEach(E=>{Object.assign(j,ft(t,E,h))});const Ne=ht(t,n.children??[],h,s,n);let L=t.createVNode(y,{...j,...He},Ne);const te=r?nt(r,g,h):[];return te.length&&(L=t.withDirectives(L,te)),L};return c?vt(c,v,e):v(e)}function nt(n,e,t){const s=n.app;return e.map(r=>{const o=typeof r.name=="string"?s.directive(r.name):t.__parseExpression(r.name);if(!o)return null;const a=[o];return r.value&&a.push(t.__parseExpression(r.value)),r.arg&&a.push(r.arg),r.modifiers&&a.push(r.modifiers),a}).filter(r=>!!r)}function rt(n=[]){const e=n.find(c=>l.camelCase(c.name)==="vIf"),t=n.find(c=>l.camelCase(c.name)==="vFor"),s=n.find(c=>l.camelCase(c.name)==="vShow"),r=n.find(c=>l.camelCase(c.name)==="vBind"),o=n.find(c=>l.camelCase(c.name)==="vHtml"),a=n.filter(c=>l.camelCase(c.name)==="vModel"),i=n.filter(c=>!re.includes(l.camelCase(c.name)));return{vIf:e,vFor:t,vShow:s,vModels:a,vBind:r,others:i,vHtml:o}}function ot(n,e){return!!e.__parseExpression(n.value)}function it(n,e){return e?S(e)?n.__parseExpression(e):e:"div"}function at(n,e,t){const s=V(e,t);return s.ref=t.__ref(n,s.ref),s}function V(n,e){return S(n)?e.__parseExpression(n):x(n)?e.__parseFunction(n):Array.isArray(n)?n.map(t=>V(t,e)):typeof n=="object"?Object.keys(n||{}).reduce((t,s)=>{let r=n[s];return t[s]=V(r,e),t},{}):n}function ct(n,e,t){const s=["passive","capture","once"],r={capture:"Capture",once:"Once",passive:"OnceCapture"};return Object.keys(e||{}).reduce((o,a)=>{const i=e[a],c=X(i.modifiers),u=c.find(f=>s.includes(f)),m="on"+l.upperFirst(a)+(u&&r[u]||""),p=t.__parseFunction(i.handler);return p&&(o[m]=n.withModifiers(p,c)),o},{})}function X(n={},e=!1){const t=Object.keys(n);return e?t.map(s=>"."+s):t}function lt(n,e,t,s,r){const{children:o}=e,a=ut(e,s),i=s.$slots?.[a.name];return i?i(t):o?l.isString(o)?n.createTextVNode(o):S(o)?n.createTextVNode(K(s.__parseExpression(o))):Array.isArray(o)?o.map(c=>T(c,s,n,r)):null:null}function ut(n,e){const{props:t}=n,s=t?.name||"default";return{name:S(s)?e.__parseExpression(s):s,params:[]}}function dt(n,e){return e.__parseExpression(n.value)?{}:{display:"none"}}function pt(n,e){return{innerHTML:e.__parseExpression(n.value)||""}}function ft(n,e,t){const s={type:"JSFunction",value:e.value?.value?`(v) => {
|
9
9
|
${e.value.value} = v;
|
10
10
|
}`:"(v) => {}"},r=t.__parseFunction(s),o=X(S(e.modifiers)?t.__parseExpression(e.modifiers):e.modifiers),a=S(e.arg)?t.__parseExpression(e.arg):e.arg||"modelValue";return{[a]:t.__parseExpression(e.value),[`onUpdate:${a}`]:o.length&&r?n.withModifiers(r,o):r}}function ht(n,e,t,s,r){if(!e)return null;if(l.isString(e))return{default:()=>e};if(S(e))return{default:()=>K(t.__parseExpression(e))};if(Array.isArray(e)&&e.length>0){const o=mt(e),a=i=>!i||!r?{}:r?.id&&Object.keys(i).length?{[`scope_${r.id}`]:i}:{};return Object.entries(o).reduce((i,[c,{nodes:u,params:m}])=>(i[c]=p=>{const f=m.length?l.pick(p??{},m):a(p);return u.map(g=>T(g,t.__clone(f),n,s))},i),{})}return null}function mt(n){const e={default:{params:[],nodes:[]}};for(const t of n){const s=gt(t.slot),r=s.name;e[r]?(e[r].nodes.push(t),e[r].params=e[r].params.concat(s.params)):e[r]={nodes:[t],params:s.params}}return e}function gt(n="default"){return l.isString(n)?{name:n,params:[]}:{params:[],...n}}function vt(n,e,t){const{value:s,iterator:r}=n,{item:o="item",index:a="index"}=r||{};let i=t.__parseExpression(s)||[];return Number.isInteger(i)&&(i=new Array(i).fill(!0).map((c,u)=>u+1)),Array.isArray(i)?i.map((c,u)=>e(t.__clone({[o]:c,[a]:u}))):(console.warn("[vForRender]:",`${s?.value} is not a Arrary`),[])}function Ce(n){return d.getCurrentScope()?(d.onScopeDispose(n),!0):!1}const xe=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const yt=n=>n!=null,_t=()=>{};function wt(n){return Array.isArray(n)?n:[n]}function St(...n){if(n.length!==1)return d.toRef(...n);const e=n[0];return typeof e=="function"?d.readonly(d.customRef(()=>({get:e,set:_t}))):d.ref(e)}const bt=xe?window:void 0,jt=xe?window.document:void 0;function Et(n){var e;const t=d.toValue(n);return(e=t?.$el)!=null?e:t}function kt(){const n=d.shallowRef(!1),e=d.getCurrentInstance();return e&&d.onMounted(()=>{n.value=!0},e),n}function $t(n){const e=kt();return d.computed(()=>(e.value,!!n()))}function Pt(n,e,t={}){const{window:s=bt,...r}=t;let o;const a=$t(()=>s&&"MutationObserver"in s),i=()=>{o&&(o.disconnect(),o=void 0)},c=d.computed(()=>{const f=d.toValue(n),g=wt(f).map(Et).filter(yt);return new Set(g)}),u=d.watch(()=>c.value,f=>{i(),a.value&&f.size&&(o=new MutationObserver(e),f.forEach(g=>o.observe(g,r)))},{immediate:!0,flush:"post"}),m=()=>o?.takeRecords(),p=()=>{u(),i()};return Ce(p),{isSupported:a,stop:p,takeRecords:m}}function Rt(n=null,e={}){var t,s,r;const{document:o=jt,restoreOnUnmount:a=p=>p}=e,i=(t=o?.title)!=null?t:"",c=St((s=n??o?.title)!=null?s:null),u=!!(n&&typeof n=="function");function m(p){if(!("titleTemplate"in e))return p;const f=e.titleTemplate||"%s";return typeof f=="function"?f(p):d.toValue(f).replace(/%s/g,p)}return d.watch(c,(p,f)=>{p!==f&&o&&(o.title=m(p??""))},{immediate:!0}),e.observe&&!e.titleTemplate&&o&&!u&&Pt((r=o.head)==null?void 0:r.querySelector("title"),()=>{o&&o.title!==c.value&&(c.value=m(o.title))},{childList:!0}),Ce(()=>{if(a){const p=a(i,c.value||"");p!=null&&o&&(o.title=p)}}),c}const se=d.defineComponent({name:"VtjPageContainer",async setup(){const n=ee(),e=ne.useRoute(),t=e.params.id,s=t?n.getPage(t):n.getHomepage(),r=s?await n.getRenderComponent(s.id):null,o=d.ref(Symbol());return s&&(Object.assign(e.meta,s.meta||{},{cache:s.cache}),Rt(s.title||"VTJ")),{provider:n,component:r,file:s,query:e.query,meta:e.meta,sid:o,route:e}},render(){const{component:n,query:e,sid:t}=this;return n?d.h(n,{...e,key:t}):d.h("div","页面不存在")},activated(){this.meta.cache===!1&&(this.sid=Symbol())}}),Ct={"data-l-h6o7ki7":"",class:"vtj-startup__wrapper"},xt={"data-l-h6o7ki7":"",class:"vtj-startup"},Mt={"data-l-h6o7ki7":"",class:"vtj-startup__name"},At={"data-l-h6o7ki7":"",class:"span"},Tt={"data-l-h6o7ki7":"",class:"vtj-startup__tagline"},Ft={"data-l-h6o7ki7":"",class:"vtj-startup__actions"},Me=d.defineComponent({__name:"Startup",props:{name:{default:"VTJ.PRO"},tagline:{default:"基于 Vue3 + TypeScript 快速打造高生产力的低代码研发平台"},actionText:{default:"开始设计"},link:{}},setup(n){((r,o)=>{let a=document.getElementById("h6o7ki7");a||(a=document.createElement("style"),a.id="h6o7ki7",document.head.appendChild(a),a.innerHTML=o)})("h6o7ki7",`
|
package/dist/index.mjs
CHANGED
@@ -7,10 +7,10 @@ import { useRoute as _e } from "vue-router";
|
|
7
7
|
* Copyright (c) 2025, VTJ.PRO All rights reserved.
|
8
8
|
* @name @vtj/renderer
|
9
9
|
* @author CHC chenhuachun1549@dingtalk.com
|
10
|
-
* @version 0.10.
|
10
|
+
* @version 0.10.10
|
11
11
|
* @license <a href="https://vtj.pro/license.html">MIT License</a>
|
12
12
|
*/
|
13
|
-
const we = "0.10.
|
13
|
+
const we = "0.10.10";
|
14
14
|
var y = /* @__PURE__ */ ((n) => (n.Runtime = "Runtime", n.Design = "Design", n.Raw = "Raw", n.VNode = "VNode", n))(y || {});
|
15
15
|
const ue = [
|
16
16
|
"$el",
|
package/package.json
CHANGED
@@ -1,18 +1,18 @@
|
|
1
1
|
{
|
2
2
|
"name": "@vtj/renderer",
|
3
3
|
"private": false,
|
4
|
-
"version": "0.10.
|
4
|
+
"version": "0.10.10",
|
5
5
|
"type": "module",
|
6
6
|
"dependencies": {
|
7
|
-
"@vtj/core": "~0.10.
|
8
|
-
"@vtj/utils": "~0.10.
|
7
|
+
"@vtj/core": "~0.10.10",
|
8
|
+
"@vtj/utils": "~0.10.10"
|
9
9
|
},
|
10
10
|
"devDependencies": {
|
11
11
|
"vue": "~3.5.5",
|
12
12
|
"vue-router": "~4.5.0",
|
13
13
|
"@vtj/cli": "~0.10.2",
|
14
|
-
"@vtj/
|
15
|
-
"@vtj/
|
14
|
+
"@vtj/ui": "~0.10.10",
|
15
|
+
"@vtj/icons": "~0.10.10"
|
16
16
|
},
|
17
17
|
"exports": {
|
18
18
|
".": {
|
package/types/version.d.ts
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
* Copyright (c) 2025, VTJ.PRO All rights reserved.
|
3
3
|
* @name @vtj/renderer
|
4
4
|
* @author CHC chenhuachun1549@dingtalk.com
|
5
|
-
* @version 0.10.
|
5
|
+
* @version 0.10.9
|
6
6
|
* @license <a href="https://vtj.pro/license.html">MIT License</a>
|
7
7
|
*/
|
8
|
-
export declare const version = "0.10.
|
8
|
+
export declare const version = "0.10.9";
|