@dooboostore/simple-web-component 1.0.19 → 1.0.21

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.
Files changed (146) hide show
  1. package/README.md +2028 -146
  2. package/dist/cjs/decorators/addEventListener.js +4 -4
  3. package/dist/cjs/decorators/addEventListener.js.map +2 -2
  4. package/dist/cjs/decorators/appendChild.js +4 -4
  5. package/dist/cjs/decorators/appendChild.js.map +2 -2
  6. package/dist/cjs/decorators/attribute.js +141 -0
  7. package/dist/cjs/decorators/attribute.js.map +7 -0
  8. package/dist/cjs/decorators/changedAttribute.js +5 -5
  9. package/dist/cjs/decorators/changedAttribute.js.map +2 -2
  10. package/dist/cjs/decorators/classList.js +4 -4
  11. package/dist/cjs/decorators/classList.js.map +2 -2
  12. package/dist/cjs/decorators/elementDefine.js +36 -9
  13. package/dist/cjs/decorators/elementDefine.js.map +3 -3
  14. package/dist/cjs/decorators/emitCustomEvent.js +4 -4
  15. package/dist/cjs/decorators/emitCustomEvent.js.map +2 -2
  16. package/dist/cjs/decorators/index.js +1 -0
  17. package/dist/cjs/decorators/index.js.map +2 -2
  18. package/dist/cjs/decorators/lifecycles.js +4 -4
  19. package/dist/cjs/decorators/lifecycles.js.map +2 -2
  20. package/dist/cjs/decorators/onConnectedInnerHtml.js +4 -4
  21. package/dist/cjs/decorators/onConnectedInnerHtml.js.map +2 -2
  22. package/dist/cjs/decorators/query.js +4 -4
  23. package/dist/cjs/decorators/query.js.map +2 -2
  24. package/dist/cjs/decorators/queryAll.js +4 -4
  25. package/dist/cjs/decorators/queryAll.js.map +2 -2
  26. package/dist/cjs/decorators/replaceChildren.js +5 -5
  27. package/dist/cjs/decorators/replaceChildren.js.map +2 -2
  28. package/dist/cjs/decorators/setAttribute.js +46 -20
  29. package/dist/cjs/decorators/setAttribute.js.map +2 -2
  30. package/dist/cjs/decorators/style.js +4 -4
  31. package/dist/cjs/decorators/style.js.map +2 -2
  32. package/dist/cjs/elements/SwcAppEngine.js +8 -8
  33. package/dist/cjs/elements/SwcAppEngine.js.map +3 -3
  34. package/dist/cjs/elements/SwcAppMixin.js +28 -1
  35. package/dist/cjs/elements/SwcAppMixin.js.map +2 -2
  36. package/dist/cjs/elements/SwcAsync.js +4 -4
  37. package/dist/cjs/elements/SwcAsync.js.map +2 -2
  38. package/dist/cjs/elements/SwcChoose.js +4 -4
  39. package/dist/cjs/elements/SwcChoose.js.map +2 -2
  40. package/dist/cjs/elements/SwcIf.js +4 -4
  41. package/dist/cjs/elements/SwcIf.js.map +2 -2
  42. package/dist/cjs/elements/SwcLoop.js +4 -4
  43. package/dist/cjs/elements/SwcLoop.js.map +2 -2
  44. package/dist/cjs/elements/register.js +13 -13
  45. package/dist/cjs/elements/register.js.map +2 -2
  46. package/dist/cjs/index.js +1 -0
  47. package/dist/cjs/index.js.map +2 -2
  48. package/dist/cjs/router/ElementRouter.js +7 -7
  49. package/dist/cjs/router/ElementRouter.js.map +2 -2
  50. package/dist/cjs/types.js.map +1 -1
  51. package/dist/esm/decorators/addEventListener.js +1 -1
  52. package/dist/esm/decorators/addEventListener.js.map +1 -1
  53. package/dist/esm/decorators/appendChild.js +1 -1
  54. package/dist/esm/decorators/appendChild.js.map +1 -1
  55. package/dist/esm/decorators/attribute.js +122 -0
  56. package/dist/esm/decorators/attribute.js.map +7 -0
  57. package/dist/esm/decorators/changedAttribute.js +1 -1
  58. package/dist/esm/decorators/changedAttribute.js.map +1 -1
  59. package/dist/esm/decorators/classList.js +1 -1
  60. package/dist/esm/decorators/classList.js.map +1 -1
  61. package/dist/esm/decorators/elementDefine.js +31 -4
  62. package/dist/esm/decorators/elementDefine.js.map +2 -2
  63. package/dist/esm/decorators/emitCustomEvent.js +1 -1
  64. package/dist/esm/decorators/emitCustomEvent.js.map +1 -1
  65. package/dist/esm/decorators/index.js +1 -0
  66. package/dist/esm/decorators/index.js.map +2 -2
  67. package/dist/esm/decorators/lifecycles.js +1 -1
  68. package/dist/esm/decorators/lifecycles.js.map +1 -1
  69. package/dist/esm/decorators/onConnectedInnerHtml.js +1 -1
  70. package/dist/esm/decorators/onConnectedInnerHtml.js.map +1 -1
  71. package/dist/esm/decorators/query.js +1 -1
  72. package/dist/esm/decorators/query.js.map +1 -1
  73. package/dist/esm/decorators/queryAll.js +1 -1
  74. package/dist/esm/decorators/queryAll.js.map +1 -1
  75. package/dist/esm/decorators/replaceChildren.js +1 -1
  76. package/dist/esm/decorators/replaceChildren.js.map +1 -1
  77. package/dist/esm/decorators/setAttribute.js +42 -16
  78. package/dist/esm/decorators/setAttribute.js.map +2 -2
  79. package/dist/esm/decorators/style.js +1 -1
  80. package/dist/esm/decorators/style.js.map +1 -1
  81. package/dist/esm/elements/SwcAppEngine.js +4 -4
  82. package/dist/esm/elements/SwcAppEngine.js.map +2 -2
  83. package/dist/esm/elements/SwcAppMixin.js +28 -1
  84. package/dist/esm/elements/SwcAppMixin.js.map +2 -2
  85. package/dist/esm/elements/SwcAsync.js +1 -1
  86. package/dist/esm/elements/SwcAsync.js.map +1 -1
  87. package/dist/esm/elements/SwcChoose.js +1 -1
  88. package/dist/esm/elements/SwcChoose.js.map +1 -1
  89. package/dist/esm/elements/SwcIf.js +1 -1
  90. package/dist/esm/elements/SwcIf.js.map +1 -1
  91. package/dist/esm/elements/SwcLoop.js +1 -1
  92. package/dist/esm/elements/SwcLoop.js.map +1 -1
  93. package/dist/esm/elements/register.js +1 -1
  94. package/dist/esm/elements/register.js.map +1 -1
  95. package/dist/esm/index.js +1 -0
  96. package/dist/esm/index.js.map +2 -2
  97. package/dist/esm/router/ElementRouter.js +2 -2
  98. package/dist/esm/router/ElementRouter.js.map +1 -1
  99. package/dist/esm/types.js.map +1 -1
  100. package/dist/esm-bundle/dooboostore-simple-web-component.esm.js +5910 -3839
  101. package/dist/esm-bundle/dooboostore-simple-web-component.esm.js.map +4 -4
  102. package/dist/types/decorators/attribute.d.ts +23 -0
  103. package/dist/types/decorators/attribute.d.ts.map +1 -0
  104. package/dist/types/decorators/elementDefine.d.ts.map +1 -1
  105. package/dist/types/decorators/index.d.ts +1 -0
  106. package/dist/types/decorators/index.d.ts.map +1 -1
  107. package/dist/types/decorators/setAttribute.d.ts +3 -0
  108. package/dist/types/decorators/setAttribute.d.ts.map +1 -1
  109. package/dist/types/elements/SwcAppEngine.d.ts +5 -4
  110. package/dist/types/elements/SwcAppEngine.d.ts.map +1 -1
  111. package/dist/types/elements/SwcAppMixin.d.ts +1 -1
  112. package/dist/types/elements/SwcAppMixin.d.ts.map +1 -1
  113. package/dist/types/index.d.ts +1 -0
  114. package/dist/types/index.d.ts.map +1 -1
  115. package/dist/types/router/ElementRouter.d.ts +1 -1
  116. package/dist/types/router/ElementRouter.d.ts.map +1 -1
  117. package/dist/types/types.d.ts +2 -1
  118. package/dist/types/types.d.ts.map +1 -1
  119. package/dist/umd-bundle/dooboostore-simple-web-component.umd.js +5910 -3839
  120. package/dist/umd-bundle/dooboostore-simple-web-component.umd.js.map +4 -4
  121. package/package.json +10 -5
  122. package/src/decorators/addEventListener.ts +1 -1
  123. package/src/decorators/appendChild.ts +1 -1
  124. package/src/decorators/attribute.ts +158 -0
  125. package/src/decorators/changedAttribute.ts +1 -1
  126. package/src/decorators/classList.ts +1 -1
  127. package/src/decorators/elementDefine.ts +38 -5
  128. package/src/decorators/emitCustomEvent.ts +1 -1
  129. package/src/decorators/index.ts +1 -0
  130. package/src/decorators/lifecycles.ts +1 -1
  131. package/src/decorators/onConnectedInnerHtml.ts +1 -1
  132. package/src/decorators/query.ts +1 -1
  133. package/src/decorators/queryAll.ts +1 -1
  134. package/src/decorators/replaceChildren.ts +1 -1
  135. package/src/decorators/setAttribute.ts +49 -17
  136. package/src/decorators/style.ts +1 -1
  137. package/src/elements/SwcAppEngine.ts +9 -8
  138. package/src/elements/SwcAppMixin.ts +32 -1
  139. package/src/elements/SwcAsync.ts +1 -1
  140. package/src/elements/SwcChoose.ts +1 -1
  141. package/src/elements/SwcIf.ts +1 -1
  142. package/src/elements/SwcLoop.ts +1 -1
  143. package/src/elements/register.ts +1 -1
  144. package/src/index.ts +3 -2
  145. package/src/router/ElementRouter.ts +2 -2
  146. package/src/types.ts +2 -1
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/elements/SwcLoop.ts"],
4
- "sourcesContent": ["import { changedAttribute } from '../decorators/changedAttribute';\nimport { SwcUtils } from '../utils/Utils';\nimport { FunctionUtils } from '@dooboostore/core/function/FunctionUtils';\n\nexport class SwcLoop extends HTMLTemplateElement {\n private _value: any[] = [];\n private _nodeGroups: Node[][] = [];\n\n get value(): any[] {\n return this._value;\n }\n set value(nv: any[]) {\n this._value = Array.isArray(nv) ? [...nv] : [];\n this.render();\n }\n\n private _resolvePortal(): Element | null {\n const portalScript = this.getAttribute('on-get-portal');\n if (!portalScript) return this.parentElement;\n\n const win = this.ownerDocument?.defaultView || window;\n const res = FunctionUtils.executeReturn({\n script: portalScript,\n context: this,\n args: SwcUtils.getHelperAndHostSet(win, this)\n });\n\n if (res instanceof HTMLElement) return res;\n if (typeof res === 'string') return win.document.querySelector(res);\n return this.parentElement;\n }\n\n private _executeCloneCallback(attr: string, args: any) {\n const script = this.getAttribute(attr);\n if (!script) return;\n FunctionUtils.execute({ script, context: this, args });\n }\n\n private _cleanup() {\n this._nodeGroups.forEach(nodes => nodes.forEach(n => n.parentElement?.removeChild(n)));\n this._nodeGroups = [];\n }\n\n @changedAttribute('on-get-value')\n private refreshValue() {\n const script = this.getAttribute('on-get-value');\n if (!script) {\n this.value = [];\n return;\n }\n const win = this.ownerDocument?.defaultView || window;\n const res = FunctionUtils.executeReturn({\n script,\n context: this,\n args: SwcUtils.getHelperAndHostSet(win, this)\n });\n\n if (res instanceof Promise) {\n res.then(v => (this.value = v)).catch(() => (this.value = []));\n } else {\n this.value = res;\n }\n }\n\n render() {\n this._cleanup();\n const portal = this._resolvePortal();\n if (!portal) return;\n\n const win = this.ownerDocument?.defaultView || window;\n const helperSet = SwcUtils.getHelperAndHostSet(win, this);\n const fragment = win.document.createDocumentFragment();\n\n if (this._value.length === 0) {\n const defaultTpl = this.content.querySelector('template[is=\"swc-default\"]') as HTMLTemplateElement;\n if (defaultTpl) {\n const clone = defaultTpl.content.cloneNode(true);\n const nodes = Array.from(clone.childNodes);\n this._nodeGroups.push(nodes);\n fragment.appendChild(clone);\n }\n } else {\n this._value.forEach((item, index) => {\n const clone = this.content.cloneNode(true) as DocumentFragment;\n // Filter out sub-templates\n const subTemplates = clone.querySelectorAll('template[is^=\"swc-\"]');\n subTemplates.forEach(t => t.remove());\n\n const nodes = Array.from(clone.childNodes);\n const elements = nodes.filter(n => n.nodeType === 1) as HTMLElement[];\n\n const groupArgs = { ...helperSet, $item: item, $index: index, $value: this._value, $nodes: nodes, $elements: elements, $firstElement: elements[0] };\n\n nodes.forEach((node, nodeIdx) => {\n if (node instanceof HTMLElement) (node as any).__swc_host = this;\n this._executeCloneCallback('on-clone-node', { ...groupArgs, $node: node, $nodeIndex: nodeIdx, $isElement: node.nodeType === 1 });\n });\n\n this._executeCloneCallback('on-clone-nodes', groupArgs);\n this._nodeGroups.push(nodes);\n fragment.appendChild(clone);\n });\n }\n\n if (portal === this.parentElement) {\n portal.insertBefore(fragment, this.nextSibling);\n } else {\n portal.appendChild(fragment);\n }\n }\n\n connectedCallback() {\n this.refreshValue();\n }\n disconnectedCallback() {\n this._cleanup();\n }\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { changedAttribute } from '../decorators/changedAttribute';\nimport { SwcUtils } from '../utils/Utils';\nimport { FunctionUtils } from '@dooboostore/core';\n\nexport class SwcLoop extends HTMLTemplateElement {\n private _value: any[] = [];\n private _nodeGroups: Node[][] = [];\n\n get value(): any[] {\n return this._value;\n }\n set value(nv: any[]) {\n this._value = Array.isArray(nv) ? [...nv] : [];\n this.render();\n }\n\n private _resolvePortal(): Element | null {\n const portalScript = this.getAttribute('on-get-portal');\n if (!portalScript) return this.parentElement;\n\n const win = this.ownerDocument?.defaultView || window;\n const res = FunctionUtils.executeReturn({\n script: portalScript,\n context: this,\n args: SwcUtils.getHelperAndHostSet(win, this)\n });\n\n if (res instanceof HTMLElement) return res;\n if (typeof res === 'string') return win.document.querySelector(res);\n return this.parentElement;\n }\n\n private _executeCloneCallback(attr: string, args: any) {\n const script = this.getAttribute(attr);\n if (!script) return;\n FunctionUtils.execute({ script, context: this, args });\n }\n\n private _cleanup() {\n this._nodeGroups.forEach(nodes => nodes.forEach(n => n.parentElement?.removeChild(n)));\n this._nodeGroups = [];\n }\n\n @changedAttribute('on-get-value')\n private refreshValue() {\n const script = this.getAttribute('on-get-value');\n if (!script) {\n this.value = [];\n return;\n }\n const win = this.ownerDocument?.defaultView || window;\n const res = FunctionUtils.executeReturn({\n script,\n context: this,\n args: SwcUtils.getHelperAndHostSet(win, this)\n });\n\n if (res instanceof Promise) {\n res.then(v => (this.value = v)).catch(() => (this.value = []));\n } else {\n this.value = res;\n }\n }\n\n render() {\n this._cleanup();\n const portal = this._resolvePortal();\n if (!portal) return;\n\n const win = this.ownerDocument?.defaultView || window;\n const helperSet = SwcUtils.getHelperAndHostSet(win, this);\n const fragment = win.document.createDocumentFragment();\n\n if (this._value.length === 0) {\n const defaultTpl = this.content.querySelector('template[is=\"swc-default\"]') as HTMLTemplateElement;\n if (defaultTpl) {\n const clone = defaultTpl.content.cloneNode(true);\n const nodes = Array.from(clone.childNodes);\n this._nodeGroups.push(nodes);\n fragment.appendChild(clone);\n }\n } else {\n this._value.forEach((item, index) => {\n const clone = this.content.cloneNode(true) as DocumentFragment;\n // Filter out sub-templates\n const subTemplates = clone.querySelectorAll('template[is^=\"swc-\"]');\n subTemplates.forEach(t => t.remove());\n\n const nodes = Array.from(clone.childNodes);\n const elements = nodes.filter(n => n.nodeType === 1) as HTMLElement[];\n\n const groupArgs = { ...helperSet, $item: item, $index: index, $value: this._value, $nodes: nodes, $elements: elements, $firstElement: elements[0] };\n\n nodes.forEach((node, nodeIdx) => {\n if (node instanceof HTMLElement) (node as any).__swc_host = this;\n this._executeCloneCallback('on-clone-node', { ...groupArgs, $node: node, $nodeIndex: nodeIdx, $isElement: node.nodeType === 1 });\n });\n\n this._executeCloneCallback('on-clone-nodes', groupArgs);\n this._nodeGroups.push(nodes);\n fragment.appendChild(clone);\n });\n }\n\n if (portal === this.parentElement) {\n portal.insertBefore(fragment, this.nextSibling);\n } else {\n portal.appendChild(fragment);\n }\n }\n\n connectedCallback() {\n this.refreshValue();\n }\n disconnectedCallback() {\n this._cleanup();\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA,8BAAiC;AACjC,mBAAyB;AACzB,kBAA8B;;;;;;;;;;AAExB,MAAO,gBAAgB,oBAAmB;EAAhD,cAAA;;AACU,SAAA,SAAgB,CAAA;AAChB,SAAA,cAAwB,CAAA;EA+GlC;EA7GE,IAAI,QAAK;AACP,WAAO,KAAK;EACd;EACA,IAAI,MAAM,IAAS;AACjB,SAAK,SAAS,MAAM,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAA;AAC5C,SAAK,OAAM;EACb;EAEQ,iBAAc;AACpB,UAAM,eAAe,KAAK,aAAa,eAAe;AACtD,QAAI,CAAC;AAAc,aAAO,KAAK;AAE/B,UAAM,MAAM,KAAK,eAAe,eAAe;AAC/C,UAAM,MAAM,0BAAc,cAAc;MACtC,QAAQ;MACR,SAAS;MACT,MAAM,sBAAS,oBAAoB,KAAK,IAAI;KAC7C;AAED,QAAI,eAAe;AAAa,aAAO;AACvC,QAAI,OAAO,QAAQ;AAAU,aAAO,IAAI,SAAS,cAAc,GAAG;AAClE,WAAO,KAAK;EACd;EAEQ,sBAAsB,MAAc,MAAS;AACnD,UAAM,SAAS,KAAK,aAAa,IAAI;AACrC,QAAI,CAAC;AAAQ;AACb,8BAAc,QAAQ,EAAE,QAAQ,SAAS,MAAM,KAAI,CAAE;EACvD;EAEQ,WAAQ;AACd,SAAK,YAAY,QAAQ,WAAS,MAAM,QAAQ,OAAK,EAAE,eAAe,YAAY,CAAC,CAAC,CAAC;AACrF,SAAK,cAAc,CAAA;EACrB;EAGQ,eAAY;AAClB,UAAM,SAAS,KAAK,aAAa,cAAc;AAC/C,QAAI,CAAC,QAAQ;AACX,WAAK,QAAQ,CAAA;AACb;IACF;AACA,UAAM,MAAM,KAAK,eAAe,eAAe;AAC/C,UAAM,MAAM,0BAAc,cAAc;MACtC;MACA,SAAS;MACT,MAAM,sBAAS,oBAAoB,KAAK,IAAI;KAC7C;AAED,QAAI,eAAe,SAAS;AAC1B,UAAI,KAAK,OAAM,KAAK,QAAQ,CAAE,EAAE,MAAM,MAAO,KAAK,QAAQ,CAAA,CAAG;IAC/D,OAAO;AACL,WAAK,QAAQ;IACf;EACF;EAEA,SAAM;AACJ,SAAK,SAAQ;AACb,UAAM,SAAS,KAAK,eAAc;AAClC,QAAI,CAAC;AAAQ;AAEb,UAAM,MAAM,KAAK,eAAe,eAAe;AAC/C,UAAM,YAAY,sBAAS,oBAAoB,KAAK,IAAI;AACxD,UAAM,WAAW,IAAI,SAAS,uBAAsB;AAEpD,QAAI,KAAK,OAAO,WAAW,GAAG;AAC5B,YAAM,aAAa,KAAK,QAAQ,cAAc,4BAA4B;AAC1E,UAAI,YAAY;AACd,cAAM,QAAQ,WAAW,QAAQ,UAAU,IAAI;AAC/C,cAAM,QAAQ,MAAM,KAAK,MAAM,UAAU;AACzC,aAAK,YAAY,KAAK,KAAK;AAC3B,iBAAS,YAAY,KAAK;MAC5B;IACF,OAAO;AACL,WAAK,OAAO,QAAQ,CAAC,MAAM,UAAS;AAClC,cAAM,QAAQ,KAAK,QAAQ,UAAU,IAAI;AAEzC,cAAM,eAAe,MAAM,iBAAiB,sBAAsB;AAClE,qBAAa,QAAQ,OAAK,EAAE,OAAM,CAAE;AAEpC,cAAM,QAAQ,MAAM,KAAK,MAAM,UAAU;AACzC,cAAM,WAAW,MAAM,OAAO,OAAK,EAAE,aAAa,CAAC;AAEnD,cAAM,YAAY,EAAE,GAAG,WAAW,OAAO,MAAM,QAAQ,OAAO,QAAQ,KAAK,QAAQ,QAAQ,OAAO,WAAW,UAAU,eAAe,SAAS,CAAC,EAAC;AAEjJ,cAAM,QAAQ,CAAC,MAAM,YAAW;AAC9B,cAAI,gBAAgB;AAAc,iBAAa,aAAa;AAC5D,eAAK,sBAAsB,iBAAiB,EAAE,GAAG,WAAW,OAAO,MAAM,YAAY,SAAS,YAAY,KAAK,aAAa,EAAC,CAAE;QACjI,CAAC;AAED,aAAK,sBAAsB,kBAAkB,SAAS;AACtD,aAAK,YAAY,KAAK,KAAK;AAC3B,iBAAS,YAAY,KAAK;MAC5B,CAAC;IACH;AAEA,QAAI,WAAW,KAAK,eAAe;AACjC,aAAO,aAAa,UAAU,KAAK,WAAW;IAChD,OAAO;AACL,aAAO,YAAY,QAAQ;IAC7B;EACF;EAEA,oBAAiB;AACf,SAAK,aAAY;EACnB;EACA,uBAAoB;AAClB,SAAK,SAAQ;EACf;;AAxEQ,WAAA;MADP,0CAAiB,cAAc;;;;;",
6
6
  "names": []
7
7
  }
@@ -23,7 +23,7 @@ module.exports = __toCommonJS(register_exports);
23
23
  var import_elementDefine = require("../decorators/elementDefine");
24
24
  var import_SwcAppMixin = require("./SwcAppMixin");
25
25
  var import_Utils = require("../utils/Utils");
26
- var import_FunctionUtils = require("@dooboostore/core/function/FunctionUtils");
26
+ var import_core = require("@dooboostore/core");
27
27
  var import_changedAttribute = require("../decorators/changedAttribute");
28
28
  var __decorate = function(decorators, target, key, desc) {
29
29
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -150,7 +150,7 @@ const registerAllElements = (w) => {
150
150
  if (!portalScript)
151
151
  return this.parentElement;
152
152
  const win = this.ownerDocument?.defaultView || window;
153
- const res = import_FunctionUtils.FunctionUtils.executeReturn({
153
+ const res = import_core.FunctionUtils.executeReturn({
154
154
  script: portalScript,
155
155
  context: this,
156
156
  args: import_Utils.SwcUtils.getHelperAndHostSet(win, this)
@@ -165,7 +165,7 @@ const registerAllElements = (w) => {
165
165
  const script = this.getAttribute(attr);
166
166
  if (!script)
167
167
  return;
168
- import_FunctionUtils.FunctionUtils.execute({ script, context: this, args });
168
+ import_core.FunctionUtils.execute({ script, context: this, args });
169
169
  }
170
170
  refreshValue() {
171
171
  const script = this.getAttribute("on-get-value");
@@ -174,7 +174,7 @@ const registerAllElements = (w) => {
174
174
  return;
175
175
  }
176
176
  const win = this.ownerDocument?.defaultView || window;
177
- const res = import_FunctionUtils.FunctionUtils.executeReturn({
177
+ const res = import_core.FunctionUtils.executeReturn({
178
178
  script,
179
179
  context: this,
180
180
  args: import_Utils.SwcUtils.getHelperAndHostSet(win, this)
@@ -257,7 +257,7 @@ const registerAllElements = (w) => {
257
257
  if (!portalScript)
258
258
  return this.parentElement;
259
259
  const win = this.ownerDocument?.defaultView || window;
260
- const res = import_FunctionUtils.FunctionUtils.executeReturn({
260
+ const res = import_core.FunctionUtils.executeReturn({
261
261
  script: portalScript,
262
262
  context: this,
263
263
  args: import_Utils.SwcUtils.getHelperAndHostSet(win, this)
@@ -272,7 +272,7 @@ const registerAllElements = (w) => {
272
272
  const script = this.getAttribute(attr);
273
273
  if (!script)
274
274
  return;
275
- import_FunctionUtils.FunctionUtils.execute({ script, context: this, args });
275
+ import_core.FunctionUtils.execute({ script, context: this, args });
276
276
  }
277
277
  _cleanup() {
278
278
  this._nodeGroups.forEach((nodes) => nodes.forEach((n) => n.parentElement?.removeChild(n)));
@@ -285,7 +285,7 @@ const registerAllElements = (w) => {
285
285
  return;
286
286
  }
287
287
  const win = this.ownerDocument?.defaultView || window;
288
- const res = import_FunctionUtils.FunctionUtils.executeReturn({
288
+ const res = import_core.FunctionUtils.executeReturn({
289
289
  script,
290
290
  context: this,
291
291
  args: import_Utils.SwcUtils.getHelperAndHostSet(win, this)
@@ -370,7 +370,7 @@ const registerAllElements = (w) => {
370
370
  if (!portalScript)
371
371
  return this.parentElement;
372
372
  const win = this.ownerDocument?.defaultView || window;
373
- const res = import_FunctionUtils.FunctionUtils.executeReturn({
373
+ const res = import_core.FunctionUtils.executeReturn({
374
374
  script: portalScript,
375
375
  context: this,
376
376
  args: import_Utils.SwcUtils.getHelperAndHostSet(win, this)
@@ -385,7 +385,7 @@ const registerAllElements = (w) => {
385
385
  const script = this.getAttribute(attr);
386
386
  if (!script)
387
387
  return;
388
- import_FunctionUtils.FunctionUtils.execute({ script, context: this, args });
388
+ import_core.FunctionUtils.execute({ script, context: this, args });
389
389
  }
390
390
  refresh() {
391
391
  const script = this.getAttribute("on-get-value");
@@ -394,7 +394,7 @@ const registerAllElements = (w) => {
394
394
  return;
395
395
  }
396
396
  const win = this.ownerDocument?.defaultView || window;
397
- const result = import_FunctionUtils.FunctionUtils.executeReturn({ script, context: this, args: import_Utils.SwcUtils.getHelperAndHostSet(win, this) });
397
+ const result = import_core.FunctionUtils.executeReturn({ script, context: this, args: import_Utils.SwcUtils.getHelperAndHostSet(win, this) });
398
398
  this.value = result;
399
399
  }
400
400
  render() {
@@ -462,7 +462,7 @@ const registerAllElements = (w) => {
462
462
  if (!portalScript)
463
463
  return this.parentElement;
464
464
  const win = this.ownerDocument?.defaultView || window;
465
- const res = import_FunctionUtils.FunctionUtils.executeReturn({
465
+ const res = import_core.FunctionUtils.executeReturn({
466
466
  script: portalScript,
467
467
  context: this,
468
468
  args: import_Utils.SwcUtils.getHelperAndHostSet(win, this)
@@ -477,14 +477,14 @@ const registerAllElements = (w) => {
477
477
  const script = this.getAttribute(attr);
478
478
  if (!script)
479
479
  return;
480
- import_FunctionUtils.FunctionUtils.execute({ script, context: this, args });
480
+ import_core.FunctionUtils.execute({ script, context: this, args });
481
481
  }
482
482
  refresh() {
483
483
  const script = this.getAttribute("on-get-value");
484
484
  if (!script)
485
485
  return;
486
486
  const win = this.ownerDocument?.defaultView || window;
487
- const result = import_FunctionUtils.FunctionUtils.executeReturn({ script, context: this, args: import_Utils.SwcUtils.getHelperAndHostSet(win, this) });
487
+ const result = import_core.FunctionUtils.executeReturn({ script, context: this, args: import_Utils.SwcUtils.getHelperAndHostSet(win, this) });
488
488
  if (result instanceof Promise) {
489
489
  this.render("loading");
490
490
  result.then((v) => {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/elements/register.ts"],
4
- "sourcesContent": ["import { elementDefine } from '../decorators/elementDefine';\nimport { SwcAppMixin } from './SwcAppMixin';\nimport { SwcUtils } from '../utils/Utils';\nimport { FunctionUtils } from '@dooboostore/core/function/FunctionUtils';\nimport { changedAttribute } from '../decorators/changedAttribute';\n\nexport const registerAllElements = (w: any) => {\n const {\n HTMLElement: _HTMLElement,\n HTMLTemplateElement: _HTMLTemplateElement,\n DocumentFragment: _DocumentFragment,\n Node: _Node,\n Element: _Element,\n HTMLAnchorElement: _HTMLAnchorElement,\n HTMLAreaElement: _HTMLAreaElement,\n HTMLAudioElement: _HTMLAudioElement,\n HTMLBaseElement: _HTMLBaseElement,\n HTMLButtonElement: _HTMLButtonElement,\n HTMLCanvasElement: _HTMLCanvasElement,\n HTMLDataElement: _HTMLDataElement,\n HTMLDataListElement: _HTMLDataListElement,\n HTMLDetailsElement: _HTMLDetailsElement,\n HTMLDialogElement: _HTMLDialogElement,\n HTMLDivElement: _HTMLDivElement,\n HTMLDListElement: _HTMLDListElement,\n HTMLEmbedElement: _HTMLEmbedElement,\n HTMLFieldSetElement: _HTMLFieldSetElement,\n HTMLFormElement: _HTMLFormElement,\n HTMLHRElement: _HTMLHRElement,\n HTMLIFrameElement: _HTMLIFrameElement,\n HTMLImageElement: _HTMLImageElement,\n HTMLInputElement: _HTMLInputElement,\n HTMLLabelElement: _HTMLLabelElement,\n HTMLLegendElement: _HTMLLegendElement,\n HTMLLIElement: _HTMLLIElement,\n HTMLLinkElement: _HTMLLinkElement,\n HTMLMapElement: _HTMLMapElement,\n HTMLMetaElement: _HTMLMetaElement,\n HTMLMeterElement: _HTMLMeterElement,\n HTMLModElement: _HTMLModElement,\n HTMLObjectElement: _HTMLObjectElement,\n HTMLOListElement: _HTMLOListElement,\n HTMLOptGroupElement: _HTMLOptGroupElement,\n HTMLOptionElement: _HTMLOptionElement,\n HTMLOutputElement: _HTMLOutputElement,\n HTMLParagraphElement: _HTMLParagraphElement,\n HTMLParamElement: _HTMLParamElement,\n HTMLPictureElement: _HTMLPictureElement,\n HTMLPreElement: _HTMLPreElement,\n HTMLProgressElement: _HTMLProgressElement,\n HTMLQuoteElement: _HTMLQuoteElement,\n HTMLScriptElement: _HTMLScriptElement,\n HTMLSelectElement: _HTMLSelectElement,\n HTMLSlotElement: _HTMLSlotElement,\n HTMLSourceElement: _HTMLSourceElement,\n HTMLSpanElement: _HTMLSpanElement,\n HTMLStyleElement: _HTMLStyleElement,\n HTMLTableElement: _HTMLTableElement,\n HTMLTableSectionElement: _HTMLTableSectionElement,\n HTMLTableCellElement: _HTMLTableCellElement,\n HTMLTextAreaElement: _HTMLTextAreaElement,\n HTMLTimeElement: _HTMLTimeElement,\n HTMLTitleElement: _HTMLTitleElement,\n HTMLTableRowElement: _HTMLTableRowElement,\n HTMLTrackElement: _HTMLTrackElement,\n HTMLUListElement: _HTMLUListElement,\n HTMLVideoElement: _HTMLVideoElement,\n HTMLHeadingElement: _HTMLHeadingElement,\n HTMLBodyElement: _HTMLBodyElement,\n } = w as any;\n\n const HTMLElement = _HTMLElement as typeof globalThis.HTMLElement;\n const HTMLTemplateElement = _HTMLTemplateElement as typeof globalThis.HTMLTemplateElement;\n const DocumentFragment = _DocumentFragment as typeof globalThis.DocumentFragment;\n const Node = _Node as typeof globalThis.Node;\n const Element = _Element as typeof globalThis.Element;\n const HTMLAnchorElement = _HTMLAnchorElement as typeof globalThis.HTMLAnchorElement;\n const HTMLAreaElement = _HTMLAreaElement as typeof globalThis.HTMLAreaElement;\n const HTMLAudioElement = _HTMLAudioElement as typeof globalThis.HTMLAudioElement;\n const HTMLBaseElement = _HTMLBaseElement as typeof globalThis.HTMLBaseElement;\n const HTMLButtonElement = _HTMLButtonElement as typeof globalThis.HTMLButtonElement;\n const HTMLCanvasElement = _HTMLCanvasElement as typeof globalThis.HTMLCanvasElement;\n const HTMLDataElement = _HTMLDataElement as typeof globalThis.HTMLDataElement;\n const HTMLDataListElement = _HTMLDataListElement as typeof globalThis.HTMLDataListElement;\n const HTMLDetailsElement = _HTMLDetailsElement as typeof globalThis.HTMLDetailsElement;\n const HTMLDialogElement = _HTMLDialogElement as typeof globalThis.HTMLDialogElement;\n const HTMLDivElement = _HTMLDivElement as typeof globalThis.HTMLDivElement;\n const HTMLDListElement = _HTMLDListElement as typeof globalThis.HTMLDListElement;\n const HTMLEmbedElement = _HTMLEmbedElement as typeof globalThis.HTMLEmbedElement;\n const HTMLFieldSetElement = _HTMLFieldSetElement as typeof globalThis.HTMLFieldSetElement;\n const HTMLFormElement = _HTMLFormElement as typeof globalThis.HTMLFormElement;\n const HTMLHRElement = _HTMLHRElement as typeof globalThis.HTMLHRElement;\n const HTMLIFrameElement = _HTMLIFrameElement as typeof globalThis.HTMLIFrameElement;\n const HTMLImageElement = _HTMLImageElement as typeof globalThis.HTMLImageElement;\n const HTMLInputElement = _HTMLInputElement as typeof globalThis.HTMLInputElement;\n const HTMLLabelElement = _HTMLLabelElement as typeof globalThis.HTMLLabelElement;\n const HTMLLegendElement = _HTMLLegendElement as typeof globalThis.HTMLLegendElement;\n const HTMLLIElement = _HTMLLIElement as typeof globalThis.HTMLLIElement;\n const HTMLLinkElement = _HTMLLinkElement as typeof globalThis.HTMLLinkElement;\n const HTMLMapElement = _HTMLMapElement as typeof globalThis.HTMLMapElement;\n const HTMLMetaElement = _HTMLMetaElement as typeof globalThis.HTMLMetaElement;\n const HTMLMeterElement = _HTMLMeterElement as typeof globalThis.HTMLMeterElement;\n const HTMLModElement = _HTMLModElement as typeof globalThis.HTMLModElement;\n const HTMLObjectElement = _HTMLObjectElement as typeof globalThis.HTMLObjectElement;\n const HTMLOListElement = _HTMLOListElement as typeof globalThis.HTMLOListElement;\n const HTMLOptGroupElement = _HTMLOptGroupElement as typeof globalThis.HTMLOptGroupElement;\n const HTMLOptionElement = _HTMLOptionElement as typeof globalThis.HTMLOptionElement;\n const HTMLOutputElement = _HTMLOutputElement as typeof globalThis.HTMLOutputElement;\n const HTMLParagraphElement = _HTMLParagraphElement as typeof globalThis.HTMLParagraphElement;\n const HTMLParamElement = _HTMLParamElement as typeof globalThis.HTMLParamElement;\n const HTMLPictureElement = _HTMLPictureElement as typeof globalThis.HTMLPictureElement;\n const HTMLPreElement = _HTMLPreElement as typeof globalThis.HTMLPreElement;\n const HTMLProgressElement = _HTMLProgressElement as typeof globalThis.HTMLProgressElement;\n const HTMLQuoteElement = _HTMLQuoteElement as typeof globalThis.HTMLQuoteElement;\n const HTMLScriptElement = _HTMLScriptElement as typeof globalThis.HTMLScriptElement;\n const HTMLSelectElement = _HTMLSelectElement as typeof globalThis.HTMLSelectElement;\n const HTMLSlotElement = _HTMLSlotElement as typeof globalThis.HTMLSlotElement;\n const HTMLSourceElement = _HTMLSourceElement as typeof globalThis.HTMLSourceElement;\n const HTMLSpanElement = _HTMLSpanElement as typeof globalThis.HTMLSpanElement;\n const HTMLStyleElement = _HTMLStyleElement as typeof globalThis.HTMLStyleElement;\n const HTMLTableElement = _HTMLTableElement as typeof globalThis.HTMLTableElement;\n const HTMLTableSectionElement = _HTMLTableSectionElement as typeof globalThis.HTMLTableSectionElement;\n const HTMLTableCellElement = _HTMLTableCellElement as typeof globalThis.HTMLTableCellElement;\n const HTMLTextAreaElement = _HTMLTextAreaElement as typeof globalThis.HTMLTextAreaElement;\n const HTMLTimeElement = _HTMLTimeElement as typeof globalThis.HTMLTimeElement;\n const HTMLTitleElement = _HTMLTitleElement as typeof globalThis.HTMLTitleElement;\n const HTMLTableRowElement = _HTMLTableRowElement as typeof globalThis.HTMLTableRowElement;\n const HTMLTrackElement = _HTMLTrackElement as typeof globalThis.HTMLTrackElement;\n const HTMLUListElement = _HTMLUListElement as typeof globalThis.HTMLUListElement;\n const HTMLVideoElement = _HTMLVideoElement as typeof globalThis.HTMLVideoElement;\n const HTMLHeadingElement = _HTMLHeadingElement as typeof globalThis.HTMLHeadingElement;\n const HTMLBodyElement = _HTMLBodyElement as typeof globalThis.HTMLBodyElement;\n\n\n // --- Sub Templates ---\n @elementDefine('swc-loading', { extends: 'template', window: w }) class SwcLoading extends HTMLTemplateElement {}\n @elementDefine('swc-error', { extends: 'template', window: w }) class SwcError extends HTMLTemplateElement {}\n @elementDefine('swc-success', { extends: 'template', window: w }) class SwcSuccess extends HTMLTemplateElement {}\n @elementDefine('swc-when', { extends: 'template', window: w }) class SwcWhen extends HTMLTemplateElement {}\n @elementDefine('swc-otherwise', { extends: 'template', window: w }) class SwcOtherwise extends HTMLTemplateElement {}\n @elementDefine('swc-default', { extends: 'template', window: w }) class SwcDefault extends HTMLTemplateElement {}\n\n // --- Core Elements ---\n @elementDefine('swc-app', { window: w })\n class SwcApp extends SwcAppMixin(HTMLElement) {}\n\n @elementDefine('swc-if', { extends: 'template', window: w })\n class SwcIf extends HTMLTemplateElement {\n private _value = false;\n private _nodes: Node[] = [];\n\n get value(): boolean {\n return this._value;\n }\n set value(nv: any) {\n this._value = Boolean(nv);\n this.render();\n }\n\n private _resolvePortal(): Element | null {\n const portalScript = this.getAttribute('on-get-portal');\n if (!portalScript) return this.parentElement;\n\n const win = this.ownerDocument?.defaultView || window;\n const res = FunctionUtils.executeReturn({\n script: portalScript,\n context: this,\n args: SwcUtils.getHelperAndHostSet(win, this)\n });\n\n if (res instanceof HTMLElement) return res;\n if (typeof res === 'string') return win.document.querySelector(res);\n return this.parentElement;\n }\n\n private _executeCloneCallback(attr: string, args: any) {\n const script = this.getAttribute(attr);\n if (!script) return;\n FunctionUtils.execute({ script, context: this, args });\n }\n\n @changedAttribute('on-get-value')\n private refreshValue() {\n const script = this.getAttribute('on-get-value');\n if (!script) {\n this.value = false;\n return;\n }\n const win = this.ownerDocument?.defaultView || window;\n const res = FunctionUtils.executeReturn({\n script,\n context: this,\n args: SwcUtils.getHelperAndHostSet(win, this)\n });\n\n if (res instanceof Promise) {\n res.then(v => (this.value = v)).catch(() => (this.value = false));\n } else {\n this.value = res;\n }\n }\n\n private render() {\n this.cleanup();\n const portal = this._resolvePortal();\n if (!portal) return;\n\n const win = this.ownerDocument?.defaultView || window;\n const helperSet = SwcUtils.getHelperAndHostSet(win, this);\n\n let targetTpl: HTMLTemplateElement | null = null;\n if (this._value) {\n targetTpl = this;\n } else {\n targetTpl = this.content.querySelector('template[is=\"swc-default\"]') as HTMLTemplateElement;\n }\n\n if (targetTpl) {\n const clone = targetTpl.content.cloneNode(true) as DocumentFragment;\n // If it's the host template, remove sub-templates from clone\n if (targetTpl === this) {\n clone.querySelectorAll('template[is^=\"swc-\"]').forEach(t => t.remove());\n }\n\n this._nodes = Array.from(clone.childNodes);\n const elements = this._nodes.filter(n => n.nodeType === 1) as HTMLElement[];\n const groupArgs = { ...helperSet, $value: this._value, $nodes: this._nodes, $elements: elements, $firstElement: elements[0] };\n\n this._nodes.forEach((node, nodeIdx) => {\n if (node instanceof HTMLElement) (node as any).__swc_host = this;\n this._executeCloneCallback('on-clone-node', { ...groupArgs, $node: node, $nodeIndex: nodeIdx, $isElement: node.nodeType === 1 });\n });\n\n this._executeCloneCallback('on-clone-nodes', groupArgs);\n\n if (portal === this.parentElement) {\n portal.insertBefore(clone, this.nextSibling);\n } else {\n portal.appendChild(clone);\n }\n }\n }\n\n private cleanup() {\n this._nodes.forEach(n => n.parentElement?.removeChild(n));\n this._nodes = [];\n }\n\n connectedCallback() {\n this.refreshValue();\n }\n disconnectedCallback() {\n this.cleanup();\n }\n }\n\n @elementDefine('swc-loop', { extends: 'template', window: w })\n class SwcLoop extends HTMLTemplateElement {\n private _value: any[] = [];\n private _nodeGroups: Node[][] = [];\n\n get value(): any[] {\n return this._value;\n }\n set value(nv: any[]) {\n this._value = Array.isArray(nv) ? [...nv] : [];\n this.render();\n }\n\n private _resolvePortal(): Element | null {\n const portalScript = this.getAttribute('on-get-portal');\n if (!portalScript) return this.parentElement;\n\n const win = this.ownerDocument?.defaultView || window;\n const res = FunctionUtils.executeReturn({\n script: portalScript,\n context: this,\n args: SwcUtils.getHelperAndHostSet(win, this)\n });\n\n if (res instanceof HTMLElement) return res;\n if (typeof res === 'string') return win.document.querySelector(res);\n return this.parentElement;\n }\n\n private _executeCloneCallback(attr: string, args: any) {\n const script = this.getAttribute(attr);\n if (!script) return;\n FunctionUtils.execute({ script, context: this, args });\n }\n\n private _cleanup() {\n this._nodeGroups.forEach(nodes => nodes.forEach(n => n.parentElement?.removeChild(n)));\n this._nodeGroups = [];\n }\n\n @changedAttribute('on-get-value')\n private refreshValue() {\n const script = this.getAttribute('on-get-value');\n if (!script) {\n this.value = [];\n return;\n }\n const win = this.ownerDocument?.defaultView || window;\n const res = FunctionUtils.executeReturn({\n script,\n context: this,\n args: SwcUtils.getHelperAndHostSet(win, this)\n });\n\n if (res instanceof Promise) {\n res.then(v => (this.value = v)).catch(() => (this.value = []));\n } else {\n this.value = res;\n }\n }\n\n render() {\n this._cleanup();\n const portal = this._resolvePortal();\n if (!portal) return;\n\n const win = this.ownerDocument?.defaultView || window;\n const helperSet = SwcUtils.getHelperAndHostSet(win, this);\n const fragment = win.document.createDocumentFragment();\n\n if (this._value.length === 0) {\n const defaultTpl = this.content.querySelector('template[is=\"swc-default\"]') as HTMLTemplateElement;\n if (defaultTpl) {\n const clone = defaultTpl.content.cloneNode(true);\n const nodes = Array.from(clone.childNodes);\n this._nodeGroups.push(nodes);\n fragment.appendChild(clone);\n }\n } else {\n this._value.forEach((item, index) => {\n const clone = this.content.cloneNode(true) as DocumentFragment;\n // Filter out sub-templates\n const subTemplates = clone.querySelectorAll('template[is^=\"swc-\"]');\n subTemplates.forEach(t => t.remove());\n\n const nodes = Array.from(clone.childNodes);\n const elements = nodes.filter(n => n.nodeType === 1) as HTMLElement[];\n\n const groupArgs = { ...helperSet, $item: item, $index: index, $value: this._value, $nodes: nodes, $elements: elements, $firstElement: elements[0] };\n\n nodes.forEach((node, nodeIdx) => {\n if (node instanceof HTMLElement) (node as any).__swc_host = this;\n this._executeCloneCallback('on-clone-node', { ...groupArgs, $node: node, $nodeIndex: nodeIdx, $isElement: node.nodeType === 1 });\n });\n\n this._executeCloneCallback('on-clone-nodes', groupArgs);\n this._nodeGroups.push(nodes);\n fragment.appendChild(clone);\n });\n }\n\n if (portal === this.parentElement) {\n portal.insertBefore(fragment, this.nextSibling);\n } else {\n portal.appendChild(fragment);\n }\n }\n\n connectedCallback() {\n this.refreshValue();\n }\n disconnectedCallback() {\n this._cleanup();\n }\n }\n\n @elementDefine('swc-choose', { extends: 'template', window: w })\n class SwcChoose extends HTMLTemplateElement {\n private _nodes: Node[] = [];\n private _value: any = null;\n\n get value(): any {\n return this._value;\n }\n set value(nv: any) {\n this._value = nv;\n this.render();\n }\n\n private _resolvePortal(): Element | null {\n const portalScript = this.getAttribute('on-get-portal');\n if (!portalScript) return this.parentElement;\n\n const win = this.ownerDocument?.defaultView || window;\n const res = FunctionUtils.executeReturn({\n script: portalScript,\n context: this,\n args: SwcUtils.getHelperAndHostSet(win, this)\n });\n\n if (res instanceof HTMLElement) return res;\n if (typeof res === 'string') return win.document.querySelector(res);\n return this.parentElement;\n }\n\n private _executeCloneCallback(attr: string, args: any) {\n const script = this.getAttribute(attr);\n if (!script) return;\n FunctionUtils.execute({ script, context: this, args });\n }\n\n @changedAttribute('on-get-value')\n private refresh() {\n const script = this.getAttribute('on-get-value');\n if (!script) {\n this.value = null;\n return;\n }\n const win = this.ownerDocument?.defaultView || window;\n const result = FunctionUtils.executeReturn({ script, context: this, args: SwcUtils.getHelperAndHostSet(win, this) });\n this.value = result;\n }\n\n private render() {\n this.cleanup();\n const portal = this._resolvePortal();\n if (!portal) return;\n\n const win = this.ownerDocument?.defaultView || window;\n const helperSet = SwcUtils.getHelperAndHostSet(win, this);\n\n const templates = Array.from(this.content.querySelectorAll('template'));\n let selected: HTMLTemplateElement | null = null;\n for (const t of templates) {\n if (t.getAttribute('is') === 'swc-when' && String(t.getAttribute('value')) === String(this._value)) {\n selected = t;\n break;\n }\n }\n const target = selected || (this.content.querySelector('template[is=\"swc-otherwise\"]') as HTMLTemplateElement);\n\n if (target) {\n const clone = target.content.cloneNode(true) as DocumentFragment;\n this._nodes = Array.from(clone.childNodes);\n const elements = this._nodes.filter(n => n.nodeType === 1) as HTMLElement[];\n const groupArgs = { ...helperSet, $value: this._value, $nodes: this._nodes, $elements: elements, $firstElement: elements[0] };\n\n this._nodes.forEach((n, nodeIdx) => {\n if (n instanceof HTMLElement) (n as any).__swc_host = this;\n this._executeCloneCallback('on-clone-node', { ...groupArgs, $node: n, $nodeIndex: nodeIdx, $isElement: n.nodeType === 1 });\n });\n\n this._executeCloneCallback('on-clone-nodes', groupArgs);\n\n if (portal === this.parentElement) {\n portal.insertBefore(clone, this.nextSibling);\n } else {\n portal.appendChild(clone);\n }\n }\n }\n\n private cleanup() {\n this._nodes.forEach(n => n.parentElement?.removeChild(n));\n this._nodes = [];\n }\n\n connectedCallback() {\n this.refresh();\n }\n disconnectedCallback() {\n this.cleanup();\n }\n }\n\n @elementDefine('swc-async', { extends: 'template', window: w })\n class SwcAsync extends HTMLTemplateElement {\n private _nodes: Node[] = [];\n private _value: any = null;\n\n private _resolvePortal(): Element | null {\n const portalScript = this.getAttribute('on-get-portal');\n if (!portalScript) return this.parentElement;\n\n const win = this.ownerDocument?.defaultView || window;\n const res = FunctionUtils.executeReturn({\n script: portalScript,\n context: this,\n args: SwcUtils.getHelperAndHostSet(win, this)\n });\n\n if (res instanceof HTMLElement) return res;\n if (typeof res === 'string') return win.document.querySelector(res);\n return this.parentElement;\n }\n\n private _executeCloneCallback(attr: string, args: any) {\n const script = this.getAttribute(attr);\n if (!script) return;\n FunctionUtils.execute({ script, context: this, args });\n }\n\n @changedAttribute('on-get-value')\n private refresh() {\n const script = this.getAttribute('on-get-value');\n if (!script) return;\n const win = this.ownerDocument?.defaultView || window;\n const result = FunctionUtils.executeReturn({ script, context: this, args: SwcUtils.getHelperAndHostSet(win, this) });\n\n if (result instanceof Promise) {\n this.render('loading');\n result\n .then(v => {\n this._value = v;\n this.render('success');\n })\n .catch(e => this.render('error'));\n } else {\n this._value = result;\n this.render('success');\n }\n }\n\n private render(state: string) {\n this.cleanup();\n const portal = this._resolvePortal();\n if (!portal) return;\n\n const win = this.ownerDocument?.defaultView || window;\n const helperSet = SwcUtils.getHelperAndHostSet(win, this);\n\n const t = this.content.querySelector(`template[is=\"swc-${state}\"]`) as HTMLTemplateElement;\n if (t) {\n const clone = t.content.cloneNode(true) as DocumentFragment;\n this._nodes = Array.from(clone.childNodes);\n const elements = this._nodes.filter(n => n.nodeType === 1) as HTMLElement[];\n const groupArgs = { ...helperSet, $value: this._value, $nodes: this._nodes, $elements: elements, $firstElement: elements[0], $state: state };\n\n this._nodes.forEach((n, nodeIdx) => {\n if (n instanceof HTMLElement) (n as any).__swc_host = this;\n this._executeCloneCallback('on-clone-node', { ...groupArgs, $node: n, $nodeIndex: nodeIdx, $isElement: n.nodeType === 1 });\n });\n\n this._executeCloneCallback('on-clone-nodes', groupArgs);\n\n if (portal === this.parentElement) {\n portal.insertBefore(clone, this.nextSibling);\n } else {\n portal.appendChild(clone);\n }\n }\n }\n\n private cleanup() {\n this._nodes.forEach(n => n.parentElement?.removeChild(n));\n this._nodes = [];\n }\n\n connectedCallback() {\n this.refresh();\n }\n disconnectedCallback() {\n this.cleanup();\n }\n }\n\n // --- \"is\" Elements ---\n @elementDefine('swc-app-a', { extends: 'a', window: w })\n class SwcAppAnchor extends SwcAppMixin(HTMLAnchorElement) {}\n\n @elementDefine('swc-app-area', { extends: 'area', window: w })\n class SwcAppArea extends SwcAppMixin(HTMLAreaElement) {}\n\n @elementDefine('swc-app-audio', { extends: 'audio', window: w })\n class SwcAppAudio extends SwcAppMixin(HTMLAudioElement) {}\n\n @elementDefine('swc-app-base', { extends: 'base', window: w })\n class SwcAppBase extends SwcAppMixin(HTMLBaseElement) {}\n\n @elementDefine('swc-app-button', { extends: 'button', window: w })\n class SwcAppButton extends SwcAppMixin(HTMLButtonElement) {}\n\n @elementDefine('swc-app-canvas', { extends: 'canvas', window: w })\n class SwcAppCanvas extends SwcAppMixin(HTMLCanvasElement) {}\n\n @elementDefine('swc-app-data', { extends: 'data', window: w })\n class SwcAppData extends SwcAppMixin(HTMLDataElement) {}\n\n @elementDefine('swc-app-datalist', { extends: 'datalist', window: w })\n class SwcAppDataList extends SwcAppMixin(HTMLDataListElement) {}\n\n @elementDefine('swc-app-details', { extends: 'details', window: w })\n class SwcAppDetails extends SwcAppMixin(HTMLDetailsElement) {}\n\n @elementDefine('swc-app-dialog', { extends: 'dialog', window: w })\n class SwcAppDialog extends SwcAppMixin(HTMLDialogElement) {}\n\n @elementDefine('swc-app-div', { extends: 'div', window: w })\n class SwcAppDiv extends SwcAppMixin(HTMLDivElement) {}\n\n @elementDefine('swc-app-dl', { extends: 'dl', window: w })\n class SwcAppDList extends SwcAppMixin(HTMLDListElement) {}\n\n @elementDefine('swc-app-embed', { extends: 'embed', window: w })\n class SwcAppEmbed extends SwcAppMixin(HTMLEmbedElement) {}\n\n @elementDefine('swc-app-fieldset', { extends: 'fieldset', window: w })\n class SwcAppFieldSet extends SwcAppMixin(HTMLFieldSetElement) {}\n\n @elementDefine('swc-app-form', { extends: 'form', window: w })\n class SwcAppForm extends SwcAppMixin(HTMLFormElement) {}\n\n @elementDefine('swc-app-hr', { extends: 'hr', window: w })\n class SwcAppHR extends SwcAppMixin(HTMLHRElement) {}\n\n @elementDefine('swc-app-iframe', { extends: 'iframe', window: w })\n class SwcAppIFrame extends SwcAppMixin(HTMLIFrameElement) {}\n\n @elementDefine('swc-app-img', { extends: 'img', window: w })\n class SwcAppImage extends SwcAppMixin(HTMLImageElement) {}\n\n @elementDefine('swc-app-input', { extends: 'input', window: w })\n class SwcAppInput extends SwcAppMixin(HTMLInputElement) {}\n\n @elementDefine('swc-app-label', { extends: 'label', window: w })\n class SwcAppLabel extends SwcAppMixin(HTMLLabelElement) {}\n\n @elementDefine('swc-app-legend', { extends: 'legend', window: w })\n class SwcAppLegend extends SwcAppMixin(HTMLLegendElement) {}\n\n @elementDefine('swc-app-li', { extends: 'li', window: w })\n class SwcAppLI extends SwcAppMixin(HTMLLIElement) {}\n\n @elementDefine('swc-app-link', { extends: 'link', window: w })\n class SwcAppLink extends SwcAppMixin(HTMLLinkElement) {}\n\n @elementDefine('swc-app-map', { extends: 'map', window: w })\n class SwcAppMap extends SwcAppMixin(HTMLMapElement) {}\n\n @elementDefine('swc-app-meta', { extends: 'meta', window: w })\n class SwcAppMeta extends SwcAppMixin(HTMLMetaElement) {}\n\n @elementDefine('swc-app-meter', { extends: 'meter', window: w })\n class SwcAppMeter extends SwcAppMixin(HTMLMeterElement) {}\n\n @elementDefine('swc-app-del', { extends: 'del', window: w })\n class SwcAppMod extends SwcAppMixin(HTMLModElement) {}\n\n @elementDefine('swc-app-object', { extends: 'object', window: w })\n class SwcAppObject extends SwcAppMixin(HTMLObjectElement) {}\n\n @elementDefine('swc-app-ol', { extends: 'ol', window: w })\n class SwcAppOList extends SwcAppMixin(HTMLOListElement) {}\n\n @elementDefine('swc-app-optgroup', { extends: 'optgroup', window: w })\n class SwcAppOptGroup extends SwcAppMixin(HTMLOptGroupElement) {}\n\n @elementDefine('swc-app-option', { extends: 'option', window: w })\n class SwcAppOption extends SwcAppMixin(HTMLOptionElement) {}\n\n @elementDefine('swc-app-output', { extends: 'output', window: w })\n class SwcAppOutput extends SwcAppMixin(HTMLOutputElement) {}\n\n @elementDefine('swc-app-p', { extends: 'p', window: w })\n class SwcAppParagraph extends SwcAppMixin(HTMLParagraphElement) {}\n\n @elementDefine('swc-app-param', { extends: 'param', window: w })\n class SwcAppParam extends SwcAppMixin(HTMLParamElement) {}\n\n @elementDefine('swc-app-picture', { extends: 'picture', window: w })\n class SwcAppPicture extends SwcAppMixin(HTMLPictureElement) {}\n\n @elementDefine('swc-app-pre', { extends: 'pre', window: w })\n class SwcAppPre extends SwcAppMixin(HTMLPreElement) {}\n\n @elementDefine('swc-app-progress', { extends: 'progress', window: w })\n class SwcAppProgress extends SwcAppMixin(HTMLProgressElement) {}\n\n @elementDefine('swc-app-blockquote', { extends: 'blockquote', window: w })\n class SwcAppQuote extends SwcAppMixin(HTMLQuoteElement) {}\n\n @elementDefine('swc-app-script', { extends: 'script', window: w })\n class SwcAppScript extends SwcAppMixin(HTMLScriptElement) {}\n\n @elementDefine('swc-app-select', { extends: 'select', window: w })\n class SwcAppSelect extends SwcAppMixin(HTMLSelectElement) {}\n\n @elementDefine('swc-app-slot', { extends: 'slot', window: w })\n class SwcAppSlot extends SwcAppMixin(HTMLSlotElement) {}\n\n @elementDefine('swc-app-source', { extends: 'source', window: w })\n class SwcAppSource extends SwcAppMixin(HTMLSourceElement) {}\n\n @elementDefine('swc-app-span', { extends: 'span', window: w })\n class SwcAppSpan extends SwcAppMixin(HTMLSpanElement) {}\n\n @elementDefine('swc-app-style', { extends: 'style', window: w })\n class SwcAppStyle extends SwcAppMixin(HTMLStyleElement) {}\n\n @elementDefine('swc-app-table', { extends: 'table', window: w })\n class SwcAppTable extends SwcAppMixin(HTMLTableElement) {}\n\n @elementDefine('swc-app-tbody', { extends: 'tbody', window: w })\n class SwcAppTableSection extends SwcAppMixin(HTMLTableSectionElement) {}\n\n @elementDefine('swc-app-td', { extends: 'td', window: w })\n class SwcAppTableCell extends SwcAppMixin(HTMLTableCellElement) {}\n\n @elementDefine('swc-app-template', { extends: 'template', window: w })\n class SwcAppTemplate extends SwcAppMixin(HTMLTemplateElement) {}\n\n @elementDefine('swc-app-textarea', { extends: 'textarea', window: w })\n class SwcAppTextArea extends SwcAppMixin(HTMLTextAreaElement) {}\n\n @elementDefine('swc-app-time', { extends: 'time', window: w })\n class SwcAppTime extends SwcAppMixin(HTMLTimeElement) {}\n\n @elementDefine('swc-app-title', { extends: 'title', window: w })\n class SwcAppTitle extends SwcAppMixin(HTMLTitleElement) {}\n\n @elementDefine('swc-app-tr', { extends: 'tr', window: w })\n class SwcAppTableRow extends SwcAppMixin(HTMLTableRowElement) {}\n\n @elementDefine('swc-app-track', { extends: 'track', window: w })\n class SwcAppTrack extends SwcAppMixin(HTMLTrackElement) {}\n\n @elementDefine('swc-app-ul', { extends: 'ul', window: w })\n class SwcAppUList extends SwcAppMixin(HTMLUListElement) {}\n\n @elementDefine('swc-app-video', { extends: 'video', window: w })\n class SwcAppVideo extends SwcAppMixin(HTMLVideoElement) {}\n\n @elementDefine('swc-app-h1', { extends: 'h1', window: w })\n class SwcAppHeading extends SwcAppMixin(HTMLHeadingElement) {}\n\n @elementDefine('swc-app-body', { extends: 'body', window: w })\n class SwcAppBody extends SwcAppMixin(HTMLBodyElement) {}\n\n};\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { elementDefine } from '../decorators/elementDefine';\nimport { SwcAppMixin } from './SwcAppMixin';\nimport { SwcUtils } from '../utils/Utils';\nimport { FunctionUtils } from '@dooboostore/core';\nimport { changedAttribute } from '../decorators/changedAttribute';\n\nexport const registerAllElements = (w: any) => {\n const {\n HTMLElement: _HTMLElement,\n HTMLTemplateElement: _HTMLTemplateElement,\n DocumentFragment: _DocumentFragment,\n Node: _Node,\n Element: _Element,\n HTMLAnchorElement: _HTMLAnchorElement,\n HTMLAreaElement: _HTMLAreaElement,\n HTMLAudioElement: _HTMLAudioElement,\n HTMLBaseElement: _HTMLBaseElement,\n HTMLButtonElement: _HTMLButtonElement,\n HTMLCanvasElement: _HTMLCanvasElement,\n HTMLDataElement: _HTMLDataElement,\n HTMLDataListElement: _HTMLDataListElement,\n HTMLDetailsElement: _HTMLDetailsElement,\n HTMLDialogElement: _HTMLDialogElement,\n HTMLDivElement: _HTMLDivElement,\n HTMLDListElement: _HTMLDListElement,\n HTMLEmbedElement: _HTMLEmbedElement,\n HTMLFieldSetElement: _HTMLFieldSetElement,\n HTMLFormElement: _HTMLFormElement,\n HTMLHRElement: _HTMLHRElement,\n HTMLIFrameElement: _HTMLIFrameElement,\n HTMLImageElement: _HTMLImageElement,\n HTMLInputElement: _HTMLInputElement,\n HTMLLabelElement: _HTMLLabelElement,\n HTMLLegendElement: _HTMLLegendElement,\n HTMLLIElement: _HTMLLIElement,\n HTMLLinkElement: _HTMLLinkElement,\n HTMLMapElement: _HTMLMapElement,\n HTMLMetaElement: _HTMLMetaElement,\n HTMLMeterElement: _HTMLMeterElement,\n HTMLModElement: _HTMLModElement,\n HTMLObjectElement: _HTMLObjectElement,\n HTMLOListElement: _HTMLOListElement,\n HTMLOptGroupElement: _HTMLOptGroupElement,\n HTMLOptionElement: _HTMLOptionElement,\n HTMLOutputElement: _HTMLOutputElement,\n HTMLParagraphElement: _HTMLParagraphElement,\n HTMLParamElement: _HTMLParamElement,\n HTMLPictureElement: _HTMLPictureElement,\n HTMLPreElement: _HTMLPreElement,\n HTMLProgressElement: _HTMLProgressElement,\n HTMLQuoteElement: _HTMLQuoteElement,\n HTMLScriptElement: _HTMLScriptElement,\n HTMLSelectElement: _HTMLSelectElement,\n HTMLSlotElement: _HTMLSlotElement,\n HTMLSourceElement: _HTMLSourceElement,\n HTMLSpanElement: _HTMLSpanElement,\n HTMLStyleElement: _HTMLStyleElement,\n HTMLTableElement: _HTMLTableElement,\n HTMLTableSectionElement: _HTMLTableSectionElement,\n HTMLTableCellElement: _HTMLTableCellElement,\n HTMLTextAreaElement: _HTMLTextAreaElement,\n HTMLTimeElement: _HTMLTimeElement,\n HTMLTitleElement: _HTMLTitleElement,\n HTMLTableRowElement: _HTMLTableRowElement,\n HTMLTrackElement: _HTMLTrackElement,\n HTMLUListElement: _HTMLUListElement,\n HTMLVideoElement: _HTMLVideoElement,\n HTMLHeadingElement: _HTMLHeadingElement,\n HTMLBodyElement: _HTMLBodyElement,\n } = w as any;\n\n const HTMLElement = _HTMLElement as typeof globalThis.HTMLElement;\n const HTMLTemplateElement = _HTMLTemplateElement as typeof globalThis.HTMLTemplateElement;\n const DocumentFragment = _DocumentFragment as typeof globalThis.DocumentFragment;\n const Node = _Node as typeof globalThis.Node;\n const Element = _Element as typeof globalThis.Element;\n const HTMLAnchorElement = _HTMLAnchorElement as typeof globalThis.HTMLAnchorElement;\n const HTMLAreaElement = _HTMLAreaElement as typeof globalThis.HTMLAreaElement;\n const HTMLAudioElement = _HTMLAudioElement as typeof globalThis.HTMLAudioElement;\n const HTMLBaseElement = _HTMLBaseElement as typeof globalThis.HTMLBaseElement;\n const HTMLButtonElement = _HTMLButtonElement as typeof globalThis.HTMLButtonElement;\n const HTMLCanvasElement = _HTMLCanvasElement as typeof globalThis.HTMLCanvasElement;\n const HTMLDataElement = _HTMLDataElement as typeof globalThis.HTMLDataElement;\n const HTMLDataListElement = _HTMLDataListElement as typeof globalThis.HTMLDataListElement;\n const HTMLDetailsElement = _HTMLDetailsElement as typeof globalThis.HTMLDetailsElement;\n const HTMLDialogElement = _HTMLDialogElement as typeof globalThis.HTMLDialogElement;\n const HTMLDivElement = _HTMLDivElement as typeof globalThis.HTMLDivElement;\n const HTMLDListElement = _HTMLDListElement as typeof globalThis.HTMLDListElement;\n const HTMLEmbedElement = _HTMLEmbedElement as typeof globalThis.HTMLEmbedElement;\n const HTMLFieldSetElement = _HTMLFieldSetElement as typeof globalThis.HTMLFieldSetElement;\n const HTMLFormElement = _HTMLFormElement as typeof globalThis.HTMLFormElement;\n const HTMLHRElement = _HTMLHRElement as typeof globalThis.HTMLHRElement;\n const HTMLIFrameElement = _HTMLIFrameElement as typeof globalThis.HTMLIFrameElement;\n const HTMLImageElement = _HTMLImageElement as typeof globalThis.HTMLImageElement;\n const HTMLInputElement = _HTMLInputElement as typeof globalThis.HTMLInputElement;\n const HTMLLabelElement = _HTMLLabelElement as typeof globalThis.HTMLLabelElement;\n const HTMLLegendElement = _HTMLLegendElement as typeof globalThis.HTMLLegendElement;\n const HTMLLIElement = _HTMLLIElement as typeof globalThis.HTMLLIElement;\n const HTMLLinkElement = _HTMLLinkElement as typeof globalThis.HTMLLinkElement;\n const HTMLMapElement = _HTMLMapElement as typeof globalThis.HTMLMapElement;\n const HTMLMetaElement = _HTMLMetaElement as typeof globalThis.HTMLMetaElement;\n const HTMLMeterElement = _HTMLMeterElement as typeof globalThis.HTMLMeterElement;\n const HTMLModElement = _HTMLModElement as typeof globalThis.HTMLModElement;\n const HTMLObjectElement = _HTMLObjectElement as typeof globalThis.HTMLObjectElement;\n const HTMLOListElement = _HTMLOListElement as typeof globalThis.HTMLOListElement;\n const HTMLOptGroupElement = _HTMLOptGroupElement as typeof globalThis.HTMLOptGroupElement;\n const HTMLOptionElement = _HTMLOptionElement as typeof globalThis.HTMLOptionElement;\n const HTMLOutputElement = _HTMLOutputElement as typeof globalThis.HTMLOutputElement;\n const HTMLParagraphElement = _HTMLParagraphElement as typeof globalThis.HTMLParagraphElement;\n const HTMLParamElement = _HTMLParamElement as typeof globalThis.HTMLParamElement;\n const HTMLPictureElement = _HTMLPictureElement as typeof globalThis.HTMLPictureElement;\n const HTMLPreElement = _HTMLPreElement as typeof globalThis.HTMLPreElement;\n const HTMLProgressElement = _HTMLProgressElement as typeof globalThis.HTMLProgressElement;\n const HTMLQuoteElement = _HTMLQuoteElement as typeof globalThis.HTMLQuoteElement;\n const HTMLScriptElement = _HTMLScriptElement as typeof globalThis.HTMLScriptElement;\n const HTMLSelectElement = _HTMLSelectElement as typeof globalThis.HTMLSelectElement;\n const HTMLSlotElement = _HTMLSlotElement as typeof globalThis.HTMLSlotElement;\n const HTMLSourceElement = _HTMLSourceElement as typeof globalThis.HTMLSourceElement;\n const HTMLSpanElement = _HTMLSpanElement as typeof globalThis.HTMLSpanElement;\n const HTMLStyleElement = _HTMLStyleElement as typeof globalThis.HTMLStyleElement;\n const HTMLTableElement = _HTMLTableElement as typeof globalThis.HTMLTableElement;\n const HTMLTableSectionElement = _HTMLTableSectionElement as typeof globalThis.HTMLTableSectionElement;\n const HTMLTableCellElement = _HTMLTableCellElement as typeof globalThis.HTMLTableCellElement;\n const HTMLTextAreaElement = _HTMLTextAreaElement as typeof globalThis.HTMLTextAreaElement;\n const HTMLTimeElement = _HTMLTimeElement as typeof globalThis.HTMLTimeElement;\n const HTMLTitleElement = _HTMLTitleElement as typeof globalThis.HTMLTitleElement;\n const HTMLTableRowElement = _HTMLTableRowElement as typeof globalThis.HTMLTableRowElement;\n const HTMLTrackElement = _HTMLTrackElement as typeof globalThis.HTMLTrackElement;\n const HTMLUListElement = _HTMLUListElement as typeof globalThis.HTMLUListElement;\n const HTMLVideoElement = _HTMLVideoElement as typeof globalThis.HTMLVideoElement;\n const HTMLHeadingElement = _HTMLHeadingElement as typeof globalThis.HTMLHeadingElement;\n const HTMLBodyElement = _HTMLBodyElement as typeof globalThis.HTMLBodyElement;\n\n\n // --- Sub Templates ---\n @elementDefine('swc-loading', { extends: 'template', window: w }) class SwcLoading extends HTMLTemplateElement {}\n @elementDefine('swc-error', { extends: 'template', window: w }) class SwcError extends HTMLTemplateElement {}\n @elementDefine('swc-success', { extends: 'template', window: w }) class SwcSuccess extends HTMLTemplateElement {}\n @elementDefine('swc-when', { extends: 'template', window: w }) class SwcWhen extends HTMLTemplateElement {}\n @elementDefine('swc-otherwise', { extends: 'template', window: w }) class SwcOtherwise extends HTMLTemplateElement {}\n @elementDefine('swc-default', { extends: 'template', window: w }) class SwcDefault extends HTMLTemplateElement {}\n\n // --- Core Elements ---\n @elementDefine('swc-app', { window: w })\n class SwcApp extends SwcAppMixin(HTMLElement) {}\n\n @elementDefine('swc-if', { extends: 'template', window: w })\n class SwcIf extends HTMLTemplateElement {\n private _value = false;\n private _nodes: Node[] = [];\n\n get value(): boolean {\n return this._value;\n }\n set value(nv: any) {\n this._value = Boolean(nv);\n this.render();\n }\n\n private _resolvePortal(): Element | null {\n const portalScript = this.getAttribute('on-get-portal');\n if (!portalScript) return this.parentElement;\n\n const win = this.ownerDocument?.defaultView || window;\n const res = FunctionUtils.executeReturn({\n script: portalScript,\n context: this,\n args: SwcUtils.getHelperAndHostSet(win, this)\n });\n\n if (res instanceof HTMLElement) return res;\n if (typeof res === 'string') return win.document.querySelector(res);\n return this.parentElement;\n }\n\n private _executeCloneCallback(attr: string, args: any) {\n const script = this.getAttribute(attr);\n if (!script) return;\n FunctionUtils.execute({ script, context: this, args });\n }\n\n @changedAttribute('on-get-value')\n private refreshValue() {\n const script = this.getAttribute('on-get-value');\n if (!script) {\n this.value = false;\n return;\n }\n const win = this.ownerDocument?.defaultView || window;\n const res = FunctionUtils.executeReturn({\n script,\n context: this,\n args: SwcUtils.getHelperAndHostSet(win, this)\n });\n\n if (res instanceof Promise) {\n res.then(v => (this.value = v)).catch(() => (this.value = false));\n } else {\n this.value = res;\n }\n }\n\n private render() {\n this.cleanup();\n const portal = this._resolvePortal();\n if (!portal) return;\n\n const win = this.ownerDocument?.defaultView || window;\n const helperSet = SwcUtils.getHelperAndHostSet(win, this);\n\n let targetTpl: HTMLTemplateElement | null = null;\n if (this._value) {\n targetTpl = this;\n } else {\n targetTpl = this.content.querySelector('template[is=\"swc-default\"]') as HTMLTemplateElement;\n }\n\n if (targetTpl) {\n const clone = targetTpl.content.cloneNode(true) as DocumentFragment;\n // If it's the host template, remove sub-templates from clone\n if (targetTpl === this) {\n clone.querySelectorAll('template[is^=\"swc-\"]').forEach(t => t.remove());\n }\n\n this._nodes = Array.from(clone.childNodes);\n const elements = this._nodes.filter(n => n.nodeType === 1) as HTMLElement[];\n const groupArgs = { ...helperSet, $value: this._value, $nodes: this._nodes, $elements: elements, $firstElement: elements[0] };\n\n this._nodes.forEach((node, nodeIdx) => {\n if (node instanceof HTMLElement) (node as any).__swc_host = this;\n this._executeCloneCallback('on-clone-node', { ...groupArgs, $node: node, $nodeIndex: nodeIdx, $isElement: node.nodeType === 1 });\n });\n\n this._executeCloneCallback('on-clone-nodes', groupArgs);\n\n if (portal === this.parentElement) {\n portal.insertBefore(clone, this.nextSibling);\n } else {\n portal.appendChild(clone);\n }\n }\n }\n\n private cleanup() {\n this._nodes.forEach(n => n.parentElement?.removeChild(n));\n this._nodes = [];\n }\n\n connectedCallback() {\n this.refreshValue();\n }\n disconnectedCallback() {\n this.cleanup();\n }\n }\n\n @elementDefine('swc-loop', { extends: 'template', window: w })\n class SwcLoop extends HTMLTemplateElement {\n private _value: any[] = [];\n private _nodeGroups: Node[][] = [];\n\n get value(): any[] {\n return this._value;\n }\n set value(nv: any[]) {\n this._value = Array.isArray(nv) ? [...nv] : [];\n this.render();\n }\n\n private _resolvePortal(): Element | null {\n const portalScript = this.getAttribute('on-get-portal');\n if (!portalScript) return this.parentElement;\n\n const win = this.ownerDocument?.defaultView || window;\n const res = FunctionUtils.executeReturn({\n script: portalScript,\n context: this,\n args: SwcUtils.getHelperAndHostSet(win, this)\n });\n\n if (res instanceof HTMLElement) return res;\n if (typeof res === 'string') return win.document.querySelector(res);\n return this.parentElement;\n }\n\n private _executeCloneCallback(attr: string, args: any) {\n const script = this.getAttribute(attr);\n if (!script) return;\n FunctionUtils.execute({ script, context: this, args });\n }\n\n private _cleanup() {\n this._nodeGroups.forEach(nodes => nodes.forEach(n => n.parentElement?.removeChild(n)));\n this._nodeGroups = [];\n }\n\n @changedAttribute('on-get-value')\n private refreshValue() {\n const script = this.getAttribute('on-get-value');\n if (!script) {\n this.value = [];\n return;\n }\n const win = this.ownerDocument?.defaultView || window;\n const res = FunctionUtils.executeReturn({\n script,\n context: this,\n args: SwcUtils.getHelperAndHostSet(win, this)\n });\n\n if (res instanceof Promise) {\n res.then(v => (this.value = v)).catch(() => (this.value = []));\n } else {\n this.value = res;\n }\n }\n\n render() {\n this._cleanup();\n const portal = this._resolvePortal();\n if (!portal) return;\n\n const win = this.ownerDocument?.defaultView || window;\n const helperSet = SwcUtils.getHelperAndHostSet(win, this);\n const fragment = win.document.createDocumentFragment();\n\n if (this._value.length === 0) {\n const defaultTpl = this.content.querySelector('template[is=\"swc-default\"]') as HTMLTemplateElement;\n if (defaultTpl) {\n const clone = defaultTpl.content.cloneNode(true);\n const nodes = Array.from(clone.childNodes);\n this._nodeGroups.push(nodes);\n fragment.appendChild(clone);\n }\n } else {\n this._value.forEach((item, index) => {\n const clone = this.content.cloneNode(true) as DocumentFragment;\n // Filter out sub-templates\n const subTemplates = clone.querySelectorAll('template[is^=\"swc-\"]');\n subTemplates.forEach(t => t.remove());\n\n const nodes = Array.from(clone.childNodes);\n const elements = nodes.filter(n => n.nodeType === 1) as HTMLElement[];\n\n const groupArgs = { ...helperSet, $item: item, $index: index, $value: this._value, $nodes: nodes, $elements: elements, $firstElement: elements[0] };\n\n nodes.forEach((node, nodeIdx) => {\n if (node instanceof HTMLElement) (node as any).__swc_host = this;\n this._executeCloneCallback('on-clone-node', { ...groupArgs, $node: node, $nodeIndex: nodeIdx, $isElement: node.nodeType === 1 });\n });\n\n this._executeCloneCallback('on-clone-nodes', groupArgs);\n this._nodeGroups.push(nodes);\n fragment.appendChild(clone);\n });\n }\n\n if (portal === this.parentElement) {\n portal.insertBefore(fragment, this.nextSibling);\n } else {\n portal.appendChild(fragment);\n }\n }\n\n connectedCallback() {\n this.refreshValue();\n }\n disconnectedCallback() {\n this._cleanup();\n }\n }\n\n @elementDefine('swc-choose', { extends: 'template', window: w })\n class SwcChoose extends HTMLTemplateElement {\n private _nodes: Node[] = [];\n private _value: any = null;\n\n get value(): any {\n return this._value;\n }\n set value(nv: any) {\n this._value = nv;\n this.render();\n }\n\n private _resolvePortal(): Element | null {\n const portalScript = this.getAttribute('on-get-portal');\n if (!portalScript) return this.parentElement;\n\n const win = this.ownerDocument?.defaultView || window;\n const res = FunctionUtils.executeReturn({\n script: portalScript,\n context: this,\n args: SwcUtils.getHelperAndHostSet(win, this)\n });\n\n if (res instanceof HTMLElement) return res;\n if (typeof res === 'string') return win.document.querySelector(res);\n return this.parentElement;\n }\n\n private _executeCloneCallback(attr: string, args: any) {\n const script = this.getAttribute(attr);\n if (!script) return;\n FunctionUtils.execute({ script, context: this, args });\n }\n\n @changedAttribute('on-get-value')\n private refresh() {\n const script = this.getAttribute('on-get-value');\n if (!script) {\n this.value = null;\n return;\n }\n const win = this.ownerDocument?.defaultView || window;\n const result = FunctionUtils.executeReturn({ script, context: this, args: SwcUtils.getHelperAndHostSet(win, this) });\n this.value = result;\n }\n\n private render() {\n this.cleanup();\n const portal = this._resolvePortal();\n if (!portal) return;\n\n const win = this.ownerDocument?.defaultView || window;\n const helperSet = SwcUtils.getHelperAndHostSet(win, this);\n\n const templates = Array.from(this.content.querySelectorAll('template'));\n let selected: HTMLTemplateElement | null = null;\n for (const t of templates) {\n if (t.getAttribute('is') === 'swc-when' && String(t.getAttribute('value')) === String(this._value)) {\n selected = t;\n break;\n }\n }\n const target = selected || (this.content.querySelector('template[is=\"swc-otherwise\"]') as HTMLTemplateElement);\n\n if (target) {\n const clone = target.content.cloneNode(true) as DocumentFragment;\n this._nodes = Array.from(clone.childNodes);\n const elements = this._nodes.filter(n => n.nodeType === 1) as HTMLElement[];\n const groupArgs = { ...helperSet, $value: this._value, $nodes: this._nodes, $elements: elements, $firstElement: elements[0] };\n\n this._nodes.forEach((n, nodeIdx) => {\n if (n instanceof HTMLElement) (n as any).__swc_host = this;\n this._executeCloneCallback('on-clone-node', { ...groupArgs, $node: n, $nodeIndex: nodeIdx, $isElement: n.nodeType === 1 });\n });\n\n this._executeCloneCallback('on-clone-nodes', groupArgs);\n\n if (portal === this.parentElement) {\n portal.insertBefore(clone, this.nextSibling);\n } else {\n portal.appendChild(clone);\n }\n }\n }\n\n private cleanup() {\n this._nodes.forEach(n => n.parentElement?.removeChild(n));\n this._nodes = [];\n }\n\n connectedCallback() {\n this.refresh();\n }\n disconnectedCallback() {\n this.cleanup();\n }\n }\n\n @elementDefine('swc-async', { extends: 'template', window: w })\n class SwcAsync extends HTMLTemplateElement {\n private _nodes: Node[] = [];\n private _value: any = null;\n\n private _resolvePortal(): Element | null {\n const portalScript = this.getAttribute('on-get-portal');\n if (!portalScript) return this.parentElement;\n\n const win = this.ownerDocument?.defaultView || window;\n const res = FunctionUtils.executeReturn({\n script: portalScript,\n context: this,\n args: SwcUtils.getHelperAndHostSet(win, this)\n });\n\n if (res instanceof HTMLElement) return res;\n if (typeof res === 'string') return win.document.querySelector(res);\n return this.parentElement;\n }\n\n private _executeCloneCallback(attr: string, args: any) {\n const script = this.getAttribute(attr);\n if (!script) return;\n FunctionUtils.execute({ script, context: this, args });\n }\n\n @changedAttribute('on-get-value')\n private refresh() {\n const script = this.getAttribute('on-get-value');\n if (!script) return;\n const win = this.ownerDocument?.defaultView || window;\n const result = FunctionUtils.executeReturn({ script, context: this, args: SwcUtils.getHelperAndHostSet(win, this) });\n\n if (result instanceof Promise) {\n this.render('loading');\n result\n .then(v => {\n this._value = v;\n this.render('success');\n })\n .catch(e => this.render('error'));\n } else {\n this._value = result;\n this.render('success');\n }\n }\n\n private render(state: string) {\n this.cleanup();\n const portal = this._resolvePortal();\n if (!portal) return;\n\n const win = this.ownerDocument?.defaultView || window;\n const helperSet = SwcUtils.getHelperAndHostSet(win, this);\n\n const t = this.content.querySelector(`template[is=\"swc-${state}\"]`) as HTMLTemplateElement;\n if (t) {\n const clone = t.content.cloneNode(true) as DocumentFragment;\n this._nodes = Array.from(clone.childNodes);\n const elements = this._nodes.filter(n => n.nodeType === 1) as HTMLElement[];\n const groupArgs = { ...helperSet, $value: this._value, $nodes: this._nodes, $elements: elements, $firstElement: elements[0], $state: state };\n\n this._nodes.forEach((n, nodeIdx) => {\n if (n instanceof HTMLElement) (n as any).__swc_host = this;\n this._executeCloneCallback('on-clone-node', { ...groupArgs, $node: n, $nodeIndex: nodeIdx, $isElement: n.nodeType === 1 });\n });\n\n this._executeCloneCallback('on-clone-nodes', groupArgs);\n\n if (portal === this.parentElement) {\n portal.insertBefore(clone, this.nextSibling);\n } else {\n portal.appendChild(clone);\n }\n }\n }\n\n private cleanup() {\n this._nodes.forEach(n => n.parentElement?.removeChild(n));\n this._nodes = [];\n }\n\n connectedCallback() {\n this.refresh();\n }\n disconnectedCallback() {\n this.cleanup();\n }\n }\n\n // --- \"is\" Elements ---\n @elementDefine('swc-app-a', { extends: 'a', window: w })\n class SwcAppAnchor extends SwcAppMixin(HTMLAnchorElement) {}\n\n @elementDefine('swc-app-area', { extends: 'area', window: w })\n class SwcAppArea extends SwcAppMixin(HTMLAreaElement) {}\n\n @elementDefine('swc-app-audio', { extends: 'audio', window: w })\n class SwcAppAudio extends SwcAppMixin(HTMLAudioElement) {}\n\n @elementDefine('swc-app-base', { extends: 'base', window: w })\n class SwcAppBase extends SwcAppMixin(HTMLBaseElement) {}\n\n @elementDefine('swc-app-button', { extends: 'button', window: w })\n class SwcAppButton extends SwcAppMixin(HTMLButtonElement) {}\n\n @elementDefine('swc-app-canvas', { extends: 'canvas', window: w })\n class SwcAppCanvas extends SwcAppMixin(HTMLCanvasElement) {}\n\n @elementDefine('swc-app-data', { extends: 'data', window: w })\n class SwcAppData extends SwcAppMixin(HTMLDataElement) {}\n\n @elementDefine('swc-app-datalist', { extends: 'datalist', window: w })\n class SwcAppDataList extends SwcAppMixin(HTMLDataListElement) {}\n\n @elementDefine('swc-app-details', { extends: 'details', window: w })\n class SwcAppDetails extends SwcAppMixin(HTMLDetailsElement) {}\n\n @elementDefine('swc-app-dialog', { extends: 'dialog', window: w })\n class SwcAppDialog extends SwcAppMixin(HTMLDialogElement) {}\n\n @elementDefine('swc-app-div', { extends: 'div', window: w })\n class SwcAppDiv extends SwcAppMixin(HTMLDivElement) {}\n\n @elementDefine('swc-app-dl', { extends: 'dl', window: w })\n class SwcAppDList extends SwcAppMixin(HTMLDListElement) {}\n\n @elementDefine('swc-app-embed', { extends: 'embed', window: w })\n class SwcAppEmbed extends SwcAppMixin(HTMLEmbedElement) {}\n\n @elementDefine('swc-app-fieldset', { extends: 'fieldset', window: w })\n class SwcAppFieldSet extends SwcAppMixin(HTMLFieldSetElement) {}\n\n @elementDefine('swc-app-form', { extends: 'form', window: w })\n class SwcAppForm extends SwcAppMixin(HTMLFormElement) {}\n\n @elementDefine('swc-app-hr', { extends: 'hr', window: w })\n class SwcAppHR extends SwcAppMixin(HTMLHRElement) {}\n\n @elementDefine('swc-app-iframe', { extends: 'iframe', window: w })\n class SwcAppIFrame extends SwcAppMixin(HTMLIFrameElement) {}\n\n @elementDefine('swc-app-img', { extends: 'img', window: w })\n class SwcAppImage extends SwcAppMixin(HTMLImageElement) {}\n\n @elementDefine('swc-app-input', { extends: 'input', window: w })\n class SwcAppInput extends SwcAppMixin(HTMLInputElement) {}\n\n @elementDefine('swc-app-label', { extends: 'label', window: w })\n class SwcAppLabel extends SwcAppMixin(HTMLLabelElement) {}\n\n @elementDefine('swc-app-legend', { extends: 'legend', window: w })\n class SwcAppLegend extends SwcAppMixin(HTMLLegendElement) {}\n\n @elementDefine('swc-app-li', { extends: 'li', window: w })\n class SwcAppLI extends SwcAppMixin(HTMLLIElement) {}\n\n @elementDefine('swc-app-link', { extends: 'link', window: w })\n class SwcAppLink extends SwcAppMixin(HTMLLinkElement) {}\n\n @elementDefine('swc-app-map', { extends: 'map', window: w })\n class SwcAppMap extends SwcAppMixin(HTMLMapElement) {}\n\n @elementDefine('swc-app-meta', { extends: 'meta', window: w })\n class SwcAppMeta extends SwcAppMixin(HTMLMetaElement) {}\n\n @elementDefine('swc-app-meter', { extends: 'meter', window: w })\n class SwcAppMeter extends SwcAppMixin(HTMLMeterElement) {}\n\n @elementDefine('swc-app-del', { extends: 'del', window: w })\n class SwcAppMod extends SwcAppMixin(HTMLModElement) {}\n\n @elementDefine('swc-app-object', { extends: 'object', window: w })\n class SwcAppObject extends SwcAppMixin(HTMLObjectElement) {}\n\n @elementDefine('swc-app-ol', { extends: 'ol', window: w })\n class SwcAppOList extends SwcAppMixin(HTMLOListElement) {}\n\n @elementDefine('swc-app-optgroup', { extends: 'optgroup', window: w })\n class SwcAppOptGroup extends SwcAppMixin(HTMLOptGroupElement) {}\n\n @elementDefine('swc-app-option', { extends: 'option', window: w })\n class SwcAppOption extends SwcAppMixin(HTMLOptionElement) {}\n\n @elementDefine('swc-app-output', { extends: 'output', window: w })\n class SwcAppOutput extends SwcAppMixin(HTMLOutputElement) {}\n\n @elementDefine('swc-app-p', { extends: 'p', window: w })\n class SwcAppParagraph extends SwcAppMixin(HTMLParagraphElement) {}\n\n @elementDefine('swc-app-param', { extends: 'param', window: w })\n class SwcAppParam extends SwcAppMixin(HTMLParamElement) {}\n\n @elementDefine('swc-app-picture', { extends: 'picture', window: w })\n class SwcAppPicture extends SwcAppMixin(HTMLPictureElement) {}\n\n @elementDefine('swc-app-pre', { extends: 'pre', window: w })\n class SwcAppPre extends SwcAppMixin(HTMLPreElement) {}\n\n @elementDefine('swc-app-progress', { extends: 'progress', window: w })\n class SwcAppProgress extends SwcAppMixin(HTMLProgressElement) {}\n\n @elementDefine('swc-app-blockquote', { extends: 'blockquote', window: w })\n class SwcAppQuote extends SwcAppMixin(HTMLQuoteElement) {}\n\n @elementDefine('swc-app-script', { extends: 'script', window: w })\n class SwcAppScript extends SwcAppMixin(HTMLScriptElement) {}\n\n @elementDefine('swc-app-select', { extends: 'select', window: w })\n class SwcAppSelect extends SwcAppMixin(HTMLSelectElement) {}\n\n @elementDefine('swc-app-slot', { extends: 'slot', window: w })\n class SwcAppSlot extends SwcAppMixin(HTMLSlotElement) {}\n\n @elementDefine('swc-app-source', { extends: 'source', window: w })\n class SwcAppSource extends SwcAppMixin(HTMLSourceElement) {}\n\n @elementDefine('swc-app-span', { extends: 'span', window: w })\n class SwcAppSpan extends SwcAppMixin(HTMLSpanElement) {}\n\n @elementDefine('swc-app-style', { extends: 'style', window: w })\n class SwcAppStyle extends SwcAppMixin(HTMLStyleElement) {}\n\n @elementDefine('swc-app-table', { extends: 'table', window: w })\n class SwcAppTable extends SwcAppMixin(HTMLTableElement) {}\n\n @elementDefine('swc-app-tbody', { extends: 'tbody', window: w })\n class SwcAppTableSection extends SwcAppMixin(HTMLTableSectionElement) {}\n\n @elementDefine('swc-app-td', { extends: 'td', window: w })\n class SwcAppTableCell extends SwcAppMixin(HTMLTableCellElement) {}\n\n @elementDefine('swc-app-template', { extends: 'template', window: w })\n class SwcAppTemplate extends SwcAppMixin(HTMLTemplateElement) {}\n\n @elementDefine('swc-app-textarea', { extends: 'textarea', window: w })\n class SwcAppTextArea extends SwcAppMixin(HTMLTextAreaElement) {}\n\n @elementDefine('swc-app-time', { extends: 'time', window: w })\n class SwcAppTime extends SwcAppMixin(HTMLTimeElement) {}\n\n @elementDefine('swc-app-title', { extends: 'title', window: w })\n class SwcAppTitle extends SwcAppMixin(HTMLTitleElement) {}\n\n @elementDefine('swc-app-tr', { extends: 'tr', window: w })\n class SwcAppTableRow extends SwcAppMixin(HTMLTableRowElement) {}\n\n @elementDefine('swc-app-track', { extends: 'track', window: w })\n class SwcAppTrack extends SwcAppMixin(HTMLTrackElement) {}\n\n @elementDefine('swc-app-ul', { extends: 'ul', window: w })\n class SwcAppUList extends SwcAppMixin(HTMLUListElement) {}\n\n @elementDefine('swc-app-video', { extends: 'video', window: w })\n class SwcAppVideo extends SwcAppMixin(HTMLVideoElement) {}\n\n @elementDefine('swc-app-h1', { extends: 'h1', window: w })\n class SwcAppHeading extends SwcAppMixin(HTMLHeadingElement) {}\n\n @elementDefine('swc-app-body', { extends: 'body', window: w })\n class SwcAppBody extends SwcAppMixin(HTMLBodyElement) {}\n\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA,2BAA8B;AAC9B,yBAA4B;AAC5B,mBAAyB;AACzB,kBAA8B;AAC9B,8BAAiC;;;;;;;;;;AAE1B,MAAM,sBAAsB,CAAC,MAAU;AAC5C,QAAM,EACJ,aAAa,cACb,qBAAqB,sBACrB,kBAAkB,mBAClB,MAAM,OACN,SAAS,UACT,mBAAmB,oBACnB,iBAAiB,kBACjB,kBAAkB,mBAClB,iBAAiB,kBACjB,mBAAmB,oBACnB,mBAAmB,oBACnB,iBAAiB,kBACjB,qBAAqB,sBACrB,oBAAoB,qBACpB,mBAAmB,oBACnB,gBAAgB,iBAChB,kBAAkB,mBAClB,kBAAkB,mBAClB,qBAAqB,sBACrB,iBAAiB,kBACjB,eAAe,gBACf,mBAAmB,oBACnB,kBAAkB,mBAClB,kBAAkB,mBAClB,kBAAkB,mBAClB,mBAAmB,oBACnB,eAAe,gBACf,iBAAiB,kBACjB,gBAAgB,iBAChB,iBAAiB,kBACjB,kBAAkB,mBAClB,gBAAgB,iBAChB,mBAAmB,oBACnB,kBAAkB,mBAClB,qBAAqB,sBACrB,mBAAmB,oBACnB,mBAAmB,oBACnB,sBAAsB,uBACtB,kBAAkB,mBAClB,oBAAoB,qBACpB,gBAAgB,iBAChB,qBAAqB,sBACrB,kBAAkB,mBAClB,mBAAmB,oBACnB,mBAAmB,oBACnB,iBAAiB,kBACjB,mBAAmB,oBACnB,iBAAiB,kBACjB,kBAAkB,mBAClB,kBAAkB,mBAClB,yBAAyB,0BACzB,sBAAsB,uBACtB,qBAAqB,sBACrB,iBAAiB,kBACjB,kBAAkB,mBAClB,qBAAqB,sBACrB,kBAAkB,mBAClB,kBAAkB,mBAClB,kBAAkB,mBAClB,oBAAoB,qBACpB,iBAAiB,iBAAgB,IAC/B;AAEJ,QAAM,cAAc;AACpB,QAAM,sBAAsB;AAC5B,QAAM,mBAAmB;AACzB,QAAM,OAAO;AACb,QAAM,UAAU;AAChB,QAAM,oBAAoB;AAC1B,QAAM,kBAAkB;AACxB,QAAM,mBAAmB;AACzB,QAAM,kBAAkB;AACxB,QAAM,oBAAoB;AAC1B,QAAM,oBAAoB;AAC1B,QAAM,kBAAkB;AACxB,QAAM,sBAAsB;AAC5B,QAAM,qBAAqB;AAC3B,QAAM,oBAAoB;AAC1B,QAAM,iBAAiB;AACvB,QAAM,mBAAmB;AACzB,QAAM,mBAAmB;AACzB,QAAM,sBAAsB;AAC5B,QAAM,kBAAkB;AACxB,QAAM,gBAAgB;AACtB,QAAM,oBAAoB;AAC1B,QAAM,mBAAmB;AACzB,QAAM,mBAAmB;AACzB,QAAM,mBAAmB;AACzB,QAAM,oBAAoB;AAC1B,QAAM,gBAAgB;AACtB,QAAM,kBAAkB;AACxB,QAAM,iBAAiB;AACvB,QAAM,kBAAkB;AACxB,QAAM,mBAAmB;AACzB,QAAM,iBAAiB;AACvB,QAAM,oBAAoB;AAC1B,QAAM,mBAAmB;AACzB,QAAM,sBAAsB;AAC5B,QAAM,oBAAoB;AAC1B,QAAM,oBAAoB;AAC1B,QAAM,uBAAuB;AAC7B,QAAM,mBAAmB;AACzB,QAAM,qBAAqB;AAC3B,QAAM,iBAAiB;AACvB,QAAM,sBAAsB;AAC5B,QAAM,mBAAmB;AACzB,QAAM,oBAAoB;AAC1B,QAAM,oBAAoB;AAC1B,QAAM,kBAAkB;AACxB,QAAM,oBAAoB;AAC1B,QAAM,kBAAkB;AACxB,QAAM,mBAAmB;AACzB,QAAM,mBAAmB;AACzB,QAAM,0BAA0B;AAChC,QAAM,uBAAuB;AAC7B,QAAM,sBAAsB;AAC5B,QAAM,kBAAkB;AACxB,QAAM,mBAAmB;AACzB,QAAM,sBAAsB;AAC5B,QAAM,mBAAmB;AACzB,QAAM,mBAAmB;AACzB,QAAM,mBAAmB;AACzB,QAAM,qBAAqB;AAC3B,QAAM,kBAAkB;AAI0C,MAAM,aAAN,MAAM,mBAAmB,oBAAmB;;AAAtC,eAAU,WAAA;QAAjF,oCAAc,eAAe,EAAE,SAAS,YAAY,QAAQ,EAAC,CAAE;KAAQ,UAAU;AAClB,MAAM,WAAN,MAAM,iBAAiB,oBAAmB;;AAApC,aAAQ,WAAA;QAA7E,oCAAc,aAAa,EAAE,SAAS,YAAY,QAAQ,EAAC,CAAE;KAAQ,QAAQ;AACZ,MAAM,aAAN,MAAM,mBAAmB,oBAAmB;;AAAtC,eAAU,WAAA;QAAjF,oCAAc,eAAe,EAAE,SAAS,YAAY,QAAQ,EAAC,CAAE;KAAQ,UAAU;AACnB,MAAM,UAAN,MAAM,gBAAgB,oBAAmB;;AAAnC,YAAO,WAAA;QAA3E,oCAAc,YAAY,EAAE,SAAS,YAAY,QAAQ,EAAC,CAAE;KAAQ,OAAO;AACR,MAAM,eAAN,MAAM,qBAAqB,oBAAmB;;AAAxC,iBAAY,WAAA;QAArF,oCAAc,iBAAiB,EAAE,SAAS,YAAY,QAAQ,EAAC,CAAE;KAAQ,YAAY;AACpB,MAAM,aAAN,MAAM,mBAAmB,oBAAmB;;AAAtC,eAAU,WAAA;QAAjF,oCAAc,eAAe,EAAE,SAAS,YAAY,QAAQ,EAAC,CAAE;KAAQ,UAAU;AAIlF,MAAM,SAAN,MAAM,mBAAe,gCAAY,WAAW,EAAC;;AAAvC,WAAM,WAAA;QADX,oCAAc,WAAW,EAAE,QAAQ,EAAC,CAAE;KACjC,MAAM;AAGZ,MAAM,QAAN,MAAM,cAAc,oBAAmB;IAAvC,cAAA;;AACQ,WAAA,SAAS;AACT,WAAA,SAAiB,CAAA;IAyGzB;IAvGA,IAAI,QAAK;AACP,aAAO,KAAK;IACd;IACA,IAAI,MAAM,IAAO;AACf,WAAK,SAAS,QAAQ,EAAE;AACxB,WAAK,OAAM;IACb;IAEQ,iBAAc;AACpB,YAAM,eAAe,KAAK,aAAa,eAAe;AACtD,UAAI,CAAC;AAAc,eAAO,KAAK;AAE/B,YAAM,MAAM,KAAK,eAAe,eAAe;AAC/C,YAAM,MAAM,0BAAc,cAAc;QACtC,QAAQ;QACR,SAAS;QACT,MAAM,sBAAS,oBAAoB,KAAK,IAAI;OAC7C;AAED,UAAI,eAAe;AAAa,eAAO;AACvC,UAAI,OAAO,QAAQ;AAAU,eAAO,IAAI,SAAS,cAAc,GAAG;AAClE,aAAO,KAAK;IACd;IAEQ,sBAAsB,MAAc,MAAS;AACnD,YAAM,SAAS,KAAK,aAAa,IAAI;AACrC,UAAI,CAAC;AAAQ;AACb,gCAAc,QAAQ,EAAE,QAAQ,SAAS,MAAM,KAAI,CAAE;IACvD;IAGQ,eAAY;AAClB,YAAM,SAAS,KAAK,aAAa,cAAc;AAC/C,UAAI,CAAC,QAAQ;AACX,aAAK,QAAQ;AACb;MACF;AACA,YAAM,MAAM,KAAK,eAAe,eAAe;AAC/C,YAAM,MAAM,0BAAc,cAAc;QACtC;QACA,SAAS;QACT,MAAM,sBAAS,oBAAoB,KAAK,IAAI;OAC7C;AAED,UAAI,eAAe,SAAS;AAC1B,YAAI,KAAK,OAAM,KAAK,QAAQ,CAAE,EAAE,MAAM,MAAO,KAAK,QAAQ,KAAM;MAClE,OAAO;AACL,aAAK,QAAQ;MACf;IACF;IAEQ,SAAM;AACZ,WAAK,QAAO;AACZ,YAAM,SAAS,KAAK,eAAc;AAClC,UAAI,CAAC;AAAQ;AAEb,YAAM,MAAM,KAAK,eAAe,eAAe;AAC/C,YAAM,YAAY,sBAAS,oBAAoB,KAAK,IAAI;AAExD,UAAI,YAAwC;AAC5C,UAAI,KAAK,QAAQ;AACf,oBAAY;MACd,OAAO;AACL,oBAAY,KAAK,QAAQ,cAAc,4BAA4B;MACrE;AAEA,UAAI,WAAW;AACb,cAAM,QAAQ,UAAU,QAAQ,UAAU,IAAI;AAE9C,YAAI,cAAc,MAAM;AACtB,gBAAM,iBAAiB,sBAAsB,EAAE,QAAQ,OAAK,EAAE,OAAM,CAAE;QACxE;AAEA,aAAK,SAAS,MAAM,KAAK,MAAM,UAAU;AACzC,cAAM,WAAW,KAAK,OAAO,OAAO,OAAK,EAAE,aAAa,CAAC;AACzD,cAAM,YAAY,EAAE,GAAG,WAAW,QAAQ,KAAK,QAAQ,QAAQ,KAAK,QAAQ,WAAW,UAAU,eAAe,SAAS,CAAC,EAAC;AAE3H,aAAK,OAAO,QAAQ,CAAC,MAAM,YAAW;AACpC,cAAI,gBAAgB;AAAc,iBAAa,aAAa;AAC5D,eAAK,sBAAsB,iBAAiB,EAAE,GAAG,WAAW,OAAO,MAAM,YAAY,SAAS,YAAY,KAAK,aAAa,EAAC,CAAE;QACjI,CAAC;AAED,aAAK,sBAAsB,kBAAkB,SAAS;AAEtD,YAAI,WAAW,KAAK,eAAe;AACjC,iBAAO,aAAa,OAAO,KAAK,WAAW;QAC7C,OAAO;AACL,iBAAO,YAAY,KAAK;QAC1B;MACF;IACF;IAEQ,UAAO;AACb,WAAK,OAAO,QAAQ,OAAK,EAAE,eAAe,YAAY,CAAC,CAAC;AACxD,WAAK,SAAS,CAAA;IAChB;IAEA,oBAAiB;AACf,WAAK,aAAY;IACnB;IACA,uBAAoB;AAClB,WAAK,QAAO;IACd;;AAvEQ,aAAA;QADP,0CAAiB,cAAc;;;;;AAlC1B,UAAK,WAAA;QADR,oCAAc,UAAU,EAAE,SAAS,YAAY,QAAQ,EAAC,CAAE;KACvD,KAAK;AA8GX,MAAM,UAAN,MAAM,gBAAgB,oBAAmB;IAAzC,cAAA;;AACQ,WAAA,SAAgB,CAAA;AAChB,WAAA,cAAwB,CAAA;IA+GhC;IA7GA,IAAI,QAAK;AACP,aAAO,KAAK;IACd;IACA,IAAI,MAAM,IAAS;AACjB,WAAK,SAAS,MAAM,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAA;AAC5C,WAAK,OAAM;IACb;IAEQ,iBAAc;AACpB,YAAM,eAAe,KAAK,aAAa,eAAe;AACtD,UAAI,CAAC;AAAc,eAAO,KAAK;AAE/B,YAAM,MAAM,KAAK,eAAe,eAAe;AAC/C,YAAM,MAAM,0BAAc,cAAc;QACtC,QAAQ;QACR,SAAS;QACT,MAAM,sBAAS,oBAAoB,KAAK,IAAI;OAC7C;AAED,UAAI,eAAe;AAAa,eAAO;AACvC,UAAI,OAAO,QAAQ;AAAU,eAAO,IAAI,SAAS,cAAc,GAAG;AAClE,aAAO,KAAK;IACd;IAEQ,sBAAsB,MAAc,MAAS;AACnD,YAAM,SAAS,KAAK,aAAa,IAAI;AACrC,UAAI,CAAC;AAAQ;AACb,gCAAc,QAAQ,EAAE,QAAQ,SAAS,MAAM,KAAI,CAAE;IACvD;IAEQ,WAAQ;AACd,WAAK,YAAY,QAAQ,WAAS,MAAM,QAAQ,OAAK,EAAE,eAAe,YAAY,CAAC,CAAC,CAAC;AACrF,WAAK,cAAc,CAAA;IACrB;IAGQ,eAAY;AAClB,YAAM,SAAS,KAAK,aAAa,cAAc;AAC/C,UAAI,CAAC,QAAQ;AACX,aAAK,QAAQ,CAAA;AACb;MACF;AACA,YAAM,MAAM,KAAK,eAAe,eAAe;AAC/C,YAAM,MAAM,0BAAc,cAAc;QACtC;QACA,SAAS;QACT,MAAM,sBAAS,oBAAoB,KAAK,IAAI;OAC7C;AAED,UAAI,eAAe,SAAS;AAC1B,YAAI,KAAK,OAAM,KAAK,QAAQ,CAAE,EAAE,MAAM,MAAO,KAAK,QAAQ,CAAA,CAAG;MAC/D,OAAO;AACL,aAAK,QAAQ;MACf;IACF;IAEA,SAAM;AACJ,WAAK,SAAQ;AACb,YAAM,SAAS,KAAK,eAAc;AAClC,UAAI,CAAC;AAAQ;AAEb,YAAM,MAAM,KAAK,eAAe,eAAe;AAC/C,YAAM,YAAY,sBAAS,oBAAoB,KAAK,IAAI;AACxD,YAAM,WAAW,IAAI,SAAS,uBAAsB;AAEpD,UAAI,KAAK,OAAO,WAAW,GAAG;AAC5B,cAAM,aAAa,KAAK,QAAQ,cAAc,4BAA4B;AAC1E,YAAI,YAAY;AACd,gBAAM,QAAQ,WAAW,QAAQ,UAAU,IAAI;AAC/C,gBAAM,QAAQ,MAAM,KAAK,MAAM,UAAU;AACzC,eAAK,YAAY,KAAK,KAAK;AAC3B,mBAAS,YAAY,KAAK;QAC5B;MACF,OAAO;AACL,aAAK,OAAO,QAAQ,CAAC,MAAM,UAAS;AAClC,gBAAM,QAAQ,KAAK,QAAQ,UAAU,IAAI;AAEzC,gBAAM,eAAe,MAAM,iBAAiB,sBAAsB;AAClE,uBAAa,QAAQ,OAAK,EAAE,OAAM,CAAE;AAEpC,gBAAM,QAAQ,MAAM,KAAK,MAAM,UAAU;AACzC,gBAAM,WAAW,MAAM,OAAO,OAAK,EAAE,aAAa,CAAC;AAEnD,gBAAM,YAAY,EAAE,GAAG,WAAW,OAAO,MAAM,QAAQ,OAAO,QAAQ,KAAK,QAAQ,QAAQ,OAAO,WAAW,UAAU,eAAe,SAAS,CAAC,EAAC;AAEjJ,gBAAM,QAAQ,CAAC,MAAM,YAAW;AAC9B,gBAAI,gBAAgB;AAAc,mBAAa,aAAa;AAC5D,iBAAK,sBAAsB,iBAAiB,EAAE,GAAG,WAAW,OAAO,MAAM,YAAY,SAAS,YAAY,KAAK,aAAa,EAAC,CAAE;UACjI,CAAC;AAED,eAAK,sBAAsB,kBAAkB,SAAS;AACtD,eAAK,YAAY,KAAK,KAAK;AAC3B,mBAAS,YAAY,KAAK;QAC5B,CAAC;MACH;AAEA,UAAI,WAAW,KAAK,eAAe;AACjC,eAAO,aAAa,UAAU,KAAK,WAAW;MAChD,OAAO;AACL,eAAO,YAAY,QAAQ;MAC7B;IACF;IAEA,oBAAiB;AACf,WAAK,aAAY;IACnB;IACA,uBAAoB;AAClB,WAAK,SAAQ;IACf;;AAxEQ,aAAA;QADP,0CAAiB,cAAc;;;;;AAvC1B,YAAO,WAAA;QADV,oCAAc,YAAY,EAAE,SAAS,YAAY,QAAQ,EAAC,CAAE;KACzD,OAAO;AAoHb,MAAM,YAAN,MAAM,kBAAkB,oBAAmB;IAA3C,cAAA;;AACQ,WAAA,SAAiB,CAAA;AACjB,WAAA,SAAc;IA8FtB;IA5FA,IAAI,QAAK;AACP,aAAO,KAAK;IACd;IACA,IAAI,MAAM,IAAO;AACf,WAAK,SAAS;AACd,WAAK,OAAM;IACb;IAEQ,iBAAc;AACpB,YAAM,eAAe,KAAK,aAAa,eAAe;AACtD,UAAI,CAAC;AAAc,eAAO,KAAK;AAE/B,YAAM,MAAM,KAAK,eAAe,eAAe;AAC/C,YAAM,MAAM,0BAAc,cAAc;QACtC,QAAQ;QACR,SAAS;QACT,MAAM,sBAAS,oBAAoB,KAAK,IAAI;OAC7C;AAED,UAAI,eAAe;AAAa,eAAO;AACvC,UAAI,OAAO,QAAQ;AAAU,eAAO,IAAI,SAAS,cAAc,GAAG;AAClE,aAAO,KAAK;IACd;IAEQ,sBAAsB,MAAc,MAAS;AACnD,YAAM,SAAS,KAAK,aAAa,IAAI;AACrC,UAAI,CAAC;AAAQ;AACb,gCAAc,QAAQ,EAAE,QAAQ,SAAS,MAAM,KAAI,CAAE;IACvD;IAGQ,UAAO;AACb,YAAM,SAAS,KAAK,aAAa,cAAc;AAC/C,UAAI,CAAC,QAAQ;AACX,aAAK,QAAQ;AACb;MACF;AACA,YAAM,MAAM,KAAK,eAAe,eAAe;AAC/C,YAAM,SAAS,0BAAc,cAAc,EAAE,QAAQ,SAAS,MAAM,MAAM,sBAAS,oBAAoB,KAAK,IAAI,EAAC,CAAE;AACnH,WAAK,QAAQ;IACf;IAEQ,SAAM;AACZ,WAAK,QAAO;AACZ,YAAM,SAAS,KAAK,eAAc;AAClC,UAAI,CAAC;AAAQ;AAEb,YAAM,MAAM,KAAK,eAAe,eAAe;AAC/C,YAAM,YAAY,sBAAS,oBAAoB,KAAK,IAAI;AAExD,YAAM,YAAY,MAAM,KAAK,KAAK,QAAQ,iBAAiB,UAAU,CAAC;AACtE,UAAI,WAAuC;AAC3C,iBAAW,KAAK,WAAW;AACzB,YAAI,EAAE,aAAa,IAAI,MAAM,cAAc,OAAO,EAAE,aAAa,OAAO,CAAC,MAAM,OAAO,KAAK,MAAM,GAAG;AAClG,qBAAW;AACX;QACF;MACF;AACA,YAAM,SAAS,YAAa,KAAK,QAAQ,cAAc,8BAA8B;AAErF,UAAI,QAAQ;AACV,cAAM,QAAQ,OAAO,QAAQ,UAAU,IAAI;AAC3C,aAAK,SAAS,MAAM,KAAK,MAAM,UAAU;AACzC,cAAM,WAAW,KAAK,OAAO,OAAO,OAAK,EAAE,aAAa,CAAC;AACzD,cAAM,YAAY,EAAE,GAAG,WAAW,QAAQ,KAAK,QAAQ,QAAQ,KAAK,QAAQ,WAAW,UAAU,eAAe,SAAS,CAAC,EAAC;AAE3H,aAAK,OAAO,QAAQ,CAAC,GAAG,YAAW;AACjC,cAAI,aAAa;AAAc,cAAU,aAAa;AACtD,eAAK,sBAAsB,iBAAiB,EAAE,GAAG,WAAW,OAAO,GAAG,YAAY,SAAS,YAAY,EAAE,aAAa,EAAC,CAAE;QAC3H,CAAC;AAED,aAAK,sBAAsB,kBAAkB,SAAS;AAEtD,YAAI,WAAW,KAAK,eAAe;AACjC,iBAAO,aAAa,OAAO,KAAK,WAAW;QAC7C,OAAO;AACL,iBAAO,YAAY,KAAK;QAC1B;MACF;IACF;IAEQ,UAAO;AACb,WAAK,OAAO,QAAQ,OAAK,EAAE,eAAe,YAAY,CAAC,CAAC;AACxD,WAAK,SAAS,CAAA;IAChB;IAEA,oBAAiB;AACf,WAAK,QAAO;IACd;IACA,uBAAoB;AAClB,WAAK,QAAO;IACd;;AA5DQ,aAAA;QADP,0CAAiB,cAAc;;;;;AAlC1B,cAAS,WAAA;QADZ,oCAAc,cAAc,EAAE,SAAS,YAAY,QAAQ,EAAC,CAAE;KAC3D,SAAS;AAmGf,MAAM,WAAN,MAAM,iBAAiB,oBAAmB;IAA1C,cAAA;;AACQ,WAAA,SAAiB,CAAA;AACjB,WAAA,SAAc;IAsFtB;IApFQ,iBAAc;AACpB,YAAM,eAAe,KAAK,aAAa,eAAe;AACtD,UAAI,CAAC;AAAc,eAAO,KAAK;AAE/B,YAAM,MAAM,KAAK,eAAe,eAAe;AAC/C,YAAM,MAAM,0BAAc,cAAc;QACtC,QAAQ;QACR,SAAS;QACT,MAAM,sBAAS,oBAAoB,KAAK,IAAI;OAC7C;AAED,UAAI,eAAe;AAAa,eAAO;AACvC,UAAI,OAAO,QAAQ;AAAU,eAAO,IAAI,SAAS,cAAc,GAAG;AAClE,aAAO,KAAK;IACd;IAEQ,sBAAsB,MAAc,MAAS;AACnD,YAAM,SAAS,KAAK,aAAa,IAAI;AACrC,UAAI,CAAC;AAAQ;AACb,gCAAc,QAAQ,EAAE,QAAQ,SAAS,MAAM,KAAI,CAAE;IACvD;IAGQ,UAAO;AACb,YAAM,SAAS,KAAK,aAAa,cAAc;AAC/C,UAAI,CAAC;AAAQ;AACb,YAAM,MAAM,KAAK,eAAe,eAAe;AAC/C,YAAM,SAAS,0BAAc,cAAc,EAAE,QAAQ,SAAS,MAAM,MAAM,sBAAS,oBAAoB,KAAK,IAAI,EAAC,CAAE;AAEnH,UAAI,kBAAkB,SAAS;AAC7B,aAAK,OAAO,SAAS;AACrB,eACG,KAAK,OAAI;AACR,eAAK,SAAS;AACd,eAAK,OAAO,SAAS;QACvB,CAAC,EACA,MAAM,OAAK,KAAK,OAAO,OAAO,CAAC;MACpC,OAAO;AACL,aAAK,SAAS;AACd,aAAK,OAAO,SAAS;MACvB;IACF;IAEQ,OAAO,OAAa;AAC1B,WAAK,QAAO;AACZ,YAAM,SAAS,KAAK,eAAc;AAClC,UAAI,CAAC;AAAQ;AAEb,YAAM,MAAM,KAAK,eAAe,eAAe;AAC/C,YAAM,YAAY,sBAAS,oBAAoB,KAAK,IAAI;AAExD,YAAM,IAAI,KAAK,QAAQ,cAAc,oBAAoB,KAAK,IAAI;AAClE,UAAI,GAAG;AACL,cAAM,QAAQ,EAAE,QAAQ,UAAU,IAAI;AACtC,aAAK,SAAS,MAAM,KAAK,MAAM,UAAU;AACzC,cAAM,WAAW,KAAK,OAAO,OAAO,OAAK,EAAE,aAAa,CAAC;AACzD,cAAM,YAAY,EAAE,GAAG,WAAW,QAAQ,KAAK,QAAQ,QAAQ,KAAK,QAAQ,WAAW,UAAU,eAAe,SAAS,CAAC,GAAG,QAAQ,MAAK;AAE1I,aAAK,OAAO,QAAQ,CAAC,GAAG,YAAW;AACjC,cAAI,aAAa;AAAc,cAAU,aAAa;AACtD,eAAK,sBAAsB,iBAAiB,EAAE,GAAG,WAAW,OAAO,GAAG,YAAY,SAAS,YAAY,EAAE,aAAa,EAAC,CAAE;QAC3H,CAAC;AAED,aAAK,sBAAsB,kBAAkB,SAAS;AAEtD,YAAI,WAAW,KAAK,eAAe;AACjC,iBAAO,aAAa,OAAO,KAAK,WAAW;QAC7C,OAAO;AACL,iBAAO,YAAY,KAAK;QAC1B;MACF;IACF;IAEQ,UAAO;AACb,WAAK,OAAO,QAAQ,OAAK,EAAE,eAAe,YAAY,CAAC,CAAC;AACxD,WAAK,SAAS,CAAA;IAChB;IAEA,oBAAiB;AACf,WAAK,QAAO;IACd;IACA,uBAAoB;AAClB,WAAK,QAAO;IACd;;AA5DQ,aAAA;QADP,0CAAiB,cAAc;;;;;AA1B1B,aAAQ,WAAA;QADX,oCAAc,aAAa,EAAE,SAAS,YAAY,QAAQ,EAAC,CAAE;KAC1D,QAAQ;AA4Fd,MAAM,eAAN,MAAM,yBAAqB,gCAAY,iBAAiB,EAAC;;AAAnD,iBAAY,WAAA;QADjB,oCAAc,aAAa,EAAE,SAAS,KAAK,QAAQ,EAAC,CAAE;KACjD,YAAY;AAGlB,MAAM,aAAN,MAAM,uBAAmB,gCAAY,eAAe,EAAC;;AAA/C,eAAU,WAAA;QADf,oCAAc,gBAAgB,EAAE,SAAS,QAAQ,QAAQ,EAAC,CAAE;KACvD,UAAU;AAGhB,MAAM,cAAN,MAAM,wBAAoB,gCAAY,gBAAgB,EAAC;;AAAjD,gBAAW,WAAA;QADhB,oCAAc,iBAAiB,EAAE,SAAS,SAAS,QAAQ,EAAC,CAAE;KACzD,WAAW;AAGjB,MAAM,aAAN,MAAM,uBAAmB,gCAAY,eAAe,EAAC;;AAA/C,eAAU,WAAA;QADf,oCAAc,gBAAgB,EAAE,SAAS,QAAQ,QAAQ,EAAC,CAAE;KACvD,UAAU;AAGhB,MAAM,eAAN,MAAM,yBAAqB,gCAAY,iBAAiB,EAAC;;AAAnD,iBAAY,WAAA;QADjB,oCAAc,kBAAkB,EAAE,SAAS,UAAU,QAAQ,EAAC,CAAE;KAC3D,YAAY;AAGlB,MAAM,eAAN,MAAM,yBAAqB,gCAAY,iBAAiB,EAAC;;AAAnD,iBAAY,WAAA;QADjB,oCAAc,kBAAkB,EAAE,SAAS,UAAU,QAAQ,EAAC,CAAE;KAC3D,YAAY;AAGlB,MAAM,aAAN,MAAM,uBAAmB,gCAAY,eAAe,EAAC;;AAA/C,eAAU,WAAA;QADf,oCAAc,gBAAgB,EAAE,SAAS,QAAQ,QAAQ,EAAC,CAAE;KACvD,UAAU;AAGhB,MAAM,iBAAN,MAAM,2BAAuB,gCAAY,mBAAmB,EAAC;;AAAvD,mBAAc,WAAA;QADnB,oCAAc,oBAAoB,EAAE,SAAS,YAAY,QAAQ,EAAC,CAAE;KAC/D,cAAc;AAGpB,MAAM,gBAAN,MAAM,0BAAsB,gCAAY,kBAAkB,EAAC;;AAArD,kBAAa,WAAA;QADlB,oCAAc,mBAAmB,EAAE,SAAS,WAAW,QAAQ,EAAC,CAAE;KAC7D,aAAa;AAGnB,MAAM,eAAN,MAAM,yBAAqB,gCAAY,iBAAiB,EAAC;;AAAnD,iBAAY,WAAA;QADjB,oCAAc,kBAAkB,EAAE,SAAS,UAAU,QAAQ,EAAC,CAAE;KAC3D,YAAY;AAGlB,MAAM,YAAN,MAAM,sBAAkB,gCAAY,cAAc,EAAC;;AAA7C,cAAS,WAAA;QADd,oCAAc,eAAe,EAAE,SAAS,OAAO,QAAQ,EAAC,CAAE;KACrD,SAAS;AAGf,MAAM,cAAN,MAAM,wBAAoB,gCAAY,gBAAgB,EAAC;;AAAjD,gBAAW,WAAA;QADhB,oCAAc,cAAc,EAAE,SAAS,MAAM,QAAQ,EAAC,CAAE;KACnD,WAAW;AAGjB,MAAM,cAAN,MAAM,wBAAoB,gCAAY,gBAAgB,EAAC;;AAAjD,gBAAW,WAAA;QADhB,oCAAc,iBAAiB,EAAE,SAAS,SAAS,QAAQ,EAAC,CAAE;KACzD,WAAW;AAGjB,MAAM,iBAAN,MAAM,2BAAuB,gCAAY,mBAAmB,EAAC;;AAAvD,mBAAc,WAAA;QADnB,oCAAc,oBAAoB,EAAE,SAAS,YAAY,QAAQ,EAAC,CAAE;KAC/D,cAAc;AAGpB,MAAM,aAAN,MAAM,uBAAmB,gCAAY,eAAe,EAAC;;AAA/C,eAAU,WAAA;QADf,oCAAc,gBAAgB,EAAE,SAAS,QAAQ,QAAQ,EAAC,CAAE;KACvD,UAAU;AAGhB,MAAM,WAAN,MAAM,qBAAiB,gCAAY,aAAa,EAAC;;AAA3C,aAAQ,WAAA;QADb,oCAAc,cAAc,EAAE,SAAS,MAAM,QAAQ,EAAC,CAAE;KACnD,QAAQ;AAGd,MAAM,eAAN,MAAM,yBAAqB,gCAAY,iBAAiB,EAAC;;AAAnD,iBAAY,WAAA;QADjB,oCAAc,kBAAkB,EAAE,SAAS,UAAU,QAAQ,EAAC,CAAE;KAC3D,YAAY;AAGlB,MAAM,cAAN,MAAM,wBAAoB,gCAAY,gBAAgB,EAAC;;AAAjD,gBAAW,WAAA;QADhB,oCAAc,eAAe,EAAE,SAAS,OAAO,QAAQ,EAAC,CAAE;KACrD,WAAW;AAGjB,MAAM,cAAN,MAAM,wBAAoB,gCAAY,gBAAgB,EAAC;;AAAjD,gBAAW,WAAA;QADhB,oCAAc,iBAAiB,EAAE,SAAS,SAAS,QAAQ,EAAC,CAAE;KACzD,WAAW;AAGjB,MAAM,cAAN,MAAM,wBAAoB,gCAAY,gBAAgB,EAAC;;AAAjD,gBAAW,WAAA;QADhB,oCAAc,iBAAiB,EAAE,SAAS,SAAS,QAAQ,EAAC,CAAE;KACzD,WAAW;AAGjB,MAAM,eAAN,MAAM,yBAAqB,gCAAY,iBAAiB,EAAC;;AAAnD,iBAAY,WAAA;QADjB,oCAAc,kBAAkB,EAAE,SAAS,UAAU,QAAQ,EAAC,CAAE;KAC3D,YAAY;AAGlB,MAAM,WAAN,MAAM,qBAAiB,gCAAY,aAAa,EAAC;;AAA3C,aAAQ,WAAA;QADb,oCAAc,cAAc,EAAE,SAAS,MAAM,QAAQ,EAAC,CAAE;KACnD,QAAQ;AAGd,MAAM,aAAN,MAAM,uBAAmB,gCAAY,eAAe,EAAC;;AAA/C,eAAU,WAAA;QADf,oCAAc,gBAAgB,EAAE,SAAS,QAAQ,QAAQ,EAAC,CAAE;KACvD,UAAU;AAGhB,MAAM,YAAN,MAAM,sBAAkB,gCAAY,cAAc,EAAC;;AAA7C,cAAS,WAAA;QADd,oCAAc,eAAe,EAAE,SAAS,OAAO,QAAQ,EAAC,CAAE;KACrD,SAAS;AAGf,MAAM,aAAN,MAAM,uBAAmB,gCAAY,eAAe,EAAC;;AAA/C,eAAU,WAAA;QADf,oCAAc,gBAAgB,EAAE,SAAS,QAAQ,QAAQ,EAAC,CAAE;KACvD,UAAU;AAGhB,MAAM,cAAN,MAAM,wBAAoB,gCAAY,gBAAgB,EAAC;;AAAjD,gBAAW,WAAA;QADhB,oCAAc,iBAAiB,EAAE,SAAS,SAAS,QAAQ,EAAC,CAAE;KACzD,WAAW;AAGjB,MAAM,YAAN,MAAM,sBAAkB,gCAAY,cAAc,EAAC;;AAA7C,cAAS,WAAA;QADd,oCAAc,eAAe,EAAE,SAAS,OAAO,QAAQ,EAAC,CAAE;KACrD,SAAS;AAGf,MAAM,eAAN,MAAM,yBAAqB,gCAAY,iBAAiB,EAAC;;AAAnD,iBAAY,WAAA;QADjB,oCAAc,kBAAkB,EAAE,SAAS,UAAU,QAAQ,EAAC,CAAE;KAC3D,YAAY;AAGlB,MAAM,cAAN,MAAM,wBAAoB,gCAAY,gBAAgB,EAAC;;AAAjD,gBAAW,WAAA;QADhB,oCAAc,cAAc,EAAE,SAAS,MAAM,QAAQ,EAAC,CAAE;KACnD,WAAW;AAGjB,MAAM,iBAAN,MAAM,2BAAuB,gCAAY,mBAAmB,EAAC;;AAAvD,mBAAc,WAAA;QADnB,oCAAc,oBAAoB,EAAE,SAAS,YAAY,QAAQ,EAAC,CAAE;KAC/D,cAAc;AAGpB,MAAM,eAAN,MAAM,yBAAqB,gCAAY,iBAAiB,EAAC;;AAAnD,iBAAY,WAAA;QADjB,oCAAc,kBAAkB,EAAE,SAAS,UAAU,QAAQ,EAAC,CAAE;KAC3D,YAAY;AAGlB,MAAM,eAAN,MAAM,yBAAqB,gCAAY,iBAAiB,EAAC;;AAAnD,iBAAY,WAAA;QADjB,oCAAc,kBAAkB,EAAE,SAAS,UAAU,QAAQ,EAAC,CAAE;KAC3D,YAAY;AAGlB,MAAM,kBAAN,MAAM,4BAAwB,gCAAY,oBAAoB,EAAC;;AAAzD,oBAAe,WAAA;QADpB,oCAAc,aAAa,EAAE,SAAS,KAAK,QAAQ,EAAC,CAAE;KACjD,eAAe;AAGrB,MAAM,cAAN,MAAM,wBAAoB,gCAAY,gBAAgB,EAAC;;AAAjD,gBAAW,WAAA;QADhB,oCAAc,iBAAiB,EAAE,SAAS,SAAS,QAAQ,EAAC,CAAE;KACzD,WAAW;AAGjB,MAAM,gBAAN,MAAM,0BAAsB,gCAAY,kBAAkB,EAAC;;AAArD,kBAAa,WAAA;QADlB,oCAAc,mBAAmB,EAAE,SAAS,WAAW,QAAQ,EAAC,CAAE;KAC7D,aAAa;AAGnB,MAAM,YAAN,MAAM,sBAAkB,gCAAY,cAAc,EAAC;;AAA7C,cAAS,WAAA;QADd,oCAAc,eAAe,EAAE,SAAS,OAAO,QAAQ,EAAC,CAAE;KACrD,SAAS;AAGf,MAAM,iBAAN,MAAM,2BAAuB,gCAAY,mBAAmB,EAAC;;AAAvD,mBAAc,WAAA;QADnB,oCAAc,oBAAoB,EAAE,SAAS,YAAY,QAAQ,EAAC,CAAE;KAC/D,cAAc;AAGpB,MAAM,cAAN,MAAM,wBAAoB,gCAAY,gBAAgB,EAAC;;AAAjD,gBAAW,WAAA;QADhB,oCAAc,sBAAsB,EAAE,SAAS,cAAc,QAAQ,EAAC,CAAE;KACnE,WAAW;AAGjB,MAAM,eAAN,MAAM,yBAAqB,gCAAY,iBAAiB,EAAC;;AAAnD,iBAAY,WAAA;QADjB,oCAAc,kBAAkB,EAAE,SAAS,UAAU,QAAQ,EAAC,CAAE;KAC3D,YAAY;AAGlB,MAAM,eAAN,MAAM,yBAAqB,gCAAY,iBAAiB,EAAC;;AAAnD,iBAAY,WAAA;QADjB,oCAAc,kBAAkB,EAAE,SAAS,UAAU,QAAQ,EAAC,CAAE;KAC3D,YAAY;AAGlB,MAAM,aAAN,MAAM,uBAAmB,gCAAY,eAAe,EAAC;;AAA/C,eAAU,WAAA;QADf,oCAAc,gBAAgB,EAAE,SAAS,QAAQ,QAAQ,EAAC,CAAE;KACvD,UAAU;AAGhB,MAAM,eAAN,MAAM,yBAAqB,gCAAY,iBAAiB,EAAC;;AAAnD,iBAAY,WAAA;QADjB,oCAAc,kBAAkB,EAAE,SAAS,UAAU,QAAQ,EAAC,CAAE;KAC3D,YAAY;AAGlB,MAAM,aAAN,MAAM,uBAAmB,gCAAY,eAAe,EAAC;;AAA/C,eAAU,WAAA;QADf,oCAAc,gBAAgB,EAAE,SAAS,QAAQ,QAAQ,EAAC,CAAE;KACvD,UAAU;AAGhB,MAAM,cAAN,MAAM,wBAAoB,gCAAY,gBAAgB,EAAC;;AAAjD,gBAAW,WAAA;QADhB,oCAAc,iBAAiB,EAAE,SAAS,SAAS,QAAQ,EAAC,CAAE;KACzD,WAAW;AAGjB,MAAM,cAAN,MAAM,wBAAoB,gCAAY,gBAAgB,EAAC;;AAAjD,gBAAW,WAAA;QADhB,oCAAc,iBAAiB,EAAE,SAAS,SAAS,QAAQ,EAAC,CAAE;KACzD,WAAW;AAGjB,MAAM,qBAAN,MAAM,+BAA2B,gCAAY,uBAAuB,EAAC;;AAA/D,uBAAkB,WAAA;QADvB,oCAAc,iBAAiB,EAAE,SAAS,SAAS,QAAQ,EAAC,CAAE;KACzD,kBAAkB;AAGxB,MAAM,kBAAN,MAAM,4BAAwB,gCAAY,oBAAoB,EAAC;;AAAzD,oBAAe,WAAA;QADpB,oCAAc,cAAc,EAAE,SAAS,MAAM,QAAQ,EAAC,CAAE;KACnD,eAAe;AAGrB,MAAM,iBAAN,MAAM,2BAAuB,gCAAY,mBAAmB,EAAC;;AAAvD,mBAAc,WAAA;QADnB,oCAAc,oBAAoB,EAAE,SAAS,YAAY,QAAQ,EAAC,CAAE;KAC/D,cAAc;AAGpB,MAAM,iBAAN,MAAM,2BAAuB,gCAAY,mBAAmB,EAAC;;AAAvD,mBAAc,WAAA;QADnB,oCAAc,oBAAoB,EAAE,SAAS,YAAY,QAAQ,EAAC,CAAE;KAC/D,cAAc;AAGpB,MAAM,aAAN,MAAM,uBAAmB,gCAAY,eAAe,EAAC;;AAA/C,eAAU,WAAA;QADf,oCAAc,gBAAgB,EAAE,SAAS,QAAQ,QAAQ,EAAC,CAAE;KACvD,UAAU;AAGhB,MAAM,cAAN,MAAM,wBAAoB,gCAAY,gBAAgB,EAAC;;AAAjD,gBAAW,WAAA;QADhB,oCAAc,iBAAiB,EAAE,SAAS,SAAS,QAAQ,EAAC,CAAE;KACzD,WAAW;AAGjB,MAAM,iBAAN,MAAM,2BAAuB,gCAAY,mBAAmB,EAAC;;AAAvD,mBAAc,WAAA;QADnB,oCAAc,cAAc,EAAE,SAAS,MAAM,QAAQ,EAAC,CAAE;KACnD,cAAc;AAGpB,MAAM,cAAN,MAAM,wBAAoB,gCAAY,gBAAgB,EAAC;;AAAjD,gBAAW,WAAA;QADhB,oCAAc,iBAAiB,EAAE,SAAS,SAAS,QAAQ,EAAC,CAAE;KACzD,WAAW;AAGjB,MAAM,cAAN,MAAM,wBAAoB,gCAAY,gBAAgB,EAAC;;AAAjD,gBAAW,WAAA;QADhB,oCAAc,cAAc,EAAE,SAAS,MAAM,QAAQ,EAAC,CAAE;KACnD,WAAW;AAGjB,MAAM,cAAN,MAAM,wBAAoB,gCAAY,gBAAgB,EAAC;;AAAjD,gBAAW,WAAA;QADhB,oCAAc,iBAAiB,EAAE,SAAS,SAAS,QAAQ,EAAC,CAAE;KACzD,WAAW;AAGjB,MAAM,gBAAN,MAAM,0BAAsB,gCAAY,kBAAkB,EAAC;;AAArD,kBAAa,WAAA;QADlB,oCAAc,cAAc,EAAE,SAAS,MAAM,QAAQ,EAAC,CAAE;KACnD,aAAa;AAGnB,MAAM,aAAN,MAAM,uBAAmB,gCAAY,eAAe,EAAC;;AAA/C,eAAU,WAAA;QADf,oCAAc,gBAAgB,EAAE,SAAS,QAAQ,QAAQ,EAAC,CAAE;KACvD,UAAU;AAElB;",
6
6
  "names": []
7
7
  }
package/dist/cjs/index.js CHANGED
@@ -25,6 +25,7 @@ module.exports = __toCommonJS(src_exports);
25
25
  var import_reflect_metadata = require("reflect-metadata");
26
26
  var import_register = require("./elements/register");
27
27
  __reExport(src_exports, require("./decorators/elementDefine"), module.exports);
28
+ __reExport(src_exports, require("./decorators/attribute"), module.exports);
28
29
  __reExport(src_exports, require("./decorators/setAttribute"), module.exports);
29
30
  __reExport(src_exports, require("./decorators/changedAttribute"), module.exports);
30
31
  var import_onConnectedInnerHtml = require("./decorators/onConnectedInnerHtml");
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.ts"],
4
- "sourcesContent": ["import 'reflect-metadata';\nimport { registerAllElements } from './elements/register';\n\n// Decorators\nexport * from './decorators/elementDefine';\nexport * from './decorators/setAttribute';\nexport * from './decorators/changedAttribute';\nexport { onConnectedInnerHtml } from './decorators/onConnectedInnerHtml';\nexport * from './decorators/replaceChildren';\nexport * from './decorators/appendChild';\nexport * from './decorators/classList';\nexport * from './decorators/style';\nexport * from './decorators/emitCustomEvent';\nexport * from './decorators/lifecycles';\nexport * from './decorators/query';\nexport * from './decorators/queryAll';\nexport * from './decorators/addEventListener';\n\n// Types\nexport * from './types';\n\n// Utilities\nexport * from './utils/Utils';\nexport * from './utils/TemplateUtils';\n\n// Config\nexport * from './config/config';\n\n// Registration Factory\nexport default (w: Window, other?: ((w:Window)=>void)[]): void => {\n registerAllElements(w);\n other?.forEach(fn => {\n fn(w);\n });\n};\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,8BAAO;AACP,sBAAoC;AAGpC,wBAAc,uCAJd;AAKA,wBAAc,sCALd;AAMA,wBAAc,0CANd;AAOA,kCAAqC;AACrC,wBAAc,yCARd;AASA,wBAAc,qCATd;AAUA,wBAAc,mCAVd;AAWA,wBAAc,+BAXd;AAYA,wBAAc,yCAZd;AAaA,wBAAc,oCAbd;AAcA,wBAAc,+BAdd;AAeA,wBAAc,kCAfd;AAgBA,wBAAc,0CAhBd;AAmBA,wBAAc,oBAnBd;AAsBA,wBAAc,0BAtBd;AAuBA,wBAAc,kCAvBd;AA0BA,wBAAc,4BA1Bd;AA6BA,IAAO,cAAQ,CAAC,GAAW,UAAuC;AAChE,2CAAoB,CAAC;AACrB,SAAO,QAAQ,QAAM;AAClB,OAAG,CAAC;AAAA,EACP,CAAC;AACH;",
4
+ "sourcesContent": ["import 'reflect-metadata';\nimport { registerAllElements } from './elements/register';\n\n// Decorators\nexport * from './decorators/elementDefine';\nexport * from './decorators/attribute';\nexport * from './decorators/setAttribute';\nexport * from './decorators/changedAttribute';\nexport { onConnectedInnerHtml } from './decorators/onConnectedInnerHtml';\nexport * from './decorators/replaceChildren';\nexport * from './decorators/appendChild';\nexport * from './decorators/classList';\nexport * from './decorators/style';\nexport * from './decorators/emitCustomEvent';\nexport * from './decorators/lifecycles';\nexport * from './decorators/query';\nexport * from './decorators/queryAll';\nexport * from './decorators/addEventListener';\n\n// Types\nexport * from './types';\n\n// Utilities\nexport * from './utils/Utils';\nexport * from './utils/TemplateUtils';\n\n// Config\nexport * from './config/config';\n\n// Registration Factory\nexport default (w: Window, other?: ((w: Window) => void)[]): void => {\n registerAllElements(w);\n other?.forEach(fn => {\n fn(w);\n });\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,8BAAO;AACP,sBAAoC;AAGpC,wBAAc,uCAJd;AAKA,wBAAc,mCALd;AAMA,wBAAc,sCANd;AAOA,wBAAc,0CAPd;AAQA,kCAAqC;AACrC,wBAAc,yCATd;AAUA,wBAAc,qCAVd;AAWA,wBAAc,mCAXd;AAYA,wBAAc,+BAZd;AAaA,wBAAc,yCAbd;AAcA,wBAAc,oCAdd;AAeA,wBAAc,+BAfd;AAgBA,wBAAc,kCAhBd;AAiBA,wBAAc,0CAjBd;AAoBA,wBAAc,oBApBd;AAuBA,wBAAc,0BAvBd;AAwBA,wBAAc,kCAxBd;AA2BA,wBAAc,4BA3Bd;AA8BA,IAAO,cAAQ,CAAC,GAAW,UAA0C;AACnE,2CAAoB,CAAC;AACrB,SAAO,QAAQ,QAAM;AACnB,OAAG,CAAC;AAAA,EACN,CAAC;AACH;",
6
6
  "names": []
7
7
  }
@@ -20,9 +20,9 @@ __export(ElementRouter_exports, {
20
20
  ElementRouter: () => ElementRouter
21
21
  });
22
22
  module.exports = __toCommonJS(ElementRouter_exports);
23
- var import_Router = require("@dooboostore/core-web/routers/Router");
24
- var import_UrlUtils = require("@dooboostore/core/url/UrlUtils");
25
- class ElementRouter extends import_Router.Router {
23
+ var import_core_web = require("@dooboostore/core-web");
24
+ var import_core = require("@dooboostore/core");
25
+ class ElementRouter extends import_core_web.Router {
26
26
  constructor(config) {
27
27
  const { firstUrl, ...rest } = config;
28
28
  super(rest);
@@ -121,14 +121,14 @@ class ElementRouter extends import_Router.Router {
121
121
  getSearchParams(data) {
122
122
  const search = this.getSearch();
123
123
  const searchParams = new URLSearchParams(search);
124
- return import_UrlUtils.UrlUtils.manipulateSearchParams(searchParams, data);
124
+ return import_core.UrlUtils.manipulateSearchParams(searchParams, data);
125
125
  }
126
126
  getHashSearchParams(data) {
127
127
  const url = this.getUrl();
128
128
  const hashIdx = url.indexOf("#");
129
129
  const hash = hashIdx !== -1 ? url.slice(hashIdx + 1) : "";
130
130
  const searchParams = new URLSearchParams(hash);
131
- return import_UrlUtils.UrlUtils.manipulateSearchParams(searchParams, data);
131
+ return import_core.UrlUtils.manipulateSearchParams(searchParams, data);
132
132
  }
133
133
  pushAddSearchParam(params, state) {
134
134
  const s = this.getSearchParams({ append: params });
@@ -146,7 +146,7 @@ class ElementRouter extends import_Router.Router {
146
146
  }
147
147
  pushUpsertSearchParam(params, state) {
148
148
  const s = this.getSearchParams();
149
- import_UrlUtils.UrlUtils.upsertSearchParam(s, params);
149
+ import_core.UrlUtils.upsertSearchParam(s, params);
150
150
  this.push({ searchParams: s }, state);
151
151
  }
152
152
  replaceAddSearchParam(params, state) {
@@ -165,7 +165,7 @@ class ElementRouter extends import_Router.Router {
165
165
  }
166
166
  replaceUpsertSearchParam(params, state) {
167
167
  const s = this.getSearchParamObject();
168
- import_UrlUtils.UrlUtils.upsertSearchParam(s, params);
168
+ import_core.UrlUtils.upsertSearchParam(s, params);
169
169
  this.replace({ searchParams: s }, state);
170
170
  }
171
171
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/router/ElementRouter.ts"],
4
- "sourcesContent": ["import { ChangeStateConfig, ChangeStateResult, RouteAction, Router, RouterConfig, RouterMethodOptions } from '@dooboostore/core-web/routers/Router';\nimport { UrlUtils } from '@dooboostore/core/url/UrlUtils';\n\nexport class ElementRouter extends Router {\n private _history: { url: string; data: any; title?: string }[] = [];\n private _currentIndex = -1;\n\n constructor(config: RouterConfig) {\n // Router \uBD80\uBAA8 \uD074\uB798\uC2A4\uAC00 \uC0DD\uC131\uC790\uC5D0\uC11C go()\uB97C \uD638\uCD9C\uD558\uC5EC \uCD08\uAE30\uD654\uB418\uC9C0 \uC54A\uC740 \uD544\uB4DC\uC5D0 \uC811\uADFC\uD558\uB294 \uAC83\uC744 \uBC29\uC9C0\uD558\uAE30 \uC704\uD574\n // firstUrl\uC744 \uC81C\uAC70\uD558\uACE0 \uB118\uAE34 \uB4A4 \uC790\uC2DD\uC5D0\uC11C \uC218\uB3D9 \uCC98\uB9AC\uD569\uB2C8\uB2E4.\n const { firstUrl, ...rest } = config;\n super(rest);\n\n const startUrl = firstUrl ?? '/';\n this._history = [{ url: startUrl, data: null }];\n this._currentIndex = 0;\n\n if (firstUrl) {\n this.replace(firstUrl, { config: { noEventAndPublish: true } });\n }\n }\n\n // Override pushState to manage internal history\n pushState(data: any, title: string | undefined, path: string, config?: ChangeStateConfig): ChangeStateResult {\n const behaviorSubject = (this as any).behaviorSubject;\n if (!config?.noEventAndPublish && behaviorSubject) {\n behaviorSubject.next({ ...this.getRouteData({ pathOrUrl: path }), triggerPoint: 'start' });\n }\n\n // Ensure _history is initialized (defense for super calls)\n if (!this._history) this._history = [];\n\n this._history = this._history.slice(0, this._currentIndex + 1);\n this._history.push({ url: path, data, title });\n this._currentIndex++;\n\n if (!config?.noEventAndPublish && behaviorSubject) {\n behaviorSubject.next({ ...this.getRouteData({ pathOrUrl: path }), triggerPoint: 'end' });\n }\n return { data };\n }\n\n // Override replaceState to manage internal history\n replaceState(data: any, title: string | undefined, path: string, config?: ChangeStateConfig): ChangeStateResult {\n const behaviorSubject = (this as any).behaviorSubject;\n if (!config?.noEventAndPublish && behaviorSubject) {\n behaviorSubject.next({ ...this.getRouteData({ pathOrUrl: path }), triggerPoint: 'start' });\n }\n\n if (!this._history) this._history = [];\n if (this._currentIndex === -1) {\n this._history.push({ url: path, data, title });\n this._currentIndex = 0;\n } else {\n this._history[this._currentIndex] = { url: path, data, title };\n }\n\n if (!config?.noEventAndPublish && behaviorSubject) {\n behaviorSubject.next({ ...this.getRouteData({ pathOrUrl: path }), triggerPoint: 'end' });\n }\n return { data };\n }\n\n push(path: RouteAction, state?: RouterMethodOptions): void {\n this.pushState(state?.data, state?.title, this.toUrl(path), state?.config);\n }\n\n replace(path: RouteAction, state?: RouterMethodOptions): void {\n this.replaceState(state?.data, state?.title, this.toUrl(path), state?.config);\n }\n\n back(config?: ChangeStateConfig): void {\n if (this._currentIndex > 0) {\n this.go(-1, config);\n }\n }\n\n forward(config?: ChangeStateConfig): void {\n if (this._currentIndex < this._history.length - 1) {\n this.go(1, config);\n }\n }\n\n go(i: number, config?: ChangeStateConfig): void;\n async go(config: string | { path: RouteAction; state?: RouterMethodOptions; replace?: boolean; scrollToTop?: boolean }): Promise<void>;\n go(config: number | string | { path: RouteAction; state?: RouterMethodOptions; replace?: boolean; scrollToTop?: boolean }, changeStateConfig?: ChangeStateConfig): Promise<void> | void {\n if (typeof config === 'number') {\n const targetIndex = this._currentIndex + config;\n if (this._history && targetIndex >= 0 && targetIndex < this._history.length) {\n const behaviorSubject = (this as any).behaviorSubject;\n if (!changeStateConfig?.noEventAndPublish && behaviorSubject) {\n behaviorSubject.next({ ...this.getRouteData(), triggerPoint: 'start' });\n }\n\n this._currentIndex = targetIndex;\n const entry = this._history[this._currentIndex];\n\n if (!changeStateConfig?.noEventAndPublish && behaviorSubject) {\n behaviorSubject.next({ ...this.getRouteData({ pathOrUrl: entry.url }), triggerPoint: 'end' });\n }\n }\n return;\n }\n return super.go(config as any, changeStateConfig);\n }\n\n getData(): any {\n return this._history?.[this._currentIndex]?.data;\n }\n\n getUrl(): string {\n return this._history?.[this._currentIndex]?.url ?? this.config?.firstUrl ?? '/';\n }\n\n getHref(): string {\n return this.getUrl();\n }\n\n getPathName(): string {\n return this.getUrl().split('?')[0];\n }\n\n getSearch(): string {\n const parts = this.getUrl().split('?');\n return parts[1] ? `?${parts[1]}` : '';\n }\n\n getSearchParams(data?: { delete?: string[]; append?: [[string, string]] }): URLSearchParams {\n const search = this.getSearch();\n const searchParams = new URLSearchParams(search);\n return UrlUtils.manipulateSearchParams(searchParams, data);\n }\n\n getHashSearchParams(data?: { delete?: string[]; append?: [[string, string]] }): URLSearchParams {\n const url = this.getUrl();\n const hashIdx = url.indexOf('#');\n const hash = hashIdx !== -1 ? url.slice(hashIdx + 1) : '';\n const searchParams = new URLSearchParams(hash);\n return UrlUtils.manipulateSearchParams(searchParams, data);\n }\n\n pushAddSearchParam(params: [[string, string]], state: RouterMethodOptions | undefined): void {\n const s = this.getSearchParams({ append: params });\n this.push({ searchParams: s }, state);\n }\n\n pushDeleteHashSearchParam(name: string | string[], state: RouterMethodOptions | undefined): void {\n const s = this.getHashSearchParams({ delete: Array.isArray(name) ? name : [name] });\n const url = this.getUrl().split('#')[0];\n const size = Array.from(s.entries()).length;\n this.push(url + (size > 0 ? '#' + s.toString() : ''), state);\n }\n\n pushDeleteSearchParam(name: string | string[], state: RouterMethodOptions | undefined): void {\n const s = this.getSearchParams({ delete: Array.isArray(name) ? name : [name] });\n this.push({ searchParams: s }, state);\n }\n\n pushUpsertSearchParam(params: Record<string, string | string[]>, state: RouterMethodOptions | undefined): void {\n const s = this.getSearchParams();\n UrlUtils.upsertSearchParam(s, params);\n this.push({ searchParams: s }, state);\n }\n\n replaceAddSearchParam(params: [[string, string]], state: RouterMethodOptions | undefined): void {\n const s = this.getSearchParams({ append: params });\n this.replace({ searchParams: s }, state);\n }\n\n replaceDeleteHashSearchParam(name: string | string[], state: RouterMethodOptions | undefined): void {\n const s = this.getHashSearchParams({ delete: Array.isArray(name) ? name : [name] });\n const url = this.getUrl().split('#')[0];\n const size = Array.from(s.entries()).length;\n this.replace(url + (size > 0 ? '#' + s.toString() : ''), state);\n }\n\n replaceDeleteSearchParam(name: string | string[], state: RouterMethodOptions | undefined): void {\n const s = this.getSearchParams({ delete: Array.isArray(name) ? name : [name] });\n this.replace({ searchParams: s }, state);\n }\n\n replaceUpsertSearchParam(params: Record<string, string | string[]>, state: RouterMethodOptions | undefined): void {\n const s = this.getSearchParamObject();\n UrlUtils.upsertSearchParam(s as any, params);\n this.replace({ searchParams: s as any }, state);\n }\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { ChangeStateConfig, ChangeStateResult, RouteAction, Router, RouterConfig, RouterMethodOptions } from '@dooboostore/core-web';\nimport { UrlUtils } from '@dooboostore/core';\n\nexport class ElementRouter extends Router {\n private _history: { url: string; data: any; title?: string }[] = [];\n private _currentIndex = -1;\n\n constructor(config: RouterConfig) {\n // Router \uBD80\uBAA8 \uD074\uB798\uC2A4\uAC00 \uC0DD\uC131\uC790\uC5D0\uC11C go()\uB97C \uD638\uCD9C\uD558\uC5EC \uCD08\uAE30\uD654\uB418\uC9C0 \uC54A\uC740 \uD544\uB4DC\uC5D0 \uC811\uADFC\uD558\uB294 \uAC83\uC744 \uBC29\uC9C0\uD558\uAE30 \uC704\uD574\n // firstUrl\uC744 \uC81C\uAC70\uD558\uACE0 \uB118\uAE34 \uB4A4 \uC790\uC2DD\uC5D0\uC11C \uC218\uB3D9 \uCC98\uB9AC\uD569\uB2C8\uB2E4.\n const { firstUrl, ...rest } = config;\n super(rest);\n\n const startUrl = firstUrl ?? '/';\n this._history = [{ url: startUrl, data: null }];\n this._currentIndex = 0;\n\n if (firstUrl) {\n this.replace(firstUrl, { config: { noEventAndPublish: true } });\n }\n }\n\n // Override pushState to manage internal history\n pushState(data: any, title: string | undefined, path: string, config?: ChangeStateConfig): ChangeStateResult {\n const behaviorSubject = (this as any).behaviorSubject;\n if (!config?.noEventAndPublish && behaviorSubject) {\n behaviorSubject.next({ ...this.getRouteData({ pathOrUrl: path }), triggerPoint: 'start' });\n }\n\n // Ensure _history is initialized (defense for super calls)\n if (!this._history) this._history = [];\n\n this._history = this._history.slice(0, this._currentIndex + 1);\n this._history.push({ url: path, data, title });\n this._currentIndex++;\n\n if (!config?.noEventAndPublish && behaviorSubject) {\n behaviorSubject.next({ ...this.getRouteData({ pathOrUrl: path }), triggerPoint: 'end' });\n }\n return { data };\n }\n\n // Override replaceState to manage internal history\n replaceState(data: any, title: string | undefined, path: string, config?: ChangeStateConfig): ChangeStateResult {\n const behaviorSubject = (this as any).behaviorSubject;\n if (!config?.noEventAndPublish && behaviorSubject) {\n behaviorSubject.next({ ...this.getRouteData({ pathOrUrl: path }), triggerPoint: 'start' });\n }\n\n if (!this._history) this._history = [];\n if (this._currentIndex === -1) {\n this._history.push({ url: path, data, title });\n this._currentIndex = 0;\n } else {\n this._history[this._currentIndex] = { url: path, data, title };\n }\n\n if (!config?.noEventAndPublish && behaviorSubject) {\n behaviorSubject.next({ ...this.getRouteData({ pathOrUrl: path }), triggerPoint: 'end' });\n }\n return { data };\n }\n\n push(path: RouteAction, state?: RouterMethodOptions): void {\n this.pushState(state?.data, state?.title, this.toUrl(path), state?.config);\n }\n\n replace(path: RouteAction, state?: RouterMethodOptions): void {\n this.replaceState(state?.data, state?.title, this.toUrl(path), state?.config);\n }\n\n back(config?: ChangeStateConfig): void {\n if (this._currentIndex > 0) {\n this.go(-1, config);\n }\n }\n\n forward(config?: ChangeStateConfig): void {\n if (this._currentIndex < this._history.length - 1) {\n this.go(1, config);\n }\n }\n\n go(i: number, config?: ChangeStateConfig): void;\n async go(config: string | { path: RouteAction; state?: RouterMethodOptions; replace?: boolean; scrollToTop?: boolean }): Promise<void>;\n go(config: number | string | { path: RouteAction; state?: RouterMethodOptions; replace?: boolean; scrollToTop?: boolean }, changeStateConfig?: ChangeStateConfig): Promise<void> | void {\n if (typeof config === 'number') {\n const targetIndex = this._currentIndex + config;\n if (this._history && targetIndex >= 0 && targetIndex < this._history.length) {\n const behaviorSubject = (this as any).behaviorSubject;\n if (!changeStateConfig?.noEventAndPublish && behaviorSubject) {\n behaviorSubject.next({ ...this.getRouteData(), triggerPoint: 'start' });\n }\n\n this._currentIndex = targetIndex;\n const entry = this._history[this._currentIndex];\n\n if (!changeStateConfig?.noEventAndPublish && behaviorSubject) {\n behaviorSubject.next({ ...this.getRouteData({ pathOrUrl: entry.url }), triggerPoint: 'end' });\n }\n }\n return;\n }\n return super.go(config as any, changeStateConfig);\n }\n\n getData(): any {\n return this._history?.[this._currentIndex]?.data;\n }\n\n getUrl(): string {\n return this._history?.[this._currentIndex]?.url ?? this.config?.firstUrl ?? '/';\n }\n\n getHref(): string {\n return this.getUrl();\n }\n\n getPathName(): string {\n return this.getUrl().split('?')[0];\n }\n\n getSearch(): string {\n const parts = this.getUrl().split('?');\n return parts[1] ? `?${parts[1]}` : '';\n }\n\n getSearchParams(data?: { delete?: string[]; append?: [[string, string]] }): URLSearchParams {\n const search = this.getSearch();\n const searchParams = new URLSearchParams(search);\n return UrlUtils.manipulateSearchParams(searchParams, data);\n }\n\n getHashSearchParams(data?: { delete?: string[]; append?: [[string, string]] }): URLSearchParams {\n const url = this.getUrl();\n const hashIdx = url.indexOf('#');\n const hash = hashIdx !== -1 ? url.slice(hashIdx + 1) : '';\n const searchParams = new URLSearchParams(hash);\n return UrlUtils.manipulateSearchParams(searchParams, data);\n }\n\n pushAddSearchParam(params: [[string, string]], state: RouterMethodOptions | undefined): void {\n const s = this.getSearchParams({ append: params });\n this.push({ searchParams: s }, state);\n }\n\n pushDeleteHashSearchParam(name: string | string[], state: RouterMethodOptions | undefined): void {\n const s = this.getHashSearchParams({ delete: Array.isArray(name) ? name : [name] });\n const url = this.getUrl().split('#')[0];\n const size = Array.from(s.entries()).length;\n this.push(url + (size > 0 ? '#' + s.toString() : ''), state);\n }\n\n pushDeleteSearchParam(name: string | string[], state: RouterMethodOptions | undefined): void {\n const s = this.getSearchParams({ delete: Array.isArray(name) ? name : [name] });\n this.push({ searchParams: s }, state);\n }\n\n pushUpsertSearchParam(params: Record<string, string | string[]>, state: RouterMethodOptions | undefined): void {\n const s = this.getSearchParams();\n UrlUtils.upsertSearchParam(s, params);\n this.push({ searchParams: s }, state);\n }\n\n replaceAddSearchParam(params: [[string, string]], state: RouterMethodOptions | undefined): void {\n const s = this.getSearchParams({ append: params });\n this.replace({ searchParams: s }, state);\n }\n\n replaceDeleteHashSearchParam(name: string | string[], state: RouterMethodOptions | undefined): void {\n const s = this.getHashSearchParams({ delete: Array.isArray(name) ? name : [name] });\n const url = this.getUrl().split('#')[0];\n const size = Array.from(s.entries()).length;\n this.replace(url + (size > 0 ? '#' + s.toString() : ''), state);\n }\n\n replaceDeleteSearchParam(name: string | string[], state: RouterMethodOptions | undefined): void {\n const s = this.getSearchParams({ delete: Array.isArray(name) ? name : [name] });\n this.replace({ searchParams: s }, state);\n }\n\n replaceUpsertSearchParam(params: Record<string, string | string[]>, state: RouterMethodOptions | undefined): void {\n const s = this.getSearchParamObject();\n UrlUtils.upsertSearchParam(s as any, params);\n this.replace({ searchParams: s as any }, state);\n }\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/types.ts"],
4
- "sourcesContent": ["import { SimpleApplication } from '@dooboostore/simple-boot/SimpleApplication';\nimport { Router } from '@dooboostore/core-web/routers/Router';\n\nexport enum InjectSituationType {\n HOST_SET = 'SIMPLE_WEB_COMPONENT://HOSTSET',\n APP_HOST = 'SIMPLE_WEB_COMPONENT://APPHOST',\n APP_HOSTS = 'SIMPLE_WEB_COMPONENT://APPHOSTS',\n HOST = 'SIMPLE_WEB_COMPONENT://HOST',\n PARENT_HOST = 'SIMPLE_WEB_COMPONENT://PARENTHOST',\n HOSTS = 'SIMPLE_WEB_COMPONENT://HOSTS',\n FIRST_HOST = 'SIMPLE_WEB_COMPONENT://FIRSTHOST',\n LAST_HOST = 'SIMPLE_WEB_COMPONENT://LASTHOST',\n FIRST_APP_HOST = 'SIMPLE_WEB_COMPONENT://FIRSTAPPHOST',\n LAST_APP_HOST = 'SIMPLE_WEB_COMPONENT://LASTAPPHOST'\n}\n\nexport type SwcRootType = 'light' | 'shadow' | 'all' | 'auto';\n\nexport type SpecialSelector = ':host' | ':window' | ':document' | ':parentHost' | ':appHost' | ':firstHost' | ':lastHost' | ':firstAppHost' | ':lastAppHost' | ':hosts' | ':appHosts';\n\nexport type SwcQueryOptions = { root?: SwcRootType };\n\nexport type HelperSet = {\n $d: Document;\n $w: Window;\n $q: (selector: string, root?: Element | Document | ShadowRoot) => HTMLElement | null;\n $qa: (selector: string, root?: Element | Document | ShadowRoot) => HTMLElement[];\n $qi: (id: string, root?: Document | ShadowRoot) => HTMLElement | null;\n};\n\nexport type HostSet = {\n $host: HTMLElement; // Current component itself\n $parentHost: HTMLElement | null; // Nearest parent SWC component\n $hosts: HTMLElement[]; // [root, ..., parent, self]\n $firstHost: HTMLElement | null; // Top-most SWC ancestor\n $lastHost: HTMLElement | null; // Same as $parentHost (for backward compatibility or clarity)\n $appHost: SwcAppInterface | null;\n $appHosts: SwcAppInterface[];\n $firstAppHost: SwcAppInterface | null;\n $lastAppHost: SwcAppInterface | null;\n};\n\nexport type HelperHostSet = HelperSet & HostSet;\n\nexport interface SwcAppInterface extends HTMLElement {\n simpleApplication?: SimpleApplication;\n router?: Router;\n routing(path: string): Promise<void>;\n}\n"],
4
+ "sourcesContent": ["import { SimpleApplication } from '@dooboostore/simple-boot/SimpleApplication';\nimport { Router } from '@dooboostore/core-web';\n\nexport enum InjectSituationType {\n HOST_SET = 'SIMPLE_WEB_COMPONENT://HOSTSET',\n APP_HOST = 'SIMPLE_WEB_COMPONENT://APPHOST',\n APP_HOSTS = 'SIMPLE_WEB_COMPONENT://APPHOSTS',\n HOST = 'SIMPLE_WEB_COMPONENT://HOST',\n PARENT_HOST = 'SIMPLE_WEB_COMPONENT://PARENTHOST',\n HOSTS = 'SIMPLE_WEB_COMPONENT://HOSTS',\n FIRST_HOST = 'SIMPLE_WEB_COMPONENT://FIRSTHOST',\n LAST_HOST = 'SIMPLE_WEB_COMPONENT://LASTHOST',\n FIRST_APP_HOST = 'SIMPLE_WEB_COMPONENT://FIRSTAPPHOST',\n LAST_APP_HOST = 'SIMPLE_WEB_COMPONENT://LASTAPPHOST'\n}\n\nexport type SwcRootType = 'light' | 'shadow' | 'all' | 'auto';\n\nexport type SpecialSelector = ':host' | ':window' | ':document' | ':parentHost' | ':appHost' | ':firstHost' | ':lastHost' | ':firstAppHost' | ':lastAppHost' | ':hosts' | ':appHosts';\n\nexport type SwcQueryOptions = { root?: SwcRootType };\n\nexport type HelperSet = {\n $d: Document;\n $w: Window;\n $q: (selector: string, root?: Element | Document | ShadowRoot) => HTMLElement | null;\n $qa: (selector: string, root?: Element | Document | ShadowRoot) => HTMLElement[];\n $qi: (id: string, root?: Document | ShadowRoot) => HTMLElement | null;\n};\n\nexport type HostSet = {\n $host: HTMLElement; // Current component itself\n $parentHost: HTMLElement | null; // Nearest parent SWC component\n $hosts: HTMLElement[]; // [root, ..., parent, self]\n $firstHost: HTMLElement | null; // Top-most SWC ancestor\n $lastHost: HTMLElement | null; // Same as $parentHost (for backward compatibility or clarity)\n $appHost: SwcAppInterface | null;\n $appHosts: SwcAppInterface[];\n $firstAppHost: SwcAppInterface | null;\n $lastAppHost: SwcAppInterface | null;\n};\n\nexport type HelperHostSet = HelperSet & HostSet;\n\nexport interface SwcAppInterface extends HTMLElement {\n simpleApplication?: SimpleApplication;\n router?: Router;\n connect(config?: any): Promise<void>;\n routing(path: string): Promise<void>;\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGO,IAAK,sBAAL,kBAAKA,yBAAL;AACL,EAAAA,qBAAA,cAAW;AACX,EAAAA,qBAAA,cAAW;AACX,EAAAA,qBAAA,eAAY;AACZ,EAAAA,qBAAA,UAAO;AACP,EAAAA,qBAAA,iBAAc;AACd,EAAAA,qBAAA,WAAQ;AACR,EAAAA,qBAAA,gBAAa;AACb,EAAAA,qBAAA,eAAY;AACZ,EAAAA,qBAAA,oBAAiB;AACjB,EAAAA,qBAAA,mBAAgB;AAVN,SAAAA;AAAA,GAAA;",
6
6
  "names": ["InjectSituationType"]
7
7
  }
@@ -1,4 +1,4 @@
1
- import { ReflectUtils } from "@dooboostore/core/reflect/ReflectUtils";
1
+ import { ReflectUtils } from "@dooboostore/core";
2
2
  const ADD_EVENT_LISTENER_METADATA_KEY = Symbol("simple-web-component:add-event-listener");
3
3
  function addEventListener(selectorOrTarget, type, options = {}) {
4
4
  return (targetObj, propertyKey, descriptor) => {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/decorators/addEventListener.ts"],
4
- "sourcesContent": ["import { ReflectUtils } from '@dooboostore/core/reflect/ReflectUtils';\nimport { SpecialSelector, SwcQueryOptions } from '../types';\n\nexport interface AddEventListenerBaseOptions extends EventListenerOptions {\n capture?: boolean;\n once?: boolean;\n passive?: boolean;\n stopPropagation?: boolean;\n stopImmediatePropagation?: boolean;\n preventDefault?: boolean;\n removeOnDisconnected?: boolean;\n delegate?: boolean;\n}\n\nexport interface AddEventListenerMetadata {\n propertyKey: string | symbol;\n selector: string;\n type: string;\n options: AddEventListenerBaseOptions & SwcQueryOptions & { delegate?: boolean };\n}\n\nexport const ADD_EVENT_LISTENER_METADATA_KEY = Symbol('simple-web-component:add-event-listener');\n\nexport function addEventListener(target: SpecialSelector, type: string, options?: AddEventListenerBaseOptions): MethodDecorator;\nexport function addEventListener(selector: string, type: string, options?: AddEventListenerBaseOptions & SwcQueryOptions & { delegate?: boolean }): MethodDecorator;\n/**\n * @addEventListener decorator to bind events to elements.\n */\nexport function addEventListener(selectorOrTarget: string, type: string, options: any = {}): MethodDecorator {\n return (targetObj: Object, propertyKey: string | symbol, descriptor: PropertyDescriptor) => {\n const constructor = targetObj.constructor;\n\n let listeners = ReflectUtils.getMetadata<AddEventListenerMetadata[]>(ADD_EVENT_LISTENER_METADATA_KEY, constructor);\n if (!listeners) {\n listeners = [];\n ReflectUtils.defineMetadata(ADD_EVENT_LISTENER_METADATA_KEY, listeners, constructor);\n }\n\n listeners.push({ propertyKey, selector: selectorOrTarget, type, options });\n };\n}\n\nexport const getAddEventListenerMetadata = (target: any): AddEventListenerMetadata[] | undefined => {\n const constructor = target instanceof Function ? target : target.constructor;\n return ReflectUtils.getMetadata(ADD_EVENT_LISTENER_METADATA_KEY, constructor);\n};\n"],
4
+ "sourcesContent": ["import { ReflectUtils } from '@dooboostore/core';\nimport { SpecialSelector, SwcQueryOptions } from '../types';\n\nexport interface AddEventListenerBaseOptions extends EventListenerOptions {\n capture?: boolean;\n once?: boolean;\n passive?: boolean;\n stopPropagation?: boolean;\n stopImmediatePropagation?: boolean;\n preventDefault?: boolean;\n removeOnDisconnected?: boolean;\n delegate?: boolean;\n}\n\nexport interface AddEventListenerMetadata {\n propertyKey: string | symbol;\n selector: string;\n type: string;\n options: AddEventListenerBaseOptions & SwcQueryOptions & { delegate?: boolean };\n}\n\nexport const ADD_EVENT_LISTENER_METADATA_KEY = Symbol('simple-web-component:add-event-listener');\n\nexport function addEventListener(target: SpecialSelector, type: string, options?: AddEventListenerBaseOptions): MethodDecorator;\nexport function addEventListener(selector: string, type: string, options?: AddEventListenerBaseOptions & SwcQueryOptions & { delegate?: boolean }): MethodDecorator;\n/**\n * @addEventListener decorator to bind events to elements.\n */\nexport function addEventListener(selectorOrTarget: string, type: string, options: any = {}): MethodDecorator {\n return (targetObj: Object, propertyKey: string | symbol, descriptor: PropertyDescriptor) => {\n const constructor = targetObj.constructor;\n\n let listeners = ReflectUtils.getMetadata<AddEventListenerMetadata[]>(ADD_EVENT_LISTENER_METADATA_KEY, constructor);\n if (!listeners) {\n listeners = [];\n ReflectUtils.defineMetadata(ADD_EVENT_LISTENER_METADATA_KEY, listeners, constructor);\n }\n\n listeners.push({ propertyKey, selector: selectorOrTarget, type, options });\n };\n}\n\nexport const getAddEventListenerMetadata = (target: any): AddEventListenerMetadata[] | undefined => {\n const constructor = target instanceof Function ? target : target.constructor;\n return ReflectUtils.getMetadata(ADD_EVENT_LISTENER_METADATA_KEY, constructor);\n};\n"],
5
5
  "mappings": "AAAA,SAAS,oBAAoB;AAqBtB,MAAM,kCAAkC,OAAO,yCAAyC;AAOxF,SAAS,iBAAiB,kBAA0B,MAAc,UAAe,CAAC,GAAoB;AAC3G,SAAO,CAAC,WAAmB,aAA8B,eAAmC;AAC1F,UAAM,cAAc,UAAU;AAE9B,QAAI,YAAY,aAAa,YAAwC,iCAAiC,WAAW;AACjH,QAAI,CAAC,WAAW;AACd,kBAAY,CAAC;AACb,mBAAa,eAAe,iCAAiC,WAAW,WAAW;AAAA,IACrF;AAEA,cAAU,KAAK,EAAE,aAAa,UAAU,kBAAkB,MAAM,QAAQ,CAAC;AAAA,EAC3E;AACF;AAEO,MAAM,8BAA8B,CAAC,WAAwD;AAClG,QAAM,cAAc,kBAAkB,WAAW,SAAS,OAAO;AACjE,SAAO,aAAa,YAAY,iCAAiC,WAAW;AAC9E;",
6
6
  "names": []
7
7
  }
@@ -1,4 +1,4 @@
1
- import { ReflectUtils } from "@dooboostore/core/reflect/ReflectUtils";
1
+ import { ReflectUtils } from "@dooboostore/core";
2
2
  import { ensureInit, getElementConfig } from "./elementDefine.js";
3
3
  const APPEND_CHILD_METADATA_KEY = Symbol("simple-web-component:append-child");
4
4
  const normalizeNodes = (res, doc) => {