agile-core 3.0.7 → 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.
package/dist/core.es.js CHANGED
@@ -1,8 +1,8 @@
1
- import { createApp as e, defineComponent as t, useAttrs as n, shallowRef as r, ref as o, useSlots as i, onMounted as s, onUpdated as a, h as u } from "vue";
1
+ import { createApp as e, defineComponent as t, useAttrs as n, shallowRef as r, ref as o, useSlots as s, onMounted as i, onUpdated as a, h as u } from "vue";
2
2
  import { merge as l } from "ts-deepmerge";
3
3
  var h, c;
4
- const d = __AUI_CONFIG__.tagPrefix || "aui", p = "data-v-aui", m = Symbol("shadow");
5
- const _AuiComponent = class _AuiComponent extends (c = HTMLElement, h = m, c) {
4
+ const d = __AUI_CONFIG__.tagPrefix || "aui", p = "data-v-aui", m = "auix", f = Symbol("shadow");
5
+ const _AuiComponent = class _AuiComponent extends (c = HTMLElement, h = f, c) {
6
6
  constructor(e2) {
7
7
  super(), this.__hasVue__ = false, this[h] = { needHook: false, slot: {} }, this[_AuiComponent.shadowSymbol].options = e2 || {}, this.$initAttrs();
8
8
  }
@@ -52,7 +52,7 @@ const _AuiComponent = class _AuiComponent extends (c = HTMLElement, h = m, c) {
52
52
  if (n2.getAttribute(e2) === t2) return;
53
53
  n2.setAttribute(e2, t2);
54
54
  }
55
- this.$isShowProp($.vueAttrName(e2)) && super.setAttribute(e2, t2), "value" === e2 && n2 ? this.value = n2.getAttribute(e2) : this.$attrChange(e2);
55
+ this.$isShowProp(b.vueAttrName(e2)) && super.setAttribute(e2, t2), "value" === e2 && n2 ? this.value = n2.getAttribute(e2) : this.$attrChange(e2);
56
56
  }
57
57
  getAttribute(e2) {
58
58
  const t2 = this[_AuiComponent.shadowSymbol].el;
@@ -61,11 +61,11 @@ const _AuiComponent = class _AuiComponent extends (c = HTMLElement, h = m, c) {
61
61
  removeAttribute(e2) {
62
62
  const t2 = this[_AuiComponent.shadowSymbol].el;
63
63
  t2 && t2.removeAttribute(e2);
64
- this.$isShowProp($.vueAttrName(e2)) && super.removeAttribute(e2), this.$attrChange(e2);
64
+ this.$isShowProp(b.vueAttrName(e2)) && super.removeAttribute(e2), this.$attrChange(e2);
65
65
  }
66
66
  attributeChangedCallback(e2, t2, n2) {
67
67
  const r2 = this[_AuiComponent.shadowSymbol].el;
68
- r2 && t2 !== n2 && (this.$isShowProp($.vueAttrName(e2)) || super.removeAttribute(e2), r2.setAttribute(e2, n2 || ""), "value" !== e2 && this.$attrChange(e2));
68
+ r2 && t2 !== n2 && (this.$isShowProp(b.vueAttrName(e2)) || super.removeAttribute(e2), r2.setAttribute(e2, n2 || ""), "value" !== e2 && this.$attrChange(e2));
69
69
  }
70
70
  static $anyToArray(e2) {
71
71
  let t2 = [];
@@ -178,11 +178,11 @@ const _AuiComponent = class _AuiComponent extends (c = HTMLElement, h = m, c) {
178
178
  const t2 = (e2 = e2 || this).childNodes, n2 = { default: [] };
179
179
  for (; t2.length > 0; ) {
180
180
  const r2 = t2[0];
181
- if ((_a = r2.parentNode) == null ? void 0 : _a.removeChild(r2), f.$isForAuiSlot(r2)) {
181
+ if ((_a = r2.parentNode) == null ? void 0 : _a.removeChild(r2), $.$isForAuiSlot(r2)) {
182
182
  const t3 = r2.getAttribute("for") || "default";
183
183
  n2[t3] = n2[t3] || [];
184
184
  const o2 = Array.prototype.slice.call(r2.childNodes);
185
- f.prototype.$bind.call(r2, e2), n2[t3].push(...o2);
185
+ $.prototype.$bind.call(r2, e2), n2[t3].push(...o2);
186
186
  } else n2.default.push(r2);
187
187
  }
188
188
  return n2;
@@ -196,33 +196,33 @@ const _AuiComponent = class _AuiComponent extends (c = HTMLElement, h = m, c) {
196
196
  const e3 = this.value;
197
197
  super.hasAttribute(p) ? this.$call("$emit", "update:value", e3) : this.$customEvent("input", { bubbles: true, composed: true });
198
198
  }
199
- this.$customEvent("aui-attr-change", { bubbles: true, composed: true, detail: { attributeName: $.vueAttrName(e2) } });
199
+ this.$customEvent("aui-attr-change", { bubbles: true, composed: true, detail: { attributeName: b.vueAttrName(e2) } });
200
200
  }
201
201
  $initAttrs() {
202
202
  const e2 = this.attributes, t2 = document.createElement("div");
203
203
  for (let n2 = 0; n2 < e2.length; n2++) {
204
204
  const r2 = e2[n2];
205
- t2.setAttribute(r2.name, r2.value), this.$isShowProp($.vueAttrName(r2.name)) || super.removeAttribute(r2.name), "value" === r2.name && (this.value = r2.value);
205
+ t2.setAttribute(r2.name, r2.value), this.$isShowProp(b.vueAttrName(r2.name)) || super.removeAttribute(r2.name), "value" === r2.name && (this.value = r2.value);
206
206
  }
207
207
  Object.defineProperty(this, "attributes", { get value() {
208
208
  return t2.attributes;
209
209
  }, writable: false }), this[_AuiComponent.shadowSymbol].el = t2;
210
210
  }
211
211
  $isShowProp(e2) {
212
- if ($.isVueAttr(e2)) return true;
212
+ if (b.isVueAttr(e2)) return true;
213
213
  const t2 = this.$getProp(e2), n2 = t2 == null ? void 0 : t2.show;
214
214
  return n2;
215
215
  }
216
216
  $getProp(e2) {
217
217
  var _a;
218
- const t2 = $.cache.getAuiVueDefined(this.tagName);
218
+ const t2 = b.cache.getAuiVueDefined(this.tagName);
219
219
  return (((_a = t2 == null ? void 0 : t2.origin) == null ? void 0 : _a.props) || {})[e2];
220
220
  }
221
221
  $initVue() {
222
222
  if (this.__hasVue__) return;
223
223
  this.__hasVue__ = true;
224
224
  const t2 = this.tagName.toLowerCase();
225
- $.cache.getAuiVueDefined(t2) && e($.createVueComponent(t2, this)).mount(this);
225
+ b.cache.getAuiVueDefined(t2) && e(b.createVueComponent(t2, this)).mount(this);
226
226
  }
227
227
  $needInit() {
228
228
  return !super.hasAttribute(p);
@@ -231,17 +231,17 @@ const _AuiComponent = class _AuiComponent extends (c = HTMLElement, h = m, c) {
231
231
  var _a, _b;
232
232
  if (this[_AuiComponent.shadowSymbol].ref) return;
233
233
  this[_AuiComponent.shadowSymbol].ref = e2, this.__hasVue__ = true, this.$customEvent("aui-init", { bubbles: false, detail: { code: 0 } });
234
- const t2 = (_b = (_a = $.cache.getAuiVueDefined(this.tagName)) == null ? void 0 : _a.origin) == null ? void 0 : _b.auiInit;
234
+ const t2 = (_b = (_a = b.cache.getAuiVueDefined(this.tagName)) == null ? void 0 : _a.origin) == null ? void 0 : _b.auiInit;
235
235
  t2 && t2.call(e2);
236
236
  }
237
237
  $call(e2, ...t2) {
238
238
  const n2 = this[_AuiComponent.shadowSymbol].ref;
239
- return $.$call(n2, e2, ...t2);
239
+ return b.$call(n2, e2, ...t2);
240
240
  }
241
241
  };
242
- _AuiComponent.shadowSymbol = m;
242
+ _AuiComponent.shadowSymbol = f;
243
243
  let AuiComponent = _AuiComponent;
244
- class f extends HTMLElement {
244
+ class $ extends HTMLElement {
245
245
  constructor() {
246
246
  super();
247
247
  }
@@ -268,7 +268,7 @@ class f extends HTMLElement {
268
268
  return !(!e2 || e2.nodeType !== Node.ELEMENT_NODE) && "aui-slot" === e2.tagName.toLowerCase();
269
269
  }
270
270
  static $isForAuiSlot(e2) {
271
- return !(!f.$isAuiSlot(e2) || !e2.hasAttribute("for"));
271
+ return !(!$.$isAuiSlot(e2) || !e2.hasAttribute("for"));
272
272
  }
273
273
  $bind(e2) {
274
274
  this._el_ = e2, this._name_ = this.getAttribute("for") || "default";
@@ -278,39 +278,39 @@ class f extends HTMLElement {
278
278
  e2.$slot(t2, { start: n2, end: r2 }), this.replaceWith(n2, r2);
279
279
  }
280
280
  }
281
- const $ = { init: () => ($.defineSlot(), $), defineSlot() {
282
- $.defineCustomElement("aui-slot", f);
281
+ const b = { init: () => (b.defineSlot(), b), defineSlot() {
282
+ b.defineCustomElement("aui-slot", $);
283
283
  }, $call(e2, t2, ...n2) {
284
284
  if (!e2) return new Error("not init");
285
285
  if (!t2) return e2;
286
286
  if ("function" == typeof e2[t2]) return e2[t2].call(e2, ...n2);
287
287
  const r2 = t2.split(".");
288
- let o2 = e2, i2 = r2.pop() || "", s2 = null;
289
- for (; s2 = r2.shift(); ) {
290
- if (!Object.prototype.hasOwnProperty.call(o2, s2)) return new Error("no match name");
291
- o2 = o2[s2];
288
+ let o2 = e2, s2 = r2.pop() || "", i2 = null;
289
+ for (; i2 = r2.shift(); ) {
290
+ if (!Object.prototype.hasOwnProperty.call(o2, i2)) return new Error("no match name");
291
+ o2 = o2[i2];
292
292
  }
293
- return 0 === n2.length ? o2[i2] : (o2[i2] = n2[0], null);
293
+ return 0 === n2.length ? o2[s2] : (o2[s2] = n2[0], null);
294
294
  }, formatName: (e2) => e2 ? (e2 = e2.replace(/[A-Z]/g, function(e3) {
295
295
  return "-" + e3.toLowerCase();
296
- }), d + e2) : "", cache: { defined: (Object.prototype.hasOwnProperty.call(window, "__GLOBAL_AUI_CORE__") || Object.defineProperty(window, "__GLOBAL_AUI_CORE__", { value: { defined: {} }, writable: false, enumerable: false }), window.__GLOBAL_AUI_CORE__).defined, getAuiVueDefined: (e2) => (e2 = e2.toLowerCase(), $.cache.defined[e2]), getAuiPropNames(e2) {
296
+ }), d + e2) : "", cache: { defined: {}, getAuiVueDefined: (e2) => (e2 = e2.toLowerCase(), b.cache.defined[e2]), getAuiPropNames(e2) {
297
297
  var _a;
298
- const t2 = $.cache.getAuiVueDefined(e2), n2 = ((_a = t2 == null ? void 0 : t2.origin) == null ? void 0 : _a.props) || {}, r2 = [];
299
- for (const e3 in n2) r2.push($.auiAttrName(e3));
300
- return r2;
298
+ const t2 = b.cache.getAuiVueDefined(e2), n2 = ((_a = t2 == null ? void 0 : t2.origin) == null ? void 0 : _a.props) || {}, r2 = [];
299
+ for (const e3 in n2) r2.push(b.auiAttrName(e3));
300
+ return -1 === r2.indexOf(m) && r2.push(m), r2;
301
301
  }, addHooks(e2, t2) {
302
302
  e2 = e2.toLowerCase();
303
- const n2 = $.cache.getAuiVueDefined(e2);
304
- n2 ? (n2.hooks = n2.hooks || [], n2.hooks.push(t2)) : $.cache.defined[e2] = { hooks: [t2] };
303
+ const n2 = b.cache.getAuiVueDefined(e2);
304
+ n2 ? (n2.hooks = n2.hooks || [], n2.hooks.push(t2)) : b.cache.defined[e2] = { hooks: [t2] };
305
305
  } }, createExtendComp: (e2) => {
306
306
  var _a, _b;
307
- return t({ props: { auix: { type: String }, value: { type: ((_b = (_a = e2.props) == null ? void 0 : _a.value) == null ? void 0 : _b.type) || [String, Number, Array] } }, methods: { $anyToArray: AuiComponent.$anyToArray, $value(...e3) {
307
+ return t({ props: { [m]: { type: String }, value: { type: ((_b = (_a = e2.props) == null ? void 0 : _a.value) == null ? void 0 : _b.type) || [String, Number, Array] } }, methods: { $anyToArray: AuiComponent.$anyToArray, $value(...e3) {
308
308
  const t2 = this.$aui();
309
309
  if (0 === e3.length) return t2 == null ? void 0 : t2.value;
310
310
  t2 && (t2.value = e3[0]);
311
311
  }, $call(e3, ...t2) {
312
312
  const n2 = this.$aui();
313
- return n2 ? $.$call(n2, e3, ...t2) : null;
313
+ return n2 ? b.$call(n2, e3, ...t2) : null;
314
314
  }, $aui() {
315
315
  var _a2;
316
316
  return (_a2 = this.$el) == null ? void 0 : _a2.parentNode;
@@ -318,21 +318,21 @@ const $ = { init: () => ($.defineSlot(), $), defineSlot() {
318
318
  }, patchDefaultProps(e2) {
319
319
  var _a, _b;
320
320
  const t2 = (_b = (_a = e2.props) == null ? void 0 : _a.value) == null ? void 0 : _b.type;
321
- return e2.mixins || (e2.mixins = []), e2.mixins.push($.createExtendComp(e2)), t2;
321
+ return e2.mixins || (e2.mixins = []), e2.mixins.push(b.createExtendComp(e2)), t2;
322
322
  }, defineAuiComponent(e2, t2, n2) {
323
323
  var _a, _b;
324
- const r2 = $.patchDefaultProps(n2);
325
- if ((_a = $.cache.defined[e2]) == null ? void 0 : _a.origin) $.cache.defined[e2].origin = n2;
324
+ const r2 = b.patchDefaultProps(n2);
325
+ if ((_a = b.cache.defined[e2]) == null ? void 0 : _a.origin) b.cache.defined[e2].origin = n2;
326
326
  else {
327
327
  class o2 extends AuiComponent {
328
328
  constructor() {
329
329
  super({ valueType: r2 });
330
330
  }
331
331
  static get observedAttributes() {
332
- return $.cache.getAuiPropNames(e2);
332
+ return b.cache.getAuiPropNames(e2);
333
333
  }
334
334
  }
335
- $.cache.defined[e2] = { aui: o2, vue: t2, origin: n2, hooks: ((_b = $.cache.defined[e2]) == null ? void 0 : _b.hooks) || [] }, $.defineCustomElement(e2, o2);
335
+ b.cache.defined[e2] = { aui: o2, vue: t2, origin: n2, hooks: ((_b = b.cache.defined[e2]) == null ? void 0 : _b.hooks) || [] }, b.defineCustomElement(e2, o2);
336
336
  }
337
337
  }, defineCustomElement(e2, t2) {
338
338
  try {
@@ -341,19 +341,19 @@ const $ = { init: () => ($.defineSlot(), $), defineSlot() {
341
341
  }
342
342
  }, sameComponent(e2, t2) {
343
343
  if (!Object.prototype.hasOwnProperty.call(t2, "__hmrId")) return false;
344
- const n2 = $.cache.getAuiVueDefined(e2), r2 = n2 == null ? void 0 : n2.origin;
344
+ const n2 = b.cache.getAuiVueDefined(e2), r2 = n2 == null ? void 0 : n2.origin;
345
345
  return !!r2 && t2.__hmrId === r2.__hmrId;
346
346
  }, notifyComponentUpdate(e2) {
347
347
  document.querySelectorAll(e2).forEach((e3) => {
348
348
  e3.$forceUpdate();
349
349
  });
350
350
  }, define(e2, t2 = true) {
351
- const n2 = $.formatName(e2.name);
351
+ const n2 = b.formatName(e2.name);
352
352
  if (!n2) return e2;
353
- const r2 = $.cache.getAuiVueDefined(n2);
354
- if (r2 && r2.vue) return (t2 || $.sameComponent(n2, e2)) && ($.defineAuiComponent(n2, r2.vue, e2), $.notifyComponentUpdate(n2)), r2.vue;
355
- const o2 = $.createVueComponent(n2);
356
- return $.defineAuiComponent(n2, o2, e2), o2;
353
+ const r2 = b.cache.getAuiVueDefined(n2);
354
+ if (r2 && r2.vue) return (t2 || b.sameComponent(n2, e2)) && (b.defineAuiComponent(n2, r2.vue, e2), b.notifyComponentUpdate(n2)), r2.vue;
355
+ const o2 = b.createVueComponent(n2);
356
+ return b.defineAuiComponent(n2, o2, e2), o2;
357
357
  }, createTempSlot(e2) {
358
358
  const t2 = {};
359
359
  return Object.keys(e2).forEach((e3) => {
@@ -362,23 +362,23 @@ const $ = { init: () => ($.defineSlot(), $), defineSlot() {
362
362
  }, replaceTempSlot(e2, t2) {
363
363
  Object.keys(t2).forEach((n2) => {
364
364
  const r2 = e2.querySelector(`aui-slot[name="${n2}"]`);
365
- r2 && (f.prototype.$replace.call(r2, e2), e2.$replaceChildren(n2, t2[n2]));
365
+ r2 && ($.prototype.$replace.call(r2, e2), e2.$replaceChildren(n2, t2[n2]));
366
366
  });
367
367
  }, createVueComponent(e2, t2) {
368
368
  const l2 = t2 ? t2.$moveChildren() : { default: [] };
369
369
  return { setup() {
370
- const h2 = n(), c2 = r(null), d2 = r(null), m2 = o({}), f2 = r(t2 ? $.createTempSlot(l2) : i()), b2 = r(null);
371
- return s(() => {
372
- c2.value && d2.value && d2.value.$bindVue && (d2.value.$bindVue(c2.value), t2 && $.replaceTempSlot(t2, l2), d2.value.addEventListener("aui-attr-change", () => {
373
- d2.value && (m2.value = $.getAuiAttrs(d2.value));
370
+ const h2 = n(), c2 = r(null), d2 = r(null), m2 = o({}), f2 = r(t2 ? b.createTempSlot(l2) : s()), $2 = r(null);
371
+ return i(() => {
372
+ c2.value && d2.value && d2.value.$bindVue && (d2.value.$bindVue(c2.value), t2 && b.replaceTempSlot(t2, l2), d2.value.addEventListener("aui-attr-change", () => {
373
+ d2.value && (m2.value = b.getAuiAttrs(d2.value));
374
374
  }), d2.value.addEventListener("aui-force-update", () => {
375
- b2.value = null;
375
+ $2.value = null;
376
376
  }), d2.value.$call("$emit", "update:value", d2.value.value));
377
377
  }), a(() => {
378
378
  d2.value && d2.value.$slotReplace();
379
379
  }), () => {
380
- if (t2 && (d2.value = t2, m2.value = $.getAuiAttrs(t2)), b2.value || (b2.value = $.formatStructure(e2)), !b2.value) return null;
381
- const n2 = u(b2.value, { ...h2, ...m2.value, ref: c2 }, f2.value || {});
380
+ if (t2 && (d2.value = t2, m2.value = b.getAuiAttrs(t2)), $2.value || ($2.value = b.formatStructure(e2)), !$2.value) return null;
381
+ const n2 = u($2.value, { ...h2, ...m2.value, ref: c2 }, f2.value || {});
382
382
  return t2 ? n2 : u(e2, { ref: d2, [p]: "" }, [n2]);
383
383
  };
384
384
  } };
@@ -386,28 +386,28 @@ const $ = { init: () => ($.defineSlot(), $), defineSlot() {
386
386
  const t2 = {}, n2 = e2.attributes;
387
387
  for (let e3 = 0; e3 < n2.length; e3++) {
388
388
  const r2 = n2[e3];
389
- r2.name === d || $.isVueAttr(r2.name) || (t2[r2.name] = r2.value);
389
+ r2.name === d || b.isVueAttr(r2.name) || (t2[r2.name] = r2.value);
390
390
  }
391
391
  return null !== e2.value && (t2.value = e2.value), t2;
392
- }, isVueAttr: (e2) => 0 === e2.indexOf("data-v-"), auiAttrName: (e2) => e2.replace(/([A-Z])/g, (e3) => "-" + e3.toLowerCase()), vueAttrName: (e2) => $.isVueAttr(e2) ? e2 : e2.replace(/-([a-z])/g, (e3, t2) => t2.toUpperCase()), hookStructure(e2, t2) {
393
- $.cache.addHooks(e2, t2);
392
+ }, isVueAttr: (e2) => 0 === e2.indexOf("data-v-"), auiAttrName: (e2) => e2.replace(/([A-Z])/g, (e3) => "-" + e3.toLowerCase()), vueAttrName: (e2) => b.isVueAttr(e2) ? e2 : e2.replace(/-([a-z])/g, (e3, t2) => t2.toUpperCase()), hookStructure(e2, t2) {
393
+ b.cache.addHooks(e2, t2);
394
394
  }, getHookStructure(e2) {
395
- const t2 = $.cache.getAuiVueDefined(e2);
395
+ const t2 = b.cache.getAuiVueDefined(e2);
396
396
  return ((t2 == null ? void 0 : t2.hooks) || []).slice(0);
397
397
  }, formatStructure(e2) {
398
- const t2 = $.cache.getAuiVueDefined(e2);
398
+ const t2 = b.cache.getAuiVueDefined(e2);
399
399
  if (!(t2 == null ? void 0 : t2.origin)) return null;
400
400
  let n2 = l({}, t2.origin);
401
- const r2 = $.getHookStructure(e2);
401
+ const r2 = b.getHookStructure(e2);
402
402
  let o2;
403
403
  for (; o2 = r2.shift(); ) {
404
404
  const e3 = o2(n2);
405
405
  e3 && (n2 = e3);
406
406
  }
407
407
  return n2;
408
- } }, b = $.init();
408
+ } }, v = b.init();
409
409
  export {
410
410
  AuiComponent,
411
- b as default
411
+ v as default
412
412
  };
413
413
  //# sourceMappingURL=core.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"core.es.js","sources":["../src/core.ts"],"sourcesContent":["import type { Component as ComponentType } from 'vue';\nimport { h, useSlots, useAttrs, onMounted, onUpdated, ref, createApp, defineComponent, shallowRef } from 'vue';\nimport { merge } from 'ts-deepmerge';\nexport { type Component as TraditionComponent } from './types';\n\nconst TAG_PREFIX = __AUI_CONFIG__.tagPrefix || 'aui';\nconst AUI_ATTR_FLAG = 'data-v-aui';\n\nconst shadowSymbol = Symbol('shadow');\n\nexport type HookHandler = (c: any) => void | any;\n\ntype AUI_COMPONENT_OPTION = {\n valueType?: any\n}\n\nexport type Component = ComponentType;\n\ntype AUI_SLOT_CACHE = {\n start: Comment,\n end: Comment,\n};\n\ntype AUI_COMP_SHADOW = {\n el?: HTMLElement | null,\n ref?: Component | null,\n value?: string | null,\n options?: AUI_COMPONENT_OPTION,\n needHook: boolean,\n slot: Record<string, AUI_SLOT_CACHE>,\n slotCollection?: Record<string, any[]>,\n};\n\ntype GlobalAuiCore = {\n defined: Record<string, AUI_VUE_DEFINE_CACHE>\n}\n\ntype SlotElement = {\n default: Node[],\n [key: string]: Node[],\n}\n\nfunction getGlobalAuiCore(): GlobalAuiCore {\n if (!Object.prototype.hasOwnProperty.call(window, '__GLOBAL_AUI_CORE__')) {\n Object.defineProperty(window, '__GLOBAL_AUI_CORE__', {\n value: {\n defined: {} as Record<string, AUI_VUE_DEFINE_CACHE>\n },\n writable: false,\n enumerable: false,\n });\n }\n return (window as any)['__GLOBAL_AUI_CORE__'];\n}\n\n\nexport class AuiComponent extends HTMLElement {\n __hasVue__: boolean = false;\n private static readonly shadowSymbol: typeof shadowSymbol = shadowSymbol;\n private [shadowSymbol]: AUI_COMP_SHADOW = { needHook: false, slot: {} };\n\n constructor(options?: AUI_COMPONENT_OPTION) {\n super();\n this[AuiComponent.shadowSymbol].options = options || {};\n this.$initAttrs();\n }\n\n connectedCallback() {\n // console.log('aui component connected:', this.tagName);\n\n if (this.$needInit()) {\n this.$needHook(true);\n this.$initVue();\n }\n\n }\n\n set textContent(v: string) {\n if (!this.$needHook()) {\n super.textContent = v;\n return;\n }\n\n this.$textContent(v);\n }\n\n get textContent() {\n if (!this.$needHook()) {\n return super.textContent || '';\n }\n\n return this.$textContent('default');\n }\n\n set innerHTML(v: string) {\n if (!this.$needHook()) {\n super.innerHTML = v;\n return;\n }\n\n this.$innerHTML(v);\n }\n\n get innerHTML() {\n if (!this.$needHook()) {\n return super.innerHTML || '';\n }\n\n return this.$innerHTML('default');\n }\n\n set innerText(v: string) {\n this.$ignoreLog('innerText');\n super.innerText = v;\n }\n\n prepend<T extends Node>(node: T) {\n if (!this.$needHook()) {\n return super.prepend(node);\n }\n this.$prepend('default', node);\n }\n\n appendChild<T extends Node>(node: T): T {\n if (!this.$needHook()) {\n return super.appendChild(node);\n }\n return this.$appendChild('default', node);\n }\n\n set value(v: string | null) {\n let val: any = v;\n\n const oldValue = this[AuiComponent.shadowSymbol].value;\n let newValue;\n\n if (this.$isArrayValue()) {\n val = AuiComponent.$anyToArray(v);\n newValue = JSON.stringify(val);\n } else {\n newValue = val.toString();\n }\n\n if (oldValue === newValue) return;\n\n this[AuiComponent.shadowSymbol].value = newValue;\n\n if (this[AuiComponent.shadowSymbol].el) {\n this.$attrChange('value');\n }\n }\n\n get value(): any {\n const v = this[AuiComponent.shadowSymbol].value;\n if (this.$isArrayValue()) {\n return typeof v === 'string' ? JSON.parse(v) : v;\n } else {\n return v;\n }\n }\n\n hasAttribute(qualifiedName: string): boolean {\n const shadowElement = this[AuiComponent.shadowSymbol].el;\n if (shadowElement) {\n return shadowElement.hasAttribute(qualifiedName);\n }\n return super.hasAttribute(qualifiedName);\n }\n\n setAttribute(qualifiedName: string, value: string): void {\n value = value.toString();\n const shadowElement = this[AuiComponent.shadowSymbol].el;\n if (shadowElement) {\n if (shadowElement.getAttribute(qualifiedName) === value) return;\n shadowElement.setAttribute(qualifiedName, value);\n }\n const isShow = this.$isShowProp(_M.vueAttrName(qualifiedName));\n if (isShow) {\n super.setAttribute(qualifiedName, value);\n }\n\n if (qualifiedName === 'value' && shadowElement) {\n this.value = shadowElement.getAttribute(qualifiedName);\n } else {\n this.$attrChange(qualifiedName);\n }\n }\n\n getAttribute(qualifiedName: string): string | null {\n const shadowElement = this[AuiComponent.shadowSymbol].el;\n return shadowElement ? shadowElement.getAttribute(qualifiedName) : super.getAttribute(qualifiedName);\n }\n\n removeAttribute(qualifiedName: string): void {\n const shadowElement = this[AuiComponent.shadowSymbol].el;\n if (shadowElement) {\n shadowElement.removeAttribute(qualifiedName);\n }\n const isShow = this.$isShowProp(_M.vueAttrName(qualifiedName));\n if (isShow) {\n super.removeAttribute(qualifiedName);\n }\n this.$attrChange(qualifiedName);\n }\n\n attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null) {\n const shadowElement = this[AuiComponent.shadowSymbol].el;\n if (!shadowElement) return;\n if (oldValue === newValue) return;\n\n if (!this.$isShowProp(_M.vueAttrName(name))) {\n super.removeAttribute(name);\n }\n\n shadowElement.setAttribute(name, newValue || '');\n if (name !== 'value') {\n this.$attrChange(name);\n }\n\n }\n\n // ---------------------------\n\n static $anyToArray(s: any): any {\n let arr = [];\n if (typeof s === 'string') {\n try {\n const json = JSON.parse(s);\n if (json instanceof Array) {\n return json;\n }\n } catch (_) { }\n const sp = s.split(',');\n arr = sp.filter((item) => item ? item.trim() : false);\n } else if (s instanceof Array) {\n arr = s;\n }\n\n return arr;\n }\n\n // ---------------------------\n\n $customEvent(name: string, opts?: any) {\n this.dispatchEvent(new CustomEvent(name, Object.assign({\n bubbles: false,\n composed: false,\n cancelable: true,\n }, opts || {})));\n }\n\n $forceUpdate() {\n let slotCollection: Record<string, any> | null = null;\n const slot = this[AuiComponent.shadowSymbol].slot;\n for (const name in slot) {\n const children = this.$slotCollection(slot[name]);\n if (!slotCollection) slotCollection = {};\n slotCollection[name] = children;\n }\n\n if (slotCollection) {\n this[AuiComponent.shadowSymbol].slotCollection = slotCollection;\n }\n\n this.$customEvent('aui-force-update');\n }\n\n $slotCollection(cache: AUI_SLOT_CACHE) {\n const { start, end } = cache;\n const children = [];\n let child;\n while (start && (child = start.nextSibling) && child !== end) {\n start.parentNode?.removeChild(child);\n children.push(child);\n }\n return children;\n }\n\n $slotReplace() {\n const slotCollection = this[AuiComponent.shadowSymbol].slotCollection;\n if (!slotCollection) return;\n delete this[AuiComponent.shadowSymbol].slotCollection;\n for (const name in slotCollection) {\n const slot = this.querySelector(`aui-slot[name=\"${name}\"]`) as AuiSlot;\n slot.$replace(this);\n this.$replaceChildren(name, slotCollection[name]);\n }\n }\n\n $textContent(name: string, ...args: any): string {\n if (args.length === 0) {\n const ret = [];\n const { start, end } = this.$slot(name) || {};\n let next: Comment | Node | ChildNode | null | undefined = start;\n while (next && (next = next.nextSibling) && next !== end) {\n ret.push(next.textContent);\n }\n return ret.join('');\n\n } else {\n this.$replaceChildren(name, [document.createTextNode(args[0] || '')]);\n }\n return '';\n }\n\n $innerHTML(name: string, ...args: any): string {\n if (args.length === 0) {\n const ret = [];\n const { start, end } = this.$slot(name) || {};\n let next: Comment | Node | ChildNode | null | undefined = start;\n while (next && (next = next.nextSibling) && next !== end) {\n if ((next as any).outerHTML) {\n ret.push((next as any).outerHTML);\n } else {\n let text = next.textContent;\n if (next instanceof Comment) {\n text = `<!--${text}-->`;\n }\n ret.push(text);\n }\n\n }\n return ret.join('');\n\n } else {\n const tpl = document.createElement('div');\n tpl.innerHTML = args[0] || '';\n const children = this.$moveChildren(tpl as any);\n this.$replaceChildren(name, children.default);\n }\n return '';\n }\n\n $prepend<T extends Node>(name: string, node: T) {\n const { start } = this.$slot(name) || {};\n start?.parentNode?.insertBefore(node, start.nextSibling);\n }\n\n $appendChild<T extends Node>(name: string, node: T): T {\n const { end } = this.$slot(name) || {};\n end?.parentNode?.insertBefore(node, end);\n return node;\n }\n\n $childNodes(name?: string): NodeListOf<ChildNode> {\n const ret = [];\n const { start, end } = this.$slot(name) || {};\n let next: Comment | Node | ChildNode | null | undefined = start;\n while (next && (next = next.nextSibling) && next !== end) {\n ret.push(next);\n }\n return ret as any;\n }\n\n $children(name?: string): HTMLCollection {\n const ret = [];\n const { start, end } = this.$slot(name) || {};\n let next: Comment | Node | ChildNode | null | undefined = start;\n while (next && (next = next.nextSibling) && next !== end) {\n if (next instanceof HTMLElement) {\n ret.push(next);\n }\n }\n return ret as any;\n }\n\n $replaceChildren(name: string, children: any[]) {\n const { start, end } = this.$slot(name) || {};\n let next: Comment | Node | ChildNode | null | undefined = null;\n while (start && (next = start.nextSibling) && next !== end) {\n next.parentNode?.removeChild(next);\n }\n if (end) {\n while (next = children.shift()) {\n end.parentNode?.insertBefore(next, end);\n }\n }\n }\n\n $slot(name?: string, slot?: AUI_SLOT_CACHE): AUI_SLOT_CACHE | undefined {\n name = name || 'default';\n if (slot) {\n this[AuiComponent.shadowSymbol].slot[name] = slot;\n } else {\n return this[AuiComponent.shadowSymbol].slot[name];\n }\n }\n\n $needHook(need?: boolean): boolean {\n if (typeof need === 'boolean') {\n this[AuiComponent.shadowSymbol].needHook = need;\n }\n return this[AuiComponent.shadowSymbol].needHook;\n }\n\n $ignoreLog(name: string) {\n console.warn(`aui component ignore : ${name}`);\n }\n\n $moveChildren(el?: AuiComponent): SlotElement {\n el = el || this;\n const list = el.childNodes;\n const ret: SlotElement = {\n default: []\n };\n while (list.length > 0) {\n const child = list[0] as AuiSlot;\n child.parentNode?.removeChild(child);\n if (AuiSlot.$isForAuiSlot(child)) {\n const name = child.getAttribute('for') || 'default';\n ret[name] = ret[name] || [];\n const children = Array.prototype.slice.call(child.childNodes);\n AuiSlot.prototype.$bind.call(child, el);\n ret[name].push(...children);\n } else {\n ret['default'].push(child);\n }\n }\n return ret;\n }\n\n $isArrayValue() {\n return this[AuiComponent.shadowSymbol].options?.valueType === Array;\n }\n\n $attrChange(name: string) {\n if (name === 'value') {\n const val = this.value;\n if (super.hasAttribute(AUI_ATTR_FLAG)) {\n this.$call('$emit', `update:value`, val);\n } else {\n this.$customEvent('input', {\n bubbles: true,\n composed: true,\n });\n }\n }\n this.$customEvent('aui-attr-change', {\n bubbles: true,\n composed: true,\n detail: { attributeName: _M.vueAttrName(name) }\n });\n }\n\n $initAttrs() {\n const attributes = this.attributes;\n const shadow = document.createElement('div');\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes[i];\n shadow.setAttribute(attr.name, attr.value);\n if (!this.$isShowProp(_M.vueAttrName(attr.name))) {\n super.removeAttribute(attr.name);\n }\n if (attr.name === 'value') {\n this.value = attr.value;\n }\n }\n Object.defineProperty(this, 'attributes', {\n get value() {\n return shadow.attributes;\n },\n writable: false,\n });\n\n this[AuiComponent.shadowSymbol].el = shadow;\n }\n\n $isShowProp(name: string): boolean {\n if (_M.isVueAttr(name)) return true;\n const prop = this.$getProp(name);\n // console.log('name:', name)\n const isShow = prop?.show;\n return isShow;\n }\n\n $getProp(name: string): any {\n const auiVueDefined = _M.cache.getAuiVueDefined(this.tagName);\n const props = (auiVueDefined?.origin as any)?.props || {};\n return props[name];\n }\n\n $initVue() {\n if (this.__hasVue__) {\n return;\n }\n this.__hasVue__ = true;\n\n const tagName = this.tagName.toLowerCase();\n const auiVueDefined = _M.cache.getAuiVueDefined(tagName);\n if (!auiVueDefined) {\n console.warn(`AUI组件 [${this.tagName}] 未定义`);\n return;\n }\n createApp(_M.createVueComponent(tagName, this)).mount(this);\n }\n\n $needInit() {\n const flag = super.hasAttribute(AUI_ATTR_FLAG);\n if (flag) {\n return false;\n }\n\n return true;\n }\n\n $bindVue(v: Component) {\n if (this[AuiComponent.shadowSymbol].ref) {\n return;\n }\n // Object.assign(v, { $aui: this });\n this[AuiComponent.shadowSymbol].ref = v;\n this.__hasVue__ = true;\n // 触发init事件\n this.$customEvent('aui-init', {\n bubbles: false,\n detail: { code: 0 }\n });\n const auiInit = (_M.cache.getAuiVueDefined(this.tagName)?.origin as any)?.auiInit;\n if (auiInit) {\n auiInit.call(v);\n }\n }\n\n $call(name?: string, ...args: any[]): any {\n const ref = this[AuiComponent.shadowSymbol].ref as Record<string, any>;\n return _M.$call(ref, name, ...args);\n }\n\n}\n\ntype TypeAuiComponent = typeof AuiComponent;\n\ntype AUI_VUE_DEFINE_CACHE = {\n aui?: TypeAuiComponent,\n vue?: Component,\n origin?: Component,\n hooks?: HookHandler[],\n}\n\n\nclass AuiSlot extends HTMLElement {\n\n _el_?: AuiComponent;\n _name_?: string;\n\n constructor() {\n super();\n }\n\n connectedCallback() {\n this.style.display = 'none';\n }\n\n set textContent(v: string) {\n if (this._name_) {\n this._el_?.$textContent(this._name_, v);\n } else {\n super.textContent = v;\n }\n }\n\n set innerHTML(v: string) {\n if (this._name_) {\n this._el_?.$innerHTML(this._name_, v);\n } else {\n super.innerHTML = v;\n }\n }\n\n prepend<T extends Node>(node: T): void {\n if (this._name_) {\n this._el_?.$prepend(this._name_, node);\n } else {\n super.prepend(node);\n }\n }\n\n appendChild<T extends Node>(node: T): T {\n if (this._name_) {\n this._el_?.$appendChild(this._name_, node);\n return node;\n } else {\n return super.appendChild(node);\n }\n }\n\n // ---------------------\n\n static $isAuiSlot(el: HTMLElement) {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return false;\n\n if (el.tagName.toLowerCase() === 'aui-slot') return true;\n\n return false;\n }\n\n static $isForAuiSlot(el: HTMLElement) {\n if (AuiSlot.$isAuiSlot(el) && el.hasAttribute('for')) return true;\n return false;\n }\n\n $bind(el: AuiComponent) {\n this._el_ = el;\n this._name_ = this.getAttribute('for') || 'default';\n }\n\n $replace(el: AuiComponent) {\n const name = this.getAttribute('name') || 'default';\n const start = document.createComment(`aui-slot-${name}-start`);\n const end = document.createComment(`aui-slot-${name}-end`);\n\n el.$slot(name, { start, end });\n this.replaceWith(start, end);\n }\n}\n\nconst _M = {\n init() {\n _M.defineSlot();\n return _M;\n },\n defineSlot() {\n _M.defineCustomElement('aui-slot', AuiSlot);\n },\n $call(ref: Record<string, any>, name?: string, ...args: any[]): any {\n\n if (!ref) {\n return new Error('not init');\n }\n\n if (!name) return ref;\n\n if (typeof ref[name] === 'function') {\n return ref[name].call(ref, ...args);\n }\n\n const sp = name.split('.');\n let target = ref, last = sp.pop() || '', cur = null;\n\n while (cur = sp.shift()) {\n if (Object.prototype.hasOwnProperty.call(target, cur)) {\n target = target[cur];\n } else {\n return new Error('no match name');\n }\n }\n\n if (args.length === 0) {\n return target[last];\n } else {\n target[last] = args[0];\n return null;\n }\n\n },\n formatName(name: string | undefined): string {\n if (!name) {\n return '';\n }\n name = name.replace(/[A-Z]/g, function (s) {\n return '-' + s.toLowerCase();\n });\n return TAG_PREFIX + name;\n },\n cache: {\n defined: getGlobalAuiCore().defined,\n getAuiVueDefined(tagName: string): AUI_VUE_DEFINE_CACHE | undefined {\n tagName = tagName.toLowerCase();\n return _M.cache.defined[tagName];\n },\n getAuiPropNames(tagName: string): string[] {\n const auiVueDefined = _M.cache.getAuiVueDefined(tagName);\n const props = (auiVueDefined?.origin as any)?.props || {};\n const names = [];\n for (const key in props) {\n names.push(_M.auiAttrName(key));\n }\n return names;\n },\n addHooks(name: string, handle: HookHandler) {\n name = name.toLowerCase();\n const auiVueDefined = _M.cache.getAuiVueDefined(name);\n if (auiVueDefined) {\n auiVueDefined.hooks = auiVueDefined.hooks || [];\n auiVueDefined.hooks.push(handle);\n } else {\n _M.cache.defined[name] = {\n hooks: [handle],\n }\n }\n }\n },\n createExtendComp(v: Component): Component {\n return defineComponent({\n props: {\n auix: {\n type: String,\n },\n value: {\n type: (v as any).props?.value?.type || [String, Number, Array],\n }\n },\n methods: {\n $anyToArray: AuiComponent.$anyToArray,\n $value(...args: any[]) {\n const $aui = this.$aui();\n if (args.length === 0) {\n return $aui?.value;\n } else {\n if ($aui) {\n $aui.value = args[0];\n }\n }\n },\n $call(name?: string, ...args: any[]): any {\n const $aui = this.$aui();\n if (!$aui) return null;\n return _M.$call($aui, name, ...args);\n },\n $aui(): AuiComponent | null {\n return this.$el?.parentNode;\n },\n },\n data() {\n return {\n\n }\n }\n })\n },\n patchDefaultProps(origin: Component): any {\n\n const valueType = (origin as any).props?.value?.type;\n\n if (!(origin as any).mixins) {\n (origin as any).mixins = [];\n }\n\n (origin as any).mixins.push(_M.createExtendComp(origin));\n\n return valueType;\n\n },\n defineAuiComponent(tagName: string, component: Component, origin: Component) {\n\n const valueType = _M.patchDefaultProps(origin);\n\n if (!_M.cache.defined[tagName]?.origin) {\n class AuiChild extends AuiComponent {\n constructor() {\n super({ valueType });\n }\n\n static get observedAttributes() {\n return _M.cache.getAuiPropNames(tagName);\n }\n\n }\n\n _M.cache.defined[tagName] = {\n aui: AuiChild,\n vue: component,\n origin,\n hooks: _M.cache.defined[tagName]?.hooks || [],\n };\n\n _M.defineCustomElement(tagName, AuiChild);\n\n } else {\n _M.cache.defined[tagName].origin = origin;\n }\n },\n\n defineCustomElement(tagName: string, cls: any) {\n try {\n customElements.define(tagName, cls);\n } catch (_) {\n // console.warn('defineCustomElement error', error);\n }\n },\n\n sameComponent(tagName: string, v: any): boolean {\n if (!Object.prototype.hasOwnProperty.call(v, '__hmrId')) return false;\n const auiVueDefined = _M.cache.getAuiVueDefined(tagName);\n const origin = auiVueDefined?.origin as any;\n if (!origin) return false;\n return v.__hmrId === origin.__hmrId;\n },\n\n notifyComponentUpdate(tagName: string) {\n const comps = document.querySelectorAll(tagName) as NodeListOf<AuiComponent>;\n comps.forEach((comp) => {\n comp.$forceUpdate();\n });\n },\n\n define(v: Component, force: boolean = true): Component {\n const tagName = _M.formatName(v.name);\n\n // console.log('define aui comp, name is', tagName);\n\n if (!tagName) {\n console.warn('当前组件不符合AUI定义');\n return v;\n }\n\n const auiVueDefined = _M.cache.getAuiVueDefined(tagName);\n\n if (auiVueDefined && auiVueDefined.vue) {\n if (force || _M.sameComponent(tagName, v)) {\n console.log('aui组件更新origin定义');\n _M.defineAuiComponent(tagName, auiVueDefined.vue, v);\n _M.notifyComponentUpdate(tagName);\n } else {\n console.warn('AUI组件已经被定义,当前组件将被舍弃,将返回已定义的组件,如需覆盖组件,请添加force: true');\n }\n\n return auiVueDefined.vue;\n }\n\n const wrappedComponent = _M.createVueComponent(tagName);\n\n _M.defineAuiComponent(tagName, wrappedComponent, v);\n\n return wrappedComponent;\n },\n createTempSlot(children: SlotElement): any {\n const ret = {} as { [key: string]: any };\n Object.keys(children).forEach((name) => {\n ret[name] = () => h('aui-slot', { name });\n });\n return ret;\n },\n replaceTempSlot(el: AuiComponent, children: SlotElement) {\n const names = Object.keys(children);\n names.forEach((name) => {\n const slot = el.querySelector(`aui-slot[name=\"${name}\"]`) as AuiSlot | null;\n if (slot) {\n AuiSlot.prototype.$replace.call(slot, el);\n el.$replaceChildren(name, children[name]);\n }\n });\n\n },\n createVueComponent(tagName: string, el?: AuiComponent): Component {\n\n const children = el ? el.$moveChildren() : { default: [] };\n\n const wrappedComponent = {\n setup() {\n const attrs = useAttrs()\n const vueComponentRef = shallowRef<any>(null)\n const elementRef = shallowRef<AuiComponent | null>(null)\n const selfAttrs = ref<Record<string, any>>({})\n const slotsRef = shallowRef<any>(el ? _M.createTempSlot(children) : useSlots())\n const target = shallowRef<Component | null>(null);\n\n onMounted(() => {\n if (vueComponentRef.value && elementRef.value && elementRef.value.$bindVue) {\n elementRef.value.$bindVue(vueComponentRef.value);\n\n el && _M.replaceTempSlot(el, children);\n\n // 监听属性变化事件\n elementRef.value.addEventListener('aui-attr-change', () => {\n if (elementRef.value) {\n selfAttrs.value = _M.getAuiAttrs(elementRef.value);\n }\n });\n\n // 监听自定义强制更新事件\n elementRef.value.addEventListener('aui-force-update', () => {\n target.value = null;\n });\n\n elementRef.value.$call('$emit', 'update:value', elementRef.value.value);\n } else {\n console.warn('AUI组件绑定失败');\n }\n })\n\n onUpdated(() => {\n if (elementRef.value) {\n elementRef.value.$slotReplace();\n }\n })\n\n return () => {\n\n if (el) {\n elementRef.value = el;\n selfAttrs.value = _M.getAuiAttrs(el);\n }\n\n if (!target.value) {\n (target as any).value = _M.formatStructure(tagName);\n }\n\n if (!target.value) {\n console.warn('AUI组件未定义,加载失败,name:', tagName);\n return null;\n }\n\n const trueComp = h(target.value, { ...attrs, ...selfAttrs.value, ref: vueComponentRef }, slotsRef.value || {});\n\n const ret = el ? trueComp : h(tagName, { ref: elementRef, [AUI_ATTR_FLAG]: '' }, [\n trueComp\n ]);\n\n return ret;\n }\n }\n };\n\n return wrappedComponent;\n },\n getAuiAttrs(el: AuiComponent): Record<string, any> {\n\n const attrs = {} as Record<string, any>;\n\n const attributes = el.attributes;\n\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes[i];\n // 跳过 aui 和 vue 标记属性\n if (attr.name === TAG_PREFIX || _M.isVueAttr(attr.name)) continue;\n attrs[attr.name] = attr.value;\n }\n\n if (el.value !== null) {\n attrs.value = el.value;\n }\n\n return attrs;\n },\n isVueAttr(name: string): boolean {\n return name.indexOf('data-v-') === 0;\n },\n auiAttrName(name: string): string {\n return name.replace(/([A-Z])/g, (a) => '-' + a.toLowerCase());\n },\n vueAttrName(name: string): string {\n if (_M.isVueAttr(name)) return name;\n return name.replace(/-([a-z])/g, (_, s1) => s1.toUpperCase());\n },\n hookStructure(name: string, handle: HookHandler) {\n _M.cache.addHooks(name, handle);\n },\n getHookStructure(name: string): HookHandler[] {\n const auiVueDefined = _M.cache.getAuiVueDefined(name);\n const hooks = auiVueDefined?.hooks || [];\n return hooks.slice(0);\n },\n formatStructure(tagName: string): Component | null {\n const auiVueDefined = _M.cache.getAuiVueDefined(tagName);\n if (!auiVueDefined?.origin) {\n return null;\n }\n let origin = merge({}, auiVueDefined.origin) as Component;\n const hooks = _M.getHookStructure(tagName);\n let handle;\n while (handle = hooks.shift()) {\n const cur = handle(origin);\n if (cur) {\n origin = cur;\n }\n }\n\n return origin;\n }\n};\n\nexport default _M.init();"],"names":["_a","_b","TAG_PREFIX","__AUI_CONFIG__","tagPrefix","AUI_ATTR_FLAG","shadowSymbol","Symbol","AuiComponent","HTMLElement","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","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","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","auix","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","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":"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"}
@@ -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 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}},{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 const cwd = path.dirname(id);\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","files","glob","sync","length","codes","forEach","file","index","filePath","join","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,YAkCpB,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,CA1EN,CACLf,KAAM,oBACNgB,QAAS,MACT,SAAAC,CAAUC,EAAMhB,GACd,GAAIA,EAAGiB,SAAS,kBAAmB,CAEjC,QAAID,EAAKE,QAAQzB,SACT,IAAI0B,MAAM,yBAAyB1B,SAE3C,MAAM2B,EAAMC,EAAK9B,QAAQS,GACnBsB,EAAkBC,EAAAA,KAAKC,KAAK,eAAgB,CAChDJ,QAGF,GAAqB,IAAjBE,EAAMG,OAAc,OAAO,KAE/B,MAAMC,EAAkB,GAOxB,OANAJ,EAAMK,QAAQ,CAACC,EAAMC,KACnB,MAAMC,EAAWT,EAAKU,KAAKX,EAAKQ,GAAMI,QAAQ,MAAO,KACrDN,EAAMO,KAAK,UAAUzC,IAAgBqC,WAAeC,OACpDJ,EAAMO,KAAK,iCAAiCzC,IAAgBqC,KAASA,aAAiBC,SAExFJ,EAAMO,KAAKjB,EAAKgB,QAAQvC,EAjChC,SAAoB6B,GAClB,MAAMI,EAAkB,GAIxB,OAHAJ,EAAMK,QAAQ,CAACO,EAAGL,KAChBH,EAAMO,KAAK,IAAIzC,IAAgBqC,KAASA,YAAgBrC,IAAgBqC,OAEnEH,EAAMK,KAAK,KACpB,CANA,CAiCwDT,KACzC,CAAEN,KAAMU,EAAMK,KAAK,MAC5B,CACA,OAAO,IACT,GAlEK,CACLjC,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,EAAGN,KAAK,kBAENQ,EAElB,CACA,OAAO,IACT,GA4F+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"}