@vtj/renderer 0.9.0-alpha.45 → 0.9.0-alpha.46

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 CHANGED
@@ -2,9 +2,9 @@
2
2
  * Copyright (c) 2024, VTJ.PRO All rights reserved.
3
3
  * @name @vtj/renderer
4
4
  * @author CHC chenhuachun1549@dingtalk.com
5
- * @version 0.9.0-alpha.45
5
+ * @version 0.9.0-alpha.46
6
6
  * @license <a href="https://vtj.pro/license.html">MIT License</a>
7
- */const C="0.9.0-alpha.45";var w=(s=>(s.Runtime="Runtime",s.Design="Design",s.Raw="Raw",s.VNode="VNode",s))(w||{});const q=["$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"],oe=["vIf","vShow","vModel","vFor","vBind"],ie={String,Number,Boolean,Array,Object,Function,Date},R="VtjPage",A="VtjHomepage";function k(s,e){return s.map(t=>u.isUrl(t)||t.startsWith("/")?t:`${e}${t}`)}function U(s){return/\.css$/.test(s)}function B(s){return/\.js$/.test(s)}function ae(s){return/\.json$/.test(s)}function Be(s){return s.map(e=>`<script src="${u.url.append(e,{v:C})}"><\/script>`).join("")}function Le(s=[]){return s.map(e=>`<link rel="stylesheet" href="${u.url.append(e,{v:C})}" />`).join("")}function ce(s,e=!1){return e&&s.endsWith(".prod.js")?s.replace(".prod.js",".js"):s}function le(s,e,t=!1){const n=s.filter(h=>!!h.enabled),r=[],o=[],a=[],i=[],l={},c={},m=[],d={};return n.forEach(({urls:h,assetsUrl:f,library:g,assetsLibrary:v,localeLibrary:_})=>{h?.forEach(y=>{B(y)&&r.push(ce(y,t)),U(y)&&o.push(y)}),g&&(i.push(g),l[g]=k(h||[],e),_&&(c[g]=_)),f&&a.push(f),v&&m.push(v),g&&v&&(d[v]=g)}),{scripts:k(r,e),css:k(o,e),materials:k(a,e),libraryExports:i,materialExports:u.dedupArray(m),materialMapLibrary:d,libraryMap:l,libraryLocaleMap:c}}function ue(s,e){const{name:t,parent:n,alias:r}=s;return n?e[n]?.[r||t]:e[r||t]}function z(s){return u.isString(s)?s:JSON.stringify(s)}function K(s,e,t){const n=s.CSSStyleSheet;if(n.prototype.replaceSync){const r=new n;r.id=e,r.replaceSync(t);const o=s.document,a=o.adoptedStyleSheets,i=Array.from(a).filter(l=>l.id!==e);o.adoptedStyleSheets=[...i,r]}else{const r=s.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 de(s,e){const t=await window.fetch(e).then(n=>n.text()).catch(()=>"");t&&K(window,s,t)}function pe(s,e=window){const t=e.document,n=e.document.head;for(const r of s)if(!t.getElementById(r)){const a=t.createElement("link");a.rel="stylesheet",a.id=r,a.href=r,n.appendChild(a)}}async function fe(s,e,t=window){const n=t.document,r=t.document.head;let o=t[e];return o?o.default||o:new Promise((a,i)=>{for(const l of s){const c=n.createElement("script");c.src=l,c.onload=()=>{o=t[e],o?a(o.default||o):i(null)},c.onerror=m=>{i(m)},r.appendChild(c)}})}function he(s){return u.isFunction(s)||u.isFunction(s?.install)}function x(s,e,t=!1,n=!1){try{const r=['"use strict";',"var __self = arguments[0];"];r.push("return ");let o=(s.value||"").trim();o=o.replace(/this(\W|$)/g,(i,l)=>`__self${l}`),o=r.join(`
7
+ */const C="0.9.0-alpha.46";var w=(s=>(s.Runtime="Runtime",s.Design="Design",s.Raw="Raw",s.VNode="VNode",s))(w||{});const q=["$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"],oe=["vIf","vShow","vModel","vFor","vBind"],ie={String,Number,Boolean,Array,Object,Function,Date},R="VtjPage",A="VtjHomepage";function k(s,e){return s.map(t=>u.isUrl(t)||t.startsWith("/")?t:`${e}${t}`)}function U(s){return/\.css$/.test(s)}function B(s){return/\.js$/.test(s)}function ae(s){return/\.json$/.test(s)}function Be(s){return s.map(e=>`<script src="${u.url.append(e,{v:C})}"><\/script>`).join("")}function Le(s=[]){return s.map(e=>`<link rel="stylesheet" href="${u.url.append(e,{v:C})}" />`).join("")}function ce(s,e=!1){return e&&s.endsWith(".prod.js")?s.replace(".prod.js",".js"):s}function le(s,e,t=!1){const n=s.filter(h=>!!h.enabled),r=[],o=[],a=[],i=[],l={},c={},m=[],d={};return n.forEach(({urls:h,assetsUrl:f,library:g,assetsLibrary:v,localeLibrary:_})=>{h?.forEach(y=>{B(y)&&r.push(ce(y,t)),U(y)&&o.push(y)}),g&&(i.push(g),l[g]=k(h||[],e),_&&(c[g]=_)),f&&a.push(f),v&&m.push(v),g&&v&&(d[v]=g)}),{scripts:k(r,e),css:k(o,e),materials:k(a,e),libraryExports:i,materialExports:u.dedupArray(m),materialMapLibrary:d,libraryMap:l,libraryLocaleMap:c}}function ue(s,e){const{name:t,parent:n,alias:r}=s;return n?e[n]?.[r||t]:e[r||t]}function z(s){return u.isString(s)?s:JSON.stringify(s)}function K(s,e,t){const n=s.CSSStyleSheet;if(n.prototype.replaceSync){const r=new n;r.id=e,r.replaceSync(t);const o=s.document,a=o.adoptedStyleSheets,i=Array.from(a).filter(l=>l.id!==e);o.adoptedStyleSheets=[...i,r]}else{const r=s.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 de(s,e){const t=await window.fetch(e).then(n=>n.text()).catch(()=>"");t&&K(window,s,t)}function pe(s,e=window){const t=e.document,n=e.document.head;for(const r of s)if(!t.getElementById(r)){const a=t.createElement("link");a.rel="stylesheet",a.id=r,a.href=r,n.appendChild(a)}}async function fe(s,e,t=window){const n=t.document,r=t.document.head;let o=t[e];return o?o.default||o:new Promise((a,i)=>{for(const l of s){const c=n.createElement("script");c.src=l,c.onload=()=>{o=t[e],o?a(o.default||o):i(null)},c.onerror=m=>{i(m)},r.appendChild(c)}})}function he(s){return u.isFunction(s)||u.isFunction(s?.install)}function x(s,e,t=!1,n=!1){try{const r=['"use strict";',"var __self = arguments[0];"];r.push("return ");let o=(s.value||"").trim();o=o.replace(/this(\W|$)/g,(i,l)=>`__self${l}`),o=r.join(`
8
8
  `)+o;const a=`with(${t?"{}":"$scope || {}"}) { ${o} }`;return new Function("$scope",a)(e)}catch(r){if(u.logger.error("parseExpression.error",r,s,e?.__self??e),n)throw r}}function V(s,e,t=!1,n=!1){const r=x(s,e,t,n);if(typeof r!="function"&&(u.logger.error("parseFunction.error","not a function",s,e?.__self??e),n))throw new Error(`"${s.value}" not a function`);return r}function j(s){return s&&s.type==="JSExpression"}function O(s){return typeof s=="object"&&s&&s.type==="JSFunction"}function me(s){return j(s)||O(s)}function Je(s){return me(s)?s.value:JSON.stringify(s)}let $=null;const qe=u.createRequest({settings:{type:"form",validSuccess:!0,originResponse:!1,loading:!0,validate:s=>s.data?.code===0||!!s.data?.success,failMessage:!0,showError:s=>{F.ElNotification.error({message:s||"未知错误"})},showLoading:()=>{$&&$.close(),$=F.ElLoading.service({lock:!0,text:"Loading",background:"rgba(0, 0, 0, 0.05)"})},hideLoading:()=>{$&&($.close(),$=null)}}});let P;function ge(s,e){const{jsonp:t,request:n}=e;if(s.method==="jsonp")return(r={})=>t(s.url,{...s.jsonpOptions,query:r});{const r=s.headers?x(s.headers,{},!0):void 0,o={url:s.url,method:s.method,settings:{...s.settings,headers:r}};return(a,i)=>(delete o.data,n.send(u.merge(o,i||{},{data:a})))}}function ve(s,e){const{metaQuery:t}=e;if(!t)return;const{code:n,queryCode:r}=s;return(o,a)=>{if(!t){console.warn("adapter.metaQuery is not defined!");return}return t(n,r,o,a)}}function ye(s=[],e=[],t){const n={};for(const r of s)n[r.id]=ge(r,t);for(const r of e)n[r.id]=ve(r,t);return n}async function _e(s=[]){P=await import("mockjs").then(e=>e.default||e),P&&(P.setup({timeout:"50-500"}),W(),s.forEach(e=>we(P,e)))}function we(s,e){if(!e.mock)return;const{url:t,mockTemplate:n}=e;if(t&&n){const r=u.pathToRegexp(`${t}(.*)`),o=u.pathToRegexpMatch(t,{decode:decodeURIComponent}),a=x(n,{},!0);s.mock(r,i=>{const l=u.url.parse(i.url)||{},c=i.body instanceof FormData?u.formDataToJson(i.body):i.body,m=o(i.url)?.params;return Object.assign(i,{data:c,params:l,query:m}),s.mock(a(i))})}}function W(){P&&(P._mocked={})}const Ve={session:!1,authKey:"Authorization",storageKey:"ACCESS_STORAGE",storagePrefix:"__VTJ_",unauthorized:void 0,auth:"/#/login",redirectParam:"r",unauthorizedCode:401,unauthorizedMessage:"登录已经失效,请重新登录!",noPermissionMessage:"无权限访问该页面",appName:""},G=Symbol("access");class ze{options;data=null;mode=w.Raw;constructor(e){this.options=Object.assign({},Ve,e),this.loadData()}connect(e){const{mode:t,router:n,request:r}=e;this.mode=t,n&&this.mode===w.Raw&&this.setGuard(n),r&&this.setRequest(r)}login(e){const{storageKey:t,storagePrefix:n,session:r,authKey:o}=this.options;this.setData(e),this.data&&(u.storage.save(t,e,{type:"local",prefix:n}),r&&u.cookie.set(o,this.data.token))}clear(){const{storageKey:e,storagePrefix:t,session:n,authKey:r}=this.options;this.data=null,u.storage.remove(e,{type:"local",prefix:t}),n&&u.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:n={}}=this.data||{};return typeof e=="function"?e(n):u.toArray(e).every(o=>n[o]||n[t+"."+o])}some(e){const{appName:t}=this.options,{permissions:n={}}=this.data||{};return u.toArray(e).some(o=>n[o]||n[t+"."+o])}install(e){e.config.globalProperties.$access||(e.config.globalProperties.$access=this),e.provide(G,this)}isAuthPath(e){const{auth:t,isAuth:n}=this.options;if(n)return n(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 n=t?`?${t}=${encodeURIComponent(location.href)}`:"";typeof e=="function"?e(n):location.href=t?`${e}${n}`:e}setData(e){const{privateKey:t}=this.options;if(Array.isArray(e)&&t){const n=e.map(r=>u.unRSA(r,t));this.data=JSON.parse(n.join(""));return}if(typeof e=="string")try{const n=t?u.unRSA(e,t):e;n?this.data=JSON.parse(n):console.warn("RSA解密失败或登录信息缺失")}catch(n){console.warn(n)}else this.data=e}loadData(){const{storageKey:e,storagePrefix:t}=this.options,n=u.storage.get(e,{type:"local",prefix:t});this.setData(n||null)}isLogined(){const{session:e,authKey:t}=this.options;return e&&t?!!u.cookie.get(t):!!this.getToken()}hasRoutePermission(e){if(e.name===R){const t=e.params.id;return t&&this.can(t)}return!0}setGuard(e){e.beforeEach((t,n,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:n="无权限访问",unauthorized:r=!1}=this.options;return await this.showTip(n),u.isFunction(r)?(r(),t(!1)):u.isString(r)?t(r):t(!1)}}t(!1),this.toLogin()}isWhiteList(e){const{whiteList:t}=this.options;return t?Array.isArray(t)?t.some(n=>e.fullPath.startsWith(n)):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 u.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 n=t.response||t||{};return await this.showUnauthorizedAlert(n),Promise.reject(t)})}}function Se(){return p.inject(G,null)}class je{__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:n,attrs:r}=e;this.__mode=t,n&&(this.__id=n.id||null,this.__transform=n.transform||{}),r&&Object.assign(this,r)}setup(e,t=N){const n=t.getCurrentInstance();if(!n)return;this.__refs={},this.$refs={},this.context={},this.__contextRefs={},this.__instance=n.proxy;const r=n.appContext.config.globalProperties;Object.assign(this,r),Object.assign(this,e||{}),this.__proxy(),t.onMounted(()=>{this.__proxy()}),t.onUnmounted(()=>{this.__cleanup()}),t.onBeforeUpdate(()=>{this.__refs={},this.$refs={},this.__contextRefs={},this.context={}})}__proxy(){this.__instance&&q.forEach(e=>{this[e]=this.__instance?.[e]})}__cleanup(){q.forEach(e=>{this[e]=null})}__parseFunction(e){if(e)if(this.__mode===w.Runtime){const{id:t,type:n}=e,r=t?this.__transform[t]??e.value:e.value;return V({type:n,value:r},this)}else return V(e,this)}__parseExpression(e){if(e)if(this.__mode===w.Runtime){const{id:t,type:n}=e,r=t?this.__transform[t]??e.value:e.value;return x({type:n,value:r},this)}else return x(e,this)}__ref(e=null,t){if(this.__mode!==w.VNode)return e&&e!==this.__id&&(this.__contextRefs[e]=this),async n=>{await u.delay(0);let r=n?.$vtjEl||n?.$el||n?._?.vnode?.el||n;if(!r){typeof t=="string"&&(delete this.$refs[t],e&&delete this.__refs[e]);return}if(r.nodeType===3&&r.nextSibling&&(r=r.nextSibling),r.__vtj__=e,w.Design===this.__mode&&(r.__context__=this,r.draggable=!0),e&&(this.__refs[e]=n),typeof t=="function")t(n);else if(t){const o=this.$refs[t];if(o&&n!==o){const a=new Set([].concat(o,n));this.$refs[t]=Array.from(a)}else this.$refs[t]=n}return n}}__clone(e={}){const t={...this.context,...e},n={...t,context:t};return n.context.__proto__=this.context,n.__proto__=this,n}}function D(s){const{Vue:e=N,mode:t=w.Runtime,components:n={},libs:r={},apis:o={},loader:a}=s,i=e.computed(()=>s.dsl),l={$components:n,$libs:r,$apis:o},c=new je({mode:t,dsl:i.value,attrs:l}),m=e.defineComponent({name:i.value.name,props:{...We(i.value.props??[],c)},setup(d){c.$props=d,c.props=d,i.value.id&&K(s.window||window,i.value.id,i.value.css||""),c.state=Ge(e,i.value.state??{},c);const h=Ye(e,i.value.computed??{},c),f=Qe(i.value.methods??{},c),g=Xe(e,i.value.inject,c),v=Ee(i.value.dataSources||{},c),_={...g,...h,...f,...v};return c.setup(_,e),Ze(e,i.value.watch??[],c),{vtj:c}},emits:Ke(i.value.emits),expose:["vtj"],render(){if(!i.value.nodes)return null;const d=i.value.nodes||[];return d.length===1?M(d[0],c,e,a):d.map(h=>M(h,c,e,a))},...et(i.value.lifeCycles??{},c)});return{renderer:e.markRaw(m),context:c}}function Ke(s=[]){return s.map(e=>u.isString(e)?e:e.name)}function We(s=[],e){const t=n=>n?(Array.isArray(n)?n:[n]).map(o=>ie[o]):void 0;return s.map(n=>u.isString(n)?{name:n}:{name:n.name,type:n.type,required:n.required,default:j(n.default)?e.__parseExpression(n.default):n.default}).reduce((n,r)=>(n[r.name]={type:t(r.type),required:r.required,default:r.default},n),{})}function Ge(s,e,t){return s.reactive(Object.keys(e||{}).reduce((n,r)=>{let o=e[r];return j(o)?o=t.__parseExpression(o):O(o)&&(o=t.__parseFunction(o)),n[r]=o,n},{}))}function Ye(s,e,t){return Object.entries(e??{}).reduce((n,[r,o])=>(n[r]=s.computed(t.__parseFunction(o)),n),{})}function Qe(s,e){return Object.entries(s??{}).reduce((t,[n,r])=>(t[n]=e.__parseFunction(r),t),{})}function Xe(s,e=[],t){return e.reduce((n,r)=>{const{name:o,from:a}=r||{};r.default;const i=j(a)?t.__parseExpression(a)||o:a??o,l=j(r.default)?t.__parseExpression(r.default):r.default??null;return n[o]=s.inject(i,l),n},{})}function Ee(s,e){return Object.keys(s).reduce((t,n)=>{const r=s[n],o=e.$apis[r.ref],a=O(r.transform)?r.transform.value?e.__parseFunction(r.transform):void 0:r.transform;return t[n]=async(...i)=>{const l=await o.apply(e,i);return a?a(l):l},t},{})}function Ze(s,e=[],t){e.forEach(n=>{s.watch(t.__parseExpression(n.source),t.__parseFunction(n.handler),{deep:n.deep,immediate:n.immediate})})}function et(s,e){return Object.entries(s??{}).reduce((t,[n,r])=>(t[n]=e.__parseFunction(r),t),{})}let J=[];const be=s=>s;async function Y(s,e=window){const{urls:t=[],library:n}=s,r=t.filter(i=>B(i));if(r.length===0||!n)return null;const o=t.filter(i=>U(i));return o.length&&pe(o,e),await fe(r,n,e).catch(i=>(console.warn("loadScriptUrl error",r,n,i),null))}function H(s){const{getDsl:e,getDslByUrl:t,options:n}=s;return n.window&&(J.forEach(r=>{delete n.window[r]}),J=[]),(r,o,a=N)=>!o||typeof o=="string"?r:o.type==="Schema"&&o.id?a.defineAsyncComponent(async()=>{const i=await e(o.id);return i&&(i.name=r),i?D({...n,Vue:a,dsl:i,mode:w.Runtime,loader:H(s)}).renderer:null}):o.type==="UrlSchema"&&o.url?a.defineAsyncComponent(async()=>{const i=await t(o.url);return i&&(i.name=r),i?D({...n,Vue:a,dsl:i,mode:w.Runtime,loader:H(s)}).renderer:null}):o.type==="Plugin"?(o.library&&J.push(o.library),a.defineAsyncComponent(async()=>{const i=await Y(o,n.window);return i||(console.warn("getPlugin result is null",o),null)})):r}function M(s,e,t=N,n=be){if(!s||!s.name||s.invisible)return null;const r=t.getCurrentInstance()?.appContext,{id:o=null,directives:a=[]}=s,{vIf:i,vFor:l,vShow:c,vModels:m,vBind:d}=tt(a);if(i&&!nt(i,e))return null;const h=f=>{const g=f.$components,v=(()=>{if(s.name==="component")return st(f,s.props?.is);if(s.name==="slot")return s.name;const b=n(s.name,s.from,t);return u.isString(b)?g[b]??r?.app?.component(b)??b:b})(),_=rt(o,s.props??{},f),y=ot(t,s.events??{},f);if(s.name==="slot")return it(t,s,_,f,n);d&&Object.assign(_,f.__parseExpression(d.value)),c&&(_.style=Object.assign(_.style??{},ct(c,f))),m.forEach(b=>{Object.assign(_,lt(t,b,f))});const T=ut(t,s.children??[],f,n,s);return t.createVNode(v,{..._,...y},T)};return l?ft(l,h,e):h(e)}function tt(s=[]){const e=s.find(i=>u.camelCase(i.name)==="vIf"),t=s.find(i=>u.camelCase(i.name)==="vFor"),n=s.find(i=>u.camelCase(i.name)==="vShow"),r=s.find(i=>u.camelCase(i.name)==="vBind"),o=s.filter(i=>u.camelCase(i.name)==="vModel"),a=s.filter(i=>!oe.includes(u.camelCase(i.name)));return{vIf:e,vFor:t,vShow:n,vModels:o,vBind:r,others:a}}function nt(s,e){return!!e.__parseExpression(s.value)}function st(s,e){return e?j(e)?s.__parseExpression(e):e:"div"}function rt(s,e,t){const n=Object.keys(e||{}).reduce((r,o)=>{let a=e[o];return j(a)?a=t.__parseExpression(a):O(a)&&(a=t.__parseFunction(a)),r[o]=a,r},{});return n.ref=t.__ref(s,n.ref),n}function ot(s,e,t){const n=["passive","capture","once"],r={capture:"Capture",once:"Once",passive:"OnceCapture"};return Object.keys(e||{}).reduce((o,a)=>{const i=e[a],l=Q(i.modifiers),c=l.find(h=>n.includes(h)),m="on"+u.upperFirst(a)+(c&&r[c]||""),d=t.__parseFunction(i.handler);return d&&(o[m]=s.withModifiers(d,l)),o},{})}function Q(s={},e=!1){const t=Object.keys(s);return e?t.map(n=>"."+n):t}function it(s,e,t,n,r){const{children:o}=e,a=at(e,n),i=n.$slots?.[a.name];return i?i(t):o?u.isString(o)?s.createTextVNode(o):j(o)?s.createTextVNode(z(n.__parseExpression(o))):Array.isArray(o)?o.map(l=>M(l,n,s,r)):null:null}function at(s,e){const{props:t}=s,n=t?.name||"default";return{name:j(n)?e.__parseExpression(n):n,params:[]}}function ct(s,e){return e.__parseExpression(s.value)?{}:{display:"none"}}function lt(s,e,t){const n={type:"JSFunction",value:e.value?.value?`(v) => {
9
9
  ${e.value.value} = v;
10
10
  }`:"(v) => {}"},r=t.__parseFunction(n),o=Q(e.modifiers),a=j(e.arg)?t.__parseExpression(e.arg):e.arg||"modelValue";return{[a]:t.__parseExpression(e.value),[`onUpdate:${a}`]:o.length&&r?s.withModifiers(r,o):r}}function ut(s,e,t,n,r){if(!e)return null;if(u.isString(e))return{default:()=>e};if(j(e))return{default:()=>z(t.__parseExpression(e))};if(Array.isArray(e)&&e.length>0){const o=dt(e),a=i=>!i||!r?{}:r?.id&&Object.keys(i).length?{[`scope_${r.id}`]:i}:{};return Object.entries(o).reduce((i,[l,{nodes:c,params:m}])=>(i[l]=d=>{const h=m.length?u.pick(d??{},m):a(d);return c.map(f=>M(f,t.__clone(h),s,n))},i),{})}return null}function dt(s){const e={default:{params:[],nodes:[]}};for(const t of s){const n=pt(t.slot),r=n.name;e[r]?(e[r].nodes.push(t),e[r].params=e[r].params.concat(n.params)):e[r]={nodes:[t],params:n.params}}return e}function pt(s="default"){return u.isString(s)?{name:s,params:[]}:{params:[],...s}}function ft(s,e,t){const{value:n,iterator:r}=s,{item:o="item",index:a="index"}=r||{};let i=t.__parseExpression(n)||[];return Number.isInteger(i)&&(i=new Array(i).fill(!0).map((l,c)=>c+1)),Array.isArray(i)?i.map((l,c)=>e(t.__clone({[o]:l,[a]:c}))):(console.warn("[vForRender]:",`${n?.value} is not a Arrary`),[])}function ht(s){return p.getCurrentScope()?(p.onScopeDispose(s),!0):!1}function X(s){return typeof s=="function"?s():p.unref(s)}const $e=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const mt=s=>s!=null,gt=()=>{};function vt(s){return p.getCurrentInstance()}function yt(...s){if(s.length!==1)return p.toRef(...s);const e=s[0];return typeof e=="function"?p.readonly(p.customRef(()=>({get:e,set:gt}))):p.ref(e)}function _t(s,e){vt()&&p.onBeforeUnmount(s,e)}const wt=$e?window:void 0,St=$e?window.document:void 0;function jt(s){var e;const t=X(s);return(e=t?.$el)!=null?e:t}function Et(){const s=p.ref(!1),e=p.getCurrentInstance();return e&&p.onMounted(()=>{s.value=!0},e),s}function bt(s){const e=Et();return p.computed(()=>(e.value,!!s()))}function $t(s,e,t={}){const{window:n=wt,...r}=t;let o;const a=bt(()=>n&&"MutationObserver"in n),i=()=>{o&&(o.disconnect(),o=void 0)},l=p.computed(()=>{const h=X(s),f=(Array.isArray(h)?h:[h]).map(jt).filter(mt);return new Set(f)}),c=p.watch(()=>l.value,h=>{i(),a.value&&h.size&&(o=new MutationObserver(e),h.forEach(f=>o.observe(f,r)))},{immediate:!0,flush:"post"}),m=()=>o?.takeRecords(),d=()=>{c(),i()};return ht(d),{isSupported:a,stop:d,takeRecords:m}}function Pt(s=null,e={}){var t,n,r;const{document:o=St,restoreOnUnmount:a=d=>d}=e,i=(t=o?.title)!=null?t:"",l=yt((n=s??o?.title)!=null?n:null),c=s&&typeof s=="function";function m(d){if(!("titleTemplate"in e))return d;const h=e.titleTemplate||"%s";return typeof h=="function"?h(d):X(h).replace(/%s/g,d)}return p.watch(l,(d,h)=>{d!==h&&o&&(o.title=m(typeof d=="string"?d:""))},{immediate:!0}),e.observe&&!e.titleTemplate&&o&&!c&&$t((r=o.head)==null?void 0:r.querySelector("title"),()=>{o&&o.title!==l.value&&(l.value=m(o.title))},{childList:!0}),_t(()=>{if(a){const d=a(i,l.value||"");d!=null&&o&&(o.title=d)}}),l}const se=p.defineComponent({name:"VtjPageContainer",async setup(){const s=ee(),e=re.useRoute(),t=e.params.id,n=t?s.getPage(t):s.getHomepage(),r=n?await s.getRenderComponent(n.id):null,o=p.ref(Symbol());return n&&(Object.assign(e.meta,n.meta||{},{cache:n.cache}),Pt(n.title||"VTJ")),{provider:s,component:r,file:n,query:e.query,meta:e.meta,sid:o,route:e}},render(){const{component:s,query:e,sid:t}=this;return s?p.h(s,{...e,key:t}):p.h("div","页面不存在")},activated(){this.meta.cache===!1&&(this.sid=Symbol())}}),Ct={"data-l-h6o7ki7":"",class:"vtj-startup__wrapper"},Rt={"data-l-h6o7ki7":"",class:"vtj-startup"},xt={"data-l-h6o7ki7":"",class:"vtj-startup__name"},kt={"data-l-h6o7ki7":""},At={"data-l-h6o7ki7":"",class:"vtj-startup__tagline"},Ft={"data-l-h6o7ki7":"",class:"vtj-startup__actions"},Pe=p.defineComponent({__name:"Startup",props:{name:{default:"VTJ.PRO"},tagline:{default:"基于 Vue3 + TypeScript 快速打造高生产力的低代码研发平台"},actionText:{default:"开始设计"},link:{}},setup(s){((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
@@ -8,10 +8,10 @@ import { useRoute as ge } from "vue-router";
8
8
  * Copyright (c) 2024, VTJ.PRO All rights reserved.
9
9
  * @name @vtj/renderer
10
10
  * @author CHC chenhuachun1549@dingtalk.com
11
- * @version 0.9.0-alpha.45
11
+ * @version 0.9.0-alpha.46
12
12
  * @license <a href="https://vtj.pro/license.html">MIT License</a>
13
13
  */
14
- const x = "0.9.0-alpha.45";
14
+ const x = "0.9.0-alpha.46";
15
15
  var _ = /* @__PURE__ */ ((n) => (n.Runtime = "Runtime", n.Design = "Design", n.Raw = "Raw", n.VNode = "VNode", n))(_ || {});
16
16
  const ae = [
17
17
  "$el",
package/package.json CHANGED
@@ -1,19 +1,19 @@
1
1
  {
2
2
  "name": "@vtj/renderer",
3
3
  "private": false,
4
- "version": "0.9.0-alpha.45",
4
+ "version": "0.9.0-alpha.46",
5
5
  "type": "module",
6
6
  "dependencies": {
7
7
  "mockjs": "~1.1.0",
8
- "@vtj/core": "~0.9.0-alpha.45",
9
- "@vtj/utils": "~0.9.0-alpha.45"
8
+ "@vtj/utils": "~0.9.0-alpha.46",
9
+ "@vtj/core": "~0.9.0-alpha.46"
10
10
  },
11
11
  "devDependencies": {
12
12
  "vue": "~3.5.5",
13
13
  "vue-router": "~4.5.0",
14
14
  "@vtj/cli": "~0.9.0-alpha.3",
15
- "@vtj/icons": "~0.9.0-alpha.45",
16
- "@vtj/ui": "~0.9.0-alpha.45"
15
+ "@vtj/ui": "~0.9.0-alpha.46",
16
+ "@vtj/icons": "~0.9.0-alpha.46"
17
17
  },
18
18
  "exports": {
19
19
  ".": {
@@ -2,7 +2,7 @@
2
2
  * Copyright (c) 2024, VTJ.PRO All rights reserved.
3
3
  * @name @vtj/renderer
4
4
  * @author CHC chenhuachun1549@dingtalk.com
5
- * @version 0.9.0-alpha.44
5
+ * @version 0.9.0-alpha.45
6
6
  * @license <a href="https://vtj.pro/license.html">MIT License</a>
7
7
  */
8
- export declare const version = "0.9.0-alpha.44";
8
+ export declare const version = "0.9.0-alpha.45";