agile-core 3.0.1 → 3.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/core.cjs.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),t=require("ts-deepmerge");var n,r;const i=__AUI_CONFIG__.tagPrefix||"aui",o="data-v-aui",s=Symbol("shadow"),a=class t extends(r=HTMLElement,n=s,r){constructor(e){super(),this.__hasVue__=!1,this[n]={needHook:!1,slot:{}},this[t.shadowSymbol].options=e||{},this.$initAttrs()}connectedCallback(){this.$needInit()&&(this.$needHook(!0),this.$initVue())}set textContent(e){this.$needHook()?this.$textContent(e):super.textContent=e}get textContent(){return this.$needHook()?this.$textContent("default"):super.textContent||""}set innerHTML(e){this.$needHook()?this.$innerHTML(e):super.innerHTML=e}get innerHTML(){return this.$needHook()?this.$innerHTML("default"):super.innerHTML||""}set innerText(e){this.$ignoreLog("innerText"),super.innerText=e}prepend(e){if(!this.$needHook())return super.prepend(e);this.$prepend("default",e)}appendChild(e){return this.$needHook()?this.$appendChild("default",e):super.appendChild(e)}set value(e){let n=e;const r=this[t.shadowSymbol].value;let i;this.$isArrayValue()?(n=t.$anyToArray(e),i=JSON.stringify(n)):i=n.toString(),r!==i&&(this[t.shadowSymbol].value=i,this[t.shadowSymbol].el&&this.$attrChange("value"))}get value(){const e=this[t.shadowSymbol].value;return this.$isArrayValue()&&"string"==typeof e?JSON.parse(e):e}hasAttribute(e){const n=this[t.shadowSymbol].el;return n?n.hasAttribute(e):super.hasAttribute(e)}setAttribute(e,n){n=n.toString();const r=this[t.shadowSymbol].el;if(r){if(r.getAttribute(e)===n)return;r.setAttribute(e,n)}this.$isShowProp(h.vueAttrName(e))&&super.setAttribute(e,n),"value"===e&&r?this.value=r.getAttribute(e):this.$attrChange(e)}getAttribute(e){const n=this[t.shadowSymbol].el;return n?n.getAttribute(e):super.getAttribute(e)}removeAttribute(e){const n=this[t.shadowSymbol].el;n&&n.removeAttribute(e),this.$isShowProp(h.vueAttrName(e))&&super.removeAttribute(e),this.$attrChange(e)}attributeChangedCallback(e,n,r){const i=this[t.shadowSymbol].el;i&&n!==r&&(this.$isShowProp(h.vueAttrName(e))||super.removeAttribute(e),i.setAttribute(e,r||""),"value"!==e&&this.$attrChange(e))}static $anyToArray(e){let t=[];if("string"==typeof e){try{const t=JSON.parse(e);if(t instanceof Array)return t}catch(n){}t=e.split(",").filter(e=>!!e&&e.trim())}else e instanceof Array&&(t=e);return t}$textContent(e,...t){if(0===t.length){const t=[],{start:n,end:r}=this.$slot(e)||{};let i=n;for(;i&&(i=i.nextSibling)&&i!==r;)t.push(i.textContent);return t.join("")}return this.$replaceChildren(e,[document.createTextNode(t[0]||"")]),""}$innerHTML(e,...t){if(0===t.length){const t=[],{start:n,end:r}=this.$slot(e)||{};let i=n;for(;i&&(i=i.nextSibling)&&i!==r;)if(i.outerHTML)t.push(i.outerHTML);else{let e=i.textContent;i instanceof Comment&&(e=`\x3c!--${e}--\x3e`),t.push(e)}return t.join("")}{const n=document.createElement("div");n.innerHTML=t[0]||"";const r=this.$moveChildren(n);this.$replaceChildren(e,r.default)}return""}$prepend(e,t){var n;const{start:r}=this.$slot(e)||{};null==(n=null==r?void 0:r.parentNode)||n.insertBefore(t,r.nextSibling)}$appendChild(e,t){var n;const{end:r}=this.$slot(e)||{};return null==(n=null==r?void 0:r.parentNode)||n.insertBefore(t,r),t}$childNodes(e){const t=[],{start:n,end:r}=this.$slot(e)||{};let i=n;for(;i&&(i=i.nextSibling)&&i!==r;)t.push(i);return t}$children(e){const t=[],{start:n,end:r}=this.$slot(e)||{};let i=n;for(;i&&(i=i.nextSibling)&&i!==r;)i instanceof HTMLElement&&t.push(i);return t}$replaceChildren(e,t){var n,r;const{start:i,end:o}=this.$slot(e)||{};let s=null;for(;i&&(s=i.nextSibling)&&s!==o;)null==(n=s.parentNode)||n.removeChild(s);if(o)for(;s=t.shift();)null==(r=o.parentNode)||r.insertBefore(s,o)}$slot(e,n){if(e=e||"default",!n)return this[t.shadowSymbol].slot[e];this[t.shadowSymbol].slot[e]=n}$needHook(e){return"boolean"==typeof e&&(this[t.shadowSymbol].needHook=e),this[t.shadowSymbol].needHook}$ignoreLog(e){}$moveChildren(e){var t;const n=(e=e||this).childNodes,r={default:[]};for(;n.length>0;){const i=n[0];if(null==(t=i.parentNode)||t.removeChild(i),l.$isForAuiSlot(i)){const t=i.getAttribute("for")||"default";r[t]=r[t]||[];const n=Array.prototype.slice.call(i.childNodes);l.prototype.$bind.call(i,e),r[t].push(...n)}else r.default.push(i)}return r}$isArrayValue(){var e;return(null==(e=this[t.shadowSymbol].options)?void 0:e.valueType)===Array}$attrChange(e){if("value"===e){const e=this.value;super.hasAttribute(o)?this.$call("$emit","update:value",e):super.dispatchEvent(new CustomEvent("input",{bubbles:!0,composed:!0}))}this.dispatchEvent(new CustomEvent("aui-attr-change",{bubbles:!0,composed:!0,detail:{attributeName:h.vueAttrName(e)}}))}$initAttrs(){const e=this.attributes,n=document.createElement("div");for(let t=0;t<e.length;t++){const r=e[t];n.setAttribute(r.name,r.value),this.$isShowProp(h.vueAttrName(r.name))||super.removeAttribute(r.name),"value"===r.name&&(this.value=r.value)}Object.defineProperty(this,"attributes",{get value(){return n.attributes},writable:!1}),this[t.shadowSymbol].el=n}$isShowProp(e){if(h.isVueAttr(e))return!0;const t=this.$getProp(e);return null==t?void 0:t.show}$getProp(e){var t;const n=h.cache.getAuiVueDefined(this.tagName);return((null==(t=null==n?void 0:n.origin)?void 0:t.props)||{})[e]}$initVue(){if(this.__hasVue__)return;this.__hasVue__=!0;const t=this.tagName.toLowerCase();h.cache.getAuiVueDefined(t)&&e.createApp(h.createVueComponent(t,this)).mount(this)}$needInit(){return!super.hasAttribute(o)}$bindVue(e){var n,r;if(this[t.shadowSymbol].ref)return;this[t.shadowSymbol].ref=e,this.__hasVue__=!0;const i=new CustomEvent("aui-init",{bubbles:!1,detail:{code:0}});this.dispatchEvent(i);const o=null==(r=null==(n=h.cache.getAuiVueDefined(this.tagName))?void 0:n.origin)?void 0:r.auiInit;o&&o.call(e)}$call(e,...n){const r=this[t.shadowSymbol].ref;return h.$call(r,e,...n)}};a.shadowSymbol=s;let u=a;class l extends HTMLElement{constructor(){super()}connectedCallback(){this.style.display="none"}set textContent(e){var t;this._name_?null==(t=this._el_)||t.$textContent(this._name_,e):super.textContent=e}set innerHTML(e){var t;this._name_?null==(t=this._el_)||t.$innerHTML(this._name_,e):super.innerHTML=e}prepend(e){var t;this._name_?null==(t=this._el_)||t.$prepend(this._name_,e):super.prepend(e)}appendChild(e){var t;return this._name_?(null==(t=this._el_)||t.$appendChild(this._name_,e),e):super.appendChild(e)}static $isAuiSlot(e){return!(!e||e.nodeType!==Node.ELEMENT_NODE)&&"aui-slot"===e.tagName.toLowerCase()}static $isForAuiSlot(e){return!(!l.$isAuiSlot(e)||!e.hasAttribute("for"))}$bind(e){this._el_=e,this._name_=this.getAttribute("for")||"default"}$replace(e){const t=this.getAttribute("name")||"default",n=document.createComment(`aui-slot-${t}-start`),r=document.createComment(`aui-slot-${t}-end`);e.$slot(t,{start:n,end:r}),this.replaceWith(n,r)}}const h={init:()=>(h.defineSlot(),h),defineSlot(){try{customElements.define("aui-slot",l)}catch(e){}},$call(e,t,...n){if(!e)return new Error("not init");if(!t)return e;if("function"==typeof e[t])return e[t].call(e,...n);const r=t.split(".");let i=e,o=r.pop()||"",s=null;for(;s=r.shift();){if(!Object.prototype.hasOwnProperty.call(i,s))return new Error("no match name");i=i[s]}return 0===n.length?i[o]:(i[o]=n[0],null)},formatName:e=>e?(e=e.replace(/[A-Z]/g,function(e){return"-"+e.toLowerCase()}),i+e):"",cache:{defined:(Object.prototype.hasOwnProperty.call(window,"__GLOBAL_AUI_CORE__")||Object.defineProperty(window,"__GLOBAL_AUI_CORE__",{value:{defined:{}},writable:!1,enumerable:!1}),window.__GLOBAL_AUI_CORE__).defined,getAuiVueDefined:e=>(e=e.toLowerCase(),h.cache.defined[e]),getAuiPropNames(e){var t;const n=h.cache.getAuiVueDefined(e),r=(null==(t=null==n?void 0:n.origin)?void 0:t.props)||{},i=[];for(const o in r)i.push(h.auiAttrName(o));return i},addHooks(e,t){e=e.toLowerCase();const n=h.cache.getAuiVueDefined(e);n?(n.hooks=n.hooks||[],n.hooks.push(t)):h.cache.defined[e]={hooks:[t]}}},createExtendComp:t=>{var n,r;return e.defineComponent({props:{auiExtend:{type:String},value:{type:(null==(r=null==(n=t.props)?void 0:n.value)?void 0:r.type)||[String,Number,Array]}},methods:{$anyToArray:u.$anyToArray,$value(...e){const t=this.$aui();if(0===e.length)return null==t?void 0:t.value;t&&(t.value=e[0])},$call(e,...t){const n=this.$aui();return n?h.$call(n,e,...t):null},$aui(){var e;return null==(e=this.$el)?void 0:e.parentNode}},data:()=>({})})},patchDefaultProps(e){var t,n;const r=null==(n=null==(t=e.props)?void 0:t.value)?void 0:n.type;return e.mixins||(e.mixins=[]),e.mixins.push(h.createExtendComp(e)),r},defineAuiComponent(e,t,n){var r,i;const o=h.patchDefaultProps(n);if(null==(r=h.cache.defined[e])?void 0:r.origin)h.cache.defined[e].origin=n;else{class r extends u{constructor(){super({valueType:o})}static get observedAttributes(){return h.cache.getAuiPropNames(e)}}h.cache.defined[e]={aui:r,vue:t,origin:n,hooks:(null==(i=h.cache.defined[e])?void 0:i.hooks)||[]},customElements.define(e,r)}},define(e,t=!1){const n=h.formatName(e.name);if(!n)return e;const r=h.cache.getAuiVueDefined(n);if(r&&r.vue)return t&&h.defineAuiComponent(n,r.vue,e),r.vue;const i=h.createVueComponent(n);return h.defineAuiComponent(n,i,e),i},createTempSlot(t){const n={};return Object.keys(t).forEach(t=>{n[t]=()=>e.h("aui-slot",{name:t})}),n},replaceTempSlot(e,t){Object.keys(t).forEach(n=>{const r=e.querySelector(`aui-slot[name="${n}"]`);r&&(l.prototype.$replace.call(r,e),e.$replaceChildren(n,t[n]))})},createVueComponent(t,n){const r=n?n.$moveChildren():{default:[]};return{setup(){const i=e.useAttrs(),s=e.ref(null),a=e.ref(null),u=e.ref({}),l=e.ref(n?h.createTempSlot(r):e.useSlots());let d;return e.onMounted(()=>{s.value&&a.value&&a.value.$bindVue&&(a.value.$bindVue(s.value),n&&h.replaceTempSlot(n,r),a.value.addEventListener("aui-attr-change",()=>{a.value&&(u.value=h.getAuiAttrs(a.value))}),a.value.$call("$emit","update:value",a.value.value))}),()=>{if(n&&(a.value=n,u.value=h.getAuiAttrs(n)),d||(d=h.formatStructure(t)),!d)return null;const r=e.h(d,{...i,...u.value,ref:s},l.value||{});return n?r:e.h(t,{ref:a,[o]:""},[r])}}}},getAuiAttrs(e){const t={},n=e.attributes;for(let r=0;r<n.length;r++){const e=n[r];e.name===i||h.isVueAttr(e.name)||(t[e.name]=e.value)}return null!==e.value&&(t.value=e.value),t},isVueAttr:e=>0===e.indexOf("data-v-"),auiAttrName:e=>e.replace(/([A-Z])/g,e=>"-"+e.toLowerCase()),vueAttrName:e=>h.isVueAttr(e)?e:e.replace(/-([a-z])/g,(e,t)=>t.toUpperCase()),hookStructure(e,t){h.cache.addHooks(e,t)},getHookStructure(e){const t=h.cache.getAuiVueDefined(e);return((null==t?void 0:t.hooks)||[]).slice(0)},formatStructure(e){const n=h.cache.getAuiVueDefined(e);if(!(null==n?void 0:n.origin))return null;let r=t.merge({},n.origin);const i=h.getHookStructure(e);let o;for(;o=i.shift();){const e=o(r);e&&(r=e)}return r}},d=h.init();exports.AuiComponent=u,exports.default=d;//# sourceMappingURL=core.cjs.js.map
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),t=require("ts-deepmerge");var n,r;const o=__AUI_CONFIG__.tagPrefix||"aui",i="data-v-aui",s=Symbol("shadow"),a=class t extends(r=HTMLElement,n=s,r){constructor(e){super(),this.__hasVue__=!1,this[n]={needHook:!1,slot:{}},this[t.shadowSymbol].options=e||{},this.$initAttrs()}connectedCallback(){this.$needInit()&&(this.$needHook(!0),this.$initVue())}set textContent(e){this.$needHook()?this.$textContent(e):super.textContent=e}get textContent(){return this.$needHook()?this.$textContent("default"):super.textContent||""}set innerHTML(e){this.$needHook()?this.$innerHTML(e):super.innerHTML=e}get innerHTML(){return this.$needHook()?this.$innerHTML("default"):super.innerHTML||""}set innerText(e){this.$ignoreLog("innerText"),super.innerText=e}prepend(e){if(!this.$needHook())return super.prepend(e);this.$prepend("default",e)}appendChild(e){return this.$needHook()?this.$appendChild("default",e):super.appendChild(e)}set value(e){let n=e;const r=this[t.shadowSymbol].value;let o;this.$isArrayValue()?(n=t.$anyToArray(e),o=JSON.stringify(n)):o=n.toString(),r!==o&&(this[t.shadowSymbol].value=o,this[t.shadowSymbol].el&&this.$attrChange("value"))}get value(){const e=this[t.shadowSymbol].value;return this.$isArrayValue()&&"string"==typeof e?JSON.parse(e):e}hasAttribute(e){const n=this[t.shadowSymbol].el;return n?n.hasAttribute(e):super.hasAttribute(e)}setAttribute(e,n){n=n.toString();const r=this[t.shadowSymbol].el;if(r){if(r.getAttribute(e)===n)return;r.setAttribute(e,n)}this.$isShowProp(h.vueAttrName(e))&&super.setAttribute(e,n),"value"===e&&r?this.value=r.getAttribute(e):this.$attrChange(e)}getAttribute(e){const n=this[t.shadowSymbol].el;return n?n.getAttribute(e):super.getAttribute(e)}removeAttribute(e){const n=this[t.shadowSymbol].el;n&&n.removeAttribute(e),this.$isShowProp(h.vueAttrName(e))&&super.removeAttribute(e),this.$attrChange(e)}attributeChangedCallback(e,n,r){const o=this[t.shadowSymbol].el;o&&n!==r&&(this.$isShowProp(h.vueAttrName(e))||super.removeAttribute(e),o.setAttribute(e,r||""),"value"!==e&&this.$attrChange(e))}static $anyToArray(e){let t=[];if("string"==typeof e){try{const t=JSON.parse(e);if(t instanceof Array)return t}catch(n){}t=e.split(",").filter(e=>!!e&&e.trim())}else e instanceof Array&&(t=e);return t}$textContent(e,...t){if(0===t.length){const t=[],{start:n,end:r}=this.$slot(e)||{};let o=n;for(;o&&(o=o.nextSibling)&&o!==r;)t.push(o.textContent);return t.join("")}return this.$replaceChildren(e,[document.createTextNode(t[0]||"")]),""}$innerHTML(e,...t){if(0===t.length){const t=[],{start:n,end:r}=this.$slot(e)||{};let o=n;for(;o&&(o=o.nextSibling)&&o!==r;)if(o.outerHTML)t.push(o.outerHTML);else{let e=o.textContent;o instanceof Comment&&(e=`\x3c!--${e}--\x3e`),t.push(e)}return t.join("")}{const n=document.createElement("div");n.innerHTML=t[0]||"";const r=this.$moveChildren(n);this.$replaceChildren(e,r.default)}return""}$prepend(e,t){var n;const{start:r}=this.$slot(e)||{};null==(n=null==r?void 0:r.parentNode)||n.insertBefore(t,r.nextSibling)}$appendChild(e,t){var n;const{end:r}=this.$slot(e)||{};return null==(n=null==r?void 0:r.parentNode)||n.insertBefore(t,r),t}$childNodes(e){const t=[],{start:n,end:r}=this.$slot(e)||{};let o=n;for(;o&&(o=o.nextSibling)&&o!==r;)t.push(o);return t}$children(e){const t=[],{start:n,end:r}=this.$slot(e)||{};let o=n;for(;o&&(o=o.nextSibling)&&o!==r;)o instanceof HTMLElement&&t.push(o);return t}$replaceChildren(e,t){var n,r;const{start:o,end:i}=this.$slot(e)||{};let s=null;for(;o&&(s=o.nextSibling)&&s!==i;)null==(n=s.parentNode)||n.removeChild(s);if(i)for(;s=t.shift();)null==(r=i.parentNode)||r.insertBefore(s,i)}$slot(e,n){if(e=e||"default",!n)return this[t.shadowSymbol].slot[e];this[t.shadowSymbol].slot[e]=n}$needHook(e){return"boolean"==typeof e&&(this[t.shadowSymbol].needHook=e),this[t.shadowSymbol].needHook}$ignoreLog(e){}$moveChildren(e){var t;const n=(e=e||this).childNodes,r={default:[]};for(;n.length>0;){const o=n[0];if(null==(t=o.parentNode)||t.removeChild(o),l.$isForAuiSlot(o)){const t=o.getAttribute("for")||"default";r[t]=r[t]||[];const n=Array.prototype.slice.call(o.childNodes);l.prototype.$bind.call(o,e),r[t].push(...n)}else r.default.push(o)}return r}$isArrayValue(){var e;return(null==(e=this[t.shadowSymbol].options)?void 0:e.valueType)===Array}$attrChange(e){if("value"===e){const e=this.value;super.hasAttribute(i)?this.$call("$emit","update:value",e):super.dispatchEvent(new CustomEvent("input",{bubbles:!0,composed:!0}))}this.dispatchEvent(new CustomEvent("aui-attr-change",{bubbles:!0,composed:!0,detail:{attributeName:h.vueAttrName(e)}}))}$initAttrs(){const e=this.attributes,n=document.createElement("div");for(let t=0;t<e.length;t++){const r=e[t];n.setAttribute(r.name,r.value),this.$isShowProp(h.vueAttrName(r.name))||super.removeAttribute(r.name),"value"===r.name&&(this.value=r.value)}Object.defineProperty(this,"attributes",{get value(){return n.attributes},writable:!1}),this[t.shadowSymbol].el=n}$isShowProp(e){if(h.isVueAttr(e))return!0;const t=this.$getProp(e);return null==t?void 0:t.show}$getProp(e){var t;const n=h.cache.getAuiVueDefined(this.tagName);return((null==(t=null==n?void 0:n.origin)?void 0:t.props)||{})[e]}$initVue(){if(this.__hasVue__)return;this.__hasVue__=!0;const t=this.tagName.toLowerCase();h.cache.getAuiVueDefined(t)&&e.createApp(h.createVueComponent(t,this)).mount(this)}$needInit(){return!super.hasAttribute(i)}$bindVue(e){var n,r;if(this[t.shadowSymbol].ref)return;this[t.shadowSymbol].ref=e,this.__hasVue__=!0;const o=new CustomEvent("aui-init",{bubbles:!1,detail:{code:0}});this.dispatchEvent(o);const i=null==(r=null==(n=h.cache.getAuiVueDefined(this.tagName))?void 0:n.origin)?void 0:r.auiInit;i&&i.call(e)}$call(e,...n){const r=this[t.shadowSymbol].ref;return h.$call(r,e,...n)}};a.shadowSymbol=s;let u=a;class l extends HTMLElement{constructor(){super()}connectedCallback(){this.style.display="none"}set textContent(e){var t;this._name_?null==(t=this._el_)||t.$textContent(this._name_,e):super.textContent=e}set innerHTML(e){var t;this._name_?null==(t=this._el_)||t.$innerHTML(this._name_,e):super.innerHTML=e}prepend(e){var t;this._name_?null==(t=this._el_)||t.$prepend(this._name_,e):super.prepend(e)}appendChild(e){var t;return this._name_?(null==(t=this._el_)||t.$appendChild(this._name_,e),e):super.appendChild(e)}static $isAuiSlot(e){return!(!e||e.nodeType!==Node.ELEMENT_NODE)&&"aui-slot"===e.tagName.toLowerCase()}static $isForAuiSlot(e){return!(!l.$isAuiSlot(e)||!e.hasAttribute("for"))}$bind(e){this._el_=e,this._name_=this.getAttribute("for")||"default"}$replace(e){const t=this.getAttribute("name")||"default",n=document.createComment(`aui-slot-${t}-start`),r=document.createComment(`aui-slot-${t}-end`);e.$slot(t,{start:n,end:r}),this.replaceWith(n,r)}}const h={init:()=>(h.defineSlot(),h),defineSlot(){h.defineCustomElement("aui-slot",l)},$call(e,t,...n){if(!e)return new Error("not init");if(!t)return e;if("function"==typeof e[t])return e[t].call(e,...n);const r=t.split(".");let o=e,i=r.pop()||"",s=null;for(;s=r.shift();){if(!Object.prototype.hasOwnProperty.call(o,s))return new Error("no match name");o=o[s]}return 0===n.length?o[i]:(o[i]=n[0],null)},formatName:e=>e?(e=e.replace(/[A-Z]/g,function(e){return"-"+e.toLowerCase()}),o+e):"",cache:{defined:(Object.prototype.hasOwnProperty.call(window,"__GLOBAL_AUI_CORE__")||Object.defineProperty(window,"__GLOBAL_AUI_CORE__",{value:{defined:{}},writable:!1,enumerable:!1}),window.__GLOBAL_AUI_CORE__).defined,getAuiVueDefined:e=>(e=e.toLowerCase(),h.cache.defined[e]),getAuiPropNames(e){var t;const n=h.cache.getAuiVueDefined(e),r=(null==(t=null==n?void 0:n.origin)?void 0:t.props)||{},o=[];for(const i in r)o.push(h.auiAttrName(i));return o},addHooks(e,t){e=e.toLowerCase();const n=h.cache.getAuiVueDefined(e);n?(n.hooks=n.hooks||[],n.hooks.push(t)):h.cache.defined[e]={hooks:[t]}}},createExtendComp:t=>{var n,r;return e.defineComponent({props:{auiExtend:{type:String},value:{type:(null==(r=null==(n=t.props)?void 0:n.value)?void 0:r.type)||[String,Number,Array]}},methods:{$anyToArray:u.$anyToArray,$value(...e){const t=this.$aui();if(0===e.length)return null==t?void 0:t.value;t&&(t.value=e[0])},$call(e,...t){const n=this.$aui();return n?h.$call(n,e,...t):null},$aui(){var e;return null==(e=this.$el)?void 0:e.parentNode}},data:()=>({})})},patchDefaultProps(e){var t,n;const r=null==(n=null==(t=e.props)?void 0:t.value)?void 0:n.type;return e.mixins||(e.mixins=[]),e.mixins.push(h.createExtendComp(e)),r},defineAuiComponent(e,t,n){var r,o;const i=h.patchDefaultProps(n);if(null==(r=h.cache.defined[e])?void 0:r.origin)h.cache.defined[e].origin=n;else{class r extends u{constructor(){super({valueType:i})}static get observedAttributes(){return h.cache.getAuiPropNames(e)}}h.cache.defined[e]={aui:r,vue:t,origin:n,hooks:(null==(o=h.cache.defined[e])?void 0:o.hooks)||[]},h.defineCustomElement(e,r)}},defineCustomElement(e,t){try{customElements.define(e,t)}catch(n){}},sameComponent(e,t){if(!Object.prototype.hasOwnProperty.call(t,"__hmrId"))return!1;const n=h.cache.getAuiVueDefined(e),r=null==n?void 0:n.origin;return!!r&&t.__hmrId===r.__hmrId},notifyComponentUpdate(e){document.querySelectorAll(e).forEach(e=>{e.dispatchEvent(new CustomEvent("aui-force-update"))})},define(e,t=!0){const n=h.formatName(e.name);if(!n)return e;const r=h.cache.getAuiVueDefined(n);if(r&&r.vue)return(t||h.sameComponent(n,e))&&(h.defineAuiComponent(n,r.vue,e),h.notifyComponentUpdate(n)),r.vue;const o=h.createVueComponent(n);return h.defineAuiComponent(n,o,e),o},createTempSlot(t){const n={};return Object.keys(t).forEach(t=>{n[t]=()=>e.h("aui-slot",{name:t})}),n},replaceTempSlot(e,t){Object.keys(t).forEach(n=>{const r=e.querySelector(`aui-slot[name="${n}"]`);r&&(l.prototype.$replace.call(r,e),e.$replaceChildren(n,t[n]))})},createVueComponent(t,n){const r=n?n.$moveChildren():{default:[]};return{setup(){const o=e.useAttrs(),s=e.shallowRef(null),a=e.shallowRef(null),u=e.ref({}),l=e.shallowRef(n?h.createTempSlot(r):e.useSlots()),d=e.shallowRef(null);return e.onMounted(()=>{s.value&&a.value&&a.value.$bindVue&&(a.value.$bindVue(s.value),n&&h.replaceTempSlot(n,r),a.value.addEventListener("aui-attr-change",()=>{a.value&&(u.value=h.getAuiAttrs(a.value))}),a.value.addEventListener("aui-force-update",()=>{d.value=null}),a.value.$call("$emit","update:value",a.value.value))}),()=>{if(n&&(a.value=n,u.value=h.getAuiAttrs(n)),d.value||(d.value=h.formatStructure(t)),!d.value)return null;const r=e.h(d.value,{...o,...u.value,ref:s},l.value||{});return n?r:e.h(t,{ref:a,[i]:""},[r])}}}},getAuiAttrs(e){const t={},n=e.attributes;for(let r=0;r<n.length;r++){const e=n[r];e.name===o||h.isVueAttr(e.name)||(t[e.name]=e.value)}return null!==e.value&&(t.value=e.value),t},isVueAttr:e=>0===e.indexOf("data-v-"),auiAttrName:e=>e.replace(/([A-Z])/g,e=>"-"+e.toLowerCase()),vueAttrName:e=>h.isVueAttr(e)?e:e.replace(/-([a-z])/g,(e,t)=>t.toUpperCase()),hookStructure(e,t){h.cache.addHooks(e,t)},getHookStructure(e){const t=h.cache.getAuiVueDefined(e);return((null==t?void 0:t.hooks)||[]).slice(0)},formatStructure(e){const n=h.cache.getAuiVueDefined(e);if(!(null==n?void 0:n.origin))return null;let r=t.merge({},n.origin);const o=h.getHookStructure(e);let i;for(;i=o.shift();){const e=i(r);e&&(r=e)}return r}},d=h.init();exports.AuiComponent=u,exports.default=d;//# sourceMappingURL=core.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"core.cjs.js","sources":["../src/core.ts"],"sourcesContent":["import type { Component as ComponentType } from 'vue';\nimport { h, useSlots, useAttrs, onMounted, ref, createApp, defineComponent } from 'vue';\nimport { merge } from 'ts-deepmerge';\nexport { type Component as TraditionComponent } from './types';\n\nconst TAG_PREFIX = __AUI_CONFIG__.tagPrefix || 'aui';\nconst AUI_ATTR_FLAG = 'data-v-aui';\n\nconst shadowSymbol = Symbol('shadow');\n\nexport type HookHandler = (c: any) => void | any;\n\ntype AUI_COMPONENT_OPTION = {\n valueType?: any\n}\n\nexport type Component = ComponentType;\n\ntype AUI_SLOT_CACHE = {\n start: Comment,\n end: Comment,\n};\n\ntype AUI_COMP_SHADOW = {\n el?: HTMLElement | null,\n ref?: Component | null,\n value?: string | null,\n options?: AUI_COMPONENT_OPTION,\n needHook: boolean,\n slot: Record<string, AUI_SLOT_CACHE>,\n};\n\ntype GlobalAuiCore = {\n defined: Record<string, AUI_VUE_DEFINE_CACHE>\n}\n\ntype SlotElement = {\n default: Node[],\n [key: string]: Node[],\n}\n\nfunction getGlobalAuiCore(): GlobalAuiCore {\n if (!Object.prototype.hasOwnProperty.call(window, '__GLOBAL_AUI_CORE__')) {\n Object.defineProperty(window, '__GLOBAL_AUI_CORE__', {\n value: {\n defined: {} as Record<string, AUI_VUE_DEFINE_CACHE>\n },\n writable: false,\n enumerable: false,\n });\n }\n return (window as any)['__GLOBAL_AUI_CORE__'];\n}\n\n\nexport class AuiComponent extends HTMLElement {\n __hasVue__: boolean = false;\n private static readonly shadowSymbol: typeof shadowSymbol = shadowSymbol;\n private [shadowSymbol]: AUI_COMP_SHADOW = { needHook: false, slot: {} };\n\n constructor(options?: AUI_COMPONENT_OPTION) {\n super();\n this[AuiComponent.shadowSymbol].options = options || {};\n this.$initAttrs();\n }\n\n connectedCallback() {\n // console.log('aui component connected:', this.tagName);\n\n if (this.$needInit()) {\n this.$needHook(true);\n this.$initVue();\n }\n\n }\n\n set textContent(v: string) {\n if (!this.$needHook()) {\n super.textContent = v;\n return;\n }\n\n this.$textContent(v);\n }\n\n get textContent() {\n if (!this.$needHook()) {\n return super.textContent || '';\n }\n\n return this.$textContent('default');\n }\n\n set innerHTML(v: string) {\n if (!this.$needHook()) {\n super.innerHTML = v;\n return;\n }\n\n this.$innerHTML(v);\n }\n\n get innerHTML() {\n if (!this.$needHook()) {\n return super.innerHTML || '';\n }\n\n return this.$innerHTML('default');\n }\n\n set innerText(v: string) {\n this.$ignoreLog('innerText');\n super.innerText = v;\n }\n\n prepend<T extends Node>(node: T) {\n if (!this.$needHook()) {\n return super.prepend(node);\n }\n this.$prepend('default', node);\n }\n\n appendChild<T extends Node>(node: T): T {\n if (!this.$needHook()) {\n return super.appendChild(node);\n }\n return this.$appendChild('default', node);\n }\n\n set value(v: string | null) {\n let val: any = v;\n\n const oldValue = this[AuiComponent.shadowSymbol].value;\n let newValue;\n\n if (this.$isArrayValue()) {\n val = AuiComponent.$anyToArray(v);\n newValue = JSON.stringify(val);\n } else {\n newValue = val.toString();\n }\n\n if (oldValue === newValue) return;\n\n this[AuiComponent.shadowSymbol].value = newValue;\n\n if (this[AuiComponent.shadowSymbol].el) {\n this.$attrChange('value');\n }\n }\n\n get value(): any {\n const v = this[AuiComponent.shadowSymbol].value;\n if (this.$isArrayValue()) {\n return typeof v === 'string' ? JSON.parse(v) : v;\n } else {\n return v;\n }\n }\n\n hasAttribute(qualifiedName: string): boolean {\n const shadowElement = this[AuiComponent.shadowSymbol].el;\n if (shadowElement) {\n return shadowElement.hasAttribute(qualifiedName);\n }\n return super.hasAttribute(qualifiedName);\n }\n\n setAttribute(qualifiedName: string, value: string): void {\n value = value.toString();\n const shadowElement = this[AuiComponent.shadowSymbol].el;\n if (shadowElement) {\n if (shadowElement.getAttribute(qualifiedName) === value) return;\n shadowElement.setAttribute(qualifiedName, value);\n }\n const isShow = this.$isShowProp(_M.vueAttrName(qualifiedName));\n if (isShow) {\n super.setAttribute(qualifiedName, value);\n }\n\n if (qualifiedName === 'value' && shadowElement) {\n this.value = shadowElement.getAttribute(qualifiedName);\n } else {\n this.$attrChange(qualifiedName);\n }\n }\n\n getAttribute(qualifiedName: string): string | null {\n const shadowElement = this[AuiComponent.shadowSymbol].el;\n return shadowElement ? shadowElement.getAttribute(qualifiedName) : super.getAttribute(qualifiedName);\n }\n\n removeAttribute(qualifiedName: string): void {\n const shadowElement = this[AuiComponent.shadowSymbol].el;\n if (shadowElement) {\n shadowElement.removeAttribute(qualifiedName);\n }\n const isShow = this.$isShowProp(_M.vueAttrName(qualifiedName));\n if (isShow) {\n super.removeAttribute(qualifiedName);\n }\n this.$attrChange(qualifiedName);\n }\n\n attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null) {\n const shadowElement = this[AuiComponent.shadowSymbol].el;\n if (!shadowElement) return;\n if (oldValue === newValue) return;\n\n if (!this.$isShowProp(_M.vueAttrName(name))) {\n super.removeAttribute(name);\n }\n\n shadowElement.setAttribute(name, newValue || '');\n if (name !== 'value') {\n this.$attrChange(name);\n }\n\n }\n\n // ---------------------------\n\n static $anyToArray(s: any): any {\n let arr = [];\n if (typeof s === 'string') {\n try {\n const json = JSON.parse(s);\n if (json instanceof Array) {\n return json;\n }\n } catch (_) { }\n const sp = s.split(',');\n arr = sp.filter((item) => item ? item.trim() : false);\n } else if (s instanceof Array) {\n arr = s;\n }\n\n return arr;\n }\n\n // ---------------------------\n\n $textContent(name: string, ...args: any): string {\n if (args.length === 0) {\n const ret = [];\n const { start, end } = this.$slot(name) || {};\n let next: Comment | Node | ChildNode | null | undefined = start;\n while (next && (next = next.nextSibling) && next !== end) {\n ret.push(next.textContent);\n }\n return ret.join('');\n\n } else {\n this.$replaceChildren(name, [document.createTextNode(args[0] || '')]);\n }\n return '';\n }\n\n $innerHTML(name: string, ...args: any): string {\n if (args.length === 0) {\n const ret = [];\n const { start, end } = this.$slot(name) || {};\n let next: Comment | Node | ChildNode | null | undefined = start;\n while (next && (next = next.nextSibling) && next !== end) {\n if ((next as any).outerHTML) {\n ret.push((next as any).outerHTML);\n } else {\n let text = next.textContent;\n if (next instanceof Comment) {\n text = `<!--${text}-->`;\n }\n ret.push(text);\n }\n\n }\n return ret.join('');\n\n } else {\n const tpl = document.createElement('div');\n tpl.innerHTML = args[0] || '';\n const children = this.$moveChildren(tpl as any);\n this.$replaceChildren(name, children.default);\n }\n return '';\n }\n\n $prepend<T extends Node>(name: string, node: T) {\n const { start } = this.$slot(name) || {};\n start?.parentNode?.insertBefore(node, start.nextSibling);\n }\n\n $appendChild<T extends Node>(name: string, node: T): T {\n const { end } = this.$slot(name) || {};\n end?.parentNode?.insertBefore(node, end);\n return node;\n }\n\n $childNodes(name?: string): NodeListOf<ChildNode> {\n const ret = [];\n const { start, end } = this.$slot(name) || {};\n let next: Comment | Node | ChildNode | null | undefined = start;\n while (next && (next = next.nextSibling) && next !== end) {\n ret.push(next);\n }\n return ret as any;\n }\n\n $children(name?: string): HTMLCollection {\n const ret = [];\n const { start, end } = this.$slot(name) || {};\n let next: Comment | Node | ChildNode | null | undefined = start;\n while (next && (next = next.nextSibling) && next !== end) {\n if (next instanceof HTMLElement) {\n ret.push(next);\n }\n }\n return ret as any;\n }\n\n $replaceChildren(name: string, children: any[]) {\n const { start, end } = this.$slot(name) || {};\n let next: Comment | Node | ChildNode | null | undefined = null;\n while (start && (next = start.nextSibling) && next !== end) {\n next.parentNode?.removeChild(next);\n }\n if (end) {\n while (next = children.shift()) {\n end.parentNode?.insertBefore(next, end);\n }\n }\n }\n\n $slot(name?: string, slot?: AUI_SLOT_CACHE): AUI_SLOT_CACHE | undefined {\n name = name || 'default';\n if (slot) {\n this[AuiComponent.shadowSymbol].slot[name] = slot;\n } else {\n return this[AuiComponent.shadowSymbol].slot[name];\n }\n }\n\n $needHook(need?: boolean): boolean {\n if (typeof need === 'boolean') {\n this[AuiComponent.shadowSymbol].needHook = need;\n }\n return this[AuiComponent.shadowSymbol].needHook;\n }\n\n $ignoreLog(name: string) {\n console.warn(`aui component ignore : ${name}`);\n }\n\n $moveChildren(el?: AuiComponent): SlotElement {\n el = el || this;\n const list = el.childNodes;\n const ret: SlotElement = {\n default: []\n };\n while (list.length > 0) {\n const child = list[0] as AuiSlot;\n child.parentNode?.removeChild(child);\n if (AuiSlot.$isForAuiSlot(child)) {\n const name = child.getAttribute('for') || 'default';\n ret[name] = ret[name] || [];\n const children = Array.prototype.slice.call(child.childNodes);\n AuiSlot.prototype.$bind.call(child, el);\n ret[name].push(...children);\n } else {\n ret['default'].push(child);\n }\n }\n return ret;\n }\n\n $isArrayValue() {\n return this[AuiComponent.shadowSymbol].options?.valueType === Array;\n }\n\n $attrChange(name: string) {\n if (name === 'value') {\n const val = this.value;\n if (super.hasAttribute(AUI_ATTR_FLAG)) {\n this.$call('$emit', `update:value`, val);\n } else {\n super.dispatchEvent(new CustomEvent('input', {\n bubbles: true,\n composed: true,\n }));\n // super.dispatchEvent(new CustomEvent('change', {\n // bubbles: true,\n // composed: true,\n // }));\n }\n }\n this.dispatchEvent(new CustomEvent('aui-attr-change', {\n bubbles: true,\n composed: true,\n detail: { attributeName: _M.vueAttrName(name) }\n }));\n }\n\n $initAttrs() {\n const attributes = this.attributes;\n const shadow = document.createElement('div');\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes[i];\n shadow.setAttribute(attr.name, attr.value);\n if (!this.$isShowProp(_M.vueAttrName(attr.name))) {\n super.removeAttribute(attr.name);\n }\n if (attr.name === 'value') {\n this.value = attr.value;\n }\n }\n Object.defineProperty(this, 'attributes', {\n get value() {\n return shadow.attributes;\n },\n writable: false,\n });\n\n this[AuiComponent.shadowSymbol].el = shadow;\n }\n\n $isShowProp(name: string): boolean {\n if (_M.isVueAttr(name)) return true;\n const prop = this.$getProp(name);\n // console.log('name:', name)\n const isShow = prop?.show;\n return isShow;\n }\n\n $getProp(name: string): any {\n const auiVueDefined = _M.cache.getAuiVueDefined(this.tagName);\n const props = (auiVueDefined?.origin as any)?.props || {};\n return props[name];\n }\n\n $initVue() {\n if (this.__hasVue__) {\n return;\n }\n this.__hasVue__ = true;\n\n const tagName = this.tagName.toLowerCase();\n const auiVueDefined = _M.cache.getAuiVueDefined(tagName);\n if (!auiVueDefined) {\n console.warn(`AUI组件 [${this.tagName}] 未定义`);\n return;\n }\n createApp(_M.createVueComponent(tagName, this)).mount(this);\n }\n\n $needInit() {\n const flag = super.hasAttribute(AUI_ATTR_FLAG);\n if (flag) {\n return false;\n }\n\n return true;\n }\n\n $bindVue(v: Component) {\n if (this[AuiComponent.shadowSymbol].ref) {\n return;\n }\n // Object.assign(v, { $aui: this });\n this[AuiComponent.shadowSymbol].ref = v;\n this.__hasVue__ = true;\n // 触发init事件\n const event = new CustomEvent('aui-init', {\n bubbles: false,\n detail: { code: 0 }\n });\n this.dispatchEvent(event);\n const auiInit = (_M.cache.getAuiVueDefined(this.tagName)?.origin as any)?.auiInit;\n if (auiInit) {\n auiInit.call(v);\n }\n }\n\n $call(name?: string, ...args: any[]): any {\n const ref = this[AuiComponent.shadowSymbol].ref as Record<string, any>;\n return _M.$call(ref, name, ...args);\n }\n\n}\n\ntype TypeAuiComponent = typeof AuiComponent;\n\ntype AUI_VUE_DEFINE_CACHE = {\n aui?: TypeAuiComponent,\n vue?: Component,\n origin?: Component,\n hooks?: HookHandler[],\n}\n\n\nclass AuiSlot extends HTMLElement {\n\n _el_?: AuiComponent;\n _name_?: string;\n\n constructor() {\n super();\n }\n\n connectedCallback() {\n this.style.display = 'none';\n }\n\n set textContent(v: string) {\n if (this._name_) {\n this._el_?.$textContent(this._name_, v);\n } else {\n super.textContent = v;\n }\n }\n\n set innerHTML(v: string) {\n if (this._name_) {\n this._el_?.$innerHTML(this._name_, v);\n } else {\n super.innerHTML = v;\n }\n }\n\n prepend<T extends Node>(node: T): void {\n if (this._name_) {\n this._el_?.$prepend(this._name_, node);\n } else {\n super.prepend(node);\n }\n }\n\n appendChild<T extends Node>(node: T): T {\n if (this._name_) {\n this._el_?.$appendChild(this._name_, node);\n return node;\n } else {\n return super.appendChild(node);\n }\n }\n\n // ---------------------\n\n static $isAuiSlot(el: HTMLElement) {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return false;\n\n if (el.tagName.toLowerCase() === 'aui-slot') return true;\n\n return false;\n }\n\n static $isForAuiSlot(el: HTMLElement) {\n if (AuiSlot.$isAuiSlot(el) && el.hasAttribute('for')) return true;\n return false;\n }\n\n $bind(el: AuiComponent) {\n this._el_ = el;\n this._name_ = this.getAttribute('for') || 'default';\n }\n\n $replace(el: AuiComponent) {\n const name = this.getAttribute('name') || 'default';\n const start = document.createComment(`aui-slot-${name}-start`);\n const end = document.createComment(`aui-slot-${name}-end`);\n\n el.$slot(name, { start, end });\n this.replaceWith(start, end);\n }\n}\n\nconst _M = {\n init() {\n _M.defineSlot();\n return _M;\n },\n defineSlot() {\n try {\n customElements.define('aui-slot', AuiSlot);\n } catch (error) { }\n },\n $call(ref: Record<string, any>, name?: string, ...args: any[]): any {\n\n if (!ref) {\n return new Error('not init');\n }\n\n if (!name) return ref;\n\n if (typeof ref[name] === 'function') {\n return ref[name].call(ref, ...args);\n }\n\n const sp = name.split('.');\n let target = ref, last = sp.pop() || '', cur = null;\n\n while (cur = sp.shift()) {\n if (Object.prototype.hasOwnProperty.call(target, cur)) {\n target = target[cur];\n } else {\n return new Error('no match name');\n }\n }\n\n if (args.length === 0) {\n return target[last];\n } else {\n target[last] = args[0];\n return null;\n }\n\n },\n formatName(name: string | undefined): string {\n if (!name) {\n return '';\n }\n name = name.replace(/[A-Z]/g, function (s) {\n return '-' + s.toLowerCase();\n });\n return TAG_PREFIX + name;\n },\n cache: {\n defined: getGlobalAuiCore().defined,\n getAuiVueDefined(tagName: string): AUI_VUE_DEFINE_CACHE | undefined {\n tagName = tagName.toLowerCase();\n return _M.cache.defined[tagName];\n },\n getAuiPropNames(tagName: string): string[] {\n const auiVueDefined = _M.cache.getAuiVueDefined(tagName);\n const props = (auiVueDefined?.origin as any)?.props || {};\n const names = [];\n for (const key in props) {\n names.push(_M.auiAttrName(key));\n }\n return names;\n },\n addHooks(name: string, handle: HookHandler) {\n name = name.toLowerCase();\n const auiVueDefined = _M.cache.getAuiVueDefined(name);\n if (auiVueDefined) {\n auiVueDefined.hooks = auiVueDefined.hooks || [];\n auiVueDefined.hooks.push(handle);\n } else {\n _M.cache.defined[name] = {\n hooks: [handle],\n }\n }\n }\n },\n createExtendComp(v: Component): Component {\n return defineComponent({\n props: {\n auiExtend: {\n type: String,\n },\n value: {\n type: (v as any).props?.value?.type || [String, Number, Array],\n }\n },\n methods: {\n $anyToArray: AuiComponent.$anyToArray,\n $value(...args: any[]) {\n const $aui = this.$aui();\n if (args.length === 0) {\n return $aui?.value;\n } else {\n if ($aui) {\n $aui.value = args[0];\n }\n }\n },\n $call(name?: string, ...args: any[]): any {\n const $aui = this.$aui();\n if (!$aui) return null;\n return _M.$call($aui, name, ...args);\n },\n $aui(): AuiComponent | null {\n return this.$el?.parentNode;\n },\n },\n data() {\n return {\n\n }\n }\n })\n },\n patchDefaultProps(origin: Component): any {\n\n const valueType = (origin as any).props?.value?.type;\n\n if (!(origin as any).mixins) {\n (origin as any).mixins = [];\n }\n\n (origin as any).mixins.push(_M.createExtendComp(origin));\n\n return valueType;\n\n },\n defineAuiComponent(tagName: string, component: Component, origin: Component) {\n\n const valueType = _M.patchDefaultProps(origin);\n\n if (!_M.cache.defined[tagName]?.origin) {\n class AuiChild extends AuiComponent {\n constructor() {\n super({ valueType });\n }\n\n static get observedAttributes() {\n return _M.cache.getAuiPropNames(tagName);\n }\n\n }\n\n _M.cache.defined[tagName] = {\n aui: AuiChild,\n vue: component,\n origin,\n hooks: _M.cache.defined[tagName]?.hooks || [],\n };\n\n customElements.define(tagName, AuiChild);\n\n } else {\n _M.cache.defined[tagName].origin = origin;\n }\n },\n\n define(v: Component, force: boolean = false): Component {\n const tagName = _M.formatName(v.name);\n\n // console.log('define aui comp, name is', tagName);\n\n if (!tagName) {\n console.warn('当前组件不符合AUI定义');\n return v;\n }\n\n const auiVueDefined = _M.cache.getAuiVueDefined(tagName);\n\n if (auiVueDefined && auiVueDefined.vue) {\n if (!force) {\n console.warn('AUI组件已经被定义,当前组件将被舍弃,将返回已定义的组件,如需覆盖组件,请添加force: true');\n } else {\n console.log('aui组件更新origin定义');\n _M.defineAuiComponent(tagName, auiVueDefined.vue, v);\n }\n\n return auiVueDefined.vue;\n }\n\n const wrappedComponent = _M.createVueComponent(tagName);\n\n _M.defineAuiComponent(tagName, wrappedComponent, v);\n\n return wrappedComponent;\n },\n createTempSlot(children: SlotElement): any {\n const ret = {} as { [key: string]: any };\n Object.keys(children).forEach((name) => {\n ret[name] = () => h('aui-slot', { name });\n });\n return ret;\n },\n replaceTempSlot(el: AuiComponent, children: SlotElement) {\n const names = Object.keys(children);\n names.forEach((name) => {\n const slot = el.querySelector(`aui-slot[name=\"${name}\"]`) as AuiSlot | null;\n if (slot) {\n AuiSlot.prototype.$replace.call(slot, el);\n el.$replaceChildren(name, children[name]);\n }\n });\n\n },\n createVueComponent(tagName: string, el?: AuiComponent): Component {\n\n const children = el ? el.$moveChildren() : { default: [] };\n\n const wrappedComponent = {\n setup() {\n const attrs = useAttrs()\n const vueComponentRef = ref<any>(null)\n const elementRef = ref<AuiComponent | null>(null)\n const selfAttrs = ref<Record<string, any>>({})\n const slotsRef = ref<any>(el ? _M.createTempSlot(children) : useSlots())\n let target: Component | null;\n\n onMounted(() => {\n if (vueComponentRef.value && elementRef.value && elementRef.value.$bindVue) {\n elementRef.value.$bindVue(vueComponentRef.value);\n\n el && _M.replaceTempSlot(el, children);\n\n // 监听属性变化事件\n elementRef.value.addEventListener('aui-attr-change', () => {\n if (elementRef.value) {\n selfAttrs.value = _M.getAuiAttrs(elementRef.value);\n }\n });\n\n elementRef.value.$call('$emit', 'update:value', elementRef.value.value);\n } else {\n console.warn('AUI组件绑定失败');\n }\n })\n\n return () => {\n\n if (el) {\n elementRef.value = el;\n selfAttrs.value = _M.getAuiAttrs(el);\n }\n\n if (!target) {\n target = _M.formatStructure(tagName);\n }\n\n if (!target) {\n console.warn('AUI组件未定义,加载失败,name:', tagName);\n return null;\n }\n\n const trueComp = h(target, { ...attrs, ...selfAttrs.value, ref: vueComponentRef }, slotsRef.value || {});\n\n const ret = el ? trueComp : h(tagName, { ref: elementRef, [AUI_ATTR_FLAG]: '' }, [\n trueComp\n ]);\n\n return ret;\n }\n }\n };\n\n return wrappedComponent;\n },\n getAuiAttrs(el: AuiComponent): Record<string, any> {\n\n const attrs = {} as Record<string, any>;\n\n const attributes = el.attributes;\n\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes[i];\n // 跳过 aui 和 vue 标记属性\n if (attr.name === TAG_PREFIX || _M.isVueAttr(attr.name)) continue;\n attrs[attr.name] = attr.value;\n }\n\n if (el.value !== null) {\n attrs.value = el.value;\n }\n\n return attrs;\n },\n isVueAttr(name: string): boolean {\n return name.indexOf('data-v-') === 0;\n },\n auiAttrName(name: string): string {\n return name.replace(/([A-Z])/g, (a) => '-' + a.toLowerCase());\n },\n vueAttrName(name: string): string {\n if (_M.isVueAttr(name)) return name;\n return name.replace(/-([a-z])/g, (_, s1) => s1.toUpperCase());\n },\n hookStructure(name: string, handle: HookHandler) {\n _M.cache.addHooks(name, handle);\n },\n getHookStructure(name: string): HookHandler[] {\n const auiVueDefined = _M.cache.getAuiVueDefined(name);\n const hooks = auiVueDefined?.hooks || [];\n return hooks.slice(0);\n },\n formatStructure(tagName: string): Component | null {\n const auiVueDefined = _M.cache.getAuiVueDefined(tagName);\n if (!auiVueDefined?.origin) {\n return null;\n }\n let origin = merge({}, auiVueDefined.origin) as Component;\n const hooks = _M.getHookStructure(tagName);\n let handle;\n while (handle = hooks.shift()) {\n const cur = handle(origin);\n if (cur) {\n origin = cur;\n }\n }\n\n return origin;\n }\n};\n\nexport default _M.init();"],"names":["_a","_b","TAG_PREFIX","__AUI_CONFIG__","tagPrefix","AUI_ATTR_FLAG","shadowSymbol","Symbol","AuiComponent","HTMLElement","constructor","options","super","this","__hasVue__","needHook","slot","$initAttrs","connectedCallback","$needInit","$needHook","$initVue","textContent","v","$textContent","innerHTML","$innerHTML","innerText","$ignoreLog","prepend","node","$prepend","appendChild","$appendChild","value","val","oldValue","newValue","$isArrayValue","$anyToArray","JSON","stringify","toString","el","$attrChange","parse","hasAttribute","qualifiedName","shadowElement","setAttribute","getAttribute","$isShowProp","_M","vueAttrName","removeAttribute","attributeChangedCallback","name","s","arr","json","Array","_","split","filter","item","trim","args","length","ret","start","end","$slot","next","nextSibling","push","join","$replaceChildren","document","createTextNode","outerHTML","text","Comment","tpl","createElement","children","$moveChildren","default","parentNode","insertBefore","$childNodes","$children","removeChild","shift","need","list","childNodes","child","AuiSlot","$isForAuiSlot","prototype","slice","call","$bind","valueType","$call","dispatchEvent","CustomEvent","bubbles","composed","detail","attributeName","attributes","shadow","i","attr","Object","defineProperty","writable","isVueAttr","prop","$getProp","show","auiVueDefined","cache","getAuiVueDefined","tagName","origin","props","toLowerCase","createApp","createVueComponent","mount","$bindVue","ref","event","code","auiInit","_AuiComponent","style","display","_name_","_el_","$isAuiSlot","nodeType","Node","ELEMENT_NODE","$replace","createComment","replaceWith","init","defineSlot","customElements","define","error","Error","sp","target","last","pop","cur","hasOwnProperty","formatName","replace","defined","window","enumerable","__GLOBAL_AUI_CORE__","getAuiPropNames","names","key","auiAttrName","addHooks","handle","hooks","createExtendComp","defineComponent","auiExtend","type","String","Number","methods","$value","$aui","$el","data","patchDefaultProps","mixins","defineAuiComponent","component","AuiChild","observedAttributes","aui","vue","force","wrappedComponent","createTempSlot","keys","forEach","h","replaceTempSlot","querySelector","setup","attrs","useAttrs","vueComponentRef","elementRef","selfAttrs","slotsRef","useSlots","onMounted","addEventListener","getAuiAttrs","formatStructure","trueComp","indexOf","a","s1","toUpperCase","hookStructure","getHookStructure","merge","core","exports"],"mappings":"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"}
1
+ {"version":3,"file":"core.cjs.js","sources":["../src/core.ts"],"sourcesContent":["import type { Component as ComponentType } from 'vue';\r\nimport { h, useSlots, useAttrs, onMounted, ref, createApp, defineComponent, shallowRef } from 'vue';\r\nimport { merge } from 'ts-deepmerge';\r\nexport { type Component as TraditionComponent } from './types';\r\n\r\nconst TAG_PREFIX = __AUI_CONFIG__.tagPrefix || 'aui';\r\nconst AUI_ATTR_FLAG = 'data-v-aui';\r\n\r\nconst shadowSymbol = Symbol('shadow');\r\n\r\nexport type HookHandler = (c: any) => void | any;\r\n\r\ntype AUI_COMPONENT_OPTION = {\r\n valueType?: any\r\n}\r\n\r\nexport type Component = ComponentType;\r\n\r\ntype AUI_SLOT_CACHE = {\r\n start: Comment,\r\n end: Comment,\r\n};\r\n\r\ntype AUI_COMP_SHADOW = {\r\n el?: HTMLElement | null,\r\n ref?: Component | null,\r\n value?: string | null,\r\n options?: AUI_COMPONENT_OPTION,\r\n needHook: boolean,\r\n slot: Record<string, AUI_SLOT_CACHE>,\r\n};\r\n\r\ntype GlobalAuiCore = {\r\n defined: Record<string, AUI_VUE_DEFINE_CACHE>\r\n}\r\n\r\ntype SlotElement = {\r\n default: Node[],\r\n [key: string]: Node[],\r\n}\r\n\r\nfunction getGlobalAuiCore(): GlobalAuiCore {\r\n if (!Object.prototype.hasOwnProperty.call(window, '__GLOBAL_AUI_CORE__')) {\r\n Object.defineProperty(window, '__GLOBAL_AUI_CORE__', {\r\n value: {\r\n defined: {} as Record<string, AUI_VUE_DEFINE_CACHE>\r\n },\r\n writable: false,\r\n enumerable: false,\r\n });\r\n }\r\n return (window as any)['__GLOBAL_AUI_CORE__'];\r\n}\r\n\r\n\r\nexport class AuiComponent extends HTMLElement {\r\n __hasVue__: boolean = false;\r\n private static readonly shadowSymbol: typeof shadowSymbol = shadowSymbol;\r\n private [shadowSymbol]: AUI_COMP_SHADOW = { needHook: false, slot: {} };\r\n\r\n constructor(options?: AUI_COMPONENT_OPTION) {\r\n super();\r\n this[AuiComponent.shadowSymbol].options = options || {};\r\n this.$initAttrs();\r\n }\r\n\r\n connectedCallback() {\r\n // console.log('aui component connected:', this.tagName);\r\n\r\n if (this.$needInit()) {\r\n this.$needHook(true);\r\n this.$initVue();\r\n }\r\n\r\n }\r\n\r\n set textContent(v: string) {\r\n if (!this.$needHook()) {\r\n super.textContent = v;\r\n return;\r\n }\r\n\r\n this.$textContent(v);\r\n }\r\n\r\n get textContent() {\r\n if (!this.$needHook()) {\r\n return super.textContent || '';\r\n }\r\n\r\n return this.$textContent('default');\r\n }\r\n\r\n set innerHTML(v: string) {\r\n if (!this.$needHook()) {\r\n super.innerHTML = v;\r\n return;\r\n }\r\n\r\n this.$innerHTML(v);\r\n }\r\n\r\n get innerHTML() {\r\n if (!this.$needHook()) {\r\n return super.innerHTML || '';\r\n }\r\n\r\n return this.$innerHTML('default');\r\n }\r\n\r\n set innerText(v: string) {\r\n this.$ignoreLog('innerText');\r\n super.innerText = v;\r\n }\r\n\r\n prepend<T extends Node>(node: T) {\r\n if (!this.$needHook()) {\r\n return super.prepend(node);\r\n }\r\n this.$prepend('default', node);\r\n }\r\n\r\n appendChild<T extends Node>(node: T): T {\r\n if (!this.$needHook()) {\r\n return super.appendChild(node);\r\n }\r\n return this.$appendChild('default', node);\r\n }\r\n\r\n set value(v: string | null) {\r\n let val: any = v;\r\n\r\n const oldValue = this[AuiComponent.shadowSymbol].value;\r\n let newValue;\r\n\r\n if (this.$isArrayValue()) {\r\n val = AuiComponent.$anyToArray(v);\r\n newValue = JSON.stringify(val);\r\n } else {\r\n newValue = val.toString();\r\n }\r\n\r\n if (oldValue === newValue) return;\r\n\r\n this[AuiComponent.shadowSymbol].value = newValue;\r\n\r\n if (this[AuiComponent.shadowSymbol].el) {\r\n this.$attrChange('value');\r\n }\r\n }\r\n\r\n get value(): any {\r\n const v = this[AuiComponent.shadowSymbol].value;\r\n if (this.$isArrayValue()) {\r\n return typeof v === 'string' ? JSON.parse(v) : v;\r\n } else {\r\n return v;\r\n }\r\n }\r\n\r\n hasAttribute(qualifiedName: string): boolean {\r\n const shadowElement = this[AuiComponent.shadowSymbol].el;\r\n if (shadowElement) {\r\n return shadowElement.hasAttribute(qualifiedName);\r\n }\r\n return super.hasAttribute(qualifiedName);\r\n }\r\n\r\n setAttribute(qualifiedName: string, value: string): void {\r\n value = value.toString();\r\n const shadowElement = this[AuiComponent.shadowSymbol].el;\r\n if (shadowElement) {\r\n if (shadowElement.getAttribute(qualifiedName) === value) return;\r\n shadowElement.setAttribute(qualifiedName, value);\r\n }\r\n const isShow = this.$isShowProp(_M.vueAttrName(qualifiedName));\r\n if (isShow) {\r\n super.setAttribute(qualifiedName, value);\r\n }\r\n\r\n if (qualifiedName === 'value' && shadowElement) {\r\n this.value = shadowElement.getAttribute(qualifiedName);\r\n } else {\r\n this.$attrChange(qualifiedName);\r\n }\r\n }\r\n\r\n getAttribute(qualifiedName: string): string | null {\r\n const shadowElement = this[AuiComponent.shadowSymbol].el;\r\n return shadowElement ? shadowElement.getAttribute(qualifiedName) : super.getAttribute(qualifiedName);\r\n }\r\n\r\n removeAttribute(qualifiedName: string): void {\r\n const shadowElement = this[AuiComponent.shadowSymbol].el;\r\n if (shadowElement) {\r\n shadowElement.removeAttribute(qualifiedName);\r\n }\r\n const isShow = this.$isShowProp(_M.vueAttrName(qualifiedName));\r\n if (isShow) {\r\n super.removeAttribute(qualifiedName);\r\n }\r\n this.$attrChange(qualifiedName);\r\n }\r\n\r\n attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null) {\r\n const shadowElement = this[AuiComponent.shadowSymbol].el;\r\n if (!shadowElement) return;\r\n if (oldValue === newValue) return;\r\n\r\n if (!this.$isShowProp(_M.vueAttrName(name))) {\r\n super.removeAttribute(name);\r\n }\r\n\r\n shadowElement.setAttribute(name, newValue || '');\r\n if (name !== 'value') {\r\n this.$attrChange(name);\r\n }\r\n\r\n }\r\n\r\n // ---------------------------\r\n\r\n static $anyToArray(s: any): any {\r\n let arr = [];\r\n if (typeof s === 'string') {\r\n try {\r\n const json = JSON.parse(s);\r\n if (json instanceof Array) {\r\n return json;\r\n }\r\n } catch (_) { }\r\n const sp = s.split(',');\r\n arr = sp.filter((item) => item ? item.trim() : false);\r\n } else if (s instanceof Array) {\r\n arr = s;\r\n }\r\n\r\n return arr;\r\n }\r\n\r\n // ---------------------------\r\n\r\n $textContent(name: string, ...args: any): string {\r\n if (args.length === 0) {\r\n const ret = [];\r\n const { start, end } = this.$slot(name) || {};\r\n let next: Comment | Node | ChildNode | null | undefined = start;\r\n while (next && (next = next.nextSibling) && next !== end) {\r\n ret.push(next.textContent);\r\n }\r\n return ret.join('');\r\n\r\n } else {\r\n this.$replaceChildren(name, [document.createTextNode(args[0] || '')]);\r\n }\r\n return '';\r\n }\r\n\r\n $innerHTML(name: string, ...args: any): string {\r\n if (args.length === 0) {\r\n const ret = [];\r\n const { start, end } = this.$slot(name) || {};\r\n let next: Comment | Node | ChildNode | null | undefined = start;\r\n while (next && (next = next.nextSibling) && next !== end) {\r\n if ((next as any).outerHTML) {\r\n ret.push((next as any).outerHTML);\r\n } else {\r\n let text = next.textContent;\r\n if (next instanceof Comment) {\r\n text = `<!--${text}-->`;\r\n }\r\n ret.push(text);\r\n }\r\n\r\n }\r\n return ret.join('');\r\n\r\n } else {\r\n const tpl = document.createElement('div');\r\n tpl.innerHTML = args[0] || '';\r\n const children = this.$moveChildren(tpl as any);\r\n this.$replaceChildren(name, children.default);\r\n }\r\n return '';\r\n }\r\n\r\n $prepend<T extends Node>(name: string, node: T) {\r\n const { start } = this.$slot(name) || {};\r\n start?.parentNode?.insertBefore(node, start.nextSibling);\r\n }\r\n\r\n $appendChild<T extends Node>(name: string, node: T): T {\r\n const { end } = this.$slot(name) || {};\r\n end?.parentNode?.insertBefore(node, end);\r\n return node;\r\n }\r\n\r\n $childNodes(name?: string): NodeListOf<ChildNode> {\r\n const ret = [];\r\n const { start, end } = this.$slot(name) || {};\r\n let next: Comment | Node | ChildNode | null | undefined = start;\r\n while (next && (next = next.nextSibling) && next !== end) {\r\n ret.push(next);\r\n }\r\n return ret as any;\r\n }\r\n\r\n $children(name?: string): HTMLCollection {\r\n const ret = [];\r\n const { start, end } = this.$slot(name) || {};\r\n let next: Comment | Node | ChildNode | null | undefined = start;\r\n while (next && (next = next.nextSibling) && next !== end) {\r\n if (next instanceof HTMLElement) {\r\n ret.push(next);\r\n }\r\n }\r\n return ret as any;\r\n }\r\n\r\n $replaceChildren(name: string, children: any[]) {\r\n const { start, end } = this.$slot(name) || {};\r\n let next: Comment | Node | ChildNode | null | undefined = null;\r\n while (start && (next = start.nextSibling) && next !== end) {\r\n next.parentNode?.removeChild(next);\r\n }\r\n if (end) {\r\n while (next = children.shift()) {\r\n end.parentNode?.insertBefore(next, end);\r\n }\r\n }\r\n }\r\n\r\n $slot(name?: string, slot?: AUI_SLOT_CACHE): AUI_SLOT_CACHE | undefined {\r\n name = name || 'default';\r\n if (slot) {\r\n this[AuiComponent.shadowSymbol].slot[name] = slot;\r\n } else {\r\n return this[AuiComponent.shadowSymbol].slot[name];\r\n }\r\n }\r\n\r\n $needHook(need?: boolean): boolean {\r\n if (typeof need === 'boolean') {\r\n this[AuiComponent.shadowSymbol].needHook = need;\r\n }\r\n return this[AuiComponent.shadowSymbol].needHook;\r\n }\r\n\r\n $ignoreLog(name: string) {\r\n console.warn(`aui component ignore : ${name}`);\r\n }\r\n\r\n $moveChildren(el?: AuiComponent): SlotElement {\r\n el = el || this;\r\n const list = el.childNodes;\r\n const ret: SlotElement = {\r\n default: []\r\n };\r\n while (list.length > 0) {\r\n const child = list[0] as AuiSlot;\r\n child.parentNode?.removeChild(child);\r\n if (AuiSlot.$isForAuiSlot(child)) {\r\n const name = child.getAttribute('for') || 'default';\r\n ret[name] = ret[name] || [];\r\n const children = Array.prototype.slice.call(child.childNodes);\r\n AuiSlot.prototype.$bind.call(child, el);\r\n ret[name].push(...children);\r\n } else {\r\n ret['default'].push(child);\r\n }\r\n }\r\n return ret;\r\n }\r\n\r\n $isArrayValue() {\r\n return this[AuiComponent.shadowSymbol].options?.valueType === Array;\r\n }\r\n\r\n $attrChange(name: string) {\r\n if (name === 'value') {\r\n const val = this.value;\r\n if (super.hasAttribute(AUI_ATTR_FLAG)) {\r\n this.$call('$emit', `update:value`, val);\r\n } else {\r\n super.dispatchEvent(new CustomEvent('input', {\r\n bubbles: true,\r\n composed: true,\r\n }));\r\n // super.dispatchEvent(new CustomEvent('change', {\r\n // bubbles: true,\r\n // composed: true,\r\n // }));\r\n }\r\n }\r\n this.dispatchEvent(new CustomEvent('aui-attr-change', {\r\n bubbles: true,\r\n composed: true,\r\n detail: { attributeName: _M.vueAttrName(name) }\r\n }));\r\n }\r\n\r\n $initAttrs() {\r\n const attributes = this.attributes;\r\n const shadow = document.createElement('div');\r\n for (let i = 0; i < attributes.length; i++) {\r\n const attr = attributes[i];\r\n shadow.setAttribute(attr.name, attr.value);\r\n if (!this.$isShowProp(_M.vueAttrName(attr.name))) {\r\n super.removeAttribute(attr.name);\r\n }\r\n if (attr.name === 'value') {\r\n this.value = attr.value;\r\n }\r\n }\r\n Object.defineProperty(this, 'attributes', {\r\n get value() {\r\n return shadow.attributes;\r\n },\r\n writable: false,\r\n });\r\n\r\n this[AuiComponent.shadowSymbol].el = shadow;\r\n }\r\n\r\n $isShowProp(name: string): boolean {\r\n if (_M.isVueAttr(name)) return true;\r\n const prop = this.$getProp(name);\r\n // console.log('name:', name)\r\n const isShow = prop?.show;\r\n return isShow;\r\n }\r\n\r\n $getProp(name: string): any {\r\n const auiVueDefined = _M.cache.getAuiVueDefined(this.tagName);\r\n const props = (auiVueDefined?.origin as any)?.props || {};\r\n return props[name];\r\n }\r\n\r\n $initVue() {\r\n if (this.__hasVue__) {\r\n return;\r\n }\r\n this.__hasVue__ = true;\r\n\r\n const tagName = this.tagName.toLowerCase();\r\n const auiVueDefined = _M.cache.getAuiVueDefined(tagName);\r\n if (!auiVueDefined) {\r\n console.warn(`AUI组件 [${this.tagName}] 未定义`);\r\n return;\r\n }\r\n createApp(_M.createVueComponent(tagName, this)).mount(this);\r\n }\r\n\r\n $needInit() {\r\n const flag = super.hasAttribute(AUI_ATTR_FLAG);\r\n if (flag) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n $bindVue(v: Component) {\r\n if (this[AuiComponent.shadowSymbol].ref) {\r\n return;\r\n }\r\n // Object.assign(v, { $aui: this });\r\n this[AuiComponent.shadowSymbol].ref = v;\r\n this.__hasVue__ = true;\r\n // 触发init事件\r\n const event = new CustomEvent('aui-init', {\r\n bubbles: false,\r\n detail: { code: 0 }\r\n });\r\n this.dispatchEvent(event);\r\n const auiInit = (_M.cache.getAuiVueDefined(this.tagName)?.origin as any)?.auiInit;\r\n if (auiInit) {\r\n auiInit.call(v);\r\n }\r\n }\r\n\r\n $call(name?: string, ...args: any[]): any {\r\n const ref = this[AuiComponent.shadowSymbol].ref as Record<string, any>;\r\n return _M.$call(ref, name, ...args);\r\n }\r\n\r\n}\r\n\r\ntype TypeAuiComponent = typeof AuiComponent;\r\n\r\ntype AUI_VUE_DEFINE_CACHE = {\r\n aui?: TypeAuiComponent,\r\n vue?: Component,\r\n origin?: Component,\r\n hooks?: HookHandler[],\r\n}\r\n\r\n\r\nclass AuiSlot extends HTMLElement {\r\n\r\n _el_?: AuiComponent;\r\n _name_?: string;\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n connectedCallback() {\r\n this.style.display = 'none';\r\n }\r\n\r\n set textContent(v: string) {\r\n if (this._name_) {\r\n this._el_?.$textContent(this._name_, v);\r\n } else {\r\n super.textContent = v;\r\n }\r\n }\r\n\r\n set innerHTML(v: string) {\r\n if (this._name_) {\r\n this._el_?.$innerHTML(this._name_, v);\r\n } else {\r\n super.innerHTML = v;\r\n }\r\n }\r\n\r\n prepend<T extends Node>(node: T): void {\r\n if (this._name_) {\r\n this._el_?.$prepend(this._name_, node);\r\n } else {\r\n super.prepend(node);\r\n }\r\n }\r\n\r\n appendChild<T extends Node>(node: T): T {\r\n if (this._name_) {\r\n this._el_?.$appendChild(this._name_, node);\r\n return node;\r\n } else {\r\n return super.appendChild(node);\r\n }\r\n }\r\n\r\n // ---------------------\r\n\r\n static $isAuiSlot(el: HTMLElement) {\r\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return false;\r\n\r\n if (el.tagName.toLowerCase() === 'aui-slot') return true;\r\n\r\n return false;\r\n }\r\n\r\n static $isForAuiSlot(el: HTMLElement) {\r\n if (AuiSlot.$isAuiSlot(el) && el.hasAttribute('for')) return true;\r\n return false;\r\n }\r\n\r\n $bind(el: AuiComponent) {\r\n this._el_ = el;\r\n this._name_ = this.getAttribute('for') || 'default';\r\n }\r\n\r\n $replace(el: AuiComponent) {\r\n const name = this.getAttribute('name') || 'default';\r\n const start = document.createComment(`aui-slot-${name}-start`);\r\n const end = document.createComment(`aui-slot-${name}-end`);\r\n\r\n el.$slot(name, { start, end });\r\n this.replaceWith(start, end);\r\n }\r\n}\r\n\r\nconst _M = {\r\n init() {\r\n _M.defineSlot();\r\n return _M;\r\n },\r\n defineSlot() {\r\n _M.defineCustomElement('aui-slot', AuiSlot);\r\n },\r\n $call(ref: Record<string, any>, name?: string, ...args: any[]): any {\r\n\r\n if (!ref) {\r\n return new Error('not init');\r\n }\r\n\r\n if (!name) return ref;\r\n\r\n if (typeof ref[name] === 'function') {\r\n return ref[name].call(ref, ...args);\r\n }\r\n\r\n const sp = name.split('.');\r\n let target = ref, last = sp.pop() || '', cur = null;\r\n\r\n while (cur = sp.shift()) {\r\n if (Object.prototype.hasOwnProperty.call(target, cur)) {\r\n target = target[cur];\r\n } else {\r\n return new Error('no match name');\r\n }\r\n }\r\n\r\n if (args.length === 0) {\r\n return target[last];\r\n } else {\r\n target[last] = args[0];\r\n return null;\r\n }\r\n\r\n },\r\n formatName(name: string | undefined): string {\r\n if (!name) {\r\n return '';\r\n }\r\n name = name.replace(/[A-Z]/g, function (s) {\r\n return '-' + s.toLowerCase();\r\n });\r\n return TAG_PREFIX + name;\r\n },\r\n cache: {\r\n defined: getGlobalAuiCore().defined,\r\n getAuiVueDefined(tagName: string): AUI_VUE_DEFINE_CACHE | undefined {\r\n tagName = tagName.toLowerCase();\r\n return _M.cache.defined[tagName];\r\n },\r\n getAuiPropNames(tagName: string): string[] {\r\n const auiVueDefined = _M.cache.getAuiVueDefined(tagName);\r\n const props = (auiVueDefined?.origin as any)?.props || {};\r\n const names = [];\r\n for (const key in props) {\r\n names.push(_M.auiAttrName(key));\r\n }\r\n return names;\r\n },\r\n addHooks(name: string, handle: HookHandler) {\r\n name = name.toLowerCase();\r\n const auiVueDefined = _M.cache.getAuiVueDefined(name);\r\n if (auiVueDefined) {\r\n auiVueDefined.hooks = auiVueDefined.hooks || [];\r\n auiVueDefined.hooks.push(handle);\r\n } else {\r\n _M.cache.defined[name] = {\r\n hooks: [handle],\r\n }\r\n }\r\n }\r\n },\r\n createExtendComp(v: Component): Component {\r\n return defineComponent({\r\n props: {\r\n auiExtend: {\r\n type: String,\r\n },\r\n value: {\r\n type: (v as any).props?.value?.type || [String, Number, Array],\r\n }\r\n },\r\n methods: {\r\n $anyToArray: AuiComponent.$anyToArray,\r\n $value(...args: any[]) {\r\n const $aui = this.$aui();\r\n if (args.length === 0) {\r\n return $aui?.value;\r\n } else {\r\n if ($aui) {\r\n $aui.value = args[0];\r\n }\r\n }\r\n },\r\n $call(name?: string, ...args: any[]): any {\r\n const $aui = this.$aui();\r\n if (!$aui) return null;\r\n return _M.$call($aui, name, ...args);\r\n },\r\n $aui(): AuiComponent | null {\r\n return this.$el?.parentNode;\r\n },\r\n },\r\n data() {\r\n return {\r\n\r\n }\r\n }\r\n })\r\n },\r\n patchDefaultProps(origin: Component): any {\r\n\r\n const valueType = (origin as any).props?.value?.type;\r\n\r\n if (!(origin as any).mixins) {\r\n (origin as any).mixins = [];\r\n }\r\n\r\n (origin as any).mixins.push(_M.createExtendComp(origin));\r\n\r\n return valueType;\r\n\r\n },\r\n defineAuiComponent(tagName: string, component: Component, origin: Component) {\r\n\r\n const valueType = _M.patchDefaultProps(origin);\r\n\r\n if (!_M.cache.defined[tagName]?.origin) {\r\n class AuiChild extends AuiComponent {\r\n constructor() {\r\n super({ valueType });\r\n }\r\n\r\n static get observedAttributes() {\r\n return _M.cache.getAuiPropNames(tagName);\r\n }\r\n\r\n }\r\n\r\n _M.cache.defined[tagName] = {\r\n aui: AuiChild,\r\n vue: component,\r\n origin,\r\n hooks: _M.cache.defined[tagName]?.hooks || [],\r\n };\r\n\r\n _M.defineCustomElement(tagName, AuiChild);\r\n\r\n } else {\r\n _M.cache.defined[tagName].origin = origin;\r\n }\r\n },\r\n\r\n defineCustomElement(tagName: string, cls: any) {\r\n try {\r\n customElements.define(tagName, cls);\r\n } catch (_) {\r\n // console.warn('defineCustomElement error', error);\r\n }\r\n },\r\n\r\n sameComponent(tagName: string, v: any): boolean {\r\n if (!Object.prototype.hasOwnProperty.call(v, '__hmrId')) return false;\r\n const auiVueDefined = _M.cache.getAuiVueDefined(tagName);\r\n const origin = auiVueDefined?.origin as any;\r\n if (!origin) return false;\r\n return v.__hmrId === origin.__hmrId;\r\n },\r\n\r\n notifyComponentUpdate(tagName: string) {\r\n const comps = document.querySelectorAll(tagName);\r\n comps.forEach((comp) => {\r\n comp.dispatchEvent(new CustomEvent('aui-force-update'));\r\n });\r\n },\r\n\r\n define(v: Component, force: boolean = true): Component {\r\n const tagName = _M.formatName(v.name);\r\n\r\n // console.log('define aui comp, name is', tagName);\r\n\r\n if (!tagName) {\r\n console.warn('当前组件不符合AUI定义');\r\n return v;\r\n }\r\n\r\n const auiVueDefined = _M.cache.getAuiVueDefined(tagName);\r\n\r\n if (auiVueDefined && auiVueDefined.vue) {\r\n if (force || _M.sameComponent(tagName, v)) {\r\n console.log('aui组件更新origin定义');\r\n _M.defineAuiComponent(tagName, auiVueDefined.vue, v);\r\n _M.notifyComponentUpdate(tagName);\r\n } else {\r\n console.warn('AUI组件已经被定义,当前组件将被舍弃,将返回已定义的组件,如需覆盖组件,请添加force: true');\r\n }\r\n\r\n return auiVueDefined.vue;\r\n }\r\n\r\n const wrappedComponent = _M.createVueComponent(tagName);\r\n\r\n _M.defineAuiComponent(tagName, wrappedComponent, v);\r\n\r\n return wrappedComponent;\r\n },\r\n createTempSlot(children: SlotElement): any {\r\n const ret = {} as { [key: string]: any };\r\n Object.keys(children).forEach((name) => {\r\n ret[name] = () => h('aui-slot', { name });\r\n });\r\n return ret;\r\n },\r\n replaceTempSlot(el: AuiComponent, children: SlotElement) {\r\n const names = Object.keys(children);\r\n names.forEach((name) => {\r\n const slot = el.querySelector(`aui-slot[name=\"${name}\"]`) as AuiSlot | null;\r\n if (slot) {\r\n AuiSlot.prototype.$replace.call(slot, el);\r\n el.$replaceChildren(name, children[name]);\r\n }\r\n });\r\n\r\n },\r\n createVueComponent(tagName: string, el?: AuiComponent): Component {\r\n\r\n const children = el ? el.$moveChildren() : { default: [] };\r\n\r\n const wrappedComponent = {\r\n setup() {\r\n const attrs = useAttrs()\r\n const vueComponentRef = shallowRef<any>(null)\r\n const elementRef = shallowRef<AuiComponent | null>(null)\r\n const selfAttrs = ref<Record<string, any>>({})\r\n const slotsRef = shallowRef<any>(el ? _M.createTempSlot(children) : useSlots())\r\n const target = shallowRef<Component | null>(null);\r\n\r\n onMounted(() => {\r\n if (vueComponentRef.value && elementRef.value && elementRef.value.$bindVue) {\r\n elementRef.value.$bindVue(vueComponentRef.value);\r\n\r\n el && _M.replaceTempSlot(el, children);\r\n\r\n // 监听属性变化事件\r\n elementRef.value.addEventListener('aui-attr-change', () => {\r\n if (elementRef.value) {\r\n selfAttrs.value = _M.getAuiAttrs(elementRef.value);\r\n }\r\n });\r\n\r\n // 监听自定义强制更新事件\r\n elementRef.value.addEventListener('aui-force-update', () => {\r\n target.value = null;\r\n });\r\n\r\n elementRef.value.$call('$emit', 'update:value', elementRef.value.value);\r\n } else {\r\n console.warn('AUI组件绑定失败');\r\n }\r\n })\r\n\r\n return () => {\r\n\r\n if (el) {\r\n elementRef.value = el;\r\n selfAttrs.value = _M.getAuiAttrs(el);\r\n }\r\n\r\n if (!target.value) {\r\n (target as any).value = _M.formatStructure(tagName);\r\n }\r\n\r\n if (!target.value) {\r\n console.warn('AUI组件未定义,加载失败,name:', tagName);\r\n return null;\r\n }\r\n\r\n const trueComp = h(target.value, { ...attrs, ...selfAttrs.value, ref: vueComponentRef }, slotsRef.value || {});\r\n\r\n const ret = el ? trueComp : h(tagName, { ref: elementRef, [AUI_ATTR_FLAG]: '' }, [\r\n trueComp\r\n ]);\r\n\r\n return ret;\r\n }\r\n }\r\n };\r\n\r\n return wrappedComponent;\r\n },\r\n getAuiAttrs(el: AuiComponent): Record<string, any> {\r\n\r\n const attrs = {} as Record<string, any>;\r\n\r\n const attributes = el.attributes;\r\n\r\n for (let i = 0; i < attributes.length; i++) {\r\n const attr = attributes[i];\r\n // 跳过 aui 和 vue 标记属性\r\n if (attr.name === TAG_PREFIX || _M.isVueAttr(attr.name)) continue;\r\n attrs[attr.name] = attr.value;\r\n }\r\n\r\n if (el.value !== null) {\r\n attrs.value = el.value;\r\n }\r\n\r\n return attrs;\r\n },\r\n isVueAttr(name: string): boolean {\r\n return name.indexOf('data-v-') === 0;\r\n },\r\n auiAttrName(name: string): string {\r\n return name.replace(/([A-Z])/g, (a) => '-' + a.toLowerCase());\r\n },\r\n vueAttrName(name: string): string {\r\n if (_M.isVueAttr(name)) return name;\r\n return name.replace(/-([a-z])/g, (_, s1) => s1.toUpperCase());\r\n },\r\n hookStructure(name: string, handle: HookHandler) {\r\n _M.cache.addHooks(name, handle);\r\n },\r\n getHookStructure(name: string): HookHandler[] {\r\n const auiVueDefined = _M.cache.getAuiVueDefined(name);\r\n const hooks = auiVueDefined?.hooks || [];\r\n return hooks.slice(0);\r\n },\r\n formatStructure(tagName: string): Component | null {\r\n const auiVueDefined = _M.cache.getAuiVueDefined(tagName);\r\n if (!auiVueDefined?.origin) {\r\n return null;\r\n }\r\n let origin = merge({}, auiVueDefined.origin) as Component;\r\n const hooks = _M.getHookStructure(tagName);\r\n let handle;\r\n while (handle = hooks.shift()) {\r\n const cur = handle(origin);\r\n if (cur) {\r\n origin = cur;\r\n }\r\n }\r\n\r\n return origin;\r\n }\r\n};\r\n\r\nexport default _M.init();"],"names":["_a","_b","TAG_PREFIX","__AUI_CONFIG__","tagPrefix","AUI_ATTR_FLAG","shadowSymbol","Symbol","AuiComponent","HTMLElement","constructor","options","super","this","__hasVue__","needHook","slot","$initAttrs","connectedCallback","$needInit","$needHook","$initVue","textContent","v","$textContent","innerHTML","$innerHTML","innerText","$ignoreLog","prepend","node","$prepend","appendChild","$appendChild","value","val","oldValue","newValue","$isArrayValue","$anyToArray","JSON","stringify","toString","el","$attrChange","parse","hasAttribute","qualifiedName","shadowElement","setAttribute","getAttribute","$isShowProp","_M","vueAttrName","removeAttribute","attributeChangedCallback","name","s","arr","json","Array","_","split","filter","item","trim","args","length","ret","start","end","$slot","next","nextSibling","push","join","$replaceChildren","document","createTextNode","outerHTML","text","Comment","tpl","createElement","children","$moveChildren","default","parentNode","insertBefore","$childNodes","$children","removeChild","shift","need","list","childNodes","child","AuiSlot","$isForAuiSlot","prototype","slice","call","$bind","valueType","$call","dispatchEvent","CustomEvent","bubbles","composed","detail","attributeName","attributes","shadow","i","attr","Object","defineProperty","writable","isVueAttr","prop","$getProp","show","auiVueDefined","cache","getAuiVueDefined","tagName","origin","props","toLowerCase","createApp","createVueComponent","mount","$bindVue","ref","event","code","auiInit","_AuiComponent","style","display","_name_","_el_","$isAuiSlot","nodeType","Node","ELEMENT_NODE","$replace","createComment","replaceWith","init","defineSlot","defineCustomElement","Error","sp","target","last","pop","cur","hasOwnProperty","formatName","replace","defined","window","enumerable","__GLOBAL_AUI_CORE__","getAuiPropNames","names","key","auiAttrName","addHooks","handle","hooks","createExtendComp","defineComponent","auiExtend","type","String","Number","methods","$value","$aui","$el","data","patchDefaultProps","mixins","defineAuiComponent","component","AuiChild","observedAttributes","aui","vue","cls","customElements","define","sameComponent","__hmrId","notifyComponentUpdate","querySelectorAll","forEach","comp","force","wrappedComponent","createTempSlot","keys","h","replaceTempSlot","querySelector","setup","attrs","useAttrs","vueComponentRef","shallowRef","elementRef","selfAttrs","slotsRef","useSlots","onMounted","addEventListener","getAuiAttrs","formatStructure","trueComp","indexOf","a","s1","toUpperCase","hookStructure","getHookStructure","merge","core","exports"],"mappings":"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"}
package/dist/core.d.ts CHANGED
@@ -77,6 +77,9 @@ declare const _default: {
77
77
  createExtendComp(v: Component): Component;
78
78
  patchDefaultProps(origin: Component): any;
79
79
  defineAuiComponent(tagName: string, component: Component, origin: Component): void;
80
+ defineCustomElement(tagName: string, cls: any): void;
81
+ sameComponent(tagName: string, v: any): boolean;
82
+ notifyComponentUpdate(tagName: string): void;
80
83
  define(v: Component, force?: boolean): Component;
81
84
  createTempSlot(children: SlotElement): any;
82
85
  replaceTempSlot(el: AuiComponent, children: SlotElement): void;
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}