@vtj/renderer 0.7.12 → 0.7.14

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
@@ -1,10 +1,10 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const P=require("@vtj/core"),l=require("@vtj/utils"),f=require("vue"),z=require("vue-router"),F=require("element-plus"),ue=require("@vueuse/core"),pe=require("@vtj/icons");function de(r){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const t in r)if(t!=="default"){const s=Object.getOwnPropertyDescriptor(r,t);Object.defineProperty(e,t,s.get?s:{enumerable:!0,get:()=>r[t]})}}return e.default=r,Object.freeze(e)}const O=de(f);/**!
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const $=require("@vtj/core"),c=require("@vtj/utils"),f=require("vue"),z=require("vue-router"),I=require("element-plus"),ue=require("@vueuse/core"),pe=require("@vtj/icons");function de(r){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const t in r)if(t!=="default"){const s=Object.getOwnPropertyDescriptor(r,t);Object.defineProperty(e,t,s.get?s:{enumerable:!0,get:()=>r[t]})}}return e.default=r,Object.freeze(e)}const O=de(f);/**!
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.7.12
5
+ * @version 0.7.14
6
6
  * @license <a href="https://vtj.pro/license.html">MIT License</a>
7
- */const b="0.7.12";var w=(r=>(r.Runtime="Runtime",r.Design="Design",r.Raw="Raw",r.VNode="VNode",r))(w||{});const D=["$el","$emit","$nextTick","$parent","$root","$attrs","$slots","$watch","$props","$options","$forceUpdate"],fe=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeUnmount","unmounted","errorCaptured","renderTracked","renderTriggered","activated","deactivated"],W=["vIf","vShow","vModel","vFor","vBind"],X={String,Number,Boolean,Array,Object,Function,Date};function C(r,e){return r.map(t=>l.isUrl(t)?t:`${e}${t}`)}function V(r){return/\.css$/.test(r)}function A(r){return/\.js$/.test(r)}function me(r){return r.map(e=>`<script src="${l.url.append(e,{v:b})}"><\/script>`).join("")}function he(r=[]){return r.map(e=>`<link rel="stylesheet" href="${l.url.append(e,{v:b})}" />`).join("")}function G(r,e){const t=r.filter(h=>!!h.enabled),s=[],n=[],o=[],i=[],a={},u=[],c={};return t.forEach(({urls:h,assetsUrl:m,library:p,assetsLibrary:g})=>{h?.forEach(y=>{A(y)&&s.push(y),V(y)&&n.push(y)}),p&&(i.push(p),a[p]=C(h||[],e)),m&&o.push(m),g&&u.push(g),p&&g&&(c[g]=p)}),{scripts:C(s,e),css:C(n,e),materials:C(o,e),libraryExports:i,materialExports:u,materialMapLibrary:c,libraryMap:a}}function Q(r,e){const{name:t,parent:s,alias:n}=r;return s?e[s]?.[n||t]:e[n||t]}function k(r){return l.isString(r)?r:JSON.stringify(r)}function B(r,e,t){const s=r.CSSStyleSheet;if(s.prototype.replaceSync){const n=new s;n.id=e,n.replaceSync(t);const o=r.document,i=o.adoptedStyleSheets,a=Array.from(i).filter(u=>u.id!==e);o.adoptedStyleSheets=[...a,n]}else{const n=r.document;let o=n.getElementById(e);o?o.innerHTML=t:(o=n.createElement("style"),o.id=e,o.innerHTML=t,n.head.appendChild(o))}}async function Z(r,e){const t=await window.fetch(e).then(s=>s.text()).catch(()=>"");t&&B(window,r,t)}function ee(r){return l.isFunction(r)||l.isFunction(r?.install)}function R(r,e,t=!1,s=!1){try{const n=['"use strict";',"var __self = arguments[0];"];n.push("return ");let o=(r.value||"").trim();o=o.replace(/this(\W|$)/g,(a,u)=>`__self${u}`),o=n.join(`
8
- `)+o;const i=`with(${t?"{}":"$scope || {}"}) { ${o} }`;return new Function("$scope",i)(e)}catch(n){if(l.logger.error("parseExpression.error",n,r,e?.__self??e),s)throw n}}function N(r,e,t=!1,s=!1){const n=R(r,e,t,s);if(typeof n!="function"&&(l.logger.error("parseFunction.error","not a function",r,e?.__self??e),s))throw new Error(`"${r.value}" not a function`);return n}function _(r){return r&&r.type==="JSExpression"}function x(r){return typeof r=="object"&&r&&r.type==="JSFunction"}function te(r){return _(r)||x(r)}function ve(r){return te(r)?r.value:JSON.stringify(r)}let E=null;const ge=l.createRequest({settings:{type:"form",validSuccess:!0,originResponse:!1,loading:!0,validate:r=>r.data?.code===0||!!r.data?.success,failMessage:!0,showError:r=>{F.ElNotification.error({message:r||"未知错误"})},showLoading:()=>{E&&E.close(),E=F.ElLoading.service({lock:!0,text:"Loading",background:"rgba(0, 0, 0, 0.05)"})},hideLoading:()=>{E&&(E.close(),E=null)}}});function re(r,e){const{jsonp:t,request:s}=e;if(r.method==="jsonp")return(n={})=>t(r.url,{...r.jsonpOptions,query:n});{const n=r.headers?R(r.headers,{},!0):void 0,o={url:r.url,method:r.method,settings:{...r.settings,headers:n}};return(i,a)=>s.send(l.merge(o,a||{},{data:i}))}}function se(r=[],e){return r.reduce((t,s)=>(t[s.id]=re(s,e),t),{})}class ne{__id=null;__mode;__instance=null;__contextRefs={};__refs={};context={};state={};$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:n}=e;this.__mode=t,s&&(this.__id=s.id||null,this.__transform=s.transform||{}),n&&Object.assign(this,n)}setup(e,t=O){const s=t.getCurrentInstance();if(!s)return;this.__instance=s.proxy;const n=s.appContext.config.globalProperties;Object.assign(this,n),Object.assign(this,e||{}),this.__proxy(),t.onMounted(()=>{this.__proxy()}),t.onUnmounted(()=>{this.__cleanup()})}__proxy(){this.__instance&&D.forEach(e=>{this[e]=this.__instance?.[e]})}__cleanup(){D.forEach(e=>{this[e]=null})}__parseFunction(e){if(e)if(this.__mode===w.Runtime){const{id:t,type:s}=e,n=t?this.__transform[t]??e.value:e.value;return N({type:s,value:n},this)}else return N(e,this)}__parseExpression(e){if(e)if(this.__mode===w.Runtime){const{id:t,type:s}=e,n=t?this.__transform[t]??e.value:e.value;return R({type:s,value:n},this)}else return R(e,this)}__ref(e=null,t){if(this.__mode!==w.VNode)return e&&e!==this.__id&&(this.__contextRefs[e]=this),s=>{let n=s?.$vtjEl||s?.$el||s;if(!n){typeof t=="string"&&(delete this.$refs[t],e&&delete this.__refs[e]);return}if(n.__vtj__=e,n.nodeType===3&&n.nextSibling&&(n=n.nextSibling),w.Design===this.__mode&&(n.__context__=this),e&&(this.__refs[e]=s),typeof t=="function")t(s);else if(t){const o=this.$refs[t];if(o){const i=new Set([].concat(o,s));this.$refs[t]=Array.from(i)}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 L(r){const{Vue:e=O,mode:t=w.Runtime,components:s={},libs:n={},apis:o={},loader:i}=r,a=e.computed(()=>r.dsl),u={$components:s,$libs:n,$apis:o},c=new ne({mode:t,dsl:a.value,attrs:u}),h=e.defineComponent({name:a.value.name,props:{..._e(a.value.props??[],c)},setup(m){c.$props=m,a.value.id&&B(r.window||window,a.value.id,a.value.css||""),c.state=ye(e,a.value.state??{},c);const p=Se(e,a.value.computed??{},c),g=we(a.value.methods??{},c),y=je(e,a.value.inject,c),d=oe(a.value.dataSources||{},c),j={...y,...p,...g,...d};return c.setup(j,e),$e(e,a.value.watch??[],c),{vtj:c}},emits:[...a.value.emits??[]],expose:["vtj"],render(){if(!a.value.nodes)return null;const m=a.value.nodes||[];return m.length===1?I(m[0],c,e,i):m.map(p=>I(p,c,e,i))},...Pe(a.value.lifeCycles??{},c)});return{renderer:e.markRaw(h),context:c}}function _e(r=[],e){const t=s=>s?(Array.isArray(s)?s:[s]).map(o=>X[o]):void 0;return r.map(s=>l.isString(s)?{name:s}:{name:s.name,type:s.type,required:s.required,default:_(s.default)?e.__parseExpression(s.default):s.default}).reduce((s,n)=>(s[n.name]={type:t(n.type),required:n.required,default:n.default},s),{})}function ye(r,e,t){return r.reactive(Object.keys(e||{}).reduce((s,n)=>{let o=e[n];return _(o)?o=t.__parseExpression(o):x(o)&&(o=t.__parseFunction(o)),s[n]=o,s},{}))}function Se(r,e,t){return Object.entries(e??{}).reduce((s,[n,o])=>(s[n]=r.computed(t.__parseFunction(o)),s),{})}function we(r,e){return Object.entries(r??{}).reduce((t,[s,n])=>(t[s]=e.__parseFunction(n),t),{})}function je(r,e=[],t){return e.reduce((s,n)=>{const{name:o,from:i}=n||{};n.default;const a=_(i)?t.__parseExpression(i)||o:i??o,u=_(n.default)?t.__parseExpression(n.default):n.default??null;return s[o]=r.inject(a,u),s},{})}function oe(r,e){return Object.keys(r).reduce((t,s)=>{const n=r[s],o=e.$apis[n.ref],i=x(n.transform)?n.transform.value?e.__parseFunction(n.transform):void 0:n.transform;return t[s]=async(...a)=>{const u=await o.apply(e,a);return i?i(u):u},t},{})}function $e(r,e=[],t){e.forEach(s=>{r.watch(t.__parseExpression(s.source),t.__parseFunction(s.handler),{deep:s.deep,immediate:s.immediate})})}function Pe(r,e){return Object.entries(r??{}).reduce((t,[s,n])=>(t[s]=e.__parseFunction(n),t),{})}const ie=r=>r;function q(r){const{getDsl:e,options:t}=r;return(s,n,o=O)=>!n||typeof n=="string"?s:n.type==="Schema"?o.defineAsyncComponent(async()=>{const i=await e(n.id);return i?L({...t,Vue:o,dsl:i,mode:w.Runtime,loader:q(r)}).renderer:null}):s}function I(r,e,t=O,s=ie){if(!r||!r.name||r.invisible)return null;const{id:n=null,directives:o=[]}=r,{vIf:i,vFor:a,vShow:u,vModels:c,vBind:h}=Ee(o);if(i&&!be(i,e))return null;const m=p=>{const g=p.$components,y=(()=>{if(r.name==="component")return Ce(p,r.props?.is);if(r.name==="slot")return r.name;const S=s(r.name,r.from,t);return l.isString(S)?g[S]??S:S})(),d=Fe(n,r.props??{},p),j=Re(t,r.events??{},p);if(r.name==="slot")return Ie(t,r,d,p);h&&Object.assign(d,p.__parseExpression(h.value)),u&&(d.style=Object.assign(d.style??{},He(u,p))),c.forEach(S=>{Object.assign(d,Me(t,S,p))});const $=Oe(t,r.children??[],p,r);return t.createVNode(y,{...d,...j},$)};return a?Ne(a,m,e):m(e)}function Ee(r=[]){const e=r.find(a=>l.camelCase(a.name)==="vIf"),t=r.find(a=>l.camelCase(a.name)==="vFor"),s=r.find(a=>l.camelCase(a.name)==="vShow"),n=r.find(a=>l.camelCase(a.name)==="vBind"),o=r.filter(a=>l.camelCase(a.name)==="vModel"),i=r.filter(a=>!W.includes(l.camelCase(a.name)));return{vIf:e,vFor:t,vShow:s,vModels:o,vBind:n,others:i}}function be(r,e){return!!e.__parseExpression(r.value)}function Ce(r,e){return e?_(e)?r.__parseExpression(e):e:"div"}function Fe(r,e,t){const s=Object.keys(e||{}).reduce((n,o)=>{let i=e[o];return _(i)?i=t.__parseExpression(i):x(i)&&(i=t.__parseFunction(i)),n[o]=i,n},{});return s.ref=t.__ref(r,s.ref),s}function Re(r,e,t){const s=["passive","capture","once"],n={capture:"Capture",once:"Once",passive:"OnceCapture"};return Object.keys(e||{}).reduce((o,i)=>{const a=e[i],u=J(a.modifiers),c=u.find(p=>s.includes(p)),h="on"+l.upperFirst(i)+(c&&n[c]||""),m=t.__parseFunction(a.handler);return m&&(o[h]=r.withModifiers(m,u)),o},{})}function J(r={},e=!1){const t=Object.keys(r);return e?t.map(s=>"."+s):t}function Ie(r,e,t,s){const{children:n}=e,o=xe(e,s),i=s.$slots?.[o.name];return i?i(t):n?l.isString(n)?r.createTextVNode(n):_(n)?r.createTextVNode(k(s.__parseExpression(n))):Array.isArray(n)?n.map(a=>I(a,s,r)):null:null}function xe(r,e){const{props:t}=r,s=t?.name||"default";return{name:_(s)?e.__parseExpression(s):s,params:[]}}function He(r,e){return e.__parseExpression(r.value)?{}:{display:"none"}}function Me(r,e,t){const s={type:"JSFunction",value:e.value?.value?`(v) => {
7
+ */const C="0.7.14";var j=(r=>(r.Runtime="Runtime",r.Design="Design",r.Raw="Raw",r.VNode="VNode",r))(j||{});const N=["$el","$emit","$nextTick","$parent","$root","$attrs","$slots","$watch","$props","$options","$forceUpdate"],fe=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeUnmount","unmounted","errorCaptured","renderTracked","renderTriggered","activated","deactivated"],W=["vIf","vShow","vModel","vFor","vBind"],X={String,Number,Boolean,Array,Object,Function,Date};function F(r,e){return r.map(t=>c.isUrl(t)?t:`${e}${t}`)}function A(r){return/\.css$/.test(r)}function V(r){return/\.js$/.test(r)}function me(r){return r.map(e=>`<script src="${c.url.append(e,{v:C})}"><\/script>`).join("")}function he(r=[]){return r.map(e=>`<link rel="stylesheet" href="${c.url.append(e,{v:C})}" />`).join("")}function G(r,e){const t=r.filter(h=>!!h.enabled),s=[],n=[],o=[],i=[],a={},u=[],l={};return t.forEach(({urls:h,assetsUrl:m,library:p,assetsLibrary:g})=>{h?.forEach(S=>{V(S)&&s.push(S),A(S)&&n.push(S)}),p&&(i.push(p),a[p]=F(h||[],e)),m&&o.push(m),g&&u.push(g),p&&g&&(l[g]=p)}),{scripts:F(s,e),css:F(n,e),materials:F(o,e),libraryExports:i,materialExports:c.dedupArray(u),materialMapLibrary:l,libraryMap:a}}function Q(r,e){const{name:t,parent:s,alias:n}=r;return s?e[s]?.[n||t]:e[n||t]}function B(r){return c.isString(r)?r:JSON.stringify(r)}function k(r,e,t){const s=r.CSSStyleSheet;if(s.prototype.replaceSync){const n=new s;n.id=e,n.replaceSync(t);const o=r.document,i=o.adoptedStyleSheets,a=Array.from(i).filter(u=>u.id!==e);o.adoptedStyleSheets=[...a,n]}else{const n=r.document;let o=n.getElementById(e);o?o.innerHTML=t:(o=n.createElement("style"),o.id=e,o.innerHTML=t,n.head.appendChild(o))}}async function Z(r,e){const t=await window.fetch(e).then(s=>s.text()).catch(()=>"");t&&k(window,r,t)}function ee(r){return c.isFunction(r)||c.isFunction(r?.install)}function R(r,e,t=!1,s=!1){try{const n=['"use strict";',"var __self = arguments[0];"];n.push("return ");let o=(r.value||"").trim();o=o.replace(/this(\W|$)/g,(a,u)=>`__self${u}`),o=n.join(`
8
+ `)+o;const i=`with(${t?"{}":"$scope || {}"}) { ${o} }`;return new Function("$scope",i)(e)}catch(n){if(c.logger.error("parseExpression.error",n,r,e?.__self??e),s)throw n}}function D(r,e,t=!1,s=!1){const n=R(r,e,t,s);if(typeof n!="function"&&(c.logger.error("parseFunction.error","not a function",r,e?.__self??e),s))throw new Error(`"${r.value}" not a function`);return n}function y(r){return r&&r.type==="JSExpression"}function H(r){return typeof r=="object"&&r&&r.type==="JSFunction"}function te(r){return y(r)||H(r)}function ve(r){return te(r)?r.value:JSON.stringify(r)}let b=null;const _e=c.createRequest({settings:{type:"form",validSuccess:!0,originResponse:!1,loading:!0,validate:r=>r.data?.code===0||!!r.data?.success,failMessage:!0,showError:r=>{I.ElNotification.error({message:r||"未知错误"})},showLoading:()=>{b&&b.close(),b=I.ElLoading.service({lock:!0,text:"Loading",background:"rgba(0, 0, 0, 0.05)"})},hideLoading:()=>{b&&(b.close(),b=null)}}});function re(r,e){const{jsonp:t,request:s}=e;if(r.method==="jsonp")return(n={})=>t(r.url,{...r.jsonpOptions,query:n});{const n=r.headers?R(r.headers,{},!0):void 0,o={url:r.url,method:r.method,settings:{...r.settings,headers:n}};return(i,a)=>s.send(c.merge(o,a||{},{data:i}))}}function se(r=[],e){return r.reduce((t,s)=>(t[s.id]=re(s,e),t),{})}class ne{__id=null;__mode;__instance=null;__contextRefs={};__refs={};context={};state={};$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:n}=e;this.__mode=t,s&&(this.__id=s.id||null,this.__transform=s.transform||{}),n&&Object.assign(this,n)}setup(e,t=O){const s=t.getCurrentInstance();if(!s)return;this.__instance=s.proxy;const n=s.appContext.config.globalProperties;Object.assign(this,n),Object.assign(this,e||{}),this.__proxy(),t.onMounted(()=>{this.__proxy()}),t.onUnmounted(()=>{this.__cleanup()})}__proxy(){this.__instance&&N.forEach(e=>{this[e]=this.__instance?.[e]})}__cleanup(){N.forEach(e=>{this[e]=null})}__parseFunction(e){if(e)if(this.__mode===j.Runtime){const{id:t,type:s}=e,n=t?this.__transform[t]??e.value:e.value;return D({type:s,value:n},this)}else return D(e,this)}__parseExpression(e){if(e)if(this.__mode===j.Runtime){const{id:t,type:s}=e,n=t?this.__transform[t]??e.value:e.value;return R({type:s,value:n},this)}else return R(e,this)}__ref(e=null,t){if(this.__mode!==j.VNode)return e&&e!==this.__id&&(this.__contextRefs[e]=this),s=>{let n=s?.$vtjEl||s?.$el||s;if(!n){typeof t=="string"&&(delete this.$refs[t],e&&delete this.__refs[e]);return}if(n.__vtj__=e,n.nodeType===3&&n.nextSibling&&(n=n.nextSibling),j.Design===this.__mode&&(n.__context__=this),e&&(this.__refs[e]=s),typeof t=="function")t(s);else if(t){const o=this.$refs[t];if(o){const i=new Set([].concat(o,s));this.$refs[t]=Array.from(i)}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 L(r){const{Vue:e=O,mode:t=j.Runtime,components:s={},libs:n={},apis:o={},loader:i}=r,a=e.computed(()=>r.dsl),u={$components:s,$libs:n,$apis:o},l=new ne({mode:t,dsl:a.value,attrs:u}),h=e.defineComponent({name:a.value.name,props:{...ge(a.value.props??[],l)},setup(m){l.$props=m,a.value.id&&k(r.window||window,a.value.id,a.value.css||""),l.state=ye(e,a.value.state??{},l);const p=Se(e,a.value.computed??{},l),g=we(a.value.methods??{},l),S=je(e,a.value.inject,l),d=oe(a.value.dataSources||{},l),w={...S,...p,...g,...d};return l.setup(w,e),$e(e,a.value.watch??[],l),{vtj:l}},emits:[...a.value.emits??[]],expose:["vtj"],render(){if(!a.value.nodes)return null;const m=a.value.nodes||[];return m.length===1?x(m[0],l,e,i):m.map(p=>x(p,l,e,i))},...Ee(a.value.lifeCycles??{},l)});return{renderer:e.markRaw(h),context:l}}function ge(r=[],e){const t=s=>s?(Array.isArray(s)?s:[s]).map(o=>X[o]):void 0;return r.map(s=>c.isString(s)?{name:s}:{name:s.name,type:s.type,required:s.required,default:y(s.default)?e.__parseExpression(s.default):s.default}).reduce((s,n)=>(s[n.name]={type:t(n.type),required:n.required,default:n.default},s),{})}function ye(r,e,t){return r.reactive(Object.keys(e||{}).reduce((s,n)=>{let o=e[n];return y(o)?o=t.__parseExpression(o):H(o)&&(o=t.__parseFunction(o)),s[n]=o,s},{}))}function Se(r,e,t){return Object.entries(e??{}).reduce((s,[n,o])=>(s[n]=r.computed(t.__parseFunction(o)),s),{})}function we(r,e){return Object.entries(r??{}).reduce((t,[s,n])=>(t[s]=e.__parseFunction(n),t),{})}function je(r,e=[],t){return e.reduce((s,n)=>{const{name:o,from:i}=n||{};n.default;const a=y(i)?t.__parseExpression(i)||o:i??o,u=y(n.default)?t.__parseExpression(n.default):n.default??null;return s[o]=r.inject(a,u),s},{})}function oe(r,e){return Object.keys(r).reduce((t,s)=>{const n=r[s],o=e.$apis[n.ref],i=H(n.transform)?n.transform.value?e.__parseFunction(n.transform):void 0:n.transform;return t[s]=async(...a)=>{const u=await o.apply(e,a);return i?i(u):u},t},{})}function $e(r,e=[],t){e.forEach(s=>{r.watch(t.__parseExpression(s.source),t.__parseFunction(s.handler),{deep:s.deep,immediate:s.immediate})})}function Ee(r,e){return Object.entries(r??{}).reduce((t,[s,n])=>(t[s]=e.__parseFunction(n),t),{})}const ie=r=>r;function q(r){const{getDsl:e,options:t}=r;return(s,n,o=O)=>!n||typeof n=="string"?s:n.type==="Schema"?o.defineAsyncComponent(async()=>{const i=await e(n.id);return i?L({...t,Vue:o,dsl:i,mode:j.Runtime,loader:q(r)}).renderer:null}):s}function x(r,e,t=O,s=ie){if(!r||!r.name||r.invisible)return null;const{id:n=null,directives:o=[]}=r,{vIf:i,vFor:a,vShow:u,vModels:l,vBind:h}=Pe(o);if(i&&!be(i,e))return null;const m=p=>{const g=p.$components,S=(()=>{if(r.name==="component")return Ce(p,r.props?.is);if(r.name==="slot")return r.name;const v=s(r.name,r.from,t);return c.isString(v)?g[v]??v:v})(),d=Fe(n,r.props??{},p),w=Ie(t,r.events??{},p);if(r.name==="slot")return Re(t,r,d,p);h&&Object.assign(d,p.__parseExpression(h.value)),u&&(d.style=Object.assign(d.style??{},He(u,p))),l.forEach(v=>{Object.assign(d,Te(t,v,p))});const E=Oe(t,r.children??[],p,r);return t.createVNode(S,{...d,...w},E)};return a?De(a,m,e):m(e)}function Pe(r=[]){const e=r.find(a=>c.camelCase(a.name)==="vIf"),t=r.find(a=>c.camelCase(a.name)==="vFor"),s=r.find(a=>c.camelCase(a.name)==="vShow"),n=r.find(a=>c.camelCase(a.name)==="vBind"),o=r.filter(a=>c.camelCase(a.name)==="vModel"),i=r.filter(a=>!W.includes(c.camelCase(a.name)));return{vIf:e,vFor:t,vShow:s,vModels:o,vBind:n,others:i}}function be(r,e){return!!e.__parseExpression(r.value)}function Ce(r,e){return e?y(e)?r.__parseExpression(e):e:"div"}function Fe(r,e,t){const s=Object.keys(e||{}).reduce((n,o)=>{let i=e[o];return y(i)?i=t.__parseExpression(i):H(i)&&(i=t.__parseFunction(i)),n[o]=i,n},{});return s.ref=t.__ref(r,s.ref),s}function Ie(r,e,t){const s=["passive","capture","once"],n={capture:"Capture",once:"Once",passive:"OnceCapture"};return Object.keys(e||{}).reduce((o,i)=>{const a=e[i],u=J(a.modifiers),l=u.find(p=>s.includes(p)),h="on"+c.upperFirst(i)+(l&&n[l]||""),m=t.__parseFunction(a.handler);return m&&(o[h]=r.withModifiers(m,u)),o},{})}function J(r={},e=!1){const t=Object.keys(r);return e?t.map(s=>"."+s):t}function Re(r,e,t,s){const{children:n}=e,o=xe(e,s),i=s.$slots?.[o.name];return i?i(t):n?c.isString(n)?r.createTextVNode(n):y(n)?r.createTextVNode(B(s.__parseExpression(n))):Array.isArray(n)?n.map(a=>x(a,s,r)):null:null}function xe(r,e){const{props:t}=r,s=t?.name||"default";return{name:y(s)?e.__parseExpression(s):s,params:[]}}function He(r,e){return e.__parseExpression(r.value)?{}:{display:"none"}}function Te(r,e,t){const s={type:"JSFunction",value:e.value?.value?`(v) => {
9
9
  ${e.value.value} = v;
10
- }`:"(v) => {}"},n=t.__parseFunction(s),o=J(e.modifiers),i=_(e.arg)?t.__parseExpression(e.arg):e.arg||"modelValue";return{[i]:t.__parseExpression(e.value),[`onUpdate:${i}`]:o.length&&n?r.withModifiers(n,o):n}}function Oe(r,e,t,s){if(!e)return null;if(l.isString(e))return{default:()=>e};if(_(e))return{default:()=>k(t.__parseExpression(e))};if(Array.isArray(e)){const n=Te(e),o=i=>!i||!s?{}:s?.id&&Object.keys(i).length?{[`scope_${s.id}`]:i}:{};return Object.entries(n).reduce((i,[a,{nodes:u,params:c}])=>(i[a]=h=>{const m=c.length?l.pick(h??{},c):o(h);return u.map(p=>I(p,t.__clone(m),r))},i),{})}}function Te(r){const e={default:{params:[],nodes:[]}};for(const t of r){const s=De(t.slot),n=s.name;e[n]?(e[n].nodes.push(t),e[n].params=e[n].params.concat(s.params)):e[n]={nodes:[t],params:s.params}}return e}function De(r="default"){return l.isString(r)?{name:r,params:[]}:{params:[],...r}}function Ne(r,e,t){const{value:s,iterator:n}=r,{item:o="item",index:i="index"}=n||{};let a=t.__parseExpression(s)||[];return Number.isInteger(a)&&(a=new Array(a).fill(!0).map((u,c)=>c+1)),Array.isArray(a)?a.map((u,c)=>e(t.__clone({[o]:u,[i]:c}))):(console.warn("[vForRender]:",`${s?.value} is not a Arrary`),[])}const Y=f.defineComponent({name:"VtjPageContainer",async setup(){const r=K(),e=z.useRoute(),t=e.params.id,s=t?r.getPage(t):r.getHomepage(),n=s?await r.getRenderComponent(s.id):null;return s&&ue.useTitle(s.title||"VTJ"),{provider:r,component:n,file:s,query:e.query}},render(){return this.component?f.h(this.component,this.query):f.h("div","页面不存在")}}),Ve={name:{type:String,default:"VTJ.PRO"},tagline:{type:String,default:"基于 Vue3 + TypeScript 快速打造高生产力的低代码研发平台"},actionText:{type:String,default:"开始设计"},actionLink:{type:String,default:"/@vtj/pro/"}},Ae={class:"x-startup"},ke={class:"x-startup__wrapper"},Be={class:"x-startup__name"},Le={class:"clip"},qe={class:"x-startup__tagline"},Je={class:"x-startup__actions"},Ue=f.defineComponent({__name:"Startup",props:Ve,setup(r){const e=r,t=()=>{if(typeof window<"u"){let s=(window.__VTJ_LINK__||{}).href||window.location.pathname+"@vtj/pro/#/";window.location.href=s}};return(s,n)=>(f.openBlock(),f.createElementBlock("div",Ae,[f.createElementVNode("div",ke,[f.createElementVNode("div",Be,[f.createElementVNode("span",Le,f.toDisplayString(e.name),1)]),f.createElementVNode("div",qe,f.toDisplayString(e.tagline),1),f.createElementVNode("div",Je,[f.createVNode(f.unref(F.ElButton),{type:"primary",size:"large",round:"",icon:f.unref(pe.EditPen),onClick:t},{default:f.withCtx(()=>[f.createTextVNode(f.toDisplayString(e.actionText),1)]),_:1},8,["icon"])])])]))}}),Ke=f.defineComponent({name:"VtjStartupContainer",render(){return f.h(Ue)}}),U=Symbol("Provider");class ae extends P.Base{mode;globals={};modules={};adapter={request:ge,jsonp:l.jsonp};apis={};dependencies={};materials={};library={};service;project=null;components={};router=null;materialPath="./";constructor(e){super();const{service:t,mode:s=w.Raw,dependencies:n,materials:o,project:i={},adapter:a={},globals:u={},modules:c={},router:h=null,materialPath:m="./"}=e;this.mode=s,this.modules=c,this.service=t,this.router=h,this.materialPath=m,n&&(this.dependencies=n),o&&(this.materials=o),Object.assign(this.globals,u),Object.assign(this.adapter,a),s!==w.Design&&this.load(i)}async load(e){const t=this.modules[`.vtj/projects/${e.id}.json`];if(this.project=t?await t():await this.service.init(e),!this.project)throw new Error("project is null");const{dependencies:s=[],apis:n}=this.project,{dependencies:o,library:i,components:a,materialPath:u}=this,{libraryExports:c,libraryMap:h,materials:m,materialExports:p,materialMapLibrary:g}=G(s,u);for(const d of c){const j=o[d],$=window[d];if($)i[d]=$;else if(j)window[d]=i[d]=await j();else{const S=h[d]||[];for(const H of S)V(H)&&await Z(d,l.url.append(H,{v:b})),A(H)&&await l.loadScript(l.url.append(H,{v:b})),i[d]=window[d]}}for(const d of m)await l.loadScript(l.url.append(d,{v:b}));const y=this.materials||{};for(const d of p){const j=y[d]?(await y[d]()).default:window[d],$=window[g[d]];j&&$&&j.components.forEach(S=>{a[S.name]=Q(S,$)})}n&&(this.apis=se(n,this.adapter)),this.initRouter(),this.triggerReady()}initRouter(){const{router:e,project:t}=this;e&&(e.addRoute({path:"/page/:id",name:"VtjPage",component:Y}),e.addRoute({path:"/",name:"VtjHomepage",component:t?.homepage?Y:Ke}))}install(e){const t=e.config.globalProperties.installed||{};for(const[s,n]of Object.entries(this.library))!t[s]&&ee(n)&&(e.use(n),t[s]=!0);e.provide(U,this),e.config.globalProperties.installed=t}getFile(e){const{blocks:t=[]}=this.project||{};return this.getPage(e)||t.find(s=>s.id===e)||null}getPage(e){const{pages:t=[]}=this.project||{},s=(n,o=[])=>{for(const i of o){if(i.id===n)return i;if(i.children&&i.children.length){const a=s(n,i.children);if(a)return a}}};return s(e,t)||null}getHomepage(){const{homepage:e}=this.project||{};return e?this.getPage(e):null}async getDsl(e){const t=this.modules[`.vtj/files/${e}.json`];return t?await t():this.service.getFile(e).catch(()=>null)}async getRenderComponent(e){const t=this.getFile(e);if(!t)return l.logger.warn(`Can not find file: ${e}`),null;const s=`.vtj/vue/${e}.vue`,n=this.modules[s];if(n)return(await n())?.default;const o=await this.getDsl(t.id);if(!o)return l.logger.warn(`Can not find dsl: ${e}`),null;const{library:i,components:a,mode:u,apis:c}=this,h={mode:u,Vue:i.Vue,components:a,libs:i,apis:c,window},m=q({getDsl:async g=>await this.getDsl(g)||null,options:h}),{renderer:p}=L({...h,dsl:o,loader:m});return p}}function Ye(r){const e=new ae(r);return{provider:e,onReady:s=>e.ready(s)}}function K(r={}){const e=f.inject(U);if(!e)throw new Error("Can not find provider");if(e.mode===w.Raw){const{id:t,version:s}=r;t&&s&&(async()=>{const n=await e.getDsl(t);n?.__VERSION__!==s&&F.ElNotification.warning({title:n?.name,message:"当前组件源码版本与运行时版本不一致,请重新发布组件"})})()}return e}const ze=new l.Request({settings:{type:"json",validSuccess:!0,originResponse:!1,failMessage:!0,validate:r=>r.data?.code===0,showError:r=>{F.ElNotification.error({message:r||"未知错误"})}}}),We=(r="/vtj/local/repository/${type}.json")=>(e,t)=>ze.send({url:r,method:"post",query:{type:e},data:{type:e,data:t}});class T{api;constructor(){this.api=We()}async init(e){return console.log("BaseService.init",e),{}}async saveProject(e){return!!await this.api("saveProject",e).catch(()=>!1)}async saveMaterials(e,t){return console.log("BaseService.saveMaterials",e,t),!1}async saveFile(e){return console.log("BaseService.saveFile",e),!1}async getFile(e){return console.log("BaseService.getFile",e),{}}async removeFile(e){return console.log("BaseService.removeFile",e),!1}async saveHistory(e){return console.log("BaseService.saveHistory",e),!1}async removeHistory(e){return console.log("BaseService.removeHistory",e),!1}async getHistory(e){return console.log("BaseService.getHistory",e),{}}async getHistoryItem(e,t){return console.log("BaseService.getHistoryItem",e,t),{}}async saveHistoryItem(e,t){return console.log("BaseService.saveHistoryItem",e,t),!1}async removeHistoryItem(e,t){return console.log("BaseService.removeHistoryItem",e,t),!1}async publish(e){return!!await this.api("publish",e).catch(()=>!1)}async publishFile(e,t){return!!await this.api("publishFile",{project:e,file:t}).catch(()=>!1)}async genVueContent(e,t){return await this.api("genVueContent",{project:e,dsl:t}).catch(()=>"")}async createRawPage(e){return await this.api("createRawPage",e).catch(()=>"")}async removeRawPage(e){return await this.api("removeRawPage",e).catch(()=>"")}}const v=new l.Storage({type:"local",expired:0,prefix:"__VTJ_"});class Xe extends T{init(e){const t=new P.ProjectModel(e),s=v.get(`project_${t.id}`),n=Object.assign(t.toDsl(),s||{});return v.save(`project_${t.id}`,n),Promise.resolve(n)}saveProject(e){const t=new P.ProjectModel(e);return v.save(`project_${t.id}`,t.toDsl()),Promise.resolve(!0)}saveMaterials(e,t){return v.save(`materials_${e.id}`,l.mapToObject(t)),Promise.resolve(!0)}saveFile(e){return v.save(`file_${e.id}`,e),Promise.resolve(!0)}getFile(e){const t=v.get(`file_${e}`);return t?Promise.resolve(t):Promise.reject(null)}removeFile(e){return v.remove(`file_${e}`),Promise.resolve(!0)}saveHistory(e){return v.save(`history_${e.id}`,e),Promise.resolve(!0)}removeHistory(e){const t=v.get(`history_${e}`);if(t){const n=(t.items||[]).map(o=>o.id);this.removeHistoryItem(e,n),v.remove(`history_${e}`)}return Promise.resolve(!0)}getHistory(e){const t=v.get(`history_${e}`),s=new P.HistoryModel(t||{id:e});return Promise.resolve(s.toDsl())}getHistoryItem(e,t){const s=v.get(`history_${e}_${t}`);return Promise.resolve(s)}saveHistoryItem(e,t){return v.save(`history_${e}_${t.id}`,t),Promise.resolve(!0)}removeHistoryItem(e,t){return t.forEach(s=>{v.remove(`history_${e}_${s}`)}),Promise.resolve(!0)}}class ce extends T{projects={};materials={};files={};histories={};historyItems={};init(e){const t=new P.ProjectModel(e),s=this.projects[t.id]||{},n=Object.assign(t.toDsl(),s);return this.projects[n.id]=n,Promise.resolve(n)}saveProject(e){const t=new P.ProjectModel(e);return this.projects[t.id]=t.toDsl(),Promise.resolve(!0)}saveMaterials(e,t){return e.id&&(this.materials[e.id]=l.mapToObject(t)),Promise.resolve(!0)}saveFile(e){return this.files[e.id]=e,Promise.resolve(!0)}getFile(e){const t=this.files[e];return t?Promise.resolve(t):Promise.reject(null)}removeFile(e){return delete this.files[e],Promise.resolve(!0)}saveHistory(e){return this.histories[e.id]=e,Promise.resolve(!0)}removeHistory(e){const t=this.histories[e];if(t){const n=(t.items||[]).map(o=>o.id);this.removeHistoryItem(e,n),delete this.historyItems[e]}return Promise.resolve(!0)}getHistory(e){const t=this.histories[e],s=new P.HistoryModel(t||{id:e});return Promise.resolve(s)}getHistoryItem(e,t){const s=`${e}_${t}`,n=this.historyItems[s]||{};return Promise.resolve(n)}saveHistoryItem(e,t){const s=`${e}_${t.id}`;return this.historyItems[s]=t,Promise.resolve(!0)}removeHistoryItem(e,t){return t.forEach(s=>{const n=`${e}_${s}`;delete this.historyItems[n]}),Promise.resolve(!0)}}let M=null;function Ge(){return M||(M=new ce,M)}class Qe extends T{async init(e){return await this.api("init",e).catch(()=>null)||{}}async saveProject(e){return!!await this.api("saveProject",e).catch(()=>!1)}async saveMaterials(e,t){return!!await this.api("saveMaterials",{project:e,materials:l.mapToObject(t)}).catch(()=>!1)}async saveFile(e){return!!await this.api("saveFile",e).catch(()=>!1)}async getFile(e){return await this.api("getFile",e).catch(()=>null)||{}}async removeFile(e){return!!await this.api("removeFile",e).catch(()=>!1)}async saveHistory(e){return!!await this.api("saveHistory",e).catch(()=>!1)}async removeHistory(e){return!!await this.api("removeHistory",e).catch(()=>!1)}async getHistory(e){return await this.api("getHistory",e).catch(()=>null)||{}}async getHistoryItem(e,t){return await this.api("getHistoryItem",{fId:e,id:t}).catch(()=>null)||{}}async saveHistoryItem(e,t){return!!await this.api("saveHistoryItem",{fId:e,item:t}).catch(()=>!1)}async removeHistoryItem(e,t){return!!await this.api("removeHistoryItem",{fId:e,ids:t}).catch(()=>!1)}}function le(r=[]){return r.map(e=>{const{id:t,title:s,icon:n,children:o,hidden:i}=e;return{id:t,title:s,icon:n,hidden:i,url:`/page/${t}`,children:o&&o.length?le(o):void 0}})}function Ze(){const r=K(),e=z.useRoute(),t=f.ref(!1),s=r.project;f.watchEffect(()=>{const{name:o,params:i,meta:a}=e;if(o==="VtjPage"){const u=r.getPage(i.id);t.value=!u?.mask}else if(o==="VtjHomepage"){const u=r.getHomepage();t.value=!u?.mask}else t.value=!a.mask});const n=le(s?.pages);return{disabled:t,title:s?.description||s?.name||"VTJ App",menus:n}}exports.BUILDIN_DIRECTIVES=W;exports.BaseService=T;exports.CONTEXT_HOST=D;exports.Context=ne;exports.ContextMode=w;exports.DATA_TYPES=X;exports.JSCodeToString=ve;exports.LIFE_CYCLES_LIST=fe;exports.LocalService=Qe;exports.MemoryService=ce;exports.Provider=ae;exports.StorageService=Xe;exports.VTJ_RENDERER_VERSION=b;exports.adoptedStyleSheets=B;exports.createAssetScripts=me;exports.createAssetsCss=he;exports.createDataSources=oe;exports.createLoader=q;exports.createMemoryService=Ge;exports.createProvider=Ye;exports.createRenderer=L;exports.createSchemaApi=re;exports.createSchemaApis=se;exports.defaultLoader=ie;exports.fillBasePath=C;exports.getModifiers=J;exports.getRawComponent=Q;exports.isCSSUrl=V;exports.isJSCode=te;exports.isJSExpression=_;exports.isJSFunction=x;exports.isJSUrl=A;exports.isVuePlugin=ee;exports.loadCss=Z;exports.nodeRender=I;exports.parseDeps=G;exports.parseExpression=R;exports.parseFunction=N;exports.providerKey=U;exports.toString=k;exports.useMask=Ze;exports.useProvider=K;
10
+ }`:"(v) => {}"},n=t.__parseFunction(s),o=J(e.modifiers),i=y(e.arg)?t.__parseExpression(e.arg):e.arg||"modelValue";return{[i]:t.__parseExpression(e.value),[`onUpdate:${i}`]:o.length&&n?r.withModifiers(n,o):n}}function Oe(r,e,t,s){if(!e)return null;if(c.isString(e))return{default:()=>e};if(y(e))return{default:()=>B(t.__parseExpression(e))};if(Array.isArray(e)){const n=Me(e),o=i=>!i||!s?{}:s?.id&&Object.keys(i).length?{[`scope_${s.id}`]:i}:{};return Object.entries(n).reduce((i,[a,{nodes:u,params:l}])=>(i[a]=h=>{const m=l.length?c.pick(h??{},l):o(h);return u.map(p=>x(p,t.__clone(m),r))},i),{})}}function Me(r){const e={default:{params:[],nodes:[]}};for(const t of r){const s=Ne(t.slot),n=s.name;e[n]?(e[n].nodes.push(t),e[n].params=e[n].params.concat(s.params)):e[n]={nodes:[t],params:s.params}}return e}function Ne(r="default"){return c.isString(r)?{name:r,params:[]}:{params:[],...r}}function De(r,e,t){const{value:s,iterator:n}=r,{item:o="item",index:i="index"}=n||{};let a=t.__parseExpression(s)||[];return Number.isInteger(a)&&(a=new Array(a).fill(!0).map((u,l)=>l+1)),Array.isArray(a)?a.map((u,l)=>e(t.__clone({[o]:u,[i]:l}))):(console.warn("[vForRender]:",`${s?.value} is not a Arrary`),[])}const Y=f.defineComponent({name:"VtjPageContainer",async setup(){const r=K(),e=z.useRoute(),t=e.params.id,s=t?r.getPage(t):r.getHomepage(),n=s?await r.getRenderComponent(s.id):null;return s&&ue.useTitle(s.title||"VTJ"),{provider:r,component:n,file:s,query:e.query}},render(){return this.component?f.h(this.component,this.query):f.h("div","页面不存在")}}),Ae={name:{type:String,default:"VTJ.PRO"},tagline:{type:String,default:"基于 Vue3 + TypeScript 快速打造高生产力的低代码研发平台"},actionText:{type:String,default:"开始设计"},actionLink:{type:String,default:"/@vtj/pro/"}},Ve={class:"x-startup"},Be={class:"x-startup__wrapper"},ke={class:"x-startup__name"},Le={class:"clip"},qe={class:"x-startup__tagline"},Je={class:"x-startup__actions"},Ue=f.defineComponent({__name:"Startup",props:Ae,setup(r){const e=r,t=()=>{if(typeof window<"u"){let s=(window.__VTJ_LINK__||{}).href||window.location.pathname+"@vtj/pro/#/";window.location.href=s}};return(s,n)=>(f.openBlock(),f.createElementBlock("div",Ve,[f.createElementVNode("div",Be,[f.createElementVNode("div",ke,[f.createElementVNode("span",Le,f.toDisplayString(e.name),1)]),f.createElementVNode("div",qe,f.toDisplayString(e.tagline),1),f.createElementVNode("div",Je,[f.createVNode(f.unref(I.ElButton),{type:"primary",size:"large",round:"",icon:f.unref(pe.EditPen),onClick:t},{default:f.withCtx(()=>[f.createTextVNode(f.toDisplayString(e.actionText),1)]),_:1},8,["icon"])])])]))}}),Ke=f.defineComponent({name:"VtjStartupContainer",render(){return f.h(Ue)}}),U=Symbol("Provider");class ae extends $.Base{mode;globals={};modules={};adapter={request:_e,jsonp:c.jsonp};apis={};dependencies={};materials={};library={};service;project=null;components={};router=null;materialPath="./";constructor(e){super();const{service:t,mode:s=j.Raw,dependencies:n,materials:o,project:i={},adapter:a={},globals:u={},modules:l={},router:h=null,materialPath:m="./"}=e;this.mode=s,this.modules=l,this.service=t,this.router=h,this.materialPath=m,n&&(this.dependencies=n),o&&(this.materials=o),Object.assign(this.globals,u),Object.assign(this.adapter,a),s!==j.Design&&this.load(i)}async load(e){const t=this.modules[`.vtj/projects/${e.id}.json`];if(this.project=t?await t():await this.service.init(e),!this.project)throw new Error("project is null");const{dependencies:s=[],apis:n}=this.project,{dependencies:o,library:i,components:a,materialPath:u}=this,{libraryExports:l,libraryMap:h,materials:m,materialExports:p,materialMapLibrary:g}=G(s,u);for(const d of l){const w=o[d],E=window[d];if(E)i[d]=E;else if(w)window[d]=i[d]=await w();else{const v=h[d]||[];for(const P of v)A(P)&&await Z(d,c.url.append(P,{v:C})),V(P)&&await c.loadScript(c.url.append(P,{v:C})),i[d]=window[d]}}for(const d of m)await c.loadScript(c.url.append(d,{v:C}));const S=this.materials||{};for(const d of p){const w=window[g[d]],E=$.BUILT_IN_COMPONENTS[d];if(E)w&&E.forEach(v=>{a[v]=w[v]});else{const v=S[d]?(await S[d]()).default:window[d];v&&w&&(v.components||[]).forEach(P=>{a[P.name]=Q(P,w)})}}n&&(this.apis=se(n,this.adapter)),this.initRouter(),this.triggerReady()}initRouter(){const{router:e,project:t}=this;e&&(e.addRoute({path:"/page/:id",name:"VtjPage",component:Y}),e.addRoute({path:"/",name:"VtjHomepage",component:t?.homepage?Y:Ke}))}install(e){const t=e.config.globalProperties.installed||{};for(const[s,n]of Object.entries(this.library))!t[s]&&ee(n)&&(e.use(n),t[s]=!0);e.provide(U,this),e.config.globalProperties.installed=t}getFile(e){const{blocks:t=[]}=this.project||{};return this.getPage(e)||t.find(s=>s.id===e)||null}getPage(e){const{pages:t=[]}=this.project||{},s=(n,o=[])=>{for(const i of o){if(i.id===n)return i;if(i.children&&i.children.length){const a=s(n,i.children);if(a)return a}}};return s(e,t)||null}getHomepage(){const{homepage:e}=this.project||{};return e?this.getPage(e):null}async getDsl(e){const t=this.modules[`.vtj/files/${e}.json`];return t?await t():this.service.getFile(e).catch(()=>null)}async getRenderComponent(e){const t=this.getFile(e);if(!t)return c.logger.warn(`Can not find file: ${e}`),null;const s=`.vtj/vue/${e}.vue`,n=this.modules[s];if(n)return(await n())?.default;const o=await this.getDsl(t.id);if(!o)return c.logger.warn(`Can not find dsl: ${e}`),null;const{library:i,components:a,mode:u,apis:l}=this,h={mode:u,Vue:i.Vue,components:a,libs:i,apis:l,window},m=q({getDsl:async g=>await this.getDsl(g)||null,options:h}),{renderer:p}=L({...h,dsl:o,loader:m});return p}}function Ye(r){const e=new ae(r);return{provider:e,onReady:s=>e.ready(s)}}function K(r={}){const e=f.inject(U);if(!e)throw new Error("Can not find provider");if(e.mode===j.Raw){const{id:t,version:s}=r;t&&s&&(async()=>{const n=await e.getDsl(t);n?.__VERSION__!==s&&I.ElNotification.warning({title:n?.name,message:"当前组件源码版本与运行时版本不一致,请重新发布组件"})})()}return e}const ze=new c.Request({settings:{type:"json",validSuccess:!0,originResponse:!1,failMessage:!0,validate:r=>r.data?.code===0,showError:r=>{I.ElNotification.error({message:r||"未知错误"})}}}),We=(r="/vtj/local/repository/${type}.json")=>(e,t)=>ze.send({url:r,method:"post",query:{type:e},data:{type:e,data:t}});class M{api;constructor(){this.api=We()}async init(e){return console.log("BaseService.init",e),{}}async saveProject(e){return!!await this.api("saveProject",e).catch(()=>!1)}async saveMaterials(e,t){return console.log("BaseService.saveMaterials",e,t),!1}async saveFile(e){return console.log("BaseService.saveFile",e),!1}async getFile(e){return console.log("BaseService.getFile",e),{}}async removeFile(e){return console.log("BaseService.removeFile",e),!1}async saveHistory(e){return console.log("BaseService.saveHistory",e),!1}async removeHistory(e){return console.log("BaseService.removeHistory",e),!1}async getHistory(e){return console.log("BaseService.getHistory",e),{}}async getHistoryItem(e,t){return console.log("BaseService.getHistoryItem",e,t),{}}async saveHistoryItem(e,t){return console.log("BaseService.saveHistoryItem",e,t),!1}async removeHistoryItem(e,t){return console.log("BaseService.removeHistoryItem",e,t),!1}async publish(e){return!!await this.api("publish",e).catch(()=>!1)}async publishFile(e,t){return!!await this.api("publishFile",{project:e,file:t}).catch(()=>!1)}async genVueContent(e,t){return await this.api("genVueContent",{project:e,dsl:t}).catch(()=>"")}async createRawPage(e){return await this.api("createRawPage",e).catch(()=>"")}async removeRawPage(e){return await this.api("removeRawPage",e).catch(()=>"")}}const _=new c.Storage({type:"local",expired:0,prefix:"__VTJ_"});class Xe extends M{init(e){const t=new $.ProjectModel(e),s=_.get(`project_${t.id}`),n=Object.assign(t.toDsl(),s||{});return _.save(`project_${t.id}`,n),Promise.resolve(n)}saveProject(e){const t=new $.ProjectModel(e);return _.save(`project_${t.id}`,t.toDsl()),Promise.resolve(!0)}saveMaterials(e,t){return _.save(`materials_${e.id}`,c.mapToObject(t)),Promise.resolve(!0)}saveFile(e){return _.save(`file_${e.id}`,e),Promise.resolve(!0)}getFile(e){const t=_.get(`file_${e}`);return t?Promise.resolve(t):Promise.reject(null)}removeFile(e){return _.remove(`file_${e}`),Promise.resolve(!0)}saveHistory(e){return _.save(`history_${e.id}`,e),Promise.resolve(!0)}removeHistory(e){const t=_.get(`history_${e}`);if(t){const n=(t.items||[]).map(o=>o.id);this.removeHistoryItem(e,n),_.remove(`history_${e}`)}return Promise.resolve(!0)}getHistory(e){const t=_.get(`history_${e}`),s=new $.HistoryModel(t||{id:e});return Promise.resolve(s.toDsl())}getHistoryItem(e,t){const s=_.get(`history_${e}_${t}`);return Promise.resolve(s)}saveHistoryItem(e,t){return _.save(`history_${e}_${t.id}`,t),Promise.resolve(!0)}removeHistoryItem(e,t){return t.forEach(s=>{_.remove(`history_${e}_${s}`)}),Promise.resolve(!0)}}class ce extends M{projects={};materials={};files={};histories={};historyItems={};init(e){const t=new $.ProjectModel(e),s=this.projects[t.id]||{},n=Object.assign(t.toDsl(),s);return this.projects[n.id]=n,Promise.resolve(n)}saveProject(e){const t=new $.ProjectModel(e);return this.projects[t.id]=t.toDsl(),Promise.resolve(!0)}saveMaterials(e,t){return e.id&&(this.materials[e.id]=c.mapToObject(t)),Promise.resolve(!0)}saveFile(e){return this.files[e.id]=e,Promise.resolve(!0)}getFile(e){const t=this.files[e];return t?Promise.resolve(t):Promise.reject(null)}removeFile(e){return delete this.files[e],Promise.resolve(!0)}saveHistory(e){return this.histories[e.id]=e,Promise.resolve(!0)}removeHistory(e){const t=this.histories[e];if(t){const n=(t.items||[]).map(o=>o.id);this.removeHistoryItem(e,n),delete this.historyItems[e]}return Promise.resolve(!0)}getHistory(e){const t=this.histories[e],s=new $.HistoryModel(t||{id:e});return Promise.resolve(s)}getHistoryItem(e,t){const s=`${e}_${t}`,n=this.historyItems[s]||{};return Promise.resolve(n)}saveHistoryItem(e,t){const s=`${e}_${t.id}`;return this.historyItems[s]=t,Promise.resolve(!0)}removeHistoryItem(e,t){return t.forEach(s=>{const n=`${e}_${s}`;delete this.historyItems[n]}),Promise.resolve(!0)}}let T=null;function Ge(){return T||(T=new ce,T)}class Qe extends M{async init(e){return await this.api("init",e).catch(()=>null)||{}}async saveProject(e){return!!await this.api("saveProject",e).catch(()=>!1)}async saveMaterials(e,t){return!!await this.api("saveMaterials",{project:e,materials:c.mapToObject(t)}).catch(()=>!1)}async saveFile(e){return!!await this.api("saveFile",e).catch(()=>!1)}async getFile(e){return await this.api("getFile",e).catch(()=>null)||{}}async removeFile(e){return!!await this.api("removeFile",e).catch(()=>!1)}async saveHistory(e){return!!await this.api("saveHistory",e).catch(()=>!1)}async removeHistory(e){return!!await this.api("removeHistory",e).catch(()=>!1)}async getHistory(e){return await this.api("getHistory",e).catch(()=>null)||{}}async getHistoryItem(e,t){return await this.api("getHistoryItem",{fId:e,id:t}).catch(()=>null)||{}}async saveHistoryItem(e,t){return!!await this.api("saveHistoryItem",{fId:e,item:t}).catch(()=>!1)}async removeHistoryItem(e,t){return!!await this.api("removeHistoryItem",{fId:e,ids:t}).catch(()=>!1)}}function le(r=[]){return r.map(e=>{const{id:t,title:s,icon:n,children:o,hidden:i}=e;return{id:t,title:s,icon:n,hidden:i,url:`/page/${t}`,children:o&&o.length?le(o):void 0}})}function Ze(){const r=K(),e=z.useRoute(),t=f.ref(!1),s=r.project;f.watchEffect(()=>{const{name:o,params:i,meta:a}=e;if(o==="VtjPage"){const u=r.getPage(i.id);t.value=!u?.mask}else if(o==="VtjHomepage"){const u=r.getHomepage();t.value=!u?.mask}else t.value=!a.mask});const n=le(s?.pages);return{disabled:t,title:s?.description||s?.name||"VTJ App",menus:n}}exports.BUILT_IN_DIRECTIVES=W;exports.BaseService=M;exports.CONTEXT_HOST=N;exports.Context=ne;exports.ContextMode=j;exports.DATA_TYPES=X;exports.JSCodeToString=ve;exports.LIFE_CYCLES_LIST=fe;exports.LocalService=Qe;exports.MemoryService=ce;exports.Provider=ae;exports.StorageService=Xe;exports.VTJ_RENDERER_VERSION=C;exports.adoptedStyleSheets=k;exports.createAssetScripts=me;exports.createAssetsCss=he;exports.createDataSources=oe;exports.createLoader=q;exports.createMemoryService=Ge;exports.createProvider=Ye;exports.createRenderer=L;exports.createSchemaApi=re;exports.createSchemaApis=se;exports.defaultLoader=ie;exports.fillBasePath=F;exports.getModifiers=J;exports.getRawComponent=Q;exports.isCSSUrl=A;exports.isJSCode=te;exports.isJSExpression=y;exports.isJSFunction=H;exports.isJSUrl=V;exports.isVuePlugin=ee;exports.loadCss=Z;exports.nodeRender=x;exports.parseDeps=G;exports.parseExpression=R;exports.parseFunction=D;exports.providerKey=U;exports.toString=B;exports.useMask=Ze;exports.useProvider=K;
package/dist/index.mjs CHANGED
@@ -1,20 +1,20 @@
1
- import { Base as ae, ProjectModel as I, HistoryModel as Y } from "@vtj/core";
2
- import { isUrl as ce, url as b, isString as P, isFunction as L, logger as C, createRequest as le, merge as ue, camelCase as $, upperFirst as pe, pick as fe, jsonp as me, loadScript as q, Request as de, Storage as he, mapToObject as N } from "@vtj/utils";
3
- import * as T from "vue";
4
- import { defineComponent as A, h as D, openBlock as ve, createElementBlock as _e, createElementVNode as E, toDisplayString as B, createVNode as ye, unref as U, withCtx as ge, createTextVNode as we, inject as Se, ref as $e, watchEffect as je } from "vue";
1
+ import { Base as ae, BUILT_IN_COMPONENTS as ce, ProjectModel as R, HistoryModel as Y } from "@vtj/core";
2
+ import { isUrl as le, url as F, dedupArray as ue, isString as P, isFunction as L, logger as C, createRequest as pe, merge as fe, camelCase as j, upperFirst as de, pick as me, jsonp as he, loadScript as q, Request as ve, Storage as _e, mapToObject as A } from "@vtj/utils";
3
+ import * as M from "vue";
4
+ import { defineComponent as D, h as B, openBlock as ye, createElementBlock as ge, createElementVNode as b, toDisplayString as k, createVNode as we, unref as U, withCtx as Se, createTextVNode as $e, inject as je, ref as Ee, watchEffect as Pe } from "vue";
5
5
  import { useRoute as X } from "vue-router";
6
- import { ElNotification as V, ElLoading as Pe, ElButton as Ee } from "element-plus";
7
- import { useTitle as be } from "@vueuse/core";
8
- import { EditPen as Fe } from "@vtj/icons";
6
+ import { ElNotification as V, ElLoading as be, ElButton as Fe } from "element-plus";
7
+ import { useTitle as Ie } from "@vueuse/core";
8
+ import { EditPen as xe } from "@vtj/icons";
9
9
  /**!
10
10
  * Copyright (c) 2024, VTJ.PRO All rights reserved.
11
11
  * @name @vtj/renderer
12
12
  * @author CHC chenhuachun1549@dingtalk.com
13
- * @version 0.7.12
13
+ * @version 0.7.14
14
14
  * @license <a href="https://vtj.pro/license.html">MIT License</a>
15
15
  */
16
- const F = "0.7.12";
17
- var g = /* @__PURE__ */ ((s) => (s.Runtime = "Runtime", s.Design = "Design", s.Raw = "Raw", s.VNode = "VNode", s))(g || {});
16
+ const I = "0.7.14";
17
+ var w = /* @__PURE__ */ ((s) => (s.Runtime = "Runtime", s.Design = "Design", s.Raw = "Raw", s.VNode = "VNode", s))(w || {});
18
18
  const K = [
19
19
  "$el",
20
20
  "$emit",
@@ -27,7 +27,7 @@ const K = [
27
27
  "$props",
28
28
  "$options",
29
29
  "$forceUpdate"
30
- ], Ft = [
30
+ ], xt = [
31
31
  "beforeCreate",
32
32
  "created",
33
33
  "beforeMount",
@@ -41,7 +41,7 @@ const K = [
41
41
  "renderTriggered",
42
42
  "activated",
43
43
  "deactivated"
44
- ], He = ["vIf", "vShow", "vModel", "vFor", "vBind"], xe = {
44
+ ], He = ["vIf", "vShow", "vModel", "vFor", "vBind"], Re = {
45
45
  String,
46
46
  Number,
47
47
  Boolean,
@@ -51,7 +51,7 @@ const K = [
51
51
  Date
52
52
  };
53
53
  function x(s, e) {
54
- return s.map((t) => ce(t) ? t : `${e}${t}`);
54
+ return s.map((t) => le(t) ? t : `${e}${t}`);
55
55
  }
56
56
  function G(s) {
57
57
  return /\.css$/.test(s);
@@ -61,31 +61,31 @@ function Q(s) {
61
61
  }
62
62
  function Ht(s) {
63
63
  return s.map(
64
- (e) => `<script src="${b.append(e, { v: F })}"><\/script>`
64
+ (e) => `<script src="${F.append(e, { v: I })}"><\/script>`
65
65
  ).join("");
66
66
  }
67
- function xt(s = []) {
67
+ function Rt(s = []) {
68
68
  return s.map(
69
- (e) => `<link rel="stylesheet" href="${b.append(e, { v: F })}" />`
69
+ (e) => `<link rel="stylesheet" href="${F.append(e, { v: I })}" />`
70
70
  ).join("");
71
71
  }
72
- function Re(s, e) {
73
- const t = s.filter((m) => !!m.enabled), r = [], n = [], o = [], i = [], a = {}, l = [], c = {};
74
- return t.forEach(({ urls: m, assetsUrl: f, library: u, assetsLibrary: h }) => {
75
- m?.forEach((v) => {
76
- Q(v) && r.push(v), G(v) && n.push(v);
77
- }), u && (i.push(u), a[u] = x(m || [], e)), f && o.push(f), h && l.push(h), u && h && (c[h] = u);
72
+ function Ce(s, e) {
73
+ const t = s.filter((d) => !!d.enabled), r = [], n = [], o = [], i = [], a = {}, l = [], c = {};
74
+ return t.forEach(({ urls: d, assetsUrl: f, library: u, assetsLibrary: v }) => {
75
+ d?.forEach((_) => {
76
+ Q(_) && r.push(_), G(_) && n.push(_);
77
+ }), u && (i.push(u), a[u] = x(d || [], e)), f && o.push(f), v && l.push(v), u && v && (c[v] = u);
78
78
  }), {
79
79
  scripts: x(r, e),
80
80
  css: x(n, e),
81
81
  materials: x(o, e),
82
82
  libraryExports: i,
83
- materialExports: l,
83
+ materialExports: ue(l),
84
84
  materialMapLibrary: c,
85
85
  libraryMap: a
86
86
  };
87
87
  }
88
- function Ie(s, e) {
88
+ function Oe(s, e) {
89
89
  const { name: t, parent: r, alias: n } = s;
90
90
  return r ? e[r]?.[n || t] : e[n || t];
91
91
  }
@@ -107,11 +107,11 @@ function ee(s, e, t) {
107
107
  o ? o.innerHTML = t : (o = n.createElement("style"), o.id = e, o.innerHTML = t, n.head.appendChild(o));
108
108
  }
109
109
  }
110
- async function Ce(s, e) {
110
+ async function Te(s, e) {
111
111
  const t = await window.fetch(e).then((r) => r.text()).catch(() => "");
112
112
  t && ee(window, s, t);
113
113
  }
114
- function Oe(s) {
114
+ function Me(s) {
115
115
  return L(s) || L(s?.install);
116
116
  }
117
117
  function O(s, e, t = !1, r = !1) {
@@ -139,20 +139,20 @@ function z(s, e, t = !1, r = !1) {
139
139
  throw new Error(`"${s.value}" not a function`);
140
140
  return n;
141
141
  }
142
- function y(s) {
142
+ function g(s) {
143
143
  return s && s.type === "JSExpression";
144
144
  }
145
- function k(s) {
145
+ function N(s) {
146
146
  return typeof s == "object" && s && s.type === "JSFunction";
147
147
  }
148
- function Me(s) {
149
- return y(s) || k(s);
148
+ function Ne(s) {
149
+ return g(s) || N(s);
150
150
  }
151
- function Rt(s) {
152
- return Me(s) ? s.value : JSON.stringify(s);
151
+ function Ct(s) {
152
+ return Ne(s) ? s.value : JSON.stringify(s);
153
153
  }
154
- let j = null;
155
- const Te = le({
154
+ let E = null;
155
+ const ke = pe({
156
156
  settings: {
157
157
  type: "form",
158
158
  validSuccess: !0,
@@ -166,18 +166,18 @@ const Te = le({
166
166
  });
167
167
  },
168
168
  showLoading: () => {
169
- j && j.close(), j = Pe.service({
169
+ E && E.close(), E = be.service({
170
170
  lock: !0,
171
171
  text: "Loading",
172
172
  background: "rgba(0, 0, 0, 0.05)"
173
173
  });
174
174
  },
175
175
  hideLoading: () => {
176
- j && (j.close(), j = null);
176
+ E && (E.close(), E = null);
177
177
  }
178
178
  }
179
179
  });
180
- function ke(s, e) {
180
+ function Be(s, e) {
181
181
  const { jsonp: t, request: r } = e;
182
182
  if (s.method === "jsonp")
183
183
  return (n = {}) => t(s.url, {
@@ -193,11 +193,11 @@ function ke(s, e) {
193
193
  headers: n
194
194
  }
195
195
  };
196
- return (i, a) => r.send(ue(o, a || {}, { data: i }));
196
+ return (i, a) => r.send(fe(o, a || {}, { data: i }));
197
197
  }
198
198
  }
199
- function Be(s = [], e) {
200
- return s.reduce((t, r) => (t[r.id] = ke(r, e), t), {});
199
+ function Ae(s = [], e) {
200
+ return s.reduce((t, r) => (t[r.id] = Be(r, e), t), {});
201
201
  }
202
202
  class De {
203
203
  __id = null;
@@ -227,7 +227,7 @@ class De {
227
227
  const { mode: t, dsl: r, attrs: n } = e;
228
228
  this.__mode = t, r && (this.__id = r.id || null, this.__transform = r.transform || {}), n && Object.assign(this, n);
229
229
  }
230
- setup(e, t = T) {
230
+ setup(e, t = M) {
231
231
  const r = t.getCurrentInstance();
232
232
  if (!r)
233
233
  return;
@@ -251,7 +251,7 @@ class De {
251
251
  }
252
252
  __parseFunction(e) {
253
253
  if (e)
254
- if (this.__mode === g.Runtime) {
254
+ if (this.__mode === w.Runtime) {
255
255
  const { id: t, type: r } = e, n = t ? this.__transform[t] ?? e.value : e.value;
256
256
  return z({ type: r, value: n }, this);
257
257
  } else
@@ -259,21 +259,21 @@ class De {
259
259
  }
260
260
  __parseExpression(e) {
261
261
  if (e)
262
- if (this.__mode === g.Runtime) {
262
+ if (this.__mode === w.Runtime) {
263
263
  const { id: t, type: r } = e, n = t ? this.__transform[t] ?? e.value : e.value;
264
264
  return O({ type: r, value: n }, this);
265
265
  } else
266
266
  return O(e, this);
267
267
  }
268
268
  __ref(e = null, t) {
269
- if (this.__mode !== g.VNode)
269
+ if (this.__mode !== w.VNode)
270
270
  return e && e !== this.__id && (this.__contextRefs[e] = this), (r) => {
271
271
  let n = r?.$vtjEl || r?.$el || r;
272
272
  if (!n) {
273
273
  typeof t == "string" && (delete this.$refs[t], e && delete this.__refs[e]);
274
274
  return;
275
275
  }
276
- if (n.__vtj__ = e, n.nodeType === 3 && n.nextSibling && (n = n.nextSibling), g.Design === this.__mode && (n.__context__ = this), e && (this.__refs[e] = r), typeof t == "function")
276
+ if (n.__vtj__ = e, n.nodeType === 3 && n.nextSibling && (n = n.nextSibling), w.Design === this.__mode && (n.__context__ = this), e && (this.__refs[e] = r), typeof t == "function")
277
277
  t(r);
278
278
  else if (t) {
279
279
  const o = this.$refs[t];
@@ -296,8 +296,8 @@ class De {
296
296
  }
297
297
  function te(s) {
298
298
  const {
299
- Vue: e = T,
300
- mode: t = g.Runtime,
299
+ Vue: e = M,
300
+ mode: t = w.Runtime,
301
301
  components: r = {},
302
302
  libs: n = {},
303
303
  apis: o = {},
@@ -310,27 +310,27 @@ function te(s) {
310
310
  mode: t,
311
311
  dsl: a.value,
312
312
  attrs: l
313
- }), m = e.defineComponent({
313
+ }), d = e.defineComponent({
314
314
  name: a.value.name,
315
315
  props: {
316
- ...Ne(a.value.props ?? [], c)
316
+ ...Ve(a.value.props ?? [], c)
317
317
  },
318
318
  setup(f) {
319
319
  c.$props = f, a.value.id && ee(
320
320
  s.window || window,
321
321
  a.value.id,
322
322
  a.value.css || ""
323
- ), c.state = Ae(e, a.value.state ?? {}, c);
324
- const u = Ve(e, a.value.computed ?? {}, c), h = Je(a.value.methods ?? {}, c), v = Le(e, a.value.inject, c), p = qe(
323
+ ), c.state = Je(e, a.value.state ?? {}, c);
324
+ const u = Le(e, a.value.computed ?? {}, c), v = qe(a.value.methods ?? {}, c), _ = Ue(e, a.value.inject, c), p = Ke(
325
325
  a.value.dataSources || {},
326
326
  c
327
- ), w = {
328
- ...v,
327
+ ), y = {
328
+ ..._,
329
329
  ...u,
330
- ...h,
330
+ ...v,
331
331
  ...p
332
332
  };
333
- return c.setup(w, e), Ue(e, a.value.watch ?? [], c), {
333
+ return c.setup(y, e), ze(e, a.value.watch ?? [], c), {
334
334
  vtj: c
335
335
  };
336
336
  },
@@ -340,24 +340,24 @@ function te(s) {
340
340
  if (!a.value.nodes)
341
341
  return null;
342
342
  const f = a.value.nodes || [];
343
- return f.length === 1 ? M(f[0], c, e, i) : f.map((u) => M(u, c, e, i));
343
+ return f.length === 1 ? T(f[0], c, e, i) : f.map((u) => T(u, c, e, i));
344
344
  },
345
- ...Ke(a.value.lifeCycles ?? {}, c)
345
+ ...We(a.value.lifeCycles ?? {}, c)
346
346
  });
347
347
  return {
348
- renderer: e.markRaw(m),
348
+ renderer: e.markRaw(d),
349
349
  context: c
350
350
  };
351
351
  }
352
- function Ne(s = [], e) {
353
- const t = (r) => r ? (Array.isArray(r) ? r : [r]).map((o) => xe[o]) : void 0;
352
+ function Ve(s = [], e) {
353
+ const t = (r) => r ? (Array.isArray(r) ? r : [r]).map((o) => Re[o]) : void 0;
354
354
  return s.map((r) => P(r) ? {
355
355
  name: r
356
356
  } : {
357
357
  name: r.name,
358
358
  type: r.type,
359
359
  required: r.required,
360
- default: y(r.default) ? e.__parseExpression(r.default) : r.default
360
+ default: g(r.default) ? e.__parseExpression(r.default) : r.default
361
361
  }).reduce(
362
362
  (r, n) => (r[n.name] = {
363
363
  type: t(n.type),
@@ -367,44 +367,44 @@ function Ne(s = [], e) {
367
367
  {}
368
368
  );
369
369
  }
370
- function Ae(s, e, t) {
370
+ function Je(s, e, t) {
371
371
  return s.reactive(
372
372
  Object.keys(e || {}).reduce(
373
373
  (r, n) => {
374
374
  let o = e[n];
375
- return y(o) ? o = t.__parseExpression(o) : k(o) && (o = t.__parseFunction(o)), r[n] = o, r;
375
+ return g(o) ? o = t.__parseExpression(o) : N(o) && (o = t.__parseFunction(o)), r[n] = o, r;
376
376
  },
377
377
  {}
378
378
  )
379
379
  );
380
380
  }
381
- function Ve(s, e, t) {
381
+ function Le(s, e, t) {
382
382
  return Object.entries(e ?? {}).reduce(
383
383
  (r, [n, o]) => (r[n] = s.computed(t.__parseFunction(o)), r),
384
384
  {}
385
385
  );
386
386
  }
387
- function Je(s, e) {
387
+ function qe(s, e) {
388
388
  return Object.entries(s ?? {}).reduce(
389
389
  (t, [r, n]) => (t[r] = e.__parseFunction(n), t),
390
390
  {}
391
391
  );
392
392
  }
393
- function Le(s, e = [], t) {
393
+ function Ue(s, e = [], t) {
394
394
  return e.reduce(
395
395
  (r, n) => {
396
396
  const { name: o, from: i } = n || {};
397
397
  n.default;
398
- const a = y(i) ? t.__parseExpression(i) || o : i ?? o, l = y(n.default) ? t.__parseExpression(n.default) : n.default ?? null;
398
+ const a = g(i) ? t.__parseExpression(i) || o : i ?? o, l = g(n.default) ? t.__parseExpression(n.default) : n.default ?? null;
399
399
  return r[o] = s.inject(a, l), r;
400
400
  },
401
401
  {}
402
402
  );
403
403
  }
404
- function qe(s, e) {
404
+ function Ke(s, e) {
405
405
  return Object.keys(s).reduce(
406
406
  (t, r) => {
407
- const n = s[r], o = e.$apis[n.ref], i = k(n.transform) ? n.transform.value ? e.__parseFunction(n.transform) : void 0 : n.transform;
407
+ const n = s[r], o = e.$apis[n.ref], i = N(n.transform) ? n.transform.value ? e.__parseFunction(n.transform) : void 0 : n.transform;
408
408
  return t[r] = async (...a) => {
409
409
  const l = await o.apply(e, a);
410
410
  return i ? i(l) : l;
@@ -413,7 +413,7 @@ function qe(s, e) {
413
413
  {}
414
414
  );
415
415
  }
416
- function Ue(s, e = [], t) {
416
+ function ze(s, e = [], t) {
417
417
  e.forEach((r) => {
418
418
  s.watch(
419
419
  t.__parseExpression(r.source),
@@ -425,57 +425,57 @@ function Ue(s, e = [], t) {
425
425
  );
426
426
  });
427
427
  }
428
- function Ke(s, e) {
428
+ function We(s, e) {
429
429
  return Object.entries(s ?? {}).reduce(
430
430
  (t, [r, n]) => (t[r] = e.__parseFunction(n), t),
431
431
  {}
432
432
  );
433
433
  }
434
- const ze = (s) => s;
434
+ const Ye = (s) => s;
435
435
  function re(s) {
436
436
  const { getDsl: e, options: t } = s;
437
- return (r, n, o = T) => !n || typeof n == "string" ? r : n.type === "Schema" ? o.defineAsyncComponent(async () => {
437
+ return (r, n, o = M) => !n || typeof n == "string" ? r : n.type === "Schema" ? o.defineAsyncComponent(async () => {
438
438
  const i = await e(n.id);
439
439
  return i ? te({
440
440
  ...t,
441
441
  Vue: o,
442
442
  dsl: i,
443
- mode: g.Runtime,
443
+ mode: w.Runtime,
444
444
  loader: re(s)
445
445
  }).renderer : null;
446
446
  }) : r;
447
447
  }
448
- function M(s, e, t = T, r = ze) {
448
+ function T(s, e, t = M, r = Ye) {
449
449
  if (!s || !s.name || s.invisible)
450
450
  return null;
451
- const { id: n = null, directives: o = [] } = s, { vIf: i, vFor: a, vShow: l, vModels: c, vBind: m } = We(o);
452
- if (i && !Ye(i, e))
451
+ const { id: n = null, directives: o = [] } = s, { vIf: i, vFor: a, vShow: l, vModels: c, vBind: d } = Xe(o);
452
+ if (i && !Ge(i, e))
453
453
  return null;
454
454
  const f = (u) => {
455
- const h = u.$components, v = (() => {
455
+ const v = u.$components, _ = (() => {
456
456
  if (s.name === "component")
457
- return Xe(u, s.props?.is);
457
+ return Qe(u, s.props?.is);
458
458
  if (s.name === "slot")
459
459
  return s.name;
460
- const _ = r(s.name, s.from, t);
461
- return P(_) ? h[_] ?? _ : _;
462
- })(), p = Ge(n, s.props ?? {}, u), w = Qe(t, s.events ?? {}, u);
460
+ const m = r(s.name, s.from, t);
461
+ return P(m) ? v[m] ?? m : m;
462
+ })(), p = Ze(n, s.props ?? {}, u), y = et(t, s.events ?? {}, u);
463
463
  if (s.name === "slot")
464
- return Ze(t, s, p, u);
465
- m && Object.assign(p, u.__parseExpression(m.value)), l && (p.style = Object.assign(
464
+ return tt(t, s, p, u);
465
+ d && Object.assign(p, u.__parseExpression(d.value)), l && (p.style = Object.assign(
466
466
  p.style ?? {},
467
- tt(l, u)
468
- )), c.forEach((_) => {
469
- Object.assign(p, rt(t, _, u));
467
+ st(l, u)
468
+ )), c.forEach((m) => {
469
+ Object.assign(p, nt(t, m, u));
470
470
  });
471
- const S = st(t, s.children ?? [], u, s);
472
- return t.createVNode(v, { ...p, ...w }, S);
471
+ const S = ot(t, s.children ?? [], u, s);
472
+ return t.createVNode(_, { ...p, ...y }, S);
473
473
  };
474
- return a ? it(a, f, e) : f(e);
474
+ return a ? ct(a, f, e) : f(e);
475
475
  }
476
- function We(s = []) {
477
- const e = s.find((a) => $(a.name) === "vIf"), t = s.find((a) => $(a.name) === "vFor"), r = s.find((a) => $(a.name) === "vShow"), n = s.find((a) => $(a.name) === "vBind"), o = s.filter((a) => $(a.name) === "vModel"), i = s.filter(
478
- (a) => !He.includes($(a.name))
476
+ function Xe(s = []) {
477
+ const e = s.find((a) => j(a.name) === "vIf"), t = s.find((a) => j(a.name) === "vFor"), r = s.find((a) => j(a.name) === "vShow"), n = s.find((a) => j(a.name) === "vBind"), o = s.filter((a) => j(a.name) === "vModel"), i = s.filter(
478
+ (a) => !He.includes(j(a.name))
479
479
  );
480
480
  return {
481
481
  vIf: e,
@@ -486,86 +486,92 @@ function We(s = []) {
486
486
  others: i
487
487
  };
488
488
  }
489
- function Ye(s, e) {
489
+ function Ge(s, e) {
490
490
  return !!e.__parseExpression(s.value);
491
491
  }
492
- function Xe(s, e) {
493
- return e ? y(e) ? s.__parseExpression(e) : e : "div";
492
+ function Qe(s, e) {
493
+ return e ? g(e) ? s.__parseExpression(e) : e : "div";
494
494
  }
495
- function Ge(s, e, t) {
496
- const r = Object.keys(e || {}).reduce((n, o) => {
497
- let i = e[o];
498
- return y(i) ? i = t.__parseExpression(i) : k(i) && (i = t.__parseFunction(i)), n[o] = i, n;
499
- }, {});
495
+ function Ze(s, e, t) {
496
+ const r = Object.keys(e || {}).reduce(
497
+ (n, o) => {
498
+ let i = e[o];
499
+ return g(i) ? i = t.__parseExpression(i) : N(i) && (i = t.__parseFunction(i)), n[o] = i, n;
500
+ },
501
+ {}
502
+ );
500
503
  return r.ref = t.__ref(s, r.ref), r;
501
504
  }
502
- function Qe(s, e, t) {
505
+ function et(s, e, t) {
503
506
  const r = ["passive", "capture", "once"], n = {
504
507
  capture: "Capture",
505
508
  once: "Once",
506
509
  passive: "OnceCapture"
507
510
  };
508
- return Object.keys(e || {}).reduce((o, i) => {
509
- const a = e[i], l = se(a.modifiers), c = l.find((u) => r.includes(u)), m = "on" + pe(i) + (c && n[c] || ""), f = t.__parseFunction(a.handler);
510
- return f && (o[m] = s.withModifiers(f, l)), o;
511
- }, {});
511
+ return Object.keys(e || {}).reduce(
512
+ (o, i) => {
513
+ const a = e[i], l = se(a.modifiers), c = l.find((u) => r.includes(u)), d = "on" + de(i) + (c && n[c] || ""), f = t.__parseFunction(a.handler);
514
+ return f && (o[d] = s.withModifiers(f, l)), o;
515
+ },
516
+ {}
517
+ );
512
518
  }
513
519
  function se(s = {}, e = !1) {
514
520
  const t = Object.keys(s);
515
521
  return e ? t.map((r) => "." + r) : t;
516
522
  }
517
- function Ze(s, e, t, r) {
518
- const { children: n } = e, o = et(e, r), i = r.$slots?.[o.name];
519
- return i ? i(t) : n ? P(n) ? s.createTextVNode(n) : y(n) ? s.createTextVNode(
523
+ function tt(s, e, t, r) {
524
+ const { children: n } = e, o = rt(e, r), i = r.$slots?.[o.name];
525
+ return i ? i(t) : n ? P(n) ? s.createTextVNode(n) : g(n) ? s.createTextVNode(
520
526
  Z(r.__parseExpression(n))
521
- ) : Array.isArray(n) ? n.map((a) => M(a, r, s)) : null : null;
527
+ ) : Array.isArray(n) ? n.map((a) => T(a, r, s)) : null : null;
522
528
  }
523
- function et(s, e) {
529
+ function rt(s, e) {
524
530
  const { props: t } = s, r = t?.name || "default";
525
531
  return {
526
- name: y(r) ? e.__parseExpression(r) : r,
532
+ name: g(r) ? e.__parseExpression(r) : r,
527
533
  params: []
528
534
  };
529
535
  }
530
- function tt(s, e) {
536
+ function st(s, e) {
531
537
  return e.__parseExpression(s.value) ? {} : {
532
538
  display: "none"
533
539
  };
534
540
  }
535
- function rt(s, e, t) {
541
+ function nt(s, e, t) {
536
542
  const r = {
537
543
  type: "JSFunction",
538
544
  value: e.value?.value ? `(v) => {
539
545
  ${e.value.value} = v;
540
546
  }` : "(v) => {}"
541
- }, n = t.__parseFunction(r), o = se(e.modifiers), i = y(e.arg) ? t.__parseExpression(e.arg) : e.arg || "modelValue";
547
+ }, n = t.__parseFunction(r), o = se(e.modifiers), i = g(e.arg) ? t.__parseExpression(e.arg) : e.arg || "modelValue";
542
548
  return {
543
549
  [i]: t.__parseExpression(e.value),
544
550
  [`onUpdate:${i}`]: o.length && n ? s.withModifiers(n, o) : n
545
551
  };
546
552
  }
547
- function st(s, e, t, r) {
553
+ function ot(s, e, t, r) {
548
554
  if (!e)
549
555
  return null;
550
556
  if (P(e))
551
557
  return { default: () => e };
552
- if (y(e))
558
+ if (g(e))
553
559
  return {
554
560
  default: () => Z(t.__parseExpression(e))
555
561
  };
556
562
  if (Array.isArray(e)) {
557
- const n = nt(e), o = (i) => !i || !r ? {} : r?.id && Object.keys(i).length ? {
563
+ const n = it(e), o = (i) => !i || !r ? {} : r?.id && Object.keys(i).length ? {
558
564
  [`scope_${r.id}`]: i
559
565
  } : {};
560
- return Object.entries(n).reduce((i, [a, { nodes: l, params: c }]) => (i[a] = (m) => {
561
- const f = c.length ? fe(m ?? {}, c) : o(m);
566
+ return Object.entries(n).reduce((i, [a, { nodes: l, params: c }]) => (i[a] = (d) => {
567
+ const f = c.length ? me(d ?? {}, c) : o(d);
562
568
  return l.map(
563
- (u) => M(u, t.__clone(f), s)
569
+ (u) => T(u, t.__clone(f), s)
564
570
  );
565
571
  }, i), {});
566
572
  }
567
573
  }
568
- function nt(s) {
574
+ function it(s) {
569
575
  const e = {
570
576
  default: {
571
577
  params: [],
@@ -573,7 +579,7 @@ function nt(s) {
573
579
  }
574
580
  };
575
581
  for (const t of s) {
576
- const r = ot(t.slot), n = r.name;
582
+ const r = at(t.slot), n = r.name;
577
583
  e[n] ? (e[n].nodes.push(t), e[n].params = e[n].params.concat(r.params)) : e[n] = {
578
584
  nodes: [t],
579
585
  params: r.params
@@ -581,19 +587,19 @@ function nt(s) {
581
587
  }
582
588
  return e;
583
589
  }
584
- function ot(s = "default") {
590
+ function at(s = "default") {
585
591
  return P(s) ? { name: s, params: [] } : { params: [], ...s };
586
592
  }
587
- function it(s, e, t) {
593
+ function ct(s, e, t) {
588
594
  const { value: r, iterator: n } = s, { item: o = "item", index: i = "index" } = n || {};
589
595
  let a = t.__parseExpression(r) || [];
590
596
  return Number.isInteger(a) && (a = new Array(a).fill(!0).map((l, c) => c + 1)), Array.isArray(a) ? a.map((l, c) => e(t.__clone({ [o]: l, [i]: c }))) : (console.warn("[vForRender]:", `${r?.value} is not a Arrary`), []);
591
597
  }
592
- const W = A({
598
+ const W = D({
593
599
  name: "VtjPageContainer",
594
600
  async setup() {
595
601
  const s = oe(), e = X(), t = e.params.id, r = t ? s.getPage(t) : s.getHomepage(), n = r ? await s.getRenderComponent(r.id) : null;
596
- return r && be(r.title || "VTJ"), {
602
+ return r && Ie(r.title || "VTJ"), {
597
603
  provider: s,
598
604
  component: n,
599
605
  file: r,
@@ -601,9 +607,9 @@ const W = A({
601
607
  };
602
608
  },
603
609
  render() {
604
- return this.component ? D(this.component, this.query) : D("div", "页面不存在");
610
+ return this.component ? B(this.component, this.query) : B("div", "页面不存在");
605
611
  }
606
- }), at = {
612
+ }), lt = {
607
613
  name: {
608
614
  type: String,
609
615
  default: "VTJ.PRO"
@@ -620,9 +626,9 @@ const W = A({
620
626
  type: String,
621
627
  default: "/@vtj/pro/"
622
628
  }
623
- }, ct = { class: "x-startup" }, lt = { class: "x-startup__wrapper" }, ut = { class: "x-startup__name" }, pt = { class: "clip" }, ft = { class: "x-startup__tagline" }, mt = { class: "x-startup__actions" }, dt = /* @__PURE__ */ A({
629
+ }, ut = { class: "x-startup" }, pt = { class: "x-startup__wrapper" }, ft = { class: "x-startup__name" }, dt = { class: "clip" }, mt = { class: "x-startup__tagline" }, ht = { class: "x-startup__actions" }, vt = /* @__PURE__ */ D({
624
630
  __name: "Startup",
625
- props: at,
631
+ props: lt,
626
632
  setup(s) {
627
633
  const e = s, t = () => {
628
634
  if (typeof window < "u") {
@@ -630,22 +636,22 @@ const W = A({
630
636
  window.location.href = r;
631
637
  }
632
638
  };
633
- return (r, n) => (ve(), _e("div", ct, [
634
- E("div", lt, [
635
- E("div", ut, [
636
- E("span", pt, B(e.name), 1)
639
+ return (r, n) => (ye(), ge("div", ut, [
640
+ b("div", pt, [
641
+ b("div", ft, [
642
+ b("span", dt, k(e.name), 1)
637
643
  ]),
638
- E("div", ft, B(e.tagline), 1),
639
- E("div", mt, [
640
- ye(U(Ee), {
644
+ b("div", mt, k(e.tagline), 1),
645
+ b("div", ht, [
646
+ we(U(Fe), {
641
647
  type: "primary",
642
648
  size: "large",
643
649
  round: "",
644
- icon: U(Fe),
650
+ icon: U(xe),
645
651
  onClick: t
646
652
  }, {
647
- default: ge(() => [
648
- we(B(e.actionText), 1)
653
+ default: Se(() => [
654
+ $e(k(e.actionText), 1)
649
655
  ]),
650
656
  _: 1
651
657
  }, 8, ["icon"])
@@ -653,17 +659,17 @@ const W = A({
653
659
  ])
654
660
  ]));
655
661
  }
656
- }), ht = A({
662
+ }), _t = D({
657
663
  name: "VtjStartupContainer",
658
664
  render() {
659
- return D(dt);
665
+ return B(vt);
660
666
  }
661
667
  }), ne = Symbol("Provider");
662
- class vt extends ae {
668
+ class yt extends ae {
663
669
  mode;
664
670
  globals = {};
665
671
  modules = {};
666
- adapter = { request: Te, jsonp: me };
672
+ adapter = { request: ke, jsonp: he };
667
673
  apis = {};
668
674
  dependencies = {};
669
675
  materials = {};
@@ -677,17 +683,17 @@ class vt extends ae {
677
683
  super();
678
684
  const {
679
685
  service: t,
680
- mode: r = g.Raw,
686
+ mode: r = w.Raw,
681
687
  dependencies: n,
682
688
  materials: o,
683
689
  project: i = {},
684
690
  adapter: a = {},
685
691
  globals: l = {},
686
692
  modules: c = {},
687
- router: m = null,
693
+ router: d = null,
688
694
  materialPath: f = "./"
689
695
  } = e;
690
- this.mode = r, this.modules = c, this.service = t, this.router = m, this.materialPath = f, n && (this.dependencies = n), o && (this.materials = o), Object.assign(this.globals, l), Object.assign(this.adapter, a), r !== g.Design && this.load(i);
696
+ this.mode = r, this.modules = c, this.service = t, this.router = d, this.materialPath = f, n && (this.dependencies = n), o && (this.materials = o), Object.assign(this.globals, l), Object.assign(this.adapter, a), r !== w.Design && this.load(i);
691
697
  }
692
698
  async load(e) {
693
699
  const t = this.modules[`.vtj/projects/${e.id}.json`];
@@ -695,33 +701,40 @@ class vt extends ae {
695
701
  throw new Error("project is null");
696
702
  const { dependencies: r = [], apis: n } = this.project, { dependencies: o, library: i, components: a, materialPath: l } = this, {
697
703
  libraryExports: c,
698
- libraryMap: m,
704
+ libraryMap: d,
699
705
  materials: f,
700
706
  materialExports: u,
701
- materialMapLibrary: h
702
- } = Re(r, l);
707
+ materialMapLibrary: v
708
+ } = Ce(r, l);
703
709
  for (const p of c) {
704
- const w = o[p], S = window[p];
710
+ const y = o[p], S = window[p];
705
711
  if (S)
706
712
  i[p] = S;
707
- else if (w)
708
- window[p] = i[p] = await w();
713
+ else if (y)
714
+ window[p] = i[p] = await y();
709
715
  else {
710
- const _ = m[p] || [];
711
- for (const H of _)
712
- G(H) && await Ce(p, b.append(H, { v: F })), Q(H) && await q(b.append(H, { v: F })), i[p] = window[p];
716
+ const m = d[p] || [];
717
+ for (const $ of m)
718
+ G($) && await Te(p, F.append($, { v: I })), Q($) && await q(F.append($, { v: I })), i[p] = window[p];
713
719
  }
714
720
  }
715
721
  for (const p of f)
716
- await q(b.append(p, { v: F }));
717
- const v = this.materials || {};
722
+ await q(F.append(p, { v: I }));
723
+ const _ = this.materials || {};
718
724
  for (const p of u) {
719
- const w = v[p] ? (await v[p]()).default : window[p], S = window[h[p]];
720
- w && S && w.components.forEach((_) => {
721
- a[_.name] = Ie(_, S);
722
- });
725
+ const y = window[v[p]], S = ce[p];
726
+ if (S)
727
+ y && S.forEach((m) => {
728
+ a[m] = y[m];
729
+ });
730
+ else {
731
+ const m = _[p] ? (await _[p]()).default : window[p];
732
+ m && y && (m.components || []).forEach(($) => {
733
+ a[$.name] = Oe($, y);
734
+ });
735
+ }
723
736
  }
724
- n && (this.apis = Be(n, this.adapter)), this.initRouter(), this.triggerReady();
737
+ n && (this.apis = Ae(n, this.adapter)), this.initRouter(), this.triggerReady();
725
738
  }
726
739
  initRouter() {
727
740
  const { router: e, project: t } = this;
@@ -732,13 +745,13 @@ class vt extends ae {
732
745
  }), e.addRoute({
733
746
  path: "/",
734
747
  name: "VtjHomepage",
735
- component: t?.homepage ? W : ht
748
+ component: t?.homepage ? W : _t
736
749
  }));
737
750
  }
738
751
  install(e) {
739
752
  const t = e.config.globalProperties.installed || {};
740
753
  for (const [r, n] of Object.entries(this.library))
741
- !t[r] && Oe(n) && (e.use(n), t[r] = !0);
754
+ !t[r] && Me(n) && (e.use(n), t[r] = !0);
742
755
  e.provide(ne, this), e.config.globalProperties.installed = t;
743
756
  }
744
757
  getFile(e) {
@@ -777,7 +790,7 @@ class vt extends ae {
777
790
  const o = await this.getDsl(t.id);
778
791
  if (!o)
779
792
  return C.warn(`Can not find dsl: ${e}`), null;
780
- const { library: i, components: a, mode: l, apis: c } = this, m = {
793
+ const { library: i, components: a, mode: l, apis: c } = this, d = {
781
794
  mode: l,
782
795
  Vue: i.Vue,
783
796
  components: a,
@@ -785,28 +798,28 @@ class vt extends ae {
785
798
  apis: c,
786
799
  window
787
800
  }, f = re({
788
- getDsl: async (h) => await this.getDsl(h) || null,
789
- options: m
801
+ getDsl: async (v) => await this.getDsl(v) || null,
802
+ options: d
790
803
  }), { renderer: u } = te({
791
- ...m,
804
+ ...d,
792
805
  dsl: o,
793
806
  loader: f
794
807
  });
795
808
  return u;
796
809
  }
797
810
  }
798
- function It(s) {
799
- const e = new vt(s);
811
+ function Ot(s) {
812
+ const e = new yt(s);
800
813
  return {
801
814
  provider: e,
802
815
  onReady: (r) => e.ready(r)
803
816
  };
804
817
  }
805
818
  function oe(s = {}) {
806
- const e = Se(ne);
819
+ const e = je(ne);
807
820
  if (!e)
808
821
  throw new Error("Can not find provider");
809
- if (e.mode === g.Raw) {
822
+ if (e.mode === w.Raw) {
810
823
  const { id: t, version: r } = s;
811
824
  t && r && (async () => {
812
825
  const n = await e.getDsl(t);
@@ -818,7 +831,7 @@ function oe(s = {}) {
818
831
  }
819
832
  return e;
820
833
  }
821
- const _t = new de({
834
+ const gt = new ve({
822
835
  settings: {
823
836
  type: "json",
824
837
  validSuccess: !0,
@@ -831,7 +844,7 @@ const _t = new de({
831
844
  });
832
845
  }
833
846
  }
834
- }), yt = (s = "/vtj/local/repository/${type}.json") => (e, t) => _t.send({
847
+ }), wt = (s = "/vtj/local/repository/${type}.json") => (e, t) => gt.send({
835
848
  url: s,
836
849
  method: "post",
837
850
  query: { type: e },
@@ -843,7 +856,7 @@ const _t = new de({
843
856
  class J {
844
857
  api;
845
858
  constructor() {
846
- this.api = yt();
859
+ this.api = wt();
847
860
  }
848
861
  async init(e) {
849
862
  return console.log("BaseService.init", e), {};
@@ -899,77 +912,77 @@ class J {
899
912
  return await this.api("removeRawPage", e).catch(() => "");
900
913
  }
901
914
  }
902
- const d = new he({
915
+ const h = new _e({
903
916
  type: "local",
904
917
  expired: 0,
905
918
  prefix: "__VTJ_"
906
919
  });
907
- class Ct extends J {
920
+ class Tt extends J {
908
921
  init(e) {
909
- const t = new I(e), r = d.get(`project_${t.id}`), n = Object.assign(t.toDsl(), r || {});
910
- return d.save(`project_${t.id}`, n), Promise.resolve(n);
922
+ const t = new R(e), r = h.get(`project_${t.id}`), n = Object.assign(t.toDsl(), r || {});
923
+ return h.save(`project_${t.id}`, n), Promise.resolve(n);
911
924
  }
912
925
  saveProject(e) {
913
- const t = new I(e);
914
- return d.save(`project_${t.id}`, t.toDsl()), Promise.resolve(!0);
926
+ const t = new R(e);
927
+ return h.save(`project_${t.id}`, t.toDsl()), Promise.resolve(!0);
915
928
  }
916
929
  saveMaterials(e, t) {
917
- return d.save(`materials_${e.id}`, N(t)), Promise.resolve(!0);
930
+ return h.save(`materials_${e.id}`, A(t)), Promise.resolve(!0);
918
931
  }
919
932
  saveFile(e) {
920
- return d.save(`file_${e.id}`, e), Promise.resolve(!0);
933
+ return h.save(`file_${e.id}`, e), Promise.resolve(!0);
921
934
  }
922
935
  getFile(e) {
923
- const t = d.get(`file_${e}`);
936
+ const t = h.get(`file_${e}`);
924
937
  return t ? Promise.resolve(t) : Promise.reject(null);
925
938
  }
926
939
  removeFile(e) {
927
- return d.remove(`file_${e}`), Promise.resolve(!0);
940
+ return h.remove(`file_${e}`), Promise.resolve(!0);
928
941
  }
929
942
  saveHistory(e) {
930
- return d.save(`history_${e.id}`, e), Promise.resolve(!0);
943
+ return h.save(`history_${e.id}`, e), Promise.resolve(!0);
931
944
  }
932
945
  removeHistory(e) {
933
- const t = d.get(`history_${e}`);
946
+ const t = h.get(`history_${e}`);
934
947
  if (t) {
935
948
  const n = (t.items || []).map((o) => o.id);
936
- this.removeHistoryItem(e, n), d.remove(`history_${e}`);
949
+ this.removeHistoryItem(e, n), h.remove(`history_${e}`);
937
950
  }
938
951
  return Promise.resolve(!0);
939
952
  }
940
953
  getHistory(e) {
941
- const t = d.get(`history_${e}`), r = new Y(t || { id: e });
954
+ const t = h.get(`history_${e}`), r = new Y(t || { id: e });
942
955
  return Promise.resolve(r.toDsl());
943
956
  }
944
957
  getHistoryItem(e, t) {
945
- const r = d.get(`history_${e}_${t}`);
958
+ const r = h.get(`history_${e}_${t}`);
946
959
  return Promise.resolve(r);
947
960
  }
948
961
  saveHistoryItem(e, t) {
949
- return d.save(`history_${e}_${t.id}`, t), Promise.resolve(!0);
962
+ return h.save(`history_${e}_${t.id}`, t), Promise.resolve(!0);
950
963
  }
951
964
  removeHistoryItem(e, t) {
952
965
  return t.forEach((r) => {
953
- d.remove(`history_${e}_${r}`);
966
+ h.remove(`history_${e}_${r}`);
954
967
  }), Promise.resolve(!0);
955
968
  }
956
969
  }
957
- class gt extends J {
970
+ class St extends J {
958
971
  projects = {};
959
972
  materials = {};
960
973
  files = {};
961
974
  histories = {};
962
975
  historyItems = {};
963
976
  init(e) {
964
- const t = new I(e), r = this.projects[t.id] || {}, n = Object.assign(t.toDsl(), r);
977
+ const t = new R(e), r = this.projects[t.id] || {}, n = Object.assign(t.toDsl(), r);
965
978
  return this.projects[n.id] = n, Promise.resolve(n);
966
979
  }
967
980
  saveProject(e) {
968
- const t = new I(e);
981
+ const t = new R(e);
969
982
  return this.projects[t.id] = t.toDsl(), Promise.resolve(!0);
970
983
  }
971
984
  saveMaterials(e, t) {
972
- return e.id && (this.materials[e.id] = N(t)), Promise.resolve(!0);
985
+ return e.id && (this.materials[e.id] = A(t)), Promise.resolve(!0);
973
986
  }
974
987
  saveFile(e) {
975
988
  return this.files[e.id] = e, Promise.resolve(!0);
@@ -1011,11 +1024,11 @@ class gt extends J {
1011
1024
  }), Promise.resolve(!0);
1012
1025
  }
1013
1026
  }
1014
- let R = null;
1015
- function Ot() {
1016
- return R || (R = new gt(), R);
1027
+ let H = null;
1028
+ function Mt() {
1029
+ return H || (H = new St(), H);
1017
1030
  }
1018
- class Mt extends J {
1031
+ class Nt extends J {
1019
1032
  async init(e) {
1020
1033
  return await this.api("init", e).catch(() => null) || {};
1021
1034
  }
@@ -1025,7 +1038,7 @@ class Mt extends J {
1025
1038
  async saveMaterials(e, t) {
1026
1039
  return !!await this.api("saveMaterials", {
1027
1040
  project: e,
1028
- materials: N(t)
1041
+ materials: A(t)
1029
1042
  }).catch(() => !1);
1030
1043
  }
1031
1044
  async saveFile(e) {
@@ -1073,9 +1086,9 @@ function ie(s = []) {
1073
1086
  };
1074
1087
  });
1075
1088
  }
1076
- function Tt() {
1077
- const s = oe(), e = X(), t = $e(!1), r = s.project;
1078
- je(() => {
1089
+ function kt() {
1090
+ const s = oe(), e = X(), t = Ee(!1), r = s.project;
1091
+ Pe(() => {
1079
1092
  const { name: o, params: i, meta: a } = e;
1080
1093
  if (o === "VtjPage") {
1081
1094
  const l = s.getPage(i.id);
@@ -1094,46 +1107,46 @@ function Tt() {
1094
1107
  };
1095
1108
  }
1096
1109
  export {
1097
- He as BUILDIN_DIRECTIVES,
1110
+ He as BUILT_IN_DIRECTIVES,
1098
1111
  J as BaseService,
1099
1112
  K as CONTEXT_HOST,
1100
1113
  De as Context,
1101
- g as ContextMode,
1102
- xe as DATA_TYPES,
1103
- Rt as JSCodeToString,
1104
- Ft as LIFE_CYCLES_LIST,
1105
- Mt as LocalService,
1106
- gt as MemoryService,
1107
- vt as Provider,
1108
- Ct as StorageService,
1109
- F as VTJ_RENDERER_VERSION,
1114
+ w as ContextMode,
1115
+ Re as DATA_TYPES,
1116
+ Ct as JSCodeToString,
1117
+ xt as LIFE_CYCLES_LIST,
1118
+ Nt as LocalService,
1119
+ St as MemoryService,
1120
+ yt as Provider,
1121
+ Tt as StorageService,
1122
+ I as VTJ_RENDERER_VERSION,
1110
1123
  ee as adoptedStyleSheets,
1111
1124
  Ht as createAssetScripts,
1112
- xt as createAssetsCss,
1113
- qe as createDataSources,
1125
+ Rt as createAssetsCss,
1126
+ Ke as createDataSources,
1114
1127
  re as createLoader,
1115
- Ot as createMemoryService,
1116
- It as createProvider,
1128
+ Mt as createMemoryService,
1129
+ Ot as createProvider,
1117
1130
  te as createRenderer,
1118
- ke as createSchemaApi,
1119
- Be as createSchemaApis,
1120
- ze as defaultLoader,
1131
+ Be as createSchemaApi,
1132
+ Ae as createSchemaApis,
1133
+ Ye as defaultLoader,
1121
1134
  x as fillBasePath,
1122
1135
  se as getModifiers,
1123
- Ie as getRawComponent,
1136
+ Oe as getRawComponent,
1124
1137
  G as isCSSUrl,
1125
- Me as isJSCode,
1126
- y as isJSExpression,
1127
- k as isJSFunction,
1138
+ Ne as isJSCode,
1139
+ g as isJSExpression,
1140
+ N as isJSFunction,
1128
1141
  Q as isJSUrl,
1129
- Oe as isVuePlugin,
1130
- Ce as loadCss,
1131
- M as nodeRender,
1132
- Re as parseDeps,
1142
+ Me as isVuePlugin,
1143
+ Te as loadCss,
1144
+ T as nodeRender,
1145
+ Ce as parseDeps,
1133
1146
  O as parseExpression,
1134
1147
  z as parseFunction,
1135
1148
  ne as providerKey,
1136
1149
  Z as toString,
1137
- Tt as useMask,
1150
+ kt as useMask,
1138
1151
  oe as useProvider
1139
1152
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@vtj/renderer",
3
3
  "private": false,
4
- "version": "0.7.12",
4
+ "version": "0.7.14",
5
5
  "type": "module",
6
6
  "scripts": {
7
7
  "build": "vue-tsc && vite build",
@@ -10,13 +10,13 @@
10
10
  "coverage": "vitest run --coverage"
11
11
  },
12
12
  "dependencies": {
13
- "@vtj/core": "^0.7.12",
14
- "@vtj/icons": "^0.7.12",
15
- "@vtj/ui": "^0.7.12",
16
- "@vtj/utils": "^0.7.12"
13
+ "@vtj/core": "^0.7.14",
14
+ "@vtj/icons": "^0.7.14",
15
+ "@vtj/ui": "^0.7.14",
16
+ "@vtj/utils": "^0.7.14"
17
17
  },
18
18
  "devDependencies": {
19
- "@vtj/cli": "^0.7.9",
19
+ "@vtj/cli": "^0.7.10",
20
20
  "vue": "~3.4.15",
21
21
  "vue-router": "~4.2.5"
22
22
  },
@@ -34,7 +34,7 @@
34
34
  "dist",
35
35
  "types"
36
36
  ],
37
- "gitHead": "e893df5593e0df19de9fdc35c486faef1a31f273",
37
+ "gitHead": "8e69e3eea31f488f318f28013b7ef3df02ee8174",
38
38
  "publishConfig": {
39
39
  "access": "public"
40
40
  }
@@ -25,7 +25,7 @@ export declare const LIFE_CYCLES_LIST: string[];
25
25
  /**
26
26
  * 内置指令
27
27
  */
28
- export declare const BUILDIN_DIRECTIVES: string[];
28
+ export declare const BUILT_IN_DIRECTIVES: string[];
29
29
  /**
30
30
  * 数据类型
31
31
  */
@@ -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.7.12
5
+ * @version 0.7.13
6
6
  * @license <a href="https://vtj.pro/license.html">MIT License</a>
7
7
  */
8
- export declare const version = "0.7.12";
8
+ export declare const version = "0.7.13";