@lytjs/core 4.2.0 → 5.0.1

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.
@@ -1 +1 @@
1
- var I=Object.defineProperty;var P=Object.getOwnPropertyDescriptor;var h=Object.getOwnPropertyNames;var y=Object.prototype.hasOwnProperty;var d=(r,o)=>{for(var t in o)I(r,t,{get:o[t],enumerable:!0})},M=(r,o,t,i)=>{if(o&&typeof o=="object"||typeof o=="function")for(let s of h(o))!y.call(r,s)&&s!==t&&I(r,s,{get:()=>o[s],enumerable:!(i=P(o,s))||i.enumerable});return r};var m=r=>M(I({},"__esModule",{value:!0}),r);var V={};d(V,{ErrorBoundary:()=>R,ErrorCategory:()=>n.ErrorCategory,LytError:()=>a,LytErrorCodes:()=>N,NewLytError:()=>E.LytError,NewLytErrorCodes:()=>n.LytErrorCodes,callWithErrorHandling:()=>C,createCompilerError:()=>E.createCompilerError,createComponentError:()=>E.createComponentError,createMessage:()=>L,createRendererError:()=>E.createRendererError,getCategory:()=>n.getCategory,getDevMode:()=>u,getErrorMessage:()=>n.getErrorMessage,handleError:()=>c,resetWarnedMessages:()=>g,setDevMode:()=>f,warn:()=>l,warnOnce:()=>A,warnOnceUtil:()=>A,warnUtil:()=>l});module.exports=m(V);var N=(e=>(e[e.INVALID_ARGUMENT=1001]="INVALID_ARGUMENT",e[e.NOT_FOUND=1002]="NOT_FOUND",e[e.ALREADY_EXISTS=1003]="ALREADY_EXISTS",e[e.OPERATION_FAILED=1004]="OPERATION_FAILED",e[e.REACTIVE_READONLY=2001]="REACTIVE_READONLY",e[e.REACTIVE_EFFECT_DISPOSED=2002]="REACTIVE_EFFECT_DISPOSED",e[e.COMPUTED_CYCLE=2003]="COMPUTED_CYCLE",e[e.PARSE_ERROR=3001]="PARSE_ERROR",e[e.INVALID_EXPRESSION=3002]="INVALID_EXPRESSION",e[e.INVALID_DIRECTIVE=3003]="INVALID_DIRECTIVE",e[e.INVALID_TEMPLATE=3004]="INVALID_TEMPLATE",e[e.RENDER_ERROR=4001]="RENDER_ERROR",e[e.HYDRATION_MISMATCH=4002]="HYDRATION_MISMATCH",e[e.INVALID_VNODE=4003]="INVALID_VNODE",e[e.COMPONENT_INVALID_PROPS=5001]="COMPONENT_INVALID_PROPS",e[e.COMPONENT_MISSING_TEMPLATE=5002]="COMPONENT_MISSING_TEMPLATE",e[e.COMPONENT_LIFECYCLE_ERROR=5003]="COMPONENT_LIFECYCLE_ERROR",e[e.ROUTE_NOT_FOUND=6001]="ROUTE_NOT_FOUND",e[e.ROUTE_DUPLICATE=6002]="ROUTE_DUPLICATE",e[e.NAVIGATION_ABORTED=6003]="NAVIGATION_ABORTED",e[e.NAVIGATION_FAILED=6004]="NAVIGATION_FAILED",e[e.STORE_NOT_FOUND=7001]="STORE_NOT_FOUND",e[e.STORE_DUPLICATE=7002]="STORE_DUPLICATE",e))(N||{});var a=class extends Error{constructor(o,t,i){let s=`[Lyt ${o}] ${t}`;super(s),this.name="LytError",this.code=o,this.details=i}};var _=class _{constructor(o){this.errors=[],this.options=o||{},this._hasError=!1}get hasError(){return this._hasError}static setGlobalHandler(o){_.globalHandler=o}capture(o,t,i){var p;let s={error:o,vm:t,info:i||"",timestamp:Date.now()};this.errors.push(s),this._hasError=!0;let D=(p=this.options.maxErrors)!=null?p:100;this.errors.length>D&&this.errors.splice(0,this.errors.length-D),!(this.options.onErrorCaptured&&this.options.onErrorCaptured(o instanceof a?o:new a(1004,o.message),t,s.info)===!0)&&this.options.onError&&this.options.onError(o instanceof a?o:new a(1004,o.message),t)}getFallback(o){if(!this.options.fallback||this.errors.length===0)return null;let t=this.errors[this.errors.length-1];return this.options.fallback(t.error,t.vm,t.info)}getErrors(){return this.errors.slice()}getErrorCount(){return this.errors.length}getLastErrors(){return this.errors.length===0?null:{...this.errors[this.errors.length-1]}}clear(){this.errors=[],this._hasError=!1}};_.globalHandler=null;var R=_,O=!0,T=new Set;function f(r){O=r}function u(){return O}function l(r){if(!O)return;let o=console.warn;typeof o=="function"&&o(`[Lyt warn] ${r}`)}function A(r){if(!O||T.has(r))return;T.add(r);let o=console.warn;typeof o=="function"&&o(`[Lyt warn] ${r}`)}function g(){T.clear()}var S={1001:r=>`\u53C2\u6570 "${r}" \u65E0\u6548\u3002\u8BF7\u68C0\u67E5\u4F20\u5165\u7684\u503C\u7C7B\u578B\u548C\u8303\u56F4\u3002`,1002:r=>`"${r}" \u672A\u627E\u5230\u3002\u8BF7\u786E\u8BA4\u8D44\u6E90\u540D\u79F0\u6216\u8DEF\u5F84\u662F\u5426\u6B63\u786E\u3002`,1003:r=>`"${r}" \u5DF2\u5B58\u5728\u3002\u8BF7\u4F7F\u7528\u4E0D\u540C\u7684\u540D\u79F0\u3002`,1004:r=>`\u64CD\u4F5C "${r}" \u6267\u884C\u5931\u8D25\u3002\u8BF7\u68C0\u67E5\u76F8\u5173\u914D\u7F6E\u548C\u72B6\u6001\u3002`,2001:r=>`\u65E0\u6CD5\u4FEE\u6539\u53EA\u8BFB\u54CD\u5E94\u5F0F\u5C5E\u6027 "${r}"\u3002\u53EA\u8BFB\u5BF9\u8C61\u4E0D\u5141\u8BB8\u76F4\u63A5\u8D4B\u503C\u3002`,2002:()=>"\u526F\u4F5C\u7528\u51FD\u6570\u5DF2\u88AB\u9500\u6BC1\uFF0C\u65E0\u6CD5\u518D\u6B21\u6267\u884C\u3002\u8BF7\u521B\u5EFA\u65B0\u7684\u526F\u4F5C\u7528\u3002",2003:()=>"\u8BA1\u7B97\u5C5E\u6027\u68C0\u6D4B\u5230\u5FAA\u73AF\u4F9D\u8D56\u3002\u8BF7\u68C0\u67E5 computed \u51FD\u6570\u662F\u5426\u5F15\u7528\u4E86\u81EA\u8EAB\u3002",3001:r=>`\u6A21\u677F\u89E3\u6790\u9519\u8BEF\uFF1A${r}\u3002\u8BF7\u68C0\u67E5\u6A21\u677F\u8BED\u6CD5\u662F\u5426\u6B63\u786E\u3002`,3002:r=>`\u65E0\u6548\u7684\u8868\u8FBE\u5F0F "${r}"\u3002\u8BF7\u68C0\u67E5\u8868\u8FBE\u5F0F\u8BED\u6CD5\u3002`,3003:r=>`\u65E0\u6548\u7684\u6307\u4EE4 "${r}"\u3002\u8BF7\u786E\u8BA4\u6307\u4EE4\u540D\u79F0\u662F\u5426\u6B63\u786E\u3002`,3004:r=>`\u65E0\u6548\u7684\u6A21\u677F\uFF1A${r}\u3002\u8BF7\u68C0\u67E5\u6A21\u677F\u5185\u5BB9\u3002`,4001:r=>`\u6E32\u67D3\u9519\u8BEF\uFF1A${r}\u3002\u8BF7\u68C0\u67E5\u7EC4\u4EF6\u7684 render \u51FD\u6570\u6216\u6A21\u677F\u3002`,4002:r=>`\u6C34\u5408\u4E0D\u5339\u914D\uFF1A${r}\u3002\u670D\u52A1\u7AEF\u6E32\u67D3\u4E0E\u5BA2\u6237\u7AEF\u6E32\u67D3\u7ED3\u679C\u4E0D\u4E00\u81F4\u3002`,4003:r=>`\u65E0\u6548\u7684\u865A\u62DF\u8282\u70B9\uFF1A${r}\u3002VNode \u7F3A\u5C11\u5FC5\u8981\u7684 type \u6216\u5176\u4ED6\u5C5E\u6027\u3002`,5001:r=>`\u7EC4\u4EF6\u5C5E\u6027\u65E0\u6548\uFF1A${r}\u3002\u8BF7\u68C0\u67E5\u4F20\u5165\u7684 props \u662F\u5426\u7B26\u5408\u7EC4\u4EF6\u5B9A\u4E49\u3002`,5002:r=>`\u7EC4\u4EF6 "${r}" \u7F3A\u5C11 template \u6216 render \u51FD\u6570\u3002\u8BF7\u786E\u4FDD\u7EC4\u4EF6\u5B9A\u4E49\u4E2D\u5305\u542B template \u5B57\u7B26\u4E32\u6216 render \u65B9\u6CD5\u3002`,5003:r=>`\u7EC4\u4EF6\u751F\u547D\u5468\u671F\u9519\u8BEF\uFF1A${r}\u3002\u8BF7\u68C0\u67E5\u751F\u547D\u5468\u671F\u94A9\u5B50\u51FD\u6570\u3002`,6001:r=>`\u8DEF\u7531 "${r}" \u672A\u627E\u5230\u3002\u8BF7\u786E\u8BA4\u8DEF\u7531\u8DEF\u5F84\u662F\u5426\u5DF2\u6CE8\u518C\u3002`,6002:r=>`\u8DEF\u7531 "${r}" \u5DF2\u5B58\u5728\u3002\u8BF7\u907F\u514D\u91CD\u590D\u6CE8\u518C\u76F8\u540C\u7684\u8DEF\u7531\u8DEF\u5F84\u3002`,6003:r=>`\u5BFC\u822A\u88AB\u4E2D\u6B62\uFF1A${r}\u3002\u53EF\u80FD\u88AB\u5BFC\u822A\u5B88\u536B\u62E6\u622A\u3002`,6004:r=>`\u5BFC\u822A\u5931\u8D25\uFF1A${r}\u3002\u8BF7\u68C0\u67E5\u76EE\u6807\u8DEF\u7531\u662F\u5426\u6709\u6548\u3002`,7001:r=>`Store "${r}" \u672A\u627E\u5230\u3002\u8BF7\u786E\u8BA4 store \u662F\u5426\u5DF2\u6CE8\u518C\u3002`,7002:r=>`Store "${r}" \u5DF2\u5B58\u5728\u3002\u8BF7\u907F\u514D\u91CD\u590D\u521B\u5EFA\u76F8\u540C ID \u7684 store\u3002`};function L(r,...o){let t=S[r];if(t){let i=t(...o);return`[Lyt ${r}] ${i}`}return`[Lyt ${r}] \u672A\u77E5\u9519\u8BEF\u3002`}function c(r,o,t){R.globalHandler&&R.globalHandler(r,o,t||""),O&&r instanceof a&&r.details}function C(r,o){try{return r()}catch(t){c(t instanceof Error?t:new Error(String(t)),o);return}}var n=require("@lytjs/common");var E=require("@lytjs/common");
1
+ "use strict";var e=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var m=Object.prototype.hasOwnProperty;var h=(E,T)=>{for(var O in T)e(E,O,{get:T[O],enumerable:!0})},G=(E,T,O,a)=>{if(T&&typeof T=="object"||typeof T=="function")for(let N of g(T))!m.call(E,N)&&N!==O&&e(E,N,{get:()=>T[N],enumerable:!(a=u(T,N))||a.enumerable});return E};var v=E=>G(e({},"__esModule",{value:!0}),E);var x={};h(x,{ErrorBoundary:()=>A,ErrorCategory:()=>n.ErrorCategory,LytError:()=>R.LytError,LytErrorCodes:()=>D,callWithErrorHandling:()=>f,callWithErrorHandlingAsync:()=>F,createCompilerError:()=>I.createCompilerError,createComponentError:()=>I.createComponentError,createMessage:()=>U,createRendererError:()=>I.createRendererError,getCategory:()=>n.getCategory,getDevMode:()=>V,getErrorMessage:()=>n.getErrorMessage,handleError:()=>L,resetWarnedMessages:()=>p,setDevMode:()=>l,warn:()=>S,warnOnce:()=>t,warnOnceUtil:()=>t,warnUtil:()=>S});module.exports=v(x);var R=require("@lytjs/common");var D=(_=>(_[_.INVALID_ARGUMENT=1001]="INVALID_ARGUMENT",_[_.NOT_FOUND=1002]="NOT_FOUND",_[_.ALREADY_EXISTS=1003]="ALREADY_EXISTS",_[_.OPERATION_FAILED=1004]="OPERATION_FAILED",_[_.REACTIVE_READONLY=2001]="REACTIVE_READONLY",_[_.REACTIVE_EFFECT_DISPOSED=2002]="REACTIVE_EFFECT_DISPOSED",_[_.COMPUTED_CYCLE=2003]="COMPUTED_CYCLE",_[_.PARSE_ERROR=3001]="PARSE_ERROR",_[_.INVALID_EXPRESSION=3002]="INVALID_EXPRESSION",_[_.INVALID_DIRECTIVE=3003]="INVALID_DIRECTIVE",_[_.INVALID_TEMPLATE=3004]="INVALID_TEMPLATE",_[_.RENDER_ERROR=4001]="RENDER_ERROR",_[_.HYDRATION_MISMATCH=4002]="HYDRATION_MISMATCH",_[_.INVALID_VNODE=4003]="INVALID_VNODE",_[_.COMPONENT_INVALID_PROPS=5001]="COMPONENT_INVALID_PROPS",_[_.COMPONENT_MISSING_TEMPLATE=5002]="COMPONENT_MISSING_TEMPLATE",_[_.COMPONENT_LIFECYCLE_ERROR=5003]="COMPONENT_LIFECYCLE_ERROR",_[_.ROUTE_NOT_FOUND=6001]="ROUTE_NOT_FOUND",_[_.ROUTE_DUPLICATE=6002]="ROUTE_DUPLICATE",_[_.NAVIGATION_ABORTED=6003]="NAVIGATION_ABORTED",_[_.NAVIGATION_FAILED=6004]="NAVIGATION_FAILED",_[_.STORE_NOT_FOUND=7001]="STORE_NOT_FOUND",_[_.STORE_DUPLICATE=7002]="STORE_DUPLICATE",_[_.LYT_COMPILER_PARSE_ERROR=R.LytErrorCodes.LYT_COMPILER_PARSE_ERROR]="LYT_COMPILER_PARSE_ERROR",_[_.LYT_COMPILER_INVALID_EXPRESSION=R.LytErrorCodes.LYT_COMPILER_INVALID_EXPRESSION]="LYT_COMPILER_INVALID_EXPRESSION",_[_.LYT_COMPILER_INVALID_TEMPLATE=R.LytErrorCodes.LYT_COMPILER_INVALID_TEMPLATE]="LYT_COMPILER_INVALID_TEMPLATE",_[_.LYT_COMPILER_INVALID_DIRECTIVE=R.LytErrorCodes.LYT_COMPILER_INVALID_DIRECTIVE]="LYT_COMPILER_INVALID_DIRECTIVE",_[_.LYT_COMPILER_CODEGEN_ERROR=R.LytErrorCodes.LYT_COMPILER_CODEGEN_ERROR]="LYT_COMPILER_CODEGEN_ERROR",_[_.LYT_COMPILER_SFC_PARSE_ERROR=R.LytErrorCodes.LYT_COMPILER_SFC_PARSE_ERROR]="LYT_COMPILER_SFC_PARSE_ERROR",_[_.LYT_COMPILER_TRANSFORM_ERROR=R.LytErrorCodes.LYT_COMPILER_TRANSFORM_ERROR]="LYT_COMPILER_TRANSFORM_ERROR",_[_.LYT_RENDERER_MOUNT_FAILED=R.LytErrorCodes.LYT_RENDERER_MOUNT_FAILED]="LYT_RENDERER_MOUNT_FAILED",_[_.LYT_RENDERER_PATCH_FAILED=R.LytErrorCodes.LYT_RENDERER_PATCH_FAILED]="LYT_RENDERER_PATCH_FAILED",_[_.LYT_RENDERER_HYDRATION_MISMATCH=R.LytErrorCodes.LYT_RENDERER_HYDRATION_MISMATCH]="LYT_RENDERER_HYDRATION_MISMATCH",_[_.LYT_RENDERER_INVALID_VNODE=R.LytErrorCodes.LYT_RENDERER_INVALID_VNODE]="LYT_RENDERER_INVALID_VNODE",_[_.LYT_RENDERER_UNMOUNT_FAILED=R.LytErrorCodes.LYT_RENDERER_UNMOUNT_FAILED]="LYT_RENDERER_UNMOUNT_FAILED",_[_.LYT_COMPONENT_INVALID_PROPS=R.LytErrorCodes.LYT_COMPONENT_INVALID_PROPS]="LYT_COMPONENT_INVALID_PROPS",_[_.LYT_COMPONENT_MISSING_RENDER=R.LytErrorCodes.LYT_COMPONENT_MISSING_RENDER]="LYT_COMPONENT_MISSING_RENDER",_[_.LYT_COMPONENT_LIFECYCLE_ERROR=R.LytErrorCodes.LYT_COMPONENT_LIFECYCLE_ERROR]="LYT_COMPONENT_LIFECYCLE_ERROR",_[_.LYT_COMPONENT_INVALID=R.LytErrorCodes.LYT_COMPONENT_INVALID]="LYT_COMPONENT_INVALID",_[_.LYT_COMPONENT_EMIT_INVALID=R.LytErrorCodes.LYT_COMPONENT_EMIT_INVALID]="LYT_COMPONENT_EMIT_INVALID",_[_.LYT_COMPONENT_RENDER_ERROR=R.LytErrorCodes.LYT_COMPONENT_RENDER_ERROR]="LYT_COMPONENT_RENDER_ERROR",_[_.LYT_ROUTER_INVALID_ROUTE=R.LytErrorCodes.LYT_ROUTER_INVALID_ROUTE]="LYT_ROUTER_INVALID_ROUTE",_[_.LYT_ROUTER_NAVIGATION_FAILED=R.LytErrorCodes.LYT_ROUTER_NAVIGATION_FAILED]="LYT_ROUTER_NAVIGATION_FAILED",_[_.LYT_ROUTER_DUPLICATE_ROUTE=R.LytErrorCodes.LYT_ROUTER_DUPLICATE_ROUTE]="LYT_ROUTER_DUPLICATE_ROUTE",_[_.LYT_ROUTER_NAVIGATION_ABORTED=R.LytErrorCodes.LYT_ROUTER_NAVIGATION_ABORTED]="LYT_ROUTER_NAVIGATION_ABORTED",_[_.LYT_ROUTER_GUARD_ERROR=R.LytErrorCodes.LYT_ROUTER_GUARD_ERROR]="LYT_ROUTER_GUARD_ERROR",_[_.LYT_STORE_ALREADY_EXISTS=R.LytErrorCodes.LYT_STORE_ALREADY_EXISTS]="LYT_STORE_ALREADY_EXISTS",_[_.LYT_STORE_NOT_FOUND=R.LytErrorCodes.LYT_STORE_NOT_FOUND]="LYT_STORE_NOT_FOUND",_[_.LYT_STORE_DISPOSED=R.LytErrorCodes.LYT_STORE_DISPOSED]="LYT_STORE_DISPOSED",_[_.LYT_STORE_PATCH_ERROR=R.LytErrorCodes.LYT_STORE_PATCH_ERROR]="LYT_STORE_PATCH_ERROR",_[_.LYT_REACTIVITY_READONLY_SET=R.LytErrorCodes.LYT_REACTIVITY_READONLY_SET]="LYT_REACTIVITY_READONLY_SET",_[_.LYT_REACTIVITY_READONLY_DELETE=R.LytErrorCodes.LYT_REACTIVITY_READONLY_DELETE]="LYT_REACTIVITY_READONLY_DELETE",_[_.LYT_REACTIVITY_EFFECT_ERROR=R.LytErrorCodes.LYT_REACTIVITY_EFFECT_ERROR]="LYT_REACTIVITY_EFFECT_ERROR",_[_.LYT_REACTIVITY_COMPUTED_CYCLE=R.LytErrorCodes.LYT_REACTIVITY_COMPUTED_CYCLE]="LYT_REACTIVITY_COMPUTED_CYCLE",_[_.LYT_REACTIVITY_EFFECT_DISPOSED=R.LytErrorCodes.LYT_REACTIVITY_EFFECT_DISPOSED]="LYT_REACTIVITY_EFFECT_DISPOSED",_[_.LYT_REACTIVITY_CIRCULAR_DEPENDENCY=R.LytErrorCodes.LYT_REACTIVITY_CIRCULAR_DEPENDENCY]="LYT_REACTIVITY_CIRCULAR_DEPENDENCY",_[_.LYT_REACTIVITY_SIGNAL_DISPOSED=R.LytErrorCodes.LYT_REACTIVITY_SIGNAL_DISPOSED]="LYT_REACTIVITY_SIGNAL_DISPOSED",_[_.LYT_CORE_PLUGIN_ERROR=R.LytErrorCodes.LYT_CORE_PLUGIN_ERROR]="LYT_CORE_PLUGIN_ERROR",_[_.LYT_CORE_MOUNT_NO_CONTAINER=R.LytErrorCodes.LYT_CORE_MOUNT_NO_CONTAINER]="LYT_CORE_MOUNT_NO_CONTAINER",_[_.LYT_CORE_ALREADY_MOUNTED=R.LytErrorCodes.LYT_CORE_ALREADY_MOUNTED]="LYT_CORE_ALREADY_MOUNTED",_[_.LYT_CORE_INVALID_ARGUMENT=R.LytErrorCodes.LYT_CORE_INVALID_ARGUMENT]="LYT_CORE_INVALID_ARGUMENT",_[_.LYT_CORE_NOT_FOUND=R.LytErrorCodes.LYT_CORE_NOT_FOUND]="LYT_CORE_NOT_FOUND",_[_.LYT_CORE_ALREADY_EXISTS=R.LytErrorCodes.LYT_CORE_ALREADY_EXISTS]="LYT_CORE_ALREADY_EXISTS",_[_.LYT_CORE_OPERATION_FAILED=R.LytErrorCodes.LYT_CORE_OPERATION_FAILED]="LYT_CORE_OPERATION_FAILED",_[_.LYT_CLI_SCAFFOLD_FAILED=R.LytErrorCodes.LYT_CLI_SCAFFOLD_FAILED]="LYT_CLI_SCAFFOLD_FAILED",_[_.LYT_CLI_BUILD_FAILED=R.LytErrorCodes.LYT_CLI_BUILD_FAILED]="LYT_CLI_BUILD_FAILED",_[_.LYT_CLI_DEV_SERVER_ERROR=R.LytErrorCodes.LYT_CLI_DEV_SERVER_ERROR]="LYT_CLI_DEV_SERVER_ERROR",_[_.LYT_CLI_CONFIG_INVALID=R.LytErrorCodes.LYT_CLI_CONFIG_INVALID]="LYT_CLI_CONFIG_INVALID",_[_.LYT_CLI_HMR_CONNECTION_FAILED=R.LytErrorCodes.LYT_CLI_HMR_CONNECTION_FAILED]="LYT_CLI_HMR_CONNECTION_FAILED",_[_.LYT_DEVTOOLS_CONNECTION_FAILED=R.LytErrorCodes.LYT_DEVTOOLS_CONNECTION_FAILED]="LYT_DEVTOOLS_CONNECTION_FAILED",_[_.LYT_DEVTOOLS_PANEL_ERROR=R.LytErrorCodes.LYT_DEVTOOLS_PANEL_ERROR]="LYT_DEVTOOLS_PANEL_ERROR",_[_.LYT_DEVTOOLS_PERF_OVERFLOW=R.LytErrorCodes.LYT_DEVTOOLS_PERF_OVERFLOW]="LYT_DEVTOOLS_PERF_OVERFLOW",_[_.LYT_DEVTOOLS_COMPONENT_TREE_ERROR=R.LytErrorCodes.LYT_DEVTOOLS_COMPONENT_TREE_ERROR]="LYT_DEVTOOLS_COMPONENT_TREE_ERROR",_[_.LYT_PLUGIN_INSTALL_FAILED=R.LytErrorCodes.LYT_PLUGIN_INSTALL_FAILED]="LYT_PLUGIN_INSTALL_FAILED",_[_.LYT_PLUGIN_ALREADY_INSTALLED=R.LytErrorCodes.LYT_PLUGIN_ALREADY_INSTALLED]="LYT_PLUGIN_ALREADY_INSTALLED",_[_.LYT_PLUGIN_INVALID=R.LytErrorCodes.LYT_PLUGIN_INVALID]="LYT_PLUGIN_INVALID",_[_.LYT_PLUGIN_UNINSTALL_FAILED=R.LytErrorCodes.LYT_PLUGIN_UNINSTALL_FAILED]="LYT_PLUGIN_UNINSTALL_FAILED",_[_.LYT_RENDERER_VAPOR_ERROR=R.LytErrorCodes.LYT_RENDERER_VAPOR_ERROR]="LYT_RENDERER_VAPOR_ERROR",_[_.LYT_RENDERER_VAPOR_COMPILER_ERROR=R.LytErrorCodes.LYT_RENDERER_VAPOR_COMPILER_ERROR]="LYT_RENDERER_VAPOR_COMPILER_ERROR",_[_.LYT_RENDERER_VAPOR_COMPONENT_ERROR=R.LytErrorCodes.LYT_RENDERER_VAPOR_COMPONENT_ERROR]="LYT_RENDERER_VAPOR_COMPONENT_ERROR",_[_.LYT_SSR_STREAM_ERROR=R.LytErrorCodes.LYT_SSR_STREAM_ERROR]="LYT_SSR_STREAM_ERROR",_[_.LYT_SSR_SUSPENSE_TIMEOUT=R.LytErrorCodes.LYT_SSR_SUSPENSE_TIMEOUT]="LYT_SSR_SUSPENSE_TIMEOUT",_[_.LYT_SSR_HYDRATION_ERROR=R.LytErrorCodes.LYT_SSR_HYDRATION_ERROR]="LYT_SSR_HYDRATION_ERROR",_[_.LYT_SSR_ISLAND_ERROR=R.LytErrorCodes.LYT_SSR_ISLAND_ERROR]="LYT_SSR_ISLAND_ERROR",_))(D||{});var i=class i{constructor(T){this.errors=[],this.options=T||{},this._hasError=!1}get hasError(){return this._hasError}static setGlobalHandler(T){i.globalHandler=T}capture(T,O,a){var c;let N={error:T,vm:O,info:a||"",timestamp:Date.now()};this.errors.push(N),this._hasError=!0;let M=(c=this.options.maxErrors)!=null?c:100;this.errors.length>M&&this.errors.splice(0,this.errors.length-M),!(this.options.onErrorCaptured&&this.options.onErrorCaptured(T instanceof R.LytError?T:new R.LytError(D.LYT_CORE_OPERATION_FAILED,T.message),O,N.info)===!0)&&this.options.onError&&this.options.onError(T instanceof R.LytError?T:new R.LytError(D.LYT_CORE_OPERATION_FAILED,T.message),O)}getFallback(T){if(!this.options.fallback||this.errors.length===0)return null;let O=this.errors[this.errors.length-1];return this.options.fallback(O.error,O.vm,O.info)}getErrors(){return this.errors.slice()}getErrorCount(){return this.errors.length}getLastErrors(){return this.errors.length===0?null:{...this.errors[this.errors.length-1]}}clear(){this.errors=[],this._hasError=!1}};i.globalHandler=null;var A=i,Y=!0,P=new Set;function l(E){Y=E}function V(){return Y}function S(E){if(!Y)return;let T=console.warn;typeof T=="function"&&T(`[Lyt warn] ${E}`)}function t(E){if(!Y||P.has(E))return;P.add(E);let T=console.warn;typeof T=="function"&&T(`[Lyt warn] ${E}`)}function p(){P.clear()}function U(E,...T){let O=(0,R.getErrorMessage)(E);return`[Lyt ${E}] ${O}`}function L(E,T,O){A.globalHandler&&A.globalHandler(E,T,O||""),Y?E instanceof R.LytError&&E.details:typeof reportError=="function"&&reportError(E)}function f(E,T){try{return E()}catch(O){L(O instanceof Error?O:new Error(String(O)),T);return}}async function F(E,T){try{return await E()}catch(O){L(O instanceof Error?O:new Error(String(O)),T);return}}var n=require("@lytjs/common");var I=require("@lytjs/common");
@@ -1 +1 @@
1
- var T=(e=>(e[e.INVALID_ARGUMENT=1001]="INVALID_ARGUMENT",e[e.NOT_FOUND=1002]="NOT_FOUND",e[e.ALREADY_EXISTS=1003]="ALREADY_EXISTS",e[e.OPERATION_FAILED=1004]="OPERATION_FAILED",e[e.REACTIVE_READONLY=2001]="REACTIVE_READONLY",e[e.REACTIVE_EFFECT_DISPOSED=2002]="REACTIVE_EFFECT_DISPOSED",e[e.COMPUTED_CYCLE=2003]="COMPUTED_CYCLE",e[e.PARSE_ERROR=3001]="PARSE_ERROR",e[e.INVALID_EXPRESSION=3002]="INVALID_EXPRESSION",e[e.INVALID_DIRECTIVE=3003]="INVALID_DIRECTIVE",e[e.INVALID_TEMPLATE=3004]="INVALID_TEMPLATE",e[e.RENDER_ERROR=4001]="RENDER_ERROR",e[e.HYDRATION_MISMATCH=4002]="HYDRATION_MISMATCH",e[e.INVALID_VNODE=4003]="INVALID_VNODE",e[e.COMPONENT_INVALID_PROPS=5001]="COMPONENT_INVALID_PROPS",e[e.COMPONENT_MISSING_TEMPLATE=5002]="COMPONENT_MISSING_TEMPLATE",e[e.COMPONENT_LIFECYCLE_ERROR=5003]="COMPONENT_LIFECYCLE_ERROR",e[e.ROUTE_NOT_FOUND=6001]="ROUTE_NOT_FOUND",e[e.ROUTE_DUPLICATE=6002]="ROUTE_DUPLICATE",e[e.NAVIGATION_ABORTED=6003]="NAVIGATION_ABORTED",e[e.NAVIGATION_FAILED=6004]="NAVIGATION_FAILED",e[e.STORE_NOT_FOUND=7001]="STORE_NOT_FOUND",e[e.STORE_DUPLICATE=7002]="STORE_DUPLICATE",e))(T||{});var n=class extends Error{constructor(o,t,E){let i=`[Lyt ${o}] ${t}`;super(i),this.name="LytError",this.code=o,this.details=E}};var R=class R{constructor(o){this.errors=[],this.options=o||{},this._hasError=!1}get hasError(){return this._hasError}static setGlobalHandler(o){R.globalHandler=o}capture(o,t,E){var I;let i={error:o,vm:t,info:E||"",timestamp:Date.now()};this.errors.push(i),this._hasError=!0;let _=(I=this.options.maxErrors)!=null?I:100;this.errors.length>_&&this.errors.splice(0,this.errors.length-_),!(this.options.onErrorCaptured&&this.options.onErrorCaptured(o instanceof n?o:new n(1004,o.message),t,i.info)===!0)&&this.options.onError&&this.options.onError(o instanceof n?o:new n(1004,o.message),t)}getFallback(o){if(!this.options.fallback||this.errors.length===0)return null;let t=this.errors[this.errors.length-1];return this.options.fallback(t.error,t.vm,t.info)}getErrors(){return this.errors.slice()}getErrorCount(){return this.errors.length}getLastErrors(){return this.errors.length===0?null:{...this.errors[this.errors.length-1]}}clear(){this.errors=[],this._hasError=!1}};R.globalHandler=null;var s=R,a=!0,O=new Set;function c(r){a=r}function D(){return a}function N(r){if(!a)return;let o=console.warn;typeof o=="function"&&o(`[Lyt warn] ${r}`)}function l(r){if(!a||O.has(r))return;O.add(r);let o=console.warn;typeof o=="function"&&o(`[Lyt warn] ${r}`)}function p(){O.clear()}var f={1001:r=>`\u53C2\u6570 "${r}" \u65E0\u6548\u3002\u8BF7\u68C0\u67E5\u4F20\u5165\u7684\u503C\u7C7B\u578B\u548C\u8303\u56F4\u3002`,1002:r=>`"${r}" \u672A\u627E\u5230\u3002\u8BF7\u786E\u8BA4\u8D44\u6E90\u540D\u79F0\u6216\u8DEF\u5F84\u662F\u5426\u6B63\u786E\u3002`,1003:r=>`"${r}" \u5DF2\u5B58\u5728\u3002\u8BF7\u4F7F\u7528\u4E0D\u540C\u7684\u540D\u79F0\u3002`,1004:r=>`\u64CD\u4F5C "${r}" \u6267\u884C\u5931\u8D25\u3002\u8BF7\u68C0\u67E5\u76F8\u5173\u914D\u7F6E\u548C\u72B6\u6001\u3002`,2001:r=>`\u65E0\u6CD5\u4FEE\u6539\u53EA\u8BFB\u54CD\u5E94\u5F0F\u5C5E\u6027 "${r}"\u3002\u53EA\u8BFB\u5BF9\u8C61\u4E0D\u5141\u8BB8\u76F4\u63A5\u8D4B\u503C\u3002`,2002:()=>"\u526F\u4F5C\u7528\u51FD\u6570\u5DF2\u88AB\u9500\u6BC1\uFF0C\u65E0\u6CD5\u518D\u6B21\u6267\u884C\u3002\u8BF7\u521B\u5EFA\u65B0\u7684\u526F\u4F5C\u7528\u3002",2003:()=>"\u8BA1\u7B97\u5C5E\u6027\u68C0\u6D4B\u5230\u5FAA\u73AF\u4F9D\u8D56\u3002\u8BF7\u68C0\u67E5 computed \u51FD\u6570\u662F\u5426\u5F15\u7528\u4E86\u81EA\u8EAB\u3002",3001:r=>`\u6A21\u677F\u89E3\u6790\u9519\u8BEF\uFF1A${r}\u3002\u8BF7\u68C0\u67E5\u6A21\u677F\u8BED\u6CD5\u662F\u5426\u6B63\u786E\u3002`,3002:r=>`\u65E0\u6548\u7684\u8868\u8FBE\u5F0F "${r}"\u3002\u8BF7\u68C0\u67E5\u8868\u8FBE\u5F0F\u8BED\u6CD5\u3002`,3003:r=>`\u65E0\u6548\u7684\u6307\u4EE4 "${r}"\u3002\u8BF7\u786E\u8BA4\u6307\u4EE4\u540D\u79F0\u662F\u5426\u6B63\u786E\u3002`,3004:r=>`\u65E0\u6548\u7684\u6A21\u677F\uFF1A${r}\u3002\u8BF7\u68C0\u67E5\u6A21\u677F\u5185\u5BB9\u3002`,4001:r=>`\u6E32\u67D3\u9519\u8BEF\uFF1A${r}\u3002\u8BF7\u68C0\u67E5\u7EC4\u4EF6\u7684 render \u51FD\u6570\u6216\u6A21\u677F\u3002`,4002:r=>`\u6C34\u5408\u4E0D\u5339\u914D\uFF1A${r}\u3002\u670D\u52A1\u7AEF\u6E32\u67D3\u4E0E\u5BA2\u6237\u7AEF\u6E32\u67D3\u7ED3\u679C\u4E0D\u4E00\u81F4\u3002`,4003:r=>`\u65E0\u6548\u7684\u865A\u62DF\u8282\u70B9\uFF1A${r}\u3002VNode \u7F3A\u5C11\u5FC5\u8981\u7684 type \u6216\u5176\u4ED6\u5C5E\u6027\u3002`,5001:r=>`\u7EC4\u4EF6\u5C5E\u6027\u65E0\u6548\uFF1A${r}\u3002\u8BF7\u68C0\u67E5\u4F20\u5165\u7684 props \u662F\u5426\u7B26\u5408\u7EC4\u4EF6\u5B9A\u4E49\u3002`,5002:r=>`\u7EC4\u4EF6 "${r}" \u7F3A\u5C11 template \u6216 render \u51FD\u6570\u3002\u8BF7\u786E\u4FDD\u7EC4\u4EF6\u5B9A\u4E49\u4E2D\u5305\u542B template \u5B57\u7B26\u4E32\u6216 render \u65B9\u6CD5\u3002`,5003:r=>`\u7EC4\u4EF6\u751F\u547D\u5468\u671F\u9519\u8BEF\uFF1A${r}\u3002\u8BF7\u68C0\u67E5\u751F\u547D\u5468\u671F\u94A9\u5B50\u51FD\u6570\u3002`,6001:r=>`\u8DEF\u7531 "${r}" \u672A\u627E\u5230\u3002\u8BF7\u786E\u8BA4\u8DEF\u7531\u8DEF\u5F84\u662F\u5426\u5DF2\u6CE8\u518C\u3002`,6002:r=>`\u8DEF\u7531 "${r}" \u5DF2\u5B58\u5728\u3002\u8BF7\u907F\u514D\u91CD\u590D\u6CE8\u518C\u76F8\u540C\u7684\u8DEF\u7531\u8DEF\u5F84\u3002`,6003:r=>`\u5BFC\u822A\u88AB\u4E2D\u6B62\uFF1A${r}\u3002\u53EF\u80FD\u88AB\u5BFC\u822A\u5B88\u536B\u62E6\u622A\u3002`,6004:r=>`\u5BFC\u822A\u5931\u8D25\uFF1A${r}\u3002\u8BF7\u68C0\u67E5\u76EE\u6807\u8DEF\u7531\u662F\u5426\u6709\u6548\u3002`,7001:r=>`Store "${r}" \u672A\u627E\u5230\u3002\u8BF7\u786E\u8BA4 store \u662F\u5426\u5DF2\u6CE8\u518C\u3002`,7002:r=>`Store "${r}" \u5DF2\u5B58\u5728\u3002\u8BF7\u907F\u514D\u91CD\u590D\u521B\u5EFA\u76F8\u540C ID \u7684 store\u3002`};function u(r,...o){let t=f[r];if(t){let E=t(...o);return`[Lyt ${r}] ${E}`}return`[Lyt ${r}] \u672A\u77E5\u9519\u8BEF\u3002`}function A(r,o,t){s.globalHandler&&s.globalHandler(r,o,t||""),a&&r instanceof n&&r.details}function g(r,o){try{return r()}catch(t){A(t instanceof Error?t:new Error(String(t)),o);return}}import{LytErrorCodes as L,ErrorCategory as C,getErrorMessage as P,getCategory as h}from"@lytjs/common";import{LytError as y,createCompilerError as d,createRendererError as M,createComponentError as m}from"@lytjs/common";export{s as ErrorBoundary,C as ErrorCategory,n as LytError,T as LytErrorCodes,y as NewLytError,L as NewLytErrorCodes,g as callWithErrorHandling,d as createCompilerError,m as createComponentError,u as createMessage,M as createRendererError,h as getCategory,D as getDevMode,P as getErrorMessage,A as handleError,p as resetWarnedMessages,c as setDevMode,N as warn,l as warnOnce,l as warnOnceUtil,N as warnUtil};
1
+ import{LytError as n,LytErrorCodes as R,getErrorMessage as M}from"@lytjs/common";var A=(_=>(_[_.INVALID_ARGUMENT=1001]="INVALID_ARGUMENT",_[_.NOT_FOUND=1002]="NOT_FOUND",_[_.ALREADY_EXISTS=1003]="ALREADY_EXISTS",_[_.OPERATION_FAILED=1004]="OPERATION_FAILED",_[_.REACTIVE_READONLY=2001]="REACTIVE_READONLY",_[_.REACTIVE_EFFECT_DISPOSED=2002]="REACTIVE_EFFECT_DISPOSED",_[_.COMPUTED_CYCLE=2003]="COMPUTED_CYCLE",_[_.PARSE_ERROR=3001]="PARSE_ERROR",_[_.INVALID_EXPRESSION=3002]="INVALID_EXPRESSION",_[_.INVALID_DIRECTIVE=3003]="INVALID_DIRECTIVE",_[_.INVALID_TEMPLATE=3004]="INVALID_TEMPLATE",_[_.RENDER_ERROR=4001]="RENDER_ERROR",_[_.HYDRATION_MISMATCH=4002]="HYDRATION_MISMATCH",_[_.INVALID_VNODE=4003]="INVALID_VNODE",_[_.COMPONENT_INVALID_PROPS=5001]="COMPONENT_INVALID_PROPS",_[_.COMPONENT_MISSING_TEMPLATE=5002]="COMPONENT_MISSING_TEMPLATE",_[_.COMPONENT_LIFECYCLE_ERROR=5003]="COMPONENT_LIFECYCLE_ERROR",_[_.ROUTE_NOT_FOUND=6001]="ROUTE_NOT_FOUND",_[_.ROUTE_DUPLICATE=6002]="ROUTE_DUPLICATE",_[_.NAVIGATION_ABORTED=6003]="NAVIGATION_ABORTED",_[_.NAVIGATION_FAILED=6004]="NAVIGATION_FAILED",_[_.STORE_NOT_FOUND=7001]="STORE_NOT_FOUND",_[_.STORE_DUPLICATE=7002]="STORE_DUPLICATE",_[_.LYT_COMPILER_PARSE_ERROR=R.LYT_COMPILER_PARSE_ERROR]="LYT_COMPILER_PARSE_ERROR",_[_.LYT_COMPILER_INVALID_EXPRESSION=R.LYT_COMPILER_INVALID_EXPRESSION]="LYT_COMPILER_INVALID_EXPRESSION",_[_.LYT_COMPILER_INVALID_TEMPLATE=R.LYT_COMPILER_INVALID_TEMPLATE]="LYT_COMPILER_INVALID_TEMPLATE",_[_.LYT_COMPILER_INVALID_DIRECTIVE=R.LYT_COMPILER_INVALID_DIRECTIVE]="LYT_COMPILER_INVALID_DIRECTIVE",_[_.LYT_COMPILER_CODEGEN_ERROR=R.LYT_COMPILER_CODEGEN_ERROR]="LYT_COMPILER_CODEGEN_ERROR",_[_.LYT_COMPILER_SFC_PARSE_ERROR=R.LYT_COMPILER_SFC_PARSE_ERROR]="LYT_COMPILER_SFC_PARSE_ERROR",_[_.LYT_COMPILER_TRANSFORM_ERROR=R.LYT_COMPILER_TRANSFORM_ERROR]="LYT_COMPILER_TRANSFORM_ERROR",_[_.LYT_RENDERER_MOUNT_FAILED=R.LYT_RENDERER_MOUNT_FAILED]="LYT_RENDERER_MOUNT_FAILED",_[_.LYT_RENDERER_PATCH_FAILED=R.LYT_RENDERER_PATCH_FAILED]="LYT_RENDERER_PATCH_FAILED",_[_.LYT_RENDERER_HYDRATION_MISMATCH=R.LYT_RENDERER_HYDRATION_MISMATCH]="LYT_RENDERER_HYDRATION_MISMATCH",_[_.LYT_RENDERER_INVALID_VNODE=R.LYT_RENDERER_INVALID_VNODE]="LYT_RENDERER_INVALID_VNODE",_[_.LYT_RENDERER_UNMOUNT_FAILED=R.LYT_RENDERER_UNMOUNT_FAILED]="LYT_RENDERER_UNMOUNT_FAILED",_[_.LYT_COMPONENT_INVALID_PROPS=R.LYT_COMPONENT_INVALID_PROPS]="LYT_COMPONENT_INVALID_PROPS",_[_.LYT_COMPONENT_MISSING_RENDER=R.LYT_COMPONENT_MISSING_RENDER]="LYT_COMPONENT_MISSING_RENDER",_[_.LYT_COMPONENT_LIFECYCLE_ERROR=R.LYT_COMPONENT_LIFECYCLE_ERROR]="LYT_COMPONENT_LIFECYCLE_ERROR",_[_.LYT_COMPONENT_INVALID=R.LYT_COMPONENT_INVALID]="LYT_COMPONENT_INVALID",_[_.LYT_COMPONENT_EMIT_INVALID=R.LYT_COMPONENT_EMIT_INVALID]="LYT_COMPONENT_EMIT_INVALID",_[_.LYT_COMPONENT_RENDER_ERROR=R.LYT_COMPONENT_RENDER_ERROR]="LYT_COMPONENT_RENDER_ERROR",_[_.LYT_ROUTER_INVALID_ROUTE=R.LYT_ROUTER_INVALID_ROUTE]="LYT_ROUTER_INVALID_ROUTE",_[_.LYT_ROUTER_NAVIGATION_FAILED=R.LYT_ROUTER_NAVIGATION_FAILED]="LYT_ROUTER_NAVIGATION_FAILED",_[_.LYT_ROUTER_DUPLICATE_ROUTE=R.LYT_ROUTER_DUPLICATE_ROUTE]="LYT_ROUTER_DUPLICATE_ROUTE",_[_.LYT_ROUTER_NAVIGATION_ABORTED=R.LYT_ROUTER_NAVIGATION_ABORTED]="LYT_ROUTER_NAVIGATION_ABORTED",_[_.LYT_ROUTER_GUARD_ERROR=R.LYT_ROUTER_GUARD_ERROR]="LYT_ROUTER_GUARD_ERROR",_[_.LYT_STORE_ALREADY_EXISTS=R.LYT_STORE_ALREADY_EXISTS]="LYT_STORE_ALREADY_EXISTS",_[_.LYT_STORE_NOT_FOUND=R.LYT_STORE_NOT_FOUND]="LYT_STORE_NOT_FOUND",_[_.LYT_STORE_DISPOSED=R.LYT_STORE_DISPOSED]="LYT_STORE_DISPOSED",_[_.LYT_STORE_PATCH_ERROR=R.LYT_STORE_PATCH_ERROR]="LYT_STORE_PATCH_ERROR",_[_.LYT_REACTIVITY_READONLY_SET=R.LYT_REACTIVITY_READONLY_SET]="LYT_REACTIVITY_READONLY_SET",_[_.LYT_REACTIVITY_READONLY_DELETE=R.LYT_REACTIVITY_READONLY_DELETE]="LYT_REACTIVITY_READONLY_DELETE",_[_.LYT_REACTIVITY_EFFECT_ERROR=R.LYT_REACTIVITY_EFFECT_ERROR]="LYT_REACTIVITY_EFFECT_ERROR",_[_.LYT_REACTIVITY_COMPUTED_CYCLE=R.LYT_REACTIVITY_COMPUTED_CYCLE]="LYT_REACTIVITY_COMPUTED_CYCLE",_[_.LYT_REACTIVITY_EFFECT_DISPOSED=R.LYT_REACTIVITY_EFFECT_DISPOSED]="LYT_REACTIVITY_EFFECT_DISPOSED",_[_.LYT_REACTIVITY_CIRCULAR_DEPENDENCY=R.LYT_REACTIVITY_CIRCULAR_DEPENDENCY]="LYT_REACTIVITY_CIRCULAR_DEPENDENCY",_[_.LYT_REACTIVITY_SIGNAL_DISPOSED=R.LYT_REACTIVITY_SIGNAL_DISPOSED]="LYT_REACTIVITY_SIGNAL_DISPOSED",_[_.LYT_CORE_PLUGIN_ERROR=R.LYT_CORE_PLUGIN_ERROR]="LYT_CORE_PLUGIN_ERROR",_[_.LYT_CORE_MOUNT_NO_CONTAINER=R.LYT_CORE_MOUNT_NO_CONTAINER]="LYT_CORE_MOUNT_NO_CONTAINER",_[_.LYT_CORE_ALREADY_MOUNTED=R.LYT_CORE_ALREADY_MOUNTED]="LYT_CORE_ALREADY_MOUNTED",_[_.LYT_CORE_INVALID_ARGUMENT=R.LYT_CORE_INVALID_ARGUMENT]="LYT_CORE_INVALID_ARGUMENT",_[_.LYT_CORE_NOT_FOUND=R.LYT_CORE_NOT_FOUND]="LYT_CORE_NOT_FOUND",_[_.LYT_CORE_ALREADY_EXISTS=R.LYT_CORE_ALREADY_EXISTS]="LYT_CORE_ALREADY_EXISTS",_[_.LYT_CORE_OPERATION_FAILED=R.LYT_CORE_OPERATION_FAILED]="LYT_CORE_OPERATION_FAILED",_[_.LYT_CLI_SCAFFOLD_FAILED=R.LYT_CLI_SCAFFOLD_FAILED]="LYT_CLI_SCAFFOLD_FAILED",_[_.LYT_CLI_BUILD_FAILED=R.LYT_CLI_BUILD_FAILED]="LYT_CLI_BUILD_FAILED",_[_.LYT_CLI_DEV_SERVER_ERROR=R.LYT_CLI_DEV_SERVER_ERROR]="LYT_CLI_DEV_SERVER_ERROR",_[_.LYT_CLI_CONFIG_INVALID=R.LYT_CLI_CONFIG_INVALID]="LYT_CLI_CONFIG_INVALID",_[_.LYT_CLI_HMR_CONNECTION_FAILED=R.LYT_CLI_HMR_CONNECTION_FAILED]="LYT_CLI_HMR_CONNECTION_FAILED",_[_.LYT_DEVTOOLS_CONNECTION_FAILED=R.LYT_DEVTOOLS_CONNECTION_FAILED]="LYT_DEVTOOLS_CONNECTION_FAILED",_[_.LYT_DEVTOOLS_PANEL_ERROR=R.LYT_DEVTOOLS_PANEL_ERROR]="LYT_DEVTOOLS_PANEL_ERROR",_[_.LYT_DEVTOOLS_PERF_OVERFLOW=R.LYT_DEVTOOLS_PERF_OVERFLOW]="LYT_DEVTOOLS_PERF_OVERFLOW",_[_.LYT_DEVTOOLS_COMPONENT_TREE_ERROR=R.LYT_DEVTOOLS_COMPONENT_TREE_ERROR]="LYT_DEVTOOLS_COMPONENT_TREE_ERROR",_[_.LYT_PLUGIN_INSTALL_FAILED=R.LYT_PLUGIN_INSTALL_FAILED]="LYT_PLUGIN_INSTALL_FAILED",_[_.LYT_PLUGIN_ALREADY_INSTALLED=R.LYT_PLUGIN_ALREADY_INSTALLED]="LYT_PLUGIN_ALREADY_INSTALLED",_[_.LYT_PLUGIN_INVALID=R.LYT_PLUGIN_INVALID]="LYT_PLUGIN_INVALID",_[_.LYT_PLUGIN_UNINSTALL_FAILED=R.LYT_PLUGIN_UNINSTALL_FAILED]="LYT_PLUGIN_UNINSTALL_FAILED",_[_.LYT_RENDERER_VAPOR_ERROR=R.LYT_RENDERER_VAPOR_ERROR]="LYT_RENDERER_VAPOR_ERROR",_[_.LYT_RENDERER_VAPOR_COMPILER_ERROR=R.LYT_RENDERER_VAPOR_COMPILER_ERROR]="LYT_RENDERER_VAPOR_COMPILER_ERROR",_[_.LYT_RENDERER_VAPOR_COMPONENT_ERROR=R.LYT_RENDERER_VAPOR_COMPONENT_ERROR]="LYT_RENDERER_VAPOR_COMPONENT_ERROR",_[_.LYT_SSR_STREAM_ERROR=R.LYT_SSR_STREAM_ERROR]="LYT_SSR_STREAM_ERROR",_[_.LYT_SSR_SUSPENSE_TIMEOUT=R.LYT_SSR_SUSPENSE_TIMEOUT]="LYT_SSR_SUSPENSE_TIMEOUT",_[_.LYT_SSR_HYDRATION_ERROR=R.LYT_SSR_HYDRATION_ERROR]="LYT_SSR_HYDRATION_ERROR",_[_.LYT_SSR_ISLAND_ERROR=R.LYT_SSR_ISLAND_ERROR]="LYT_SSR_ISLAND_ERROR",_))(A||{});var D=class D{constructor(T){this.errors=[],this.options=T||{},this._hasError=!1}get hasError(){return this._hasError}static setGlobalHandler(T){D.globalHandler=T}capture(T,E,t){var e;let i={error:T,vm:E,info:t||"",timestamp:Date.now()};this.errors.push(i),this._hasError=!0;let L=(e=this.options.maxErrors)!=null?e:100;this.errors.length>L&&this.errors.splice(0,this.errors.length-L),!(this.options.onErrorCaptured&&this.options.onErrorCaptured(T instanceof n?T:new n(A.LYT_CORE_OPERATION_FAILED,T.message),E,i.info)===!0)&&this.options.onError&&this.options.onError(T instanceof n?T:new n(A.LYT_CORE_OPERATION_FAILED,T.message),E)}getFallback(T){if(!this.options.fallback||this.errors.length===0)return null;let E=this.errors[this.errors.length-1];return this.options.fallback(E.error,E.vm,E.info)}getErrors(){return this.errors.slice()}getErrorCount(){return this.errors.length}getLastErrors(){return this.errors.length===0?null:{...this.errors[this.errors.length-1]}}clear(){this.errors=[],this._hasError=!1}};D.globalHandler=null;var I=D,N=!0,Y=new Set;function c(O){N=O}function l(){return N}function P(O){if(!N)return;let T=console.warn;typeof T=="function"&&T(`[Lyt warn] ${O}`)}function S(O){if(!N||Y.has(O))return;Y.add(O);let T=console.warn;typeof T=="function"&&T(`[Lyt warn] ${O}`)}function V(){Y.clear()}function p(O,...T){let E=M(O);return`[Lyt ${O}] ${E}`}function a(O,T,E){I.globalHandler&&I.globalHandler(O,T,E||""),N?O instanceof n&&O.details:typeof reportError=="function"&&reportError(O)}function U(O,T){try{return O()}catch(E){a(E instanceof Error?E:new Error(String(E)),T);return}}async function f(O,T){try{return await O()}catch(E){a(E instanceof Error?E:new Error(String(E)),T);return}}import{LytErrorCodes as b,ErrorCategory as F,getErrorMessage as u,getCategory as g}from"@lytjs/common";import{LytError as W,createCompilerError as m,createRendererError as h,createComponentError as G}from"@lytjs/common";export{I as ErrorBoundary,F as ErrorCategory,n as LytError,A as LytErrorCodes,U as callWithErrorHandling,f as callWithErrorHandlingAsync,m as createCompilerError,G as createComponentError,p as createMessage,h as createRendererError,g as getCategory,l as getDevMode,u as getErrorMessage,a as handleError,V as resetWarnedMessages,c as setDevMode,P as warn,S as warnOnce,S as warnOnceUtil,P as warnUtil};
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- var O=Object.defineProperty;var $=Object.getOwnPropertyDescriptor;var q=Object.getOwnPropertyNames;var X=Object.prototype.hasOwnProperty;var Y=(n,e)=>{for(var t in e)O(n,t,{get:e[t],enumerable:!0})},h=(n,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of q(e))!X.call(n,o)&&o!==t&&O(n,o,{get:()=>e[o],enumerable:!(i=$(e,o))||i.enumerable});return n},A=(n,e,t)=>(h(n,e,"default"),t&&h(t,e,"default"));var K=n=>h(O({},"__esModule",{value:!0}),n);var v={};Y(v,{Fragment:()=>j,ShapeFlags:()=>L,createApp:()=>B,h:()=>I});module.exports=K(v);var y=require("@lytjs/common"),L=(s=>(s[s.ELEMENT=1]="ELEMENT",s[s.FUNCTIONAL_COMPONENT=2]="FUNCTIONAL_COMPONENT",s[s.STATEFUL_COMPONENT=4]="STATEFUL_COMPONENT",s[s.TEXT_CHILDREN=8]="TEXT_CHILDREN",s[s.ARRAY_CHILDREN=16]="ARRAY_CHILDREN",s[s.SLOTS_CHILDREN=32]="SLOTS_CHILDREN",s))(L||{}),j=Symbol("Fragment");function Z(n,e){if(e!=null)if((0,y.isStringOrNumber)(e))n.children=String(e),n.shapeFlag|=8;else if((0,y.isArray)(e)){let t=[];for(let i=0;i<e.length;i++){let o=e[i];if(!(o==null||typeof o=="boolean"))if((0,y.isArray)(o))for(let d=0;d<o.length;d++){let s=o[d];s!=null&&typeof s!="boolean"&&t.push((0,y.isVNode)(s)?s:E(String(s)))}else(0,y.isVNode)(o)?t.push(o):t.push(E(String(o)))}n.children=t,n.shapeFlag|=16}else typeof e=="object"&&(n.children=e,n.shapeFlag|=32)}function E(n,e=null,t=null){var u,f;let i=0;typeof n=="string"?i=1:n===j?i=0:typeof n=="function"?i=2:typeof n=="object"&&n!==null&&(n.setup||n.__vccOpts||n.render)&&(i=4);let o=(u=e==null?void 0:e.key)!=null?u:null,d=(f=e==null?void 0:e.ref)!=null?f:null,s=e;if(e){let{key:C,ref:p,...P}=e;s=P}let b={type:n,props:s,children:null,key:o,ref:d,shapeFlag:i,el:null,component:null};return t!=null&&Z(b,t),b}function I(n,e,t){return E(n,e||null,t||null)}var N=require("@lytjs/common");function D(n){return Object.create(n||null)}function V(n){return n!==null&&typeof n=="object"&&typeof n.install=="function"}function _(n){return typeof n=="function"}function F(n,e,...t){if(V(e)){let i=e.onBeforeInstall?e.onBeforeInstall(n,...t):void 0;if((0,N.isPromise)(i))return i.then(()=>{let o=e.install(n,...t);if((0,N.isPromise)(o))return o.then(()=>{if(e.onInstalled)return e.onInstalled(n,...t)});if(e.onInstalled)return e.onInstalled(n,...t)});{let o=e.install(n,...t);if((0,N.isPromise)(o))return o.then(()=>{if(e.onInstalled)return e.onInstalled(n,...t)});if(e.onInstalled)return e.onInstalled(n,...t)}}else if(_(e))return e(n,...t)}function S(n,e){if(V(e)){if(typeof e.uninstall=="function")return e.uninstall(n)}else _(e)}var T=require("@lytjs/reactivity"),H=require("@lytjs/compiler"),c=require("@lytjs/component"),M=require("@lytjs/renderer"),G=100,g=new Map;function J(n){let e=g.get(n);if(e)return g.delete(n),g.set(n,e),e;let{code:t}=(0,H.compile)(n);if(e=new Function("h","_ctx",`return ${t}`),g.size>=G){let i=g.keys().next().value;i!==void 0&&g.delete(i)}return g.set(n,e),e}function Q(n){let e={...n};if(n.state&&typeof n.state!="function"){let t=n.state;e.state=()=>({...t})}if(typeof n.render=="function"){let t=n.render;e.render=(i,o)=>t(i)}if(n.computed){let t={};for(let i of Object.keys(n.computed)){let o=n.computed[i];typeof o=="function"?t[i]={get:o}:t[i]=o}e.computed=t}if(typeof n.init=="function"){let t=n.init;e.init=function(i,o){return t.call(this,i)}}return e}function W(){return{createElement(n){return document.createElement(n)},createText(n){return document.createTextNode(n)},createComment(n){return document.createComment(n)},setAttribute(n,e,t){n.setAttribute(e,String(t))},removeAttribute(n,e){n.removeAttribute(e)},setStyle(n,e){if(typeof e=="string")n.style.cssText=e;else if(e&&typeof e=="object")for(let t in e)n.style[t]=e[t]},setClass(n,e){if(typeof e=="string")n.className=e;else if(e&&typeof e=="object"){let t=[];for(let[i,o]of Object.entries(e))o&&t.push(i);n.className=t.join(" ")}else n.className=""},insert(n,e,t){t!=null?n.insertBefore(e,t):n.appendChild(e)},remove(n){n.parentNode&&n.parentNode.removeChild(n)},replace(n,e,t){n.replaceChild(t,e)},addEventListener(n,e,t,i){n.addEventListener(e,t,i)},removeEventListener(n,e,t){n.removeEventListener(e,t)},nextTick(n){Promise.resolve().then(n)},parentNode(n){return n.parentNode},nextSibling(n){return n.nextSibling},querySelector(n){return document.querySelector(n)}}}function B(n,e){let t=new Set,i={},o={},d=D(),s={},b={},u=null,f=null,C=null,p=null,P=!1,w=Q(typeof n=="function"?{render:n}:n),U=(0,c.defineComponent)(w),r={config:s,globalProperties:b,get _instance(){return u},mount(a){if(P)return r;let l;if(typeof a=="string"){if(l=document.querySelector(a),!l)throw new Error(`[Lyt] \u627E\u4E0D\u5230\u6302\u8F7D\u76EE\u6807: "${a}"`)}else l=a;p=l;let m=W();f=(0,M.createRenderer)(m),u=(0,c.createComponentInstance)(U),(0,c.setupComponent)(u,e||{},null);let R=u.type;if(!R.render&&R.template){let k=J(R.template);R.render=(x,z)=>k(x,z.renderProxy)}return(0,c.mountComponent)(u,I),u.subTree&&f.mount(u.subTree,l),C=(0,T.effect)(()=>{if(!(!u||!u.isMounted||!f)&&((0,c.updateComponent)(u,I),u.subTree&&p)){let k=p.firstChild,x=u.subTree;p.innerHTML="",f.mount(x,p)}},{lazy:!0}),P=!0,r},unmount(){P&&(C&&((0,T.stop)(C),C=null),u&&(0,c.unmountComponent)(u),p&&(p.innerHTML=""),u=null,f=null,p=null,P=!1)},use(a,...l){if(t.has(a))return r;t.add(a);let m=F({use:r.use.bind(r),unuse:r.unuse.bind(r),isInstalled:r.isInstalled.bind(r),provide:r.provide.bind(r),inject:r.inject.bind(r),config:s,globalProperties:b},a,...l);return m instanceof Promise?m.then(()=>r):r},unuse(a){if(!t.has(a))return r;t.delete(a);let l=S({use:r.use.bind(r),unuse:r.unuse.bind(r),isInstalled:r.isInstalled.bind(r),provide:r.provide.bind(r),inject:r.inject.bind(r),config:s,globalProperties:b},a);return l instanceof Promise?l.then(()=>r):r},isInstalled(a){return t.has(a)},provide(a,l){return d[a]=l,r},inject(a,l){let m=d[a];return m!==void 0?m:l},component(a,l){return l?(i[a]=l,r):i[a]},directive(a,l){return l?(o[a]=l,r):o[a]}};return r}A(v,require("@lytjs/common"),module.exports);
1
+ "use strict";var E=Object.defineProperty;var $=Object.getOwnPropertyDescriptor;var q=Object.getOwnPropertyNames;var X=Object.prototype.hasOwnProperty;var Y=(n,e)=>{for(var t in e)E(n,t,{get:e[t],enumerable:!0})},O=(n,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of q(e))!X.call(n,o)&&o!==t&&E(n,o,{get:()=>e[o],enumerable:!(i=$(e,o))||i.enumerable});return n},A=(n,e,t)=>(O(n,e,"default"),t&&O(t,e,"default"));var K=n=>O(E({},"__esModule",{value:!0}),n);var v={};Y(v,{Fragment:()=>x.Fragment,ShapeFlags:()=>L,createApp:()=>S,h:()=>R});module.exports=K(v);var y=require("@lytjs/common"),x=require("@lytjs/vdom");var L=(s=>(s[s.ELEMENT=1]="ELEMENT",s[s.FUNCTIONAL_COMPONENT=2]="FUNCTIONAL_COMPONENT",s[s.STATEFUL_COMPONENT=4]="STATEFUL_COMPONENT",s[s.TEXT_CHILDREN=8]="TEXT_CHILDREN",s[s.ARRAY_CHILDREN=16]="ARRAY_CHILDREN",s[s.SLOTS_CHILDREN=32]="SLOTS_CHILDREN",s))(L||{});function Z(n,e){if(e!=null)if((0,y.isStringOrNumber)(e))n.children=String(e),n.shapeFlag|=8;else if((0,y.isArray)(e)){let t=[];for(let i=0;i<e.length;i++){let o=e[i];if(!(o==null||typeof o=="boolean"))if((0,y.isArray)(o))for(let p=0;p<o.length;p++){let s=o[p];s!=null&&typeof s!="boolean"&&t.push((0,y.isVNode)(s)?s:j(String(s)))}else(0,y.isVNode)(o)?t.push(o):t.push(j(String(o)))}n.children=t,n.shapeFlag|=16}else typeof e=="object"&&(n.children=e,n.shapeFlag|=32)}function j(n,e=null,t=null){var u,f;let i=0;typeof n=="string"?i=1:n===x.Fragment?i=0:typeof n=="function"?i=2:typeof n=="object"&&n!==null&&(n.setup||n.__vccOpts||n.render)&&(i=4);let o=(u=e==null?void 0:e.key)!=null?u:null,p=(f=e==null?void 0:e.ref)!=null?f:null,s=e;if(e){let{key:C,ref:d,...b}=e;s=b}let P={type:n,props:s,children:null,key:o,ref:p,shapeFlag:i,el:null,component:null};return t!=null&&Z(P,t),P}function R(n,e,t){return j(n,e||null,t||null)}var k=require("@lytjs/common");function w(n){return Object.create(n||null)}function D(n){return n!==null&&typeof n=="object"&&typeof n.install=="function"}function V(n){return typeof n=="function"}function _(n,e,...t){if(D(e)){let i=e.onBeforeInstall?e.onBeforeInstall(n,...t):void 0;if((0,k.isPromise)(i))return i.then(()=>{let o=e.install(n,...t);if((0,k.isPromise)(o))return o.then(()=>{if(e.onInstalled)return e.onInstalled(n,...t)});if(e.onInstalled)return e.onInstalled(n,...t)});{let o=e.install(n,...t);if((0,k.isPromise)(o))return o.then(()=>{if(e.onInstalled)return e.onInstalled(n,...t)});if(e.onInstalled)return e.onInstalled(n,...t)}}else if(V(e))return e(n,...t)}function F(n,e){if(D(e)){if(typeof e.uninstall=="function")return e.uninstall(n)}else V(e)}var T=require("@lytjs/reactivity"),H=require("@lytjs/compiler"),c=require("@lytjs/component"),M=require("@lytjs/renderer"),G=100,g=new Map;function J(n){let e=g.get(n);if(e)return g.delete(n),g.set(n,e),e;let{code:t}=(0,H.compile)(n);if(e=new Function("h","_ctx",`return ${t}`),g.size>=G){let i=g.keys().next().value;i!==void 0&&g.delete(i)}return g.set(n,e),e}function Q(n){let e={...n};if(n.state&&typeof n.state!="function"){let t=n.state;e.state=()=>({...t})}if(typeof n.render=="function"){let t=n.render;e.render=(i,o)=>t(i)}if(n.computed){let t={};for(let i of Object.keys(n.computed)){let o=n.computed[i];typeof o=="function"?t[i]={get:o}:t[i]=o}e.computed=t}if(typeof n.init=="function"){let t=n.init;e.init=function(i,o){return t.call(this,i)}}return e}function W(){return{createElement(n){return document.createElement(n)},createText(n){return document.createTextNode(n)},createComment(n){return document.createComment(n)},setAttribute(n,e,t){n.setAttribute(e,String(t))},removeAttribute(n,e){n.removeAttribute(e)},setStyle(n,e){if(typeof e=="string")n.style.cssText=e;else if(e&&typeof e=="object")for(let t in e)n.style[t]=e[t]},setClass(n,e){if(typeof e=="string")n.className=e;else if(e&&typeof e=="object"){let t=[];for(let[i,o]of Object.entries(e))o&&t.push(i);n.className=t.join(" ")}else n.className=""},insert(n,e,t){t!=null?n.insertBefore(e,t):n.appendChild(e)},remove(n){n.parentNode&&n.parentNode.removeChild(n)},replace(n,e,t){n.replaceChild(t,e)},addEventListener(n,e,t,i){n.addEventListener(e,t,i)},removeEventListener(n,e,t){n.removeEventListener(e,t)},nextTick(n){Promise.resolve().then(n)},parentNode(n){return n.parentNode},nextSibling(n){return n.nextSibling},querySelector(n){return document.querySelector(n)}}}function S(n,e){let t=new Set,i={},o={},p=w(),s={},P={},u=null,f=null,C=null,d=null,b=!1,B=Q(typeof n=="function"?{render:n}:n),U=(0,c.defineComponent)(B),r={config:s,globalProperties:P,get _instance(){return u},mount(l){if(b)return r;let a;if(typeof l=="string"){let I=document.querySelector(l);if(!I)throw new Error(`[Lyt] \u6302\u8F7D\u76EE\u6807 "${l}" \u672A\u627E\u5230`);a=I}else a=l;d=a;let m=W();f=(0,M.createRenderer)(m),u=(0,c.createComponentInstance)(U),(0,c.setupComponent)(u,e||{},null);let N=u.type;if(!N.render&&N.template){let I=J(N.template);N.render=(h,z)=>I(h,z.renderProxy)}return(0,c.mountComponent)(u,R),u.subTree&&f.mount(u.subTree,a),C=(0,T.effect)(()=>{if(!(!u||!u.isMounted||!f)&&((0,c.updateComponent)(u,R),u.subTree&&d)){let I=d.firstChild,h=u.subTree;for(;d.firstChild;)d.removeChild(d.firstChild);f.mount(h,d)}},{lazy:!0}),b=!0,r},unmount(){if(b){if(C&&((0,T.stop)(C),C=null),u&&(0,c.unmountComponent)(u),d)for(;d.firstChild;)d.removeChild(d.firstChild);u=null,f=null,d=null,b=!1}},use(l,...a){if(t.has(l))return r;t.add(l);let m=_({use:r.use.bind(r),unuse:r.unuse.bind(r),isInstalled:r.isInstalled.bind(r),provide:r.provide.bind(r),inject:r.inject.bind(r),config:s,globalProperties:P},l,...a);return m instanceof Promise?m.then(()=>r):r},unuse(l){if(!t.has(l))return r;t.delete(l);let a=F({use:r.use.bind(r),unuse:r.unuse.bind(r),isInstalled:r.isInstalled.bind(r),provide:r.provide.bind(r),inject:r.inject.bind(r),config:s,globalProperties:P},l);return a instanceof Promise?a.then(()=>r):r},isInstalled(l){return t.has(l)},provide(l,a){return p[l]=a,r},inject(l,a){let m=p[l];return m!==void 0?m:a},component(l,a){return a?(i[l]=a,r):i[l]},directive(l,a){return a?(o[l]=a,r):o[l]}};return r}A(v,require("@lytjs/common"),module.exports);
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- import{isStringOrNumber as F,isArray as N,isVNode as T}from"@lytjs/common";var x=(s=>(s[s.ELEMENT=1]="ELEMENT",s[s.FUNCTIONAL_COMPONENT=2]="FUNCTIONAL_COMPONENT",s[s.STATEFUL_COMPONENT=4]="STATEFUL_COMPONENT",s[s.TEXT_CHILDREN=8]="TEXT_CHILDREN",s[s.ARRAY_CHILDREN=16]="ARRAY_CHILDREN",s[s.SLOTS_CHILDREN=32]="SLOTS_CHILDREN",s))(x||{}),h=Symbol("Fragment");function S(n,e){if(e!=null)if(F(e))n.children=String(e),n.shapeFlag|=8;else if(N(e)){let t=[];for(let i=0;i<e.length;i++){let r=e[i];if(!(r==null||typeof r=="boolean"))if(N(r))for(let c=0;c<r.length;c++){let s=r[c];s!=null&&typeof s!="boolean"&&t.push(T(s)?s:C(String(s)))}else T(r)?t.push(r):t.push(C(String(r)))}n.children=t,n.shapeFlag|=16}else typeof e=="object"&&(n.children=e,n.shapeFlag|=32)}function C(n,e=null,t=null){var u,p;let i=0;typeof n=="string"?i=1:n===h?i=0:typeof n=="function"?i=2:typeof n=="object"&&n!==null&&(n.setup||n.__vccOpts||n.render)&&(i=4);let r=(u=e==null?void 0:e.key)!=null?u:null,c=(p=e==null?void 0:e.ref)!=null?p:null,s=e;if(e){let{key:v,ref:d,...g}=e;s=g}let m={type:n,props:s,children:null,key:r,ref:c,shapeFlag:i,el:null,component:null};return t!=null&&S(m,t),m}function P(n,e,t){return C(n,e||null,t||null)}import{isPromise as I}from"@lytjs/common";function O(n){return Object.create(n||null)}function E(n){return n!==null&&typeof n=="object"&&typeof n.install=="function"}function L(n){return typeof n=="function"}function j(n,e,...t){if(E(e)){let i=e.onBeforeInstall?e.onBeforeInstall(n,...t):void 0;if(I(i))return i.then(()=>{let r=e.install(n,...t);if(I(r))return r.then(()=>{if(e.onInstalled)return e.onInstalled(n,...t)});if(e.onInstalled)return e.onInstalled(n,...t)});{let r=e.install(n,...t);if(I(r))return r.then(()=>{if(e.onInstalled)return e.onInstalled(n,...t)});if(e.onInstalled)return e.onInstalled(n,...t)}}else if(L(e))return e(n,...t)}function k(n,e){if(E(e)){if(typeof e.uninstall=="function")return e.uninstall(n)}else L(e)}import{effect as H,stop as M}from"@lytjs/reactivity";import{compile as B}from"@lytjs/compiler";import{defineComponent as w,createComponentInstance as U,setupComponent as z,mountComponent as $,updateComponent as q,unmountComponent as X}from"@lytjs/component";import{createRenderer as Y}from"@lytjs/renderer";var K=100,y=new Map;function Z(n){let e=y.get(n);if(e)return y.delete(n),y.set(n,e),e;let{code:t}=B(n);if(e=new Function("h","_ctx",`return ${t}`),y.size>=K){let i=y.keys().next().value;i!==void 0&&y.delete(i)}return y.set(n,e),e}function G(n){let e={...n};if(n.state&&typeof n.state!="function"){let t=n.state;e.state=()=>({...t})}if(typeof n.render=="function"){let t=n.render;e.render=(i,r)=>t(i)}if(n.computed){let t={};for(let i of Object.keys(n.computed)){let r=n.computed[i];typeof r=="function"?t[i]={get:r}:t[i]=r}e.computed=t}if(typeof n.init=="function"){let t=n.init;e.init=function(i,r){return t.call(this,i)}}return e}function J(){return{createElement(n){return document.createElement(n)},createText(n){return document.createTextNode(n)},createComment(n){return document.createComment(n)},setAttribute(n,e,t){n.setAttribute(e,String(t))},removeAttribute(n,e){n.removeAttribute(e)},setStyle(n,e){if(typeof e=="string")n.style.cssText=e;else if(e&&typeof e=="object")for(let t in e)n.style[t]=e[t]},setClass(n,e){if(typeof e=="string")n.className=e;else if(e&&typeof e=="object"){let t=[];for(let[i,r]of Object.entries(e))r&&t.push(i);n.className=t.join(" ")}else n.className=""},insert(n,e,t){t!=null?n.insertBefore(e,t):n.appendChild(e)},remove(n){n.parentNode&&n.parentNode.removeChild(n)},replace(n,e,t){n.replaceChild(t,e)},addEventListener(n,e,t,i){n.addEventListener(e,t,i)},removeEventListener(n,e,t){n.removeEventListener(e,t)},nextTick(n){Promise.resolve().then(n)},parentNode(n){return n.parentNode},nextSibling(n){return n.nextSibling},querySelector(n){return document.querySelector(n)}}}function Q(n,e){let t=new Set,i={},r={},c=O(),s={},m={},u=null,p=null,v=null,d=null,g=!1,D=G(typeof n=="function"?{render:n}:n),V=w(D),o={config:s,globalProperties:m,get _instance(){return u},mount(a){if(g)return o;let l;if(typeof a=="string"){if(l=document.querySelector(a),!l)throw new Error(`[Lyt] \u627E\u4E0D\u5230\u6302\u8F7D\u76EE\u6807: "${a}"`)}else l=a;d=l;let f=J();p=Y(f),u=U(V),z(u,e||{},null);let b=u.type;if(!b.render&&b.template){let R=Z(b.template);b.render=(A,_)=>R(A,_.renderProxy)}return $(u,P),u.subTree&&p.mount(u.subTree,l),v=H(()=>{if(!(!u||!u.isMounted||!p)&&(q(u,P),u.subTree&&d)){let R=d.firstChild,A=u.subTree;d.innerHTML="",p.mount(A,d)}},{lazy:!0}),g=!0,o},unmount(){g&&(v&&(M(v),v=null),u&&X(u),d&&(d.innerHTML=""),u=null,p=null,d=null,g=!1)},use(a,...l){if(t.has(a))return o;t.add(a);let f=j({use:o.use.bind(o),unuse:o.unuse.bind(o),isInstalled:o.isInstalled.bind(o),provide:o.provide.bind(o),inject:o.inject.bind(o),config:s,globalProperties:m},a,...l);return f instanceof Promise?f.then(()=>o):o},unuse(a){if(!t.has(a))return o;t.delete(a);let l=k({use:o.use.bind(o),unuse:o.unuse.bind(o),isInstalled:o.isInstalled.bind(o),provide:o.provide.bind(o),inject:o.inject.bind(o),config:s,globalProperties:m},a);return l instanceof Promise?l.then(()=>o):o},isInstalled(a){return t.has(a)},provide(a,l){return c[a]=l,o},inject(a,l){let f=c[a];return f!==void 0?f:l},component(a,l){return l?(i[a]=l,o):i[a]},directive(a,l){return l?(r[a]=l,o):r[a]}};return o}export*from"@lytjs/common";export{h as Fragment,x as ShapeFlags,Q as createApp,P as h};
1
+ import{isStringOrNumber as _,isArray as N,isVNode as x}from"@lytjs/common";import{Fragment as k}from"@lytjs/vdom";var T=(s=>(s[s.ELEMENT=1]="ELEMENT",s[s.FUNCTIONAL_COMPONENT=2]="FUNCTIONAL_COMPONENT",s[s.STATEFUL_COMPONENT=4]="STATEFUL_COMPONENT",s[s.TEXT_CHILDREN=8]="TEXT_CHILDREN",s[s.ARRAY_CHILDREN=16]="ARRAY_CHILDREN",s[s.SLOTS_CHILDREN=32]="SLOTS_CHILDREN",s))(T||{});function F(n,e){if(e!=null)if(_(e))n.children=String(e),n.shapeFlag|=8;else if(N(e)){let t=[];for(let i=0;i<e.length;i++){let r=e[i];if(!(r==null||typeof r=="boolean"))if(N(r))for(let c=0;c<r.length;c++){let s=r[c];s!=null&&typeof s!="boolean"&&t.push(x(s)?s:I(String(s)))}else x(r)?t.push(r):t.push(I(String(r)))}n.children=t,n.shapeFlag|=16}else typeof e=="object"&&(n.children=e,n.shapeFlag|=32)}function I(n,e=null,t=null){var u,p;let i=0;typeof n=="string"?i=1:n===k?i=0:typeof n=="function"?i=2:typeof n=="object"&&n!==null&&(n.setup||n.__vccOpts||n.render)&&(i=4);let r=(u=e==null?void 0:e.key)!=null?u:null,c=(p=e==null?void 0:e.ref)!=null?p:null,s=e;if(e){let{key:v,ref:d,...g}=e;s=g}let m={type:n,props:s,children:null,key:r,ref:c,shapeFlag:i,el:null,component:null};return t!=null&&F(m,t),m}function A(n,e,t){return I(n,e||null,t||null)}import{isPromise as R}from"@lytjs/common";function h(n){return Object.create(n||null)}function O(n){return n!==null&&typeof n=="object"&&typeof n.install=="function"}function E(n){return typeof n=="function"}function j(n,e,...t){if(O(e)){let i=e.onBeforeInstall?e.onBeforeInstall(n,...t):void 0;if(R(i))return i.then(()=>{let r=e.install(n,...t);if(R(r))return r.then(()=>{if(e.onInstalled)return e.onInstalled(n,...t)});if(e.onInstalled)return e.onInstalled(n,...t)});{let r=e.install(n,...t);if(R(r))return r.then(()=>{if(e.onInstalled)return e.onInstalled(n,...t)});if(e.onInstalled)return e.onInstalled(n,...t)}}else if(E(e))return e(n,...t)}function L(n,e){if(O(e)){if(typeof e.uninstall=="function")return e.uninstall(n)}else E(e)}import{effect as H,stop as M}from"@lytjs/reactivity";import{compile as S}from"@lytjs/compiler";import{defineComponent as B,createComponentInstance as U,setupComponent as z,mountComponent as $,updateComponent as q,unmountComponent as X}from"@lytjs/component";import{createRenderer as Y}from"@lytjs/renderer";var K=100,y=new Map;function Z(n){let e=y.get(n);if(e)return y.delete(n),y.set(n,e),e;let{code:t}=S(n);if(e=new Function("h","_ctx",`return ${t}`),y.size>=K){let i=y.keys().next().value;i!==void 0&&y.delete(i)}return y.set(n,e),e}function G(n){let e={...n};if(n.state&&typeof n.state!="function"){let t=n.state;e.state=()=>({...t})}if(typeof n.render=="function"){let t=n.render;e.render=(i,r)=>t(i)}if(n.computed){let t={};for(let i of Object.keys(n.computed)){let r=n.computed[i];typeof r=="function"?t[i]={get:r}:t[i]=r}e.computed=t}if(typeof n.init=="function"){let t=n.init;e.init=function(i,r){return t.call(this,i)}}return e}function J(){return{createElement(n){return document.createElement(n)},createText(n){return document.createTextNode(n)},createComment(n){return document.createComment(n)},setAttribute(n,e,t){n.setAttribute(e,String(t))},removeAttribute(n,e){n.removeAttribute(e)},setStyle(n,e){if(typeof e=="string")n.style.cssText=e;else if(e&&typeof e=="object")for(let t in e)n.style[t]=e[t]},setClass(n,e){if(typeof e=="string")n.className=e;else if(e&&typeof e=="object"){let t=[];for(let[i,r]of Object.entries(e))r&&t.push(i);n.className=t.join(" ")}else n.className=""},insert(n,e,t){t!=null?n.insertBefore(e,t):n.appendChild(e)},remove(n){n.parentNode&&n.parentNode.removeChild(n)},replace(n,e,t){n.replaceChild(t,e)},addEventListener(n,e,t,i){n.addEventListener(e,t,i)},removeEventListener(n,e,t){n.removeEventListener(e,t)},nextTick(n){Promise.resolve().then(n)},parentNode(n){return n.parentNode},nextSibling(n){return n.nextSibling},querySelector(n){return document.querySelector(n)}}}function Q(n,e){let t=new Set,i={},r={},c=h(),s={},m={},u=null,p=null,v=null,d=null,g=!1,w=G(typeof n=="function"?{render:n}:n),D=B(w),o={config:s,globalProperties:m,get _instance(){return u},mount(l){if(g)return o;let a;if(typeof l=="string"){let P=document.querySelector(l);if(!P)throw new Error(`[Lyt] \u6302\u8F7D\u76EE\u6807 "${l}" \u672A\u627E\u5230`);a=P}else a=l;d=a;let f=J();p=Y(f),u=U(D),z(u,e||{},null);let b=u.type;if(!b.render&&b.template){let P=Z(b.template);b.render=(C,V)=>P(C,V.renderProxy)}return $(u,A),u.subTree&&p.mount(u.subTree,a),v=H(()=>{if(!(!u||!u.isMounted||!p)&&(q(u,A),u.subTree&&d)){let P=d.firstChild,C=u.subTree;for(;d.firstChild;)d.removeChild(d.firstChild);p.mount(C,d)}},{lazy:!0}),g=!0,o},unmount(){if(g){if(v&&(M(v),v=null),u&&X(u),d)for(;d.firstChild;)d.removeChild(d.firstChild);u=null,p=null,d=null,g=!1}},use(l,...a){if(t.has(l))return o;t.add(l);let f=j({use:o.use.bind(o),unuse:o.unuse.bind(o),isInstalled:o.isInstalled.bind(o),provide:o.provide.bind(o),inject:o.inject.bind(o),config:s,globalProperties:m},l,...a);return f instanceof Promise?f.then(()=>o):o},unuse(l){if(!t.has(l))return o;t.delete(l);let a=L({use:o.use.bind(o),unuse:o.unuse.bind(o),isInstalled:o.isInstalled.bind(o),provide:o.provide.bind(o),inject:o.inject.bind(o),config:s,globalProperties:m},l);return a instanceof Promise?a.then(()=>o):o},isInstalled(l){return t.has(l)},provide(l,a){return c[l]=a,o},inject(l,a){let f=c[l];return f!==void 0?f:a},component(l,a){return a?(i[l]=a,o):i[l]},directive(l,a){return a?(r[l]=a,o):r[l]}};return o}export*from"@lytjs/common";export{k as Fragment,T as ShapeFlags,Q as createApp,A as h};
@@ -1 +1 @@
1
- var a=Object.defineProperty;var d=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var g=Object.prototype.hasOwnProperty;var y=(n,e)=>{for(var t in e)a(n,t,{get:e[t],enumerable:!0})},A=(n,e,t,l)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of p(e))!g.call(n,i)&&i!==t&&a(n,i,{get:()=>e[i],enumerable:!(l=d(e,i))||l.enumerable});return n};var m=n=>A(a({},"__esModule",{value:!0}),n);var I={};y(I,{createProvidesContext:()=>u,getPluginName:()=>P,installPlugin:()=>c,isPluginFunction:()=>r,isPluginObject:()=>o,uninstallPlugin:()=>f});module.exports=m(I);var s=require("@lytjs/common");function u(n){return Object.create(n||null)}function o(n){return n!==null&&typeof n=="object"&&typeof n.install=="function"}function r(n){return typeof n=="function"}function P(n){return o(n)&&n.name||r(n)&&n.name?n.name:o(n)?"[PluginObject]":"[PluginFunction]"}function c(n,e,...t){if(o(e)){let l=e.onBeforeInstall?e.onBeforeInstall(n,...t):void 0;if((0,s.isPromise)(l))return l.then(()=>{let i=e.install(n,...t);if((0,s.isPromise)(i))return i.then(()=>{if(e.onInstalled)return e.onInstalled(n,...t)});if(e.onInstalled)return e.onInstalled(n,...t)});{let i=e.install(n,...t);if((0,s.isPromise)(i))return i.then(()=>{if(e.onInstalled)return e.onInstalled(n,...t)});if(e.onInstalled)return e.onInstalled(n,...t)}}else if(r(e))return e(n,...t)}function f(n,e){if(o(e)){if(typeof e.uninstall=="function")return e.uninstall(n)}else r(e)}
1
+ "use strict";var a=Object.defineProperty;var d=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var g=Object.prototype.hasOwnProperty;var y=(n,e)=>{for(var t in e)a(n,t,{get:e[t],enumerable:!0})},A=(n,e,t,l)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of p(e))!g.call(n,i)&&i!==t&&a(n,i,{get:()=>e[i],enumerable:!(l=d(e,i))||l.enumerable});return n};var m=n=>A(a({},"__esModule",{value:!0}),n);var I={};y(I,{createProvidesContext:()=>u,getPluginName:()=>P,installPlugin:()=>c,isPluginFunction:()=>r,isPluginObject:()=>o,uninstallPlugin:()=>f});module.exports=m(I);var s=require("@lytjs/common");function u(n){return Object.create(n||null)}function o(n){return n!==null&&typeof n=="object"&&typeof n.install=="function"}function r(n){return typeof n=="function"}function P(n){return o(n)&&n.name||r(n)&&n.name?n.name:o(n)?"[PluginObject]":"[PluginFunction]"}function c(n,e,...t){if(o(e)){let l=e.onBeforeInstall?e.onBeforeInstall(n,...t):void 0;if((0,s.isPromise)(l))return l.then(()=>{let i=e.install(n,...t);if((0,s.isPromise)(i))return i.then(()=>{if(e.onInstalled)return e.onInstalled(n,...t)});if(e.onInstalled)return e.onInstalled(n,...t)});{let i=e.install(n,...t);if((0,s.isPromise)(i))return i.then(()=>{if(e.onInstalled)return e.onInstalled(n,...t)});if(e.onInstalled)return e.onInstalled(n,...t)}}else if(r(e))return e(n,...t)}function f(n,e){if(o(e)){if(typeof e.uninstall=="function")return e.uninstall(n)}else r(e)}
@@ -1 +1 @@
1
- var a=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var p=(r,o,f,x)=>{if(o&&typeof o=="object"||typeof o=="function")for(let e of c(o))!d.call(r,e)&&e!==f&&a(r,e,{get:()=>o[e],enumerable:!(x=b(o,e))||x.enumerable});return r},t=(r,o,f)=>(p(r,o,"default"),f&&p(f,o,"default"));var g=r=>p(a({},"__esModule",{value:!0}),r);var m={};module.exports=g(m);t(m,require("@lytjs/common"),module.exports);
1
+ "use strict";var a=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var p=(r,o,f,x)=>{if(o&&typeof o=="object"||typeof o=="function")for(let e of c(o))!d.call(r,e)&&e!==f&&a(r,e,{get:()=>o[e],enumerable:!(x=b(o,e))||x.enumerable});return r},t=(r,o,f)=>(p(r,o,"default"),f&&p(f,o,"default"));var g=r=>p(a({},"__esModule",{value:!0}),r);var m={};module.exports=g(m);t(m,require("@lytjs/common"),module.exports);
@@ -35,29 +35,29 @@ export interface ComponentOptions {
35
35
  /** 组件名称 */
36
36
  name?: string;
37
37
  /** Props 定义 */
38
- props?: Record<string, any>;
38
+ props?: Record<string, unknown>;
39
39
  /** 响应式状态(对象或工厂函数) */
40
- state?: Record<string, any> | (() => Record<string, any>);
40
+ state?: Record<string, unknown> | (() => Record<string, unknown>);
41
41
  /** 计算属性 */
42
- computed?: Record<string, () => any>;
42
+ computed?: Record<string, (...args: unknown[]) => unknown>;
43
43
  /** 方法 */
44
- methods?: Record<string, (...args: any[]) => any>;
44
+ methods?: Record<string, (...args: unknown[]) => unknown>;
45
45
  /** 模板字符串 */
46
46
  template?: string;
47
47
  /** 渲染函数(优先于 template) */
48
- render?: (ctx: any) => VNode;
48
+ render?: (ctx: unknown) => VNode;
49
49
  /** setup 函数(组合式 API) */
50
- setup?: (props: Record<string, any>, ctx: any) => Record<string, any> | void;
50
+ setup?: (props: Record<string, unknown>, ctx: unknown) => Record<string, unknown> | void;
51
51
  /** 初始化函数 */
52
- init?: (this: any, props: Record<string, any>) => void;
52
+ init?: (this: unknown, props: Record<string, unknown>) => void;
53
53
  /** mounted 生命周期 */
54
- mounted?: (this: any) => void;
54
+ mounted?: (this: unknown) => void;
55
55
  /** beforeUnmount 生命周期 */
56
- beforeUnmount?: (this: any) => void;
56
+ beforeUnmount?: (this: unknown) => void;
57
57
  /** unmounted 生命周期 */
58
- unmounted?: (this: any) => void;
58
+ unmounted?: (this: unknown) => void;
59
59
  /** 子组件 */
60
- components?: Record<string, any>;
60
+ components?: Record<string, unknown>;
61
61
  /** 标记为组件定义 */
62
62
  _isComponentDefine?: true;
63
63
  }
@@ -1 +1 @@
1
- {"version":3,"file":"create-app.d.ts","sourceRoot":"","sources":["../../src/create-app.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAK,KAAK,KAAK,EAAuC,MAAM,KAAK,CAAC;AACzE,OAAO,EAIL,KAAK,MAAM,EACX,KAAK,SAAS,EACf,MAAM,UAAU,CAAC;AA+DlB;;;;;;;;GAQG;AACH,MAAM,WAAW,gBAAgB;IAC/B,WAAW;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,eAAe;IACf,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,qBAAqB;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IAC1D,WAAW;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC;IACrC,SAAS;IACT,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC;IAClD,YAAY;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yBAAyB;IACzB,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,KAAK,CAAC;IAC7B,wBAAwB;IACxB,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAC7E,YAAY;IACZ,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;IACvD,mBAAmB;IACnB,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IAC9B,yBAAyB;IACzB,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IACpC,qBAAqB;IACrB,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IAChC,UAAU;IACV,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACjC,cAAc;IACd,kBAAkB,CAAC,EAAE,IAAI,CAAC;CAC3B;AAED,WAAW;AACX,MAAM,WAAW,cAAc;IAC7B,eAAe;IACf,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACvD,iBAAiB;IACjB,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC3D,iBAAiB;IACjB,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACvD,UAAU;IACV,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC5D,UAAU;IACV,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACvD,UAAU;IACV,aAAa,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC7D,UAAU;IACV,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;CAC1D;AAED,aAAa;AACb,MAAM,WAAW,gBAAgB;IAC/B,UAAU;IACV,KAAK,EAAE,GAAG,CAAC;IACX,SAAS;IACT,QAAQ,EAAE,GAAG,CAAC;IACd,eAAe;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,YAAY;IACZ,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,aAAa;IACb,QAAQ,EAAE,GAAG,CAAC;CACf;AAED,aAAa;AACb,MAAM,WAAW,GAAG;IAClB,WAAW;IACX,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,GAAG,CAAC;IACxC,WAAW;IACX,OAAO,IAAI,IAAI,CAAC;IAChB,yCAAyC;IACzC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3D,yCAAyC;IACzC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1C,gBAAgB;IAChB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IACrC,WAAW;IACX,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC;IACtD,WAAW;IACX,MAAM,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IACvE,gBAAgB;IAChB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,gBAAgB,GAAG,GAAG,GAAG,gBAAgB,GAAG,SAAS,CAAC;IAC1F,gBAAgB;IAChB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,cAAc,GAAG,GAAG,GAAG,cAAc,GAAG,SAAS,CAAC;IACtF,WAAW;IACX,MAAM,EAAE,SAAS,CAAC;IAClB,WAAW;IACX,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACtC,cAAc;IACd,SAAS,EAAE,GAAG,CAAC;CAChB;AAiKD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,wBAAgB,SAAS,CACvB,aAAa,EAAE,gBAAgB,GAAG,CAAC,MAAM,KAAK,CAAC,EAC/C,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC9B,GAAG,CAyVL"}
1
+ {"version":3,"file":"create-app.d.ts","sourceRoot":"","sources":["../../src/create-app.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"dev-error.d.ts","sourceRoot":"","sources":["../../src/dev-error.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,KAAK,GAAG,MAAM,CAmD9C;AAMD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,CAAC,EAAE,GAAG,GAAG,MAAM,CAaxD;AA4ED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,KAAK,GAAG,MAAM,CAgErD"}
1
+ {"version":3,"file":"dev-error.d.ts","sourceRoot":"","sources":["../../src/dev-error.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,KAAK,GAAG,MAAM,CAmD9C;AAMD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,CAAC,EAAE,GAAG,GAAG,MAAM,CAaxD;AAkFD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,KAAK,GAAG,MAAM,CAkErD"}
@@ -4,11 +4,11 @@
4
4
  * 按需导入错误处理 API:
5
5
  * import { LytError, ErrorBoundary, handleError } from '@lytjs/core/error'
6
6
  */
7
- export { LytError, LytErrorCodes, ErrorBoundary, handleError, callWithErrorHandling, warn, warnOnce, setDevMode, createMessage, } from './error-handling';
7
+ export { LytError, LytErrorCodes, ErrorBoundary, handleError, callWithErrorHandling, callWithErrorHandlingAsync, warn, warnOnce, setDevMode, createMessage, } from './error-handling';
8
8
  export type { ErrorBoundaryOptions, } from './error-handling';
9
- export { LytErrorCodes as NewLytErrorCodes, ErrorCategory, getErrorMessage, getCategory, } from './error-codes';
9
+ export { ErrorCategory, getErrorMessage, getCategory, } from './error-codes';
10
10
  export type { ErrorCategoryType, } from './error-codes';
11
- export { LytError as NewLytError, createCompilerError, createRendererError, createComponentError, } from './lyt-error';
11
+ export { createCompilerError, createRendererError, createComponentError, } from './lyt-error';
12
12
  export type { SourceLocation, } from './lyt-error';
13
13
  export { warn as warnUtil, warnOnce as warnOnceUtil, getDevMode, resetWarnedMessages, } from './error-handling';
14
14
  //# sourceMappingURL=error-entry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"error-entry.d.ts","sourceRoot":"","sources":["../../src/error-entry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,QAAQ,EACR,aAAa,EACb,aAAa,EACb,WAAW,EACX,qBAAqB,EACrB,IAAI,EACJ,QAAQ,EACR,UAAU,EACV,aAAa,GACd,MAAM,kBAAkB,CAAA;AAEzB,YAAY,EACV,oBAAoB,GACrB,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EACL,aAAa,IAAI,gBAAgB,EACjC,aAAa,EACb,eAAe,EACf,WAAW,GACZ,MAAM,eAAe,CAAA;AAEtB,YAAY,EACV,iBAAiB,GAClB,MAAM,eAAe,CAAA;AAEtB,OAAO,EACL,QAAQ,IAAI,WAAW,EACvB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,aAAa,CAAA;AAEpB,YAAY,EACV,cAAc,GACf,MAAM,aAAa,CAAA;AAEpB,OAAO,EACL,IAAI,IAAI,QAAQ,EAChB,QAAQ,IAAI,YAAY,EACxB,UAAU,EACV,mBAAmB,GACpB,MAAM,kBAAkB,CAAA"}
1
+ {"version":3,"file":"error-entry.d.ts","sourceRoot":"","sources":["../../src/error-entry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,QAAQ,EACR,aAAa,EACb,aAAa,EACb,WAAW,EACX,qBAAqB,EACrB,0BAA0B,EAC1B,IAAI,EACJ,QAAQ,EACR,UAAU,EACV,aAAa,GACd,MAAM,kBAAkB,CAAA;AAEzB,YAAY,EACV,oBAAoB,GACrB,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EACL,aAAa,EACb,eAAe,EACf,WAAW,GACZ,MAAM,eAAe,CAAA;AAEtB,YAAY,EACV,iBAAiB,GAClB,MAAM,eAAe,CAAA;AAEtB,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,aAAa,CAAA;AAEpB,YAAY,EACV,cAAc,GACf,MAAM,aAAa,CAAA;AAEpB,OAAO,EACL,IAAI,IAAI,QAAQ,EAChB,QAAQ,IAAI,YAAY,EACxB,UAAU,EACV,mBAAmB,GACpB,MAAM,kBAAkB,CAAA"}
@@ -3,6 +3,16 @@
3
3
  *
4
4
  * 纯原生零依赖 TypeScript 实现。
5
5
  * 提供统一的错误码、错误类、错误边界、警告系统和友好提示。
6
+ *
7
+ * 错误码和 LytError 类统一使用 @lytjs/common 中的定义。
8
+ */
9
+ import { LytError } from '@lytjs/common';
10
+ export { LytError };
11
+ /**
12
+ * 兼容性 LytErrorCodes 枚举
13
+ *
14
+ * 提供旧版简短命名(NOT_FOUND, OPERATION_FAILED 等),
15
+ * 同时也包含新版 LYT_* 前缀命名。
6
16
  */
7
17
  export declare enum LytErrorCodes {
8
18
  INVALID_ARGUMENT = 1001,
@@ -27,11 +37,73 @@ export declare enum LytErrorCodes {
27
37
  NAVIGATION_ABORTED = 6003,
28
38
  NAVIGATION_FAILED = 6004,
29
39
  STORE_NOT_FOUND = 7001,
30
- STORE_DUPLICATE = 7002
40
+ STORE_DUPLICATE = 7002,
41
+ LYT_COMPILER_PARSE_ERROR = 1001,
42
+ LYT_COMPILER_INVALID_EXPRESSION = 1002,
43
+ LYT_COMPILER_INVALID_TEMPLATE = 1003,
44
+ LYT_COMPILER_INVALID_DIRECTIVE = 1004,
45
+ LYT_COMPILER_CODEGEN_ERROR = 1005,
46
+ LYT_COMPILER_SFC_PARSE_ERROR = 1006,
47
+ LYT_COMPILER_TRANSFORM_ERROR = 1007,
48
+ LYT_RENDERER_MOUNT_FAILED = 2001,
49
+ LYT_RENDERER_PATCH_FAILED = 2002,
50
+ LYT_RENDERER_HYDRATION_MISMATCH = 2003,
51
+ LYT_RENDERER_INVALID_VNODE = 2004,
52
+ LYT_RENDERER_UNMOUNT_FAILED = 2005,
53
+ LYT_COMPONENT_INVALID_PROPS = 3001,
54
+ LYT_COMPONENT_MISSING_RENDER = 3002,
55
+ LYT_COMPONENT_LIFECYCLE_ERROR = 3003,
56
+ LYT_COMPONENT_INVALID = 3004,
57
+ LYT_COMPONENT_EMIT_INVALID = 3005,
58
+ LYT_COMPONENT_RENDER_ERROR = 3006,
59
+ LYT_ROUTER_INVALID_ROUTE = 4001,
60
+ LYT_ROUTER_NAVIGATION_FAILED = 4002,
61
+ LYT_ROUTER_DUPLICATE_ROUTE = 4003,
62
+ LYT_ROUTER_NAVIGATION_ABORTED = 4004,
63
+ LYT_ROUTER_GUARD_ERROR = 4005,
64
+ LYT_STORE_ALREADY_EXISTS = 5001,
65
+ LYT_STORE_NOT_FOUND = 5002,
66
+ LYT_STORE_DISPOSED = 5003,
67
+ LYT_STORE_PATCH_ERROR = 5004,
68
+ LYT_REACTIVITY_READONLY_SET = 6001,
69
+ LYT_REACTIVITY_READONLY_DELETE = 6002,
70
+ LYT_REACTIVITY_EFFECT_ERROR = 6003,
71
+ LYT_REACTIVITY_COMPUTED_CYCLE = 6004,
72
+ LYT_REACTIVITY_EFFECT_DISPOSED = 6005,
73
+ LYT_REACTIVITY_CIRCULAR_DEPENDENCY = 6006,
74
+ LYT_REACTIVITY_SIGNAL_DISPOSED = 6007,
75
+ LYT_CORE_PLUGIN_ERROR = 7001,
76
+ LYT_CORE_MOUNT_NO_CONTAINER = 7002,
77
+ LYT_CORE_ALREADY_MOUNTED = 7003,
78
+ LYT_CORE_INVALID_ARGUMENT = 7004,
79
+ LYT_CORE_NOT_FOUND = 7005,
80
+ LYT_CORE_ALREADY_EXISTS = 7006,
81
+ LYT_CORE_OPERATION_FAILED = 7007,
82
+ LYT_CLI_SCAFFOLD_FAILED = 8001,
83
+ LYT_CLI_BUILD_FAILED = 8002,
84
+ LYT_CLI_DEV_SERVER_ERROR = 8003,
85
+ LYT_CLI_CONFIG_INVALID = 8004,
86
+ LYT_CLI_HMR_CONNECTION_FAILED = 8005,
87
+ LYT_DEVTOOLS_CONNECTION_FAILED = 9001,
88
+ LYT_DEVTOOLS_PANEL_ERROR = 9002,
89
+ LYT_DEVTOOLS_PERF_OVERFLOW = 9003,
90
+ LYT_DEVTOOLS_COMPONENT_TREE_ERROR = 9004,
91
+ LYT_PLUGIN_INSTALL_FAILED = 10001,
92
+ LYT_PLUGIN_ALREADY_INSTALLED = 10002,
93
+ LYT_PLUGIN_INVALID = 10003,
94
+ LYT_PLUGIN_UNINSTALL_FAILED = 10004,
95
+ LYT_RENDERER_VAPOR_ERROR = 11001,
96
+ LYT_RENDERER_VAPOR_COMPILER_ERROR = 11002,
97
+ LYT_RENDERER_VAPOR_COMPONENT_ERROR = 11003,
98
+ LYT_SSR_STREAM_ERROR = 11101,
99
+ LYT_SSR_SUSPENSE_TIMEOUT = 11102,
100
+ LYT_SSR_HYDRATION_ERROR = 11103,
101
+ LYT_SSR_ISLAND_ERROR = 11104
31
102
  }
32
103
  /**
33
- * 扩展错误码常量,使用简短命名覆盖所有模块。
34
- * 与 LytErrorCodes 枚举互补,提供更细粒度的错误分类。
104
+ * 扩展错误码常量
105
+ *
106
+ * 使用简短编号范围(1xx-7xx),用于内部模块。
35
107
  */
36
108
  export declare const ErrorCodes: {
37
109
  readonly APP_MOUNT_FAILED: 100;
@@ -60,29 +132,28 @@ export declare const ErrorCodes: {
60
132
  readonly STORE_DISPOSED: 701;
61
133
  readonly STORE_PATCH_ERROR: 702;
62
134
  };
63
- /** ErrorCodes 的值类型 */
64
- export type ErrorCode = (typeof ErrorCodes)[keyof typeof ErrorCodes];
65
- export declare class LytError extends Error {
66
- code: LytErrorCodes;
67
- details?: any;
68
- constructor(code: LytErrorCodes, message: string, details?: any);
69
- }
70
135
  /**
71
- * 快速创建 LytError 实例的工厂函数
136
+ * 创建 LytError 实例的工厂函数
72
137
  *
73
- * @param code LytErrorCodes 枚举值
74
- * @param message 错误消息
75
- * @param details 附加详情(可选)
138
+ * @param code 错误码
139
+ * @param message 自定义消息
140
+ * @param details 附加详情
76
141
  * @returns LytError 实例
77
142
  */
78
- export declare function createLytError(code: LytErrorCodes, message: string, details?: any): LytError;
143
+ export declare function createLytError(code: number, message: string, details?: any): LytError;
144
+ /** 组件实例接口(最小化) */
145
+ interface ComponentInstance {
146
+ $options?: Record<string, unknown>;
147
+ $parent?: ComponentInstance | null;
148
+ [key: string]: unknown;
149
+ }
79
150
  export interface ErrorBoundaryOptions {
80
- onError?: (error: LytError, vm: any) => void;
81
- onErrorCaptured?: (error: LytError, vm: any, info: string) => boolean | void;
151
+ onError?: (error: LytError, vm: ComponentInstance) => void;
152
+ onErrorCaptured?: (error: LytError, vm: ComponentInstance, info: string) => boolean | void;
82
153
  /** 最大错误记录数,超过后自动丢弃最早的错误,默认 100 */
83
154
  maxErrors?: number;
84
155
  /** 降级 UI 回调,当捕获到错误时调用,返回降级内容 */
85
- fallback?: (error: Error, vm: any, info: string) => any;
156
+ fallback?: (error: Error, vm: ComponentInstance, info: string) => unknown;
86
157
  }
87
158
  export declare class ErrorBoundary {
88
159
  private errors;
@@ -90,23 +161,23 @@ export declare class ErrorBoundary {
90
161
  /** 是否处于错误状态 */
91
162
  private _hasError;
92
163
  /** 全局错误处理器 */
93
- static globalHandler: ((error: Error, vm: any, info: string) => void) | null;
164
+ static globalHandler: ((error: Error, vm: ComponentInstance, info: string) => void) | null;
94
165
  constructor(options?: ErrorBoundaryOptions);
95
166
  /** 是否处于错误状态 */
96
167
  get hasError(): boolean;
97
168
  /**
98
169
  * 设置全局错误处理器
99
170
  */
100
- static setGlobalHandler(handler: (error: Error, vm: any, info: string) => void): void;
171
+ static setGlobalHandler(handler: (error: Error, vm: ComponentInstance, info: string) => void): void;
101
172
  /**
102
173
  * 捕获错误
103
174
  */
104
- capture(error: Error, vm: any, info?: string): void;
175
+ capture(error: Error, vm: ComponentInstance, info?: string): void;
105
176
  /**
106
177
  * 获取降级 UI 内容
107
178
  * 当配置了 fallback 回调时,使用最后捕获的错误生成降级内容
108
179
  */
109
- getFallback(vm?: any): any;
180
+ getFallback(vm?: ComponentInstance): unknown;
110
181
  /**
111
182
  * 获取所有错误
112
183
  */
@@ -162,7 +233,7 @@ export declare function error(msg: string): void;
162
233
  * 根据错误码生成友好的中文提示信息
163
234
  *
164
235
  * @param code 错误码
165
- * @param args 提示模板的参数
236
+ * @param args 提示模板的参数(可选)
166
237
  * @returns 格式化的提示字符串
167
238
  */
168
239
  export declare function createMessage(code: LytErrorCodes, ...args: any[]): string;
@@ -182,4 +253,12 @@ export declare function handleError(err: Error, vm?: any, info?: string): void;
182
253
  * @returns 函数返回值,出错时返回 undefined
183
254
  */
184
255
  export declare function callWithErrorHandling<T>(fn: () => T, instance?: any): T | undefined;
256
+ /**
257
+ * 安全执行异步函数,捕获错误并交给 handleError 处理
258
+ *
259
+ * @param fn 要执行的异步函数
260
+ * @param instance 组件实例(可选)
261
+ * @returns Promise,出错时 resolve undefined
262
+ */
263
+ export declare function callWithErrorHandlingAsync<T>(fn: () => Promise<T>, instance?: any): Promise<T | undefined>;
185
264
  //# sourceMappingURL=error-handling.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"error-handling.d.ts","sourceRoot":"","sources":["../../src/error-handling.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"error-handling.d.ts","sourceRoot":"","sources":["../../src/error-handling.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,QAAQ,EAAsE,MAAM,eAAe,CAAA;AAG5G,OAAO,EAAE,QAAQ,EAAE,CAAA;AAMnB;;;;;GAKG;AACH,oBAAY,aAAa;IAEvB,gBAAgB,OAAO;IACvB,SAAS,OAAO;IAChB,cAAc,OAAO;IACrB,gBAAgB,OAAO;IAGvB,iBAAiB,OAAO;IACxB,wBAAwB,OAAO;IAC/B,cAAc,OAAO;IAGrB,WAAW,OAAO;IAClB,kBAAkB,OAAO;IACzB,iBAAiB,OAAO;IACxB,gBAAgB,OAAO;IAGvB,YAAY,OAAO;IACnB,kBAAkB,OAAO;IACzB,aAAa,OAAO;IAGpB,uBAAuB,OAAO;IAC9B,0BAA0B,OAAO;IACjC,yBAAyB,OAAO;IAGhC,eAAe,OAAO;IACtB,eAAe,OAAO;IACtB,kBAAkB,OAAO;IACzB,iBAAiB,OAAO;IAGxB,eAAe,OAAO;IACtB,eAAe,OAAO;IAGtB,wBAAwB,OAA+C;IACvE,+BAA+B,OAAsD;IACrF,6BAA6B,OAAoD;IACjF,8BAA8B,OAAqD;IACnF,0BAA0B,OAAiD;IAC3E,4BAA4B,OAAmD;IAC/E,4BAA4B,OAAmD;IAC/E,yBAAyB,OAAgD;IACzE,yBAAyB,OAAgD;IACzE,+BAA+B,OAAsD;IACrF,0BAA0B,OAAiD;IAC3E,2BAA2B,OAAkD;IAC7E,2BAA2B,OAAkD;IAC7E,4BAA4B,OAAmD;IAC/E,6BAA6B,OAAoD;IACjF,qBAAqB,OAA4C;IACjE,0BAA0B,OAAiD;IAC3E,0BAA0B,OAAiD;IAC3E,wBAAwB,OAA+C;IACvE,4BAA4B,OAAmD;IAC/E,0BAA0B,OAAiD;IAC3E,6BAA6B,OAAoD;IACjF,sBAAsB,OAA6C;IACnE,wBAAwB,OAA+C;IACvE,mBAAmB,OAA0C;IAC7D,kBAAkB,OAAyC;IAC3D,qBAAqB,OAA4C;IACjE,2BAA2B,OAAkD;IAC7E,8BAA8B,OAAqD;IACnF,2BAA2B,OAAkD;IAC7E,6BAA6B,OAAoD;IACjF,8BAA8B,OAAqD;IACnF,kCAAkC,OAAyD;IAC3F,8BAA8B,OAAqD;IACnF,qBAAqB,OAA4C;IACjE,2BAA2B,OAAkD;IAC7E,wBAAwB,OAA+C;IACvE,yBAAyB,OAAgD;IACzE,kBAAkB,OAAyC;IAC3D,uBAAuB,OAA8C;IACrE,yBAAyB,OAAgD;IACzE,uBAAuB,OAA8C;IACrE,oBAAoB,OAA2C;IAC/D,wBAAwB,OAA+C;IACvE,sBAAsB,OAA6C;IACnE,6BAA6B,OAAoD;IACjF,8BAA8B,OAAqD;IACnF,wBAAwB,OAA+C;IACvE,0BAA0B,OAAiD;IAC3E,iCAAiC,OAAwD;IACzF,yBAAyB,QAAgD;IACzE,4BAA4B,QAAmD;IAC/E,kBAAkB,QAAyC;IAC3D,2BAA2B,QAAkD;IAC7E,wBAAwB,QAA+C;IACvE,iCAAiC,QAAwD;IACzF,kCAAkC,QAAyD;IAC3F,oBAAoB,QAA2C;IAC/D,wBAAwB,QAA+C;IACvE,uBAAuB,QAA8C;IACrE,oBAAoB,QAA2C;CAChE;AAMD;;;;GAIG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;CAuCb,CAAA;AAMV;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,QAAQ,CAErF;AAMD,kBAAkB;AAClB,UAAU,iBAAiB;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAClC,OAAO,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAA;IAClC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,iBAAiB,KAAK,IAAI,CAAA;IAC1D,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,GAAG,IAAI,CAAA;IAC1F,kCAAkC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gCAAgC;IAChC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAA;CAC1E;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAiF;IAC/F,OAAO,CAAC,OAAO,CAAsB;IACrC,eAAe;IACf,OAAO,CAAC,SAAS,CAAS;IAE1B,cAAc;IACd,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,CAAO;gBAErF,OAAO,CAAC,EAAE,oBAAoB;IAM1C,eAAe;IACf,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAInG;;OAEG;IACH,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,iBAAiB,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAoCjE;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,EAAE,iBAAiB,GAAG,OAAO;IAM5C;;OAEG;IACH,SAAS,IAAI,KAAK,CAAC;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,EAAE,EAAE,GAAG,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAI9E;;OAEG;IACH,aAAa,IAAI,MAAM;IAIvB;;OAEG;IACH,aAAa,IAAI;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,EAAE,EAAE,GAAG,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAKlF;;OAEG;IACH,KAAK,IAAI,IAAI;CAId;AAWD;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAE9C;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,OAAO,CAEpC;AAED;;GAEG;AACH,wBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAMtC;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAQ1C;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAKvC;AAMD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,CAGzE;AAMD;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CA4BrE;AAMD;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,EAAE,GAAG,GAAG,CAAC,GAAG,SAAS,CAOnF;AAED;;;;;;GAMG;AACH,wBAAsB,0BAA0B,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAOhH"}
package/dist/types/h.d.ts CHANGED
@@ -11,6 +11,8 @@
11
11
  *
12
12
  * 纯原生零依赖实现。
13
13
  */
14
+ import { Fragment } from '@lytjs/vdom';
15
+ export { Fragment };
14
16
  /** VNode 形状标记(位标记) */
15
17
  export declare const enum ShapeFlags {
16
18
  /** 普通 HTML/SVG 元素 */
@@ -51,8 +53,6 @@ export interface VNode {
51
53
  export type Children = string | number | VNode | Children[];
52
54
  /** h 函数的 props 参数类型 */
53
55
  export type Props = Record<string, any> | null;
54
- /** Fragment 标记 Symbol */
55
- export declare const Fragment: unique symbol;
56
56
  /**
57
57
  * 渲染函数 h()
58
58
  *
@@ -1 +1 @@
1
- {"version":3,"file":"h.d.ts","sourceRoot":"","sources":["../../src/h.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAQH,sBAAsB;AACtB,0BAAkB,UAAU;IAC1B,qBAAqB;IACrB,OAAO,IAAI;IACX,YAAY;IACZ,oBAAoB,IAAI;IACxB,YAAY;IACZ,kBAAkB,IAAI;IACtB,cAAc;IACd,aAAa,IAAI;IACjB,aAAa;IACb,cAAc,KAAK;IACnB,aAAa;IACb,cAAc,KAAK;CACpB;AAED,sBAAsB;AACtB,MAAM,WAAW,KAAK;IACpB,kCAAkC;IAClC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAC/B,WAAW;IACX,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAClC,UAAU;IACV,QAAQ,EAAE,MAAM,GAAG,KAAK,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IACxD,aAAa;IACb,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC5B,qBAAqB;IACrB,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,KAAK,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,GAAG,IAAI,CAAC;IACnD,WAAW;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,qBAAqB;IACrB,EAAE,EAAE,GAAG,CAAC;IACR,cAAc;IACd,SAAS,EAAE,GAAG,CAAC;CAChB;AAED,0BAA0B;AAC1B,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,EAAE,CAAC;AAE5D,uBAAuB;AACvB,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;AAM/C,yBAAyB;AACzB,eAAO,MAAM,QAAQ,eAAqB,CAAC;AA+H3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,wBAAgB,CAAC,CACf,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAC9B,KAAK,CAAC,EAAE,KAAK,EACb,QAAQ,CAAC,EAAE,QAAQ,GAClB,KAAK,CAEP"}
1
+ {"version":3,"file":"h.d.ts","sourceRoot":"","sources":["../../src/h.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC,OAAO,EAAE,QAAQ,EAAE,CAAC;AAMpB,sBAAsB;AACtB,0BAAkB,UAAU;IAC1B,qBAAqB;IACrB,OAAO,IAAI;IACX,YAAY;IACZ,oBAAoB,IAAI;IACxB,YAAY;IACZ,kBAAkB,IAAI;IACtB,cAAc;IACd,aAAa,IAAI;IACjB,aAAa;IACb,cAAc,KAAK;IACnB,aAAa;IACb,cAAc,KAAK;CACpB;AAED,sBAAsB;AACtB,MAAM,WAAW,KAAK;IACpB,kCAAkC;IAClC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAC/B,WAAW;IACX,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAClC,UAAU;IACV,QAAQ,EAAE,MAAM,GAAG,KAAK,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IACxD,aAAa;IACb,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC5B,qBAAqB;IACrB,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,KAAK,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,GAAG,IAAI,CAAC;IACnD,WAAW;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,qBAAqB;IACrB,EAAE,EAAE,GAAG,CAAC;IACR,cAAc;IACd,SAAS,EAAE,GAAG,CAAC;CAChB;AAED,0BAA0B;AAC1B,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,EAAE,CAAC;AAE5D,uBAAuB;AACvB,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;AAmI/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,wBAAgB,CAAC,CACf,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAC9B,KAAK,CAAC,EAAE,KAAK,EACb,QAAQ,CAAC,EAAE,QAAQ,GAClB,KAAK,CAEP"}
@@ -1,32 +1,8 @@
1
1
  /**
2
2
  * Lyt.js 警告与错误输出工具
3
3
  *
4
- * 提供 warn、warnOnce、error 等工具函数。
5
- * 开发模式下输出详细信息,生产模式下静默。
6
- * 纯原生零依赖 TypeScript 实现。
4
+ * 已移至 @lytjs/common
5
+ * 保持向后兼容性 - 重新导出自 @lytjs/common
7
6
  */
8
- /**
9
- * 设置开发/生产模式
10
- */
11
- export declare function setDevMode(mode: boolean): void;
12
- /**
13
- * 获取当前是否为开发模式
14
- */
15
- export declare function getDevMode(): boolean;
16
- /**
17
- * 仅开发模式输出警告
18
- */
19
- export declare function warn(msg: string): void;
20
- /**
21
- * 每条消息只警告一次
22
- */
23
- export declare function warnOnce(msg: string): void;
24
- /**
25
- * 始终输出错误信息(不受开发/生产模式限制)
26
- */
27
- export declare function error(msg: string): void;
28
- /**
29
- * 重置已警告消息集合(仅用于测试)
30
- */
31
- export declare function resetWarnedMessages(): void;
7
+ export { warn, warnOnce, setDevMode, getDevMode, error, resetWarnedMessages, } from '@lytjs/common';
32
8
  //# sourceMappingURL=warn.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"warn.d.ts","sourceRoot":"","sources":["../../src/warn.ts"],"names":[],"mappings":"AACA;;;;;;GAMG;AAQH;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAE9C;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,OAAO,CAEpC;AASD;;GAEG;AACH,wBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAGtC;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAK1C;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAEvC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C"}
1
+ {"version":3,"file":"warn.d.ts","sourceRoot":"","sources":["../../src/warn.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,IAAI,EACJ,QAAQ,EACR,UAAU,EACV,UAAU,EACV,KAAK,EACL,mBAAmB,GACpB,MAAM,eAAe,CAAA"}
@@ -4,6 +4,6 @@
4
4
  * 按需导入 Web Component API:
5
5
  * import { defineCustomElement, registerComponents } from '@lytjs/core/web-component'
6
6
  */
7
- export { defineCustomElement, registerComponents, unregisterElement, isBrowser, defineCustomElementFromSFC, } from './web-component';
7
+ export { defineCustomElement, registerComponents, unregisterElement, isBrowser, defineCustomElementFromSFC, propsToAttributes, attributesToProps, eventsToCustomEvents, injectStyles, scopedCSS, generateScopeId, } from './web-component';
8
8
  export type { CustomElementOptions, ComponentRegistration, } from './web-component';
9
9
  //# sourceMappingURL=web-component-entry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"web-component-entry.d.ts","sourceRoot":"","sources":["../../src/web-component-entry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,SAAS,EACT,0BAA0B,GAC3B,MAAM,iBAAiB,CAAA;AAExB,YAAY,EACV,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,iBAAiB,CAAA"}
1
+ {"version":3,"file":"web-component-entry.d.ts","sourceRoot":"","sources":["../../src/web-component-entry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,SAAS,EACT,0BAA0B,EAC1B,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,YAAY,EACZ,SAAS,EACT,eAAe,GAChB,MAAM,iBAAiB,CAAA;AAExB,YAAY,EACV,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,iBAAiB,CAAA"}
@@ -124,4 +124,128 @@ export declare function unregisterElement(tagName: string): void;
124
124
  * ```
125
125
  */
126
126
  export declare function defineCustomElementFromSFC(tagName: string, sfcSource: string, options?: CustomElementOptions): Promise<void>;
127
+ /**
128
+ * 将 Props 定义转换为 observedAttributes 列表
129
+ *
130
+ * 自动将 camelCase prop 名转换为 kebab-case attribute 名,
131
+ * 用于 Custom Element 的 static get observedAttributes()。
132
+ *
133
+ * @param props - Props 定义对象
134
+ * @param exclude - 需要排除的 prop 名列表
135
+ * @returns kebab-case attribute 名数组
136
+ *
137
+ * @example
138
+ * ```ts
139
+ * const props = {
140
+ * initialCount: { type: Number, default: 0 },
141
+ * theme: { type: String, default: 'light' },
142
+ * isVisible: { type: Boolean },
143
+ * }
144
+ *
145
+ * const attrs = propsToAttributes(props)
146
+ * // ['initial-count', 'theme', 'is-visible']
147
+ * ```
148
+ */
149
+ export declare function propsToAttributes(props: Record<string, unknown>, exclude?: string[]): string[];
150
+ /**
151
+ * 将 HTML attributes 转换为组件 Props
152
+ *
153
+ * 从 DOM 元素上读取 attribute 值,进行类型推断和转换,
154
+ * 生成可直接传递给组件的 props 对象。
155
+ *
156
+ * @param attributes - NamedNodeMap(element.attributes)
157
+ * @param propMappings - 属性名映射(attribute name -> prop name)
158
+ * @param converters - 自定义属性值转换器
159
+ * @returns Props 对象
160
+ *
161
+ * @example
162
+ * ```ts
163
+ * const el = document.querySelector('lyt-counter')
164
+ * const props = attributesToProps(el.attributes, {
165
+ * 'initial-count': 'initialCount',
166
+ * })
167
+ * // { initialCount: 10, theme: 'dark' }
168
+ * ```
169
+ */
170
+ export declare function attributesToProps(attributes: NamedNodeMap, propMappings?: Record<string, string>, converters?: Record<string, (value: string) => any>): Record<string, unknown>;
171
+ /**
172
+ * 将 emits 定义转换为 Custom Event 配置
173
+ *
174
+ * 生成事件名映射和事件选项,用于 Custom Element 的事件转发。
175
+ *
176
+ * @param emits - emits 定义(数组或对象)
177
+ * @returns 事件配置映射
178
+ *
179
+ * @example
180
+ * ```ts
181
+ * const events = eventsToCustomEvents(['click', 'change', 'update:modelValue'])
182
+ * // {
183
+ * // click: { name: 'click', options: { bubbles: true, composed: true } },
184
+ * // change: { name: 'change', options: { bubbles: true, composed: true } },
185
+ * // 'update:modelValue': { name: 'update:modelValue', options: { bubbles: true, composed: true } },
186
+ * // }
187
+ * ```
188
+ */
189
+ export declare function eventsToCustomEvents(emits: string[] | Record<string, unknown>): Record<string, {
190
+ name: string;
191
+ options: {
192
+ bubbles: boolean;
193
+ composed: boolean;
194
+ cancelable: boolean;
195
+ detail?: any;
196
+ };
197
+ }>;
198
+ /**
199
+ * 注入样式到 Shadow DOM
200
+ *
201
+ * 创建 <style> 元素并添加到 Shadow Root 中。
202
+ * 支持追加模式和替换模式。
203
+ *
204
+ * @param styles - CSS 样式字符串
205
+ * @param shadowRoot - Shadow Root 引用
206
+ * @param options - 注入选项
207
+ *
208
+ * @example
209
+ * ```ts
210
+ * injectStyles(':host { display: block; }', element.shadowRoot)
211
+ * injectStyles('.new-style { color: red; }', element.shadowRoot, { append: true })
212
+ * ```
213
+ */
214
+ export declare function injectStyles(styles: string, shadowRoot: ShadowRoot, options?: {
215
+ append?: boolean;
216
+ id?: string;
217
+ }): HTMLStyleElement | null;
218
+ /**
219
+ * 添加 scoped 标识到 CSS
220
+ *
221
+ * 为所有选择器添加 scopeId 属性选择器前缀,
222
+ * 实现类似 Vue scoped CSS 的效果。
223
+ *
224
+ * @param css - 原始 CSS 字符串
225
+ * @param scopeId - scope 标识符(不含方括号)
226
+ * @returns 添加了 scoped 标识的 CSS
227
+ *
228
+ * @example
229
+ * ```ts
230
+ * const scoped = scopedCSS(
231
+ * '.container { color: red; } .container .title { font-size: 16px; }',
232
+ * 'data-v-abc123'
233
+ * )
234
+ * // '.container[data-v-abc123] { color: red; } .container[data-v-abc123] .title[data-v-abc123] { font-size: 16px; }'
235
+ * ```
236
+ */
237
+ export declare function scopedCSS(css: string, scopeId: string): string;
238
+ /**
239
+ * 生成唯一的 scope ID
240
+ *
241
+ * @param prefix - 前缀(默认 'data-v')
242
+ * @returns scope ID 字符串
243
+ *
244
+ * @example
245
+ * ```ts
246
+ * const scopeId = generateScopeId()
247
+ * // 'data-v-a1b2c3d4'
248
+ * ```
249
+ */
250
+ export declare function generateScopeId(prefix?: string): string;
127
251
  //# sourceMappingURL=web-component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"web-component.d.ts","sourceRoot":"","sources":["../../src/web-component.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAiB,KAAK,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAM9D;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,oDAAoD;IACpD,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC7B,8BAA8B;IAC9B,UAAU,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAA;IAC9B,+BAA+B;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,kCAAkC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACrC,uCAAuC;IACvC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACtC,yBAAyB;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,GAAG,CAAC,CAAA;CAC7D;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAA;IACf,kBAAkB;IAClB,SAAS,EAAE,gBAAgB,CAAA;IAC3B,wBAAwB;IACxB,OAAO,CAAC,EAAE,oBAAoB,CAAA;CAC/B;AAMD;;GAEG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAOnC;AAmpBD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,gBAAgB,EAClC,OAAO,CAAC,EAAE,oBAAoB,GAC7B,IAAI,CAsBN;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,qBAAqB,EAAE,GAClC,IAAI,CAIN;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAgBvD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,IAAI,CAAC,CA4Df"}
1
+ {"version":3,"file":"web-component.d.ts","sourceRoot":"","sources":["../../src/web-component.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- var S=Object.defineProperty;var J=Object.getOwnPropertyDescriptor;var G=Object.getOwnPropertyNames;var Q=Object.prototype.hasOwnProperty;var F=(e,t)=>{for(var n in t)S(e,n,{get:t[n],enumerable:!0})},k=(e,t,n,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let c of G(t))!Q.call(e,c)&&c!==n&&S(e,c,{get:()=>t[c],enumerable:!(a=J(t,c))||a.enumerable});return e},R=(e,t,n)=>(k(e,t,"default"),n&&k(n,t,"default"));var ee=e=>k(S({},"__esModule",{value:!0}),e);var de={};F(de,{defineCustomElement:()=>j,defineCustomElementFromSFC:()=>Y,isBrowser:()=>I,registerComponents:()=>K,unregisterElement:()=>X});module.exports=ee(de);var E={};F(E,{Fragment:()=>M,ShapeFlags:()=>V,createApp:()=>z,h:()=>_});var A=require("@lytjs/common"),V=(f=>(f[f.ELEMENT=1]="ELEMENT",f[f.FUNCTIONAL_COMPONENT=2]="FUNCTIONAL_COMPONENT",f[f.STATEFUL_COMPONENT=4]="STATEFUL_COMPONENT",f[f.TEXT_CHILDREN=8]="TEXT_CHILDREN",f[f.ARRAY_CHILDREN=16]="ARRAY_CHILDREN",f[f.SLOTS_CHILDREN=32]="SLOTS_CHILDREN",f))(V||{}),M=Symbol("Fragment");function te(e,t){if(t!=null)if((0,A.isStringOrNumber)(t))e.children=String(t),e.shapeFlag|=8;else if((0,A.isArray)(t)){let n=[];for(let a=0;a<t.length;a++){let c=t[a];if(!(c==null||typeof c=="boolean"))if((0,A.isArray)(c))for(let m=0;m<c.length;m++){let f=c[m];f!=null&&typeof f!="boolean"&&n.push((0,A.isVNode)(f)?f:w(String(f)))}else(0,A.isVNode)(c)?n.push(c):n.push(w(String(c)))}e.children=n,e.shapeFlag|=16}else typeof t=="object"&&(e.children=t,e.shapeFlag|=32)}function w(e,t=null,n=null){var y,h;let a=0;typeof e=="string"?a=1:e===M?a=0:typeof e=="function"?a=2:typeof e=="object"&&e!==null&&(e.setup||e.__vccOpts||e.render)&&(a=4);let c=(y=t==null?void 0:t.key)!=null?y:null,m=(h=t==null?void 0:t.ref)!=null?h:null,f=t;if(t){let{key:b,ref:o,...i}=t;f=i}let g={type:e,props:f,children:null,key:c,ref:m,shapeFlag:a,el:null,component:null};return n!=null&&te(g,n),g}function _(e,t,n){return w(e,t||null,n||null)}var T=require("@lytjs/common");function D(e){return Object.create(e||null)}function H(e){return e!==null&&typeof e=="object"&&typeof e.install=="function"}function B(e){return typeof e=="function"}function U(e,t,...n){if(H(t)){let a=t.onBeforeInstall?t.onBeforeInstall(e,...n):void 0;if((0,T.isPromise)(a))return a.then(()=>{let c=t.install(e,...n);if((0,T.isPromise)(c))return c.then(()=>{if(t.onInstalled)return t.onInstalled(e,...n)});if(t.onInstalled)return t.onInstalled(e,...n)});{let c=t.install(e,...n);if((0,T.isPromise)(c))return c.then(()=>{if(t.onInstalled)return t.onInstalled(e,...n)});if(t.onInstalled)return t.onInstalled(e,...n)}}else if(B(t))return t(e,...n)}function $(e,t){if(H(t)){if(typeof t.uninstall=="function")return t.uninstall(e)}else B(t)}var x=require("@lytjs/reactivity"),W=require("@lytjs/compiler"),v=require("@lytjs/component"),q=require("@lytjs/renderer"),ne=100,P=new Map;function oe(e){let t=P.get(e);if(t)return P.delete(e),P.set(e,t),t;let{code:n}=(0,W.compile)(e);if(t=new Function("h","_ctx",`return ${n}`),P.size>=ne){let a=P.keys().next().value;a!==void 0&&P.delete(a)}return P.set(e,t),t}function re(e){let t={...e};if(e.state&&typeof e.state!="function"){let n=e.state;t.state=()=>({...n})}if(typeof e.render=="function"){let n=e.render;t.render=(a,c)=>n(a)}if(e.computed){let n={};for(let a of Object.keys(e.computed)){let c=e.computed[a];typeof c=="function"?n[a]={get:c}:n[a]=c}t.computed=n}if(typeof e.init=="function"){let n=e.init;t.init=function(a,c){return n.call(this,a)}}return t}function ie(){return{createElement(e){return document.createElement(e)},createText(e){return document.createTextNode(e)},createComment(e){return document.createComment(e)},setAttribute(e,t,n){e.setAttribute(t,String(n))},removeAttribute(e,t){e.removeAttribute(t)},setStyle(e,t){if(typeof t=="string")e.style.cssText=t;else if(t&&typeof t=="object")for(let n in t)e.style[n]=t[n]},setClass(e,t){if(typeof t=="string")e.className=t;else if(t&&typeof t=="object"){let n=[];for(let[a,c]of Object.entries(t))c&&n.push(a);e.className=n.join(" ")}else e.className=""},insert(e,t,n){n!=null?e.insertBefore(t,n):e.appendChild(t)},remove(e){e.parentNode&&e.parentNode.removeChild(e)},replace(e,t,n){e.replaceChild(n,t)},addEventListener(e,t,n,a){e.addEventListener(t,n,a)},removeEventListener(e,t,n){e.removeEventListener(t,n)},nextTick(e){Promise.resolve().then(e)},parentNode(e){return e.parentNode},nextSibling(e){return e.nextSibling},querySelector(e){return document.querySelector(e)}}}function z(e,t){let n=new Set,a={},c={},m=D(),f={},g={},y=null,h=null,b=null,o=null,i=!1,r=re(typeof e=="function"?{render:e}:e),u=(0,v.defineComponent)(r),s={config:f,globalProperties:g,get _instance(){return y},mount(d){if(i)return s;let p;if(typeof d=="string"){if(p=document.querySelector(d),!p)throw new Error(`[Lyt] \u627E\u4E0D\u5230\u6302\u8F7D\u76EE\u6807: "${d}"`)}else p=d;o=p;let C=ie();h=(0,q.createRenderer)(C),y=(0,v.createComponentInstance)(u),(0,v.setupComponent)(y,t||{},null);let N=y.type;if(!N.render&&N.template){let L=oe(N.template);N.render=(O,Z)=>L(O,Z.renderProxy)}return(0,v.mountComponent)(y,_),y.subTree&&h.mount(y.subTree,p),b=(0,x.effect)(()=>{if(!(!y||!y.isMounted||!h)&&((0,v.updateComponent)(y,_),y.subTree&&o)){let L=o.firstChild,O=y.subTree;o.innerHTML="",h.mount(O,o)}},{lazy:!0}),i=!0,s},unmount(){i&&(b&&((0,x.stop)(b),b=null),y&&(0,v.unmountComponent)(y),o&&(o.innerHTML=""),y=null,h=null,o=null,i=!1)},use(d,...p){if(n.has(d))return s;n.add(d);let C=U({use:s.use.bind(s),unuse:s.unuse.bind(s),isInstalled:s.isInstalled.bind(s),provide:s.provide.bind(s),inject:s.inject.bind(s),config:f,globalProperties:g},d,...p);return C instanceof Promise?C.then(()=>s):s},unuse(d){if(!n.has(d))return s;n.delete(d);let p=$({use:s.use.bind(s),unuse:s.unuse.bind(s),isInstalled:s.isInstalled.bind(s),provide:s.provide.bind(s),inject:s.inject.bind(s),config:f,globalProperties:g},d);return p instanceof Promise?p.then(()=>s):s},isInstalled(d){return n.has(d)},provide(d,p){return m[d]=p,s},inject(d,p){let C=m[d];return C!==void 0?C:p},component(d,p){return p?(a[d]=p,s):a[d]},directive(d,p){return p?(c[d]=p,s):c[d]}};return s}R(E,require("@lytjs/common"));function I(){return typeof globalThis.window!="undefined"&&typeof globalThis.document!="undefined"&&typeof globalThis.HTMLElement!="undefined"&&typeof globalThis.customElements!="undefined"}function se(e){return e.replace(/-([a-z])/g,(t,n)=>n.toUpperCase())}function ae(e){if(e===""||e==="true")return!0;if(e==="false")return!1;if(e==="null")return null;if(e==="undefined")return;let t=Number(e);if(!isNaN(t)&&e.trim()!=="")return t;if(e.startsWith("{")&&e.endsWith("}")||e.startsWith("[")&&e.endsWith("]"))try{return JSON.parse(e)}catch(n){}return e}function le(e,t){return t&&t[e]?t[e]:se(e)}function ce(e){let t=[],n=e;if(n.emits&&(Array.isArray(n.emits)?t.push(...n.emits):typeof n.emits=="object"&&t.push(...Object.keys(n.emits))),n.methods){for(let a of Object.keys(n.methods))if(a.startsWith("on")&&a.length>2){let c=a.charAt(2).toLowerCase()+a.slice(3);t.push(c)}}return t}function ue(e,t={}){let{shadowMode:n="open",styles:a="",propMappings:c,eventMappings:m={},attributeConverters:f={}}=t,g=t.observedAttributes||[],y=ce(e);return class extends HTMLElement{constructor(){super();this._shadowRoot=null;this._instance=null;this._props={};this._container=null;this._connected=!1;this._eventCleanups=[];this._effectCleanup=null;this._updateScheduled=!1}static get observedAttributes(){return g}connectedCallback(){if(!this._connected){if(this._connected=!0,this._shadowRoot=this.attachShadow({mode:n}),a){let o=document.createElement("style");o.textContent=a,this._shadowRoot.appendChild(o)}this._container=document.createElement("div"),this._shadowRoot.appendChild(this._container),this._syncAttributesToProps(),this._mountComponent(),this._forwardSlots()}}disconnectedCallback(){if(this._connected){this._connected=!1;for(let o of this._eventCleanups)o();this._eventCleanups=[],this._effectCleanup&&(this._effectCleanup(),this._effectCleanup=null),this._instance=null,this._container&&(this._container.innerHTML="")}}attributeChangedCallback(o,i,l){i!==l&&this._connected&&(this._syncAttributesToProps(),this._updateComponent())}_syncAttributesToProps(){let o={};for(let i of g)if(this.hasAttribute(i)){let l=this.getAttribute(i),r=le(i,c);f[i]?o[r]=f[i](l):o[r]=ae(l)}if(e.props){for(let[i,l]of Object.entries(e.props))if(o[i]===void 0){let r=l;r&&typeof r=="object"&&"default"in r?o[i]=typeof r.default=="function"?r.default():r.default:r==null}}this._props=o}_mountComponent(){let o=e.render?e.render:e.template?this._compileTemplate(e.template):null;if(!o)return;let i=this._createComponentContext(),l=o.call(i,_,i);l&&this._container&&this._renderVNode(l,this._container),this._setupReactiveUpdates(i,o)}_compileTemplate(o){try{let i=Function("return require")(),{compile:l}=i("../../compiler/src/index.ts"),{code:r}=l(o);return new Function("h","_ctx",`return ${r}`)}catch(i){return null}}_createComponentContext(){let o=e.state?typeof e.state=="function"?e.state():{...e.state}:{},i=e.computed||{},l=e.methods||{},r={...this._props,...o};for(let[u,s]of Object.entries(i))typeof s=="function"?Object.defineProperty(r,u,{get:s.bind(r),enumerable:!0}):s&&typeof s=="object"&&"get"in s&&Object.defineProperty(r,u,{get:s.get.bind(r),enumerable:!0});for(let[u,s]of Object.entries(l))typeof s=="function"&&(r[u]=s.bind(r));return r.emit=(u,...s)=>{let d=m[u]||u,p=new CustomEvent(d,{detail:s.length===1?s[0]:s,bubbles:!0,composed:!0});this.dispatchEvent(p)},r.$el=this._container,r.$attrs={...this._props},r.$slots=this._getSlotContent(),r}_setupReactiveUpdates(o,i){try{let l=Function("return require")(),{effect:r,stop:u}=l("../../reactivity/src/index.ts"),s=r(()=>{if(!this._connected||!this._container)return;let p=i.call(o,_,o);p&&(this._container.innerHTML="",this._renderVNode(p,this._container))},{lazy:!0}),d=e.state?typeof e.state=="function"?Object.keys(e.state()):Object.keys(e.state):[];for(let p of d){let C=o[p];Object.defineProperty(o,p,{get(){return C},set(N){C=N;try{s()}catch(L){}},enumerable:!0})}this._effectCleanup=()=>{try{u(s)}catch(p){}}}catch(l){let r=e.state?typeof e.state=="function"?Object.keys(e.state()):Object.keys(e.state):[];for(let u of r){let d=o[u],p=this;Object.defineProperty(o,u,{get(){return d},set(C){d=C,p._scheduleUpdate(o,i)},enumerable:!0})}}}_scheduleUpdate(o,i){this._updateScheduled||(this._updateScheduled=!0,Promise.resolve().then(()=>{if(this._updateScheduled=!1,!this._connected||!this._container)return;let l=i.call(o,_,o);l&&(this._container.innerHTML="",this._renderVNode(l,this._container))}))}_updateComponent(){if(!this._container)return;let o=e.render?e.render:e.template?this._compileTemplate(e.template):null;if(!o)return;let i=this._createComponentContext(),l=o.call(i,_,i);this._container.innerHTML="",l&&this._renderVNode(l,this._container)}_renderVNode(o,i){let l=this._vNodeToElement(o);l&&i.appendChild(l)}_vNodeToElement(o){if(!o)return null;if(typeof o.type=="symbol"){let i=document.createDocumentFragment();if(Array.isArray(o.children))for(let l of o.children){let r=this._vNodeToElement(l);r&&i.appendChild(r)}return i}if(typeof o.children=="string")return document.createTextNode(o.children);if(typeof o.type=="string"){let i=document.createElement(o.type);if(o.props)for(let[l,r]of Object.entries(o.props))if(l==="style"&&typeof r=="object")for(let[u,s]of Object.entries(r))i.style[u]=s;else if(l==="class"){if(typeof r=="string")i.className=r;else if(typeof r=="object"){let u=[];for(let[s,d]of Object.entries(r))d&&u.push(s);i.className=u.join(" ")}}else if(l.startsWith("on")&&typeof r=="function"){let u=l.slice(2).toLowerCase();i.addEventListener(u,r),this._eventCleanups.push(()=>{i.removeEventListener(u,r)})}else l==="ref"&&typeof r=="function"?r(i):i.setAttribute(l,String(r));if(Array.isArray(o.children))for(let l of o.children){let r=this._vNodeToElement(l);r&&i.appendChild(r)}else typeof o.children=="string"&&(i.textContent=o.children);return i}return typeof o.type=="object"||typeof o.type=="function"?o.component?this._vNodeToElement(o.component.subTree||o):document.createComment("component"):null}_forwardSlots(){if(!this._shadowRoot||!this._container)return;let o=this.querySelectorAll("[slot]");for(let l of o){let r=l.getAttribute("slot")||"default",u=document.createElement("slot");r!=="default"&&u.setAttribute("name",r),this._container.appendChild(u)}let i=document.createElement("slot");this._container.appendChild(i)}_getSlotContent(){var r;let o={},i=this.querySelectorAll("[slot]");for(let u of i){let s=u.getAttribute("slot")||"default";o[s]||(o[s]=[]),o[s].push(u.cloneNode(!0))}let l=[];for(let u of Array.from(this.childNodes))(r=u.hasAttribute)!=null&&r.call(u,"slot")||l.push(u.cloneNode(!0));return l.length>0&&(o.default=l),o}get _lytInstance(){return this._instance}get _lytProps(){return{...this._props}}}}function j(e,t,n){if(!e.includes("-"))throw new Error(`[Lyt Web Component] \u6807\u7B7E\u540D "${e}" \u5FC5\u987B\u5305\u542B\u8FDE\u5B57\u7B26 (-)\u3002\u8FD9\u662F Custom Element \u89C4\u8303\u7684\u8981\u6C42\u3002`);if(!I())return;let a=ue(t,n);customElements.define(e,a)}function K(e){for(let{tagName:t,component:n,options:a}of e)j(t,n,a)}function X(e){if(I())try{let t=customElements;t.__unregister&&t.__unregister(e)}catch(t){}}async function Y(e,t,n){let a=t.match(/<template>([\s\S]*?)<\/template>/),c=t.match(/<script[^>]*>([\s\S]*?)<\/script>/),m=/<style[^>]*>([\s\S]*?)<\/style>/g,f=[],g;for(;(g=m.exec(t))!==null;)f.push(g);let y=(n==null?void 0:n.styles)||"";for(let i of f)y+=i[1]+`
2
- `;let h=a?a[1].trim():void 0,b={};if(c){let i=c[1].trim();if(i.match(/export\s+default\s*(\{[\s\S]*\}|\([\s\S]*\)[\s\S]*?\))/))try{let r={},u={exports:r};new Function("module","exports",`"use strict"; ${i.replace(/export\s+default\s*/,"module.exports =")}`)(u,r),b=u.exports||r}catch(r){}}let o={...n,styles:y};h&&!b.template&&!b.render&&(b.template=h),j(e,b,o)}
1
+ "use strict";var se=Object.create;var T=Object.defineProperty;var le=Object.getOwnPropertyDescriptor;var ae=Object.getOwnPropertyNames;var ce=Object.getPrototypeOf,ue=Object.prototype.hasOwnProperty;var M=(e,t)=>{for(var n in t)T(e,n,{get:t[n],enumerable:!0})},w=(e,t,n,l)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of ae(t))!ue.call(e,a)&&a!==n&&T(e,a,{get:()=>t[a],enumerable:!(l=le(t,a))||l.enumerable});return e},x=(e,t,n)=>(w(e,t,"default"),n&&w(n,t,"default")),F=(e,t,n)=>(n=e!=null?se(ce(e)):{},w(t||!e||!e.__esModule?T(n,"default",{value:e,enumerable:!0}):n,e)),de=e=>w(T({},"__esModule",{value:!0}),e);var _e={};M(_e,{attributesToProps:()=>ee,defineCustomElement:()=>S,defineCustomElementFromSFC:()=>G,eventsToCustomEvents:()=>te,generateScopeId:()=>re,injectStyles:()=>ne,isBrowser:()=>O,propsToAttributes:()=>Q,registerComponents:()=>Z,scopedCSS:()=>oe,unregisterElement:()=>J});module.exports=de(_e);var N={};M(N,{Fragment:()=>j.Fragment,ShapeFlags:()=>D,createApp:()=>K,h:()=>_});var E=require("@lytjs/common"),j=require("@lytjs/vdom");var D=(u=>(u[u.ELEMENT=1]="ELEMENT",u[u.FUNCTIONAL_COMPONENT=2]="FUNCTIONAL_COMPONENT",u[u.STATEFUL_COMPONENT=4]="STATEFUL_COMPONENT",u[u.TEXT_CHILDREN=8]="TEXT_CHILDREN",u[u.ARRAY_CHILDREN=16]="ARRAY_CHILDREN",u[u.SLOTS_CHILDREN=32]="SLOTS_CHILDREN",u))(D||{});function pe(e,t){if(t!=null)if((0,E.isStringOrNumber)(t))e.children=String(t),e.shapeFlag|=8;else if((0,E.isArray)(t)){let n=[];for(let l=0;l<t.length;l++){let a=t[l];if(!(a==null||typeof a=="boolean"))if((0,E.isArray)(a))for(let y=0;y<a.length;y++){let u=a[y];u!=null&&typeof u!="boolean"&&n.push((0,E.isVNode)(u)?u:V(String(u)))}else(0,E.isVNode)(a)?n.push(a):n.push(V(String(a)))}e.children=n,e.shapeFlag|=16}else typeof t=="object"&&(e.children=t,e.shapeFlag|=32)}function V(e,t=null,n=null){var p,h;let l=0;typeof e=="string"?l=1:e===j.Fragment?l=0:typeof e=="function"?l=2:typeof e=="object"&&e!==null&&(e.setup||e.__vccOpts||e.render)&&(l=4);let a=(p=t==null?void 0:t.key)!=null?p:null,y=(h=t==null?void 0:t.ref)!=null?h:null,u=t;if(t){let{key:b,ref:o,...r}=t;u=r}let g={type:e,props:u,children:null,key:a,ref:y,shapeFlag:l,el:null,component:null};return n!=null&&pe(g,n),g}function _(e,t,n){return V(e,t||null,n||null)}var I=require("@lytjs/common");function H(e){return Object.create(e||null)}function B(e){return e!==null&&typeof e=="object"&&typeof e.install=="function"}function W(e){return typeof e=="function"}function U(e,t,...n){if(B(t)){let l=t.onBeforeInstall?t.onBeforeInstall(e,...n):void 0;if((0,I.isPromise)(l))return l.then(()=>{let a=t.install(e,...n);if((0,I.isPromise)(a))return a.then(()=>{if(t.onInstalled)return t.onInstalled(e,...n)});if(t.onInstalled)return t.onInstalled(e,...n)});{let a=t.install(e,...n);if((0,I.isPromise)(a))return a.then(()=>{if(t.onInstalled)return t.onInstalled(e,...n)});if(t.onInstalled)return t.onInstalled(e,...n)}}else if(W(t))return t(e,...n)}function $(e,t){if(B(t)){if(typeof t.uninstall=="function")return t.uninstall(e)}else W(t)}var L=require("@lytjs/reactivity"),z=require("@lytjs/compiler"),v=require("@lytjs/component"),q=require("@lytjs/renderer"),fe=100,P=new Map;function me(e){let t=P.get(e);if(t)return P.delete(e),P.set(e,t),t;let{code:n}=(0,z.compile)(e);if(t=new Function("h","_ctx",`return ${n}`),P.size>=fe){let l=P.keys().next().value;l!==void 0&&P.delete(l)}return P.set(e,t),t}function ye(e){let t={...e};if(e.state&&typeof e.state!="function"){let n=e.state;t.state=()=>({...n})}if(typeof e.render=="function"){let n=e.render;t.render=(l,a)=>n(l)}if(e.computed){let n={};for(let l of Object.keys(e.computed)){let a=e.computed[l];typeof a=="function"?n[l]={get:a}:n[l]=a}t.computed=n}if(typeof e.init=="function"){let n=e.init;t.init=function(l,a){return n.call(this,l)}}return t}function ge(){return{createElement(e){return document.createElement(e)},createText(e){return document.createTextNode(e)},createComment(e){return document.createComment(e)},setAttribute(e,t,n){e.setAttribute(t,String(n))},removeAttribute(e,t){e.removeAttribute(t)},setStyle(e,t){if(typeof t=="string")e.style.cssText=t;else if(t&&typeof t=="object")for(let n in t)e.style[n]=t[n]},setClass(e,t){if(typeof t=="string")e.className=t;else if(t&&typeof t=="object"){let n=[];for(let[l,a]of Object.entries(t))a&&n.push(l);e.className=n.join(" ")}else e.className=""},insert(e,t,n){n!=null?e.insertBefore(t,n):e.appendChild(t)},remove(e){e.parentNode&&e.parentNode.removeChild(e)},replace(e,t,n){e.replaceChild(n,t)},addEventListener(e,t,n,l){e.addEventListener(t,n,l)},removeEventListener(e,t,n){e.removeEventListener(t,n)},nextTick(e){Promise.resolve().then(e)},parentNode(e){return e.parentNode},nextSibling(e){return e.nextSibling},querySelector(e){return document.querySelector(e)}}}function K(e,t){let n=new Set,l={},a={},y=H(),u={},g={},p=null,h=null,b=null,o=null,r=!1,i=ye(typeof e=="function"?{render:e}:e),d=(0,v.defineComponent)(i),s={config:u,globalProperties:g,get _instance(){return p},mount(f){if(r)return s;let m;if(typeof f=="string"){let A=document.querySelector(f);if(!A)throw new Error(`[Lyt] \u6302\u8F7D\u76EE\u6807 "${f}" \u672A\u627E\u5230`);m=A}else m=f;o=m;let C=ge();h=(0,q.createRenderer)(C),p=(0,v.createComponentInstance)(d),(0,v.setupComponent)(p,t||{},null);let k=p.type;if(!k.render&&k.template){let A=me(k.template);k.render=(R,ie)=>A(R,ie.renderProxy)}return(0,v.mountComponent)(p,_),p.subTree&&h.mount(p.subTree,m),b=(0,L.effect)(()=>{if(!(!p||!p.isMounted||!h)&&((0,v.updateComponent)(p,_),p.subTree&&o)){let A=o.firstChild,R=p.subTree;for(;o.firstChild;)o.removeChild(o.firstChild);h.mount(R,o)}},{lazy:!0}),r=!0,s},unmount(){if(r){if(b&&((0,L.stop)(b),b=null),p&&(0,v.unmountComponent)(p),o)for(;o.firstChild;)o.removeChild(o.firstChild);p=null,h=null,o=null,r=!1}},use(f,...m){if(n.has(f))return s;n.add(f);let C=U({use:s.use.bind(s),unuse:s.unuse.bind(s),isInstalled:s.isInstalled.bind(s),provide:s.provide.bind(s),inject:s.inject.bind(s),config:u,globalProperties:g},f,...m);return C instanceof Promise?C.then(()=>s):s},unuse(f){if(!n.has(f))return s;n.delete(f);let m=$({use:s.use.bind(s),unuse:s.unuse.bind(s),isInstalled:s.isInstalled.bind(s),provide:s.provide.bind(s),inject:s.inject.bind(s),config:u,globalProperties:g},f);return m instanceof Promise?m.then(()=>s):s},isInstalled(f){return n.has(f)},provide(f,m){return y[f]=m,s},inject(f,m){let C=y[f];return C!==void 0?C:m},component(f,m){return m?(l[f]=m,s):l[f]},directive(f,m){return m?(a[f]=m,s):a[f]}};return s}x(N,require("@lytjs/common"));function O(){return typeof globalThis.window!="undefined"&&typeof globalThis.document!="undefined"&&typeof globalThis.HTMLElement!="undefined"&&typeof globalThis.customElements!="undefined"}function X(e){return e.replace(/-([a-z])/g,(t,n)=>n.toUpperCase())}function he(e){return e.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`)}function Y(e){if(e===""||e==="true")return!0;if(e==="false")return!1;if(e==="null")return null;if(e==="undefined")return;let t=Number(e);if(!isNaN(t)&&e.trim()!=="")return t;if(e.startsWith("{")&&e.endsWith("}")||e.startsWith("[")&&e.endsWith("]"))try{return JSON.parse(e)}catch(n){}return e}function be(e,t){return t&&t[e]?t[e]:X(e)}function Ce(e){let t=[],n=e;if(n.emits&&(Array.isArray(n.emits)?t.push(...n.emits):typeof n.emits=="object"&&t.push(...Object.keys(n.emits))),n.methods){for(let l of Object.keys(n.methods))if(l.startsWith("on")&&l.length>2){let a=l.charAt(2).toLowerCase()+l.slice(3);t.push(a)}}return t}function ve(e,t={}){let{shadowMode:n="open",styles:l="",propMappings:a,eventMappings:y={},attributeConverters:u={}}=t,g=t.observedAttributes||[],p=Ce(e);return class extends HTMLElement{constructor(){super();this._shadowRoot=null;this._instance=null;this._props={};this._container=null;this._connected=!1;this._eventCleanups=[];this._effectCleanup=null;this._originalDescriptors=new Map;this._compiledTemplate=null;this._updateScheduled=!1}static get observedAttributes(){return g}connectedCallback(){if(!this._connected){if(this._connected=!0,this._shadowRoot=this.attachShadow({mode:n}),l){let o=document.createElement("style");o.textContent=l,this._shadowRoot.appendChild(o)}this._container=document.createElement("div"),this._shadowRoot.appendChild(this._container),this._syncAttributesToProps(),this._mountComponent(),this._forwardSlots()}}disconnectedCallback(){if(this._connected){this._connected=!1;for(let o of this._eventCleanups)o();this._eventCleanups=[],this._effectCleanup&&(this._effectCleanup(),this._effectCleanup=null),this._originalDescriptors.clear(),this._compiledTemplate=null,this._instance=null,this._container&&(this._container.innerHTML="")}}attributeChangedCallback(o,r,c){r!==c&&this._connected&&(this._syncAttributesToProps(),this._updateComponent())}_syncAttributesToProps(){let o={};for(let r of g)if(this.hasAttribute(r)){let c=this.getAttribute(r),i=be(r,a);u[r]?o[i]=u[r](c):o[i]=Y(c)}if(e.props){for(let[r,c]of Object.entries(e.props))if(o[r]===void 0){let i=c;i&&typeof i=="object"&&"default"in i?o[r]=typeof i.default=="function"?i.default():i.default:i==null}}this._props=o}async _mountComponent(){let o=e.render?e.render:e.template?await this._compileTemplate(e.template):null;if(!o)return;let r=this._createComponentContext(),c=o?o.call(r,_,r):null;c&&this._container&&this._renderVNode(c,this._container),this._setupReactiveUpdates(r,o)}async _compileTemplate(o){try{let r=await import("@lytjs/compiler"),{compile:c}=r,{code:i}=c(o);return new Function("h","_ctx",`return ${i}`)}catch(r){return null}}_createComponentContext(){let o=e.state?typeof e.state=="function"?e.state():{...e.state}:{},r=e.computed||{},c=e.methods||{},i={...this._props,...o};for(let[d,s]of Object.entries(r))typeof s=="function"?Object.defineProperty(i,d,{get:s.bind(i),enumerable:!0}):s&&typeof s=="object"&&"get"in s&&Object.defineProperty(i,d,{get:s.get.bind(i),enumerable:!0});for(let[d,s]of Object.entries(c))typeof s=="function"&&(i[d]=s.bind(i));return i.emit=(d,...s)=>{let f=y[d]||d,m=new CustomEvent(f,{detail:s.length===1?s[0]:s,bubbles:!0,composed:!0});this.dispatchEvent(m)},i.$el=this._container,i.$attrs={...this._props},i.$slots=this._getSlotContent(),i}_setupReactiveUpdates(o,r){try{import("@lytjs/reactivity").then(c=>{let{effect:i,stop:d}=c,s=i(()=>{if(!this._connected||!this._container||!r)return;let m=r.call(o,_,o);m&&(this._container.innerHTML="",this._renderVNode(m,this._container))},{lazy:!0}),f=e.state?typeof e.state=="function"?Object.keys(e.state()):Object.keys(e.state):[];for(let m of f){let C=o[m],k=Object.getOwnPropertyDescriptor(o,m);this._originalDescriptors.set(m,k),Object.defineProperty(o,m,{get(){return C},set(A){C=A;try{s()}catch(R){}},enumerable:!0})}this._effectCleanup=()=>{try{d(s)}catch(m){}}}).catch(()=>{this._setupReactiveUpdatesFallback(o,r)})}catch(c){this._setupReactiveUpdatesFallback(o,r)}}_setupReactiveUpdatesFallback(o,r){let c=e.state?typeof e.state=="function"?Object.keys(e.state()):Object.keys(e.state):[];for(let i of c){let s=o[i],f=Object.getOwnPropertyDescriptor(o,i);this._originalDescriptors.set(i,f);let m=this;Object.defineProperty(o,i,{get(){return s},set(C){s=C,m._scheduleUpdate(o,r)},enumerable:!0})}}_scheduleUpdate(o,r){this._updateScheduled||(this._updateScheduled=!0,Promise.resolve().then(()=>{if(this._updateScheduled=!1,!this._connected||!this._container||!r)return;let c=r.call(o,_,o);c&&(this._container.innerHTML="",this._renderVNode(c,this._container))}))}async _updateComponent(){if(!this._container)return;let o=e.render||null;if(!o&&e.template&&(this._compiledTemplate&&this._compiledTemplate.template===e.template?o=this._compiledTemplate.render:(o=await this._compileTemplate(e.template),o&&(this._compiledTemplate={template:e.template,render:o}))),!o)return;let r=this._createComponentContext(),c=o?o.call(r,_,r):null;this._container.innerHTML="",c&&this._renderVNode(c,this._container)}_renderVNode(o,r){let c=this._vNodeToElement(o);c&&r.appendChild(c)}_vNodeToElement(o){if(!o)return null;if(typeof o.type=="symbol"){let r=document.createDocumentFragment();if(Array.isArray(o.children))for(let c of o.children){let i=this._vNodeToElement(c);i&&r.appendChild(i)}return r}if(typeof o.children=="string")return document.createTextNode(o.children);if(typeof o.type=="string"){let r=document.createElement(o.type);if(o.props)for(let[c,i]of Object.entries(o.props))if(c==="style"&&typeof i=="object")for(let[d,s]of Object.entries(i))r.style[d]=s;else if(c==="class"){if(typeof i=="string")r.className=i;else if(typeof i=="object"){let d=[];for(let[s,f]of Object.entries(i))f&&d.push(s);r.className=d.join(" ")}}else if(c.startsWith("on")&&typeof i=="function"){let d=c.slice(2).toLowerCase();r.addEventListener(d,i),this._eventCleanups.push(()=>{r.removeEventListener(d,i)})}else c==="ref"&&typeof i=="function"?i(r):r.setAttribute(c,String(i));if(Array.isArray(o.children))for(let c of o.children){let i=this._vNodeToElement(c);i&&r.appendChild(i)}else typeof o.children=="string"&&(r.textContent=o.children);return r}return typeof o.type=="object"||typeof o.type=="function"?o.component?this._vNodeToElement(o.component.subTree||o):document.createComment("component"):null}_forwardSlots(){if(!this._shadowRoot||!this._container)return;let o=this.querySelectorAll("[slot]");for(let c of o){let i=c.getAttribute("slot")||"default",d=document.createElement("slot");i!=="default"&&d.setAttribute("name",i),this._container.appendChild(d)}let r=document.createElement("slot");this._container.appendChild(r)}_getSlotContent(){var i;let o={},r=this.querySelectorAll("[slot]");for(let d of r){let s=d.getAttribute("slot")||"default";o[s]||(o[s]=[]),o[s].push(d.cloneNode(!0))}let c=[];for(let d of Array.from(this.childNodes))(i=d.hasAttribute)!=null&&i.call(d,"slot")||c.push(d.cloneNode(!0));return c.length>0&&(o.default=c),o}get _lytInstance(){return this._instance}get _lytProps(){return{...this._props}}}}function S(e,t,n){if(!e.includes("-"))throw new Error(`[Lyt Web Component] \u6807\u7B7E\u540D "${e}" \u5FC5\u987B\u5305\u542B\u8FDE\u5B57\u7B26 (-)\u3002\u8FD9\u662F Custom Element \u89C4\u8303\u7684\u8981\u6C42\u3002`);if(!O())return;let l=ve(t,n);customElements.define(e,l)}function Z(e){for(let{tagName:t,component:n,options:l}of e)S(t,n,l)}function J(e){if(O())try{let t=customElements;t.__unregister&&t.__unregister(e)}catch(t){}}async function G(e,t,n){let l=t.match(/<template>([\s\S]*?)<\/template>/),a=t.match(/<script[^>]*>([\s\S]*?)<\/script>/),y=/<style[^>]*>([\s\S]*?)<\/style>/g,u=[],g;for(;(g=y.exec(t))!==null;)u.push(g);let p=(n==null?void 0:n.styles)||"";for(let r of u)p+=r[1]+`
2
+ `;let h=l?l[1].trim():void 0,b={};if(a){let r=a[1].trim();if(r.match(/export\s+default\s*(\{[\s\S]*\}|\([\s\S]*\)[\s\S]*?\))/))try{let i={},d={exports:i};new Function("module","exports",`"use strict"; ${r.replace(/export\s+default\s*/,"module.exports =")}`)(d,i),b=d.exports||i}catch(i){}}let o={...n,styles:p};h&&!b.template&&!b.render&&(b.template=h),S(e,b,o)}function Q(e,t=[]){return Object.keys(e).filter(n=>!t.includes(n)).map(he)}function ee(e,t,n){let l={};for(let a=0;a<e.length;a++){let y=e[a],u=y.name,g=y.value;if(u.startsWith("on"))continue;let p=(t==null?void 0:t[u])||X(u);n!=null&&n[u]?l[p]=n[u](g):l[p]=Y(g)}return l}function te(e){let t=Array.isArray(e)?e:Object.keys(e),n={};for(let l of t)n[l]={name:l,options:{bubbles:!0,composed:!0,cancelable:!0}};return n}function ne(e,t,n={}){if(!e||!t)return null;let{append:l=!1,id:a}=n;if(a){let u=t.getElementById(a);if(u)return u.textContent=e,u}let y=document.createElement("style");if(a&&(y.id=a),y.textContent=e,l)t.appendChild(y);else{let u=t.querySelector("div");u?t.insertBefore(y,u):t.insertBefore(y,t.firstChild)}return y}function oe(e,t){let n=`[${t}]`;return e.replace(/([^{}@/][^{}]*?)(\s*\{[^{}]*\})/g,(l,a,y)=>a.trim().startsWith("@")||a.includes(":host")?l:a.split(",").map(g=>{let p=g.trim();if(!p||p.startsWith("@"))return g;let h=p.indexOf("::"),b=h!==-1?p.slice(h):"",o=h!==-1?p.slice(0,h):p,r=o.indexOf(":"),c=r!==-1?o.slice(r):"",d=(r!==-1?o.slice(0,r):o).split(/\s+/).filter(Boolean),s=d[d.length-1];return s&&(d[d.length-1]=s+n),d.join(" ")+c+b}).join(", ")+y)}function re(e="data-v"){let t="abcdef0123456789",n="";for(let l=0;l<8;l++)n+=t[Math.floor(Math.random()*t.length)];return`${e}-${n}`}
@@ -1,2 +1,2 @@
1
- var S=Object.defineProperty;var W=Object.getOwnPropertyDescriptor;var q=Object.getOwnPropertyNames;var z=Object.prototype.hasOwnProperty;var K=(e,t)=>{for(var n in t)S(e,n,{get:t[n],enumerable:!0})},k=(e,t,n,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let c of q(t))!z.call(e,c)&&c!==n&&S(e,c,{get:()=>t[c],enumerable:!(a=W(t,c))||a.enumerable});return e},E=(e,t,n)=>(k(e,t,"default"),n&&k(n,t,"default"));var A={};K(A,{Fragment:()=>I,ShapeFlags:()=>x,createApp:()=>U,h:()=>v});import{isStringOrNumber as X,isArray as w,isVNode as V}from"@lytjs/common";var x=(f=>(f[f.ELEMENT=1]="ELEMENT",f[f.FUNCTIONAL_COMPONENT=2]="FUNCTIONAL_COMPONENT",f[f.STATEFUL_COMPONENT=4]="STATEFUL_COMPONENT",f[f.TEXT_CHILDREN=8]="TEXT_CHILDREN",f[f.ARRAY_CHILDREN=16]="ARRAY_CHILDREN",f[f.SLOTS_CHILDREN=32]="SLOTS_CHILDREN",f))(x||{}),I=Symbol("Fragment");function Y(e,t){if(t!=null)if(X(t))e.children=String(t),e.shapeFlag|=8;else if(w(t)){let n=[];for(let a=0;a<t.length;a++){let c=t[a];if(!(c==null||typeof c=="boolean"))if(w(c))for(let m=0;m<c.length;m++){let f=c[m];f!=null&&typeof f!="boolean"&&n.push(V(f)?f:T(String(f)))}else V(c)?n.push(c):n.push(T(String(c)))}e.children=n,e.shapeFlag|=16}else typeof t=="object"&&(e.children=t,e.shapeFlag|=32)}function T(e,t=null,n=null){var y,h;let a=0;typeof e=="string"?a=1:e===I?a=0:typeof e=="function"?a=2:typeof e=="object"&&e!==null&&(e.setup||e.__vccOpts||e.render)&&(a=4);let c=(y=t==null?void 0:t.key)!=null?y:null,m=(h=t==null?void 0:t.ref)!=null?h:null,f=t;if(t){let{key:b,ref:o,...i}=t;f=i}let g={type:e,props:f,children:null,key:c,ref:m,shapeFlag:a,el:null,component:null};return n!=null&&Y(g,n),g}function v(e,t,n){return T(e,t||null,n||null)}import{isPromise as j}from"@lytjs/common";function M(e){return Object.create(e||null)}function F(e){return e!==null&&typeof e=="object"&&typeof e.install=="function"}function D(e){return typeof e=="function"}function H(e,t,...n){if(F(t)){let a=t.onBeforeInstall?t.onBeforeInstall(e,...n):void 0;if(j(a))return a.then(()=>{let c=t.install(e,...n);if(j(c))return c.then(()=>{if(t.onInstalled)return t.onInstalled(e,...n)});if(t.onInstalled)return t.onInstalled(e,...n)});{let c=t.install(e,...n);if(j(c))return c.then(()=>{if(t.onInstalled)return t.onInstalled(e,...n)});if(t.onInstalled)return t.onInstalled(e,...n)}}else if(D(t))return t(e,...n)}function B(e,t){if(F(t)){if(typeof t.uninstall=="function")return t.uninstall(e)}else D(t)}import{effect as Z,stop as J}from"@lytjs/reactivity";import{compile as G}from"@lytjs/compiler";import{defineComponent as Q,createComponentInstance as ee,setupComponent as te,mountComponent as ne,updateComponent as oe,unmountComponent as re}from"@lytjs/component";import{createRenderer as ie}from"@lytjs/renderer";var se=100,_=new Map;function ae(e){let t=_.get(e);if(t)return _.delete(e),_.set(e,t),t;let{code:n}=G(e);if(t=new Function("h","_ctx",`return ${n}`),_.size>=se){let a=_.keys().next().value;a!==void 0&&_.delete(a)}return _.set(e,t),t}function le(e){let t={...e};if(e.state&&typeof e.state!="function"){let n=e.state;t.state=()=>({...n})}if(typeof e.render=="function"){let n=e.render;t.render=(a,c)=>n(a)}if(e.computed){let n={};for(let a of Object.keys(e.computed)){let c=e.computed[a];typeof c=="function"?n[a]={get:c}:n[a]=c}t.computed=n}if(typeof e.init=="function"){let n=e.init;t.init=function(a,c){return n.call(this,a)}}return t}function ce(){return{createElement(e){return document.createElement(e)},createText(e){return document.createTextNode(e)},createComment(e){return document.createComment(e)},setAttribute(e,t,n){e.setAttribute(t,String(n))},removeAttribute(e,t){e.removeAttribute(t)},setStyle(e,t){if(typeof t=="string")e.style.cssText=t;else if(t&&typeof t=="object")for(let n in t)e.style[n]=t[n]},setClass(e,t){if(typeof t=="string")e.className=t;else if(t&&typeof t=="object"){let n=[];for(let[a,c]of Object.entries(t))c&&n.push(a);e.className=n.join(" ")}else e.className=""},insert(e,t,n){n!=null?e.insertBefore(t,n):e.appendChild(t)},remove(e){e.parentNode&&e.parentNode.removeChild(e)},replace(e,t,n){e.replaceChild(n,t)},addEventListener(e,t,n,a){e.addEventListener(t,n,a)},removeEventListener(e,t,n){e.removeEventListener(t,n)},nextTick(e){Promise.resolve().then(e)},parentNode(e){return e.parentNode},nextSibling(e){return e.nextSibling},querySelector(e){return document.querySelector(e)}}}function U(e,t){let n=new Set,a={},c={},m=M(),f={},g={},y=null,h=null,b=null,o=null,i=!1,r=le(typeof e=="function"?{render:e}:e),u=Q(r),s={config:f,globalProperties:g,get _instance(){return y},mount(d){if(i)return s;let p;if(typeof d=="string"){if(p=document.querySelector(d),!p)throw new Error(`[Lyt] \u627E\u4E0D\u5230\u6302\u8F7D\u76EE\u6807: "${d}"`)}else p=d;o=p;let C=ce();h=ie(C),y=ee(u),te(y,t||{},null);let P=y.type;if(!P.render&&P.template){let N=ae(P.template);P.render=(R,$)=>N(R,$.renderProxy)}return ne(y,v),y.subTree&&h.mount(y.subTree,p),b=Z(()=>{if(!(!y||!y.isMounted||!h)&&(oe(y,v),y.subTree&&o)){let N=o.firstChild,R=y.subTree;o.innerHTML="",h.mount(R,o)}},{lazy:!0}),i=!0,s},unmount(){i&&(b&&(J(b),b=null),y&&re(y),o&&(o.innerHTML=""),y=null,h=null,o=null,i=!1)},use(d,...p){if(n.has(d))return s;n.add(d);let C=H({use:s.use.bind(s),unuse:s.unuse.bind(s),isInstalled:s.isInstalled.bind(s),provide:s.provide.bind(s),inject:s.inject.bind(s),config:f,globalProperties:g},d,...p);return C instanceof Promise?C.then(()=>s):s},unuse(d){if(!n.has(d))return s;n.delete(d);let p=B({use:s.use.bind(s),unuse:s.unuse.bind(s),isInstalled:s.isInstalled.bind(s),provide:s.provide.bind(s),inject:s.inject.bind(s),config:f,globalProperties:g},d);return p instanceof Promise?p.then(()=>s):s},isInstalled(d){return n.has(d)},provide(d,p){return m[d]=p,s},inject(d,p){let C=m[d];return C!==void 0?C:p},component(d,p){return p?(a[d]=p,s):a[d]},directive(d,p){return p?(c[d]=p,s):c[d]}};return s}E(A,Fe);import*as Fe from"@lytjs/common";function L(){return typeof globalThis.window!="undefined"&&typeof globalThis.document!="undefined"&&typeof globalThis.HTMLElement!="undefined"&&typeof globalThis.customElements!="undefined"}function ue(e){return e.replace(/-([a-z])/g,(t,n)=>n.toUpperCase())}function de(e){if(e===""||e==="true")return!0;if(e==="false")return!1;if(e==="null")return null;if(e==="undefined")return;let t=Number(e);if(!isNaN(t)&&e.trim()!=="")return t;if(e.startsWith("{")&&e.endsWith("}")||e.startsWith("[")&&e.endsWith("]"))try{return JSON.parse(e)}catch(n){}return e}function fe(e,t){return t&&t[e]?t[e]:ue(e)}function pe(e){let t=[],n=e;if(n.emits&&(Array.isArray(n.emits)?t.push(...n.emits):typeof n.emits=="object"&&t.push(...Object.keys(n.emits))),n.methods){for(let a of Object.keys(n.methods))if(a.startsWith("on")&&a.length>2){let c=a.charAt(2).toLowerCase()+a.slice(3);t.push(c)}}return t}function ye(e,t={}){let{shadowMode:n="open",styles:a="",propMappings:c,eventMappings:m={},attributeConverters:f={}}=t,g=t.observedAttributes||[],y=pe(e);return class extends HTMLElement{constructor(){super();this._shadowRoot=null;this._instance=null;this._props={};this._container=null;this._connected=!1;this._eventCleanups=[];this._effectCleanup=null;this._updateScheduled=!1}static get observedAttributes(){return g}connectedCallback(){if(!this._connected){if(this._connected=!0,this._shadowRoot=this.attachShadow({mode:n}),a){let o=document.createElement("style");o.textContent=a,this._shadowRoot.appendChild(o)}this._container=document.createElement("div"),this._shadowRoot.appendChild(this._container),this._syncAttributesToProps(),this._mountComponent(),this._forwardSlots()}}disconnectedCallback(){if(this._connected){this._connected=!1;for(let o of this._eventCleanups)o();this._eventCleanups=[],this._effectCleanup&&(this._effectCleanup(),this._effectCleanup=null),this._instance=null,this._container&&(this._container.innerHTML="")}}attributeChangedCallback(o,i,l){i!==l&&this._connected&&(this._syncAttributesToProps(),this._updateComponent())}_syncAttributesToProps(){let o={};for(let i of g)if(this.hasAttribute(i)){let l=this.getAttribute(i),r=fe(i,c);f[i]?o[r]=f[i](l):o[r]=de(l)}if(e.props){for(let[i,l]of Object.entries(e.props))if(o[i]===void 0){let r=l;r&&typeof r=="object"&&"default"in r?o[i]=typeof r.default=="function"?r.default():r.default:r==null}}this._props=o}_mountComponent(){let o=e.render?e.render:e.template?this._compileTemplate(e.template):null;if(!o)return;let i=this._createComponentContext(),l=o.call(i,v,i);l&&this._container&&this._renderVNode(l,this._container),this._setupReactiveUpdates(i,o)}_compileTemplate(o){try{let i=Function("return require")(),{compile:l}=i("../../compiler/src/index.ts"),{code:r}=l(o);return new Function("h","_ctx",`return ${r}`)}catch(i){return null}}_createComponentContext(){let o=e.state?typeof e.state=="function"?e.state():{...e.state}:{},i=e.computed||{},l=e.methods||{},r={...this._props,...o};for(let[u,s]of Object.entries(i))typeof s=="function"?Object.defineProperty(r,u,{get:s.bind(r),enumerable:!0}):s&&typeof s=="object"&&"get"in s&&Object.defineProperty(r,u,{get:s.get.bind(r),enumerable:!0});for(let[u,s]of Object.entries(l))typeof s=="function"&&(r[u]=s.bind(r));return r.emit=(u,...s)=>{let d=m[u]||u,p=new CustomEvent(d,{detail:s.length===1?s[0]:s,bubbles:!0,composed:!0});this.dispatchEvent(p)},r.$el=this._container,r.$attrs={...this._props},r.$slots=this._getSlotContent(),r}_setupReactiveUpdates(o,i){try{let l=Function("return require")(),{effect:r,stop:u}=l("../../reactivity/src/index.ts"),s=r(()=>{if(!this._connected||!this._container)return;let p=i.call(o,v,o);p&&(this._container.innerHTML="",this._renderVNode(p,this._container))},{lazy:!0}),d=e.state?typeof e.state=="function"?Object.keys(e.state()):Object.keys(e.state):[];for(let p of d){let C=o[p];Object.defineProperty(o,p,{get(){return C},set(P){C=P;try{s()}catch(N){}},enumerable:!0})}this._effectCleanup=()=>{try{u(s)}catch(p){}}}catch(l){let r=e.state?typeof e.state=="function"?Object.keys(e.state()):Object.keys(e.state):[];for(let u of r){let d=o[u],p=this;Object.defineProperty(o,u,{get(){return d},set(C){d=C,p._scheduleUpdate(o,i)},enumerable:!0})}}}_scheduleUpdate(o,i){this._updateScheduled||(this._updateScheduled=!0,Promise.resolve().then(()=>{if(this._updateScheduled=!1,!this._connected||!this._container)return;let l=i.call(o,v,o);l&&(this._container.innerHTML="",this._renderVNode(l,this._container))}))}_updateComponent(){if(!this._container)return;let o=e.render?e.render:e.template?this._compileTemplate(e.template):null;if(!o)return;let i=this._createComponentContext(),l=o.call(i,v,i);this._container.innerHTML="",l&&this._renderVNode(l,this._container)}_renderVNode(o,i){let l=this._vNodeToElement(o);l&&i.appendChild(l)}_vNodeToElement(o){if(!o)return null;if(typeof o.type=="symbol"){let i=document.createDocumentFragment();if(Array.isArray(o.children))for(let l of o.children){let r=this._vNodeToElement(l);r&&i.appendChild(r)}return i}if(typeof o.children=="string")return document.createTextNode(o.children);if(typeof o.type=="string"){let i=document.createElement(o.type);if(o.props)for(let[l,r]of Object.entries(o.props))if(l==="style"&&typeof r=="object")for(let[u,s]of Object.entries(r))i.style[u]=s;else if(l==="class"){if(typeof r=="string")i.className=r;else if(typeof r=="object"){let u=[];for(let[s,d]of Object.entries(r))d&&u.push(s);i.className=u.join(" ")}}else if(l.startsWith("on")&&typeof r=="function"){let u=l.slice(2).toLowerCase();i.addEventListener(u,r),this._eventCleanups.push(()=>{i.removeEventListener(u,r)})}else l==="ref"&&typeof r=="function"?r(i):i.setAttribute(l,String(r));if(Array.isArray(o.children))for(let l of o.children){let r=this._vNodeToElement(l);r&&i.appendChild(r)}else typeof o.children=="string"&&(i.textContent=o.children);return i}return typeof o.type=="object"||typeof o.type=="function"?o.component?this._vNodeToElement(o.component.subTree||o):document.createComment("component"):null}_forwardSlots(){if(!this._shadowRoot||!this._container)return;let o=this.querySelectorAll("[slot]");for(let l of o){let r=l.getAttribute("slot")||"default",u=document.createElement("slot");r!=="default"&&u.setAttribute("name",r),this._container.appendChild(u)}let i=document.createElement("slot");this._container.appendChild(i)}_getSlotContent(){var r;let o={},i=this.querySelectorAll("[slot]");for(let u of i){let s=u.getAttribute("slot")||"default";o[s]||(o[s]=[]),o[s].push(u.cloneNode(!0))}let l=[];for(let u of Array.from(this.childNodes))(r=u.hasAttribute)!=null&&r.call(u,"slot")||l.push(u.cloneNode(!0));return l.length>0&&(o.default=l),o}get _lytInstance(){return this._instance}get _lytProps(){return{...this._props}}}}function O(e,t,n){if(!e.includes("-"))throw new Error(`[Lyt Web Component] \u6807\u7B7E\u540D "${e}" \u5FC5\u987B\u5305\u542B\u8FDE\u5B57\u7B26 (-)\u3002\u8FD9\u662F Custom Element \u89C4\u8303\u7684\u8981\u6C42\u3002`);if(!L())return;let a=ye(t,n);customElements.define(e,a)}function me(e){for(let{tagName:t,component:n,options:a}of e)O(t,n,a)}function ge(e){if(L())try{let t=customElements;t.__unregister&&t.__unregister(e)}catch(t){}}async function he(e,t,n){let a=t.match(/<template>([\s\S]*?)<\/template>/),c=t.match(/<script[^>]*>([\s\S]*?)<\/script>/),m=/<style[^>]*>([\s\S]*?)<\/style>/g,f=[],g;for(;(g=m.exec(t))!==null;)f.push(g);let y=(n==null?void 0:n.styles)||"";for(let i of f)y+=i[1]+`
2
- `;let h=a?a[1].trim():void 0,b={};if(c){let i=c[1].trim();if(i.match(/export\s+default\s*(\{[\s\S]*\}|\([\s\S]*\)[\s\S]*?\))/))try{let r={},u={exports:r};new Function("module","exports",`"use strict"; ${i.replace(/export\s+default\s*/,"module.exports =")}`)(u,r),b=u.exports||r}catch(r){}}let o={...n,styles:y};h&&!b.template&&!b.render&&(b.template=h),O(e,b,o)}export{O as defineCustomElement,he as defineCustomElementFromSFC,L as isBrowser,me as registerComponents,ge as unregisterElement};
1
+ var O=Object.defineProperty;var q=Object.getOwnPropertyDescriptor;var K=Object.getOwnPropertyNames;var X=Object.prototype.hasOwnProperty;var Y=(e,t)=>{for(var n in t)O(e,n,{get:t[n],enumerable:!0})},L=(e,t,n,l)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of K(t))!X.call(e,a)&&a!==n&&O(e,a,{get:()=>t[a],enumerable:!(l=q(t,a))||l.enumerable});return e},N=(e,t,n)=>(L(e,t,"default"),n&&L(n,t,"default"));var A={};Y(A,{Fragment:()=>R,ShapeFlags:()=>w,createApp:()=>W,h:()=>v});import{isStringOrNumber as Z,isArray as S,isVNode as V}from"@lytjs/common";import{Fragment as R}from"@lytjs/vdom";var w=(u=>(u[u.ELEMENT=1]="ELEMENT",u[u.FUNCTIONAL_COMPONENT=2]="FUNCTIONAL_COMPONENT",u[u.STATEFUL_COMPONENT=4]="STATEFUL_COMPONENT",u[u.TEXT_CHILDREN=8]="TEXT_CHILDREN",u[u.ARRAY_CHILDREN=16]="ARRAY_CHILDREN",u[u.SLOTS_CHILDREN=32]="SLOTS_CHILDREN",u))(w||{});function J(e,t){if(t!=null)if(Z(t))e.children=String(t),e.shapeFlag|=8;else if(S(t)){let n=[];for(let l=0;l<t.length;l++){let a=t[l];if(!(a==null||typeof a=="boolean"))if(S(a))for(let y=0;y<a.length;y++){let u=a[y];u!=null&&typeof u!="boolean"&&n.push(V(u)?u:x(String(u)))}else V(a)?n.push(a):n.push(x(String(a)))}e.children=n,e.shapeFlag|=16}else typeof t=="object"&&(e.children=t,e.shapeFlag|=32)}function x(e,t=null,n=null){var p,h;let l=0;typeof e=="string"?l=1:e===R?l=0:typeof e=="function"?l=2:typeof e=="object"&&e!==null&&(e.setup||e.__vccOpts||e.render)&&(l=4);let a=(p=t==null?void 0:t.key)!=null?p:null,y=(h=t==null?void 0:t.ref)!=null?h:null,u=t;if(t){let{key:b,ref:o,...r}=t;u=r}let g={type:e,props:u,children:null,key:a,ref:y,shapeFlag:l,el:null,component:null};return n!=null&&J(g,n),g}function v(e,t,n){return x(e,t||null,n||null)}import{isPromise as T}from"@lytjs/common";function D(e){return Object.create(e||null)}function M(e){return e!==null&&typeof e=="object"&&typeof e.install=="function"}function F(e){return typeof e=="function"}function H(e,t,...n){if(M(t)){let l=t.onBeforeInstall?t.onBeforeInstall(e,...n):void 0;if(T(l))return l.then(()=>{let a=t.install(e,...n);if(T(a))return a.then(()=>{if(t.onInstalled)return t.onInstalled(e,...n)});if(t.onInstalled)return t.onInstalled(e,...n)});{let a=t.install(e,...n);if(T(a))return a.then(()=>{if(t.onInstalled)return t.onInstalled(e,...n)});if(t.onInstalled)return t.onInstalled(e,...n)}}else if(F(t))return t(e,...n)}function B(e,t){if(M(t)){if(typeof t.uninstall=="function")return t.uninstall(e)}else F(t)}import{effect as G,stop as Q}from"@lytjs/reactivity";import{compile as ee}from"@lytjs/compiler";import{defineComponent as te,createComponentInstance as ne,setupComponent as oe,mountComponent as re,updateComponent as ie,unmountComponent as se}from"@lytjs/component";import{createRenderer as le}from"@lytjs/renderer";var ae=100,E=new Map;function ce(e){let t=E.get(e);if(t)return E.delete(e),E.set(e,t),t;let{code:n}=ee(e);if(t=new Function("h","_ctx",`return ${n}`),E.size>=ae){let l=E.keys().next().value;l!==void 0&&E.delete(l)}return E.set(e,t),t}function ue(e){let t={...e};if(e.state&&typeof e.state!="function"){let n=e.state;t.state=()=>({...n})}if(typeof e.render=="function"){let n=e.render;t.render=(l,a)=>n(l)}if(e.computed){let n={};for(let l of Object.keys(e.computed)){let a=e.computed[l];typeof a=="function"?n[l]={get:a}:n[l]=a}t.computed=n}if(typeof e.init=="function"){let n=e.init;t.init=function(l,a){return n.call(this,l)}}return t}function de(){return{createElement(e){return document.createElement(e)},createText(e){return document.createTextNode(e)},createComment(e){return document.createComment(e)},setAttribute(e,t,n){e.setAttribute(t,String(n))},removeAttribute(e,t){e.removeAttribute(t)},setStyle(e,t){if(typeof t=="string")e.style.cssText=t;else if(t&&typeof t=="object")for(let n in t)e.style[n]=t[n]},setClass(e,t){if(typeof t=="string")e.className=t;else if(t&&typeof t=="object"){let n=[];for(let[l,a]of Object.entries(t))a&&n.push(l);e.className=n.join(" ")}else e.className=""},insert(e,t,n){n!=null?e.insertBefore(t,n):e.appendChild(t)},remove(e){e.parentNode&&e.parentNode.removeChild(e)},replace(e,t,n){e.replaceChild(n,t)},addEventListener(e,t,n,l){e.addEventListener(t,n,l)},removeEventListener(e,t,n){e.removeEventListener(t,n)},nextTick(e){Promise.resolve().then(e)},parentNode(e){return e.parentNode},nextSibling(e){return e.nextSibling},querySelector(e){return document.querySelector(e)}}}function W(e,t){let n=new Set,l={},a={},y=D(),u={},g={},p=null,h=null,b=null,o=null,r=!1,i=ue(typeof e=="function"?{render:e}:e),d=te(i),s={config:u,globalProperties:g,get _instance(){return p},mount(f){if(r)return s;let m;if(typeof f=="string"){let _=document.querySelector(f);if(!_)throw new Error(`[Lyt] \u6302\u8F7D\u76EE\u6807 "${f}" \u672A\u627E\u5230`);m=_}else m=f;o=m;let C=de();h=le(C),p=ne(d),oe(p,t||{},null);let P=p.type;if(!P.render&&P.template){let _=ce(P.template);P.render=(k,z)=>_(k,z.renderProxy)}return re(p,v),p.subTree&&h.mount(p.subTree,m),b=G(()=>{if(!(!p||!p.isMounted||!h)&&(ie(p,v),p.subTree&&o)){let _=o.firstChild,k=p.subTree;for(;o.firstChild;)o.removeChild(o.firstChild);h.mount(k,o)}},{lazy:!0}),r=!0,s},unmount(){if(r){if(b&&(Q(b),b=null),p&&se(p),o)for(;o.firstChild;)o.removeChild(o.firstChild);p=null,h=null,o=null,r=!1}},use(f,...m){if(n.has(f))return s;n.add(f);let C=H({use:s.use.bind(s),unuse:s.unuse.bind(s),isInstalled:s.isInstalled.bind(s),provide:s.provide.bind(s),inject:s.inject.bind(s),config:u,globalProperties:g},f,...m);return C instanceof Promise?C.then(()=>s):s},unuse(f){if(!n.has(f))return s;n.delete(f);let m=B({use:s.use.bind(s),unuse:s.unuse.bind(s),isInstalled:s.isInstalled.bind(s),provide:s.provide.bind(s),inject:s.inject.bind(s),config:u,globalProperties:g},f);return m instanceof Promise?m.then(()=>s):s},isInstalled(f){return n.has(f)},provide(f,m){return y[f]=m,s},inject(f,m){let C=y[f];return C!==void 0?C:m},component(f,m){return m?(l[f]=m,s):l[f]},directive(f,m){return m?(a[f]=m,s):a[f]}};return s}N(A,qe);import*as qe from"@lytjs/common";function j(){return typeof globalThis.window!="undefined"&&typeof globalThis.document!="undefined"&&typeof globalThis.HTMLElement!="undefined"&&typeof globalThis.customElements!="undefined"}function U(e){return e.replace(/-([a-z])/g,(t,n)=>n.toUpperCase())}function pe(e){return e.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`)}function $(e){if(e===""||e==="true")return!0;if(e==="false")return!1;if(e==="null")return null;if(e==="undefined")return;let t=Number(e);if(!isNaN(t)&&e.trim()!=="")return t;if(e.startsWith("{")&&e.endsWith("}")||e.startsWith("[")&&e.endsWith("]"))try{return JSON.parse(e)}catch(n){}return e}function fe(e,t){return t&&t[e]?t[e]:U(e)}function me(e){let t=[],n=e;if(n.emits&&(Array.isArray(n.emits)?t.push(...n.emits):typeof n.emits=="object"&&t.push(...Object.keys(n.emits))),n.methods){for(let l of Object.keys(n.methods))if(l.startsWith("on")&&l.length>2){let a=l.charAt(2).toLowerCase()+l.slice(3);t.push(a)}}return t}function ye(e,t={}){let{shadowMode:n="open",styles:l="",propMappings:a,eventMappings:y={},attributeConverters:u={}}=t,g=t.observedAttributes||[],p=me(e);return class extends HTMLElement{constructor(){super();this._shadowRoot=null;this._instance=null;this._props={};this._container=null;this._connected=!1;this._eventCleanups=[];this._effectCleanup=null;this._originalDescriptors=new Map;this._compiledTemplate=null;this._updateScheduled=!1}static get observedAttributes(){return g}connectedCallback(){if(!this._connected){if(this._connected=!0,this._shadowRoot=this.attachShadow({mode:n}),l){let o=document.createElement("style");o.textContent=l,this._shadowRoot.appendChild(o)}this._container=document.createElement("div"),this._shadowRoot.appendChild(this._container),this._syncAttributesToProps(),this._mountComponent(),this._forwardSlots()}}disconnectedCallback(){if(this._connected){this._connected=!1;for(let o of this._eventCleanups)o();this._eventCleanups=[],this._effectCleanup&&(this._effectCleanup(),this._effectCleanup=null),this._originalDescriptors.clear(),this._compiledTemplate=null,this._instance=null,this._container&&(this._container.innerHTML="")}}attributeChangedCallback(o,r,c){r!==c&&this._connected&&(this._syncAttributesToProps(),this._updateComponent())}_syncAttributesToProps(){let o={};for(let r of g)if(this.hasAttribute(r)){let c=this.getAttribute(r),i=fe(r,a);u[r]?o[i]=u[r](c):o[i]=$(c)}if(e.props){for(let[r,c]of Object.entries(e.props))if(o[r]===void 0){let i=c;i&&typeof i=="object"&&"default"in i?o[r]=typeof i.default=="function"?i.default():i.default:i==null}}this._props=o}async _mountComponent(){let o=e.render?e.render:e.template?await this._compileTemplate(e.template):null;if(!o)return;let r=this._createComponentContext(),c=o?o.call(r,v,r):null;c&&this._container&&this._renderVNode(c,this._container),this._setupReactiveUpdates(r,o)}async _compileTemplate(o){try{let r=await import("@lytjs/compiler"),{compile:c}=r,{code:i}=c(o);return new Function("h","_ctx",`return ${i}`)}catch(r){return null}}_createComponentContext(){let o=e.state?typeof e.state=="function"?e.state():{...e.state}:{},r=e.computed||{},c=e.methods||{},i={...this._props,...o};for(let[d,s]of Object.entries(r))typeof s=="function"?Object.defineProperty(i,d,{get:s.bind(i),enumerable:!0}):s&&typeof s=="object"&&"get"in s&&Object.defineProperty(i,d,{get:s.get.bind(i),enumerable:!0});for(let[d,s]of Object.entries(c))typeof s=="function"&&(i[d]=s.bind(i));return i.emit=(d,...s)=>{let f=y[d]||d,m=new CustomEvent(f,{detail:s.length===1?s[0]:s,bubbles:!0,composed:!0});this.dispatchEvent(m)},i.$el=this._container,i.$attrs={...this._props},i.$slots=this._getSlotContent(),i}_setupReactiveUpdates(o,r){try{import("@lytjs/reactivity").then(c=>{let{effect:i,stop:d}=c,s=i(()=>{if(!this._connected||!this._container||!r)return;let m=r.call(o,v,o);m&&(this._container.innerHTML="",this._renderVNode(m,this._container))},{lazy:!0}),f=e.state?typeof e.state=="function"?Object.keys(e.state()):Object.keys(e.state):[];for(let m of f){let C=o[m],P=Object.getOwnPropertyDescriptor(o,m);this._originalDescriptors.set(m,P),Object.defineProperty(o,m,{get(){return C},set(_){C=_;try{s()}catch(k){}},enumerable:!0})}this._effectCleanup=()=>{try{d(s)}catch(m){}}}).catch(()=>{this._setupReactiveUpdatesFallback(o,r)})}catch(c){this._setupReactiveUpdatesFallback(o,r)}}_setupReactiveUpdatesFallback(o,r){let c=e.state?typeof e.state=="function"?Object.keys(e.state()):Object.keys(e.state):[];for(let i of c){let s=o[i],f=Object.getOwnPropertyDescriptor(o,i);this._originalDescriptors.set(i,f);let m=this;Object.defineProperty(o,i,{get(){return s},set(C){s=C,m._scheduleUpdate(o,r)},enumerable:!0})}}_scheduleUpdate(o,r){this._updateScheduled||(this._updateScheduled=!0,Promise.resolve().then(()=>{if(this._updateScheduled=!1,!this._connected||!this._container||!r)return;let c=r.call(o,v,o);c&&(this._container.innerHTML="",this._renderVNode(c,this._container))}))}async _updateComponent(){if(!this._container)return;let o=e.render||null;if(!o&&e.template&&(this._compiledTemplate&&this._compiledTemplate.template===e.template?o=this._compiledTemplate.render:(o=await this._compileTemplate(e.template),o&&(this._compiledTemplate={template:e.template,render:o}))),!o)return;let r=this._createComponentContext(),c=o?o.call(r,v,r):null;this._container.innerHTML="",c&&this._renderVNode(c,this._container)}_renderVNode(o,r){let c=this._vNodeToElement(o);c&&r.appendChild(c)}_vNodeToElement(o){if(!o)return null;if(typeof o.type=="symbol"){let r=document.createDocumentFragment();if(Array.isArray(o.children))for(let c of o.children){let i=this._vNodeToElement(c);i&&r.appendChild(i)}return r}if(typeof o.children=="string")return document.createTextNode(o.children);if(typeof o.type=="string"){let r=document.createElement(o.type);if(o.props)for(let[c,i]of Object.entries(o.props))if(c==="style"&&typeof i=="object")for(let[d,s]of Object.entries(i))r.style[d]=s;else if(c==="class"){if(typeof i=="string")r.className=i;else if(typeof i=="object"){let d=[];for(let[s,f]of Object.entries(i))f&&d.push(s);r.className=d.join(" ")}}else if(c.startsWith("on")&&typeof i=="function"){let d=c.slice(2).toLowerCase();r.addEventListener(d,i),this._eventCleanups.push(()=>{r.removeEventListener(d,i)})}else c==="ref"&&typeof i=="function"?i(r):r.setAttribute(c,String(i));if(Array.isArray(o.children))for(let c of o.children){let i=this._vNodeToElement(c);i&&r.appendChild(i)}else typeof o.children=="string"&&(r.textContent=o.children);return r}return typeof o.type=="object"||typeof o.type=="function"?o.component?this._vNodeToElement(o.component.subTree||o):document.createComment("component"):null}_forwardSlots(){if(!this._shadowRoot||!this._container)return;let o=this.querySelectorAll("[slot]");for(let c of o){let i=c.getAttribute("slot")||"default",d=document.createElement("slot");i!=="default"&&d.setAttribute("name",i),this._container.appendChild(d)}let r=document.createElement("slot");this._container.appendChild(r)}_getSlotContent(){var i;let o={},r=this.querySelectorAll("[slot]");for(let d of r){let s=d.getAttribute("slot")||"default";o[s]||(o[s]=[]),o[s].push(d.cloneNode(!0))}let c=[];for(let d of Array.from(this.childNodes))(i=d.hasAttribute)!=null&&i.call(d,"slot")||c.push(d.cloneNode(!0));return c.length>0&&(o.default=c),o}get _lytInstance(){return this._instance}get _lytProps(){return{...this._props}}}}function I(e,t,n){if(!e.includes("-"))throw new Error(`[Lyt Web Component] \u6807\u7B7E\u540D "${e}" \u5FC5\u987B\u5305\u542B\u8FDE\u5B57\u7B26 (-)\u3002\u8FD9\u662F Custom Element \u89C4\u8303\u7684\u8981\u6C42\u3002`);if(!j())return;let l=ye(t,n);customElements.define(e,l)}function ge(e){for(let{tagName:t,component:n,options:l}of e)I(t,n,l)}function he(e){if(j())try{let t=customElements;t.__unregister&&t.__unregister(e)}catch(t){}}async function be(e,t,n){let l=t.match(/<template>([\s\S]*?)<\/template>/),a=t.match(/<script[^>]*>([\s\S]*?)<\/script>/),y=/<style[^>]*>([\s\S]*?)<\/style>/g,u=[],g;for(;(g=y.exec(t))!==null;)u.push(g);let p=(n==null?void 0:n.styles)||"";for(let r of u)p+=r[1]+`
2
+ `;let h=l?l[1].trim():void 0,b={};if(a){let r=a[1].trim();if(r.match(/export\s+default\s*(\{[\s\S]*\}|\([\s\S]*\)[\s\S]*?\))/))try{let i={},d={exports:i};new Function("module","exports",`"use strict"; ${r.replace(/export\s+default\s*/,"module.exports =")}`)(d,i),b=d.exports||i}catch(i){}}let o={...n,styles:p};h&&!b.template&&!b.render&&(b.template=h),I(e,b,o)}function Ce(e,t=[]){return Object.keys(e).filter(n=>!t.includes(n)).map(pe)}function ve(e,t,n){let l={};for(let a=0;a<e.length;a++){let y=e[a],u=y.name,g=y.value;if(u.startsWith("on"))continue;let p=(t==null?void 0:t[u])||U(u);n!=null&&n[u]?l[p]=n[u](g):l[p]=$(g)}return l}function _e(e){let t=Array.isArray(e)?e:Object.keys(e),n={};for(let l of t)n[l]={name:l,options:{bubbles:!0,composed:!0,cancelable:!0}};return n}function Ee(e,t,n={}){if(!e||!t)return null;let{append:l=!1,id:a}=n;if(a){let u=t.getElementById(a);if(u)return u.textContent=e,u}let y=document.createElement("style");if(a&&(y.id=a),y.textContent=e,l)t.appendChild(y);else{let u=t.querySelector("div");u?t.insertBefore(y,u):t.insertBefore(y,t.firstChild)}return y}function Ae(e,t){let n=`[${t}]`;return e.replace(/([^{}@/][^{}]*?)(\s*\{[^{}]*\})/g,(l,a,y)=>a.trim().startsWith("@")||a.includes(":host")?l:a.split(",").map(g=>{let p=g.trim();if(!p||p.startsWith("@"))return g;let h=p.indexOf("::"),b=h!==-1?p.slice(h):"",o=h!==-1?p.slice(0,h):p,r=o.indexOf(":"),c=r!==-1?o.slice(r):"",d=(r!==-1?o.slice(0,r):o).split(/\s+/).filter(Boolean),s=d[d.length-1];return s&&(d[d.length-1]=s+n),d.join(" ")+c+b}).join(", ")+y)}function Pe(e="data-v"){let t="abcdef0123456789",n="";for(let l=0;l<8;l++)n+=t[Math.floor(Math.random()*t.length)];return`${e}-${n}`}export{ve as attributesToProps,I as defineCustomElement,be as defineCustomElementFromSFC,_e as eventsToCustomEvents,Pe as generateScopeId,Ee as injectStyles,j as isBrowser,Ce as propsToAttributes,ge as registerComponents,Ae as scopedCSS,he as unregisterElement};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lytjs/core",
3
- "version": "4.2.0",
3
+ "version": "5.0.1",
4
4
  "description": "Lyt.js 核心入口 - 整合响应式、编译器、虚拟 DOM、渲染器和组件系统",
5
5
  "main": "./dist/index.cjs",
6
6
  "module": "./dist/index.mjs",
@@ -61,12 +61,12 @@
61
61
  "createApp"
62
62
  ],
63
63
  "dependencies": {
64
- "@lytjs/common": "^4.2.0",
65
- "@lytjs/reactivity": "^4.2.0",
66
- "@lytjs/compiler": "^4.2.0",
67
- "@lytjs/vdom": "^4.2.0",
68
- "@lytjs/renderer": "^4.2.0",
69
- "@lytjs/component": "^4.2.0"
64
+ "@lytjs/common": "^5.0.1",
65
+ "@lytjs/reactivity": "^5.0.1",
66
+ "@lytjs/compiler": "^5.0.1",
67
+ "@lytjs/vdom": "^5.0.1",
68
+ "@lytjs/renderer": "^5.0.1",
69
+ "@lytjs/component": "^5.0.1"
70
70
  },
71
71
  "engines": {
72
72
  "node": ">=18.0.0"