@sun-panel/micro-app 1.0.7 → 1.0.8

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.
@@ -58,4 +58,3 @@ export declare class SunPanelElement extends LitElement {
58
58
  */
59
59
  render(): TemplateResult;
60
60
  }
61
- //# sourceMappingURL=SunPanelElement.d.ts.map
@@ -63,4 +63,3 @@ export declare class SunPanelPageElement extends SunPanelElement {
63
63
  */
64
64
  render(): TemplateResult;
65
65
  }
66
- //# sourceMappingURL=SunPanelPageElement.d.ts.map
@@ -66,4 +66,3 @@ export declare class SunPanelWidgetElement extends SunPanelElement {
66
66
  */
67
67
  render(): TemplateResult;
68
68
  }
69
- //# sourceMappingURL=SunPanelWidgetElement.d.ts.map
@@ -20,5 +20,4 @@ const b=globalThis,E=t=>t,C=b.trustedTypes,w=C?C.createPolicy("lit-html",{create
20
20
  * @license
21
21
  * Copyright 2017 Google LLC
22
22
  * SPDX-License-Identifier: BSD-3-Clause
23
- */class ot extends v{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=((t,e,s)=>{const i=s?.renderBefore??e;let n=i._$litPart$;if(void 0===n){const t=s?.renderBefore??null;i._$litPart$=n=new X(e.insertBefore(O(),t),t,void 0,s??{})}return n._$AI(t),n})(e,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return B}}ot._$litElement$=!0,ot.finalized=!0,rt.litElementHydrateSupport?.({LitElement:ot});const at=rt.litElementPolyfillSupport;at?.({LitElement:ot}),(rt.litElementVersions??=[]).push("4.2.2");class ht extends ot{constructor(){super(),this._initialized=!1,this._eventListeners=new Map}initializeMicroApp(){this._initialized||(this._setupEventListeners(),this._initialized=!0)}connectedCallback(){super.connectedCallback(),this.initializeMicroApp(),this.onConnected()}disconnectedCallback(){super.disconnectedCallback(),this._cleanupEventListeners(),this.onDisconnected()}attributeChangedCallback(t,e,s){super.attributeChangedCallback(t,e,s),this.onAttributeChanged(t,e,s)}_setupEventListeners(){}_cleanupEventListeners(){const t=Array.from(this._eventListeners.entries());for(const[e,s]of t)s.forEach(t=>{window.removeEventListener(e,t)});this._eventListeners.clear()}addEventListener(t,e,s){super.addEventListener(t,e,s)}dispatchCustomEvent(t,e){const s=new CustomEvent(t,{bubbles:!0,composed:!0,detail:e});this.dispatchEvent(s)}onConnected(){}onDisconnected(){}onAttributeChanged(t,e,s){}render(){return V``}}class lt extends ht{constructor(){super(),this.spCtx={api:{},darkMode:!1,language:"zh-CN",networkMode:"wan",staticPath:"",role:0,widgetInfo:{}}}updateContext(t){if(!t||"object"!=typeof t)return;const e=Object.fromEntries(Object.entries(t).filter(([t,e])=>void 0!==e));this.spCtx={...this.spCtx,...e}}firstUpdated(t){super.firstUpdated?.(t),this.onFirstRendered()}updated(t){if(super.updated(t),t.has("spCtx")){const e=t.get("spCtx")||{},s=this.spCtx;s.widgetInfo!==e.widgetInfo&&this.onWidgetInfoChanged(s.widgetInfo,e.widgetInfo),s.darkMode!==e.darkMode&&this.onDarkModeChanged(s.darkMode,e.darkMode),s.language!==e.language&&this.onLanguageChanged(s.language,e.language),s.networkMode!==e.networkMode&&this.onNetworkModeChanged(s.networkMode,e.networkMode)}}onConnected(){super.onConnected(),this.onInitialized()}onInitialized(){}onFirstRendered(){}onDarkModeChanged(t,e){}onLanguageChanged(t,e){}onNetworkModeChanged(t,e){}onWidgetInfoChanged(t,e){}render(){return V``}}lt.properties={spCtx:{type:Object,attribute:!1}};class dt extends ht{constructor(){super(),this.spCtx={api:{},darkMode:!1,language:"zh-CN",networkMode:"wan",staticPath:"",role:0,background:"",widgetInfo:{},customParam:{}}}updateContext(t){if(!t||"object"!=typeof t)return;const e=Object.fromEntries(Object.entries(t).filter(([t,e])=>void 0!==e));this.spCtx={...this.spCtx,...e}}firstUpdated(t){super.firstUpdated?.(t),this.onFirstRendered()}updated(t){if(super.updated(t),t.has("spCtx")){const e=t.get("spCtx")||{},s=this.spCtx;s.darkMode!==e.darkMode&&this.onDarkModeChanged(s.darkMode,e.darkMode),s.language!==e.language&&this.onLanguageChanged(s.language,e.language),s.networkMode!==e.networkMode&&this.onNetworkModeChanged(s.networkMode,e.networkMode)}}onConnected(){super.onConnected(),this.onInitialized({widgetInfo:this.spCtx.widgetInfo,customParam:this.spCtx.customParam})}onInitialized(t){}onFirstRendered(){}onDarkModeChanged(t,e){}onLanguageChanged(t,e){}onNetworkModeChanged(t,e){}render(){return V``}}dt.properties={spCtx:{type:Object,attribute:!1}};class ct extends Error{constructor(t){super(`Validation failed: ${t.map(t=>t.message).join(", ")}`),this.name="ValidationError",this.errors=t}}class pt{static async validateField(t,e,s="field"){const i=[];if(e.required&&(null==t||""===t))return i.push({field:s,message:e.message||`${s} is required`,value:t}),i;if(null==t||""===t)return i;if(e.type){let n=!1;switch(e.type){case"string":n="string"==typeof t;break;case"number":n="number"==typeof t&&!isNaN(t);break;case"boolean":n="boolean"==typeof t;break;case"object":n="object"==typeof t&&null!==t&&!Array.isArray(t);break;case"array":n=Array.isArray(t);break;case"date":n=t instanceof Date||!isNaN(Date.parse(t));break;case"email":n="string"==typeof t&&/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(t);break;case"url":try{new URL(t),n=!0}catch{n=!1}break;default:n=!0}n||i.push({field:s,message:e.message||`${s} must be of type ${e.type}`,value:t})}if(void 0!==e.minLength&&"string"==typeof t&&t.length<e.minLength&&i.push({field:s,message:e.message||`${s} must be at least ${e.minLength} characters`,value:t}),void 0!==e.maxLength&&"string"==typeof t&&t.length>e.maxLength&&i.push({field:s,message:e.message||`${s} must be no more than ${e.maxLength} characters`,value:t}),void 0!==e.min&&"number"==typeof t&&t<e.min&&i.push({field:s,message:e.message||`${s} must be at least ${e.min}`,value:t}),void 0!==e.max&&"number"==typeof t&&t>e.max&&i.push({field:s,message:e.message||`${s} must be no more than ${e.max}`,value:t}),e.pattern&&"string"==typeof t&&!e.pattern.test(t)&&i.push({field:s,message:e.message||`${s} format is invalid`,value:t}),e.validator)try{const n=await Promise.resolve(e.validator(t));"string"==typeof n?i.push({field:s,message:n,value:t}):!1===n&&i.push({field:s,message:e.message||`${s} is invalid`,value:t})}catch(n){i.push({field:s,message:e.message||`Validation failed for ${s}: ${n instanceof Error?n.message:String(n)}`,value:t})}return i}static async validateObject(t,e){const s=[];for(const i of Object.keys(e)){const n=e[i],r=t[i],o=await this.validateField(r,n,i);s.push(...o)}return s}static async validateArray(t,e){if(!Array.isArray(t))return[{field:"array",message:"Value must be an array",value:t}];const s=[];if(void 0!==e.min&&t.length<e.min&&s.push({field:"array",message:e.message||`Array must have at least ${e.min} items`,value:t}),void 0!==e.max&&t.length>e.max&&s.push({field:"array",message:e.message||`Array must have no more than ${e.max} items`,value:t}),e.validator)for(let i=0;i<t.length;i++){const n=t[i],r=await this.validateField(n,e,`array[${i}]`);s.push(...r)}return s}}t.FormValidator=class{constructor(t){this.rules=t}async validate(t){return await pt.validateObject(t,this.rules)}async validateOrThrow(t){const e=await this.validate(t);if(e.length>0)throw new ct(e)}},t.SunPanelElement=ht,t.SunPanelPageElement=dt,t.SunPanelWidgetElement=lt,t.VERSION='"1.0.7"',t.ValidationError=ct,t.Validator=pt}(this.SunPanelMicroApp=this.SunPanelMicroApp||{});
24
- //# sourceMappingURL=index.bundle.js.map
23
+ */class ot extends v{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=((t,e,s)=>{const i=s?.renderBefore??e;let n=i._$litPart$;if(void 0===n){const t=s?.renderBefore??null;i._$litPart$=n=new X(e.insertBefore(O(),t),t,void 0,s??{})}return n._$AI(t),n})(e,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return B}}ot._$litElement$=!0,ot.finalized=!0,rt.litElementHydrateSupport?.({LitElement:ot});const at=rt.litElementPolyfillSupport;at?.({LitElement:ot}),(rt.litElementVersions??=[]).push("4.2.2");class ht extends ot{constructor(){super(),this._initialized=!1,this._eventListeners=new Map}initializeMicroApp(){this._initialized||(this._setupEventListeners(),this._initialized=!0)}connectedCallback(){super.connectedCallback(),this.initializeMicroApp(),this.onConnected()}disconnectedCallback(){super.disconnectedCallback(),this._cleanupEventListeners(),this.onDisconnected()}attributeChangedCallback(t,e,s){super.attributeChangedCallback(t,e,s),this.onAttributeChanged(t,e,s)}_setupEventListeners(){}_cleanupEventListeners(){const t=Array.from(this._eventListeners.entries());for(const[e,s]of t)s.forEach(t=>{window.removeEventListener(e,t)});this._eventListeners.clear()}addEventListener(t,e,s){super.addEventListener(t,e,s)}dispatchCustomEvent(t,e){const s=new CustomEvent(t,{bubbles:!0,composed:!0,detail:e});this.dispatchEvent(s)}onConnected(){}onDisconnected(){}onAttributeChanged(t,e,s){}render(){return V``}}class lt extends ht{constructor(){super(),this.spCtx={api:{},darkMode:!1,language:"zh-CN",networkMode:"wan",staticPath:"",role:0,widgetInfo:{}}}updateContext(t){if(!t||"object"!=typeof t)return;const e=Object.fromEntries(Object.entries(t).filter(([t,e])=>void 0!==e));this.spCtx={...this.spCtx,...e}}firstUpdated(t){super.firstUpdated?.(t),this.onFirstRendered()}updated(t){if(super.updated(t),t.has("spCtx")){const e=t.get("spCtx")||{},s=this.spCtx;s.widgetInfo!==e.widgetInfo&&this.onWidgetInfoChanged(s.widgetInfo,e.widgetInfo),s.darkMode!==e.darkMode&&this.onDarkModeChanged(s.darkMode,e.darkMode),s.language!==e.language&&this.onLanguageChanged(s.language,e.language),s.networkMode!==e.networkMode&&this.onNetworkModeChanged(s.networkMode,e.networkMode)}}onConnected(){super.onConnected(),this.onInitialized()}onInitialized(){}onFirstRendered(){}onDarkModeChanged(t,e){}onLanguageChanged(t,e){}onNetworkModeChanged(t,e){}onWidgetInfoChanged(t,e){}render(){return V``}}lt.properties={spCtx:{type:Object,attribute:!1}};class dt extends ht{constructor(){super(),this.spCtx={api:{},darkMode:!1,language:"zh-CN",networkMode:"wan",staticPath:"",role:0,background:"",widgetInfo:{},customParam:{}}}updateContext(t){if(!t||"object"!=typeof t)return;const e=Object.fromEntries(Object.entries(t).filter(([t,e])=>void 0!==e));this.spCtx={...this.spCtx,...e}}firstUpdated(t){super.firstUpdated?.(t),this.onFirstRendered()}updated(t){if(super.updated(t),t.has("spCtx")){const e=t.get("spCtx")||{},s=this.spCtx;s.darkMode!==e.darkMode&&this.onDarkModeChanged(s.darkMode,e.darkMode),s.language!==e.language&&this.onLanguageChanged(s.language,e.language),s.networkMode!==e.networkMode&&this.onNetworkModeChanged(s.networkMode,e.networkMode)}}onConnected(){super.onConnected(),this.onInitialized({widgetInfo:this.spCtx.widgetInfo,customParam:this.spCtx.customParam})}onInitialized(t){}onFirstRendered(){}onDarkModeChanged(t,e){}onLanguageChanged(t,e){}onNetworkModeChanged(t,e){}render(){return V``}}dt.properties={spCtx:{type:Object,attribute:!1}};class ct extends Error{constructor(t){super(`Validation failed: ${t.map(t=>t.message).join(", ")}`),this.name="ValidationError",this.errors=t}}class pt{static async validateField(t,e,s="field"){const i=[];if(e.required&&(null==t||""===t))return i.push({field:s,message:e.message||`${s} is required`,value:t}),i;if(null==t||""===t)return i;if(e.type){let n=!1;switch(e.type){case"string":n="string"==typeof t;break;case"number":n="number"==typeof t&&!isNaN(t);break;case"boolean":n="boolean"==typeof t;break;case"object":n="object"==typeof t&&null!==t&&!Array.isArray(t);break;case"array":n=Array.isArray(t);break;case"date":n=t instanceof Date||!isNaN(Date.parse(t));break;case"email":n="string"==typeof t&&/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(t);break;case"url":try{new URL(t),n=!0}catch{n=!1}break;default:n=!0}n||i.push({field:s,message:e.message||`${s} must be of type ${e.type}`,value:t})}if(void 0!==e.minLength&&"string"==typeof t&&t.length<e.minLength&&i.push({field:s,message:e.message||`${s} must be at least ${e.minLength} characters`,value:t}),void 0!==e.maxLength&&"string"==typeof t&&t.length>e.maxLength&&i.push({field:s,message:e.message||`${s} must be no more than ${e.maxLength} characters`,value:t}),void 0!==e.min&&"number"==typeof t&&t<e.min&&i.push({field:s,message:e.message||`${s} must be at least ${e.min}`,value:t}),void 0!==e.max&&"number"==typeof t&&t>e.max&&i.push({field:s,message:e.message||`${s} must be no more than ${e.max}`,value:t}),e.pattern&&"string"==typeof t&&!e.pattern.test(t)&&i.push({field:s,message:e.message||`${s} format is invalid`,value:t}),e.validator)try{const n=await Promise.resolve(e.validator(t));"string"==typeof n?i.push({field:s,message:n,value:t}):!1===n&&i.push({field:s,message:e.message||`${s} is invalid`,value:t})}catch(n){i.push({field:s,message:e.message||`Validation failed for ${s}: ${n instanceof Error?n.message:String(n)}`,value:t})}return i}static async validateObject(t,e){const s=[];for(const i of Object.keys(e)){const n=e[i],r=t[i],o=await this.validateField(r,n,i);s.push(...o)}return s}static async validateArray(t,e){if(!Array.isArray(t))return[{field:"array",message:"Value must be an array",value:t}];const s=[];if(void 0!==e.min&&t.length<e.min&&s.push({field:"array",message:e.message||`Array must have at least ${e.min} items`,value:t}),void 0!==e.max&&t.length>e.max&&s.push({field:"array",message:e.message||`Array must have no more than ${e.max} items`,value:t}),e.validator)for(let i=0;i<t.length;i++){const n=t[i],r=await this.validateField(n,e,`array[${i}]`);s.push(...r)}return s}}t.FormValidator=class{constructor(t){this.rules=t}async validate(t){return await pt.validateObject(t,this.rules)}async validateOrThrow(t){const e=await this.validate(t);if(e.length>0)throw new ct(e)}},t.SunPanelElement=ht,t.SunPanelPageElement=dt,t.SunPanelWidgetElement=lt,t.VERSION='"1.0.8"',t.ValidationError=ct,t.Validator=pt}(this.SunPanelMicroApp=this.SunPanelMicroApp||{});
package/dist/index.esm.js CHANGED
@@ -19,5 +19,4 @@ const v=globalThis,b=t=>t,C=v.trustedTypes,E=C?C.createPolicy("lit-html",{create
19
19
  * @license
20
20
  * Copyright 2017 Google LLC
21
21
  * SPDX-License-Identifier: BSD-3-Clause
22
- */class rt extends A{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=((t,e,s)=>{const i=s?.renderBefore??e;let n=i._$litPart$;if(void 0===n){const t=s?.renderBefore??null;i._$litPart$=n=new Q(e.insertBefore(P(),t),t,void 0,s??{})}return n._$AI(t),n})(e,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return B}}rt._$litElement$=!0,rt.finalized=!0,nt.litElementHydrateSupport?.({LitElement:rt});const ot=nt.litElementPolyfillSupport;ot?.({LitElement:rt}),(nt.litElementVersions??=[]).push("4.2.2");class at extends rt{constructor(){super(),this._initialized=!1,this._eventListeners=new Map}initializeMicroApp(){this._initialized||(this._setupEventListeners(),this._initialized=!0)}connectedCallback(){super.connectedCallback(),this.initializeMicroApp(),this.onConnected()}disconnectedCallback(){super.disconnectedCallback(),this._cleanupEventListeners(),this.onDisconnected()}attributeChangedCallback(t,e,s){super.attributeChangedCallback(t,e,s),this.onAttributeChanged(t,e,s)}_setupEventListeners(){}_cleanupEventListeners(){const t=Array.from(this._eventListeners.entries());for(const[e,s]of t)s.forEach(t=>{window.removeEventListener(e,t)});this._eventListeners.clear()}addEventListener(t,e,s){super.addEventListener(t,e,s)}dispatchCustomEvent(t,e){const s=new CustomEvent(t,{bubbles:!0,composed:!0,detail:e});this.dispatchEvent(s)}onConnected(){}onDisconnected(){}onAttributeChanged(t,e,s){}render(){return D``}}class ht extends at{constructor(){super(),this.spCtx={api:{},darkMode:!1,language:"zh-CN",networkMode:"wan",staticPath:"",role:0,widgetInfo:{}}}updateContext(t){if(!t||"object"!=typeof t)return;const e=Object.fromEntries(Object.entries(t).filter(([t,e])=>void 0!==e));this.spCtx={...this.spCtx,...e}}firstUpdated(t){super.firstUpdated?.(t),this.onFirstRendered()}updated(t){if(super.updated(t),t.has("spCtx")){const e=t.get("spCtx")||{},s=this.spCtx;s.widgetInfo!==e.widgetInfo&&this.onWidgetInfoChanged(s.widgetInfo,e.widgetInfo),s.darkMode!==e.darkMode&&this.onDarkModeChanged(s.darkMode,e.darkMode),s.language!==e.language&&this.onLanguageChanged(s.language,e.language),s.networkMode!==e.networkMode&&this.onNetworkModeChanged(s.networkMode,e.networkMode)}}onConnected(){super.onConnected(),this.onInitialized()}onInitialized(){}onFirstRendered(){}onDarkModeChanged(t,e){}onLanguageChanged(t,e){}onNetworkModeChanged(t,e){}onWidgetInfoChanged(t,e){}render(){return D``}}ht.properties={spCtx:{type:Object,attribute:!1}};class dt extends at{constructor(){super(),this.spCtx={api:{},darkMode:!1,language:"zh-CN",networkMode:"wan",staticPath:"",role:0,background:"",widgetInfo:{},customParam:{}}}updateContext(t){if(!t||"object"!=typeof t)return;const e=Object.fromEntries(Object.entries(t).filter(([t,e])=>void 0!==e));this.spCtx={...this.spCtx,...e}}firstUpdated(t){super.firstUpdated?.(t),this.onFirstRendered()}updated(t){if(super.updated(t),t.has("spCtx")){const e=t.get("spCtx")||{},s=this.spCtx;s.darkMode!==e.darkMode&&this.onDarkModeChanged(s.darkMode,e.darkMode),s.language!==e.language&&this.onLanguageChanged(s.language,e.language),s.networkMode!==e.networkMode&&this.onNetworkModeChanged(s.networkMode,e.networkMode)}}onConnected(){super.onConnected(),this.onInitialized({widgetInfo:this.spCtx.widgetInfo,customParam:this.spCtx.customParam})}onInitialized(t){}onFirstRendered(){}onDarkModeChanged(t,e){}onLanguageChanged(t,e){}onNetworkModeChanged(t,e){}render(){return D``}}dt.properties={spCtx:{type:Object,attribute:!1}};class lt extends Error{constructor(t){super(`Validation failed: ${t.map(t=>t.message).join(", ")}`),this.name="ValidationError",this.errors=t}}class ct{static async validateField(t,e,s="field"){const i=[];if(e.required&&(null==t||""===t))return i.push({field:s,message:e.message||`${s} is required`,value:t}),i;if(null==t||""===t)return i;if(e.type){let n=!1;switch(e.type){case"string":n="string"==typeof t;break;case"number":n="number"==typeof t&&!isNaN(t);break;case"boolean":n="boolean"==typeof t;break;case"object":n="object"==typeof t&&null!==t&&!Array.isArray(t);break;case"array":n=Array.isArray(t);break;case"date":n=t instanceof Date||!isNaN(Date.parse(t));break;case"email":n="string"==typeof t&&/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(t);break;case"url":try{new URL(t),n=!0}catch{n=!1}break;default:n=!0}n||i.push({field:s,message:e.message||`${s} must be of type ${e.type}`,value:t})}if(void 0!==e.minLength&&"string"==typeof t&&t.length<e.minLength&&i.push({field:s,message:e.message||`${s} must be at least ${e.minLength} characters`,value:t}),void 0!==e.maxLength&&"string"==typeof t&&t.length>e.maxLength&&i.push({field:s,message:e.message||`${s} must be no more than ${e.maxLength} characters`,value:t}),void 0!==e.min&&"number"==typeof t&&t<e.min&&i.push({field:s,message:e.message||`${s} must be at least ${e.min}`,value:t}),void 0!==e.max&&"number"==typeof t&&t>e.max&&i.push({field:s,message:e.message||`${s} must be no more than ${e.max}`,value:t}),e.pattern&&"string"==typeof t&&!e.pattern.test(t)&&i.push({field:s,message:e.message||`${s} format is invalid`,value:t}),e.validator)try{const n=await Promise.resolve(e.validator(t));"string"==typeof n?i.push({field:s,message:n,value:t}):!1===n&&i.push({field:s,message:e.message||`${s} is invalid`,value:t})}catch(n){i.push({field:s,message:e.message||`Validation failed for ${s}: ${n instanceof Error?n.message:String(n)}`,value:t})}return i}static async validateObject(t,e){const s=[];for(const i of Object.keys(e)){const n=e[i],r=t[i],o=await this.validateField(r,n,i);s.push(...o)}return s}static async validateArray(t,e){if(!Array.isArray(t))return[{field:"array",message:"Value must be an array",value:t}];const s=[];if(void 0!==e.min&&t.length<e.min&&s.push({field:"array",message:e.message||`Array must have at least ${e.min} items`,value:t}),void 0!==e.max&&t.length>e.max&&s.push({field:"array",message:e.message||`Array must have no more than ${e.max} items`,value:t}),e.validator)for(let i=0;i<t.length;i++){const n=t[i],r=await this.validateField(n,e,`array[${i}]`);s.push(...r)}return s}}class pt{constructor(t){this.rules=t}async validate(t){return await ct.validateObject(t,this.rules)}async validateOrThrow(t){const e=await this.validate(t);if(e.length>0)throw new lt(e)}}const ut='"1.0.7"';export{pt as FormValidator,at as SunPanelElement,dt as SunPanelPageElement,ht as SunPanelWidgetElement,ut as VERSION,lt as ValidationError,ct as Validator};
23
- //# sourceMappingURL=index.esm.js.map
22
+ */class rt extends A{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=((t,e,s)=>{const i=s?.renderBefore??e;let n=i._$litPart$;if(void 0===n){const t=s?.renderBefore??null;i._$litPart$=n=new Q(e.insertBefore(P(),t),t,void 0,s??{})}return n._$AI(t),n})(e,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return B}}rt._$litElement$=!0,rt.finalized=!0,nt.litElementHydrateSupport?.({LitElement:rt});const ot=nt.litElementPolyfillSupport;ot?.({LitElement:rt}),(nt.litElementVersions??=[]).push("4.2.2");class at extends rt{constructor(){super(),this._initialized=!1,this._eventListeners=new Map}initializeMicroApp(){this._initialized||(this._setupEventListeners(),this._initialized=!0)}connectedCallback(){super.connectedCallback(),this.initializeMicroApp(),this.onConnected()}disconnectedCallback(){super.disconnectedCallback(),this._cleanupEventListeners(),this.onDisconnected()}attributeChangedCallback(t,e,s){super.attributeChangedCallback(t,e,s),this.onAttributeChanged(t,e,s)}_setupEventListeners(){}_cleanupEventListeners(){const t=Array.from(this._eventListeners.entries());for(const[e,s]of t)s.forEach(t=>{window.removeEventListener(e,t)});this._eventListeners.clear()}addEventListener(t,e,s){super.addEventListener(t,e,s)}dispatchCustomEvent(t,e){const s=new CustomEvent(t,{bubbles:!0,composed:!0,detail:e});this.dispatchEvent(s)}onConnected(){}onDisconnected(){}onAttributeChanged(t,e,s){}render(){return D``}}class ht extends at{constructor(){super(),this.spCtx={api:{},darkMode:!1,language:"zh-CN",networkMode:"wan",staticPath:"",role:0,widgetInfo:{}}}updateContext(t){if(!t||"object"!=typeof t)return;const e=Object.fromEntries(Object.entries(t).filter(([t,e])=>void 0!==e));this.spCtx={...this.spCtx,...e}}firstUpdated(t){super.firstUpdated?.(t),this.onFirstRendered()}updated(t){if(super.updated(t),t.has("spCtx")){const e=t.get("spCtx")||{},s=this.spCtx;s.widgetInfo!==e.widgetInfo&&this.onWidgetInfoChanged(s.widgetInfo,e.widgetInfo),s.darkMode!==e.darkMode&&this.onDarkModeChanged(s.darkMode,e.darkMode),s.language!==e.language&&this.onLanguageChanged(s.language,e.language),s.networkMode!==e.networkMode&&this.onNetworkModeChanged(s.networkMode,e.networkMode)}}onConnected(){super.onConnected(),this.onInitialized()}onInitialized(){}onFirstRendered(){}onDarkModeChanged(t,e){}onLanguageChanged(t,e){}onNetworkModeChanged(t,e){}onWidgetInfoChanged(t,e){}render(){return D``}}ht.properties={spCtx:{type:Object,attribute:!1}};class dt extends at{constructor(){super(),this.spCtx={api:{},darkMode:!1,language:"zh-CN",networkMode:"wan",staticPath:"",role:0,background:"",widgetInfo:{},customParam:{}}}updateContext(t){if(!t||"object"!=typeof t)return;const e=Object.fromEntries(Object.entries(t).filter(([t,e])=>void 0!==e));this.spCtx={...this.spCtx,...e}}firstUpdated(t){super.firstUpdated?.(t),this.onFirstRendered()}updated(t){if(super.updated(t),t.has("spCtx")){const e=t.get("spCtx")||{},s=this.spCtx;s.darkMode!==e.darkMode&&this.onDarkModeChanged(s.darkMode,e.darkMode),s.language!==e.language&&this.onLanguageChanged(s.language,e.language),s.networkMode!==e.networkMode&&this.onNetworkModeChanged(s.networkMode,e.networkMode)}}onConnected(){super.onConnected(),this.onInitialized({widgetInfo:this.spCtx.widgetInfo,customParam:this.spCtx.customParam})}onInitialized(t){}onFirstRendered(){}onDarkModeChanged(t,e){}onLanguageChanged(t,e){}onNetworkModeChanged(t,e){}render(){return D``}}dt.properties={spCtx:{type:Object,attribute:!1}};class lt extends Error{constructor(t){super(`Validation failed: ${t.map(t=>t.message).join(", ")}`),this.name="ValidationError",this.errors=t}}class ct{static async validateField(t,e,s="field"){const i=[];if(e.required&&(null==t||""===t))return i.push({field:s,message:e.message||`${s} is required`,value:t}),i;if(null==t||""===t)return i;if(e.type){let n=!1;switch(e.type){case"string":n="string"==typeof t;break;case"number":n="number"==typeof t&&!isNaN(t);break;case"boolean":n="boolean"==typeof t;break;case"object":n="object"==typeof t&&null!==t&&!Array.isArray(t);break;case"array":n=Array.isArray(t);break;case"date":n=t instanceof Date||!isNaN(Date.parse(t));break;case"email":n="string"==typeof t&&/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(t);break;case"url":try{new URL(t),n=!0}catch{n=!1}break;default:n=!0}n||i.push({field:s,message:e.message||`${s} must be of type ${e.type}`,value:t})}if(void 0!==e.minLength&&"string"==typeof t&&t.length<e.minLength&&i.push({field:s,message:e.message||`${s} must be at least ${e.minLength} characters`,value:t}),void 0!==e.maxLength&&"string"==typeof t&&t.length>e.maxLength&&i.push({field:s,message:e.message||`${s} must be no more than ${e.maxLength} characters`,value:t}),void 0!==e.min&&"number"==typeof t&&t<e.min&&i.push({field:s,message:e.message||`${s} must be at least ${e.min}`,value:t}),void 0!==e.max&&"number"==typeof t&&t>e.max&&i.push({field:s,message:e.message||`${s} must be no more than ${e.max}`,value:t}),e.pattern&&"string"==typeof t&&!e.pattern.test(t)&&i.push({field:s,message:e.message||`${s} format is invalid`,value:t}),e.validator)try{const n=await Promise.resolve(e.validator(t));"string"==typeof n?i.push({field:s,message:n,value:t}):!1===n&&i.push({field:s,message:e.message||`${s} is invalid`,value:t})}catch(n){i.push({field:s,message:e.message||`Validation failed for ${s}: ${n instanceof Error?n.message:String(n)}`,value:t})}return i}static async validateObject(t,e){const s=[];for(const i of Object.keys(e)){const n=e[i],r=t[i],o=await this.validateField(r,n,i);s.push(...o)}return s}static async validateArray(t,e){if(!Array.isArray(t))return[{field:"array",message:"Value must be an array",value:t}];const s=[];if(void 0!==e.min&&t.length<e.min&&s.push({field:"array",message:e.message||`Array must have at least ${e.min} items`,value:t}),void 0!==e.max&&t.length>e.max&&s.push({field:"array",message:e.message||`Array must have no more than ${e.max} items`,value:t}),e.validator)for(let i=0;i<t.length;i++){const n=t[i],r=await this.validateField(n,e,`array[${i}]`);s.push(...r)}return s}}class pt{constructor(t){this.rules=t}async validate(t){return await ct.validateObject(t,this.rules)}async validateOrThrow(t){const e=await this.validate(t);if(e.length>0)throw new lt(e)}}const ut='"1.0.8"';export{pt as FormValidator,at as SunPanelElement,dt as SunPanelPageElement,ht as SunPanelWidgetElement,ut as VERSION,lt as ValidationError,ct as Validator};
package/dist/index.js CHANGED
@@ -19,5 +19,4 @@ const v=globalThis,b=t=>t,E=v.trustedTypes,C=E?E.createPolicy("lit-html",{create
19
19
  * @license
20
20
  * Copyright 2017 Google LLC
21
21
  * SPDX-License-Identifier: BSD-3-Clause
22
- */class rt extends A{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=((t,e,s)=>{const i=s?.renderBefore??e;let n=i._$litPart$;if(void 0===n){const t=s?.renderBefore??null;i._$litPart$=n=new Q(e.insertBefore(P(),t),t,void 0,s??{})}return n._$AI(t),n})(e,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return V}}rt._$litElement$=!0,rt.finalized=!0,nt.litElementHydrateSupport?.({LitElement:rt});const ot=nt.litElementPolyfillSupport;ot?.({LitElement:rt}),(nt.litElementVersions??=[]).push("4.2.2");class at extends rt{constructor(){super(),this._initialized=!1,this._eventListeners=new Map}initializeMicroApp(){this._initialized||(this._setupEventListeners(),this._initialized=!0)}connectedCallback(){super.connectedCallback(),this.initializeMicroApp(),this.onConnected()}disconnectedCallback(){super.disconnectedCallback(),this._cleanupEventListeners(),this.onDisconnected()}attributeChangedCallback(t,e,s){super.attributeChangedCallback(t,e,s),this.onAttributeChanged(t,e,s)}_setupEventListeners(){}_cleanupEventListeners(){const t=Array.from(this._eventListeners.entries());for(const[e,s]of t)s.forEach(t=>{window.removeEventListener(e,t)});this._eventListeners.clear()}addEventListener(t,e,s){super.addEventListener(t,e,s)}dispatchCustomEvent(t,e){const s=new CustomEvent(t,{bubbles:!0,composed:!0,detail:e});this.dispatchEvent(s)}onConnected(){}onDisconnected(){}onAttributeChanged(t,e,s){}render(){return D``}}class ht extends at{constructor(){super(),this.spCtx={api:{},darkMode:!1,language:"zh-CN",networkMode:"wan",staticPath:"",role:0,widgetInfo:{}}}updateContext(t){if(!t||"object"!=typeof t)return;const e=Object.fromEntries(Object.entries(t).filter(([t,e])=>void 0!==e));this.spCtx={...this.spCtx,...e}}firstUpdated(t){super.firstUpdated?.(t),this.onFirstRendered()}updated(t){if(super.updated(t),t.has("spCtx")){const e=t.get("spCtx")||{},s=this.spCtx;s.widgetInfo!==e.widgetInfo&&this.onWidgetInfoChanged(s.widgetInfo,e.widgetInfo),s.darkMode!==e.darkMode&&this.onDarkModeChanged(s.darkMode,e.darkMode),s.language!==e.language&&this.onLanguageChanged(s.language,e.language),s.networkMode!==e.networkMode&&this.onNetworkModeChanged(s.networkMode,e.networkMode)}}onConnected(){super.onConnected(),this.onInitialized()}onInitialized(){}onFirstRendered(){}onDarkModeChanged(t,e){}onLanguageChanged(t,e){}onNetworkModeChanged(t,e){}onWidgetInfoChanged(t,e){}render(){return D``}}ht.properties={spCtx:{type:Object,attribute:!1}};class dt extends at{constructor(){super(),this.spCtx={api:{},darkMode:!1,language:"zh-CN",networkMode:"wan",staticPath:"",role:0,background:"",widgetInfo:{},customParam:{}}}updateContext(t){if(!t||"object"!=typeof t)return;const e=Object.fromEntries(Object.entries(t).filter(([t,e])=>void 0!==e));this.spCtx={...this.spCtx,...e}}firstUpdated(t){super.firstUpdated?.(t),this.onFirstRendered()}updated(t){if(super.updated(t),t.has("spCtx")){const e=t.get("spCtx")||{},s=this.spCtx;s.darkMode!==e.darkMode&&this.onDarkModeChanged(s.darkMode,e.darkMode),s.language!==e.language&&this.onLanguageChanged(s.language,e.language),s.networkMode!==e.networkMode&&this.onNetworkModeChanged(s.networkMode,e.networkMode)}}onConnected(){super.onConnected(),this.onInitialized({widgetInfo:this.spCtx.widgetInfo,customParam:this.spCtx.customParam})}onInitialized(t){}onFirstRendered(){}onDarkModeChanged(t,e){}onLanguageChanged(t,e){}onNetworkModeChanged(t,e){}render(){return D``}}dt.properties={spCtx:{type:Object,attribute:!1}};class lt extends Error{constructor(t){super(`Validation failed: ${t.map(t=>t.message).join(", ")}`),this.name="ValidationError",this.errors=t}}class ct{static async validateField(t,e,s="field"){const i=[];if(e.required&&(null==t||""===t))return i.push({field:s,message:e.message||`${s} is required`,value:t}),i;if(null==t||""===t)return i;if(e.type){let n=!1;switch(e.type){case"string":n="string"==typeof t;break;case"number":n="number"==typeof t&&!isNaN(t);break;case"boolean":n="boolean"==typeof t;break;case"object":n="object"==typeof t&&null!==t&&!Array.isArray(t);break;case"array":n=Array.isArray(t);break;case"date":n=t instanceof Date||!isNaN(Date.parse(t));break;case"email":n="string"==typeof t&&/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(t);break;case"url":try{new URL(t),n=!0}catch{n=!1}break;default:n=!0}n||i.push({field:s,message:e.message||`${s} must be of type ${e.type}`,value:t})}if(void 0!==e.minLength&&"string"==typeof t&&t.length<e.minLength&&i.push({field:s,message:e.message||`${s} must be at least ${e.minLength} characters`,value:t}),void 0!==e.maxLength&&"string"==typeof t&&t.length>e.maxLength&&i.push({field:s,message:e.message||`${s} must be no more than ${e.maxLength} characters`,value:t}),void 0!==e.min&&"number"==typeof t&&t<e.min&&i.push({field:s,message:e.message||`${s} must be at least ${e.min}`,value:t}),void 0!==e.max&&"number"==typeof t&&t>e.max&&i.push({field:s,message:e.message||`${s} must be no more than ${e.max}`,value:t}),e.pattern&&"string"==typeof t&&!e.pattern.test(t)&&i.push({field:s,message:e.message||`${s} format is invalid`,value:t}),e.validator)try{const n=await Promise.resolve(e.validator(t));"string"==typeof n?i.push({field:s,message:n,value:t}):!1===n&&i.push({field:s,message:e.message||`${s} is invalid`,value:t})}catch(n){i.push({field:s,message:e.message||`Validation failed for ${s}: ${n instanceof Error?n.message:String(n)}`,value:t})}return i}static async validateObject(t,e){const s=[];for(const i of Object.keys(e)){const n=e[i],r=t[i],o=await this.validateField(r,n,i);s.push(...o)}return s}static async validateArray(t,e){if(!Array.isArray(t))return[{field:"array",message:"Value must be an array",value:t}];const s=[];if(void 0!==e.min&&t.length<e.min&&s.push({field:"array",message:e.message||`Array must have at least ${e.min} items`,value:t}),void 0!==e.max&&t.length>e.max&&s.push({field:"array",message:e.message||`Array must have no more than ${e.max} items`,value:t}),e.validator)for(let i=0;i<t.length;i++){const n=t[i],r=await this.validateField(n,e,`array[${i}]`);s.push(...r)}return s}}exports.FormValidator=class{constructor(t){this.rules=t}async validate(t){return await ct.validateObject(t,this.rules)}async validateOrThrow(t){const e=await this.validate(t);if(e.length>0)throw new lt(e)}},exports.SunPanelElement=at,exports.SunPanelPageElement=dt,exports.SunPanelWidgetElement=ht,exports.VERSION='"1.0.7"',exports.ValidationError=lt,exports.Validator=ct;
23
- //# sourceMappingURL=index.js.map
22
+ */class rt extends A{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=((t,e,s)=>{const i=s?.renderBefore??e;let n=i._$litPart$;if(void 0===n){const t=s?.renderBefore??null;i._$litPart$=n=new Q(e.insertBefore(P(),t),t,void 0,s??{})}return n._$AI(t),n})(e,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return V}}rt._$litElement$=!0,rt.finalized=!0,nt.litElementHydrateSupport?.({LitElement:rt});const ot=nt.litElementPolyfillSupport;ot?.({LitElement:rt}),(nt.litElementVersions??=[]).push("4.2.2");class at extends rt{constructor(){super(),this._initialized=!1,this._eventListeners=new Map}initializeMicroApp(){this._initialized||(this._setupEventListeners(),this._initialized=!0)}connectedCallback(){super.connectedCallback(),this.initializeMicroApp(),this.onConnected()}disconnectedCallback(){super.disconnectedCallback(),this._cleanupEventListeners(),this.onDisconnected()}attributeChangedCallback(t,e,s){super.attributeChangedCallback(t,e,s),this.onAttributeChanged(t,e,s)}_setupEventListeners(){}_cleanupEventListeners(){const t=Array.from(this._eventListeners.entries());for(const[e,s]of t)s.forEach(t=>{window.removeEventListener(e,t)});this._eventListeners.clear()}addEventListener(t,e,s){super.addEventListener(t,e,s)}dispatchCustomEvent(t,e){const s=new CustomEvent(t,{bubbles:!0,composed:!0,detail:e});this.dispatchEvent(s)}onConnected(){}onDisconnected(){}onAttributeChanged(t,e,s){}render(){return D``}}class ht extends at{constructor(){super(),this.spCtx={api:{},darkMode:!1,language:"zh-CN",networkMode:"wan",staticPath:"",role:0,widgetInfo:{}}}updateContext(t){if(!t||"object"!=typeof t)return;const e=Object.fromEntries(Object.entries(t).filter(([t,e])=>void 0!==e));this.spCtx={...this.spCtx,...e}}firstUpdated(t){super.firstUpdated?.(t),this.onFirstRendered()}updated(t){if(super.updated(t),t.has("spCtx")){const e=t.get("spCtx")||{},s=this.spCtx;s.widgetInfo!==e.widgetInfo&&this.onWidgetInfoChanged(s.widgetInfo,e.widgetInfo),s.darkMode!==e.darkMode&&this.onDarkModeChanged(s.darkMode,e.darkMode),s.language!==e.language&&this.onLanguageChanged(s.language,e.language),s.networkMode!==e.networkMode&&this.onNetworkModeChanged(s.networkMode,e.networkMode)}}onConnected(){super.onConnected(),this.onInitialized()}onInitialized(){}onFirstRendered(){}onDarkModeChanged(t,e){}onLanguageChanged(t,e){}onNetworkModeChanged(t,e){}onWidgetInfoChanged(t,e){}render(){return D``}}ht.properties={spCtx:{type:Object,attribute:!1}};class dt extends at{constructor(){super(),this.spCtx={api:{},darkMode:!1,language:"zh-CN",networkMode:"wan",staticPath:"",role:0,background:"",widgetInfo:{},customParam:{}}}updateContext(t){if(!t||"object"!=typeof t)return;const e=Object.fromEntries(Object.entries(t).filter(([t,e])=>void 0!==e));this.spCtx={...this.spCtx,...e}}firstUpdated(t){super.firstUpdated?.(t),this.onFirstRendered()}updated(t){if(super.updated(t),t.has("spCtx")){const e=t.get("spCtx")||{},s=this.spCtx;s.darkMode!==e.darkMode&&this.onDarkModeChanged(s.darkMode,e.darkMode),s.language!==e.language&&this.onLanguageChanged(s.language,e.language),s.networkMode!==e.networkMode&&this.onNetworkModeChanged(s.networkMode,e.networkMode)}}onConnected(){super.onConnected(),this.onInitialized({widgetInfo:this.spCtx.widgetInfo,customParam:this.spCtx.customParam})}onInitialized(t){}onFirstRendered(){}onDarkModeChanged(t,e){}onLanguageChanged(t,e){}onNetworkModeChanged(t,e){}render(){return D``}}dt.properties={spCtx:{type:Object,attribute:!1}};class lt extends Error{constructor(t){super(`Validation failed: ${t.map(t=>t.message).join(", ")}`),this.name="ValidationError",this.errors=t}}class ct{static async validateField(t,e,s="field"){const i=[];if(e.required&&(null==t||""===t))return i.push({field:s,message:e.message||`${s} is required`,value:t}),i;if(null==t||""===t)return i;if(e.type){let n=!1;switch(e.type){case"string":n="string"==typeof t;break;case"number":n="number"==typeof t&&!isNaN(t);break;case"boolean":n="boolean"==typeof t;break;case"object":n="object"==typeof t&&null!==t&&!Array.isArray(t);break;case"array":n=Array.isArray(t);break;case"date":n=t instanceof Date||!isNaN(Date.parse(t));break;case"email":n="string"==typeof t&&/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(t);break;case"url":try{new URL(t),n=!0}catch{n=!1}break;default:n=!0}n||i.push({field:s,message:e.message||`${s} must be of type ${e.type}`,value:t})}if(void 0!==e.minLength&&"string"==typeof t&&t.length<e.minLength&&i.push({field:s,message:e.message||`${s} must be at least ${e.minLength} characters`,value:t}),void 0!==e.maxLength&&"string"==typeof t&&t.length>e.maxLength&&i.push({field:s,message:e.message||`${s} must be no more than ${e.maxLength} characters`,value:t}),void 0!==e.min&&"number"==typeof t&&t<e.min&&i.push({field:s,message:e.message||`${s} must be at least ${e.min}`,value:t}),void 0!==e.max&&"number"==typeof t&&t>e.max&&i.push({field:s,message:e.message||`${s} must be no more than ${e.max}`,value:t}),e.pattern&&"string"==typeof t&&!e.pattern.test(t)&&i.push({field:s,message:e.message||`${s} format is invalid`,value:t}),e.validator)try{const n=await Promise.resolve(e.validator(t));"string"==typeof n?i.push({field:s,message:n,value:t}):!1===n&&i.push({field:s,message:e.message||`${s} is invalid`,value:t})}catch(n){i.push({field:s,message:e.message||`Validation failed for ${s}: ${n instanceof Error?n.message:String(n)}`,value:t})}return i}static async validateObject(t,e){const s=[];for(const i of Object.keys(e)){const n=e[i],r=t[i],o=await this.validateField(r,n,i);s.push(...o)}return s}static async validateArray(t,e){if(!Array.isArray(t))return[{field:"array",message:"Value must be an array",value:t}];const s=[];if(void 0!==e.min&&t.length<e.min&&s.push({field:"array",message:e.message||`Array must have at least ${e.min} items`,value:t}),void 0!==e.max&&t.length>e.max&&s.push({field:"array",message:e.message||`Array must have no more than ${e.max} items`,value:t}),e.validator)for(let i=0;i<t.length;i++){const n=t[i],r=await this.validateField(n,e,`array[${i}]`);s.push(...r)}return s}}exports.FormValidator=class{constructor(t){this.rules=t}async validate(t){return await ct.validateObject(t,this.rules)}async validateOrThrow(t){const e=await this.validate(t);if(e.length>0)throw new lt(e)}},exports.SunPanelElement=at,exports.SunPanelPageElement=dt,exports.SunPanelWidgetElement=ht,exports.VERSION='"1.0.8"',exports.ValidationError=lt,exports.Validator=ct;
@@ -62,4 +62,3 @@ export declare class FormValidator {
62
62
  */
63
63
  validateOrThrow(data: Record<string, any>): Promise<void>;
64
64
  }
65
- //# sourceMappingURL=validation.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sun-panel/micro-app",
3
- "version": "1.0.7",
3
+ "version": "1.0.8",
4
4
  "description": "Sun Panel Micro App - A Lit-based framework for developing micro applications with built-in event binding and validation support",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.esm.js",
@@ -1 +0,0 @@
1
- {"version":3,"file":"SunPanelElement.d.ts","sourceRoot":"","sources":["../src/SunPanelElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAQ,cAAc,EAAE,MAAM,KAAK,CAAC;AAEvD;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,UAAU;IAC7C,OAAO,CAAC,YAAY,CAAU;IAC9B,OAAO,CAAC,eAAe,CAA+B;;IAQtD;;OAEG;IACH,kBAAkB,IAAI,IAAI;IAO1B;;OAEG;IACH,iBAAiB,IAAI,IAAI;IAMzB;;OAEG;IACH,oBAAoB,IAAI,IAAI;IAM5B;;;OAGG;IACH,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAK9F;;OAEG;IACH,SAAS,CAAC,oBAAoB,IAAI,IAAI;IAItC;;OAEG;IACH,SAAS,CAAC,sBAAsB,IAAI,IAAI;IAYxC;;OAEG;IACH,gBAAgB,CAAC,CAAC,SAAS,MAAM,mBAAmB,EAClD,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,mBAAmB,CAAC,CAAC,CAAC,KAAK,GAAG,EAChE,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB,GAC1C,IAAI;IACP,gBAAgB,CACd,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,kCAAkC,EAC5C,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB,GAC1C,IAAI;IASP;;OAEG;IACH,mBAAmB,CAAC,CAAC,GAAG,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI;IASjE;;OAEG;IACH,WAAW,IAAI,IAAI;IAInB;;OAEG;IACH,cAAc,IAAI,IAAI;IAItB;;OAEG;IACH,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAI3F;;OAEG;IACH,MAAM,IAAI,cAAc;CAIzB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"SunPanelPageElement.d.ts","sourceRoot":"","sources":["../src/SunPanelPageElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAQ,cAAc,EAAE,gBAAgB,EAAE,MAAM,KAAK,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,WAAW,EAAwB,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAIxG;;;GAGG;AACH,qBAAa,mBAAoB,SAAQ,eAAe;IAEtD,MAAM,CAAC,UAAU;;;;;MAGf;IAEF,KAAK,EAAE,aAAa,CAAC;;IAmBrB;;;;OAIG;IACH,aAAa,CAAC,cAAc,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI;IAa3D;;OAEG;IACH;;;OAGG;IACH,YAAY,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAK/E;;OAEG;IACH,OAAO,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAwB1E,WAAW,IAAI,IAAI;IAKnB;;;OAGG;IACH,aAAa,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI;IAIjD;;;OAGG;IACH,eAAe,IAAI,IAAI;IAIvB;;;OAGG;IACH,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,GAAG,IAAI;IAI9D;;;OAGG;IACH,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI;IAIhE;;;OAGG;IACH,oBAAoB,CAAC,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,GAAG,IAAI;IAInF;;OAEG;IACH,MAAM,IAAI,cAAc;CAIzB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"SunPanelWidgetElement.d.ts","sourceRoot":"","sources":["../src/SunPanelWidgetElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAQ,cAAc,EAAE,gBAAgB,EAAE,MAAM,KAAK,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,WAAW,EAAY,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGpF;;;GAGG;AACH,qBAAa,qBAAsB,SAAQ,eAAe;IAExD,MAAM,CAAC,UAAU;;;;;MAGf;IAEF,KAAK,EAAE,eAAe,CAAC;;IAiBvB;;;;;;OAMG;IACH,aAAa,CAAC,cAAc,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI;IAc7D;;OAEG;IACH;;;OAGG;IACH,YAAY,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAK/E;;OAEG;IACH,OAAO,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IA8B1E,WAAW,IAAI,IAAI;IAKnB;;;OAGG;IACH,aAAa,IAAI,IAAI;IAKrB;;;OAGG;IACH,eAAe,IAAI,IAAI;IAwBvB;;;OAGG;IACH,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,GAAG,IAAI;IAI9D;;;OAGG;IACH,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI;IAIhE;;;OAGG;IACH,oBAAoB,CAAC,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,GAAG,IAAI;IAKnF,mBAAmB,CAAC,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,UAAU,GAAG,IAAI;IAI9E;;OAEG;IACH,MAAM,IAAI,cAAc;CAIzB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.bundle.js","sources":["../node_modules/@lit/reactive-element/css-tag.js","../node_modules/@lit/reactive-element/reactive-element.js","../node_modules/lit-html/lit-html.js","../node_modules/lit-element/lit-element.js","../../src/SunPanelElement.ts","../../src/SunPanelWidgetElement.ts","../../src/SunPanelPageElement.ts","../../src/validation.ts","../../src/index.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,s=Symbol(),o=new WeakMap;class n{constructor(t,e,o){if(this._$cssResult$=!0,o!==s)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const s=this.t;if(e&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=o.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o.set(s,t))}return t}toString(){return this.cssText}}const r=t=>new n(\"string\"==typeof t?t:t+\"\",void 0,s),i=(t,...e)=>{const o=1===t.length?t[0]:e.reduce((e,s,o)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(s)+t[o+1],t[0]);return new n(o,t,s)},S=(s,o)=>{if(e)s.adoptedStyleSheets=o.map(t=>t instanceof CSSStyleSheet?t:t.styleSheet);else for(const e of o){const o=document.createElement(\"style\"),n=t.litNonce;void 0!==n&&o.setAttribute(\"nonce\",n),o.textContent=e.cssText,s.appendChild(o)}},c=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e=\"\";for(const s of t.cssRules)e+=s.cssText;return r(e)})(t):t;export{n as CSSResult,S as adoptStyles,i as css,c as getCompatibleStyle,e as supportsAdoptingStyleSheets,r as unsafeCSS};\n//# sourceMappingURL=css-tag.js.map\n","import{getCompatibleStyle as t,adoptStyles as s}from\"./css-tag.js\";export{CSSResult,css,supportsAdoptingStyleSheets,unsafeCSS}from\"./css-tag.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{is:i,defineProperty:e,getOwnPropertyDescriptor:h,getOwnPropertyNames:r,getOwnPropertySymbols:o,getPrototypeOf:n}=Object,a=globalThis,c=a.trustedTypes,l=c?c.emptyScript:\"\",p=a.reactiveElementPolyfillSupport,d=(t,s)=>t,u={toAttribute(t,s){switch(s){case Boolean:t=t?l:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,s){let i=t;switch(s){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},f=(t,s)=>!i(t,s),b={attribute:!0,type:String,converter:u,reflect:!1,useDefault:!1,hasChanged:f};Symbol.metadata??=Symbol(\"metadata\"),a.litPropertyMetadata??=new WeakMap;class y extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,s=b){if(s.state&&(s.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((s=Object.create(s)).wrapped=!0),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),h=this.getPropertyDescriptor(t,i,s);void 0!==h&&e(this.prototype,t,h)}}static getPropertyDescriptor(t,s,i){const{get:e,set:r}=h(this.prototype,t)??{get(){return this[s]},set(t){this[s]=t}};return{get:e,set(s){const h=e?.call(this);r?.call(this,s),this.requestUpdate(t,h,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??b}static _$Ei(){if(this.hasOwnProperty(d(\"elementProperties\")))return;const t=n(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(d(\"finalized\")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(d(\"properties\"))){const t=this.properties,s=[...r(t),...o(t)];for(const i of s)this.createProperty(i,t[i])}const t=this[Symbol.metadata];if(null!==t){const s=litPropertyMetadata.get(t);if(void 0!==s)for(const[t,i]of s)this.elementProperties.set(t,i)}this._$Eh=new Map;for(const[t,s]of this.elementProperties){const i=this._$Eu(t,s);void 0!==i&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(s){const i=[];if(Array.isArray(s)){const e=new Set(s.flat(1/0).reverse());for(const s of e)i.unshift(t(s))}else void 0!==s&&i.push(t(s));return i}static _$Eu(t,s){const i=s.attribute;return!1===i?void 0:\"string\"==typeof i?i:\"string\"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(t=>this.enableUpdating=t),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(t=>t(this))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,s=this.constructor.elementProperties;for(const i of s.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return s(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(t=>t.hostConnected?.())}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach(t=>t.hostDisconnected?.())}attributeChangedCallback(t,s,i){this._$AK(t,i)}_$ET(t,s){const i=this.constructor.elementProperties.get(t),e=this.constructor._$Eu(t,i);if(void 0!==e&&!0===i.reflect){const h=(void 0!==i.converter?.toAttribute?i.converter:u).toAttribute(s,i.type);this._$Em=t,null==h?this.removeAttribute(e):this.setAttribute(e,h),this._$Em=null}}_$AK(t,s){const i=this.constructor,e=i._$Eh.get(t);if(void 0!==e&&this._$Em!==e){const t=i.getPropertyOptions(e),h=\"function\"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:u;this._$Em=e;const r=h.fromAttribute(s,t.type);this[e]=r??this._$Ej?.get(e)??r,this._$Em=null}}requestUpdate(t,s,i,e=!1,h){if(void 0!==t){const r=this.constructor;if(!1===e&&(h=this[t]),i??=r.getPropertyOptions(t),!((i.hasChanged??f)(h,s)||i.useDefault&&i.reflect&&h===this._$Ej?.get(t)&&!this.hasAttribute(r._$Eu(t,i))))return;this.C(t,s,i)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(t,s,{useDefault:i,reflect:e,wrapped:h},r){i&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,r??s??this[t]),!0!==h||void 0!==r)||(this._$AL.has(t)||(this.hasUpdated||i||(s=void 0),this._$AL.set(t,s)),!0===e&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,s]of this._$Ep)this[t]=s;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[s,i]of t){const{wrapped:t}=i,e=this[s];!0!==t||this._$AL.has(s)||void 0===e||this.C(s,void 0,i,e)}}let t=!1;const s=this._$AL;try{t=this.shouldUpdate(s),t?(this.willUpdate(s),this._$EO?.forEach(t=>t.hostUpdate?.()),this.update(s)):this._$EM()}catch(s){throw t=!1,this._$EM(),s}t&&this._$AE(s)}willUpdate(t){}_$AE(t){this._$EO?.forEach(t=>t.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach(t=>this._$ET(t,this[t])),this._$EM()}updated(t){}firstUpdated(t){}}y.elementStyles=[],y.shadowRootOptions={mode:\"open\"},y[d(\"elementProperties\")]=new Map,y[d(\"finalized\")]=new Map,p?.({ReactiveElement:y}),(a.reactiveElementVersions??=[]).push(\"2.1.2\");export{y as ReactiveElement,s as adoptStyles,u as defaultConverter,t as getCompatibleStyle,f as notEqual};\n//# sourceMappingURL=reactive-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,i=t=>t,s=t.trustedTypes,e=s?s.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,h=\"$lit$\",o=`lit$${Math.random().toFixed(9).slice(2)}$`,n=\"?\"+o,r=`<${n}>`,l=document,c=()=>l.createComment(\"\"),a=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,u=Array.isArray,d=t=>u(t)||\"function\"==typeof t?.[Symbol.iterator],f=\"[ \\t\\n\\f\\r]\",v=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,_=/-->/g,m=/>/g,p=RegExp(`>|${f}(?:([^\\\\s\"'>=/]+)(${f}*=${f}*(?:[^ \\t\\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`,\"g\"),g=/'/g,$=/\"/g,y=/^(?:script|style|textarea|title)$/i,x=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),b=x(1),w=x(2),T=x(3),E=Symbol.for(\"lit-noChange\"),A=Symbol.for(\"lit-nothing\"),C=new WeakMap,P=l.createTreeWalker(l,129);function V(t,i){if(!u(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return void 0!==e?e.createHTML(i):i}const N=(t,i)=>{const s=t.length-1,e=[];let n,l=2===i?\"<svg>\":3===i?\"<math>\":\"\",c=v;for(let i=0;i<s;i++){const s=t[i];let a,u,d=-1,f=0;for(;f<s.length&&(c.lastIndex=f,u=c.exec(s),null!==u);)f=c.lastIndex,c===v?\"!--\"===u[1]?c=_:void 0!==u[1]?c=m:void 0!==u[2]?(y.test(u[2])&&(n=RegExp(\"</\"+u[2],\"g\")),c=p):void 0!==u[3]&&(c=p):c===p?\">\"===u[0]?(c=n??v,d=-1):void 0===u[1]?d=-2:(d=c.lastIndex-u[2].length,a=u[1],c=void 0===u[3]?p:'\"'===u[3]?$:g):c===$||c===g?c=p:c===_||c===m?c=v:(c=p,n=void 0);const x=c===p&&t[i+1].startsWith(\"/>\")?\" \":\"\";l+=c===v?s+r:d>=0?(e.push(a),s.slice(0,d)+h+s.slice(d)+o+x):s+o+(-2===d?i:x)}return[V(t,l+(t[s]||\"<?>\")+(2===i?\"</svg>\":3===i?\"</math>\":\"\")),e]};class S{constructor({strings:t,_$litType$:i},e){let r;this.parts=[];let l=0,a=0;const u=t.length-1,d=this.parts,[f,v]=N(t,i);if(this.el=S.createElement(f,e),P.currentNode=this.el.content,2===i||3===i){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(r=P.nextNode())&&d.length<u;){if(1===r.nodeType){if(r.hasAttributes())for(const t of r.getAttributeNames())if(t.endsWith(h)){const i=v[a++],s=r.getAttribute(t).split(o),e=/([.?@])?(.*)/.exec(i);d.push({type:1,index:l,name:e[2],strings:s,ctor:\".\"===e[1]?I:\"?\"===e[1]?L:\"@\"===e[1]?z:H}),r.removeAttribute(t)}else t.startsWith(o)&&(d.push({type:6,index:l}),r.removeAttribute(t));if(y.test(r.tagName)){const t=r.textContent.split(o),i=t.length-1;if(i>0){r.textContent=s?s.emptyScript:\"\";for(let s=0;s<i;s++)r.append(t[s],c()),P.nextNode(),d.push({type:2,index:++l});r.append(t[i],c())}}}else if(8===r.nodeType)if(r.data===n)d.push({type:2,index:l});else{let t=-1;for(;-1!==(t=r.data.indexOf(o,t+1));)d.push({type:7,index:l}),t+=o.length-1}l++}}static createElement(t,i){const s=l.createElement(\"template\");return s.innerHTML=t,s}}function M(t,i,s=t,e){if(i===E)return i;let h=void 0!==e?s._$Co?.[e]:s._$Cl;const o=a(i)?void 0:i._$litDirective$;return h?.constructor!==o&&(h?._$AO?.(!1),void 0===o?h=void 0:(h=new o(t),h._$AT(t,s,e)),void 0!==e?(s._$Co??=[])[e]=h:s._$Cl=h),void 0!==h&&(i=M(t,h._$AS(t,i.values),h,e)),i}class R{constructor(t,i){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:i},parts:s}=this._$AD,e=(t?.creationScope??l).importNode(i,!0);P.currentNode=e;let h=P.nextNode(),o=0,n=0,r=s[0];for(;void 0!==r;){if(o===r.index){let i;2===r.type?i=new k(h,h.nextSibling,this,t):1===r.type?i=new r.ctor(h,r.name,r.strings,this,t):6===r.type&&(i=new Z(h,this,t)),this._$AV.push(i),r=s[++n]}o!==r?.index&&(h=P.nextNode(),o++)}return P.currentNode=l,e}p(t){let i=0;for(const s of this._$AV)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++}}class k{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,i,s,e){this.type=2,this._$AH=A,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cv=e?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===t?.nodeType&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=M(this,t,i),a(t)?t===A||null==t||\"\"===t?(this._$AH!==A&&this._$AR(),this._$AH=A):t!==this._$AH&&t!==E&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):d(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==A&&a(this._$AH)?this._$AA.nextSibling.data=t:this.T(l.createTextNode(t)),this._$AH=t}$(t){const{values:i,_$litType$:s}=t,e=\"number\"==typeof s?this._$AC(t):(void 0===s.el&&(s.el=S.createElement(V(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===e)this._$AH.p(i);else{const t=new R(e,this),s=t.u(this.options);t.p(i),this.T(s),this._$AH=t}}_$AC(t){let i=C.get(t.strings);return void 0===i&&C.set(t.strings,i=new S(t)),i}k(t){u(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const h of t)e===i.length?i.push(s=new k(this.O(c()),this.O(c()),this,this.options)):s=i[e],s._$AI(h),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e)}_$AR(t=this._$AA.nextSibling,s){for(this._$AP?.(!1,!0,s);t!==this._$AB;){const s=i(t).nextSibling;i(t).remove(),t=s}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t))}}class H{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,i,s,e,h){this.type=1,this._$AH=A,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=h,s.length>2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=A}_$AI(t,i=this,s,e){const h=this.strings;let o=!1;if(void 0===h)t=M(this,t,i,0),o=!a(t)||t!==this._$AH&&t!==E,o&&(this._$AH=t);else{const e=t;let n,r;for(t=h[0],n=0;n<h.length-1;n++)r=M(this,e[s+n],i,n),r===E&&(r=this._$AH[n]),o||=!a(r)||r!==this._$AH[n],r===A?t=A:t!==A&&(t+=(r??\"\")+h[n+1]),this._$AH[n]=r}o&&!e&&this.j(t)}j(t){t===A?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??\"\")}}class I extends H{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===A?void 0:t}}class L extends H{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==A)}}class z extends H{constructor(t,i,s,e,h){super(t,i,s,e,h),this.type=5}_$AI(t,i=this){if((t=M(this,t,i,0)??A)===E)return;const s=this._$AH,e=t===A&&s!==A||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,h=t!==A&&(s===A||e);e&&this.element.removeEventListener(this.name,this,s),h&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){\"function\"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}}class Z{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){M(this,t)}}const j={M:h,P:o,A:n,C:1,L:N,R,D:d,V:M,I:k,H,N:L,U:z,B:I,F:Z},B=t.litHtmlPolyfillSupport;B?.(S,k),(t.litHtmlVersions??=[]).push(\"3.3.2\");const D=(t,i,s)=>{const e=s?.renderBefore??i;let h=e._$litPart$;if(void 0===h){const t=s?.renderBefore??null;e._$litPart$=h=new k(i.insertBefore(c(),t),t,void 0,s??{})}return h._$AI(t),h};export{j as _$LH,b as html,T as mathml,E as noChange,A as nothing,D as render,w as svg};\n//# sourceMappingURL=lit-html.js.map\n","import{ReactiveElement as t}from\"@lit/reactive-element\";export*from\"@lit/reactive-element\";import{render as e,noChange as r}from\"lit-html\";export*from\"lit-html\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const s=globalThis;class i extends t{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const r=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=e(r,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return r}}i._$litElement$=!0,i[\"finalized\"]=!0,s.litElementHydrateSupport?.({LitElement:i});const o=s.litElementPolyfillSupport;o?.({LitElement:i});const n={_$AK:(t,e,r)=>{t._$AK(e,r)},_$AL:t=>t._$AL};(s.litElementVersions??=[]).push(\"4.2.2\");export{i as LitElement,n as _$LE};\n//# sourceMappingURL=lit-element.js.map\n","import { LitElement, html, TemplateResult } from 'lit';\n\n/**\n * Sun Panel 基础元素抽象类\n * 提供了微应用开发的基础能力\n */\nexport class SunPanelElement extends LitElement {\n private _initialized: boolean;\n private _eventListeners: Map<string, EventListener[]>;\n\n constructor() {\n super();\n this._initialized = false;\n this._eventListeners = new Map();\n }\n\n /**\n * 初始化微应用\n */\n initializeMicroApp(): void {\n if (this._initialized) return;\n \n this._setupEventListeners();\n this._initialized = true;\n }\n\n /**\n * 连接回调\n */\n connectedCallback(): void {\n super.connectedCallback();\n this.initializeMicroApp();\n this.onConnected();\n }\n\n /**\n * 断开连接回调\n */\n disconnectedCallback(): void {\n super.disconnectedCallback();\n this._cleanupEventListeners();\n this.onDisconnected();\n }\n\n /**\n * 属性变化回调\n * 注意:必须先调用 super,否则 LitElement 的响应式属性会失效\n */\n attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void {\n super.attributeChangedCallback(name, oldValue, newValue);\n this.onAttributeChanged(name, oldValue, newValue);\n }\n\n /**\n * 设置事件监听器\n */\n protected _setupEventListeners(): void {\n // 子类可重写此方法\n }\n\n /**\n * 清理事件监听器\n */\n protected _cleanupEventListeners(): void {\n // 取消所有事件监听\n // 将 Map 转换为数组以确保兼容性\n const entries = Array.from(this._eventListeners.entries());\n for (const [eventName, listeners] of entries) {\n listeners.forEach(listener => {\n window.removeEventListener(eventName, listener);\n });\n }\n this._eventListeners.clear();\n }\n\n /**\n * 添加事件监听器\n */\n addEventListener<K extends keyof HTMLElementEventMap>(\n type: K,\n listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any,\n options?: boolean | AddEventListenerOptions\n ): void;\n addEventListener(\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | AddEventListenerOptions\n ): void;\n addEventListener(\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | AddEventListenerOptions\n ): void {\n super.addEventListener(type, listener, options);\n }\n\n /**\n * 派发自定义事件\n */\n dispatchCustomEvent<T = any>(eventName: string, detail?: T): void {\n const event = new CustomEvent(eventName, {\n bubbles: true,\n composed: true,\n detail\n });\n this.dispatchEvent(event);\n }\n\n /**\n * 连接时回调\n */\n onConnected(): void {\n // 子类可重写此方法\n }\n\n /**\n * 断开连接时回调\n */\n onDisconnected(): void {\n // 子类可重写此方法\n }\n\n /**\n * 属性变化时回调\n */\n onAttributeChanged(_name: string, _oldValue: string | null, _newValue: string | null): void {\n // 子类可重写此方法\n }\n\n /**\n * 渲染方法(需要子类实现)\n */\n render(): TemplateResult {\n // 子类应重写此方法\n return html``;\n }\n}","import { SunPanelElement } from './SunPanelElement';\nimport { html, TemplateResult, PropertyValueMap } from 'lit';\nimport { SpContextWidget, NetworkMode, RoleType, WidgetInfo } from './types/common';\nimport { MicroAppAPI } from './types/api';\n\n/**\n * Sun Panel 小部件(卡片)元素基类\n * 用于开发微应用中的卡片组件\n */\nexport class SunPanelWidgetElement extends SunPanelElement {\n // 声明响应式属性(Lit 自动优化)\n static properties = {\n // attribute: false 表示只通过 Property 传递,不通过 HTML attribute\n spCtx: { type: Object, attribute: false }\n };\n\n spCtx: SpContextWidget;\n\n constructor() {\n super();\n // 统一状态对象\n this.spCtx = {\n // itemInfo: {} as ItemInfo,\n api: {} as MicroAppAPI,\n darkMode: false,\n language: 'zh-CN',\n networkMode: \"wan\" as NetworkMode,\n staticPath: '',\n role: 0 as RoleType, // 0:公开模式 1:私有模式 2:管理员模式\n widgetInfo: {} as WidgetInfo,\n };\n }\n\n /**\n * 精确更新方法(父级调用此方法更新状态)\n * @param partialContext - 需要更新的部分状态\n * @param callback - 可选的初始化完成回调\n * @example element.updateContext({ theme: 'dark', itemInfo: {...} })\n * @example element.updateContext({ api, widgetInfo }, (success, error) => { ... })\n */\n updateContext(partialContext: Partial<SpContextWidget>): void {\n if (!partialContext || typeof partialContext !== 'object') return;\n\n // 只更新传入的属性,过滤掉 undefined\n const filteredContext = Object.fromEntries(\n Object.entries(partialContext).filter(([_, value]) => value !== undefined)\n ) as Partial<SpContextWidget>;\n\n // 浅拷贝触发 Lit 响应式更新\n this.spCtx = { ...this.spCtx, ...filteredContext };\n }\n\n\n\n /**\n * 利用 Lit 生命周期处理状态变化\n */\n /**\n * 首次渲染完成后调用(只执行一次)\n * 适合进行 DOM 查询、初始化第三方库等操作\n */\n firstUpdated(changedProperties: PropertyValueMap<any> | Map<string, any>): void {\n super.firstUpdated?.(changedProperties);\n this.onFirstRendered();\n }\n\n /**\n * 每次更新完成后调用\n */\n updated(changedProperties: PropertyValueMap<any> | Map<string, any>): void {\n super.updated(changedProperties);\n\n if (changedProperties.has('spCtx')) {\n const oldContext = (changedProperties.get('spCtx') || {}) as SpContextWidget;\n const newContext = this.spCtx;\n\n // 小部件信息变化时触发\n if (newContext.widgetInfo !== oldContext.widgetInfo) {\n // this.spCtx.background = newContext.widgetInfo.background || '';\n this.onWidgetInfoChanged(newContext.widgetInfo, oldContext.widgetInfo);\n\n }\n // 主题变化时触发回调\n if (newContext.darkMode !== oldContext.darkMode) {\n this.onDarkModeChanged(newContext.darkMode, oldContext.darkMode);\n }\n\n // 语言变化时触发\n if (newContext.language !== oldContext.language) {\n this.onLanguageChanged(newContext.language, oldContext.language);\n }\n\n // 网络模式变化时触发\n if (newContext.networkMode !== oldContext.networkMode) {\n this.onNetworkModeChanged(newContext.networkMode as NetworkMode, oldContext.networkMode as NetworkMode);\n }\n }\n }\n\n onConnected(): void {\n super.onConnected();\n this.onInitialized();\n }\n\n /**\n * 初始化完成回调\n * 子类可重写此方法,用于初始化完成后的逻辑\n */\n onInitialized(): void {\n\n }\n\n\n /**\n * 首次渲染完成回调\n * 子类可重写此方法,用于 DOM 查询、第三方库初始化等\n */\n onFirstRendered(): void {\n // 子类可重写此方法\n }\n\n // /**\n // * 卡片尺寸变化回调\n // * @param cardSize - 卡片尺寸,如 1 | 2 | 3 | 4\n // */\n // onGridSizeTypeChanged(_cardSize: GridSizeType): void {\n // // 子类可重写此方法,处理卡片尺寸变化逻辑\n // }\n\n // onGridSizeChanged(_gridSize: string): void {\n // // 子类可重写此方法,处理卡片尺寸变化逻辑\n // }\n\n // /**\n // * 卡片背景颜色变化回调\n // * @param background - 背景颜色,如 '#000000' | 'rgb(0,0,0)' | 'rgba(0,0,0,1)' | 'black' ...\n // */\n // onBackgroundColorChanged(_background: BackgroundType): void {\n // // 子类可重写此方法,处理卡片背景颜色变化逻辑\n // }\n\n /**\n * 深色模式变化回调\n * @param isDark - true | false\n */\n onDarkModeChanged(_isDark: boolean, _oldIsDark: boolean): void {\n // 子类可重写此方法,处理主题切换逻辑\n }\n\n /**\n * 语言变化回调\n * @param language - 语言代码,如 'zh-CN' | 'en-US' ....\n */\n onLanguageChanged(_language: string, _oldLanguage: string): void {\n // 子类可重写此方法,处理语言切换逻辑\n }\n\n /**\n * 网络模式变化回调\n * @param networkMode - 网络模式,如 'wan' | 'lan'\n */\n onNetworkModeChanged(_networkMode: NetworkMode, _oldNetworkMode: NetworkMode): void {\n // 子类可重写此方法,处理网络模式切换逻辑\n }\n\n\n onWidgetInfoChanged(_widgetInfo: WidgetInfo, _oldWidgetInfo: WidgetInfo): void {\n // 子类可重写此方法,处理小部件信息变化逻辑\n }\n\n /**\n * 渲染方法(需要子类实现)\n */\n render(): TemplateResult {\n // 子类应重写此方法\n return html``;\n }\n}","import { SunPanelElement } from './SunPanelElement';\nimport { html, TemplateResult, PropertyValueMap } from 'lit';\nimport { SpContextPage, NetworkMode, RoleType, WidgetInfo, PageInitializedParam } from './types/common';\nimport { MicroAppAPI } from './types/api';\n\n\n/**\n * Sun Panel 页面元素基类\n * 用于开发微应用中的页面组件,以窗口的形式加载\n */\nexport class SunPanelPageElement extends SunPanelElement {\n // 声明响应式属性(Lit 自动优化)\n static properties = {\n // attribute: false 表示只通过 Property 传递,不通过 HTML attribute\n spCtx: { type: Object, attribute: false }\n };\n\n spCtx: SpContextPage;\n\n constructor() {\n super();\n // 统一状态对象\n this.spCtx = {\n api: {} as MicroAppAPI,\n darkMode: false,\n language: 'zh-CN',\n networkMode: \"wan\" as NetworkMode,\n staticPath: '',\n role: 0 as RoleType, // 0:公开模式 1:私有模式 2:管理员模式\n background: '',\n widgetInfo: {} as WidgetInfo,\n customParam: {} as any,\n };\n\n }\n\n /**\n * 精确更新方法(父级调用此方法更新状态)\n * @param partialContext - 需要更新的部分状态\n * @example element.updateContext({ theme: 'dark', itemInfo: {...} })\n */\n updateContext(partialContext: Partial<SpContextPage>): void {\n if (!partialContext || typeof partialContext !== 'object') return;\n\n // 只更新传入的属性,过滤掉 undefined\n const filteredContext = Object.fromEntries(\n Object.entries(partialContext).filter(([_, value]) => value !== undefined)\n ) as Partial<SpContextPage>;\n\n // 浅拷贝触发 Lit 响应式更新\n this.spCtx = { ...this.spCtx, ...filteredContext };\n }\n\n\n /**\n * 利用 Lit 生命周期处理状态变化\n */\n /**\n * 首次渲染完成后调用(只执行一次)\n * 适合进行 DOM 查询、初始化第三方库等操作\n */\n firstUpdated(changedProperties: PropertyValueMap<any> | Map<string, any>): void {\n super.firstUpdated?.(changedProperties);\n this.onFirstRendered();\n }\n\n /**\n * 每次更新完成后调用\n */\n updated(changedProperties: PropertyValueMap<any> | Map<string, any>): void {\n super.updated(changedProperties);\n\n if (changedProperties.has('spCtx')) {\n const oldContext = changedProperties.get('spCtx') || {} as SpContextPage;\n const newContext = this.spCtx;\n\n // 主题变化时触发回调\n if (newContext.darkMode !== oldContext.darkMode) {\n this.onDarkModeChanged(newContext.darkMode, oldContext.darkMode);\n }\n\n // 语言变化时触发\n if (newContext.language !== oldContext.language) {\n this.onLanguageChanged(newContext.language, oldContext.language);\n }\n\n // 网络模式变化时触发\n if (newContext.networkMode !== oldContext.networkMode) {\n this.onNetworkModeChanged(newContext.networkMode as NetworkMode, oldContext.networkMode as NetworkMode);\n }\n }\n }\n\n onConnected(): void {\n super.onConnected();\n this.onInitialized({ widgetInfo: this.spCtx.widgetInfo, customParam: this.spCtx.customParam });\n }\n\n /**\n * 初始化完成回调\n * 子类可重写此方法,用于初始化完成后的逻辑\n */\n onInitialized(_param: PageInitializedParam): void {\n\n }\n\n /**\n * 首次渲染完成回调\n * 子类可重写此方法,用于 DOM 查询、第三方库初始化等\n */\n onFirstRendered(): void {\n // 子类可重写此方法\n }\n\n /**\n * 主题变化回调\n * @param isDark - true | false\n */\n onDarkModeChanged(_isDark: boolean, _oldIsDark: boolean): void {\n // 子类可重写此方法,处理主题切换逻辑\n }\n\n /**\n * 语言变化回调\n * @param language - 语言代码,如 'zh-CN' | 'en-US' ....\n */\n onLanguageChanged(_language: string, _oldLanguage: string): void {\n // 子类可重写此方法,处理语言切换逻辑\n }\n\n /**\n * 网络模式变化回调\n * @param networkMode - 网络模式,如 'wan' | 'lan'\n */\n onNetworkModeChanged(_networkMode: NetworkMode, _oldNetworkMode: NetworkMode): void {\n // 子类可重写此方法,处理网络模式切换逻辑\n }\n\n /**\n * 渲染方法(需要子类实现)\n */\n render(): TemplateResult {\n // 子类应重写此方法\n return html``;\n }\n}","/**\n * 验证相关类型定义\n */\n\n/**\n * 验证规则接口\n */\nexport interface ValidationRule {\n required?: boolean;\n type?: 'string' | 'number' | 'boolean' | 'object' | 'array' | 'date' | 'email' | 'url';\n minLength?: number;\n maxLength?: number;\n min?: number;\n max?: number;\n pattern?: RegExp;\n validator?: (value: any) => boolean | string | Promise<boolean | string>;\n message?: string;\n}\n\n/**\n * 验证错误项接口\n */\nexport interface ValidationErrorItem {\n field: string;\n message: string;\n value?: any;\n}\n\n/**\n * 验证错误类\n */\nexport class ValidationError extends Error {\n errors: ValidationErrorItem[];\n\n constructor(errors: ValidationErrorItem[]) {\n super(`Validation failed: ${errors.map(e => e.message).join(', ')}`);\n this.name = 'ValidationError';\n this.errors = errors;\n }\n}\n\n/**\n * 验证器类\n */\nexport class Validator {\n /**\n * 验证单个值\n */\n static async validateField(value: any, rules: ValidationRule, fieldName = 'field'): Promise<ValidationErrorItem[]> {\n const errors: ValidationErrorItem[] = [];\n\n // 必填验证\n if (rules.required && (value === undefined || value === null || value === '')) {\n errors.push({\n field: fieldName,\n message: rules.message || `${fieldName} is required`,\n value\n });\n return errors; // 如果必填字段为空,则不再进行其他验证\n }\n\n // 如果不是必填且值为空,则跳过其他验证\n if (value === undefined || value === null || value === '') {\n return errors;\n }\n\n // 类型验证\n if (rules.type) {\n let isValidType = false;\n \n switch (rules.type) {\n case 'string':\n isValidType = typeof value === 'string';\n break;\n case 'number':\n isValidType = typeof value === 'number' && !isNaN(value);\n break;\n case 'boolean':\n isValidType = typeof value === 'boolean';\n break;\n case 'object':\n isValidType = typeof value === 'object' && value !== null && !Array.isArray(value);\n break;\n case 'array':\n isValidType = Array.isArray(value);\n break;\n case 'date':\n isValidType = value instanceof Date || !isNaN(Date.parse(value as string));\n break;\n case 'email':\n isValidType = typeof value === 'string' && /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(value);\n break;\n case 'url':\n try {\n new URL(value as string);\n isValidType = true;\n } catch {\n isValidType = false;\n }\n break;\n default:\n isValidType = true;\n }\n\n if (!isValidType) {\n errors.push({\n field: fieldName,\n message: rules.message || `${fieldName} must be of type ${rules.type}`,\n value\n });\n }\n }\n\n // 最小长度验证\n if (rules.minLength !== undefined && typeof value === 'string' && value.length < rules.minLength) {\n errors.push({\n field: fieldName,\n message: rules.message || `${fieldName} must be at least ${rules.minLength} characters`,\n value\n });\n }\n\n // 最大长度验证\n if (rules.maxLength !== undefined && typeof value === 'string' && value.length > rules.maxLength) {\n errors.push({\n field: fieldName,\n message: rules.message || `${fieldName} must be no more than ${rules.maxLength} characters`,\n value\n });\n }\n\n // 最小值验证\n if (rules.min !== undefined && typeof value === 'number' && value < rules.min) {\n errors.push({\n field: fieldName,\n message: rules.message || `${fieldName} must be at least ${rules.min}`,\n value\n });\n }\n\n // 最大值验证\n if (rules.max !== undefined && typeof value === 'number' && value > rules.max) {\n errors.push({\n field: fieldName,\n message: rules.message || `${fieldName} must be no more than ${rules.max}`,\n value\n });\n }\n\n // 正则表达式验证\n if (rules.pattern && typeof value === 'string' && !rules.pattern.test(value)) {\n errors.push({\n field: fieldName,\n message: rules.message || `${fieldName} format is invalid`,\n value\n });\n }\n\n // 自定义验证器\n if (rules.validator) {\n try {\n const result = await Promise.resolve(rules.validator(value));\n if (typeof result === 'string') {\n errors.push({\n field: fieldName,\n message: result,\n value\n });\n } else if (result === false) {\n errors.push({\n field: fieldName,\n message: rules.message || `${fieldName} is invalid`,\n value\n });\n }\n } catch (error: any) {\n errors.push({\n field: fieldName,\n message: rules.message || `Validation failed for ${fieldName}: ${error instanceof Error ? error.message : String(error)}`,\n value\n });\n }\n }\n\n return errors;\n }\n\n /**\n * 验证对象\n */\n static async validateObject(obj: Record<string, any>, rules: Record<string, ValidationRule>): Promise<ValidationErrorItem[]> {\n const allErrors: ValidationErrorItem[] = [];\n\n // 串行验证所有字段\n for (const field of Object.keys(rules)) {\n const fieldRules = rules[field];\n const fieldValue = obj[field];\n const fieldErrors = await this.validateField(fieldValue, fieldRules, field);\n allErrors.push(...fieldErrors);\n }\n\n return allErrors;\n }\n\n /**\n * 验证数组\n */\n static async validateArray(arr: any[], rules: ValidationRule): Promise<ValidationErrorItem[]> {\n if (!Array.isArray(arr)) {\n return [{\n field: 'array',\n message: 'Value must be an array',\n value: arr\n }];\n }\n\n const errors: ValidationErrorItem[] = [];\n\n // 验证数组本身的规则\n if (rules.min !== undefined && arr.length < rules.min) {\n errors.push({\n field: 'array',\n message: rules.message || `Array must have at least ${rules.min} items`,\n value: arr\n });\n }\n\n if (rules.max !== undefined && arr.length > rules.max) {\n errors.push({\n field: 'array',\n message: rules.message || `Array must have no more than ${rules.max} items`,\n value: arr\n });\n }\n\n // 如果有子项规则,验证每个子项\n if (rules.validator) {\n for (let i = 0; i < arr.length; i++) {\n const item = arr[i];\n const itemErrors = await this.validateField(item, rules, `array[${i}]`);\n errors.push(...itemErrors);\n }\n }\n\n return errors;\n }\n}\n\n/**\n * 表单验证器类\n */\nexport class FormValidator {\n private rules: Record<string, ValidationRule>;\n\n constructor(rules: Record<string, ValidationRule>) {\n this.rules = rules;\n }\n\n /**\n * 验证表单数据\n */\n async validate(data: Record<string, any>): Promise<ValidationErrorItem[]> {\n return await Validator.validateObject(data, this.rules);\n }\n\n /**\n * 验证并抛出错误\n */\n async validateOrThrow(data: Record<string, any>): Promise<void> {\n const errors = await this.validate(data);\n if (errors.length > 0) {\n throw new ValidationError(errors);\n }\n }\n}","// 导出所有公共 API\nexport { SunPanelElement } from './SunPanelElement.js';\nexport { SunPanelWidgetElement } from './SunPanelWidgetElement.js';\nexport { SunPanelPageElement } from './SunPanelPageElement.js';\nexport { Validator, FormValidator, ValidationError } from './validation.js';\n\n// 导出类型\nexport type { SpContext, SpContextWidget, SpContextPage } from './types/common.js';\n\n// 版本号\nexport const VERSION = '__VERSION__';"],"names":["t","globalThis","e","ShadowRoot","ShadyCSS","nativeShadow","Document","prototype","CSSStyleSheet","s","Symbol","o","WeakMap","n$2","constructor","this","_$cssResult$","Error","cssText","styleSheet","length","get","replaceSync","set","toString","c","cssRules","n","r","is","i","defineProperty","getOwnPropertyDescriptor","h","getOwnPropertyNames","getOwnPropertySymbols","getPrototypeOf","Object","a","trustedTypes","l","emptyScript","p","reactiveElementPolyfillSupport","d","u","toAttribute","Boolean","Array","JSON","stringify","fromAttribute","Number","parse","f","b","attribute","type","String","converter","reflect","useDefault","hasChanged","metadata","litPropertyMetadata","y$1","HTMLElement","addInitializer","_$Ei","push","observedAttributes","finalize","_$Eh","keys","createProperty","state","hasOwnProperty","create","wrapped","elementProperties","noAccessor","getPropertyDescriptor","call","requestUpdate","configurable","enumerable","getPropertyOptions","Map","finalized","properties","_$Eu","elementStyles","finalizeStyles","styles","isArray","Set","flat","reverse","unshift","toLowerCase","super","_$Ep","isUpdatePending","hasUpdated","_$Em","_$Ev","_$ES","Promise","enableUpdating","_$AL","_$E_","forEach","addController","_$EO","add","renderRoot","isConnected","hostConnected","removeController","delete","size","createRenderRoot","shadowRoot","attachShadow","shadowRootOptions","adoptedStyleSheets","map","document","createElement","litNonce","setAttribute","textContent","appendChild","connectedCallback","disconnectedCallback","hostDisconnected","attributeChangedCallback","_$AK","_$ET","removeAttribute","_$Ej","hasAttribute","C","_$EP","has","_$Eq","reject","scheduleUpdate","performUpdate","shouldUpdate","willUpdate","hostUpdate","update","_$EM","_$AE","hostUpdated","firstUpdated","updated","updateComplete","getUpdateComplete","y","mode","ReactiveElement","reactiveElementVersions","createPolicy","createHTML","Math","random","toFixed","slice","createComment","v","_","m","RegExp","g","$","_$litType$","strings","values","x","E","for","A","P","createTreeWalker","V","N","lastIndex","exec","test","startsWith","S","parts","el","currentNode","content","firstChild","replaceWith","childNodes","nextNode","nodeType","hasAttributes","getAttributeNames","endsWith","getAttribute","split","index","name","ctor","I","L","z","H","tagName","append","data","indexOf","innerHTML","M","_$Co","_$Cl","_$litDirective$","_$AO","_$AT","_$AS","R","_$AV","_$AN","_$AD","_$AM","parentNode","_$AU","creationScope","importNode","k","nextSibling","Z","_$AI","_$Cv","_$AH","_$AA","_$AB","options","startNode","endNode","_$AR","T","iterator","O","insertBefore","createTextNode","_$AC","_$AP","remove","setConnected","element","fill","j","arguments","toggleAttribute","capture","once","passive","removeEventListener","addEventListener","handleEvent","host","B","litHtmlPolyfillSupport","litHtmlVersions","renderOptions","_$Do","renderBefore","render","_$litPart$","_$litElement$","litElementHydrateSupport","LitElement","litElementPolyfillSupport","litElementVersions","SunPanelElement","_initialized","_eventListeners","initializeMicroApp","_setupEventListeners","onConnected","_cleanupEventListeners","onDisconnected","oldValue","newValue","onAttributeChanged","entries","from","eventName","listeners","listener","window","clear","dispatchCustomEvent","detail","event","CustomEvent","bubbles","composed","dispatchEvent","_name","_oldValue","_newValue","html","SunPanelWidgetElement","spCtx","api","darkMode","language","networkMode","staticPath","role","widgetInfo","updateContext","partialContext","filteredContext","fromEntries","filter","value","undefined","changedProperties","onFirstRendered","oldContext","newContext","onWidgetInfoChanged","onDarkModeChanged","onLanguageChanged","onNetworkModeChanged","onInitialized","_isDark","_oldIsDark","_language","_oldLanguage","_networkMode","_oldNetworkMode","_widgetInfo","_oldWidgetInfo","SunPanelPageElement","background","customParam","_param","ValidationError","errors","message","join","Validator","validateField","rules","fieldName","required","field","isValidType","isNaN","Date","URL","minLength","maxLength","min","max","pattern","validator","result","resolve","error","validateObject","obj","allErrors","fieldRules","fieldValue","fieldErrors","validateArray","arr","item","itemErrors","validate","validateOrThrow"],"mappings":"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","x_google_ignoreList":[0,1,2,3]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAG5E,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGnF,eAAO,MAAM,OAAO,gBAAgB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.esm.js","sources":["../node_modules/@lit/reactive-element/css-tag.js","../node_modules/@lit/reactive-element/reactive-element.js","../node_modules/lit-html/lit-html.js","../node_modules/lit-element/lit-element.js","../../src/SunPanelElement.ts","../../src/SunPanelWidgetElement.ts","../../src/SunPanelPageElement.ts","../../src/validation.ts","../../src/index.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,s=Symbol(),o=new WeakMap;class n{constructor(t,e,o){if(this._$cssResult$=!0,o!==s)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const s=this.t;if(e&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=o.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o.set(s,t))}return t}toString(){return this.cssText}}const r=t=>new n(\"string\"==typeof t?t:t+\"\",void 0,s),i=(t,...e)=>{const o=1===t.length?t[0]:e.reduce((e,s,o)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(s)+t[o+1],t[0]);return new n(o,t,s)},S=(s,o)=>{if(e)s.adoptedStyleSheets=o.map(t=>t instanceof CSSStyleSheet?t:t.styleSheet);else for(const e of o){const o=document.createElement(\"style\"),n=t.litNonce;void 0!==n&&o.setAttribute(\"nonce\",n),o.textContent=e.cssText,s.appendChild(o)}},c=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e=\"\";for(const s of t.cssRules)e+=s.cssText;return r(e)})(t):t;export{n as CSSResult,S as adoptStyles,i as css,c as getCompatibleStyle,e as supportsAdoptingStyleSheets,r as unsafeCSS};\n//# sourceMappingURL=css-tag.js.map\n","import{getCompatibleStyle as t,adoptStyles as s}from\"./css-tag.js\";export{CSSResult,css,supportsAdoptingStyleSheets,unsafeCSS}from\"./css-tag.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{is:i,defineProperty:e,getOwnPropertyDescriptor:h,getOwnPropertyNames:r,getOwnPropertySymbols:o,getPrototypeOf:n}=Object,a=globalThis,c=a.trustedTypes,l=c?c.emptyScript:\"\",p=a.reactiveElementPolyfillSupport,d=(t,s)=>t,u={toAttribute(t,s){switch(s){case Boolean:t=t?l:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,s){let i=t;switch(s){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},f=(t,s)=>!i(t,s),b={attribute:!0,type:String,converter:u,reflect:!1,useDefault:!1,hasChanged:f};Symbol.metadata??=Symbol(\"metadata\"),a.litPropertyMetadata??=new WeakMap;class y extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,s=b){if(s.state&&(s.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((s=Object.create(s)).wrapped=!0),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),h=this.getPropertyDescriptor(t,i,s);void 0!==h&&e(this.prototype,t,h)}}static getPropertyDescriptor(t,s,i){const{get:e,set:r}=h(this.prototype,t)??{get(){return this[s]},set(t){this[s]=t}};return{get:e,set(s){const h=e?.call(this);r?.call(this,s),this.requestUpdate(t,h,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??b}static _$Ei(){if(this.hasOwnProperty(d(\"elementProperties\")))return;const t=n(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(d(\"finalized\")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(d(\"properties\"))){const t=this.properties,s=[...r(t),...o(t)];for(const i of s)this.createProperty(i,t[i])}const t=this[Symbol.metadata];if(null!==t){const s=litPropertyMetadata.get(t);if(void 0!==s)for(const[t,i]of s)this.elementProperties.set(t,i)}this._$Eh=new Map;for(const[t,s]of this.elementProperties){const i=this._$Eu(t,s);void 0!==i&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(s){const i=[];if(Array.isArray(s)){const e=new Set(s.flat(1/0).reverse());for(const s of e)i.unshift(t(s))}else void 0!==s&&i.push(t(s));return i}static _$Eu(t,s){const i=s.attribute;return!1===i?void 0:\"string\"==typeof i?i:\"string\"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(t=>this.enableUpdating=t),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(t=>t(this))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,s=this.constructor.elementProperties;for(const i of s.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return s(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(t=>t.hostConnected?.())}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach(t=>t.hostDisconnected?.())}attributeChangedCallback(t,s,i){this._$AK(t,i)}_$ET(t,s){const i=this.constructor.elementProperties.get(t),e=this.constructor._$Eu(t,i);if(void 0!==e&&!0===i.reflect){const h=(void 0!==i.converter?.toAttribute?i.converter:u).toAttribute(s,i.type);this._$Em=t,null==h?this.removeAttribute(e):this.setAttribute(e,h),this._$Em=null}}_$AK(t,s){const i=this.constructor,e=i._$Eh.get(t);if(void 0!==e&&this._$Em!==e){const t=i.getPropertyOptions(e),h=\"function\"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:u;this._$Em=e;const r=h.fromAttribute(s,t.type);this[e]=r??this._$Ej?.get(e)??r,this._$Em=null}}requestUpdate(t,s,i,e=!1,h){if(void 0!==t){const r=this.constructor;if(!1===e&&(h=this[t]),i??=r.getPropertyOptions(t),!((i.hasChanged??f)(h,s)||i.useDefault&&i.reflect&&h===this._$Ej?.get(t)&&!this.hasAttribute(r._$Eu(t,i))))return;this.C(t,s,i)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(t,s,{useDefault:i,reflect:e,wrapped:h},r){i&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,r??s??this[t]),!0!==h||void 0!==r)||(this._$AL.has(t)||(this.hasUpdated||i||(s=void 0),this._$AL.set(t,s)),!0===e&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,s]of this._$Ep)this[t]=s;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[s,i]of t){const{wrapped:t}=i,e=this[s];!0!==t||this._$AL.has(s)||void 0===e||this.C(s,void 0,i,e)}}let t=!1;const s=this._$AL;try{t=this.shouldUpdate(s),t?(this.willUpdate(s),this._$EO?.forEach(t=>t.hostUpdate?.()),this.update(s)):this._$EM()}catch(s){throw t=!1,this._$EM(),s}t&&this._$AE(s)}willUpdate(t){}_$AE(t){this._$EO?.forEach(t=>t.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach(t=>this._$ET(t,this[t])),this._$EM()}updated(t){}firstUpdated(t){}}y.elementStyles=[],y.shadowRootOptions={mode:\"open\"},y[d(\"elementProperties\")]=new Map,y[d(\"finalized\")]=new Map,p?.({ReactiveElement:y}),(a.reactiveElementVersions??=[]).push(\"2.1.2\");export{y as ReactiveElement,s as adoptStyles,u as defaultConverter,t as getCompatibleStyle,f as notEqual};\n//# sourceMappingURL=reactive-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,i=t=>t,s=t.trustedTypes,e=s?s.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,h=\"$lit$\",o=`lit$${Math.random().toFixed(9).slice(2)}$`,n=\"?\"+o,r=`<${n}>`,l=document,c=()=>l.createComment(\"\"),a=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,u=Array.isArray,d=t=>u(t)||\"function\"==typeof t?.[Symbol.iterator],f=\"[ \\t\\n\\f\\r]\",v=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,_=/-->/g,m=/>/g,p=RegExp(`>|${f}(?:([^\\\\s\"'>=/]+)(${f}*=${f}*(?:[^ \\t\\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`,\"g\"),g=/'/g,$=/\"/g,y=/^(?:script|style|textarea|title)$/i,x=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),b=x(1),w=x(2),T=x(3),E=Symbol.for(\"lit-noChange\"),A=Symbol.for(\"lit-nothing\"),C=new WeakMap,P=l.createTreeWalker(l,129);function V(t,i){if(!u(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return void 0!==e?e.createHTML(i):i}const N=(t,i)=>{const s=t.length-1,e=[];let n,l=2===i?\"<svg>\":3===i?\"<math>\":\"\",c=v;for(let i=0;i<s;i++){const s=t[i];let a,u,d=-1,f=0;for(;f<s.length&&(c.lastIndex=f,u=c.exec(s),null!==u);)f=c.lastIndex,c===v?\"!--\"===u[1]?c=_:void 0!==u[1]?c=m:void 0!==u[2]?(y.test(u[2])&&(n=RegExp(\"</\"+u[2],\"g\")),c=p):void 0!==u[3]&&(c=p):c===p?\">\"===u[0]?(c=n??v,d=-1):void 0===u[1]?d=-2:(d=c.lastIndex-u[2].length,a=u[1],c=void 0===u[3]?p:'\"'===u[3]?$:g):c===$||c===g?c=p:c===_||c===m?c=v:(c=p,n=void 0);const x=c===p&&t[i+1].startsWith(\"/>\")?\" \":\"\";l+=c===v?s+r:d>=0?(e.push(a),s.slice(0,d)+h+s.slice(d)+o+x):s+o+(-2===d?i:x)}return[V(t,l+(t[s]||\"<?>\")+(2===i?\"</svg>\":3===i?\"</math>\":\"\")),e]};class S{constructor({strings:t,_$litType$:i},e){let r;this.parts=[];let l=0,a=0;const u=t.length-1,d=this.parts,[f,v]=N(t,i);if(this.el=S.createElement(f,e),P.currentNode=this.el.content,2===i||3===i){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(r=P.nextNode())&&d.length<u;){if(1===r.nodeType){if(r.hasAttributes())for(const t of r.getAttributeNames())if(t.endsWith(h)){const i=v[a++],s=r.getAttribute(t).split(o),e=/([.?@])?(.*)/.exec(i);d.push({type:1,index:l,name:e[2],strings:s,ctor:\".\"===e[1]?I:\"?\"===e[1]?L:\"@\"===e[1]?z:H}),r.removeAttribute(t)}else t.startsWith(o)&&(d.push({type:6,index:l}),r.removeAttribute(t));if(y.test(r.tagName)){const t=r.textContent.split(o),i=t.length-1;if(i>0){r.textContent=s?s.emptyScript:\"\";for(let s=0;s<i;s++)r.append(t[s],c()),P.nextNode(),d.push({type:2,index:++l});r.append(t[i],c())}}}else if(8===r.nodeType)if(r.data===n)d.push({type:2,index:l});else{let t=-1;for(;-1!==(t=r.data.indexOf(o,t+1));)d.push({type:7,index:l}),t+=o.length-1}l++}}static createElement(t,i){const s=l.createElement(\"template\");return s.innerHTML=t,s}}function M(t,i,s=t,e){if(i===E)return i;let h=void 0!==e?s._$Co?.[e]:s._$Cl;const o=a(i)?void 0:i._$litDirective$;return h?.constructor!==o&&(h?._$AO?.(!1),void 0===o?h=void 0:(h=new o(t),h._$AT(t,s,e)),void 0!==e?(s._$Co??=[])[e]=h:s._$Cl=h),void 0!==h&&(i=M(t,h._$AS(t,i.values),h,e)),i}class R{constructor(t,i){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:i},parts:s}=this._$AD,e=(t?.creationScope??l).importNode(i,!0);P.currentNode=e;let h=P.nextNode(),o=0,n=0,r=s[0];for(;void 0!==r;){if(o===r.index){let i;2===r.type?i=new k(h,h.nextSibling,this,t):1===r.type?i=new r.ctor(h,r.name,r.strings,this,t):6===r.type&&(i=new Z(h,this,t)),this._$AV.push(i),r=s[++n]}o!==r?.index&&(h=P.nextNode(),o++)}return P.currentNode=l,e}p(t){let i=0;for(const s of this._$AV)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++}}class k{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,i,s,e){this.type=2,this._$AH=A,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cv=e?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===t?.nodeType&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=M(this,t,i),a(t)?t===A||null==t||\"\"===t?(this._$AH!==A&&this._$AR(),this._$AH=A):t!==this._$AH&&t!==E&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):d(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==A&&a(this._$AH)?this._$AA.nextSibling.data=t:this.T(l.createTextNode(t)),this._$AH=t}$(t){const{values:i,_$litType$:s}=t,e=\"number\"==typeof s?this._$AC(t):(void 0===s.el&&(s.el=S.createElement(V(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===e)this._$AH.p(i);else{const t=new R(e,this),s=t.u(this.options);t.p(i),this.T(s),this._$AH=t}}_$AC(t){let i=C.get(t.strings);return void 0===i&&C.set(t.strings,i=new S(t)),i}k(t){u(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const h of t)e===i.length?i.push(s=new k(this.O(c()),this.O(c()),this,this.options)):s=i[e],s._$AI(h),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e)}_$AR(t=this._$AA.nextSibling,s){for(this._$AP?.(!1,!0,s);t!==this._$AB;){const s=i(t).nextSibling;i(t).remove(),t=s}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t))}}class H{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,i,s,e,h){this.type=1,this._$AH=A,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=h,s.length>2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=A}_$AI(t,i=this,s,e){const h=this.strings;let o=!1;if(void 0===h)t=M(this,t,i,0),o=!a(t)||t!==this._$AH&&t!==E,o&&(this._$AH=t);else{const e=t;let n,r;for(t=h[0],n=0;n<h.length-1;n++)r=M(this,e[s+n],i,n),r===E&&(r=this._$AH[n]),o||=!a(r)||r!==this._$AH[n],r===A?t=A:t!==A&&(t+=(r??\"\")+h[n+1]),this._$AH[n]=r}o&&!e&&this.j(t)}j(t){t===A?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??\"\")}}class I extends H{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===A?void 0:t}}class L extends H{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==A)}}class z extends H{constructor(t,i,s,e,h){super(t,i,s,e,h),this.type=5}_$AI(t,i=this){if((t=M(this,t,i,0)??A)===E)return;const s=this._$AH,e=t===A&&s!==A||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,h=t!==A&&(s===A||e);e&&this.element.removeEventListener(this.name,this,s),h&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){\"function\"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}}class Z{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){M(this,t)}}const j={M:h,P:o,A:n,C:1,L:N,R,D:d,V:M,I:k,H,N:L,U:z,B:I,F:Z},B=t.litHtmlPolyfillSupport;B?.(S,k),(t.litHtmlVersions??=[]).push(\"3.3.2\");const D=(t,i,s)=>{const e=s?.renderBefore??i;let h=e._$litPart$;if(void 0===h){const t=s?.renderBefore??null;e._$litPart$=h=new k(i.insertBefore(c(),t),t,void 0,s??{})}return h._$AI(t),h};export{j as _$LH,b as html,T as mathml,E as noChange,A as nothing,D as render,w as svg};\n//# sourceMappingURL=lit-html.js.map\n","import{ReactiveElement as t}from\"@lit/reactive-element\";export*from\"@lit/reactive-element\";import{render as e,noChange as r}from\"lit-html\";export*from\"lit-html\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const s=globalThis;class i extends t{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const r=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=e(r,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return r}}i._$litElement$=!0,i[\"finalized\"]=!0,s.litElementHydrateSupport?.({LitElement:i});const o=s.litElementPolyfillSupport;o?.({LitElement:i});const n={_$AK:(t,e,r)=>{t._$AK(e,r)},_$AL:t=>t._$AL};(s.litElementVersions??=[]).push(\"4.2.2\");export{i as LitElement,n as _$LE};\n//# sourceMappingURL=lit-element.js.map\n","import { LitElement, html, TemplateResult } from 'lit';\n\n/**\n * Sun Panel 基础元素抽象类\n * 提供了微应用开发的基础能力\n */\nexport class SunPanelElement extends LitElement {\n private _initialized: boolean;\n private _eventListeners: Map<string, EventListener[]>;\n\n constructor() {\n super();\n this._initialized = false;\n this._eventListeners = new Map();\n }\n\n /**\n * 初始化微应用\n */\n initializeMicroApp(): void {\n if (this._initialized) return;\n \n this._setupEventListeners();\n this._initialized = true;\n }\n\n /**\n * 连接回调\n */\n connectedCallback(): void {\n super.connectedCallback();\n this.initializeMicroApp();\n this.onConnected();\n }\n\n /**\n * 断开连接回调\n */\n disconnectedCallback(): void {\n super.disconnectedCallback();\n this._cleanupEventListeners();\n this.onDisconnected();\n }\n\n /**\n * 属性变化回调\n * 注意:必须先调用 super,否则 LitElement 的响应式属性会失效\n */\n attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void {\n super.attributeChangedCallback(name, oldValue, newValue);\n this.onAttributeChanged(name, oldValue, newValue);\n }\n\n /**\n * 设置事件监听器\n */\n protected _setupEventListeners(): void {\n // 子类可重写此方法\n }\n\n /**\n * 清理事件监听器\n */\n protected _cleanupEventListeners(): void {\n // 取消所有事件监听\n // 将 Map 转换为数组以确保兼容性\n const entries = Array.from(this._eventListeners.entries());\n for (const [eventName, listeners] of entries) {\n listeners.forEach(listener => {\n window.removeEventListener(eventName, listener);\n });\n }\n this._eventListeners.clear();\n }\n\n /**\n * 添加事件监听器\n */\n addEventListener<K extends keyof HTMLElementEventMap>(\n type: K,\n listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any,\n options?: boolean | AddEventListenerOptions\n ): void;\n addEventListener(\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | AddEventListenerOptions\n ): void;\n addEventListener(\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | AddEventListenerOptions\n ): void {\n super.addEventListener(type, listener, options);\n }\n\n /**\n * 派发自定义事件\n */\n dispatchCustomEvent<T = any>(eventName: string, detail?: T): void {\n const event = new CustomEvent(eventName, {\n bubbles: true,\n composed: true,\n detail\n });\n this.dispatchEvent(event);\n }\n\n /**\n * 连接时回调\n */\n onConnected(): void {\n // 子类可重写此方法\n }\n\n /**\n * 断开连接时回调\n */\n onDisconnected(): void {\n // 子类可重写此方法\n }\n\n /**\n * 属性变化时回调\n */\n onAttributeChanged(_name: string, _oldValue: string | null, _newValue: string | null): void {\n // 子类可重写此方法\n }\n\n /**\n * 渲染方法(需要子类实现)\n */\n render(): TemplateResult {\n // 子类应重写此方法\n return html``;\n }\n}","import { SunPanelElement } from './SunPanelElement';\nimport { html, TemplateResult, PropertyValueMap } from 'lit';\nimport { SpContextWidget, NetworkMode, RoleType, WidgetInfo } from './types/common';\nimport { MicroAppAPI } from './types/api';\n\n/**\n * Sun Panel 小部件(卡片)元素基类\n * 用于开发微应用中的卡片组件\n */\nexport class SunPanelWidgetElement extends SunPanelElement {\n // 声明响应式属性(Lit 自动优化)\n static properties = {\n // attribute: false 表示只通过 Property 传递,不通过 HTML attribute\n spCtx: { type: Object, attribute: false }\n };\n\n spCtx: SpContextWidget;\n\n constructor() {\n super();\n // 统一状态对象\n this.spCtx = {\n // itemInfo: {} as ItemInfo,\n api: {} as MicroAppAPI,\n darkMode: false,\n language: 'zh-CN',\n networkMode: \"wan\" as NetworkMode,\n staticPath: '',\n role: 0 as RoleType, // 0:公开模式 1:私有模式 2:管理员模式\n widgetInfo: {} as WidgetInfo,\n };\n }\n\n /**\n * 精确更新方法(父级调用此方法更新状态)\n * @param partialContext - 需要更新的部分状态\n * @param callback - 可选的初始化完成回调\n * @example element.updateContext({ theme: 'dark', itemInfo: {...} })\n * @example element.updateContext({ api, widgetInfo }, (success, error) => { ... })\n */\n updateContext(partialContext: Partial<SpContextWidget>): void {\n if (!partialContext || typeof partialContext !== 'object') return;\n\n // 只更新传入的属性,过滤掉 undefined\n const filteredContext = Object.fromEntries(\n Object.entries(partialContext).filter(([_, value]) => value !== undefined)\n ) as Partial<SpContextWidget>;\n\n // 浅拷贝触发 Lit 响应式更新\n this.spCtx = { ...this.spCtx, ...filteredContext };\n }\n\n\n\n /**\n * 利用 Lit 生命周期处理状态变化\n */\n /**\n * 首次渲染完成后调用(只执行一次)\n * 适合进行 DOM 查询、初始化第三方库等操作\n */\n firstUpdated(changedProperties: PropertyValueMap<any> | Map<string, any>): void {\n super.firstUpdated?.(changedProperties);\n this.onFirstRendered();\n }\n\n /**\n * 每次更新完成后调用\n */\n updated(changedProperties: PropertyValueMap<any> | Map<string, any>): void {\n super.updated(changedProperties);\n\n if (changedProperties.has('spCtx')) {\n const oldContext = (changedProperties.get('spCtx') || {}) as SpContextWidget;\n const newContext = this.spCtx;\n\n // 小部件信息变化时触发\n if (newContext.widgetInfo !== oldContext.widgetInfo) {\n // this.spCtx.background = newContext.widgetInfo.background || '';\n this.onWidgetInfoChanged(newContext.widgetInfo, oldContext.widgetInfo);\n\n }\n // 主题变化时触发回调\n if (newContext.darkMode !== oldContext.darkMode) {\n this.onDarkModeChanged(newContext.darkMode, oldContext.darkMode);\n }\n\n // 语言变化时触发\n if (newContext.language !== oldContext.language) {\n this.onLanguageChanged(newContext.language, oldContext.language);\n }\n\n // 网络模式变化时触发\n if (newContext.networkMode !== oldContext.networkMode) {\n this.onNetworkModeChanged(newContext.networkMode as NetworkMode, oldContext.networkMode as NetworkMode);\n }\n }\n }\n\n onConnected(): void {\n super.onConnected();\n this.onInitialized();\n }\n\n /**\n * 初始化完成回调\n * 子类可重写此方法,用于初始化完成后的逻辑\n */\n onInitialized(): void {\n\n }\n\n\n /**\n * 首次渲染完成回调\n * 子类可重写此方法,用于 DOM 查询、第三方库初始化等\n */\n onFirstRendered(): void {\n // 子类可重写此方法\n }\n\n // /**\n // * 卡片尺寸变化回调\n // * @param cardSize - 卡片尺寸,如 1 | 2 | 3 | 4\n // */\n // onGridSizeTypeChanged(_cardSize: GridSizeType): void {\n // // 子类可重写此方法,处理卡片尺寸变化逻辑\n // }\n\n // onGridSizeChanged(_gridSize: string): void {\n // // 子类可重写此方法,处理卡片尺寸变化逻辑\n // }\n\n // /**\n // * 卡片背景颜色变化回调\n // * @param background - 背景颜色,如 '#000000' | 'rgb(0,0,0)' | 'rgba(0,0,0,1)' | 'black' ...\n // */\n // onBackgroundColorChanged(_background: BackgroundType): void {\n // // 子类可重写此方法,处理卡片背景颜色变化逻辑\n // }\n\n /**\n * 深色模式变化回调\n * @param isDark - true | false\n */\n onDarkModeChanged(_isDark: boolean, _oldIsDark: boolean): void {\n // 子类可重写此方法,处理主题切换逻辑\n }\n\n /**\n * 语言变化回调\n * @param language - 语言代码,如 'zh-CN' | 'en-US' ....\n */\n onLanguageChanged(_language: string, _oldLanguage: string): void {\n // 子类可重写此方法,处理语言切换逻辑\n }\n\n /**\n * 网络模式变化回调\n * @param networkMode - 网络模式,如 'wan' | 'lan'\n */\n onNetworkModeChanged(_networkMode: NetworkMode, _oldNetworkMode: NetworkMode): void {\n // 子类可重写此方法,处理网络模式切换逻辑\n }\n\n\n onWidgetInfoChanged(_widgetInfo: WidgetInfo, _oldWidgetInfo: WidgetInfo): void {\n // 子类可重写此方法,处理小部件信息变化逻辑\n }\n\n /**\n * 渲染方法(需要子类实现)\n */\n render(): TemplateResult {\n // 子类应重写此方法\n return html``;\n }\n}","import { SunPanelElement } from './SunPanelElement';\nimport { html, TemplateResult, PropertyValueMap } from 'lit';\nimport { SpContextPage, NetworkMode, RoleType, WidgetInfo, PageInitializedParam } from './types/common';\nimport { MicroAppAPI } from './types/api';\n\n\n/**\n * Sun Panel 页面元素基类\n * 用于开发微应用中的页面组件,以窗口的形式加载\n */\nexport class SunPanelPageElement extends SunPanelElement {\n // 声明响应式属性(Lit 自动优化)\n static properties = {\n // attribute: false 表示只通过 Property 传递,不通过 HTML attribute\n spCtx: { type: Object, attribute: false }\n };\n\n spCtx: SpContextPage;\n\n constructor() {\n super();\n // 统一状态对象\n this.spCtx = {\n api: {} as MicroAppAPI,\n darkMode: false,\n language: 'zh-CN',\n networkMode: \"wan\" as NetworkMode,\n staticPath: '',\n role: 0 as RoleType, // 0:公开模式 1:私有模式 2:管理员模式\n background: '',\n widgetInfo: {} as WidgetInfo,\n customParam: {} as any,\n };\n\n }\n\n /**\n * 精确更新方法(父级调用此方法更新状态)\n * @param partialContext - 需要更新的部分状态\n * @example element.updateContext({ theme: 'dark', itemInfo: {...} })\n */\n updateContext(partialContext: Partial<SpContextPage>): void {\n if (!partialContext || typeof partialContext !== 'object') return;\n\n // 只更新传入的属性,过滤掉 undefined\n const filteredContext = Object.fromEntries(\n Object.entries(partialContext).filter(([_, value]) => value !== undefined)\n ) as Partial<SpContextPage>;\n\n // 浅拷贝触发 Lit 响应式更新\n this.spCtx = { ...this.spCtx, ...filteredContext };\n }\n\n\n /**\n * 利用 Lit 生命周期处理状态变化\n */\n /**\n * 首次渲染完成后调用(只执行一次)\n * 适合进行 DOM 查询、初始化第三方库等操作\n */\n firstUpdated(changedProperties: PropertyValueMap<any> | Map<string, any>): void {\n super.firstUpdated?.(changedProperties);\n this.onFirstRendered();\n }\n\n /**\n * 每次更新完成后调用\n */\n updated(changedProperties: PropertyValueMap<any> | Map<string, any>): void {\n super.updated(changedProperties);\n\n if (changedProperties.has('spCtx')) {\n const oldContext = changedProperties.get('spCtx') || {} as SpContextPage;\n const newContext = this.spCtx;\n\n // 主题变化时触发回调\n if (newContext.darkMode !== oldContext.darkMode) {\n this.onDarkModeChanged(newContext.darkMode, oldContext.darkMode);\n }\n\n // 语言变化时触发\n if (newContext.language !== oldContext.language) {\n this.onLanguageChanged(newContext.language, oldContext.language);\n }\n\n // 网络模式变化时触发\n if (newContext.networkMode !== oldContext.networkMode) {\n this.onNetworkModeChanged(newContext.networkMode as NetworkMode, oldContext.networkMode as NetworkMode);\n }\n }\n }\n\n onConnected(): void {\n super.onConnected();\n this.onInitialized({ widgetInfo: this.spCtx.widgetInfo, customParam: this.spCtx.customParam });\n }\n\n /**\n * 初始化完成回调\n * 子类可重写此方法,用于初始化完成后的逻辑\n */\n onInitialized(_param: PageInitializedParam): void {\n\n }\n\n /**\n * 首次渲染完成回调\n * 子类可重写此方法,用于 DOM 查询、第三方库初始化等\n */\n onFirstRendered(): void {\n // 子类可重写此方法\n }\n\n /**\n * 主题变化回调\n * @param isDark - true | false\n */\n onDarkModeChanged(_isDark: boolean, _oldIsDark: boolean): void {\n // 子类可重写此方法,处理主题切换逻辑\n }\n\n /**\n * 语言变化回调\n * @param language - 语言代码,如 'zh-CN' | 'en-US' ....\n */\n onLanguageChanged(_language: string, _oldLanguage: string): void {\n // 子类可重写此方法,处理语言切换逻辑\n }\n\n /**\n * 网络模式变化回调\n * @param networkMode - 网络模式,如 'wan' | 'lan'\n */\n onNetworkModeChanged(_networkMode: NetworkMode, _oldNetworkMode: NetworkMode): void {\n // 子类可重写此方法,处理网络模式切换逻辑\n }\n\n /**\n * 渲染方法(需要子类实现)\n */\n render(): TemplateResult {\n // 子类应重写此方法\n return html``;\n }\n}","/**\n * 验证相关类型定义\n */\n\n/**\n * 验证规则接口\n */\nexport interface ValidationRule {\n required?: boolean;\n type?: 'string' | 'number' | 'boolean' | 'object' | 'array' | 'date' | 'email' | 'url';\n minLength?: number;\n maxLength?: number;\n min?: number;\n max?: number;\n pattern?: RegExp;\n validator?: (value: any) => boolean | string | Promise<boolean | string>;\n message?: string;\n}\n\n/**\n * 验证错误项接口\n */\nexport interface ValidationErrorItem {\n field: string;\n message: string;\n value?: any;\n}\n\n/**\n * 验证错误类\n */\nexport class ValidationError extends Error {\n errors: ValidationErrorItem[];\n\n constructor(errors: ValidationErrorItem[]) {\n super(`Validation failed: ${errors.map(e => e.message).join(', ')}`);\n this.name = 'ValidationError';\n this.errors = errors;\n }\n}\n\n/**\n * 验证器类\n */\nexport class Validator {\n /**\n * 验证单个值\n */\n static async validateField(value: any, rules: ValidationRule, fieldName = 'field'): Promise<ValidationErrorItem[]> {\n const errors: ValidationErrorItem[] = [];\n\n // 必填验证\n if (rules.required && (value === undefined || value === null || value === '')) {\n errors.push({\n field: fieldName,\n message: rules.message || `${fieldName} is required`,\n value\n });\n return errors; // 如果必填字段为空,则不再进行其他验证\n }\n\n // 如果不是必填且值为空,则跳过其他验证\n if (value === undefined || value === null || value === '') {\n return errors;\n }\n\n // 类型验证\n if (rules.type) {\n let isValidType = false;\n \n switch (rules.type) {\n case 'string':\n isValidType = typeof value === 'string';\n break;\n case 'number':\n isValidType = typeof value === 'number' && !isNaN(value);\n break;\n case 'boolean':\n isValidType = typeof value === 'boolean';\n break;\n case 'object':\n isValidType = typeof value === 'object' && value !== null && !Array.isArray(value);\n break;\n case 'array':\n isValidType = Array.isArray(value);\n break;\n case 'date':\n isValidType = value instanceof Date || !isNaN(Date.parse(value as string));\n break;\n case 'email':\n isValidType = typeof value === 'string' && /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(value);\n break;\n case 'url':\n try {\n new URL(value as string);\n isValidType = true;\n } catch {\n isValidType = false;\n }\n break;\n default:\n isValidType = true;\n }\n\n if (!isValidType) {\n errors.push({\n field: fieldName,\n message: rules.message || `${fieldName} must be of type ${rules.type}`,\n value\n });\n }\n }\n\n // 最小长度验证\n if (rules.minLength !== undefined && typeof value === 'string' && value.length < rules.minLength) {\n errors.push({\n field: fieldName,\n message: rules.message || `${fieldName} must be at least ${rules.minLength} characters`,\n value\n });\n }\n\n // 最大长度验证\n if (rules.maxLength !== undefined && typeof value === 'string' && value.length > rules.maxLength) {\n errors.push({\n field: fieldName,\n message: rules.message || `${fieldName} must be no more than ${rules.maxLength} characters`,\n value\n });\n }\n\n // 最小值验证\n if (rules.min !== undefined && typeof value === 'number' && value < rules.min) {\n errors.push({\n field: fieldName,\n message: rules.message || `${fieldName} must be at least ${rules.min}`,\n value\n });\n }\n\n // 最大值验证\n if (rules.max !== undefined && typeof value === 'number' && value > rules.max) {\n errors.push({\n field: fieldName,\n message: rules.message || `${fieldName} must be no more than ${rules.max}`,\n value\n });\n }\n\n // 正则表达式验证\n if (rules.pattern && typeof value === 'string' && !rules.pattern.test(value)) {\n errors.push({\n field: fieldName,\n message: rules.message || `${fieldName} format is invalid`,\n value\n });\n }\n\n // 自定义验证器\n if (rules.validator) {\n try {\n const result = await Promise.resolve(rules.validator(value));\n if (typeof result === 'string') {\n errors.push({\n field: fieldName,\n message: result,\n value\n });\n } else if (result === false) {\n errors.push({\n field: fieldName,\n message: rules.message || `${fieldName} is invalid`,\n value\n });\n }\n } catch (error: any) {\n errors.push({\n field: fieldName,\n message: rules.message || `Validation failed for ${fieldName}: ${error instanceof Error ? error.message : String(error)}`,\n value\n });\n }\n }\n\n return errors;\n }\n\n /**\n * 验证对象\n */\n static async validateObject(obj: Record<string, any>, rules: Record<string, ValidationRule>): Promise<ValidationErrorItem[]> {\n const allErrors: ValidationErrorItem[] = [];\n\n // 串行验证所有字段\n for (const field of Object.keys(rules)) {\n const fieldRules = rules[field];\n const fieldValue = obj[field];\n const fieldErrors = await this.validateField(fieldValue, fieldRules, field);\n allErrors.push(...fieldErrors);\n }\n\n return allErrors;\n }\n\n /**\n * 验证数组\n */\n static async validateArray(arr: any[], rules: ValidationRule): Promise<ValidationErrorItem[]> {\n if (!Array.isArray(arr)) {\n return [{\n field: 'array',\n message: 'Value must be an array',\n value: arr\n }];\n }\n\n const errors: ValidationErrorItem[] = [];\n\n // 验证数组本身的规则\n if (rules.min !== undefined && arr.length < rules.min) {\n errors.push({\n field: 'array',\n message: rules.message || `Array must have at least ${rules.min} items`,\n value: arr\n });\n }\n\n if (rules.max !== undefined && arr.length > rules.max) {\n errors.push({\n field: 'array',\n message: rules.message || `Array must have no more than ${rules.max} items`,\n value: arr\n });\n }\n\n // 如果有子项规则,验证每个子项\n if (rules.validator) {\n for (let i = 0; i < arr.length; i++) {\n const item = arr[i];\n const itemErrors = await this.validateField(item, rules, `array[${i}]`);\n errors.push(...itemErrors);\n }\n }\n\n return errors;\n }\n}\n\n/**\n * 表单验证器类\n */\nexport class FormValidator {\n private rules: Record<string, ValidationRule>;\n\n constructor(rules: Record<string, ValidationRule>) {\n this.rules = rules;\n }\n\n /**\n * 验证表单数据\n */\n async validate(data: Record<string, any>): Promise<ValidationErrorItem[]> {\n return await Validator.validateObject(data, this.rules);\n }\n\n /**\n * 验证并抛出错误\n */\n async validateOrThrow(data: Record<string, any>): Promise<void> {\n const errors = await this.validate(data);\n if (errors.length > 0) {\n throw new ValidationError(errors);\n }\n }\n}","// 导出所有公共 API\nexport { SunPanelElement } from './SunPanelElement.js';\nexport { SunPanelWidgetElement } from './SunPanelWidgetElement.js';\nexport { SunPanelPageElement } from './SunPanelPageElement.js';\nexport { Validator, FormValidator, ValidationError } from './validation.js';\n\n// 导出类型\nexport type { SpContext, SpContextWidget, SpContextPage } from './types/common.js';\n\n// 版本号\nexport const VERSION = '__VERSION__';"],"names":["t","globalThis","e","ShadowRoot","ShadyCSS","nativeShadow","Document","prototype","CSSStyleSheet","s","Symbol","o","WeakMap","n$2","constructor","this","_$cssResult$","Error","cssText","styleSheet","length","get","replaceSync","set","toString","c","cssRules","n","r","is","i","defineProperty","getOwnPropertyDescriptor","h","getOwnPropertyNames","getOwnPropertySymbols","getPrototypeOf","Object","a","trustedTypes","l","emptyScript","p","reactiveElementPolyfillSupport","d","u","toAttribute","Boolean","Array","JSON","stringify","fromAttribute","Number","parse","f","b","attribute","type","String","converter","reflect","useDefault","hasChanged","metadata","litPropertyMetadata","y$1","HTMLElement","addInitializer","_$Ei","push","observedAttributes","finalize","_$Eh","keys","createProperty","state","hasOwnProperty","create","wrapped","elementProperties","noAccessor","getPropertyDescriptor","call","requestUpdate","configurable","enumerable","getPropertyOptions","Map","finalized","properties","_$Eu","elementStyles","finalizeStyles","styles","isArray","Set","flat","reverse","unshift","toLowerCase","super","_$Ep","isUpdatePending","hasUpdated","_$Em","_$Ev","_$ES","Promise","enableUpdating","_$AL","_$E_","forEach","addController","_$EO","add","renderRoot","isConnected","hostConnected","removeController","delete","size","createRenderRoot","shadowRoot","attachShadow","shadowRootOptions","adoptedStyleSheets","map","document","createElement","litNonce","setAttribute","textContent","appendChild","connectedCallback","disconnectedCallback","hostDisconnected","attributeChangedCallback","_$AK","_$ET","removeAttribute","_$Ej","hasAttribute","C","_$EP","has","_$Eq","reject","scheduleUpdate","performUpdate","shouldUpdate","willUpdate","hostUpdate","update","_$EM","_$AE","hostUpdated","firstUpdated","updated","updateComplete","getUpdateComplete","y","mode","ReactiveElement","reactiveElementVersions","createPolicy","createHTML","Math","random","toFixed","slice","createComment","v","_","m","RegExp","g","$","_$litType$","strings","values","x","E","for","A","P","createTreeWalker","V","N","lastIndex","exec","test","startsWith","S","parts","el","currentNode","content","firstChild","replaceWith","childNodes","nextNode","nodeType","hasAttributes","getAttributeNames","endsWith","getAttribute","split","index","name","ctor","I","L","z","H","tagName","append","data","indexOf","innerHTML","M","_$Co","_$Cl","_$litDirective$","_$AO","_$AT","_$AS","R","_$AV","_$AN","_$AD","_$AM","parentNode","_$AU","creationScope","importNode","k","nextSibling","Z","_$AI","_$Cv","_$AH","_$AA","_$AB","options","startNode","endNode","_$AR","T","iterator","O","insertBefore","createTextNode","_$AC","_$AP","remove","setConnected","element","fill","j","arguments","toggleAttribute","capture","once","passive","removeEventListener","addEventListener","handleEvent","host","B","litHtmlPolyfillSupport","litHtmlVersions","renderOptions","_$Do","renderBefore","render","_$litPart$","_$litElement$","litElementHydrateSupport","LitElement","litElementPolyfillSupport","litElementVersions","SunPanelElement","_initialized","_eventListeners","initializeMicroApp","_setupEventListeners","onConnected","_cleanupEventListeners","onDisconnected","oldValue","newValue","onAttributeChanged","entries","from","eventName","listeners","listener","window","clear","dispatchCustomEvent","detail","event","CustomEvent","bubbles","composed","dispatchEvent","_name","_oldValue","_newValue","html","SunPanelWidgetElement","spCtx","api","darkMode","language","networkMode","staticPath","role","widgetInfo","updateContext","partialContext","filteredContext","fromEntries","filter","value","undefined","changedProperties","onFirstRendered","oldContext","newContext","onWidgetInfoChanged","onDarkModeChanged","onLanguageChanged","onNetworkModeChanged","onInitialized","_isDark","_oldIsDark","_language","_oldLanguage","_networkMode","_oldNetworkMode","_widgetInfo","_oldWidgetInfo","SunPanelPageElement","background","customParam","_param","ValidationError","errors","message","join","Validator","validateField","rules","fieldName","required","field","isValidType","isNaN","Date","URL","minLength","maxLength","min","max","pattern","validator","result","resolve","error","validateObject","obj","allErrors","fieldRules","fieldValue","fieldErrors","validateArray","arr","item","itemErrors","FormValidator","validate","validateOrThrow","VERSION"],"mappings":"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","x_google_ignoreList":[0,1,2,3]}
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../node_modules/@lit/reactive-element/css-tag.js","../node_modules/@lit/reactive-element/reactive-element.js","../node_modules/lit-html/lit-html.js","../node_modules/lit-element/lit-element.js","../../src/SunPanelElement.ts","../../src/SunPanelWidgetElement.ts","../../src/SunPanelPageElement.ts","../../src/validation.ts","../../src/index.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,s=Symbol(),o=new WeakMap;class n{constructor(t,e,o){if(this._$cssResult$=!0,o!==s)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const s=this.t;if(e&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=o.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o.set(s,t))}return t}toString(){return this.cssText}}const r=t=>new n(\"string\"==typeof t?t:t+\"\",void 0,s),i=(t,...e)=>{const o=1===t.length?t[0]:e.reduce((e,s,o)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(s)+t[o+1],t[0]);return new n(o,t,s)},S=(s,o)=>{if(e)s.adoptedStyleSheets=o.map(t=>t instanceof CSSStyleSheet?t:t.styleSheet);else for(const e of o){const o=document.createElement(\"style\"),n=t.litNonce;void 0!==n&&o.setAttribute(\"nonce\",n),o.textContent=e.cssText,s.appendChild(o)}},c=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e=\"\";for(const s of t.cssRules)e+=s.cssText;return r(e)})(t):t;export{n as CSSResult,S as adoptStyles,i as css,c as getCompatibleStyle,e as supportsAdoptingStyleSheets,r as unsafeCSS};\n//# sourceMappingURL=css-tag.js.map\n","import{getCompatibleStyle as t,adoptStyles as s}from\"./css-tag.js\";export{CSSResult,css,supportsAdoptingStyleSheets,unsafeCSS}from\"./css-tag.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{is:i,defineProperty:e,getOwnPropertyDescriptor:h,getOwnPropertyNames:r,getOwnPropertySymbols:o,getPrototypeOf:n}=Object,a=globalThis,c=a.trustedTypes,l=c?c.emptyScript:\"\",p=a.reactiveElementPolyfillSupport,d=(t,s)=>t,u={toAttribute(t,s){switch(s){case Boolean:t=t?l:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,s){let i=t;switch(s){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},f=(t,s)=>!i(t,s),b={attribute:!0,type:String,converter:u,reflect:!1,useDefault:!1,hasChanged:f};Symbol.metadata??=Symbol(\"metadata\"),a.litPropertyMetadata??=new WeakMap;class y extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,s=b){if(s.state&&(s.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((s=Object.create(s)).wrapped=!0),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),h=this.getPropertyDescriptor(t,i,s);void 0!==h&&e(this.prototype,t,h)}}static getPropertyDescriptor(t,s,i){const{get:e,set:r}=h(this.prototype,t)??{get(){return this[s]},set(t){this[s]=t}};return{get:e,set(s){const h=e?.call(this);r?.call(this,s),this.requestUpdate(t,h,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??b}static _$Ei(){if(this.hasOwnProperty(d(\"elementProperties\")))return;const t=n(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(d(\"finalized\")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(d(\"properties\"))){const t=this.properties,s=[...r(t),...o(t)];for(const i of s)this.createProperty(i,t[i])}const t=this[Symbol.metadata];if(null!==t){const s=litPropertyMetadata.get(t);if(void 0!==s)for(const[t,i]of s)this.elementProperties.set(t,i)}this._$Eh=new Map;for(const[t,s]of this.elementProperties){const i=this._$Eu(t,s);void 0!==i&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(s){const i=[];if(Array.isArray(s)){const e=new Set(s.flat(1/0).reverse());for(const s of e)i.unshift(t(s))}else void 0!==s&&i.push(t(s));return i}static _$Eu(t,s){const i=s.attribute;return!1===i?void 0:\"string\"==typeof i?i:\"string\"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(t=>this.enableUpdating=t),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(t=>t(this))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,s=this.constructor.elementProperties;for(const i of s.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return s(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(t=>t.hostConnected?.())}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach(t=>t.hostDisconnected?.())}attributeChangedCallback(t,s,i){this._$AK(t,i)}_$ET(t,s){const i=this.constructor.elementProperties.get(t),e=this.constructor._$Eu(t,i);if(void 0!==e&&!0===i.reflect){const h=(void 0!==i.converter?.toAttribute?i.converter:u).toAttribute(s,i.type);this._$Em=t,null==h?this.removeAttribute(e):this.setAttribute(e,h),this._$Em=null}}_$AK(t,s){const i=this.constructor,e=i._$Eh.get(t);if(void 0!==e&&this._$Em!==e){const t=i.getPropertyOptions(e),h=\"function\"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:u;this._$Em=e;const r=h.fromAttribute(s,t.type);this[e]=r??this._$Ej?.get(e)??r,this._$Em=null}}requestUpdate(t,s,i,e=!1,h){if(void 0!==t){const r=this.constructor;if(!1===e&&(h=this[t]),i??=r.getPropertyOptions(t),!((i.hasChanged??f)(h,s)||i.useDefault&&i.reflect&&h===this._$Ej?.get(t)&&!this.hasAttribute(r._$Eu(t,i))))return;this.C(t,s,i)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(t,s,{useDefault:i,reflect:e,wrapped:h},r){i&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,r??s??this[t]),!0!==h||void 0!==r)||(this._$AL.has(t)||(this.hasUpdated||i||(s=void 0),this._$AL.set(t,s)),!0===e&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,s]of this._$Ep)this[t]=s;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[s,i]of t){const{wrapped:t}=i,e=this[s];!0!==t||this._$AL.has(s)||void 0===e||this.C(s,void 0,i,e)}}let t=!1;const s=this._$AL;try{t=this.shouldUpdate(s),t?(this.willUpdate(s),this._$EO?.forEach(t=>t.hostUpdate?.()),this.update(s)):this._$EM()}catch(s){throw t=!1,this._$EM(),s}t&&this._$AE(s)}willUpdate(t){}_$AE(t){this._$EO?.forEach(t=>t.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach(t=>this._$ET(t,this[t])),this._$EM()}updated(t){}firstUpdated(t){}}y.elementStyles=[],y.shadowRootOptions={mode:\"open\"},y[d(\"elementProperties\")]=new Map,y[d(\"finalized\")]=new Map,p?.({ReactiveElement:y}),(a.reactiveElementVersions??=[]).push(\"2.1.2\");export{y as ReactiveElement,s as adoptStyles,u as defaultConverter,t as getCompatibleStyle,f as notEqual};\n//# sourceMappingURL=reactive-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,i=t=>t,s=t.trustedTypes,e=s?s.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,h=\"$lit$\",o=`lit$${Math.random().toFixed(9).slice(2)}$`,n=\"?\"+o,r=`<${n}>`,l=document,c=()=>l.createComment(\"\"),a=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,u=Array.isArray,d=t=>u(t)||\"function\"==typeof t?.[Symbol.iterator],f=\"[ \\t\\n\\f\\r]\",v=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,_=/-->/g,m=/>/g,p=RegExp(`>|${f}(?:([^\\\\s\"'>=/]+)(${f}*=${f}*(?:[^ \\t\\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`,\"g\"),g=/'/g,$=/\"/g,y=/^(?:script|style|textarea|title)$/i,x=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),b=x(1),w=x(2),T=x(3),E=Symbol.for(\"lit-noChange\"),A=Symbol.for(\"lit-nothing\"),C=new WeakMap,P=l.createTreeWalker(l,129);function V(t,i){if(!u(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return void 0!==e?e.createHTML(i):i}const N=(t,i)=>{const s=t.length-1,e=[];let n,l=2===i?\"<svg>\":3===i?\"<math>\":\"\",c=v;for(let i=0;i<s;i++){const s=t[i];let a,u,d=-1,f=0;for(;f<s.length&&(c.lastIndex=f,u=c.exec(s),null!==u);)f=c.lastIndex,c===v?\"!--\"===u[1]?c=_:void 0!==u[1]?c=m:void 0!==u[2]?(y.test(u[2])&&(n=RegExp(\"</\"+u[2],\"g\")),c=p):void 0!==u[3]&&(c=p):c===p?\">\"===u[0]?(c=n??v,d=-1):void 0===u[1]?d=-2:(d=c.lastIndex-u[2].length,a=u[1],c=void 0===u[3]?p:'\"'===u[3]?$:g):c===$||c===g?c=p:c===_||c===m?c=v:(c=p,n=void 0);const x=c===p&&t[i+1].startsWith(\"/>\")?\" \":\"\";l+=c===v?s+r:d>=0?(e.push(a),s.slice(0,d)+h+s.slice(d)+o+x):s+o+(-2===d?i:x)}return[V(t,l+(t[s]||\"<?>\")+(2===i?\"</svg>\":3===i?\"</math>\":\"\")),e]};class S{constructor({strings:t,_$litType$:i},e){let r;this.parts=[];let l=0,a=0;const u=t.length-1,d=this.parts,[f,v]=N(t,i);if(this.el=S.createElement(f,e),P.currentNode=this.el.content,2===i||3===i){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(r=P.nextNode())&&d.length<u;){if(1===r.nodeType){if(r.hasAttributes())for(const t of r.getAttributeNames())if(t.endsWith(h)){const i=v[a++],s=r.getAttribute(t).split(o),e=/([.?@])?(.*)/.exec(i);d.push({type:1,index:l,name:e[2],strings:s,ctor:\".\"===e[1]?I:\"?\"===e[1]?L:\"@\"===e[1]?z:H}),r.removeAttribute(t)}else t.startsWith(o)&&(d.push({type:6,index:l}),r.removeAttribute(t));if(y.test(r.tagName)){const t=r.textContent.split(o),i=t.length-1;if(i>0){r.textContent=s?s.emptyScript:\"\";for(let s=0;s<i;s++)r.append(t[s],c()),P.nextNode(),d.push({type:2,index:++l});r.append(t[i],c())}}}else if(8===r.nodeType)if(r.data===n)d.push({type:2,index:l});else{let t=-1;for(;-1!==(t=r.data.indexOf(o,t+1));)d.push({type:7,index:l}),t+=o.length-1}l++}}static createElement(t,i){const s=l.createElement(\"template\");return s.innerHTML=t,s}}function M(t,i,s=t,e){if(i===E)return i;let h=void 0!==e?s._$Co?.[e]:s._$Cl;const o=a(i)?void 0:i._$litDirective$;return h?.constructor!==o&&(h?._$AO?.(!1),void 0===o?h=void 0:(h=new o(t),h._$AT(t,s,e)),void 0!==e?(s._$Co??=[])[e]=h:s._$Cl=h),void 0!==h&&(i=M(t,h._$AS(t,i.values),h,e)),i}class R{constructor(t,i){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:i},parts:s}=this._$AD,e=(t?.creationScope??l).importNode(i,!0);P.currentNode=e;let h=P.nextNode(),o=0,n=0,r=s[0];for(;void 0!==r;){if(o===r.index){let i;2===r.type?i=new k(h,h.nextSibling,this,t):1===r.type?i=new r.ctor(h,r.name,r.strings,this,t):6===r.type&&(i=new Z(h,this,t)),this._$AV.push(i),r=s[++n]}o!==r?.index&&(h=P.nextNode(),o++)}return P.currentNode=l,e}p(t){let i=0;for(const s of this._$AV)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++}}class k{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,i,s,e){this.type=2,this._$AH=A,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cv=e?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===t?.nodeType&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=M(this,t,i),a(t)?t===A||null==t||\"\"===t?(this._$AH!==A&&this._$AR(),this._$AH=A):t!==this._$AH&&t!==E&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):d(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==A&&a(this._$AH)?this._$AA.nextSibling.data=t:this.T(l.createTextNode(t)),this._$AH=t}$(t){const{values:i,_$litType$:s}=t,e=\"number\"==typeof s?this._$AC(t):(void 0===s.el&&(s.el=S.createElement(V(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===e)this._$AH.p(i);else{const t=new R(e,this),s=t.u(this.options);t.p(i),this.T(s),this._$AH=t}}_$AC(t){let i=C.get(t.strings);return void 0===i&&C.set(t.strings,i=new S(t)),i}k(t){u(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const h of t)e===i.length?i.push(s=new k(this.O(c()),this.O(c()),this,this.options)):s=i[e],s._$AI(h),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e)}_$AR(t=this._$AA.nextSibling,s){for(this._$AP?.(!1,!0,s);t!==this._$AB;){const s=i(t).nextSibling;i(t).remove(),t=s}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t))}}class H{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,i,s,e,h){this.type=1,this._$AH=A,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=h,s.length>2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=A}_$AI(t,i=this,s,e){const h=this.strings;let o=!1;if(void 0===h)t=M(this,t,i,0),o=!a(t)||t!==this._$AH&&t!==E,o&&(this._$AH=t);else{const e=t;let n,r;for(t=h[0],n=0;n<h.length-1;n++)r=M(this,e[s+n],i,n),r===E&&(r=this._$AH[n]),o||=!a(r)||r!==this._$AH[n],r===A?t=A:t!==A&&(t+=(r??\"\")+h[n+1]),this._$AH[n]=r}o&&!e&&this.j(t)}j(t){t===A?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??\"\")}}class I extends H{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===A?void 0:t}}class L extends H{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==A)}}class z extends H{constructor(t,i,s,e,h){super(t,i,s,e,h),this.type=5}_$AI(t,i=this){if((t=M(this,t,i,0)??A)===E)return;const s=this._$AH,e=t===A&&s!==A||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,h=t!==A&&(s===A||e);e&&this.element.removeEventListener(this.name,this,s),h&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){\"function\"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}}class Z{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){M(this,t)}}const j={M:h,P:o,A:n,C:1,L:N,R,D:d,V:M,I:k,H,N:L,U:z,B:I,F:Z},B=t.litHtmlPolyfillSupport;B?.(S,k),(t.litHtmlVersions??=[]).push(\"3.3.2\");const D=(t,i,s)=>{const e=s?.renderBefore??i;let h=e._$litPart$;if(void 0===h){const t=s?.renderBefore??null;e._$litPart$=h=new k(i.insertBefore(c(),t),t,void 0,s??{})}return h._$AI(t),h};export{j as _$LH,b as html,T as mathml,E as noChange,A as nothing,D as render,w as svg};\n//# sourceMappingURL=lit-html.js.map\n","import{ReactiveElement as t}from\"@lit/reactive-element\";export*from\"@lit/reactive-element\";import{render as e,noChange as r}from\"lit-html\";export*from\"lit-html\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const s=globalThis;class i extends t{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const r=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=e(r,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return r}}i._$litElement$=!0,i[\"finalized\"]=!0,s.litElementHydrateSupport?.({LitElement:i});const o=s.litElementPolyfillSupport;o?.({LitElement:i});const n={_$AK:(t,e,r)=>{t._$AK(e,r)},_$AL:t=>t._$AL};(s.litElementVersions??=[]).push(\"4.2.2\");export{i as LitElement,n as _$LE};\n//# sourceMappingURL=lit-element.js.map\n","import { LitElement, html, TemplateResult } from 'lit';\n\n/**\n * Sun Panel 基础元素抽象类\n * 提供了微应用开发的基础能力\n */\nexport class SunPanelElement extends LitElement {\n private _initialized: boolean;\n private _eventListeners: Map<string, EventListener[]>;\n\n constructor() {\n super();\n this._initialized = false;\n this._eventListeners = new Map();\n }\n\n /**\n * 初始化微应用\n */\n initializeMicroApp(): void {\n if (this._initialized) return;\n \n this._setupEventListeners();\n this._initialized = true;\n }\n\n /**\n * 连接回调\n */\n connectedCallback(): void {\n super.connectedCallback();\n this.initializeMicroApp();\n this.onConnected();\n }\n\n /**\n * 断开连接回调\n */\n disconnectedCallback(): void {\n super.disconnectedCallback();\n this._cleanupEventListeners();\n this.onDisconnected();\n }\n\n /**\n * 属性变化回调\n * 注意:必须先调用 super,否则 LitElement 的响应式属性会失效\n */\n attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void {\n super.attributeChangedCallback(name, oldValue, newValue);\n this.onAttributeChanged(name, oldValue, newValue);\n }\n\n /**\n * 设置事件监听器\n */\n protected _setupEventListeners(): void {\n // 子类可重写此方法\n }\n\n /**\n * 清理事件监听器\n */\n protected _cleanupEventListeners(): void {\n // 取消所有事件监听\n // 将 Map 转换为数组以确保兼容性\n const entries = Array.from(this._eventListeners.entries());\n for (const [eventName, listeners] of entries) {\n listeners.forEach(listener => {\n window.removeEventListener(eventName, listener);\n });\n }\n this._eventListeners.clear();\n }\n\n /**\n * 添加事件监听器\n */\n addEventListener<K extends keyof HTMLElementEventMap>(\n type: K,\n listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any,\n options?: boolean | AddEventListenerOptions\n ): void;\n addEventListener(\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | AddEventListenerOptions\n ): void;\n addEventListener(\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | AddEventListenerOptions\n ): void {\n super.addEventListener(type, listener, options);\n }\n\n /**\n * 派发自定义事件\n */\n dispatchCustomEvent<T = any>(eventName: string, detail?: T): void {\n const event = new CustomEvent(eventName, {\n bubbles: true,\n composed: true,\n detail\n });\n this.dispatchEvent(event);\n }\n\n /**\n * 连接时回调\n */\n onConnected(): void {\n // 子类可重写此方法\n }\n\n /**\n * 断开连接时回调\n */\n onDisconnected(): void {\n // 子类可重写此方法\n }\n\n /**\n * 属性变化时回调\n */\n onAttributeChanged(_name: string, _oldValue: string | null, _newValue: string | null): void {\n // 子类可重写此方法\n }\n\n /**\n * 渲染方法(需要子类实现)\n */\n render(): TemplateResult {\n // 子类应重写此方法\n return html``;\n }\n}","import { SunPanelElement } from './SunPanelElement';\nimport { html, TemplateResult, PropertyValueMap } from 'lit';\nimport { SpContextWidget, NetworkMode, RoleType, WidgetInfo } from './types/common';\nimport { MicroAppAPI } from './types/api';\n\n/**\n * Sun Panel 小部件(卡片)元素基类\n * 用于开发微应用中的卡片组件\n */\nexport class SunPanelWidgetElement extends SunPanelElement {\n // 声明响应式属性(Lit 自动优化)\n static properties = {\n // attribute: false 表示只通过 Property 传递,不通过 HTML attribute\n spCtx: { type: Object, attribute: false }\n };\n\n spCtx: SpContextWidget;\n\n constructor() {\n super();\n // 统一状态对象\n this.spCtx = {\n // itemInfo: {} as ItemInfo,\n api: {} as MicroAppAPI,\n darkMode: false,\n language: 'zh-CN',\n networkMode: \"wan\" as NetworkMode,\n staticPath: '',\n role: 0 as RoleType, // 0:公开模式 1:私有模式 2:管理员模式\n widgetInfo: {} as WidgetInfo,\n };\n }\n\n /**\n * 精确更新方法(父级调用此方法更新状态)\n * @param partialContext - 需要更新的部分状态\n * @param callback - 可选的初始化完成回调\n * @example element.updateContext({ theme: 'dark', itemInfo: {...} })\n * @example element.updateContext({ api, widgetInfo }, (success, error) => { ... })\n */\n updateContext(partialContext: Partial<SpContextWidget>): void {\n if (!partialContext || typeof partialContext !== 'object') return;\n\n // 只更新传入的属性,过滤掉 undefined\n const filteredContext = Object.fromEntries(\n Object.entries(partialContext).filter(([_, value]) => value !== undefined)\n ) as Partial<SpContextWidget>;\n\n // 浅拷贝触发 Lit 响应式更新\n this.spCtx = { ...this.spCtx, ...filteredContext };\n }\n\n\n\n /**\n * 利用 Lit 生命周期处理状态变化\n */\n /**\n * 首次渲染完成后调用(只执行一次)\n * 适合进行 DOM 查询、初始化第三方库等操作\n */\n firstUpdated(changedProperties: PropertyValueMap<any> | Map<string, any>): void {\n super.firstUpdated?.(changedProperties);\n this.onFirstRendered();\n }\n\n /**\n * 每次更新完成后调用\n */\n updated(changedProperties: PropertyValueMap<any> | Map<string, any>): void {\n super.updated(changedProperties);\n\n if (changedProperties.has('spCtx')) {\n const oldContext = (changedProperties.get('spCtx') || {}) as SpContextWidget;\n const newContext = this.spCtx;\n\n // 小部件信息变化时触发\n if (newContext.widgetInfo !== oldContext.widgetInfo) {\n // this.spCtx.background = newContext.widgetInfo.background || '';\n this.onWidgetInfoChanged(newContext.widgetInfo, oldContext.widgetInfo);\n\n }\n // 主题变化时触发回调\n if (newContext.darkMode !== oldContext.darkMode) {\n this.onDarkModeChanged(newContext.darkMode, oldContext.darkMode);\n }\n\n // 语言变化时触发\n if (newContext.language !== oldContext.language) {\n this.onLanguageChanged(newContext.language, oldContext.language);\n }\n\n // 网络模式变化时触发\n if (newContext.networkMode !== oldContext.networkMode) {\n this.onNetworkModeChanged(newContext.networkMode as NetworkMode, oldContext.networkMode as NetworkMode);\n }\n }\n }\n\n onConnected(): void {\n super.onConnected();\n this.onInitialized();\n }\n\n /**\n * 初始化完成回调\n * 子类可重写此方法,用于初始化完成后的逻辑\n */\n onInitialized(): void {\n\n }\n\n\n /**\n * 首次渲染完成回调\n * 子类可重写此方法,用于 DOM 查询、第三方库初始化等\n */\n onFirstRendered(): void {\n // 子类可重写此方法\n }\n\n // /**\n // * 卡片尺寸变化回调\n // * @param cardSize - 卡片尺寸,如 1 | 2 | 3 | 4\n // */\n // onGridSizeTypeChanged(_cardSize: GridSizeType): void {\n // // 子类可重写此方法,处理卡片尺寸变化逻辑\n // }\n\n // onGridSizeChanged(_gridSize: string): void {\n // // 子类可重写此方法,处理卡片尺寸变化逻辑\n // }\n\n // /**\n // * 卡片背景颜色变化回调\n // * @param background - 背景颜色,如 '#000000' | 'rgb(0,0,0)' | 'rgba(0,0,0,1)' | 'black' ...\n // */\n // onBackgroundColorChanged(_background: BackgroundType): void {\n // // 子类可重写此方法,处理卡片背景颜色变化逻辑\n // }\n\n /**\n * 深色模式变化回调\n * @param isDark - true | false\n */\n onDarkModeChanged(_isDark: boolean, _oldIsDark: boolean): void {\n // 子类可重写此方法,处理主题切换逻辑\n }\n\n /**\n * 语言变化回调\n * @param language - 语言代码,如 'zh-CN' | 'en-US' ....\n */\n onLanguageChanged(_language: string, _oldLanguage: string): void {\n // 子类可重写此方法,处理语言切换逻辑\n }\n\n /**\n * 网络模式变化回调\n * @param networkMode - 网络模式,如 'wan' | 'lan'\n */\n onNetworkModeChanged(_networkMode: NetworkMode, _oldNetworkMode: NetworkMode): void {\n // 子类可重写此方法,处理网络模式切换逻辑\n }\n\n\n onWidgetInfoChanged(_widgetInfo: WidgetInfo, _oldWidgetInfo: WidgetInfo): void {\n // 子类可重写此方法,处理小部件信息变化逻辑\n }\n\n /**\n * 渲染方法(需要子类实现)\n */\n render(): TemplateResult {\n // 子类应重写此方法\n return html``;\n }\n}","import { SunPanelElement } from './SunPanelElement';\nimport { html, TemplateResult, PropertyValueMap } from 'lit';\nimport { SpContextPage, NetworkMode, RoleType, WidgetInfo, PageInitializedParam } from './types/common';\nimport { MicroAppAPI } from './types/api';\n\n\n/**\n * Sun Panel 页面元素基类\n * 用于开发微应用中的页面组件,以窗口的形式加载\n */\nexport class SunPanelPageElement extends SunPanelElement {\n // 声明响应式属性(Lit 自动优化)\n static properties = {\n // attribute: false 表示只通过 Property 传递,不通过 HTML attribute\n spCtx: { type: Object, attribute: false }\n };\n\n spCtx: SpContextPage;\n\n constructor() {\n super();\n // 统一状态对象\n this.spCtx = {\n api: {} as MicroAppAPI,\n darkMode: false,\n language: 'zh-CN',\n networkMode: \"wan\" as NetworkMode,\n staticPath: '',\n role: 0 as RoleType, // 0:公开模式 1:私有模式 2:管理员模式\n background: '',\n widgetInfo: {} as WidgetInfo,\n customParam: {} as any,\n };\n\n }\n\n /**\n * 精确更新方法(父级调用此方法更新状态)\n * @param partialContext - 需要更新的部分状态\n * @example element.updateContext({ theme: 'dark', itemInfo: {...} })\n */\n updateContext(partialContext: Partial<SpContextPage>): void {\n if (!partialContext || typeof partialContext !== 'object') return;\n\n // 只更新传入的属性,过滤掉 undefined\n const filteredContext = Object.fromEntries(\n Object.entries(partialContext).filter(([_, value]) => value !== undefined)\n ) as Partial<SpContextPage>;\n\n // 浅拷贝触发 Lit 响应式更新\n this.spCtx = { ...this.spCtx, ...filteredContext };\n }\n\n\n /**\n * 利用 Lit 生命周期处理状态变化\n */\n /**\n * 首次渲染完成后调用(只执行一次)\n * 适合进行 DOM 查询、初始化第三方库等操作\n */\n firstUpdated(changedProperties: PropertyValueMap<any> | Map<string, any>): void {\n super.firstUpdated?.(changedProperties);\n this.onFirstRendered();\n }\n\n /**\n * 每次更新完成后调用\n */\n updated(changedProperties: PropertyValueMap<any> | Map<string, any>): void {\n super.updated(changedProperties);\n\n if (changedProperties.has('spCtx')) {\n const oldContext = changedProperties.get('spCtx') || {} as SpContextPage;\n const newContext = this.spCtx;\n\n // 主题变化时触发回调\n if (newContext.darkMode !== oldContext.darkMode) {\n this.onDarkModeChanged(newContext.darkMode, oldContext.darkMode);\n }\n\n // 语言变化时触发\n if (newContext.language !== oldContext.language) {\n this.onLanguageChanged(newContext.language, oldContext.language);\n }\n\n // 网络模式变化时触发\n if (newContext.networkMode !== oldContext.networkMode) {\n this.onNetworkModeChanged(newContext.networkMode as NetworkMode, oldContext.networkMode as NetworkMode);\n }\n }\n }\n\n onConnected(): void {\n super.onConnected();\n this.onInitialized({ widgetInfo: this.spCtx.widgetInfo, customParam: this.spCtx.customParam });\n }\n\n /**\n * 初始化完成回调\n * 子类可重写此方法,用于初始化完成后的逻辑\n */\n onInitialized(_param: PageInitializedParam): void {\n\n }\n\n /**\n * 首次渲染完成回调\n * 子类可重写此方法,用于 DOM 查询、第三方库初始化等\n */\n onFirstRendered(): void {\n // 子类可重写此方法\n }\n\n /**\n * 主题变化回调\n * @param isDark - true | false\n */\n onDarkModeChanged(_isDark: boolean, _oldIsDark: boolean): void {\n // 子类可重写此方法,处理主题切换逻辑\n }\n\n /**\n * 语言变化回调\n * @param language - 语言代码,如 'zh-CN' | 'en-US' ....\n */\n onLanguageChanged(_language: string, _oldLanguage: string): void {\n // 子类可重写此方法,处理语言切换逻辑\n }\n\n /**\n * 网络模式变化回调\n * @param networkMode - 网络模式,如 'wan' | 'lan'\n */\n onNetworkModeChanged(_networkMode: NetworkMode, _oldNetworkMode: NetworkMode): void {\n // 子类可重写此方法,处理网络模式切换逻辑\n }\n\n /**\n * 渲染方法(需要子类实现)\n */\n render(): TemplateResult {\n // 子类应重写此方法\n return html``;\n }\n}","/**\n * 验证相关类型定义\n */\n\n/**\n * 验证规则接口\n */\nexport interface ValidationRule {\n required?: boolean;\n type?: 'string' | 'number' | 'boolean' | 'object' | 'array' | 'date' | 'email' | 'url';\n minLength?: number;\n maxLength?: number;\n min?: number;\n max?: number;\n pattern?: RegExp;\n validator?: (value: any) => boolean | string | Promise<boolean | string>;\n message?: string;\n}\n\n/**\n * 验证错误项接口\n */\nexport interface ValidationErrorItem {\n field: string;\n message: string;\n value?: any;\n}\n\n/**\n * 验证错误类\n */\nexport class ValidationError extends Error {\n errors: ValidationErrorItem[];\n\n constructor(errors: ValidationErrorItem[]) {\n super(`Validation failed: ${errors.map(e => e.message).join(', ')}`);\n this.name = 'ValidationError';\n this.errors = errors;\n }\n}\n\n/**\n * 验证器类\n */\nexport class Validator {\n /**\n * 验证单个值\n */\n static async validateField(value: any, rules: ValidationRule, fieldName = 'field'): Promise<ValidationErrorItem[]> {\n const errors: ValidationErrorItem[] = [];\n\n // 必填验证\n if (rules.required && (value === undefined || value === null || value === '')) {\n errors.push({\n field: fieldName,\n message: rules.message || `${fieldName} is required`,\n value\n });\n return errors; // 如果必填字段为空,则不再进行其他验证\n }\n\n // 如果不是必填且值为空,则跳过其他验证\n if (value === undefined || value === null || value === '') {\n return errors;\n }\n\n // 类型验证\n if (rules.type) {\n let isValidType = false;\n \n switch (rules.type) {\n case 'string':\n isValidType = typeof value === 'string';\n break;\n case 'number':\n isValidType = typeof value === 'number' && !isNaN(value);\n break;\n case 'boolean':\n isValidType = typeof value === 'boolean';\n break;\n case 'object':\n isValidType = typeof value === 'object' && value !== null && !Array.isArray(value);\n break;\n case 'array':\n isValidType = Array.isArray(value);\n break;\n case 'date':\n isValidType = value instanceof Date || !isNaN(Date.parse(value as string));\n break;\n case 'email':\n isValidType = typeof value === 'string' && /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(value);\n break;\n case 'url':\n try {\n new URL(value as string);\n isValidType = true;\n } catch {\n isValidType = false;\n }\n break;\n default:\n isValidType = true;\n }\n\n if (!isValidType) {\n errors.push({\n field: fieldName,\n message: rules.message || `${fieldName} must be of type ${rules.type}`,\n value\n });\n }\n }\n\n // 最小长度验证\n if (rules.minLength !== undefined && typeof value === 'string' && value.length < rules.minLength) {\n errors.push({\n field: fieldName,\n message: rules.message || `${fieldName} must be at least ${rules.minLength} characters`,\n value\n });\n }\n\n // 最大长度验证\n if (rules.maxLength !== undefined && typeof value === 'string' && value.length > rules.maxLength) {\n errors.push({\n field: fieldName,\n message: rules.message || `${fieldName} must be no more than ${rules.maxLength} characters`,\n value\n });\n }\n\n // 最小值验证\n if (rules.min !== undefined && typeof value === 'number' && value < rules.min) {\n errors.push({\n field: fieldName,\n message: rules.message || `${fieldName} must be at least ${rules.min}`,\n value\n });\n }\n\n // 最大值验证\n if (rules.max !== undefined && typeof value === 'number' && value > rules.max) {\n errors.push({\n field: fieldName,\n message: rules.message || `${fieldName} must be no more than ${rules.max}`,\n value\n });\n }\n\n // 正则表达式验证\n if (rules.pattern && typeof value === 'string' && !rules.pattern.test(value)) {\n errors.push({\n field: fieldName,\n message: rules.message || `${fieldName} format is invalid`,\n value\n });\n }\n\n // 自定义验证器\n if (rules.validator) {\n try {\n const result = await Promise.resolve(rules.validator(value));\n if (typeof result === 'string') {\n errors.push({\n field: fieldName,\n message: result,\n value\n });\n } else if (result === false) {\n errors.push({\n field: fieldName,\n message: rules.message || `${fieldName} is invalid`,\n value\n });\n }\n } catch (error: any) {\n errors.push({\n field: fieldName,\n message: rules.message || `Validation failed for ${fieldName}: ${error instanceof Error ? error.message : String(error)}`,\n value\n });\n }\n }\n\n return errors;\n }\n\n /**\n * 验证对象\n */\n static async validateObject(obj: Record<string, any>, rules: Record<string, ValidationRule>): Promise<ValidationErrorItem[]> {\n const allErrors: ValidationErrorItem[] = [];\n\n // 串行验证所有字段\n for (const field of Object.keys(rules)) {\n const fieldRules = rules[field];\n const fieldValue = obj[field];\n const fieldErrors = await this.validateField(fieldValue, fieldRules, field);\n allErrors.push(...fieldErrors);\n }\n\n return allErrors;\n }\n\n /**\n * 验证数组\n */\n static async validateArray(arr: any[], rules: ValidationRule): Promise<ValidationErrorItem[]> {\n if (!Array.isArray(arr)) {\n return [{\n field: 'array',\n message: 'Value must be an array',\n value: arr\n }];\n }\n\n const errors: ValidationErrorItem[] = [];\n\n // 验证数组本身的规则\n if (rules.min !== undefined && arr.length < rules.min) {\n errors.push({\n field: 'array',\n message: rules.message || `Array must have at least ${rules.min} items`,\n value: arr\n });\n }\n\n if (rules.max !== undefined && arr.length > rules.max) {\n errors.push({\n field: 'array',\n message: rules.message || `Array must have no more than ${rules.max} items`,\n value: arr\n });\n }\n\n // 如果有子项规则,验证每个子项\n if (rules.validator) {\n for (let i = 0; i < arr.length; i++) {\n const item = arr[i];\n const itemErrors = await this.validateField(item, rules, `array[${i}]`);\n errors.push(...itemErrors);\n }\n }\n\n return errors;\n }\n}\n\n/**\n * 表单验证器类\n */\nexport class FormValidator {\n private rules: Record<string, ValidationRule>;\n\n constructor(rules: Record<string, ValidationRule>) {\n this.rules = rules;\n }\n\n /**\n * 验证表单数据\n */\n async validate(data: Record<string, any>): Promise<ValidationErrorItem[]> {\n return await Validator.validateObject(data, this.rules);\n }\n\n /**\n * 验证并抛出错误\n */\n async validateOrThrow(data: Record<string, any>): Promise<void> {\n const errors = await this.validate(data);\n if (errors.length > 0) {\n throw new ValidationError(errors);\n }\n }\n}","// 导出所有公共 API\nexport { SunPanelElement } from './SunPanelElement.js';\nexport { SunPanelWidgetElement } from './SunPanelWidgetElement.js';\nexport { SunPanelPageElement } from './SunPanelPageElement.js';\nexport { Validator, FormValidator, ValidationError } from './validation.js';\n\n// 导出类型\nexport type { SpContext, SpContextWidget, SpContextPage } from './types/common.js';\n\n// 版本号\nexport const VERSION = '__VERSION__';"],"names":["t","globalThis","e","ShadowRoot","ShadyCSS","nativeShadow","Document","prototype","CSSStyleSheet","s","Symbol","o","WeakMap","n$2","constructor","this","_$cssResult$","Error","cssText","styleSheet","length","get","replaceSync","set","toString","c","cssRules","n","r","is","i","defineProperty","getOwnPropertyDescriptor","h","getOwnPropertyNames","getOwnPropertySymbols","getPrototypeOf","Object","a","trustedTypes","l","emptyScript","p","reactiveElementPolyfillSupport","d","u","toAttribute","Boolean","Array","JSON","stringify","fromAttribute","Number","parse","f","b","attribute","type","String","converter","reflect","useDefault","hasChanged","metadata","litPropertyMetadata","y$1","HTMLElement","addInitializer","_$Ei","push","observedAttributes","finalize","_$Eh","keys","createProperty","state","hasOwnProperty","create","wrapped","elementProperties","noAccessor","getPropertyDescriptor","call","requestUpdate","configurable","enumerable","getPropertyOptions","Map","finalized","properties","_$Eu","elementStyles","finalizeStyles","styles","isArray","Set","flat","reverse","unshift","toLowerCase","super","_$Ep","isUpdatePending","hasUpdated","_$Em","_$Ev","_$ES","Promise","enableUpdating","_$AL","_$E_","forEach","addController","_$EO","add","renderRoot","isConnected","hostConnected","removeController","delete","size","createRenderRoot","shadowRoot","attachShadow","shadowRootOptions","adoptedStyleSheets","map","document","createElement","litNonce","setAttribute","textContent","appendChild","connectedCallback","disconnectedCallback","hostDisconnected","attributeChangedCallback","_$AK","_$ET","removeAttribute","_$Ej","hasAttribute","C","_$EP","has","_$Eq","reject","scheduleUpdate","performUpdate","shouldUpdate","willUpdate","hostUpdate","update","_$EM","_$AE","hostUpdated","firstUpdated","updated","updateComplete","getUpdateComplete","y","mode","ReactiveElement","reactiveElementVersions","createPolicy","createHTML","Math","random","toFixed","slice","createComment","v","_","m","RegExp","g","$","_$litType$","strings","values","x","E","for","A","P","createTreeWalker","V","N","lastIndex","exec","test","startsWith","S","parts","el","currentNode","content","firstChild","replaceWith","childNodes","nextNode","nodeType","hasAttributes","getAttributeNames","endsWith","getAttribute","split","index","name","ctor","I","L","z","H","tagName","append","data","indexOf","innerHTML","M","_$Co","_$Cl","_$litDirective$","_$AO","_$AT","_$AS","R","_$AV","_$AN","_$AD","_$AM","parentNode","_$AU","creationScope","importNode","k","nextSibling","Z","_$AI","_$Cv","_$AH","_$AA","_$AB","options","startNode","endNode","_$AR","T","iterator","O","insertBefore","createTextNode","_$AC","_$AP","remove","setConnected","element","fill","j","arguments","toggleAttribute","capture","once","passive","removeEventListener","addEventListener","handleEvent","host","B","litHtmlPolyfillSupport","litHtmlVersions","renderOptions","_$Do","renderBefore","render","_$litPart$","_$litElement$","litElementHydrateSupport","LitElement","litElementPolyfillSupport","litElementVersions","SunPanelElement","_initialized","_eventListeners","initializeMicroApp","_setupEventListeners","onConnected","_cleanupEventListeners","onDisconnected","oldValue","newValue","onAttributeChanged","entries","from","eventName","listeners","listener","window","clear","dispatchCustomEvent","detail","event","CustomEvent","bubbles","composed","dispatchEvent","_name","_oldValue","_newValue","html","SunPanelWidgetElement","spCtx","api","darkMode","language","networkMode","staticPath","role","widgetInfo","updateContext","partialContext","filteredContext","fromEntries","filter","value","undefined","changedProperties","onFirstRendered","oldContext","newContext","onWidgetInfoChanged","onDarkModeChanged","onLanguageChanged","onNetworkModeChanged","onInitialized","_isDark","_oldIsDark","_language","_oldLanguage","_networkMode","_oldNetworkMode","_widgetInfo","_oldWidgetInfo","SunPanelPageElement","background","customParam","_param","ValidationError","errors","message","join","Validator","validateField","rules","fieldName","required","field","isValidType","isNaN","Date","URL","minLength","maxLength","min","max","pattern","validator","result","resolve","error","validateObject","obj","allErrors","fieldRules","fieldValue","fieldErrors","validateArray","arr","item","itemErrors","validate","validateOrThrow"],"mappings":"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","x_google_ignoreList":[0,1,2,3]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;IACvF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC;IACzE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,GAAG,CAAC;CACb;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IACxC,MAAM,EAAE,mBAAmB,EAAE,CAAC;gBAElB,MAAM,EAAE,mBAAmB,EAAE;CAK1C;AAED;;GAEG;AACH,qBAAa,SAAS;IACpB;;OAEG;WACU,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,cAAc,EAAE,SAAS,SAAU,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;IA2IlH;;OAEG;WACU,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAc5H;;OAEG;WACU,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;CAuC9F;AAED;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,KAAK,CAAiC;gBAElC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC;IAIjD;;OAEG;IACG,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAIzE;;OAEG;IACG,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CAMhE"}