@vtj/renderer 0.9.0-alpha.41 → 0.9.0-alpha.42

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.41
5
+ * @version 0.9.0-alpha.42
6
6
  * @license <a href="https://vtj.pro/license.html">MIT License</a>
7
- */const C="0.9.0-alpha.41";var S=(n=>(n.Runtime="Runtime",n.Design="Design",n.Raw="Raw",n.VNode="VNode",n))(S||{});const J=["$el","$emit","$nextTick","$parent","$root","$attrs","$slots","$watch","$props","$options","$forceUpdate"],Ne=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeUnmount","unmounted","errorCaptured","renderTracked","renderTriggered","activated","deactivated"],re=["vIf","vShow","vModel","vFor","vBind"],oe={String,Number,Boolean,Array,Object,Function,Date},R="VtjPage",A="VtjHomepage";function x(n,e){return n.map(t=>u.isUrl(t)||t.startsWith("/")?t:`${e}${t}`)}function N(n){return/\.css$/.test(n)}function U(n){return/\.js$/.test(n)}function ie(n){return/\.json$/.test(n)}function Ue(n){return n.map(e=>`<script src="${u.url.append(e,{v:C})}"><\/script>`).join("")}function Be(n=[]){return n.map(e=>`<link rel="stylesheet" href="${u.url.append(e,{v:C})}" />`).join("")}function ae(n,e=!1){return e&&n.endsWith(".prod.js")?n.replace(".prod.js",".js"):n}function ce(n,e,t=!1){const s=n.filter(p=>!!p.enabled),r=[],o=[],a=[],i=[],l={},c={},m=[],d={};return s.forEach(({urls:p,assetsUrl:v,library:h,assetsLibrary:g,localeLibrary:j})=>{p?.forEach(y=>{U(y)&&r.push(ae(y,t)),N(y)&&o.push(y)}),h&&(i.push(h),l[h]=x(p||[],e),j&&(c[h]=j)),v&&a.push(v),g&&m.push(g),h&&g&&(d[g]=h)}),{scripts:x(r,e),css:x(o,e),materials:x(a,e),libraryExports:i,materialExports:u.dedupArray(m),materialMapLibrary:d,libraryMap:l,libraryLocaleMap:c}}function le(n,e){const{name:t,parent:s,alias:r}=n;return s?e[s]?.[r||t]:e[r||t]}function V(n){return u.isString(n)?n:JSON.stringify(n)}function z(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(l=>l.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 ue(n,e){const t=await window.fetch(e).then(s=>s.text()).catch(()=>"");t&&z(window,n,t)}function de(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 pe(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 l of n){const c=s.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 fe(n){return u.isFunction(n)||u.isFunction(n?.install)}function k(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,l)=>`__self${l}`),o=r.join(`
7
+ */const C="0.9.0-alpha.42";var S=(n=>(n.Runtime="Runtime",n.Design="Design",n.Raw="Raw",n.VNode="VNode",n))(S||{});const J=["$el","$emit","$nextTick","$parent","$root","$attrs","$slots","$watch","$props","$options","$forceUpdate"],Ne=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeUnmount","unmounted","errorCaptured","renderTracked","renderTriggered","activated","deactivated"],re=["vIf","vShow","vModel","vFor","vBind"],oe={String,Number,Boolean,Array,Object,Function,Date},R="VtjPage",A="VtjHomepage";function x(n,e){return n.map(t=>u.isUrl(t)||t.startsWith("/")?t:`${e}${t}`)}function N(n){return/\.css$/.test(n)}function U(n){return/\.js$/.test(n)}function ie(n){return/\.json$/.test(n)}function Ue(n){return n.map(e=>`<script src="${u.url.append(e,{v:C})}"><\/script>`).join("")}function Be(n=[]){return n.map(e=>`<link rel="stylesheet" href="${u.url.append(e,{v:C})}" />`).join("")}function ae(n,e=!1){return e&&n.endsWith(".prod.js")?n.replace(".prod.js",".js"):n}function ce(n,e,t=!1){const s=n.filter(p=>!!p.enabled),r=[],o=[],a=[],i=[],l={},c={},m=[],d={};return s.forEach(({urls:p,assetsUrl:v,library:h,assetsLibrary:g,localeLibrary:j})=>{p?.forEach(y=>{U(y)&&r.push(ae(y,t)),N(y)&&o.push(y)}),h&&(i.push(h),l[h]=x(p||[],e),j&&(c[h]=j)),v&&a.push(v),g&&m.push(g),h&&g&&(d[g]=h)}),{scripts:x(r,e),css:x(o,e),materials:x(a,e),libraryExports:i,materialExports:u.dedupArray(m),materialMapLibrary:d,libraryMap:l,libraryLocaleMap:c}}function le(n,e){const{name:t,parent:s,alias:r}=n;return s?e[s]?.[r||t]:e[r||t]}function V(n){return u.isString(n)?n:JSON.stringify(n)}function z(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(l=>l.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 ue(n,e){const t=await window.fetch(e).then(s=>s.text()).catch(()=>"");t&&z(window,n,t)}function de(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 pe(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 l of n){const c=s.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 fe(n){return u.isFunction(n)||u.isFunction(n?.install)}function k(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,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,n,e?.__self??e),s)throw r}}function q(n,e,t=!1,s=!1){const r=k(n,e,t,s);if(typeof r!="function"&&(u.logger.error("parseFunction.error","not a function",n,e?.__self??e),s))throw new Error(`"${n.value}" not a function`);return r}function E(n){return n&&n.type==="JSExpression"}function O(n){return typeof n=="object"&&n&&n.type==="JSFunction"}function he(n){return E(n)||O(n)}function Le(n){return he(n)?n.value:JSON.stringify(n)}let $=null;const Je=u.createRequest({settings:{type:"form",validSuccess:!0,originResponse:!1,loading:!0,validate:n=>n.data?.code===0||!!n.data?.success,failMessage:!0,showError:n=>{F.ElNotification.error({message:n||"未知错误"})},showLoading:()=>{$&&$.close(),$=F.ElLoading.service({lock:!0,text:"Loading",background:"rgba(0, 0, 0, 0.05)"})},hideLoading:()=>{$&&($.close(),$=null)}}});let P;function me(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?k(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(u.merge(o,i||{},{data:a})))}}function ge(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 ve(n=[],e=[],t){const s={};for(const r of n)s[r.id]=me(r,t);for(const r of e)s[r.id]=ge(r,t);return s}async function ye(n=[]){P=await import("mockjs").then(e=>e.default||e),P&&(P.setup({timeout:"50-500"}),K(),n.forEach(e=>_e(P,e)))}function _e(n,e){if(!e.mock)return;const{url:t,mockTemplate:s}=e;if(t&&s){const r=u.pathToRegexp(`${t}(.*)`),o=u.pathToRegexpMatch(t,{decode:decodeURIComponent}),a=k(s,{},!0);n.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}),n.mock(a(i))})}}function K(){P&&(P._mocked={})}const qe={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 Ve{options;data=null;mode=S.Raw;constructor(e){this.options=Object.assign({},qe,e),this.loadData()}connect(e){const{mode:t,router:s,request:r}=e;this.mode=t,s&&this.mode===S.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&&(u.storage.save(t,e,{type:"local",prefix:s}),r&&u.cookie.set(o,this.data.token))}clear(){const{storageKey:e,storagePrefix:t,session:s,authKey:r}=this.options;this.data=null,u.storage.remove(e,{type:"local",prefix:t}),s&&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:s={}}=this.data||{};return typeof e=="function"?e(s):u.toArray(e).every(o=>s[o]||s[t+"."+o])}some(e){const{appName:t}=this.options,{permissions:s={}}=this.data||{};return u.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=>u.unRSA(r,t));this.data=JSON.parse(s.join(""));return}if(typeof e=="string")try{const s=t?u.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=u.storage.get(e,{type:"local",prefix:t});this.setData(s||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,s,r)=>this.guard(t,r))}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 this.showTip(s),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(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 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 s=t.response||t||{};return await this.showUnauthorizedAlert(s),Promise.reject(t)})}}function we(){return f.inject(W,null)}class Se{__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.__refs={},this.$refs={},this.__contextRefs={},this.context={}})}__proxy(){this.__instance&&J.forEach(e=>{this[e]=this.__instance?.[e]})}__cleanup(){J.forEach(e=>{this[e]=null})}__parseFunction(e){if(e)if(this.__mode===S.Runtime){const{id:t,type:s}=e,r=t?this.__transform[t]??e.value:e.value;return q({type:s,value:r},this)}else return q(e,this)}__parseExpression(e){if(e)if(this.__mode===S.Runtime){const{id:t,type:s}=e,r=t?this.__transform[t]??e.value:e.value;return k({type:s,value:r},this)}else return k(e,this)}__ref(e=null,t){if(this.__mode!==S.VNode)return e&&e!==this.__id&&(this.__contextRefs[e]=this),async s=>{await u.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}if(r.nodeType===3&&r.nextSibling&&(r=r.nextSibling),r.__vtj__=e,S.Design===this.__mode&&(r.__context__=this,r.draggable=!0),e&&(this.__refs[e]=s),typeof t=="function")t(s);else if(t){const o=this.$refs[t];if(o&&s!==o){const a=new Set([].concat(o,s));this.$refs[t]=Array.from(a)}else this.$refs[t]=s}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=S.Runtime,components:s={},libs:r={},apis:o={},loader:a}=n,i=e.computed(()=>n.dsl),l={$components:s,$libs:r,$apis:o},c=new Se({mode:t,dsl:i.value,attrs:l}),m=e.defineComponent({name:i.value.name,props:{...Ke(i.value.props??[],c)},setup(d){c.$props=d,c.props=d,i.value.id&&z(n.window||window,i.value.id,i.value.css||""),c.state=We(e,i.value.state??{},c);const p=Ge(e,i.value.computed??{},c),v=Ye(i.value.methods??{},c),h=Qe(e,i.value.inject,c),g=je(i.value.dataSources||{},c),j={...h,...p,...v,...g};return c.setup(j,e),Xe(e,i.value.watch??[],c),{vtj:c}},emits:ze(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(p=>M(p,c,e,a))},...Ze(i.value.lifeCycles??{},c)});return{renderer:e.markRaw(m),context:c}}function ze(n=[]){return n.map(e=>u.isString(e)?e:e.name)}function Ke(n=[],e){const t=s=>s?(Array.isArray(s)?s:[s]).map(o=>oe[o]):void 0;return n.map(s=>u.isString(s)?{name:s}:{name:s.name,type:s.type,required:s.required,default:E(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 We(n,e,t){return n.reactive(Object.keys(e||{}).reduce((s,r)=>{let o=e[r];return E(o)?o=t.__parseExpression(o):O(o)&&(o=t.__parseFunction(o)),s[r]=o,s},{}))}function Ge(n,e,t){return Object.entries(e??{}).reduce((s,[r,o])=>(s[r]=n.computed(t.__parseFunction(o)),s),{})}function Ye(n,e){return Object.entries(n??{}).reduce((t,[s,r])=>(t[s]=e.__parseFunction(r),t),{})}function Qe(n,e=[],t){return e.reduce((s,r)=>{const{name:o,from:a}=r||{};r.default;const i=E(a)?t.__parseExpression(a)||o:a??o,l=E(r.default)?t.__parseExpression(r.default):r.default??null;return s[o]=n.inject(i,l),s},{})}function je(n,e){return Object.keys(n).reduce((t,s)=>{const r=n[s],o=e.$apis[r.ref],a=O(r.transform)?r.transform.value?e.__parseFunction(r.transform):void 0:r.transform;return t[s]=async(...i)=>{const l=await o.apply(e,i);return a?a(l):l},t},{})}function Xe(n,e=[],t){e.forEach(s=>{n.watch(t.__parseExpression(s.source),t.__parseFunction(s.handler),{deep:s.deep,immediate:s.immediate})})}function Ze(n,e){return Object.entries(n??{}).reduce((t,[s,r])=>(t[s]=e.__parseFunction(r),t),{})}let L=[];const Ee=n=>n;async function G(n,e=window){const{urls:t=[],library:s}=n,r=t.filter(i=>U(i));if(r.length===0||!s)return null;const o=t.filter(i=>N(i));return o.length&&de(o,e),await pe(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&&(L.forEach(r=>{delete s.window[r]}),L=[]),(r,o,a=H)=>!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?I({...s,Vue:a,dsl:i,mode:S.Runtime,loader:D(n)}).renderer:null}):o.type==="UrlSchema"&&o.url?a.defineAsyncComponent(async()=>{const i=await t(o.url);return i&&(i.name=r),i?I({...s,Vue:a,dsl:i,mode:S.Runtime,loader:D(n)}).renderer:null}):o.type==="Plugin"?(o.library&&L.push(o.library),a.defineAsyncComponent(async()=>{const i=await G(o,s.window);return i||(console.warn("getPlugin result is null",o),null)})):r}function M(n,e,t=H,s=Ee){if(!n||!n.name||n.invisible)return null;const{id:r=null,directives:o=[]}=n,{vIf:a,vFor:i,vShow:l,vModels:c,vBind:m}=et(o);if(a&&!tt(a,e))return null;const d=p=>{const v=p.$components,h=(()=>{if(n.name==="component")return st(p,n.props?.is);if(n.name==="slot")return n.name;const _=s(n.name,n.from,t);return u.isString(_)?v[_]??_:_})(),g=nt(r,n.props??{},p),j=rt(t,n.events??{},p);if(n.name==="slot")return ot(t,n,g,p,s);m&&Object.assign(g,p.__parseExpression(m.value)),l&&(g.style=Object.assign(g.style??{},at(l,p))),c.forEach(_=>{Object.assign(g,ct(t,_,p))});const y=lt(t,n.children??[],p,s,n);return t.createVNode(h,{...g,...j},y)};return i?pt(i,d,e):d(e)}function et(n=[]){const e=n.find(i=>u.camelCase(i.name)==="vIf"),t=n.find(i=>u.camelCase(i.name)==="vFor"),s=n.find(i=>u.camelCase(i.name)==="vShow"),r=n.find(i=>u.camelCase(i.name)==="vBind"),o=n.filter(i=>u.camelCase(i.name)==="vModel"),a=n.filter(i=>!re.includes(u.camelCase(i.name)));return{vIf:e,vFor:t,vShow:s,vModels:o,vBind:r,others:a}}function tt(n,e){return!!e.__parseExpression(n.value)}function st(n,e){return e?E(e)?n.__parseExpression(e):e:"div"}function nt(n,e,t){const s=Object.keys(e||{}).reduce((r,o)=>{let a=e[o];return E(a)?a=t.__parseExpression(a):O(a)&&(a=t.__parseFunction(a)),r[o]=a,r},{});return s.ref=t.__ref(n,s.ref),s}function rt(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],l=Y(i.modifiers),c=l.find(p=>s.includes(p)),m="on"+u.upperFirst(a)+(c&&r[c]||""),d=t.__parseFunction(i.handler);return d&&(o[m]=n.withModifiers(d,l)),o},{})}function Y(n={},e=!1){const t=Object.keys(n);return e?t.map(s=>"."+s):t}function ot(n,e,t,s,r){const{children:o}=e,a=it(e,s),i=s.$slots?.[a.name];return i?i(t):o?u.isString(o)?n.createTextVNode(o):E(o)?n.createTextVNode(V(s.__parseExpression(o))):Array.isArray(o)?o.map(l=>M(l,s,n,r)):null:null}function it(n,e){const{props:t}=n,s=t?.name||"default";return{name:E(s)?e.__parseExpression(s):s,params:[]}}function at(n,e){return e.__parseExpression(n.value)?{}:{display:"none"}}function ct(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=Y(e.modifiers),a=E(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 lt(n,e,t,s,r){if(!e)return null;if(u.isString(e))return{default:()=>e};if(E(e))return{default:()=>V(t.__parseExpression(e))};if(Array.isArray(e)&&e.length>0){const o=ut(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 p=m.length?u.pick(d??{},m):a(d);return c.map(v=>M(v,t.__clone(p),n,s))},i),{})}return null}function ut(n){const e={default:{params:[],nodes:[]}};for(const t of n){const s=dt(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 dt(n="default"){return u.isString(n)?{name:n,params:[]}:{params:[],...n}}function pt(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((l,c)=>c+1)),Array.isArray(i)?i.map((l,c)=>e(t.__clone({[o]:l,[a]:c}))):(console.warn("[vForRender]:",`${s?.value} is not a Arrary`),[])}function ft(n){return f.getCurrentScope()?(f.onScopeDispose(n),!0):!1}function Q(n){return typeof n=="function"?n():f.unref(n)}const be=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const ht=n=>n!=null,mt=()=>{};function gt(n){return f.getCurrentInstance()}function vt(...n){if(n.length!==1)return f.toRef(...n);const e=n[0];return typeof e=="function"?f.readonly(f.customRef(()=>({get:e,set:mt}))):f.ref(e)}function yt(n,e){gt()&&f.onBeforeUnmount(n,e)}const _t=be?window:void 0,wt=be?window.document:void 0;function St(n){var e;const t=Q(n);return(e=t?.$el)!=null?e:t}function jt(){const n=f.ref(!1),e=f.getCurrentInstance();return e&&f.onMounted(()=>{n.value=!0},e),n}function Et(n){const e=jt();return f.computed(()=>(e.value,!!n()))}function bt(n,e,t={}){const{window:s=_t,...r}=t;let o;const a=Et(()=>s&&"MutationObserver"in s),i=()=>{o&&(o.disconnect(),o=void 0)},l=f.computed(()=>{const p=Q(n),v=(Array.isArray(p)?p:[p]).map(St).filter(ht);return new Set(v)}),c=f.watch(()=>l.value,p=>{i(),a.value&&p.size&&(o=new MutationObserver(e),p.forEach(v=>o.observe(v,r)))},{immediate:!0,flush:"post"}),m=()=>o?.takeRecords(),d=()=>{c(),i()};return ft(d),{isSupported:a,stop:d,takeRecords:m}}function $t(n=null,e={}){var t,s,r;const{document:o=wt,restoreOnUnmount:a=d=>d}=e,i=(t=o?.title)!=null?t:"",l=vt((s=n??o?.title)!=null?s:null),c=n&&typeof n=="function";function m(d){if(!("titleTemplate"in e))return d;const p=e.titleTemplate||"%s";return typeof p=="function"?p(d):Q(p).replace(/%s/g,d)}return f.watch(l,(d,p)=>{d!==p&&o&&(o.title=m(typeof d=="string"?d:""))},{immediate:!0}),e.observe&&!e.titleTemplate&&o&&!c&&bt((r=o.head)==null?void 0:r.querySelector("title"),()=>{o&&o.title!==l.value&&(l.value=m(o.title))},{childList:!0}),yt(()=>{if(a){const d=a(i,l.value||"");d!=null&&o&&(o.title=d)}}),l}const se=f.defineComponent({name:"VtjPageContainer",async setup(){const n=Z(),e=ne.useRoute(),t=e.params.id,s=t?n.getPage(t):n.getHomepage(),r=s?await n.getRenderComponent(s.id):null,o=f.ref(Symbol());return s&&(Object.assign(e.meta,s.meta||{},{cache:s.cache}),$t(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?f.h(n,{...e,key:t}):f.h("div","页面不存在")},activated(){this.meta.cache===!1&&(this.sid=Symbol())}}),Pt={"data-l-h6o7ki7":"",class:"vtj-startup__wrapper"},Ct={"data-l-h6o7ki7":"",class:"vtj-startup"},Rt={"data-l-h6o7ki7":"",class:"vtj-startup__name"},kt={"data-l-h6o7ki7":""},xt={"data-l-h6o7ki7":"",class:"vtj-startup__tagline"},At={"data-l-h6o7ki7":"",class:"vtj-startup__actions"},$e=f.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
@@ -8,10 +8,10 @@ import { useRoute as me } 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.41
11
+ * @version 0.9.0-alpha.42
12
12
  * @license <a href="https://vtj.pro/license.html">MIT License</a>
13
13
  */
14
- const x = "0.9.0-alpha.41";
14
+ const x = "0.9.0-alpha.42";
15
15
  var _ = /* @__PURE__ */ ((n) => (n.Runtime = "Runtime", n.Design = "Design", n.Raw = "Raw", n.VNode = "VNode", n))(_ || {});
16
16
  const ie = [
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.41",
4
+ "version": "0.9.0-alpha.42",
5
5
  "type": "module",
6
6
  "dependencies": {
7
7
  "mockjs": "~1.1.0",
8
- "@vtj/utils": "~0.9.0-alpha.41",
9
- "@vtj/core": "~0.9.0-alpha.41"
8
+ "@vtj/core": "~0.9.0-alpha.42",
9
+ "@vtj/utils": "~0.9.0-alpha.42"
10
10
  },
11
11
  "devDependencies": {
12
12
  "vue": "~3.5.5",
13
13
  "vue-router": "~4.4.0",
14
14
  "@vtj/cli": "~0.9.0-alpha.2",
15
- "@vtj/icons": "~0.9.0-alpha.41",
16
- "@vtj/ui": "~0.9.0-alpha.41"
15
+ "@vtj/ui": "~0.9.0-alpha.42",
16
+ "@vtj/icons": "~0.9.0-alpha.42"
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.40
5
+ * @version 0.9.0-alpha.41
6
6
  * @license <a href="https://vtj.pro/license.html">MIT License</a>
7
7
  */
8
- export declare const version = "0.9.0-alpha.40";
8
+ export declare const version = "0.9.0-alpha.41";