agile-core 3.0.3 → 3.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.
@@ -1 +1 @@
1
- {"version":3,"file":"core.es.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","options","super","this","__hasVue__","needHook","slot","$initAttrs","$needInit","$needHook","$initVue","v","$textContent","textContent","$innerHTML","innerHTML","$ignoreLog","innerText","node","prepend","$prepend","$appendChild","appendChild","val","oldValue","value","newValue","$isArrayValue","$anyToArray","JSON","stringify","toString","el","$attrChange","parse","qualifiedName","shadowElement","hasAttribute","getAttribute","setAttribute","$isShowProp","_M","vueAttrName","removeAttribute","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","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","isShow","show","auiVueDefined","cache","getAuiVueDefined","tagName","origin","props","toLowerCase","createApp","createVueComponent","mount","ref","event","code","auiInit","constructor","connectedCallback","style","display","_name_","_el_","nodeType","Node","ELEMENT_NODE","$isAuiSlot","createComment","replaceWith","init","defineSlot","defineCustomElement","Error","sp","target","last","pop","cur","hasOwnProperty","formatName","replace","defined","window","enumerable","names","key","auiAttrName","handle","hooks","createExtendComp","defineComponent","auiExtend","type","String","Number","methods","$aui","$el","data","mixins","component","patchDefaultProps","AuiChild","observedAttributes","getAuiPropNames","aui","vue","cls","customElements","define","__hmrId","querySelectorAll","forEach","comp","force","sameComponent","defineAuiComponent","notifyComponentUpdate","wrappedComponent","keys","h","querySelector","$replace","setup","attrs","useAttrs","vueComponentRef","shallowRef","elementRef","selfAttrs","slotsRef","createTempSlot","useSlots","onMounted","$bindVue","replaceTempSlot","addEventListener","getAuiAttrs","formatStructure","trueComp","indexOf","a","s1","toUpperCase","addHooks","merge","getHookStructure","core"],"mappings":"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"}
1
+ {"version":3,"file":"core.es.js","sources":["../src/core.ts"],"sourcesContent":["import type { Component as ComponentType } from 'vue';\r\nimport { h, useSlots, useAttrs, onMounted, onUpdated, 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\nconst AUI_EXTEND_ATTR = 'auix';\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 slotCollection?: Record<string, any[]>,\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\n// function 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 $customEvent(name: string, opts?: any) {\r\n this.dispatchEvent(new CustomEvent(name, Object.assign({\r\n bubbles: false,\r\n composed: false,\r\n cancelable: true,\r\n }, opts || {})));\r\n }\r\n\r\n $forceUpdate() {\r\n let slotCollection: Record<string, any> | null = null;\r\n const slot = this[AuiComponent.shadowSymbol].slot;\r\n for (const name in slot) {\r\n const children = this.$slotCollection(slot[name]);\r\n if (!slotCollection) slotCollection = {};\r\n slotCollection[name] = children;\r\n }\r\n\r\n if (slotCollection) {\r\n this[AuiComponent.shadowSymbol].slotCollection = slotCollection;\r\n }\r\n\r\n this.$customEvent('aui-force-update');\r\n }\r\n\r\n $slotCollection(cache: AUI_SLOT_CACHE) {\r\n const { start, end } = cache;\r\n const children = [];\r\n let child;\r\n while (start && (child = start.nextSibling) && child !== end) {\r\n start.parentNode?.removeChild(child);\r\n children.push(child);\r\n }\r\n return children;\r\n }\r\n\r\n $slotReplace() {\r\n const slotCollection = this[AuiComponent.shadowSymbol].slotCollection;\r\n if (!slotCollection) return;\r\n delete this[AuiComponent.shadowSymbol].slotCollection;\r\n for (const name in slotCollection) {\r\n const slot = this.querySelector(`aui-slot[name=\"${name}\"]`) as AuiSlot;\r\n slot.$replace(this);\r\n this.$replaceChildren(name, slotCollection[name]);\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 this.$customEvent('input', {\r\n bubbles: true,\r\n composed: true,\r\n });\r\n }\r\n }\r\n this.$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 this.$customEvent('aui-init', {\r\n bubbles: false,\r\n detail: { code: 0 }\r\n });\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: {} as Record<string, AUI_VUE_DEFINE_CACHE>, // 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 if(names.indexOf(AUI_EXTEND_ATTR)===-1) {\r\n names.push(AUI_EXTEND_ATTR);\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 [AUI_EXTEND_ATTR]: {\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) as NodeListOf<AuiComponent>;\r\n comps.forEach((comp) => {\r\n comp.$forceUpdate();\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 onUpdated(() => {\r\n if (elementRef.value) {\r\n elementRef.value.$slotReplace();\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","AUI_EXTEND_ATTR","shadowSymbol","Symbol","AuiComponent","HTMLElement","options","super","this","__hasVue__","needHook","slot","$initAttrs","connectedCallback","$needInit","$needHook","$initVue","v","$textContent","textContent","$innerHTML","innerHTML","$ignoreLog","innerText","node","prepend","$prepend","$appendChild","appendChild","val","oldValue","value","newValue","$isArrayValue","$anyToArray","JSON","stringify","toString","el","$attrChange","parse","qualifiedName","shadowElement","hasAttribute","getAttribute","setAttribute","$isShowProp","_M","vueAttrName","removeAttribute","name","s","arr","json","Array","_","split","filter","item","trim","opts","dispatchEvent","CustomEvent","Object","assign","bubbles","composed","cancelable","$forceUpdate","slotCollection","children","$slotCollection","$customEvent","cache","start","end","child","nextSibling","parentNode","removeChild","push","$slotReplace","querySelector","$replace","$replaceChildren","args","length","ret","$slot","next","join","document","createTextNode","outerHTML","text","Comment","tpl","createElement","$moveChildren","default","insertBefore","shift","need","list","childNodes","AuiSlot","$isForAuiSlot","prototype","slice","call","$bind","valueType","$call","detail","attributeName","attributes","shadow","i","attr","defineProperty","writable","isVueAttr","prop","$getProp","isShow","show","auiVueDefined","getAuiVueDefined","tagName","origin","props","toLowerCase","createApp","createVueComponent","mount","ref","code","auiInit","constructor","style","display","_name_","_el_","nodeType","Node","ELEMENT_NODE","$isAuiSlot","createComment","replaceWith","init","defineSlot","defineCustomElement","Error","sp","target","last","pop","cur","hasOwnProperty","formatName","replace","defined","names","key","auiAttrName","indexOf","handle","hooks","createExtendComp","defineComponent","type","String","Number","methods","$aui","$el","data","mixins","component","patchDefaultProps","AuiChild","observedAttributes","getAuiPropNames","aui","vue","cls","customElements","define","__hmrId","querySelectorAll","forEach","comp","force","sameComponent","defineAuiComponent","notifyComponentUpdate","wrappedComponent","keys","h","setup","attrs","useAttrs","vueComponentRef","shallowRef","elementRef","selfAttrs","slotsRef","createTempSlot","useSlots","onMounted","$bindVue","replaceTempSlot","addEventListener","getAuiAttrs","onUpdated","formatStructure","trueComp","a","s1","toUpperCase","addHooks","merge","getHookStructure","core"],"mappings":";;AAAA,IAAAA,GAAAC;AAKA,MAAMC,IAAaC,eAAeC,aAAa,OACzCC,IAAgB,cAChBC,IAAkB,QAElBC,IAAeC,OAAO,QAAA;AAgDrB,MAAMC,gBAAN,MAAMA,uBAAqBR,IAAAS,aAGrBV,IAAAO,GAHqBN,GAAAA;AAAAA,EAK9B,YAAYU,IAAAA;AACRC,UAAAA,GALJC,KAAAC,aAAAA,OAEAD,KAASb,CAAAA,IAAiC,EAAEe,UAAAA,OAAiBC,MAAM,MAI/DH,KAAKJ,cAAaF,YAAAA,EAAcI,UAAUA,MAAW,CAAA,GACrDE,KAAKI,WAAAA;AAAAA,EACT;AAAA,EAEA,oBAAAC;AAGQL,SAAKM,UAAAA,MACLN,KAAKO,UAAAA,IAAU,GACfP,KAAKQ,SAAAA;AAAAA,EAGb;AAAA,EAEA,IAAA,YAAgBC,IAAAA;AACPT,SAAKO,UAAAA,IAKVP,KAAKU,aAAaD,EAAAA,IAJdV,MAAMY,cAAcF;AAAAA,EAK5B;AAAA,EAEA,IAAA,cAAIE;AACA,WAAKX,KAAKO,UAAAA,IAIHP,KAAKU,aAAa,SAAA,IAHdX,MAAMY,eAAe;AAAA,EAIpC;AAAA,EAEA,IAAA,UAAcF,IAAAA;AACLT,SAAKO,UAAAA,IAKVP,KAAKY,WAAWH,EAAAA,IAJZV,MAAMc,YAAYJ;AAAAA,EAK1B;AAAA,EAEA,IAAA,YAAII;AACA,WAAKb,KAAKO,UAAAA,IAIHP,KAAKY,WAAW,SAAA,IAHZb,MAAMc,aAAa;AAAA,EAIlC;AAAA,EAEA,IAAA,UAAcJ,IAAAA;AACVT,SAAKc,WAAW,WAAA,GAChBf,MAAMgB,YAAYN;AAAAA,EACtB;AAAA,EAEA,QAAwBO,IAAAA;AACpB,QAAA,CAAKhB,KAAKO,UAAAA,EACN,QAAOR,MAAMkB,QAAQD,EAAAA;AAEzBhB,SAAKkB,SAAS,WAAWF,EAAAA;AAAAA,EAC7B;AAAA,EAEA,YAA4BA,IAAAA;AACxB,WAAKhB,KAAKO,UAAAA,IAGHP,KAAKmB,aAAa,WAAWH,EAAAA,IAFzBjB,MAAMqB,YAAYJ,EAAAA;AAAAA,EAGjC;AAAA,EAEA,IAAA,MAAUP,IAAAA;AACN,QAAIY,KAAWZ;AAEf,UAAMa,KAAWtB,KAAKJ,cAAaF,YAAAA,EAAc6B;AACjD,QAAIC;AAEAxB,SAAKyB,cAAAA,KACLJ,KAAMzB,cAAa8B,YAAYjB,EAAAA,GAC/Be,KAAWG,KAAKC,UAAUP,EAAAA,KAE1BG,KAAWH,GAAIQ,SAAAA,GAGfP,OAAaE,OAEjBxB,KAAKJ,cAAaF,YAAAA,EAAc6B,QAAQC,IAEpCxB,KAAKJ,cAAaF,YAAAA,EAAcoC,MAChC9B,KAAK+B,YAAY,OAAA;AAAA,EAEzB;AAAA,EAEA,IAAA,QAAIR;AACA,UAAMd,KAAIT,KAAKJ,cAAaF,YAAAA,EAAc6B;AAC1C,WAAIvB,KAAKyB,cAAAA,KACe,YAAA,OAANhB,KAAiBkB,KAAKK,MAAMvB,EAAAA,IAEnCA;AAAAA,EAEf;AAAA,EAEA,aAAawB,IAAAA;AACT,UAAMC,KAAgBlC,KAAKJ,cAAaF,cAAcoC;AACtD,WAAII,KACOA,GAAcC,aAAaF,EAAAA,IAE/BlC,MAAMoC,aAAaF,EAAAA;AAAAA,EAC9B;AAAA,EAEA,aAAaA,IAAuBV,IAAAA;AAChCA,IAAAA,KAAQA,GAAMM,SAAAA;AACd,UAAMK,KAAgBlC,KAAKJ,cAAaF,YAAAA,EAAcoC;AACtD,QAAII,IAAe;AACf,UAAIA,GAAcE,aAAaH,EAAAA,MAAmBV,GAAO;AACzDW,MAAAA,GAAcG,aAAaJ,IAAeV,EAAAA;AAAAA,IAC9C;AACevB,SAAKsC,YAAYC,EAAGC,YAAYP,EAAAA,CAAAA,KAE3ClC,MAAMsC,aAAaJ,IAAeV,EAAAA,GAGhB,YAAlBU,MAA6BC,KAC7BlC,KAAKuB,QAAQW,GAAcE,aAAaH,EAAAA,IAExCjC,KAAK+B,YAAYE,EAAAA;AAAAA,EAEzB;AAAA,EAEA,aAAaA,IAAAA;AACT,UAAMC,KAAgBlC,KAAKJ,cAAaF,cAAcoC;AACtD,WAAOI,KAAgBA,GAAcE,aAAaH,EAAAA,IAAiBlC,MAAMqC,aAAaH,EAAAA;AAAAA,EAC1F;AAAA,EAEA,gBAAgBA,IAAAA;AACZ,UAAMC,KAAgBlC,KAAKJ,cAAaF,YAAAA,EAAcoC;AAClDI,IAAAA,MACAA,GAAcO,gBAAgBR,EAAAA;AAEnBjC,SAAKsC,YAAYC,EAAGC,YAAYP,EAAAA,CAAAA,KAE3ClC,MAAM0C,gBAAgBR,EAAAA,GAE1BjC,KAAK+B,YAAYE,EAAAA;AAAAA,EACrB;AAAA,EAEA,yBAAyBS,IAAcpB,IAAyBE,IAAAA;AAC5D,UAAMU,KAAgBlC,KAAKJ,cAAaF,YAAAA,EAAcoC;AACjDI,IAAAA,MACDZ,OAAaE,OAEZxB,KAAKsC,YAAYC,EAAGC,YAAYE,EAAAA,CAAAA,KACjC3C,MAAM0C,gBAAgBC,EAAAA,GAG1BR,GAAcG,aAAaK,IAAMlB,MAAY,EAAA,GAChC,YAATkB,MACA1C,KAAK+B,YAAYW,EAAAA;AAAAA,EAGzB;AAAA,EAIA,OAAA,YAAmBC,IAAAA;AACf,QAAIC,KAAM,CAAA;AACV,QAAiB,YAAA,OAAND,IAAgB;AACvB,UAAA;AACI,cAAME,KAAOlB,KAAKK,MAAMW,EAAAA;AACxB,YAAIE,cAAgBC,MAChB,QAAOD;AAAAA,MAEf,SAASE,IAAAA;AAAAA,MAAK;AAEdH,MAAAA,KADWD,GAAEK,MAAM,GAAA,EACVC,OAAQC,CAAAA,SAASA,MAAOA,GAAKC,KAAAA,CAAAA;AAAAA,IAC1C,MAAWR,CAAAA,cAAaG,UACpBF,KAAMD;AAGV,WAAOC;AAAAA,EACX;AAAA,EAIA,aAAaF,IAAcU,IAAAA;AACvBpD,SAAKqD,cAAc,IAAIC,YAAYZ,IAAMa,OAAOC,OAAO,EACnDC,SAAAA,OACAC,UAAAA,OACAC,YAAAA,KAAY,GACbP,MAAQ,CAAA,CAAA,CAAA,CAAA;AAAA,EACf;AAAA,EAEA,eAAAQ;AACI,QAAIC,KAA6C;AACjD,UAAM1D,KAAOH,KAAKJ,cAAaF,YAAAA,EAAcS;AAC7C,eAAWuC,MAAQvC,IAAM;AACrB,YAAM2D,KAAW9D,KAAK+D,gBAAgB5D,GAAKuC,EAAAA,CAAAA;AACtCmB,MAAAA,OAAgBA,KAAiB,CAAA,IACtCA,GAAenB,EAAAA,IAAQoB;AAAAA,IAC3B;AAEID,IAAAA,OACA7D,KAAKJ,cAAaF,YAAAA,EAAcmE,iBAAiBA,KAGrD7D,KAAKgE,aAAa,kBAAA;AAAA,EACtB;AAAA,EAEA,gBAAgBC,IAAAA;;AACZ,UAAA,EAAMC,OAAEA,IAAAC,KAAOA,GAAAA,IAAQF,IACjBH,KAAW,CAAA;AACjB,QAAIM;AACJ,WAAOF,OAAUE,KAAQF,GAAMG,gBAAgBD,OAAUD,KACrDD,OAAAA,GAAMI,eAANJ,mBAAkBK,YAAYH,KAC9BN,GAASU,KAAKJ,EAAAA;AAElB,WAAON;AAAAA,EACX;AAAA,EAEA,eAAAW;AACI,UAAMZ,KAAiB7D,KAAKJ,cAAaF,YAAAA,EAAcmE;AACvD,QAAKA,IAAL;AAAA,aACO7D,KAAKJ,cAAaF,YAAAA,EAAcmE;AACvC,iBAAWnB,MAAQmB,IAAgB;AAClB7D,aAAK0E,cAAc,kBAAkBhC,EAAAA,IAAAA,EAC7CiC,SAAS3E,IAAAA,GACdA,KAAK4E,iBAAiBlC,IAAMmB,GAAenB,EAAAA,CAAAA;AAAAA,MAC/C;AAAA,IANqB;AAAA,EAOzB;AAAA,EAEA,aAAaA,OAAiBmC,IAAAA;AAC1B,QAAoB,MAAhBA,GAAKC,QAAc;AACnB,YAAMC,KAAM,CAAA,GAAA,EACNb,OAAEA,SAAOC,GAAAA,IAAQnE,KAAKgF,MAAMtC,EAAAA,KAAS,CAAA;AAC3C,UAAIuC,KAAsDf;AAC1D,aAAOe,OAASA,KAAOA,GAAKZ,gBAAgBY,OAASd,KACjDY,CAAAA,GAAIP,KAAKS,GAAKtE,WAAAA;AAElB,aAAOoE,GAAIG,KAAK,EAAA;AAAA,IAEpB;AAGA,WAFIlF,KAAK4E,iBAAiBlC,IAAM,CAACyC,SAASC,eAAeP,GAAK,CAAA,KAAM,EAAA,CAAA,CAAA,GAE7D;AAAA,EACX;AAAA,EAEA,WAAWnC,OAAiBmC,IAAAA;AACxB,QAAoB,MAAhBA,GAAKC,QAAc;AACnB,YAAMC,KAAM,CAAA,GAAA,EACNb,OAAEA,SAAOC,GAAAA,IAAQnE,KAAKgF,MAAMtC,EAAAA,KAAS,CAAA;AAC3C,UAAIuC,KAAsDf;AAC1D,aAAOe,OAASA,KAAOA,GAAKZ,gBAAgBY,OAASd,KACjD,KAAKc,GAAaI,UACdN,CAAAA,GAAIP,KAAMS,GAAaI,SAAAA;AAAAA,WACpB;AACH,YAAIC,KAAOL,GAAKtE;AACZsE,QAAAA,cAAgBM,YAChBD,KAAO,OAAOA,EAAAA,QAElBP,GAAIP,KAAKc,EAAAA;AAAAA,MACb;AAGJ,aAAOP,GAAIG,KAAK,EAAA;AAAA,IAEpB;AAAO;AACH,YAAMM,KAAML,SAASM,cAAc,KAAA;AACnCD,MAAAA,GAAI3E,YAAYgE,GAAK,CAAA,KAAM;AAC3B,YAAMf,KAAW9D,KAAK0F,cAAcF,EAAAA;AACpCxF,WAAK4E,iBAAiBlC,IAAMoB,GAAS6B,OAAAA;AAAAA,IACzC;AACA,WAAO;AAAA,EACX;AAAA,EAEA,SAAyBjD,IAAc1B,IAAAA;;AACnC,UAAA,EAAMkD,OAAEA,GAAAA,IAAUlE,KAAKgF,MAAMtC,EAAAA,KAAS,CAAA;AACtCwB,UAAAA,MAAAA,gBAAAA,GAAOI,eAAPJ,mBAAmB0B,aAAa5E,IAAMkD,GAAMG;AAAAA,EAChD;AAAA,EAEA,aAA6B3B,IAAc1B,IAAAA;;AACvC,UAAA,EAAMmD,KAAEA,OAAQnE,KAAKgF,MAAMtC,EAAAA,KAAS,CAAA;AAEpC,YADAyB,KAAAA,MAAAA,gBAAAA,GAAKG,eAALH,mBAAiByB,aAAa5E,IAAMmD,KAC7BnD;AAAAA,EACX;AAAA,EAEA,YAAY0B,IAAAA;AACR,UAAMqC,KAAM,CAAA,GAAA,EACNb,OAAEA,SAAOC,GAAAA,IAAQnE,KAAKgF,MAAMtC,EAAAA,KAAS,CAAA;AAC3C,QAAIuC,KAAsDf;AAC1D,WAAOe,OAASA,KAAOA,GAAKZ,gBAAgBY,OAASd,KACjDY,CAAAA,GAAIP,KAAKS,EAAAA;AAEb,WAAOF;AAAAA,EACX;AAAA,EAEA,UAAUrC,IAAAA;AACN,UAAMqC,KAAM,CAAA,GAAA,EACNb,OAAEA,SAAOC,GAAAA,IAAQnE,KAAKgF,MAAMtC,EAAAA,KAAS,CAAA;AAC3C,QAAIuC,KAAsDf;AAC1D,WAAOe,OAASA,KAAOA,GAAKZ,gBAAgBY,OAASd,KAC7Cc,CAAAA,cAAgBpF,eAChBkF,GAAIP,KAAKS,EAAAA;AAGjB,WAAOF;AAAAA,EACX;AAAA,EAEA,iBAAiBrC,IAAcoB,IAAAA;;AAC3B,UAAA,EAAMI,OAAEA,SAAOC,GAAAA,IAAQnE,KAAKgF,MAAMtC,EAAAA,KAAS,CAAA;AAC3C,QAAIuC,KAAsD;AAC1D,WAAOf,OAAUe,KAAOf,GAAMG,gBAAgBY,OAASd,KACnDc,OAAAA,GAAKX,eAALW,mBAAiBV,YAAYU;AAEjC,QAAId,GACA,QAAOc,KAAOnB,GAAS+B,MAAAA,IACnB1B,OAAAA,GAAIG,eAAJH,mBAAgByB,aAAaX,IAAMd;AAAAA,EAG/C;AAAA,EAEA,MAAMzB,IAAevC,IAAAA;AAEjB,QADAuC,KAAOA,MAAQ,WAAA,CACXvC,GAGA,QAAOH,KAAKJ,cAAaF,YAAAA,EAAcS,KAAKuC;AAF5C1C,SAAKJ,cAAaF,YAAAA,EAAcS,KAAKuC,EAAAA,IAAQvC;AAAAA,EAIrD;AAAA,EAEA,UAAU2F,IAAAA;AAIN,WAHoB,aAAA,OAATA,OACP9F,KAAKJ,cAAaF,YAAAA,EAAcQ,WAAW4F,KAExC9F,KAAKJ,cAAaF,YAAAA,EAAcQ;AAAAA,EAC3C;AAAA,EAEA,WAAWwC,IAAAA;AAAAA,EAEX;AAAA,EAEA,cAAcZ,IAAAA;;AAEV,UAAMiE,MADNjE,KAAKA,MAAM9B,MACKgG,YACVjB,KAAmB,EACrBY,SAAS,CAAA,EAAA;AAEb,WAAOI,GAAKjB,SAAS,KAAG;AACpB,YAAMV,KAAQ2B,GAAK,CAAA;AAEnB,WADA3B,KAAAA,GAAME,eAANF,mBAAkBG,YAAYH,KAC1B6B,EAAQC,cAAc9B,EAAAA,GAAQ;AAC9B,cAAM1B,KAAO0B,GAAMhC,aAAa,KAAA,KAAU;AAC1C2C,QAAAA,GAAIrC,MAAQqC,GAAIrC,EAAAA,KAAS,CAAA;AACzB,cAAMoB,KAAWhB,MAAMqD,UAAUC,MAAMC,KAAKjC,GAAM4B,UAAAA;AAClDC,UAAQE,UAAUG,MAAMD,KAAKjC,IAAOtC,EAAAA,GACpCiD,GAAIrC,EAAAA,EAAM8B,KAAAA,GAAQV,EAAAA;AAAAA,MACtB,MACIiB,CAAAA,GAAa,QAAEP,KAAKJ,EAAAA;AAAAA,IAE5B;AACA,WAAOW;AAAAA,EACX;AAAA,EAEA,gBAAAtD;;AACI,aAAOzB,UAAKJ,cAAaF,YAAAA,EAAcI,YAAhCE,mBAAyCuG,eAAczD;AAAAA,EAClE;AAAA,EAEA,YAAYJ,IAAAA;AACR,QAAa,YAATA,IAAkB;AAClB,YAAMrB,KAAMrB,KAAKuB;AACbxB,YAAMoC,aAAa3C,CAAAA,IACnBQ,KAAKwG,MAAM,SAAS,gBAAgBnF,EAAAA,IAEpCrB,KAAKgE,aAAa,SAAS,EACvBP,SAAAA,MACAC,eAAU,CAAA;AAAA,IAGtB;AACA1D,SAAKgE,aAAa,mBAAmB,EACjCP,SAAAA,MACAC,UAAAA,MACA+C,QAAQ,EAAEC,eAAenE,EAAGC,YAAYE,EAAAA,EAAAA,EAAAA,CAAAA;AAAAA,EAEhD;AAAA,EAEA,aAAAtC;AACI,UAAMuG,KAAa3G,KAAK2G,YAClBC,KAASzB,SAASM,cAAc,KAAA;AACtC,aAASoB,KAAI,GAAGA,KAAIF,GAAW7B,QAAQ+B,MAAK;AACxC,YAAMC,KAAOH,GAAWE,EAAAA;AACxBD,MAAAA,GAAOvE,aAAayE,GAAKpE,MAAMoE,GAAKvF,KAAAA,GAC/BvB,KAAKsC,YAAYC,EAAGC,YAAYsE,GAAKpE,IAAAA,CAAAA,KACtC3C,MAAM0C,gBAAgBqE,GAAKpE,IAAAA,GAEb,YAAdoE,GAAKpE,SACL1C,KAAKuB,QAAQuF,GAAKvF;AAAAA,IAE1B;AACAgC,WAAOwD,eAAe/G,MAAM,cAAc,EACtC,IAAA,QAAIuB;AACA,aAAOqF,GAAOD;AAAAA,IAClB,GACAK,UAAAA,MAAU,CAAA,GAGdhH,KAAKJ,cAAaF,YAAAA,EAAcoC,KAAK8E;AAAAA,EACzC;AAAA,EAEA,YAAYlE,IAAAA;AACR,QAAIH,EAAG0E,UAAUvE,EAAAA,EAAO,QAAA;AACxB,UAAMwE,KAAOlH,KAAKmH,SAASzE,EAAAA,GAErB0E,KAASF,MAAAA,gBAAAA,GAAMG;AACrB,WAAOD;AAAAA,EACX;AAAA,EAEA,SAAS1E,IAAAA;;AACL,UAAM4E,KAAgB/E,EAAG0B,MAAMsD,iBAAiBvH,KAAKwH,OAAAA;AAErD,cADeF,KAAAA,MAAAA,gBAAAA,GAAeG,WAAfH,mBAA+BI,UAAS,CAAA,GAC1ChF,EAAAA;AAAAA,EACjB;AAAA,EAEA,WAAAlC;AACI,QAAIR,KAAKC,WACL;AAEJD,SAAKC,aAAAA;AAEL,UAAMuH,KAAUxH,KAAKwH,QAAQG,YAAAA;AACPpF,MAAG0B,MAAMsD,iBAAiBC,EAAAA,KAKhDI,EAAUrF,EAAGsF,mBAAmBL,IAASxH,IAAAA,CAAAA,EAAO8H,MAAM9H,IAAAA;AAAAA,EAC1D;AAAA,EAEA,YAAAM;AAEI,WAAA,CADaP,MAAMoC,aAAa3C,CAAAA;AAAAA,EAMpC;AAAA,EAEA,SAASiB,IAAAA;;AACL,QAAIT,KAAKJ,cAAaF,YAAAA,EAAcqI,IAChC;AAGJ/H,SAAKJ,cAAaF,YAAAA,EAAcqI,MAAMtH,IACtCT,KAAKC,aAAAA,MAELD,KAAKgE,aAAa,YAAY,EAC1BP,SAAAA,OACAgD,QAAQ,EAAEuB,MAAM,EAAA,EAAA,CAAA;AAEpB,UAAMC,MAAW1F,aAAG0B,MAAMsD,iBAAiBvH,KAAKwH,OAAAA,MAA/BjF,mBAAyCkF,WAAzClF,mBAAyD0F;AACtEA,IAAAA,MACAA,GAAQ5B,KAAK5F,EAAAA;AAAAA,EAErB;AAAA,EAEA,MAAMiC,OAAkBmC,IAAAA;AACpB,UAAMkD,KAAM/H,KAAKJ,cAAaF,YAAAA,EAAcqI;AAC5C,WAAOxF,EAAGiE,MAAMuB,IAAKrF,IAAAA,GAASmC,EAAAA;AAAAA,EAClC;AAAA;AApdA7E,cAAwBN,eAAoCA;AAFzD,IAAME,eAAN;AAoeP,MAAMqG,UAAgBpG,YAAAA;AAAAA,EAKlB,cAAAqI;AACInI,UAAAA;AAAAA,EACJ;AAAA,EAEA,oBAAAM;AACIL,SAAKmI,MAAMC,UAAU;AAAA,EACzB;AAAA,EAEA,IAAA,YAAgB3H,IAAAA;;AACRT,SAAKqI,UACLrI,UAAKsI,SAALtI,mBAAWU,aAAaV,KAAKqI,QAAQ5H,MAErCV,MAAMY,cAAcF;AAAAA,EAE5B;AAAA,EAEA,IAAA,UAAcA,IAAAA;;AACNT,SAAKqI,UACLrI,UAAKsI,SAALtI,mBAAWY,WAAWZ,KAAKqI,QAAQ5H,MAEnCV,MAAMc,YAAYJ;AAAAA,EAE1B;AAAA,EAEA,QAAwBO,IAAAA;;AAChBhB,SAAKqI,UACLrI,UAAKsI,SAALtI,mBAAWkB,SAASlB,KAAKqI,QAAQrH,MAEjCjB,MAAMkB,QAAQD,EAAAA;AAAAA,EAEtB;AAAA,EAEA,YAA4BA,IAAAA;;AACxB,WAAIhB,KAAKqI,WACLrI,UAAKsI,SAALtI,mBAAWmB,aAAanB,KAAKqI,QAAQrH,KAC9BA,MAEAjB,MAAMqB,YAAYJ,EAAAA;AAAAA,EAEjC;AAAA,EAIA,OAAA,WAAkBc,IAAAA;AACd,WAAA,EAAA,CAAKA,MAAMA,GAAGyG,aAAaC,KAAKC,iBAEC,eAA7B3G,GAAG0F,QAAQG,YAAAA;AAAAA,EAGnB;AAAA,EAEA,OAAA,cAAqB7F,IAAAA;AACjB,WAAA,EAAA,CAAImE,EAAQyC,WAAW5G,EAAAA,KAAAA,CAAOA,GAAGK,aAAa,KAAA;AAAA,EAElD;AAAA,EAEA,MAAML,IAAAA;AACF9B,SAAKsI,OAAOxG,IACZ9B,KAAKqI,SAASrI,KAAKoC,aAAa,KAAA,KAAU;AAAA,EAC9C;AAAA,EAEA,SAASN,IAAAA;AACL,UAAMY,KAAO1C,KAAKoC,aAAa,MAAA,KAAW,WACpC8B,KAAQiB,SAASwD,cAAc,YAAYjG,EAAAA,QAAAA,GAC3CyB,KAAMgB,SAASwD,cAAc,YAAYjG,EAAAA,MAAAA;AAE/CZ,IAAAA,GAAGkD,MAAMtC,IAAM,EAAEwB,OAAAA,IAAOC,KAAAA,GAAAA,CAAAA,GACxBnE,KAAK4I,YAAY1E,IAAOC,EAAAA;AAAAA,EAC5B;AAAA;AAGJ,MAAM5B,IAAK,EACPsG,MAAA,OACItG,EAAGuG,cACIvG,IAEX,aAAAuG;AACIvG,IAAGwG,oBAAoB,YAAY9C,CAAAA;AACvC,GACA,MAAM8B,IAA0BrF,OAAkBmC,IAAAA;AAE9C,MAAA,CAAKkD,GACD,QAAO,IAAIiB,MAAM,UAAA;AAGrB,MAAA,CAAKtG,GAAM,QAAOqF;AAElB,MAAyB,cAAA,OAAdA,GAAIrF,EAAAA,EACX,QAAOqF,GAAIrF,EAAAA,EAAM2D,KAAK0B,IAAAA,GAAQlD;AAGlC,QAAMoE,KAAKvG,GAAKM,MAAM,GAAA;AACtB,MAAIkG,KAASnB,IAAKoB,KAAOF,GAAGG,IAAAA,KAAS,IAAIC,KAAM;AAE/C,SAAOA,KAAMJ,GAAGpD,MAAAA,KAAS;AACrB,QAAA,CAAItC,OAAO4C,UAAUmD,eAAejD,KAAK6C,IAAQG,EAAAA,EAG7C,QAAO,IAAIL,MAAM,eAAA;AAFjBE,IAAAA,KAASA,GAAOG;EAIxB;AAEA,SAAoB,MAAhBxE,GAAKC,SACEoE,GAAOC,EAAAA,KAEdD,GAAOC,EAAAA,IAAQtE,GAAK,CAAA,GACb;AAGf,GACA0E,YAAW7G,CAAAA,OACFA,MAGLA,KAAOA,GAAK8G,QAAQ,UAAU,SAAU7G,IAAAA;AACpC,SAAO,MAAMA,GAAEgF,YAAAA;AACnB,CAAA,GACOtI,IAAaqD,MALT,IAOfuB,OAAO,EACHwF,SAAS,CAAA,GACTlC,kBAAiBC,CAAAA,QACbA,KAAUA,GAAQG,YAAAA,GACXpF,EAAG0B,MAAMwF,QAAQjC,EAAAA,IAE5B,gBAAgBA,IAAAA;;AACZ,QAAMF,KAAgB/E,EAAG0B,MAAMsD,iBAAiBC,EAAAA,GAC1CE,OAASJ,KAAAA,MAAAA,gBAAAA,GAAeG,WAAfH,mBAA+BI,UAAS,CAAA,GACjDgC,KAAQ,CAAA;AACd,aAAWC,MAAOjC,GACdgC,CAAAA,GAAMlF,KAAKjC,EAAGqH,YAAYD,EAAAA,CAAAA;AAK9B,SAAA,OAHGD,GAAMG,QAAQpK,CAAAA,KACbiK,GAAMlF,KAAK/E,CAAAA,GAERiK;AACX,GACA,SAAShH,IAAcoH,IAAAA;AACnBpH,EAAAA,KAAOA,GAAKiF,YAAAA;AACZ,QAAML,KAAgB/E,EAAG0B,MAAMsD,iBAAiB7E,EAAAA;AAC5C4E,EAAAA,MACAA,GAAcyC,QAAQzC,GAAcyC,SAAS,IAC7CzC,GAAcyC,MAAMvF,KAAKsF,EAAAA,KAEzBvH,EAAG0B,MAAMwF,QAAQ/G,EAAAA,IAAQ,EACrBqH,OAAO,CAACD,EAAAA,EAAAA;AAGpB,EAAA,GAEJE,kBAAiBvJ,CAAAA,OAAAA;;AACNwJ,WAAgB,EACnBvC,OAAO,EACHjI,CAACA,CAAAA,GAAkB,EACfyK,MAAMC,OAAAA,GAEV5I,OAAO,EACH2I,QAAOzJ,WAAAA,GAAUiH,UAAVjH,mBAAiBc,UAAjBd,mBAAwByJ,SAAQ,CAACC,QAAQC,QAAQtH,KAAAA,EAAAA,EAAAA,GAGhEuH,SAAS,EACL3I,aAAa9B,aAAa8B,aAC1B,UAAUmD,IAAAA;AACN,UAAMyF,KAAOtK,KAAKsK,KAAAA;AAClB,QAAoB,MAAhBzF,GAAKC,OACL,QAAOwF,MAAAA,gBAAAA,GAAM/I;AAET+I,IAAAA,OACAA,GAAK/I,QAAQsD,GAAK,CAAA;AAAA,EAG9B,GACA,MAAMnC,OAAkBmC,IAAAA;AACpB,UAAMyF,KAAOtK,KAAKsK,KAAAA;AAClB,WAAKA,KACE/H,EAAGiE,MAAM8D,IAAM5H,IAAAA,GAASmC,EAAAA,IADb;AAAA,EAEtB,GACA,OAAAyF;;AACI,YAAOtK,MAAAA,KAAKuK,QAALvK,gBAAAA,IAAUsE;AAAAA,EACrB,EAAA,GAEJkG,MAAA,OACW,CAAA,GAAA,CAAA;AAAA,GAMnB,kBAAkB/C,IAAAA;;AAEd,QAAMlB,MAAakB,WAAAA,GAAeC,UAAfD,mBAAsBlG,UAAtBkG,mBAA6ByC;AAQhD,SANMzC,GAAegD,WAChBhD,GAAegD,SAAS,CAAA,IAG5BhD,GAAegD,OAAOjG,KAAKjC,EAAGyH,iBAAiBvC,EAAAA,CAAAA,GAEzClB;AAEX,GACA,mBAAmBiB,IAAiBkD,IAAsBjD,IAAAA;;AAEtD,QAAMlB,KAAYhE,EAAGoI,kBAAkBlD,EAAAA;AAEvC,OAAKlF,OAAG0B,MAAMwF,QAAQjC,EAAAA,MAAjBjF,mBAA2BkF,OAsB5BlF,GAAG0B,MAAMwF,QAAQjC,EAAAA,EAASC,SAASA;AAAAA,OAtBC;AAAA,IACpC,MAAMmD,WAAiBhL,aAAAA;AAAAA,MACnB,cAAAsI;AACInI,cAAM,EAAEwG,WAAAA,GAAAA,CAAAA;AAAAA,MACZ;AAAA,MAEA,WAAA,qBAAWsE;AACP,eAAOtI,EAAG0B,MAAM6G,gBAAgBtD,EAAAA;AAAAA,MACpC;AAAA,IAAA;AAIJjF,MAAG0B,MAAMwF,QAAQjC,EAAAA,IAAW,EACxBuD,KAAKH,IACLI,KAAKN,IACLjD,QAAAA,IACAsC,SAAOxH,OAAG0B,MAAMwF,QAAQjC,EAAAA,MAAjBjF,mBAA2BwH,UAAS,CAAA,EAAA,GAG/CxH,EAAGwG,oBAAoBvB,IAASoD,EAAAA;AAAAA,EAEpC;AAGJ,GAEA,oBAAoBpD,IAAiByD,IAAAA;AACjC,MAAA;AACIC,mBAAeC,OAAO3D,IAASyD,EAAAA;AAAAA,EACnC,SAASlI,IAAAA;AAAAA,EAET;AACJ,GAEA,cAAcyE,IAAiB/G,IAAAA;AAC3B,MAAA,CAAK8C,OAAO4C,UAAUmD,eAAejD,KAAK5F,IAAG,SAAA,EAAY,QAAA;AACzD,QAAM6G,KAAgB/E,EAAG0B,MAAMsD,iBAAiBC,EAAAA,GAC1CC,KAASH,MAAAA,gBAAAA,GAAeG;AAC9B,SAAA,CAAA,CAAKA,MACEhH,GAAE2K,YAAY3D,GAAO2D;AAChC,GAEA,sBAAsB5D,IAAAA;AACJrC,WAASkG,iBAAiB7D,EAAAA,EAClC8D,QAASC,CAAAA,OAAAA;AACXA,IAAAA,GAAK3H,aAAAA;AAAAA,EAAAA,CAAAA;AAEb,GAEA,OAAOnD,IAAc+K,KAAAA,MAAiB;AAClC,QAAMhE,KAAUjF,EAAGgH,WAAW9I,GAAEiC,IAAAA;AAIhC,MAAA,CAAK8E,GAED,QAAO/G;AAGX,QAAM6G,KAAgB/E,EAAG0B,MAAMsD,iBAAiBC,EAAAA;AAEhD,MAAIF,MAAiBA,GAAc0D,IAS/B,SARIQ,MAASjJ,EAAGkJ,cAAcjE,IAAS/G,EAAAA,OAEnC8B,EAAGmJ,mBAAmBlE,IAASF,GAAc0D,KAAKvK,EAAAA,GAClD8B,EAAGoJ,sBAAsBnE,EAAAA,IAKtBF,GAAc0D;AAGzB,QAAMY,KAAmBrJ,EAAGsF,mBAAmBL,EAAAA;AAI/C,SAFAjF,EAAGmJ,mBAAmBlE,IAASoE,IAAkBnL,EAAAA,GAE1CmL;AACX,GACA,eAAe9H,IAAAA;AACX,QAAMiB,KAAM,CAAA;AAIZ,SAHAxB,OAAOsI,KAAK/H,EAAAA,EAAUwH,QAAS5I,CAAAA,OAAAA;AAC3BqC,IAAAA,GAAIrC,EAAAA,IAAQ,MAAMoJ,EAAE,YAAY,EAAEpJ,MAAAA,GAAAA,CAAAA;AAAAA,EAAAA,CAAAA,GAE/BqC;AACX,GACA,gBAAgBjD,IAAkBgC,IAAAA;AAChBP,SAAOsI,KAAK/H,EAAAA,EACpBwH,QAAS5I,CAAAA,OAAAA;AACX,UAAMvC,KAAO2B,GAAG4C,cAAc,kBAAkBhC,EAAAA,IAAAA;AAC5CvC,IAAAA,OACA8F,EAAQE,UAAUxB,SAAS0B,KAAKlG,IAAM2B,EAAAA,GACtCA,GAAG8C,iBAAiBlC,IAAMoB,GAASpB,EAAAA,CAAAA;AAAAA,EAAAA,CAAAA;AAI/C,GACA,mBAAmB8E,IAAiB1F,IAAAA;AAEhC,QAAMgC,KAAWhC,KAAKA,GAAG4D,cAAAA,IAAkB,EAAEC,SAAS,CAAA,EAAA;AAoEtD,SAlEyB,EACrB,QAAAoG;AACI,UAAMC,KAAQC,EAAAA,GACRC,KAAkBC,EAAgB,IAAA,GAClCC,KAAaD,EAAgC,IAAA,GAC7CE,KAAYtE,EAAyB,KACrCuE,KAAWH,EAAgBrK,KAAKS,EAAGgK,eAAezI,EAAAA,IAAY0I,EAAAA,CAAAA,GAC9DtD,KAASiD,EAA6B,IAAA;AAgC5C,WA9BAM,EAAU,MAAA;AACFP,MAAAA,GAAgB3K,SAAS6K,GAAW7K,SAAS6K,GAAW7K,MAAMmL,aAC9DN,GAAW7K,MAAMmL,SAASR,GAAgB3K,KAAAA,GAE1CO,MAAMS,EAAGoK,gBAAgB7K,IAAIgC,EAAAA,GAG7BsI,GAAW7K,MAAMqL,iBAAiB,mBAAmB,MAAA;AAC7CR,QAAAA,GAAW7K,UACX8K,GAAU9K,QAAQgB,EAAGsK,YAAYT,GAAW7K,KAAAA;AAAAA,MAAAA,CAAAA,GAKpD6K,GAAW7K,MAAMqL,iBAAiB,oBAAoB,MAAA;AAClD1D,QAAAA,GAAO3H,QAAQ;AAAA,MAAA,CAAA,GAGnB6K,GAAW7K,MAAMiF,MAAM,SAAS,gBAAgB4F,GAAW7K,MAAMA,KAAAA;AAAAA,IAAAA,CAAAA,GAMzEuL,EAAU,MAAA;AACFV,MAAAA,GAAW7K,SACX6K,GAAW7K,MAAMkD,aAAAA;AAAAA,IAAAA,CAAAA,GAIlB;AAWH,UATI3C,OACAsK,GAAW7K,QAAQO,IACnBuK,GAAU9K,QAAQgB,EAAGsK,YAAY/K,EAAAA,IAGhCoH,GAAO3H,UACP2H,GAAe3H,QAAQgB,EAAGwK,gBAAgBvF,EAAAA,IAAAA,CAG1C0B,GAAO3H,MAER,QAAO;AAGX,YAAMyL,KAAWlB,EAAE5C,GAAO3H,OAAO,EAAA,GAAKyK,IAAAA,GAAUK,GAAU9K,OAAOwG,KAAKmE,GAAAA,GAAmBI,GAAS/K,SAAS,CAAA,CAAA;AAM3G,aAJYO,KAAKkL,KAAWlB,EAAEtE,IAAS,EAAEO,KAAKqE,IAAY5M,CAACA,CAAAA,GAAgB,GAAA,GAAM,CAC7EwN,EAAAA,CAAAA;AAAAA,IAAAA;AAAAA,EAKZ,EAAA;AAIR,GACA,YAAYlL,IAAAA;AAER,QAAMkK,KAAQ,CAAA,GAERrF,KAAa7E,GAAG6E;AAEtB,WAASE,KAAI,GAAGA,KAAIF,GAAW7B,QAAQ+B,MAAK;AACxC,UAAMC,KAAOH,GAAWE,EAAAA;AAEpBC,IAAAA,GAAKpE,SAASrD,KAAckD,EAAG0E,UAAUH,GAAKpE,IAAAA,MAClDsJ,GAAMlF,GAAKpE,IAAAA,IAAQoE,GAAKvF;AAAAA,EAC5B;AAMA,SAJiB,SAAbO,GAAGP,UACHyK,GAAMzK,QAAQO,GAAGP,QAGdyK;AACX,GACA/E,WAAUvE,CAAAA,OAC6B,MAA5BA,GAAKmH,QAAQ,SAAA,GAExBD,aAAYlH,CAAAA,OACDA,GAAK8G,QAAQ,YAAayD,CAAAA,OAAM,MAAMA,GAAEtF,YAAAA,CAAAA,GAEnDnF,aAAYE,CAAAA,OACJH,EAAG0E,UAAUvE,EAAAA,IAAcA,KACxBA,GAAK8G,QAAQ,aAAa,CAACzG,IAAGmK,OAAOA,GAAGC,YAAAA,CAAAA,GAEnD,cAAczK,IAAcoH,IAAAA;AACxBvH,IAAG0B,MAAMmJ,SAAS1K,IAAMoH,EAAAA;AAC5B,GACA,iBAAiBpH,IAAAA;AACb,QAAM4E,KAAgB/E,EAAG0B,MAAMsD,iBAAiB7E,EAAAA;AAEhD,WADc4E,MAAAA,gBAAAA,GAAeyC,UAAS,CAAA,GACzB3D,MAAM,CAAA;AACvB,GACA,gBAAgBoB,IAAAA;AACZ,QAAMF,KAAgB/E,EAAG0B,MAAMsD,iBAAiBC,EAAAA;AAChD,MAAA,EAAKF,MAAAA,gBAAAA,GAAeG,QAChB,QAAO;AAEX,MAAIA,KAAS4F,EAAM,IAAI/F,GAAcG,MAAAA;AACrC,QAAMsC,KAAQxH,EAAG+K,iBAAiB9F,EAAAA;AAClC,MAAIsC;AACJ,SAAOA,KAASC,GAAMlE,MAAAA,KAAS;AAC3B,UAAMwD,KAAMS,GAAOrC,EAAAA;AACf4B,IAAAA,OACA5B,KAAS4B;AAAAA,EAEjB;AAEA,SAAO5B;AACX,EAAA,GAGJ8F,IAAehL,EAAGsG;"}
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("url"),n=require("path"),r=require("glob"),t=require("ts-deepmerge");var i="undefined"!=typeof document?document.currentScript:null;const o="auicore",u=e.fileURLToPath("undefined"==typeof document?require("url").pathToFileURL(__filename).href:i&&"SCRIPT"===i.tagName.toUpperCase()&&i.src||new URL("plugin.cjs.js",document.baseURI).href),a=n.dirname(u),s="Comp",c="// insert";function _(e){const n="virtual:aui-config",r="\0"+n;return{name:"aui-config-plugin",resolveId(e){if(e===n)return r},load(n){if(n===r){const n=t.merge({tagPrefix:"aui",buildTime:(new Date).toISOString()},e||{});return`export default ${JSON.stringify(n)}`}}}}exports.getAuiConfig=function(e){const i=(null==(e=t.merge({tagPrefix:"aui"},e||{}))?void 0:e.tagPrefix)||"aui";return{userConfig:{plugins:[{name:"aui-export-plugin",enforce:"pre",transform(e,t){if(t.endsWith(".export.aui.ts")){if(-1===e.indexOf(c))throw new Error(`.export.aui.ts文件必须包含[ ${c} ]标记`);const t=n.join(a,"../src"),i=r.glob.sync("**/*.aui.vue",{cwd:t});if(0===i.length)return null;const o=[];return i.forEach((e,r)=>{const i=n.join(t,e).replace(/\\\\/g,"/");o.push(`import ${s}${r} from '${i}';`),o.push(`import {componentStructure as ${s}${r}_${r} } from '${i}';`)}),o.push(e.replace(c,function(e){const n=[];return e.forEach((e,r)=>{n.push(`[${s}${r}_${r}.name]: ${s}${r}`)}),n.join(", ")}(i))),{code:o.join("\n")}}return null}},{name:"aui-vue-plugin",enforce:"post",transform(e,r){if(r.endsWith(".aui.vue")){const t=n.basename(r).replace(".aui.vue",""),i=e.split("export default"),u=`\nconst __aui_comp_define__ = ${i.pop()};\nimport __aui_como_core__ from '@${o}';\nif(!__aui_comp_define__.name) {\n __aui_comp_define__.name = '${t}';\n}\nexport const componentStructure = __aui_comp_define__;\nexport default __aui_como_core__.define(__aui_comp_define__);\n`;return{code:i.join("export default")+u}}return null}},_(e)],resolve:{alias:{[`@${o}`]:n.resolve(a,"./core")},extensions:[".js",".ts",".jsx",".tsx",".json",".cjs.js",".es.js"]},define:{__AUI_CONFIG__:JSON.stringify(t.merge({tagPrefix:"aui",buildTime:(new Date).toISOString()},e||{}))}},isCustomElement:e=>e.startsWith(`${i}-`)}};//# sourceMappingURL=plugin.cjs.js.map
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("url"),n=require("path"),r=require("glob"),t=require("ts-deepmerge");var i="undefined"!=typeof document?document.currentScript:null;const o=e.fileURLToPath("undefined"==typeof document?require("url").pathToFileURL(__filename).href:i&&"SCRIPT"===i.tagName.toUpperCase()&&i.src||new URL("plugin.cjs.js",document.baseURI).href),u=n.dirname(o);function a(e){return{name:"aui-vue-plugin",enforce:"post",transform(r,t){if(t.endsWith(".aui.vue")){const i=n.basename(t).replace(".aui.vue",""),o=r.split("export default"),u=`\nconst __aui_comp_define__ = ${o.pop()};\nimport __aui_como_core__ from '${e.coreAlias?e.coreAlias:"agile-core"}';\nif(!__aui_comp_define__.name) {\n __aui_comp_define__.name = '${i}';\n}\nexport const componentStructure = __aui_comp_define__;\nexport default __aui_como_core__.define(__aui_comp_define__);\n`;return{code:o.join("export default")+u}}return null}}}const s="Comp",c="// insert";function f(e){const n="virtual:aui-config",r="\0"+n;return{name:"aui-config-plugin",resolveId(e){if(e===n)return r},load(n){if(n===r){const n=t.merge({tagPrefix:"aui",buildTime:(new Date).toISOString()},e||{});return`export default ${JSON.stringify(n)}`}}}}exports.getAuiConfig=function(e){const i=(null==(e=t.merge({tagPrefix:"aui"},e||{}))?void 0:e.tagPrefix)||"aui";return{userConfig:{plugins:[{name:"aui-export-plugin",enforce:"pre",transform(e,t){if(t.endsWith(".export.aui.ts")){if(-1===e.indexOf(c))throw new Error(`.export.aui.ts文件必须包含[ ${c} ]标记`);const i=n.dirname(t),o=r.glob.sync("**/*.aui.vue",{cwd:i});if(0===o.length)return null;const u=[];return o.forEach((e,r)=>{const t=n.join(i,e).replace(/\\/g,"/");u.push(`import ${s}${r} from '${t}';`),u.push(`import {componentStructure as ${s}${r}_${r} } from '${t}';`)}),u.push(e.replace(c,function(e){const n=[];return e.forEach((e,r)=>{n.push(`[${s}${r}_${r}.name]: ${s}${r}`)}),n.join(", ")}(o))),{code:u.join("\n")}}return null}},a(e),f(e)],resolve:{alias:{"@auicore":n.resolve(u,"./core")},extensions:[".js",".ts",".jsx",".tsx",".json",".cjs.js",".es.js"]},define:{__AUI_CONFIG__:JSON.stringify(t.merge({tagPrefix:"aui",buildTime:(new Date).toISOString()},e||{}))}},isCustomElement:e=>e.startsWith(`${i}-`)}};//# sourceMappingURL=plugin.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.cjs.js","sources":["../src/plugin.ts"],"sourcesContent":["import type { Plugin, UserConfig } from 'vite'\nimport { fileURLToPath } from 'url'\nimport { default as path, dirname } from 'path'\nimport { glob } from 'glob'\nimport { merge } from 'ts-deepmerge'\n\nconst coreAlias = 'auicore'\n// 避免使用 import.meta.url,在构建时会被转换为 data URL\nconst __filename = fileURLToPath(import.meta.url)\nconst __dirname = dirname(__filename)\n\n// 自定义AUI.vue文件处理插件\nfunction auiVuePlugin(): Plugin {\n return {\n name: 'aui-vue-plugin',\n enforce: 'post', // 在Vue插件之后执行\n transform(code, id) {\n if (id.endsWith(`.aui.vue`)) {\n const fileName = path.basename(id).replace('.aui.vue', '');\n const sp = code.split('export default');\n const last = `\nconst __aui_comp_define__ = ${sp.pop()};\nimport __aui_como_core__ from '@${coreAlias}';\nif(!__aui_comp_define__.name) {\n __aui_comp_define__.name = '${fileName}';\n}\nexport const componentStructure = __aui_comp_define__;\nexport default __aui_como_core__.define(__aui_comp_define__);\n`;\n const first = sp.join('export default');\n return {\n code: first + last,\n }\n }\n return null\n },\n }\n}\n\n\nconst IMPORT_PREFIX = 'Comp';\n\nfunction joinExport(files: string[]): string {\n const codes: string[] = [];\n files.forEach((_, index: number) => {\n codes.push(`[${IMPORT_PREFIX}${index}_${index}.name]: ${IMPORT_PREFIX}${index}`);\n });\n return codes.join(', ');\n}\n\nconst INSERT_FLAG = '// insert';\n\nfunction auiExportPlugin(): Plugin {\n return {\n name: 'aui-export-plugin',\n enforce: 'pre',\n transform(code, id) {\n if (id.endsWith(`.export.aui.ts`)) {\n\n if (code.indexOf(INSERT_FLAG) === -1) {\n throw new Error(`.export.aui.ts文件必须包含[ ${INSERT_FLAG} ]标记`);\n }\n\n const cwd = path.join(__dirname, '../src');\n const files: string[] = glob.sync('**/*.aui.vue', {\n cwd,\n });\n\n if (files.length === 0) return null;\n\n const codes: string[] = [];\n files.forEach((file, index) => {\n const filePath = path.join(cwd, file).replace(/\\\\\\\\/g, '/');\n codes.push(`import ${IMPORT_PREFIX}${index} from '${filePath}';`);\n codes.push(`import {componentStructure as ${IMPORT_PREFIX}${index}_${index} } from '${filePath}';`);\n });\n codes.push(code.replace(INSERT_FLAG, joinExport(files)));\n return { code: codes.join(`\\n`) };\n }\n return null\n },\n }\n}\n\n\nfunction auiConfigPlugin(options?: AuiOptions) {\n const virtualModuleId = 'virtual:aui-config'\n const resolvedVirtualModuleId = '\\0' + virtualModuleId\n\n return {\n name: 'aui-config-plugin',\n resolveId(id: string) {\n if (id === virtualModuleId) {\n return resolvedVirtualModuleId\n }\n },\n load(id: string) {\n if (id === resolvedVirtualModuleId) {\n const auiConfig = merge({\n tagPrefix: 'aui',\n buildTime: new Date().toISOString()\n }, options || {})\n return `export default ${JSON.stringify(auiConfig)}`\n }\n }\n }\n}\n\nexport type AuiOptions = {\n tagPrefix?: string,\n};\n\nexport type AuiVuePlugin = {\n userConfig: UserConfig,\n isCustomElement: (tag: string) => boolean,\n};\n\n// 导出AUI配置函数\nexport function getAuiConfig(options?: AuiOptions): AuiVuePlugin {\n\n options = merge({\n tagPrefix: 'aui'\n }, options || {});\n\n const tagPrefix = options?.tagPrefix || 'aui';\n\n return {\n userConfig: {\n plugins: [auiExportPlugin(), auiVuePlugin(), auiConfigPlugin(options)],\n resolve: {\n alias: {\n [`@${coreAlias}`]: path.resolve(__dirname, './core')\n },\n extensions: ['.js', '.ts', '.jsx', '.tsx', '.json', '.cjs.js', '.es.js'],\n },\n define: {\n __AUI_CONFIG__: JSON.stringify(merge({\n tagPrefix: 'aui',\n buildTime: new Date().toISOString()\n }, options || {}))\n },\n },\n isCustomElement: (tag: string) => tag.startsWith(`${tagPrefix}-`),\n }\n}"],"names":["coreAlias","__filename","fileURLToPath","__dirname","dirname","IMPORT_PREFIX","INSERT_FLAG","auiConfigPlugin","options","virtualModuleId","resolvedVirtualModuleId","name","resolveId","id","load","auiConfig","merge","tagPrefix","buildTime","Date","toISOString","JSON","stringify","exports","getAuiConfig","userConfig","plugins","enforce","transform","code","endsWith","indexOf","Error","cwd","path","join","files","glob","sync","length","codes","forEach","file","index","filePath","replace","push","_","fileName","basename","sp","split","last","pop","resolve","alias","extensions","define","__AUI_CONFIG__","isCustomElement","tag","startsWith"],"mappings":"oOAMA,MAAMA,EAAY,UAEZC,EAAaC,EAAAA,uLACbC,EAAYC,EAAAA,QAAQH,GA+BpBI,EAAgB,OAUhBC,EAAc,YAmCpB,SAASC,EAAgBC,GACvB,MAAMC,EAAkB,qBAClBC,EAA0B,KAAOD,EAEvC,MAAO,CACLE,KAAM,oBACN,SAAAC,CAAUC,GACR,GAAIA,IAAOJ,EACT,OAAOC,CAEX,EACA,IAAAI,CAAKD,GACH,GAAIA,IAAOH,EAAyB,CAClC,MAAMK,EAAYC,EAAAA,MAAM,CACtBC,UAAW,MACXC,WAAAA,IAAeC,MAAOC,eACrBZ,GAAW,CAAA,GACd,MAAO,kBAAkBa,KAAKC,UAAUP,IAC1C,CACF,EAEJ,CAsCAQ,QAAAC,aA1BO,SAAsBhB,GAM3B,MAAMS,GAAYT,OAJlBA,EAAUQ,EAAAA,MAAM,CACdC,UAAW,OACVT,GAAW,CAAA,SAEIA,EAAAA,EAASS,YAAa,MAExC,MAAO,CACLQ,WAAY,CACVC,QAAS,CA3EN,CACLf,KAAM,oBACNgB,QAAS,MACT,SAAAC,CAAUC,EAAMhB,GACd,GAAIA,EAAGiB,SAAS,kBAAmB,CAEjC,IAAA,IAAID,EAAKE,QAAQzB,SACT,IAAI0B,MAAM,yBAAyB1B,SAG3C,MAAM2B,EAAMC,EAAKC,KAAKhC,EAAW,UAC3BiC,EAAkBC,EAAAA,KAAKC,KAAK,eAAgB,CAChDL,QAGF,GAAqB,IAAjBG,EAAMG,OAAc,OAAO,KAE/B,MAAMC,EAAkB,GAOxB,OANAJ,EAAMK,QAAQ,CAACC,EAAMC,KACnB,MAAMC,EAAWV,EAAKC,KAAKF,EAAKS,GAAMG,QAAQ,QAAS,KACvDL,EAAMM,KAAK,UAAUzC,IAAgBsC,WAAeC,OACpDJ,EAAMM,KAAK,iCAAiCzC,IAAgBsC,KAASA,aAAiBC,SAExFJ,EAAMM,KAAKjB,EAAKgB,QAAQvC,EAlChC,SAAoB8B,GAClB,MAAMI,EAAkB,GAIxB,OAHAJ,EAAMK,QAAQ,CAACM,EAAGJ,KAChBH,EAAMM,KAAK,IAAIzC,IAAgBsC,KAASA,YAAgBtC,IAAgBsC,OAEnEH,EAAML,KAAK,KACpB,CANA,CAkCwDC,KACzC,CAAEP,KAAMW,EAAML,KAAK,MAC5B,CACA,OAAO,IACT,GAnEK,CACLxB,KAAM,iBACNgB,QAAS,OACT,SAAAC,CAAUC,EAAMhB,GACd,GAAIA,EAAGiB,SAAS,YAAa,CAC3B,MAAMkB,EAAWd,EAAKe,SAASpC,GAAIgC,QAAQ,WAAY,IACjDK,EAAKrB,EAAKsB,MAAM,kBAChBC,EAAO,iCACSF,EAAGG,2CACCrD,uEAEFgD,kIAMxB,MAAO,CACLnB,KAFYqB,EAAGf,KAAK,kBAENiB,EAElB,CACA,OAAO,IACT,GA6F+C7C,EAAgBC,IAC7D8C,QAAS,CACPC,MAAO,CACL,CAAC,IAAIvD,KAAckC,EAAKoB,QAAQnD,EAAW,WAE7CqD,WAAY,CAAC,MAAO,MAAO,OAAQ,OAAQ,QAAS,UAAW,WAEjEC,OAAQ,CACNC,eAAgBrC,KAAKC,UAAUN,QAAM,CACnCC,UAAW,MACXC,WAAAA,IAAeC,MAAOC,eACrBZ,GAAW,CAAA,MAGlBmD,gBAAkBC,GAAgBA,EAAIC,WAAW,GAAG5C,MAExD"}
1
+ {"version":3,"file":"plugin.cjs.js","sources":["../src/plugin.ts"],"sourcesContent":["import type { Plugin, UserConfig } from 'vite'\r\nimport { fileURLToPath } from 'url'\r\nimport { default as path, dirname } from 'path'\r\nimport { glob } from 'glob'\r\nimport { merge } from 'ts-deepmerge'\r\n\r\nconst coreAlias = '@auicore'\r\n// 避免使用 import.meta.url,在构建时会被转换为 data URL\r\nconst __filename = fileURLToPath(import.meta.url)\r\nconst __dirname = dirname(__filename)\r\n\r\n// 自定义AUI.vue文件处理插件\r\nfunction auiVuePlugin(options: AuiOptions): Plugin {\r\n return {\r\n name: 'aui-vue-plugin',\r\n enforce: 'post', // 在Vue插件之后执行\r\n transform(code, id) {\r\n if (id.endsWith(`.aui.vue`)) {\r\n const fileName = path.basename(id).replace('.aui.vue', '');\r\n const sp = code.split('export default');\r\n const last = `\r\nconst __aui_comp_define__ = ${sp.pop()};\r\nimport __aui_como_core__ from '${options.coreAlias?options.coreAlias:'agile-core'}';\r\nif(!__aui_comp_define__.name) {\r\n __aui_comp_define__.name = '${fileName}';\r\n}\r\nexport const componentStructure = __aui_comp_define__;\r\nexport default __aui_como_core__.define(__aui_comp_define__);\r\n`;\r\n const first = sp.join('export default');\r\n return {\r\n code: first + last,\r\n }\r\n }\r\n return null\r\n },\r\n }\r\n}\r\n\r\n\r\nconst IMPORT_PREFIX = 'Comp';\r\n\r\nfunction joinExport(files: string[]): string {\r\n const codes: string[] = [];\r\n files.forEach((_, index: number) => {\r\n codes.push(`[${IMPORT_PREFIX}${index}_${index}.name]: ${IMPORT_PREFIX}${index}`);\r\n });\r\n return codes.join(', ');\r\n}\r\n\r\nconst INSERT_FLAG = '// insert';\r\n\r\nfunction auiExportPlugin(): Plugin {\r\n return {\r\n name: 'aui-export-plugin',\r\n enforce: 'pre',\r\n transform(code, id) {\r\n if (id.endsWith(`.export.aui.ts`)) {\r\n\r\n if (code.indexOf(INSERT_FLAG) === -1) {\r\n throw new Error(`.export.aui.ts文件必须包含[ ${INSERT_FLAG} ]标记`);\r\n }\r\n const cwd = path.dirname(id);\r\n const files: string[] = glob.sync('**/*.aui.vue', {\r\n cwd,\r\n });\r\n\r\n if (files.length === 0) return null;\r\n\r\n const codes: string[] = [];\r\n files.forEach((file, index) => {\r\n const filePath = path.join(cwd, file).replace(/\\\\/g, '/');\r\n codes.push(`import ${IMPORT_PREFIX}${index} from '${filePath}';`);\r\n codes.push(`import {componentStructure as ${IMPORT_PREFIX}${index}_${index} } from '${filePath}';`);\r\n });\r\n codes.push(code.replace(INSERT_FLAG, joinExport(files)));\r\n return { code: codes.join(`\\n`) };\r\n }\r\n return null\r\n },\r\n }\r\n}\r\n\r\n\r\nfunction auiConfigPlugin(options?: AuiOptions) {\r\n const virtualModuleId = 'virtual:aui-config'\r\n const resolvedVirtualModuleId = '\\0' + virtualModuleId\r\n\r\n return {\r\n name: 'aui-config-plugin',\r\n resolveId(id: string) {\r\n if (id === virtualModuleId) {\r\n return resolvedVirtualModuleId\r\n }\r\n },\r\n load(id: string) {\r\n if (id === resolvedVirtualModuleId) {\r\n const auiConfig = merge({\r\n tagPrefix: 'aui',\r\n buildTime: new Date().toISOString()\r\n }, options || {})\r\n return `export default ${JSON.stringify(auiConfig)}`\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport type AuiOptions = {\r\n tagPrefix?: string,\r\n coreAlias?: string,\r\n};\r\n\r\nexport type AuiVuePlugin = {\r\n userConfig: UserConfig,\r\n isCustomElement: (tag: string) => boolean,\r\n};\r\n\r\n// 导出AUI配置函数\r\nexport function getAuiConfig(options?: AuiOptions): AuiVuePlugin {\r\n\r\n options = merge({\r\n tagPrefix: 'aui'\r\n }, options || {});\r\n\r\n const tagPrefix = options?.tagPrefix || 'aui';\r\n\r\n return {\r\n userConfig: {\r\n plugins: [auiExportPlugin(), auiVuePlugin(options), auiConfigPlugin(options)],\r\n resolve: {\r\n alias: {\r\n [`${coreAlias}`]: path.resolve(__dirname, './core')\r\n },\r\n extensions: ['.js', '.ts', '.jsx', '.tsx', '.json', '.cjs.js', '.es.js'],\r\n },\r\n define: {\r\n __AUI_CONFIG__: JSON.stringify(merge({\r\n tagPrefix: 'aui',\r\n buildTime: new Date().toISOString()\r\n }, options || {}))\r\n },\r\n },\r\n isCustomElement: (tag: string) => tag.startsWith(`${tagPrefix}-`),\r\n }\r\n}"],"names":["__filename","fileURLToPath","__dirname","dirname","auiVuePlugin","options","name","enforce","transform","code","id","endsWith","fileName","path","basename","replace","sp","split","last","pop","coreAlias","join","IMPORT_PREFIX","INSERT_FLAG","auiConfigPlugin","virtualModuleId","resolvedVirtualModuleId","resolveId","load","auiConfig","merge","tagPrefix","buildTime","Date","toISOString","JSON","stringify","exports","getAuiConfig","userConfig","plugins","indexOf","Error","cwd","files","glob","sync","length","codes","forEach","file","index","filePath","push","_","resolve","alias","extensions","define","__AUI_CONFIG__","isCustomElement","tag","startsWith"],"mappings":"oOAMA,MAEMA,EAAaC,EAAAA,uLACbC,EAAYC,EAAAA,QAAQH,GAG1B,SAASI,EAAaC,GACpB,MAAO,CACLC,KAAM,iBACNC,QAAS,OACT,SAAAC,CAAUC,EAAMC,GACd,GAAIA,EAAGC,SAAS,YAAa,CAC3B,MAAMC,EAAWC,EAAKC,SAASJ,GAAIK,QAAQ,WAAY,IACjDC,EAAKP,EAAKQ,MAAM,kBAChBC,EAAO,iCACSF,EAAGG,0CACAd,EAAQe,UAAUf,EAAQe,UAAU,kFAErCR,kIAMxB,MAAO,CACLH,KAFYO,EAAGK,KAAK,kBAENH,EAElB,CACA,OAAO,IACT,EAEJ,CAGA,MAAMI,EAAgB,OAUhBC,EAAc,YAkCpB,SAASC,EAAgBnB,GACvB,MAAMoB,EAAkB,qBAClBC,EAA0B,KAAOD,EAEvC,MAAO,CACLnB,KAAM,oBACN,SAAAqB,CAAUjB,GACR,GAAIA,IAAOe,EACT,OAAOC,CAEX,EACA,IAAAE,CAAKlB,GACH,GAAIA,IAAOgB,EAAyB,CAClC,MAAMG,EAAYC,EAAAA,MAAM,CACtBC,UAAW,MACXC,WAAAA,IAAeC,MAAOC,eACrB7B,GAAW,CAAA,GACd,MAAO,kBAAkB8B,KAAKC,UAAUP,IAC1C,CACF,EAEJ,CAuCAQ,QAAAC,aA1BO,SAAsBjC,GAM3B,MAAM0B,GAAY1B,OAJlBA,EAAUyB,EAAAA,MAAM,CACdC,UAAW,OACV1B,GAAW,CAAA,SAEIA,EAAAA,EAAS0B,YAAa,MAExC,MAAO,CACLQ,WAAY,CACVC,QAAS,CA3EN,CACLlC,KAAM,oBACNC,QAAS,MACT,SAAAC,CAAUC,EAAMC,GACd,GAAIA,EAAGC,SAAS,kBAAmB,CAEjC,IAAA,IAAIF,EAAKgC,QAAQlB,SACT,IAAImB,MAAM,yBAAyBnB,SAE3C,MAAMoB,EAAM9B,EAAKV,QAAQO,GACnBkC,EAAkBC,EAAAA,KAAKC,KAAK,eAAgB,CAChDH,IAAAA,IAGF,GAAqB,IAAjBC,EAAMG,OAAc,OAAO,KAE/B,MAAMC,EAAkB,GAOxB,OANAJ,EAAMK,QAAQ,CAACC,EAAMC,KACnB,MAAMC,EAAWvC,EAAKQ,KAAKsB,EAAKO,GAAMnC,QAAQ,MAAO,KACrDiC,EAAMK,KAAK,UAAU/B,IAAgB6B,WAAeC,OACpDJ,EAAMK,KAAK,iCAAiC/B,IAAgB6B,KAASA,aAAiBC,SAExFJ,EAAMK,KAAK5C,EAAKM,QAAQQ,EAjChC,SAAoBqB,GAClB,MAAMI,EAAkB,GAIxB,OAHAJ,EAAMK,QAAQ,CAACK,EAAGH,KAChBH,EAAMK,KAAK,IAAI/B,IAAgB6B,KAASA,YAAgB7B,IAAgB6B,OAEnEH,EAAM3B,KAAK,KACpB,CANA,CAiCwDuB,KACzC,CAAEnC,KAAMuC,EAAM3B,KAAK,MAC5B,CACA,OAAO,IACT,GAiD+BjB,EAAaC,GAAUmB,EAAgBnB,IACpEkD,QAAS,CACPC,MAAO,CACL,WAAkB3C,EAAK0C,QAAQrD,EAAW,WAE5CuD,WAAY,CAAC,MAAO,MAAO,OAAQ,OAAQ,QAAS,UAAW,WAEjEC,OAAQ,CACNC,eAAgBxB,KAAKC,UAAUN,QAAM,CACnCC,UAAW,MACXC,WAAAA,IAAeC,MAAOC,eACrB7B,GAAW,CAAA,MAGlBuD,gBAAkBC,GAAgBA,EAAIC,WAAW,GAAG/B,MAExD"}
package/dist/plugin.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import type { UserConfig } from 'vite';
2
2
  export type AuiOptions = {
3
3
  tagPrefix?: string;
4
+ coreAlias?: string;
4
5
  };
5
6
  export type AuiVuePlugin = {
6
7
  userConfig: UserConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAU,UAAU,EAAE,MAAM,MAAM,CAAA;AA4G9C,MAAM,MAAM,UAAU,GAAG;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,UAAU,EAAE,UAAU,CAAC;IACvB,eAAe,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;CAC3C,CAAC;AAGF,wBAAgB,YAAY,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,YAAY,CA0B/D"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAU,UAAU,EAAE,MAAM,MAAM,CAAA;AA2G9C,MAAM,MAAM,UAAU,GAAG;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,UAAU,EAAE,UAAU,CAAC;IACvB,eAAe,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;CAC3C,CAAC;AAGF,wBAAgB,YAAY,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,YAAY,CA0B/D"}
package/dist/plugin.es.js CHANGED
@@ -1,59 +1,62 @@
1
1
  import { fileURLToPath as e } from "url";
2
- import n, { dirname as t } from "path";
2
+ import n, { dirname as r } from "path";
3
3
  import { glob as o } from "glob";
4
- import { merge as r } from "ts-deepmerge";
5
- const i = "auicore", u = t(e(import.meta.url));
4
+ import { merge as t } from "ts-deepmerge";
5
+ const i = r(e(import.meta.url));
6
+ function u(e2) {
7
+ return { name: "aui-vue-plugin", enforce: "post", transform(r2, o2) {
8
+ if (o2.endsWith(".aui.vue")) {
9
+ const t2 = n.basename(o2).replace(".aui.vue", ""), i2 = r2.split("export default"), u2 = `
10
+ const __aui_comp_define__ = ${i2.pop()};
11
+ import __aui_como_core__ from '${e2.coreAlias ? e2.coreAlias : "agile-core"}';
12
+ if(!__aui_comp_define__.name) {
13
+ __aui_comp_define__.name = '${t2}';
14
+ }
15
+ export const componentStructure = __aui_comp_define__;
16
+ export default __aui_como_core__.define(__aui_comp_define__);
17
+ `;
18
+ return { code: i2.join("export default") + u2 };
19
+ }
20
+ return null;
21
+ } };
22
+ }
6
23
  const a = "Comp";
7
24
  const s = "// insert";
8
- function _() {
9
- return { name: "aui-export-plugin", enforce: "pre", transform(e2, t2) {
10
- if (t2.endsWith(".export.aui.ts")) {
25
+ function c() {
26
+ return { name: "aui-export-plugin", enforce: "pre", transform(e2, r2) {
27
+ if (r2.endsWith(".export.aui.ts")) {
11
28
  if (-1 === e2.indexOf(s)) throw new Error(`.export.aui.ts文件必须包含[ ${s} ]标记`);
12
- const t3 = n.join(u, "../src"), r2 = o.sync("**/*.aui.vue", { cwd: t3 });
13
- if (0 === r2.length) return null;
14
- const i2 = [];
15
- return r2.forEach((e3, o2) => {
16
- const r3 = n.join(t3, e3).replace(/\\\\/g, "/");
17
- i2.push(`import ${a}${o2} from '${r3}';`), i2.push(`import {componentStructure as ${a}${o2}_${o2} } from '${r3}';`);
18
- }), i2.push(e2.replace(s, function(e3) {
29
+ const t2 = n.dirname(r2), i2 = o.sync("**/*.aui.vue", { cwd: t2 });
30
+ if (0 === i2.length) return null;
31
+ const u2 = [];
32
+ return i2.forEach((e3, r3) => {
33
+ const o2 = n.join(t2, e3).replace(/\\/g, "/");
34
+ u2.push(`import ${a}${r3} from '${o2}';`), u2.push(`import {componentStructure as ${a}${r3}_${r3} } from '${o2}';`);
35
+ }), u2.push(e2.replace(s, function(e3) {
19
36
  const n2 = [];
20
- return e3.forEach((e4, t4) => {
21
- n2.push(`[${a}${t4}_${t4}.name]: ${a}${t4}`);
37
+ return e3.forEach((e4, r3) => {
38
+ n2.push(`[${a}${r3}_${r3}.name]: ${a}${r3}`);
22
39
  }), n2.join(", ");
23
- }(r2))), { code: i2.join("\n") };
40
+ }(i2))), { code: u2.join("\n") };
24
41
  }
25
42
  return null;
26
43
  } };
27
44
  }
28
- function c(e2) {
29
- const n2 = "virtual:aui-config", t2 = "\0" + n2;
45
+ function _(e2) {
46
+ const n2 = "virtual:aui-config", r2 = "\0" + n2;
30
47
  return { name: "aui-config-plugin", resolveId(e3) {
31
- if (e3 === n2) return t2;
48
+ if (e3 === n2) return r2;
32
49
  }, load(n3) {
33
- if (n3 === t2) {
34
- const n4 = r({ tagPrefix: "aui", buildTime: (/* @__PURE__ */ new Date()).toISOString() }, e2 || {});
50
+ if (n3 === r2) {
51
+ const n4 = t({ tagPrefix: "aui", buildTime: (/* @__PURE__ */ new Date()).toISOString() }, e2 || {});
35
52
  return `export default ${JSON.stringify(n4)}`;
36
53
  }
37
54
  } };
38
55
  }
39
56
  function getAuiConfig(e2) {
40
- e2 = r({ tagPrefix: "aui" }, e2 || {});
41
- const t2 = (e2 == null ? void 0 : e2.tagPrefix) || "aui";
42
- return { userConfig: { plugins: [_(), { name: "aui-vue-plugin", enforce: "post", transform(e3, t3) {
43
- if (t3.endsWith(".aui.vue")) {
44
- const o2 = n.basename(t3).replace(".aui.vue", ""), r2 = e3.split("export default"), u2 = `
45
- const __aui_comp_define__ = ${r2.pop()};
46
- import __aui_como_core__ from '@${i}';
47
- if(!__aui_comp_define__.name) {
48
- __aui_comp_define__.name = '${o2}';
49
- }
50
- export const componentStructure = __aui_comp_define__;
51
- export default __aui_como_core__.define(__aui_comp_define__);
52
- `;
53
- return { code: r2.join("export default") + u2 };
54
- }
55
- return null;
56
- } }, c(e2)], resolve: { alias: { [`@${i}`]: n.resolve(u, "./core") }, extensions: [".js", ".ts", ".jsx", ".tsx", ".json", ".cjs.js", ".es.js"] }, define: { __AUI_CONFIG__: JSON.stringify(r({ tagPrefix: "aui", buildTime: (/* @__PURE__ */ new Date()).toISOString() }, e2 || {})) } }, isCustomElement: (e3) => e3.startsWith(`${t2}-`) };
57
+ e2 = t({ tagPrefix: "aui" }, e2 || {});
58
+ const r2 = (e2 == null ? void 0 : e2.tagPrefix) || "aui";
59
+ return { userConfig: { plugins: [c(), u(e2), _(e2)], resolve: { alias: { "@auicore": n.resolve(i, "./core") }, extensions: [".js", ".ts", ".jsx", ".tsx", ".json", ".cjs.js", ".es.js"] }, define: { __AUI_CONFIG__: JSON.stringify(t({ tagPrefix: "aui", buildTime: (/* @__PURE__ */ new Date()).toISOString() }, e2 || {})) } }, isCustomElement: (e3) => e3.startsWith(`${r2}-`) };
57
60
  }
58
61
  export {
59
62
  getAuiConfig
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.es.js","sources":["../src/plugin.ts"],"sourcesContent":["import type { Plugin, UserConfig } from 'vite'\nimport { fileURLToPath } from 'url'\nimport { default as path, dirname } from 'path'\nimport { glob } from 'glob'\nimport { merge } from 'ts-deepmerge'\n\nconst coreAlias = 'auicore'\n// 避免使用 import.meta.url,在构建时会被转换为 data URL\nconst __filename = fileURLToPath(import.meta.url)\nconst __dirname = dirname(__filename)\n\n// 自定义AUI.vue文件处理插件\nfunction auiVuePlugin(): Plugin {\n return {\n name: 'aui-vue-plugin',\n enforce: 'post', // 在Vue插件之后执行\n transform(code, id) {\n if (id.endsWith(`.aui.vue`)) {\n const fileName = path.basename(id).replace('.aui.vue', '');\n const sp = code.split('export default');\n const last = `\nconst __aui_comp_define__ = ${sp.pop()};\nimport __aui_como_core__ from '@${coreAlias}';\nif(!__aui_comp_define__.name) {\n __aui_comp_define__.name = '${fileName}';\n}\nexport const componentStructure = __aui_comp_define__;\nexport default __aui_como_core__.define(__aui_comp_define__);\n`;\n const first = sp.join('export default');\n return {\n code: first + last,\n }\n }\n return null\n },\n }\n}\n\n\nconst IMPORT_PREFIX = 'Comp';\n\nfunction joinExport(files: string[]): string {\n const codes: string[] = [];\n files.forEach((_, index: number) => {\n codes.push(`[${IMPORT_PREFIX}${index}_${index}.name]: ${IMPORT_PREFIX}${index}`);\n });\n return codes.join(', ');\n}\n\nconst INSERT_FLAG = '// insert';\n\nfunction auiExportPlugin(): Plugin {\n return {\n name: 'aui-export-plugin',\n enforce: 'pre',\n transform(code, id) {\n if (id.endsWith(`.export.aui.ts`)) {\n\n if (code.indexOf(INSERT_FLAG) === -1) {\n throw new Error(`.export.aui.ts文件必须包含[ ${INSERT_FLAG} ]标记`);\n }\n\n const cwd = path.join(__dirname, '../src');\n const files: string[] = glob.sync('**/*.aui.vue', {\n cwd,\n });\n\n if (files.length === 0) return null;\n\n const codes: string[] = [];\n files.forEach((file, index) => {\n const filePath = path.join(cwd, file).replace(/\\\\\\\\/g, '/');\n codes.push(`import ${IMPORT_PREFIX}${index} from '${filePath}';`);\n codes.push(`import {componentStructure as ${IMPORT_PREFIX}${index}_${index} } from '${filePath}';`);\n });\n codes.push(code.replace(INSERT_FLAG, joinExport(files)));\n return { code: codes.join(`\\n`) };\n }\n return null\n },\n }\n}\n\n\nfunction auiConfigPlugin(options?: AuiOptions) {\n const virtualModuleId = 'virtual:aui-config'\n const resolvedVirtualModuleId = '\\0' + virtualModuleId\n\n return {\n name: 'aui-config-plugin',\n resolveId(id: string) {\n if (id === virtualModuleId) {\n return resolvedVirtualModuleId\n }\n },\n load(id: string) {\n if (id === resolvedVirtualModuleId) {\n const auiConfig = merge({\n tagPrefix: 'aui',\n buildTime: new Date().toISOString()\n }, options || {})\n return `export default ${JSON.stringify(auiConfig)}`\n }\n }\n }\n}\n\nexport type AuiOptions = {\n tagPrefix?: string,\n};\n\nexport type AuiVuePlugin = {\n userConfig: UserConfig,\n isCustomElement: (tag: string) => boolean,\n};\n\n// 导出AUI配置函数\nexport function getAuiConfig(options?: AuiOptions): AuiVuePlugin {\n\n options = merge({\n tagPrefix: 'aui'\n }, options || {});\n\n const tagPrefix = options?.tagPrefix || 'aui';\n\n return {\n userConfig: {\n plugins: [auiExportPlugin(), auiVuePlugin(), auiConfigPlugin(options)],\n resolve: {\n alias: {\n [`@${coreAlias}`]: path.resolve(__dirname, './core')\n },\n extensions: ['.js', '.ts', '.jsx', '.tsx', '.json', '.cjs.js', '.es.js'],\n },\n define: {\n __AUI_CONFIG__: JSON.stringify(merge({\n tagPrefix: 'aui',\n buildTime: new Date().toISOString()\n }, options || {}))\n },\n },\n isCustomElement: (tag: string) => tag.startsWith(`${tagPrefix}-`),\n }\n}"],"names":["coreAlias","__dirname","dirname","fileURLToPath","url","IMPORT_PREFIX","INSERT_FLAG","auiExportPlugin","name","enforce","code","id","endsWith","indexOf","Error","cwd","path","join","files","glob","sync","length","codes","forEach","file","index","filePath","replace","push","_","auiConfigPlugin","options","virtualModuleId","resolvedVirtualModuleId","auiConfig","merge","tagPrefix","buildTime","Date","toISOString","JSON","stringify","getAuiConfig","userConfig","plugins","fileName","basename","sp","split","last","pop","resolve","alias","extensions","define","__AUI_CONFIG__","isCustomElement","tag","startsWith"],"mappings":"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"}
1
+ {"version":3,"file":"plugin.es.js","sources":["../src/plugin.ts"],"sourcesContent":["import type { Plugin, UserConfig } from 'vite'\r\nimport { fileURLToPath } from 'url'\r\nimport { default as path, dirname } from 'path'\r\nimport { glob } from 'glob'\r\nimport { merge } from 'ts-deepmerge'\r\n\r\nconst coreAlias = '@auicore'\r\n// 避免使用 import.meta.url,在构建时会被转换为 data URL\r\nconst __filename = fileURLToPath(import.meta.url)\r\nconst __dirname = dirname(__filename)\r\n\r\n// 自定义AUI.vue文件处理插件\r\nfunction auiVuePlugin(options: AuiOptions): Plugin {\r\n return {\r\n name: 'aui-vue-plugin',\r\n enforce: 'post', // 在Vue插件之后执行\r\n transform(code, id) {\r\n if (id.endsWith(`.aui.vue`)) {\r\n const fileName = path.basename(id).replace('.aui.vue', '');\r\n const sp = code.split('export default');\r\n const last = `\r\nconst __aui_comp_define__ = ${sp.pop()};\r\nimport __aui_como_core__ from '${options.coreAlias?options.coreAlias:'agile-core'}';\r\nif(!__aui_comp_define__.name) {\r\n __aui_comp_define__.name = '${fileName}';\r\n}\r\nexport const componentStructure = __aui_comp_define__;\r\nexport default __aui_como_core__.define(__aui_comp_define__);\r\n`;\r\n const first = sp.join('export default');\r\n return {\r\n code: first + last,\r\n }\r\n }\r\n return null\r\n },\r\n }\r\n}\r\n\r\n\r\nconst IMPORT_PREFIX = 'Comp';\r\n\r\nfunction joinExport(files: string[]): string {\r\n const codes: string[] = [];\r\n files.forEach((_, index: number) => {\r\n codes.push(`[${IMPORT_PREFIX}${index}_${index}.name]: ${IMPORT_PREFIX}${index}`);\r\n });\r\n return codes.join(', ');\r\n}\r\n\r\nconst INSERT_FLAG = '// insert';\r\n\r\nfunction auiExportPlugin(): Plugin {\r\n return {\r\n name: 'aui-export-plugin',\r\n enforce: 'pre',\r\n transform(code, id) {\r\n if (id.endsWith(`.export.aui.ts`)) {\r\n\r\n if (code.indexOf(INSERT_FLAG) === -1) {\r\n throw new Error(`.export.aui.ts文件必须包含[ ${INSERT_FLAG} ]标记`);\r\n }\r\n const cwd = path.dirname(id);\r\n const files: string[] = glob.sync('**/*.aui.vue', {\r\n cwd,\r\n });\r\n\r\n if (files.length === 0) return null;\r\n\r\n const codes: string[] = [];\r\n files.forEach((file, index) => {\r\n const filePath = path.join(cwd, file).replace(/\\\\/g, '/');\r\n codes.push(`import ${IMPORT_PREFIX}${index} from '${filePath}';`);\r\n codes.push(`import {componentStructure as ${IMPORT_PREFIX}${index}_${index} } from '${filePath}';`);\r\n });\r\n codes.push(code.replace(INSERT_FLAG, joinExport(files)));\r\n return { code: codes.join(`\\n`) };\r\n }\r\n return null\r\n },\r\n }\r\n}\r\n\r\n\r\nfunction auiConfigPlugin(options?: AuiOptions) {\r\n const virtualModuleId = 'virtual:aui-config'\r\n const resolvedVirtualModuleId = '\\0' + virtualModuleId\r\n\r\n return {\r\n name: 'aui-config-plugin',\r\n resolveId(id: string) {\r\n if (id === virtualModuleId) {\r\n return resolvedVirtualModuleId\r\n }\r\n },\r\n load(id: string) {\r\n if (id === resolvedVirtualModuleId) {\r\n const auiConfig = merge({\r\n tagPrefix: 'aui',\r\n buildTime: new Date().toISOString()\r\n }, options || {})\r\n return `export default ${JSON.stringify(auiConfig)}`\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport type AuiOptions = {\r\n tagPrefix?: string,\r\n coreAlias?: string,\r\n};\r\n\r\nexport type AuiVuePlugin = {\r\n userConfig: UserConfig,\r\n isCustomElement: (tag: string) => boolean,\r\n};\r\n\r\n// 导出AUI配置函数\r\nexport function getAuiConfig(options?: AuiOptions): AuiVuePlugin {\r\n\r\n options = merge({\r\n tagPrefix: 'aui'\r\n }, options || {});\r\n\r\n const tagPrefix = options?.tagPrefix || 'aui';\r\n\r\n return {\r\n userConfig: {\r\n plugins: [auiExportPlugin(), auiVuePlugin(options), auiConfigPlugin(options)],\r\n resolve: {\r\n alias: {\r\n [`${coreAlias}`]: path.resolve(__dirname, './core')\r\n },\r\n extensions: ['.js', '.ts', '.jsx', '.tsx', '.json', '.cjs.js', '.es.js'],\r\n },\r\n define: {\r\n __AUI_CONFIG__: JSON.stringify(merge({\r\n tagPrefix: 'aui',\r\n buildTime: new Date().toISOString()\r\n }, options || {}))\r\n },\r\n },\r\n isCustomElement: (tag: string) => tag.startsWith(`${tagPrefix}-`),\r\n }\r\n}"],"names":["__dirname","dirname","fileURLToPath","url","auiVuePlugin","options","name","enforce","code","id","endsWith","fileName","path","basename","replace","sp","split","last","pop","coreAlias","join","IMPORT_PREFIX","INSERT_FLAG","auiExportPlugin","indexOf","Error","cwd","files","glob","sync","length","codes","forEach","file","index","filePath","push","_","auiConfigPlugin","virtualModuleId","resolvedVirtualModuleId","auiConfig","merge","tagPrefix","buildTime","Date","toISOString","JSON","stringify","getAuiConfig","userConfig","plugins","resolve","alias","extensions","define","__AUI_CONFIG__","isCustomElement","tag","startsWith"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agile-core",
3
- "version": "3.0.3",
3
+ "version": "3.0.8",
4
4
  "main": "dist/index.cjs.js",
5
5
  "module": "dist/index.es.js",
6
6
  "types": "dist/index.d.ts",