marko 5.16.1 → 5.17.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/dist/runtime/RenderResult.js +13 -11
  2. package/dist/runtime/RenderResult.js.map +1 -1
  3. package/dist/runtime/components/Component.js +2 -2
  4. package/dist/runtime/components/Component.js.map +1 -1
  5. package/dist/runtime/components/ComponentsContext.js +2 -2
  6. package/dist/runtime/components/ComponentsContext.js.map +1 -1
  7. package/dist/runtime/components/event-delegation.js +8 -8
  8. package/dist/runtime/components/event-delegation.js.map +1 -1
  9. package/dist/runtime/components/init-components/index-browser.js +22 -24
  10. package/dist/runtime/components/init-components/index-browser.js.map +1 -1
  11. package/dist/runtime/components/registry/index-browser.js +2 -2
  12. package/dist/runtime/components/registry/index-browser.js.map +1 -1
  13. package/dist/runtime/components/util/index-browser.js +4 -3
  14. package/dist/runtime/components/util/index-browser.js.map +1 -1
  15. package/dist/runtime/html/AsyncStream.js +8 -10
  16. package/dist/runtime/html/AsyncStream.js.map +1 -1
  17. package/dist/runtime/vdom/AsyncVDOMBuilder.js +65 -70
  18. package/dist/runtime/vdom/AsyncVDOMBuilder.js.map +1 -1
  19. package/dist/runtime/vdom/VComponent.js +3 -3
  20. package/dist/runtime/vdom/VDocumentFragment.js +7 -7
  21. package/dist/runtime/vdom/VDocumentFragment.js.map +1 -1
  22. package/dist/runtime/vdom/VElement.js +42 -39
  23. package/dist/runtime/vdom/VElement.js.map +1 -1
  24. package/dist/runtime/vdom/VFragment.js +5 -5
  25. package/dist/runtime/vdom/VNode.js +31 -31
  26. package/dist/runtime/vdom/VText.js +8 -8
  27. package/dist/runtime/vdom/VText.js.map +1 -1
  28. package/dist/runtime/vdom/hot-reload.js +5 -5
  29. package/dist/runtime/vdom/hot-reload.js.map +1 -1
  30. package/dist/runtime/vdom/morphdom/fragment.js +3 -3
  31. package/dist/runtime/vdom/morphdom/helpers.js +1 -1
  32. package/dist/runtime/vdom/morphdom/index.js +30 -30
  33. package/dist/runtime/vdom/morphdom/index.js.map +1 -1
  34. package/dist/runtime/vdom/morphdom/specialElHandlers.js +6 -6
  35. package/dist/runtime/vdom/preserve-attrs.js +1 -1
  36. package/dist/runtime/vdom/vdom.js +10 -12
  37. package/dist/runtime/vdom/vdom.js.map +1 -1
  38. package/package.json +4 -4
  39. package/src/runtime/RenderResult.js +13 -11
  40. package/src/runtime/components/Component.js +5 -5
  41. package/src/runtime/components/ComponentsContext.js +2 -2
  42. package/src/runtime/components/event-delegation.js +6 -6
  43. package/src/runtime/components/init-components/index-browser.js +23 -25
  44. package/src/runtime/components/registry/index-browser.js +3 -3
  45. package/src/runtime/components/util/index-browser.js +8 -7
  46. package/src/runtime/html/AsyncStream.js +8 -10
  47. package/src/runtime/vdom/AsyncVDOMBuilder.js +9 -14
  48. package/src/runtime/vdom/VDocumentFragment.js +2 -2
  49. package/src/runtime/vdom/VElement.js +5 -2
  50. package/src/runtime/vdom/VText.js +2 -2
  51. package/src/runtime/vdom/hot-reload.js +1 -1
  52. package/src/runtime/vdom/morphdom/index.js +4 -4
  53. package/src/runtime/vdom/vdom.js +2 -4
@@ -1,6 +1,12 @@
1
1
  "use strict";var domInsert = require("./dom-insert");
2
2
 
3
3
 
4
+ function getRootNode(el) {
5
+ var cur = el;
6
+ while (cur.parentNode) cur = cur.parentNode;
7
+ return cur;
8
+ }
9
+
4
10
  function getComponentDefs(result) {
5
11
  var componentDefs = result.b_;
6
12
 
@@ -40,19 +46,19 @@ var proto = RenderResult.prototype = {
40
46
  return components;
41
47
  },
42
48
 
43
- afterInsert: function (doc) {
49
+ afterInsert: function (host) {
44
50
  var out = this.y_;
45
51
  var componentsContext = out.b_;
46
52
  if (componentsContext) {
47
- this.b_ = componentsContext.z_(doc);
53
+ this.b_ = componentsContext.z_(host);
48
54
  } else {
49
55
  this.b_ = null;
50
56
  }
51
57
 
52
58
  return this;
53
59
  },
54
- getNode: function (doc) {
55
- return this.y_.A_(doc);
60
+ getNode: function (host) {
61
+ return this.y_.A_(host);
56
62
  },
57
63
  getOutput: function () {
58
64
  return this.y_.B_();
@@ -60,7 +66,7 @@ var proto = RenderResult.prototype = {
60
66
  toString: function () {
61
67
  return this.y_.toString();
62
68
  },
63
- document: typeof document != "undefined" && document };
69
+ document: typeof window === "object" && document };
64
70
 
65
71
 
66
72
  Object.defineProperty(proto, "html", {
@@ -97,13 +103,9 @@ Object.defineProperty(proto, "context", {
97
103
  domInsert(
98
104
  proto,
99
105
  function getEl(renderResult, referenceEl) {
100
- return renderResult.getNode(referenceEl.ownerDocument);
106
+ return renderResult.getNode(getRootNode(referenceEl));
101
107
  },
102
108
  function afterInsert(renderResult, referenceEl) {
103
- var isShadow =
104
- typeof ShadowRoot === "function" && referenceEl instanceof ShadowRoot;
105
- return renderResult.afterInsert(
106
- isShadow ? referenceEl : referenceEl.ownerDocument);
107
-
109
+ return renderResult.afterInsert(getRootNode(referenceEl));
108
110
  });
109
111
  //# sourceMappingURL=RenderResult.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/runtime/RenderResult.js"],"names":["domInsert","require","getComponentDefs","result","componentDefs","Error","RenderResult","out","undefined","module","exports","proto","prototype","getComponent","getComponents","selector","components","forEach","componentDef","component","push","afterInsert","doc","componentsContext","getNode","getOutput","toString","document","Object","defineProperty","get","getEl","renderResult","referenceEl","ownerDocument","isShadow","ShadowRoot"],"mappings":"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","sourcesContent":["var domInsert = require(\"./dom-insert\");\nvar complain = \"MARKO_DEBUG\" && require(\"complain\");\n\nfunction getComponentDefs(result) {\n var componentDefs = result.___components;\n\n if (!componentDefs) {\n throw Error(\"No component\");\n }\n return componentDefs;\n}\n\nfunction RenderResult(out) {\n this.out = this.___out = out;\n this.___components = undefined;\n}\n\nmodule.exports = RenderResult;\n\nvar proto = (RenderResult.prototype = {\n getComponent: function () {\n return this.getComponents()[0];\n },\n getComponents: function (selector) {\n if (this.___components === undefined) {\n throw Error(\"Not added to DOM\");\n }\n\n var componentDefs = getComponentDefs(this);\n\n var components = [];\n\n componentDefs.forEach(function (componentDef) {\n var component = componentDef.___component;\n if (!selector || selector(component)) {\n components.push(component);\n }\n });\n\n return components;\n },\n\n afterInsert: function (doc) {\n var out = this.___out;\n var componentsContext = out.___components;\n if (componentsContext) {\n this.___components = componentsContext.___initComponents(doc);\n } else {\n this.___components = null;\n }\n\n return this;\n },\n getNode: function (doc) {\n return this.___out.___getNode(doc);\n },\n getOutput: function () {\n return this.___out.___getOutput();\n },\n toString: function () {\n return this.___out.toString();\n },\n document: typeof document != \"undefined\" && document\n});\n\nObject.defineProperty(proto, \"html\", {\n get: function () {\n // eslint-disable-next-line no-constant-condition\n if (\"MARKO_DEBUG\") {\n complain(\n 'The \"html\" property is deprecated. Please use \"toString\" instead.'\n );\n }\n return this.toString();\n }\n});\n\nObject.defineProperty(proto, \"context\", {\n get: function () {\n // eslint-disable-next-line no-constant-condition\n if (\"MARKO_DEBUG\") {\n complain(\n 'The \"context\" property is deprecated. Please use \"out\" instead.'\n );\n }\n return this.___out;\n }\n});\n\n// Add all of the following DOM methods to Component.prototype:\n// - appendTo(referenceEl)\n// - replace(referenceEl)\n// - replaceChildrenOf(referenceEl)\n// - insertBefore(referenceEl)\n// - insertAfter(referenceEl)\n// - prependTo(referenceEl)\ndomInsert(\n proto,\n function getEl(renderResult, referenceEl) {\n return renderResult.getNode(referenceEl.ownerDocument);\n },\n function afterInsert(renderResult, referenceEl) {\n var isShadow =\n typeof ShadowRoot === \"function\" && referenceEl instanceof ShadowRoot;\n return renderResult.afterInsert(\n isShadow ? referenceEl : referenceEl.ownerDocument\n );\n }\n);\n"],"file":"RenderResult.js"}
1
+ {"version":3,"sources":["../../src/runtime/RenderResult.js"],"names":["domInsert","require","getRootNode","el","cur","parentNode","getComponentDefs","result","componentDefs","Error","RenderResult","out","undefined","module","exports","proto","prototype","getComponent","getComponents","selector","components","forEach","componentDef","component","push","afterInsert","host","componentsContext","getNode","getOutput","toString","document","window","Object","defineProperty","get","getEl","renderResult","referenceEl"],"mappings":"aAAA,IAAIA,SAAS,GAAGC,OAAO,CAAC,cAAD,CAAvB;;;AAGA,SAASC,WAAT,CAAqBC,EAArB,EAAyB;AACvB,MAAIC,GAAG,GAAGD,EAAV;AACA,SAAOC,GAAG,CAACC,UAAX,EAAuBD,GAAG,GAAGA,GAAG,CAACC,UAAV;AACvB,SAAOD,GAAP;AACD;;AAED,SAASE,gBAAT,CAA0BC,MAA1B,EAAkC;AAChC,MAAIC,aAAa,GAAGD,MAAM,GAA1B;;AAEA,MAAI,CAACC,aAAL,EAAoB;AAClB,UAAMC,KAAK,CAAC,cAAD,CAAX;AACD;AACD,SAAOD,aAAP;AACD;;AAED,SAASE,YAAT,CAAsBC,GAAtB,EAA2B;AACzB,OAAKA,GAAL,GAAW,UAAcA,GAAzB;AACA,YAAqBC,SAArB;AACD;;AAEDC,MAAM,CAACC,OAAP,GAAiBJ,YAAjB;;AAEA,IAAIK,KAAK,GAAIL,YAAY,CAACM,SAAb,GAAyB;AACpCC,EAAAA,YAAY,EAAE,YAAY;AACxB,WAAO,KAAKC,aAAL,GAAqB,CAArB,CAAP;AACD,GAHmC;AAIpCA,EAAAA,aAAa,EAAE,UAAUC,QAAV,EAAoB;AACjC,QAAI,YAAuBP,SAA3B,EAAsC;AACpC,YAAMH,KAAK,CAAC,kBAAD,CAAX;AACD;;AAED,QAAID,aAAa,GAAGF,gBAAgB,CAAC,IAAD,CAApC;;AAEA,QAAIc,UAAU,GAAG,EAAjB;;AAEAZ,IAAAA,aAAa,CAACa,OAAd,CAAsB,UAAUC,YAAV,EAAwB;AAC5C,UAAIC,SAAS,GAAGD,YAAY,GAA5B;AACA,UAAI,CAACH,QAAD,IAAaA,QAAQ,CAACI,SAAD,CAAzB,EAAsC;AACpCH,QAAAA,UAAU,CAACI,IAAX,CAAgBD,SAAhB;AACD;AACF,KALD;;AAOA,WAAOH,UAAP;AACD,GArBmC;;AAuBpCK,EAAAA,WAAW,EAAE,UAAUC,IAAV,EAAgB;AAC3B,QAAIf,GAAG,GAAG,OAAV;AACA,QAAIgB,iBAAiB,GAAGhB,GAAG,GAA3B;AACA,QAAIgB,iBAAJ,EAAuB;AACrB,gBAAqBA,iBAAiB,GAAjB,CAAoCD,IAApC,CAArB;AACD,KAFD,MAEO;AACL,gBAAqB,IAArB;AACD;;AAED,WAAO,IAAP;AACD,GAjCmC;AAkCpCE,EAAAA,OAAO,EAAE,UAAUF,IAAV,EAAgB;AACvB,WAAO,WAAuBA,IAAvB,CAAP;AACD,GApCmC;AAqCpCG,EAAAA,SAAS,EAAE,YAAY;AACrB,WAAO,YAAP;AACD,GAvCmC;AAwCpCC,EAAAA,QAAQ,EAAE,YAAY;AACpB,WAAO,QAAYA,QAAZ,EAAP;AACD,GA1CmC;AA2CpCC,EAAAA,QAAQ,EAAE,OAAOC,MAAP,KAAkB,QAAlB,IAA8BD,QA3CJ,EAAtC;;;AA8CAE,MAAM,CAACC,cAAP,CAAsBnB,KAAtB,EAA6B,MAA7B,EAAqC;AACnCoB,EAAAA,GAAG,EAAE,YAAY;AACf;;;;;;AAMA,WAAO,KAAKL,QAAL,EAAP;AACD,GATkC,EAArC;;;AAYAG,MAAM,CAACC,cAAP,CAAsBnB,KAAtB,EAA6B,SAA7B,EAAwC;AACtCoB,EAAAA,GAAG,EAAE,YAAY;AACf;;;;;;AAMA,WAAO,OAAP;AACD,GATqC,EAAxC;;;AAYA;AACA;AACA;AACA;AACA;AACA;AACA;AACAnC,SAAS;AACPe,KADO;AAEP,SAASqB,KAAT,CAAeC,YAAf,EAA6BC,WAA7B,EAA0C;AACxC,SAAOD,YAAY,CAACT,OAAb,CAAqB1B,WAAW,CAACoC,WAAD,CAAhC,CAAP;AACD,CAJM;AAKP,SAASb,WAAT,CAAqBY,YAArB,EAAmCC,WAAnC,EAAgD;AAC9C,SAAOD,YAAY,CAACZ,WAAb,CAAyBvB,WAAW,CAACoC,WAAD,CAApC,CAAP;AACD,CAPM,CAAT","sourcesContent":["var domInsert = require(\"./dom-insert\");\nvar complain = \"MARKO_DEBUG\" && require(\"complain\");\n\nfunction getRootNode(el) {\n var cur = el;\n while (cur.parentNode) cur = cur.parentNode;\n return cur;\n}\n\nfunction getComponentDefs(result) {\n var componentDefs = result.___components;\n\n if (!componentDefs) {\n throw Error(\"No component\");\n }\n return componentDefs;\n}\n\nfunction RenderResult(out) {\n this.out = this.___out = out;\n this.___components = undefined;\n}\n\nmodule.exports = RenderResult;\n\nvar proto = (RenderResult.prototype = {\n getComponent: function () {\n return this.getComponents()[0];\n },\n getComponents: function (selector) {\n if (this.___components === undefined) {\n throw Error(\"Not added to DOM\");\n }\n\n var componentDefs = getComponentDefs(this);\n\n var components = [];\n\n componentDefs.forEach(function (componentDef) {\n var component = componentDef.___component;\n if (!selector || selector(component)) {\n components.push(component);\n }\n });\n\n return components;\n },\n\n afterInsert: function (host) {\n var out = this.___out;\n var componentsContext = out.___components;\n if (componentsContext) {\n this.___components = componentsContext.___initComponents(host);\n } else {\n this.___components = null;\n }\n\n return this;\n },\n getNode: function (host) {\n return this.___out.___getNode(host);\n },\n getOutput: function () {\n return this.___out.___getOutput();\n },\n toString: function () {\n return this.___out.toString();\n },\n document: typeof window === \"object\" && document\n});\n\nObject.defineProperty(proto, \"html\", {\n get: function () {\n // eslint-disable-next-line no-constant-condition\n if (\"MARKO_DEBUG\") {\n complain(\n 'The \"html\" property is deprecated. Please use \"toString\" instead.'\n );\n }\n return this.toString();\n }\n});\n\nObject.defineProperty(proto, \"context\", {\n get: function () {\n // eslint-disable-next-line no-constant-condition\n if (\"MARKO_DEBUG\") {\n complain(\n 'The \"context\" property is deprecated. Please use \"out\" instead.'\n );\n }\n return this.___out;\n }\n});\n\n// Add all of the following DOM methods to Component.prototype:\n// - appendTo(referenceEl)\n// - replace(referenceEl)\n// - replaceChildrenOf(referenceEl)\n// - insertBefore(referenceEl)\n// - insertAfter(referenceEl)\n// - prependTo(referenceEl)\ndomInsert(\n proto,\n function getEl(renderResult, referenceEl) {\n return renderResult.getNode(getRootNode(referenceEl));\n },\n function afterInsert(renderResult, referenceEl) {\n return renderResult.afterInsert(getRootNode(referenceEl));\n }\n);\n"],"file":"RenderResult.js"}
@@ -533,7 +533,7 @@ Component.prototype = componentProto = {
533
533
  },
534
534
 
535
535
  _p_: function (input, isHydrate) {
536
- var doc = this.X_;
536
+ var host = this.X_;
537
537
  var globalData = this.S_;
538
538
  var rootNode = this.K_;
539
539
  var renderer = this._n_;
@@ -554,7 +554,7 @@ Component.prototype = componentProto = {
554
554
 
555
555
  var targetNode = out.B_()._r_;
556
556
 
557
- morphdom(rootNode, targetNode, doc, componentsContext);
557
+ morphdom(rootNode, targetNode, host, componentsContext);
558
558
 
559
559
  return result;
560
560
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/runtime/components/Component.js"],"names":["domInsert","require","defaultCreateOut","getComponentsContext","componentsUtil","componentLookup","destroyNodeRecursive","EventEmitter","RenderResult","SubscriptionTracker","inherit","updateManager","morphdom","eventDelegation","domData","componentsByDOMNode","keyedElementsByComponentId","CONTEXT_KEY","hasOwnProperty","Object","prototype","slice","Array","COMPONENT_SUBSCRIBE_TO_OPTIONS","NON_COMPONENT_SUBSCRIBE_TO_OPTIONS","addDestroyListener","emit","ELEMENT_NODE","removeListener","removeEventListenerHandle","walkFragments","fragment","node","firstChild","handleCustomEventWithMethodListener","component","targetMethodName","args","extraArgs","push","concat","targetComponent","targetMethod","Error","apply","resolveKeyHelper","key","index","resolveComponentIdHelper","id","processUpdateHandlers","stateChanges","oldState","handlerMethod","handlers","propName","call","handlerMethodName","forEach","handler","propertyName","newValue","oldValue","checkInputChanged","existingComponent","oldInput","newInput","oldKeys","keys","newKeys","len","length","i","componentProto","Component","undefined","ssrKeyedElements","subscribeTo","target","TypeError","subscriptions","subscribeToOptions","eventType","customEvents","isOnce","arguments","getElId","getEl","keyedElement","el","getEls","els","getComponent","rootNode","get","getComponents","lookup","map","filter","Boolean","destroy","root","nodes","parentNode","removeChild","detached","set","removeAllListeners","isDestroyed","state","newState","setState","name","value","k","setStateDirty","replaceState","input","onInput","out","updatedInput","$global","forceUpdate","update","shouldUpdate","self","renderer","afterInsert","isHydrate","doc","globalData","createOut","sync","componentsContext","globalComponentsContext","result","targetNode","remove","eventListenerHandles","scope","finalCustomEvents","customEvent","nodeType","onCreate","onRender","onUpdate","onMount","onDestroy","elId","module","exports"],"mappings":"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","sourcesContent":["\"use strict\";\n/* jshint newcap:false */\n\nvar complain = \"MARKO_DEBUG\" && require(\"complain\");\n\nvar domInsert = require(\"../dom-insert\");\nvar defaultCreateOut = require(\"../createOut\");\nvar getComponentsContext =\n require(\"./ComponentsContext\").___getComponentsContext;\nvar componentsUtil = require(\"./util\");\nvar componentLookup = componentsUtil.___componentLookup;\nvar destroyNodeRecursive = componentsUtil.___destroyNodeRecursive;\nvar EventEmitter = require(\"events-light\");\nvar RenderResult = require(\"../RenderResult\");\nvar SubscriptionTracker = require(\"listener-tracker\");\nvar inherit = require(\"raptor-util/inherit\");\nvar updateManager = require(\"./update-manager\");\nvar morphdom = require(\"../vdom/morphdom\");\nvar eventDelegation = require(\"./event-delegation\");\nvar domData = require(\"./dom-data\");\nvar componentsByDOMNode = domData.___componentByDOMNode;\nvar keyedElementsByComponentId = domData.___ssrKeyedElementsByComponentId;\nvar CONTEXT_KEY = \"__subtree_context__\";\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar slice = Array.prototype.slice;\n\nvar COMPONENT_SUBSCRIBE_TO_OPTIONS;\nvar NON_COMPONENT_SUBSCRIBE_TO_OPTIONS = {\n addDestroyListener: false\n};\n\nvar emit = EventEmitter.prototype.emit;\nvar ELEMENT_NODE = 1;\n\nfunction removeListener(removeEventListenerHandle) {\n removeEventListenerHandle();\n}\n\nfunction walkFragments(fragment) {\n var node;\n\n while (fragment) {\n node = fragment.firstChild;\n\n if (!node) {\n break;\n }\n\n fragment = node.fragment;\n }\n\n return node;\n}\n\nfunction handleCustomEventWithMethodListener(\n component,\n targetMethodName,\n args,\n extraArgs\n) {\n // Remove the \"eventType\" argument\n args.push(component);\n\n if (extraArgs) {\n args = extraArgs.concat(args);\n }\n\n var targetComponent = componentLookup[component.___scope];\n var targetMethod =\n typeof targetMethodName === \"function\"\n ? targetMethodName\n : targetComponent[targetMethodName];\n if (!targetMethod) {\n throw Error(\"Method not found: \" + targetMethodName);\n }\n\n targetMethod.apply(targetComponent, args);\n}\n\nfunction resolveKeyHelper(key, index) {\n return index ? key + \"_\" + index : key;\n}\n\nfunction resolveComponentIdHelper(component, key, index) {\n return component.id + \"-\" + resolveKeyHelper(key, index);\n}\n\n/**\n * This method is used to process \"update_<stateName>\" handler functions.\n * If all of the modified state properties have a user provided update handler\n * then a rerender will be bypassed and, instead, the DOM will be updated\n * looping over and invoking the custom update handlers.\n * @return {boolean} Returns true if if the DOM was updated. False, otherwise.\n */\nfunction processUpdateHandlers(component, stateChanges, oldState) {\n var handlerMethod;\n var handlers;\n\n for (var propName in stateChanges) {\n if (hasOwnProperty.call(stateChanges, propName)) {\n var handlerMethodName = \"update_\" + propName;\n\n handlerMethod = component[handlerMethodName];\n if (handlerMethod) {\n (handlers || (handlers = [])).push([propName, handlerMethod]);\n } else {\n // This state change does not have a state handler so return false\n // to force a rerender\n return;\n }\n }\n }\n\n // If we got here then all of the changed state properties have\n // an update handler or there are no state properties that actually\n // changed.\n if (handlers) {\n // Otherwise, there are handlers for all of the changed properties\n // so apply the updates using those handlers\n\n handlers.forEach(function (handler) {\n var propertyName = handler[0];\n handlerMethod = handler[1];\n\n var newValue = stateChanges[propertyName];\n var oldValue = oldState[propertyName];\n handlerMethod.call(component, newValue, oldValue);\n });\n\n component.___emitUpdate();\n component.___reset();\n }\n\n return true;\n}\n\nfunction checkInputChanged(existingComponent, oldInput, newInput) {\n if (oldInput != newInput) {\n if (oldInput == null || newInput == null) {\n return true;\n }\n\n var oldKeys = Object.keys(oldInput);\n var newKeys = Object.keys(newInput);\n var len = oldKeys.length;\n if (len !== newKeys.length) {\n return true;\n }\n\n for (var i = len; i--; ) {\n var key = oldKeys[i];\n if (!(key in newInput && oldInput[key] === newInput[key])) {\n return true;\n }\n }\n }\n\n return false;\n}\n\nvar componentProto;\n\n/**\n * Base component type.\n *\n * NOTE: Any methods that are prefixed with an underscore should be considered private!\n */\nfunction Component(id) {\n EventEmitter.call(this);\n this.id = id;\n this.___state = null;\n this.___rootNode = null;\n this.___subscriptions = null;\n this.___domEventListenerHandles = null;\n this.___bubblingDomEvents = null; // Used to keep track of bubbling DOM events for components rendered on the server\n this.___customEvents = null;\n this.___scope = null;\n this.___renderInput = null;\n this.___input = undefined;\n this.___mounted = false;\n this.___global = undefined;\n this.___destroyed = false;\n this.___updateQueued = false;\n this.___dirty = false;\n this.___settingInput = false;\n this.___document = undefined;\n\n var ssrKeyedElements = keyedElementsByComponentId[id];\n\n if (ssrKeyedElements) {\n this.___keyedElements = ssrKeyedElements;\n delete keyedElementsByComponentId[id];\n } else {\n this.___keyedElements = {};\n }\n}\n\nComponent.prototype = componentProto = {\n ___isComponent: true,\n\n subscribeTo: function (target) {\n if (!target) {\n throw TypeError();\n }\n\n var subscriptions =\n this.___subscriptions ||\n (this.___subscriptions = new SubscriptionTracker());\n\n var subscribeToOptions = target.___isComponent\n ? COMPONENT_SUBSCRIBE_TO_OPTIONS\n : NON_COMPONENT_SUBSCRIBE_TO_OPTIONS;\n\n return subscriptions.subscribeTo(target, subscribeToOptions);\n },\n\n emit: function (eventType) {\n var customEvents = this.___customEvents;\n var target;\n\n if (customEvents && (target = customEvents[eventType])) {\n var targetMethodName = target[0];\n var isOnce = target[1];\n var extraArgs = target[2];\n var args = slice.call(arguments, 1);\n\n handleCustomEventWithMethodListener(\n this,\n targetMethodName,\n args,\n extraArgs\n );\n\n if (isOnce) {\n delete customEvents[eventType];\n }\n }\n\n return emit.apply(this, arguments);\n },\n getElId: function (key, index) {\n if (!key) {\n return this.id;\n }\n return resolveComponentIdHelper(this, key, index);\n },\n getEl: function (key, index) {\n if (key) {\n var keyedElement =\n this.___keyedElements[\"@\" + resolveKeyHelper(key, index)];\n\n // eslint-disable-next-line no-constant-condition\n if (\"MARKO_DEBUG\") {\n if (\n keyedElement &&\n keyedElement.nodeType !== 1 /* Node.ELEMENT_NODE */\n ) {\n throw new Error(\n \"Using 'getEl(key)' to get a component instance is not supported, did you mean 'getComponent(key)'?\"\n );\n }\n }\n\n return keyedElement;\n } else {\n return this.el;\n }\n },\n getEls: function (key) {\n key = key + \"[]\";\n\n var els = [];\n var i = 0;\n var el;\n while ((el = this.getEl(key, i))) {\n els.push(el);\n i++;\n }\n return els;\n },\n getComponent: function (key, index) {\n var rootNode = this.___keyedElements[\"@\" + resolveKeyHelper(key, index)];\n // eslint-disable-next-line no-constant-condition\n if (\"MARKO_DEBUG\") {\n if (/\\[\\]$/.test(key)) {\n throw new Error(\n \"A repeated key[] was passed to getComponent. Use a non-repeating key if there is only one of these components.\"\n );\n }\n }\n\n return rootNode && componentsByDOMNode.get(rootNode);\n },\n getComponents: function (key) {\n var lookup = this.___keyedElements[\"@\" + key + \"[]\"];\n return lookup\n ? Object.keys(lookup)\n .map(function (key) {\n return componentsByDOMNode.get(lookup[key]);\n })\n .filter(Boolean)\n : [];\n },\n destroy: function () {\n if (this.___destroyed) {\n return;\n }\n\n var root = this.___rootNode;\n\n this.___destroyShallow();\n\n var nodes = root.nodes;\n\n nodes.forEach(function (node) {\n destroyNodeRecursive(node);\n\n if (eventDelegation.___handleNodeDetach(node) !== false) {\n node.parentNode.removeChild(node);\n }\n });\n\n root.detached = true;\n\n delete componentLookup[this.id];\n this.___keyedElements = {};\n },\n\n ___destroyShallow: function () {\n if (this.___destroyed) {\n return;\n }\n\n this.___emitDestroy();\n this.___destroyed = true;\n\n componentsByDOMNode.set(this.___rootNode, undefined);\n\n this.___rootNode = null;\n\n // Unsubscribe from all DOM events\n this.___removeDOMEventListeners();\n\n var subscriptions = this.___subscriptions;\n if (subscriptions) {\n subscriptions.removeAllListeners();\n this.___subscriptions = null;\n }\n },\n\n isDestroyed: function () {\n return this.___destroyed;\n },\n get state() {\n return this.___state;\n },\n set state(newState) {\n var state = this.___state;\n if (!state && !newState) {\n return;\n }\n\n if (!state) {\n state = this.___state = new this.___State(this);\n }\n\n state.___replace(newState || {});\n\n if (state.___dirty) {\n this.___queueUpdate();\n }\n\n if (!newState) {\n this.___state = null;\n }\n },\n setState: function (name, value) {\n var state = this.___state;\n\n if (!state) {\n state = this.___state = new this.___State(this);\n }\n if (typeof name == \"object\") {\n // Merge in the new state with the old state\n var newState = name;\n for (var k in newState) {\n if (hasOwnProperty.call(newState, k)) {\n state.___set(k, newState[k], true /* ensure:true */);\n }\n }\n } else {\n state.___set(name, value, true /* ensure:true */);\n }\n },\n\n setStateDirty: function (name, value) {\n var state = this.___state;\n\n if (arguments.length == 1) {\n value = state[name];\n }\n\n state.___set(\n name,\n value,\n true /* ensure:true */,\n true /* forceDirty:true */\n );\n },\n\n replaceState: function (newState) {\n this.___state.___replace(newState);\n },\n\n get input() {\n return this.___input;\n },\n set input(newInput) {\n if (this.___settingInput) {\n this.___input = newInput;\n } else {\n this.___setInput(newInput);\n }\n },\n\n ___setInput: function (newInput, onInput, out) {\n onInput = onInput || this.onInput;\n var updatedInput;\n\n var oldInput = this.___input;\n this.___input = undefined;\n this.___context = (out && out[CONTEXT_KEY]) || this.___context;\n\n if (onInput) {\n // We need to set a flag to preview `this.input = foo` inside\n // onInput causing infinite recursion\n this.___settingInput = true;\n updatedInput = onInput.call(this, newInput || {}, out);\n this.___settingInput = false;\n }\n\n newInput = this.___renderInput = updatedInput || newInput;\n\n if ((this.___dirty = checkInputChanged(this, oldInput, newInput))) {\n this.___queueUpdate();\n }\n\n if (this.___input === undefined) {\n this.___input = newInput;\n if (newInput && newInput.$global) {\n this.___global = newInput.$global;\n }\n }\n\n return newInput;\n },\n\n forceUpdate: function () {\n this.___dirty = true;\n this.___queueUpdate();\n },\n\n ___queueUpdate: function () {\n if (!this.___updateQueued) {\n this.___updateQueued = true;\n updateManager.___queueComponentUpdate(this);\n }\n },\n\n update: function () {\n if (this.___destroyed === true || this.___isDirty === false) {\n return;\n }\n\n var input = this.___input;\n var state = this.___state;\n\n if (this.___dirty === false && state !== null && state.___dirty === true) {\n if (processUpdateHandlers(this, state.___changes, state.___old, state)) {\n state.___dirty = false;\n }\n }\n\n if (this.___isDirty === true) {\n // The UI component is still dirty after process state handlers\n // then we should rerender\n\n if (this.shouldUpdate(input, state) !== false) {\n this.___scheduleRerender();\n }\n }\n\n this.___reset();\n },\n\n get ___isDirty() {\n return (\n this.___dirty === true ||\n (this.___state !== null && this.___state.___dirty === true)\n );\n },\n\n ___reset: function () {\n this.___dirty = false;\n this.___updateQueued = false;\n this.___renderInput = null;\n var state = this.___state;\n if (state) {\n state.___reset();\n }\n },\n\n shouldUpdate: function () {\n return true;\n },\n\n ___scheduleRerender: function () {\n var self = this;\n var renderer = self.___renderer;\n\n if (!renderer) {\n throw TypeError();\n }\n\n var input = this.___renderInput || this.___input;\n\n updateManager.___batchUpdate(function () {\n self.___rerender(input, false).afterInsert(self.___document);\n });\n\n this.___reset();\n },\n\n ___rerender: function (input, isHydrate) {\n var doc = this.___document;\n var globalData = this.___global;\n var rootNode = this.___rootNode;\n var renderer = this.___renderer;\n var createOut = renderer.createOut || defaultCreateOut;\n var out = createOut(globalData);\n out.sync();\n out.___document = this.___document;\n out[CONTEXT_KEY] = this.___context;\n\n var componentsContext = getComponentsContext(out);\n var globalComponentsContext = componentsContext.___globalContext;\n globalComponentsContext.___rerenderComponent = this;\n globalComponentsContext.___isHydrate = isHydrate;\n\n renderer(input, out);\n\n var result = new RenderResult(out);\n\n var targetNode = out.___getOutput().___firstChild;\n\n morphdom(rootNode, targetNode, doc, componentsContext);\n\n return result;\n },\n\n ___detach: function () {\n var root = this.___rootNode;\n root.remove();\n return root;\n },\n\n ___removeDOMEventListeners: function () {\n var eventListenerHandles = this.___domEventListenerHandles;\n if (eventListenerHandles) {\n eventListenerHandles.forEach(removeListener);\n this.___domEventListenerHandles = null;\n }\n },\n\n get ___rawState() {\n var state = this.___state;\n return state && state.___raw;\n },\n\n ___setCustomEvents: function (customEvents, scope) {\n var finalCustomEvents = (this.___customEvents = {});\n this.___scope = scope;\n\n customEvents.forEach(function (customEvent) {\n var eventType = customEvent[0];\n var targetMethodName = customEvent[1];\n var isOnce = customEvent[2];\n var extraArgs = customEvent[3];\n\n if (targetMethodName) {\n finalCustomEvents[eventType] = [targetMethodName, isOnce, extraArgs];\n }\n });\n },\n\n get el() {\n return walkFragments(this.___rootNode);\n },\n\n get els() {\n // eslint-disable-next-line no-constant-condition\n if (\"MARKO_DEBUG\") {\n complain(\n 'The \"this.els\" attribute is deprecated. Please use \"this.getEls(key)\" instead.'\n );\n }\n return (this.___rootNode ? this.___rootNode.nodes : []).filter(function (\n el\n ) {\n return el.nodeType === ELEMENT_NODE;\n });\n },\n\n ___emit: emit,\n ___emitCreate(input, out) {\n this.onCreate && this.onCreate(input, out);\n this.___emit(\"create\", input, out);\n },\n\n ___emitRender(out) {\n this.onRender && this.onRender(out);\n this.___emit(\"render\", out);\n },\n\n ___emitUpdate() {\n this.onUpdate && this.onUpdate();\n this.___emit(\"update\");\n },\n\n ___emitMount() {\n this.onMount && this.onMount();\n this.___emit(\"mount\");\n },\n\n ___emitDestroy() {\n this.onDestroy && this.onDestroy();\n this.___emit(\"destroy\");\n }\n};\n\ncomponentProto.elId = componentProto.getElId;\ncomponentProto.___update = componentProto.update;\ncomponentProto.___destroy = componentProto.destroy;\n\n// Add all of the following DOM methods to Component.prototype:\n// - appendTo(referenceEl)\n// - replace(referenceEl)\n// - replaceChildrenOf(referenceEl)\n// - insertBefore(referenceEl)\n// - insertAfter(referenceEl)\n// - prependTo(referenceEl)\ndomInsert(\n componentProto,\n function getEl(component) {\n return component.___detach();\n },\n function afterInsert(component) {\n return component;\n }\n);\n\ninherit(Component, EventEmitter);\n\nmodule.exports = Component;\n"],"file":"Component.js"}
1
+ {"version":3,"sources":["../../../src/runtime/components/Component.js"],"names":["domInsert","require","defaultCreateOut","getComponentsContext","componentsUtil","componentLookup","destroyNodeRecursive","EventEmitter","RenderResult","SubscriptionTracker","inherit","updateManager","morphdom","eventDelegation","domData","componentsByDOMNode","keyedElementsByComponentId","CONTEXT_KEY","hasOwnProperty","Object","prototype","slice","Array","COMPONENT_SUBSCRIBE_TO_OPTIONS","NON_COMPONENT_SUBSCRIBE_TO_OPTIONS","addDestroyListener","emit","ELEMENT_NODE","removeListener","removeEventListenerHandle","walkFragments","fragment","node","firstChild","handleCustomEventWithMethodListener","component","targetMethodName","args","extraArgs","push","concat","targetComponent","targetMethod","Error","apply","resolveKeyHelper","key","index","resolveComponentIdHelper","id","processUpdateHandlers","stateChanges","oldState","handlerMethod","handlers","propName","call","handlerMethodName","forEach","handler","propertyName","newValue","oldValue","checkInputChanged","existingComponent","oldInput","newInput","oldKeys","keys","newKeys","len","length","i","componentProto","Component","undefined","ssrKeyedElements","subscribeTo","target","TypeError","subscriptions","subscribeToOptions","eventType","customEvents","isOnce","arguments","getElId","getEl","keyedElement","el","getEls","els","getComponent","rootNode","get","getComponents","lookup","map","filter","Boolean","destroy","root","nodes","parentNode","removeChild","detached","set","removeAllListeners","isDestroyed","state","newState","setState","name","value","k","setStateDirty","replaceState","input","onInput","out","updatedInput","$global","forceUpdate","update","shouldUpdate","self","renderer","afterInsert","isHydrate","host","globalData","createOut","sync","componentsContext","globalComponentsContext","result","targetNode","remove","eventListenerHandles","scope","finalCustomEvents","customEvent","nodeType","onCreate","onRender","onUpdate","onMount","onDestroy","elId","module","exports"],"mappings":"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","sourcesContent":["\"use strict\";\n/* jshint newcap:false */\n\nvar complain = \"MARKO_DEBUG\" && require(\"complain\");\n\nvar domInsert = require(\"../dom-insert\");\nvar defaultCreateOut = require(\"../createOut\");\nvar getComponentsContext =\n require(\"./ComponentsContext\").___getComponentsContext;\nvar componentsUtil = require(\"./util\");\nvar componentLookup = componentsUtil.___componentLookup;\nvar destroyNodeRecursive = componentsUtil.___destroyNodeRecursive;\nvar EventEmitter = require(\"events-light\");\nvar RenderResult = require(\"../RenderResult\");\nvar SubscriptionTracker = require(\"listener-tracker\");\nvar inherit = require(\"raptor-util/inherit\");\nvar updateManager = require(\"./update-manager\");\nvar morphdom = require(\"../vdom/morphdom\");\nvar eventDelegation = require(\"./event-delegation\");\nvar domData = require(\"./dom-data\");\nvar componentsByDOMNode = domData.___componentByDOMNode;\nvar keyedElementsByComponentId = domData.___ssrKeyedElementsByComponentId;\nvar CONTEXT_KEY = \"__subtree_context__\";\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar slice = Array.prototype.slice;\n\nvar COMPONENT_SUBSCRIBE_TO_OPTIONS;\nvar NON_COMPONENT_SUBSCRIBE_TO_OPTIONS = {\n addDestroyListener: false\n};\n\nvar emit = EventEmitter.prototype.emit;\nvar ELEMENT_NODE = 1;\n\nfunction removeListener(removeEventListenerHandle) {\n removeEventListenerHandle();\n}\n\nfunction walkFragments(fragment) {\n var node;\n\n while (fragment) {\n node = fragment.firstChild;\n\n if (!node) {\n break;\n }\n\n fragment = node.fragment;\n }\n\n return node;\n}\n\nfunction handleCustomEventWithMethodListener(\n component,\n targetMethodName,\n args,\n extraArgs\n) {\n // Remove the \"eventType\" argument\n args.push(component);\n\n if (extraArgs) {\n args = extraArgs.concat(args);\n }\n\n var targetComponent = componentLookup[component.___scope];\n var targetMethod =\n typeof targetMethodName === \"function\"\n ? targetMethodName\n : targetComponent[targetMethodName];\n if (!targetMethod) {\n throw Error(\"Method not found: \" + targetMethodName);\n }\n\n targetMethod.apply(targetComponent, args);\n}\n\nfunction resolveKeyHelper(key, index) {\n return index ? key + \"_\" + index : key;\n}\n\nfunction resolveComponentIdHelper(component, key, index) {\n return component.id + \"-\" + resolveKeyHelper(key, index);\n}\n\n/**\n * This method is used to process \"update_<stateName>\" handler functions.\n * If all of the modified state properties have a user provided update handler\n * then a rerender will be bypassed and, instead, the DOM will be updated\n * looping over and invoking the custom update handlers.\n * @return {boolean} Returns true if if the DOM was updated. False, otherwise.\n */\nfunction processUpdateHandlers(component, stateChanges, oldState) {\n var handlerMethod;\n var handlers;\n\n for (var propName in stateChanges) {\n if (hasOwnProperty.call(stateChanges, propName)) {\n var handlerMethodName = \"update_\" + propName;\n\n handlerMethod = component[handlerMethodName];\n if (handlerMethod) {\n (handlers || (handlers = [])).push([propName, handlerMethod]);\n } else {\n // This state change does not have a state handler so return false\n // to force a rerender\n return;\n }\n }\n }\n\n // If we got here then all of the changed state properties have\n // an update handler or there are no state properties that actually\n // changed.\n if (handlers) {\n // Otherwise, there are handlers for all of the changed properties\n // so apply the updates using those handlers\n\n handlers.forEach(function (handler) {\n var propertyName = handler[0];\n handlerMethod = handler[1];\n\n var newValue = stateChanges[propertyName];\n var oldValue = oldState[propertyName];\n handlerMethod.call(component, newValue, oldValue);\n });\n\n component.___emitUpdate();\n component.___reset();\n }\n\n return true;\n}\n\nfunction checkInputChanged(existingComponent, oldInput, newInput) {\n if (oldInput != newInput) {\n if (oldInput == null || newInput == null) {\n return true;\n }\n\n var oldKeys = Object.keys(oldInput);\n var newKeys = Object.keys(newInput);\n var len = oldKeys.length;\n if (len !== newKeys.length) {\n return true;\n }\n\n for (var i = len; i--; ) {\n var key = oldKeys[i];\n if (!(key in newInput && oldInput[key] === newInput[key])) {\n return true;\n }\n }\n }\n\n return false;\n}\n\nvar componentProto;\n\n/**\n * Base component type.\n *\n * NOTE: Any methods that are prefixed with an underscore should be considered private!\n */\nfunction Component(id) {\n EventEmitter.call(this);\n this.id = id;\n this.___state = null;\n this.___rootNode = null;\n this.___subscriptions = null;\n this.___domEventListenerHandles = null;\n this.___bubblingDomEvents = null; // Used to keep track of bubbling DOM events for components rendered on the server\n this.___customEvents = null;\n this.___scope = null;\n this.___renderInput = null;\n this.___input = undefined;\n this.___mounted = false;\n this.___global = undefined;\n this.___destroyed = false;\n this.___updateQueued = false;\n this.___dirty = false;\n this.___settingInput = false;\n this.___host = undefined;\n\n var ssrKeyedElements = keyedElementsByComponentId[id];\n\n if (ssrKeyedElements) {\n this.___keyedElements = ssrKeyedElements;\n delete keyedElementsByComponentId[id];\n } else {\n this.___keyedElements = {};\n }\n}\n\nComponent.prototype = componentProto = {\n ___isComponent: true,\n\n subscribeTo: function (target) {\n if (!target) {\n throw TypeError();\n }\n\n var subscriptions =\n this.___subscriptions ||\n (this.___subscriptions = new SubscriptionTracker());\n\n var subscribeToOptions = target.___isComponent\n ? COMPONENT_SUBSCRIBE_TO_OPTIONS\n : NON_COMPONENT_SUBSCRIBE_TO_OPTIONS;\n\n return subscriptions.subscribeTo(target, subscribeToOptions);\n },\n\n emit: function (eventType) {\n var customEvents = this.___customEvents;\n var target;\n\n if (customEvents && (target = customEvents[eventType])) {\n var targetMethodName = target[0];\n var isOnce = target[1];\n var extraArgs = target[2];\n var args = slice.call(arguments, 1);\n\n handleCustomEventWithMethodListener(\n this,\n targetMethodName,\n args,\n extraArgs\n );\n\n if (isOnce) {\n delete customEvents[eventType];\n }\n }\n\n return emit.apply(this, arguments);\n },\n getElId: function (key, index) {\n if (!key) {\n return this.id;\n }\n return resolveComponentIdHelper(this, key, index);\n },\n getEl: function (key, index) {\n if (key) {\n var keyedElement =\n this.___keyedElements[\"@\" + resolveKeyHelper(key, index)];\n\n // eslint-disable-next-line no-constant-condition\n if (\"MARKO_DEBUG\") {\n if (\n keyedElement &&\n keyedElement.nodeType !== 1 /* Node.ELEMENT_NODE */\n ) {\n throw new Error(\n \"Using 'getEl(key)' to get a component instance is not supported, did you mean 'getComponent(key)'?\"\n );\n }\n }\n\n return keyedElement;\n } else {\n return this.el;\n }\n },\n getEls: function (key) {\n key = key + \"[]\";\n\n var els = [];\n var i = 0;\n var el;\n while ((el = this.getEl(key, i))) {\n els.push(el);\n i++;\n }\n return els;\n },\n getComponent: function (key, index) {\n var rootNode = this.___keyedElements[\"@\" + resolveKeyHelper(key, index)];\n // eslint-disable-next-line no-constant-condition\n if (\"MARKO_DEBUG\") {\n if (/\\[\\]$/.test(key)) {\n throw new Error(\n \"A repeated key[] was passed to getComponent. Use a non-repeating key if there is only one of these components.\"\n );\n }\n }\n\n return rootNode && componentsByDOMNode.get(rootNode);\n },\n getComponents: function (key) {\n var lookup = this.___keyedElements[\"@\" + key + \"[]\"];\n return lookup\n ? Object.keys(lookup)\n .map(function (key) {\n return componentsByDOMNode.get(lookup[key]);\n })\n .filter(Boolean)\n : [];\n },\n destroy: function () {\n if (this.___destroyed) {\n return;\n }\n\n var root = this.___rootNode;\n\n this.___destroyShallow();\n\n var nodes = root.nodes;\n\n nodes.forEach(function (node) {\n destroyNodeRecursive(node);\n\n if (eventDelegation.___handleNodeDetach(node) !== false) {\n node.parentNode.removeChild(node);\n }\n });\n\n root.detached = true;\n\n delete componentLookup[this.id];\n this.___keyedElements = {};\n },\n\n ___destroyShallow: function () {\n if (this.___destroyed) {\n return;\n }\n\n this.___emitDestroy();\n this.___destroyed = true;\n\n componentsByDOMNode.set(this.___rootNode, undefined);\n\n this.___rootNode = null;\n\n // Unsubscribe from all DOM events\n this.___removeDOMEventListeners();\n\n var subscriptions = this.___subscriptions;\n if (subscriptions) {\n subscriptions.removeAllListeners();\n this.___subscriptions = null;\n }\n },\n\n isDestroyed: function () {\n return this.___destroyed;\n },\n get state() {\n return this.___state;\n },\n set state(newState) {\n var state = this.___state;\n if (!state && !newState) {\n return;\n }\n\n if (!state) {\n state = this.___state = new this.___State(this);\n }\n\n state.___replace(newState || {});\n\n if (state.___dirty) {\n this.___queueUpdate();\n }\n\n if (!newState) {\n this.___state = null;\n }\n },\n setState: function (name, value) {\n var state = this.___state;\n\n if (!state) {\n state = this.___state = new this.___State(this);\n }\n if (typeof name == \"object\") {\n // Merge in the new state with the old state\n var newState = name;\n for (var k in newState) {\n if (hasOwnProperty.call(newState, k)) {\n state.___set(k, newState[k], true /* ensure:true */);\n }\n }\n } else {\n state.___set(name, value, true /* ensure:true */);\n }\n },\n\n setStateDirty: function (name, value) {\n var state = this.___state;\n\n if (arguments.length == 1) {\n value = state[name];\n }\n\n state.___set(\n name,\n value,\n true /* ensure:true */,\n true /* forceDirty:true */\n );\n },\n\n replaceState: function (newState) {\n this.___state.___replace(newState);\n },\n\n get input() {\n return this.___input;\n },\n set input(newInput) {\n if (this.___settingInput) {\n this.___input = newInput;\n } else {\n this.___setInput(newInput);\n }\n },\n\n ___setInput: function (newInput, onInput, out) {\n onInput = onInput || this.onInput;\n var updatedInput;\n\n var oldInput = this.___input;\n this.___input = undefined;\n this.___context = (out && out[CONTEXT_KEY]) || this.___context;\n\n if (onInput) {\n // We need to set a flag to preview `this.input = foo` inside\n // onInput causing infinite recursion\n this.___settingInput = true;\n updatedInput = onInput.call(this, newInput || {}, out);\n this.___settingInput = false;\n }\n\n newInput = this.___renderInput = updatedInput || newInput;\n\n if ((this.___dirty = checkInputChanged(this, oldInput, newInput))) {\n this.___queueUpdate();\n }\n\n if (this.___input === undefined) {\n this.___input = newInput;\n if (newInput && newInput.$global) {\n this.___global = newInput.$global;\n }\n }\n\n return newInput;\n },\n\n forceUpdate: function () {\n this.___dirty = true;\n this.___queueUpdate();\n },\n\n ___queueUpdate: function () {\n if (!this.___updateQueued) {\n this.___updateQueued = true;\n updateManager.___queueComponentUpdate(this);\n }\n },\n\n update: function () {\n if (this.___destroyed === true || this.___isDirty === false) {\n return;\n }\n\n var input = this.___input;\n var state = this.___state;\n\n if (this.___dirty === false && state !== null && state.___dirty === true) {\n if (processUpdateHandlers(this, state.___changes, state.___old, state)) {\n state.___dirty = false;\n }\n }\n\n if (this.___isDirty === true) {\n // The UI component is still dirty after process state handlers\n // then we should rerender\n\n if (this.shouldUpdate(input, state) !== false) {\n this.___scheduleRerender();\n }\n }\n\n this.___reset();\n },\n\n get ___isDirty() {\n return (\n this.___dirty === true ||\n (this.___state !== null && this.___state.___dirty === true)\n );\n },\n\n ___reset: function () {\n this.___dirty = false;\n this.___updateQueued = false;\n this.___renderInput = null;\n var state = this.___state;\n if (state) {\n state.___reset();\n }\n },\n\n shouldUpdate: function () {\n return true;\n },\n\n ___scheduleRerender: function () {\n var self = this;\n var renderer = self.___renderer;\n\n if (!renderer) {\n throw TypeError();\n }\n\n var input = this.___renderInput || this.___input;\n\n updateManager.___batchUpdate(function () {\n self.___rerender(input, false).afterInsert(self.___host);\n });\n\n this.___reset();\n },\n\n ___rerender: function (input, isHydrate) {\n var host = this.___host;\n var globalData = this.___global;\n var rootNode = this.___rootNode;\n var renderer = this.___renderer;\n var createOut = renderer.createOut || defaultCreateOut;\n var out = createOut(globalData);\n out.sync();\n out.___host = this.___host;\n out[CONTEXT_KEY] = this.___context;\n\n var componentsContext = getComponentsContext(out);\n var globalComponentsContext = componentsContext.___globalContext;\n globalComponentsContext.___rerenderComponent = this;\n globalComponentsContext.___isHydrate = isHydrate;\n\n renderer(input, out);\n\n var result = new RenderResult(out);\n\n var targetNode = out.___getOutput().___firstChild;\n\n morphdom(rootNode, targetNode, host, componentsContext);\n\n return result;\n },\n\n ___detach: function () {\n var root = this.___rootNode;\n root.remove();\n return root;\n },\n\n ___removeDOMEventListeners: function () {\n var eventListenerHandles = this.___domEventListenerHandles;\n if (eventListenerHandles) {\n eventListenerHandles.forEach(removeListener);\n this.___domEventListenerHandles = null;\n }\n },\n\n get ___rawState() {\n var state = this.___state;\n return state && state.___raw;\n },\n\n ___setCustomEvents: function (customEvents, scope) {\n var finalCustomEvents = (this.___customEvents = {});\n this.___scope = scope;\n\n customEvents.forEach(function (customEvent) {\n var eventType = customEvent[0];\n var targetMethodName = customEvent[1];\n var isOnce = customEvent[2];\n var extraArgs = customEvent[3];\n\n if (targetMethodName) {\n finalCustomEvents[eventType] = [targetMethodName, isOnce, extraArgs];\n }\n });\n },\n\n get el() {\n return walkFragments(this.___rootNode);\n },\n\n get els() {\n // eslint-disable-next-line no-constant-condition\n if (\"MARKO_DEBUG\") {\n complain(\n 'The \"this.els\" attribute is deprecated. Please use \"this.getEls(key)\" instead.'\n );\n }\n return (this.___rootNode ? this.___rootNode.nodes : []).filter(function (\n el\n ) {\n return el.nodeType === ELEMENT_NODE;\n });\n },\n\n ___emit: emit,\n ___emitCreate(input, out) {\n this.onCreate && this.onCreate(input, out);\n this.___emit(\"create\", input, out);\n },\n\n ___emitRender(out) {\n this.onRender && this.onRender(out);\n this.___emit(\"render\", out);\n },\n\n ___emitUpdate() {\n this.onUpdate && this.onUpdate();\n this.___emit(\"update\");\n },\n\n ___emitMount() {\n this.onMount && this.onMount();\n this.___emit(\"mount\");\n },\n\n ___emitDestroy() {\n this.onDestroy && this.onDestroy();\n this.___emit(\"destroy\");\n }\n};\n\ncomponentProto.elId = componentProto.getElId;\ncomponentProto.___update = componentProto.update;\ncomponentProto.___destroy = componentProto.destroy;\n\n// Add all of the following DOM methods to Component.prototype:\n// - appendTo(referenceEl)\n// - replace(referenceEl)\n// - replaceChildrenOf(referenceEl)\n// - insertBefore(referenceEl)\n// - insertAfter(referenceEl)\n// - prependTo(referenceEl)\ndomInsert(\n componentProto,\n function getEl(component) {\n return component.___detach();\n },\n function afterInsert(component) {\n return component;\n }\n);\n\ninherit(Component, EventEmitter);\n\nmodule.exports = Component;\n"],"file":"Component.js"}
@@ -35,10 +35,10 @@ function ComponentsContext(out, parentComponentsContext) {
35
35
  }
36
36
 
37
37
  ComponentsContext.prototype = {
38
- z_: function (doc) {
38
+ z_: function (host) {
39
39
  var componentDefs = this.b_;
40
40
 
41
- ComponentsContext._R_(componentDefs, doc);
41
+ ComponentsContext._R_(componentDefs, host);
42
42
 
43
43
  this.y_.emit("_S_");
44
44
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/runtime/components/ComponentsContext.js"],"names":["GlobalComponentsContext","require","ComponentsContext","out","parentComponentsContext","globalComponentsContext","componentDef","nestedContextsForParent","push","global","undefined","prototype","doc","componentDefs","emit","getComponentsContext","module","exports"],"mappings":"AAAA;AACA,IAAIA,uBAAuB,GAAGC,OAAO,CAAC,2BAAD,CAArC;;AAEA,SAASC,iBAAT,CAA2BC,GAA3B,EAAgCC,uBAAhC,EAAyD;AACvD,MAAIC,uBAAJ;AACA,MAAIC,YAAJ;;AAEA,MAAIF,uBAAJ,EAA6B;AAC3BC,IAAAA,uBAAuB,GAAGD,uBAAuB,GAAjD;AACAE,IAAAA,YAAY,GAAGF,uBAAuB,GAAtC;;AAEA,QAAIG,uBAAJ;AACA;AACE,MAAEA,uBAAuB,GAAGH,uBAAuB,IAAnD,CADF;AAEE;AACAG,MAAAA,uBAAuB,GAAGH,uBAAuB,IAAvB,GAA4C,EAAtE;AACD;;AAEDG,IAAAA,uBAAuB,CAACC,IAAxB,CAA6B,IAA7B;AACD,GAZD,MAYO;AACLH,IAAAA,uBAAuB,GAAGF,GAAG,CAACM,MAAJ,GAA1B;AACA,QAAIJ,uBAAuB,KAAKK,SAAhC,EAA2C;AACzCP,MAAAA,GAAG,CAACM,MAAJ,MAA2BJ,uBAAuB;AAChD,UAAIL,uBAAJ,CAA4BG,GAA5B,CADF;AAED;AACF;;AAED,YAAwBE,uBAAxB;AACA,YAAqB,EAArB;AACA,YAAcF,GAAd;AACA,YAAuBG,YAAvB;AACA,aAAyBI,SAAzB;AACA;AACEN,EAAAA,uBAAuB,IAAIA,uBAAuB,GADpD;AAED;;AAEDF,iBAAiB,CAACS,SAAlB,GAA8B;AAC5B,MAAmB,UAAUC,GAAV,EAAe;AAChC,QAAIC,aAAa,GAAG,OAApB;;AAEAX,IAAAA,iBAAiB,IAAjB,CAAwCW,aAAxC,EAAuDD,GAAvD;;AAEA,YAAYE,IAAZ;;AAEA;AACA;AACA,YAAYL,MAAZ,MAAmCC,SAAnC;;AAEA,WAAOG,aAAP;AACD,GAb2B,EAA9B;;;AAgBA,SAASE,oBAAT,CAA8BZ,GAA9B,EAAmC;AACjC,SAAOA,GAAG,GAAH,KAAsBA,GAAG,GAAH,GAAoB,IAAID,iBAAJ,CAAsBC,GAAtB,CAA1C,CAAP;AACD;;AAEDa,MAAM,CAACC,OAAP,GAAiBA,OAAO,GAAGf,iBAA3B;;AAEAe,OAAO,GAAP,GAAkCF,oBAAlC","sourcesContent":["\"use strict\";\nvar GlobalComponentsContext = require(\"./GlobalComponentsContext\");\n\nfunction ComponentsContext(out, parentComponentsContext) {\n var globalComponentsContext;\n var componentDef;\n\n if (parentComponentsContext) {\n globalComponentsContext = parentComponentsContext.___globalContext;\n componentDef = parentComponentsContext.___componentDef;\n\n var nestedContextsForParent;\n if (\n !(nestedContextsForParent = parentComponentsContext.___nestedContexts)\n ) {\n nestedContextsForParent = parentComponentsContext.___nestedContexts = [];\n }\n\n nestedContextsForParent.push(this);\n } else {\n globalComponentsContext = out.global.___components;\n if (globalComponentsContext === undefined) {\n out.global.___components = globalComponentsContext =\n new GlobalComponentsContext(out);\n }\n }\n\n this.___globalContext = globalComponentsContext;\n this.___components = [];\n this.___out = out;\n this.___componentDef = componentDef;\n this.___nestedContexts = undefined;\n this.___isPreserved =\n parentComponentsContext && parentComponentsContext.___isPreserved;\n}\n\nComponentsContext.prototype = {\n ___initComponents: function (doc) {\n var componentDefs = this.___components;\n\n ComponentsContext.___initClientRendered(componentDefs, doc);\n\n this.___out.emit(\"___componentsInitialized\");\n\n // Reset things stored in global since global is retained for\n // future renders\n this.___out.global.___components = undefined;\n\n return componentDefs;\n }\n};\n\nfunction getComponentsContext(out) {\n return out.___components || (out.___components = new ComponentsContext(out));\n}\n\nmodule.exports = exports = ComponentsContext;\n\nexports.___getComponentsContext = getComponentsContext;\n"],"file":"ComponentsContext.js"}
1
+ {"version":3,"sources":["../../../src/runtime/components/ComponentsContext.js"],"names":["GlobalComponentsContext","require","ComponentsContext","out","parentComponentsContext","globalComponentsContext","componentDef","nestedContextsForParent","push","global","undefined","prototype","host","componentDefs","emit","getComponentsContext","module","exports"],"mappings":"AAAA;AACA,IAAIA,uBAAuB,GAAGC,OAAO,CAAC,2BAAD,CAArC;;AAEA,SAASC,iBAAT,CAA2BC,GAA3B,EAAgCC,uBAAhC,EAAyD;AACvD,MAAIC,uBAAJ;AACA,MAAIC,YAAJ;;AAEA,MAAIF,uBAAJ,EAA6B;AAC3BC,IAAAA,uBAAuB,GAAGD,uBAAuB,GAAjD;AACAE,IAAAA,YAAY,GAAGF,uBAAuB,GAAtC;;AAEA,QAAIG,uBAAJ;AACA;AACE,MAAEA,uBAAuB,GAAGH,uBAAuB,IAAnD,CADF;AAEE;AACAG,MAAAA,uBAAuB,GAAGH,uBAAuB,IAAvB,GAA4C,EAAtE;AACD;;AAEDG,IAAAA,uBAAuB,CAACC,IAAxB,CAA6B,IAA7B;AACD,GAZD,MAYO;AACLH,IAAAA,uBAAuB,GAAGF,GAAG,CAACM,MAAJ,GAA1B;AACA,QAAIJ,uBAAuB,KAAKK,SAAhC,EAA2C;AACzCP,MAAAA,GAAG,CAACM,MAAJ,MAA2BJ,uBAAuB;AAChD,UAAIL,uBAAJ,CAA4BG,GAA5B,CADF;AAED;AACF;;AAED,YAAwBE,uBAAxB;AACA,YAAqB,EAArB;AACA,YAAcF,GAAd;AACA,YAAuBG,YAAvB;AACA,aAAyBI,SAAzB;AACA;AACEN,EAAAA,uBAAuB,IAAIA,uBAAuB,GADpD;AAED;;AAEDF,iBAAiB,CAACS,SAAlB,GAA8B;AAC5B,MAAmB,UAAUC,IAAV,EAAgB;AACjC,QAAIC,aAAa,GAAG,OAApB;;AAEAX,IAAAA,iBAAiB,IAAjB,CAAwCW,aAAxC,EAAuDD,IAAvD;;AAEA,YAAYE,IAAZ;;AAEA;AACA;AACA,YAAYL,MAAZ,MAAmCC,SAAnC;;AAEA,WAAOG,aAAP;AACD,GAb2B,EAA9B;;;AAgBA,SAASE,oBAAT,CAA8BZ,GAA9B,EAAmC;AACjC,SAAOA,GAAG,GAAH,KAAsBA,GAAG,GAAH,GAAoB,IAAID,iBAAJ,CAAsBC,GAAtB,CAA1C,CAAP;AACD;;AAEDa,MAAM,CAACC,OAAP,GAAiBA,OAAO,GAAGf,iBAA3B;;AAEAe,OAAO,GAAP,GAAkCF,oBAAlC","sourcesContent":["\"use strict\";\nvar GlobalComponentsContext = require(\"./GlobalComponentsContext\");\n\nfunction ComponentsContext(out, parentComponentsContext) {\n var globalComponentsContext;\n var componentDef;\n\n if (parentComponentsContext) {\n globalComponentsContext = parentComponentsContext.___globalContext;\n componentDef = parentComponentsContext.___componentDef;\n\n var nestedContextsForParent;\n if (\n !(nestedContextsForParent = parentComponentsContext.___nestedContexts)\n ) {\n nestedContextsForParent = parentComponentsContext.___nestedContexts = [];\n }\n\n nestedContextsForParent.push(this);\n } else {\n globalComponentsContext = out.global.___components;\n if (globalComponentsContext === undefined) {\n out.global.___components = globalComponentsContext =\n new GlobalComponentsContext(out);\n }\n }\n\n this.___globalContext = globalComponentsContext;\n this.___components = [];\n this.___out = out;\n this.___componentDef = componentDef;\n this.___nestedContexts = undefined;\n this.___isPreserved =\n parentComponentsContext && parentComponentsContext.___isPreserved;\n}\n\nComponentsContext.prototype = {\n ___initComponents: function (host) {\n var componentDefs = this.___components;\n\n ComponentsContext.___initClientRendered(componentDefs, host);\n\n this.___out.emit(\"___componentsInitialized\");\n\n // Reset things stored in global since global is retained for\n // future renders\n this.___out.global.___components = undefined;\n\n return componentDefs;\n }\n};\n\nfunction getComponentsContext(out) {\n return out.___components || (out.___components = new ComponentsContext(out));\n}\n\nmodule.exports = exports = ComponentsContext;\n\nexports.___getComponentsContext = getComponentsContext;\n"],"file":"ComponentsContext.js"}
@@ -72,11 +72,11 @@ function addDelegatedEventHandler(eventType) {
72
72
  }
73
73
  }
74
74
 
75
- function addDelegatedEventHandlerToDoc(eventType, doc) {
76
- var body = doc.body || doc;
77
- var listeners = doc[listenersAttachedKey] = doc[listenersAttachedKey] || {};
75
+ function addDelegatedEventHandlerToHost(eventType, host) {
76
+ var listeners = host[listenersAttachedKey] =
77
+ host[listenersAttachedKey] || {};
78
78
  if (!listeners[eventType]) {
79
- body.addEventListener(
79
+ (host.body || host).addEventListener(
80
80
  eventType,
81
81
  listeners[eventType] = function (event) {
82
82
  var propagationStopped = false;
@@ -99,8 +99,8 @@ function addDelegatedEventHandlerToDoc(eventType, doc) {
99
99
  // `getAttribute` function in IE 11.
100
100
  // See https://github.com/marko-js/marko/issues/796
101
101
  curNode.correspondingUseElement || (
102
-
103
-
102
+ // in some browsers the event target can be a text node
103
+ // one example being dragenter in firefox.
104
104
  curNode.nodeType === TEXT_NODE ? curNode.parentNode : curNode);
105
105
 
106
106
  // Search up the tree looking DOM events mapped to target
@@ -133,9 +133,9 @@ exports.___ = noop;
133
133
  exports._Z_ = delegateEvent;
134
134
  exports.a__ = getEventFromEl;
135
135
  exports._D_ = addDelegatedEventHandler;
136
- exports.an_ = function (doc) {
136
+ exports.an_ = function (host) {
137
137
  Object.keys(delegatedEvents).forEach(function (eventType) {
138
- addDelegatedEventHandlerToDoc(eventType, doc);
138
+ addDelegatedEventHandlerToHost(eventType, host);
139
139
  });
140
140
  };
141
141
  //# sourceMappingURL=event-delegation.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/runtime/components/event-delegation.js"],"names":["componentsUtil","require","runtimeId","componentLookup","getMarkoPropsFromEl","TEXT_NODE","listenersAttachedKey","delegatedEvents","getEventFromEl","el","eventName","virtualProps","eventInfo","split","length","parseInt","delegateEvent","node","target","event","targetMethod","targetComponentId","isOnce","extraArgs","targetComponent","targetFunc","Error","apply","concat","call","addDelegatedEventHandler","eventType","addDelegatedEventHandlerToDoc","doc","body","listeners","addEventListener","propagationStopped","oldStopPropagation","stopPropagation","curNode","correspondingUseElement","nodeType","parentNode","propName","getAttribute","noop","exports","Object","keys","forEach"],"mappings":"aAAA,IAAIA,cAAc,GAAGC,OAAO,CAAC,QAAD,CAA5B;AACA,IAAIC,SAAS,GAAGF,cAAc,IAA9B;AACA,IAAIG,eAAe,GAAGH,cAAc,GAApC;AACA,IAAII,mBAAmB,GAAGJ,cAAc,IAAxC;;AAEA,IAAIK,SAAS,GAAG,CAAhB;;AAEA;AACA;AACA,IAAIC,oBAAoB,GAAG,SAASJ,SAApC;AACA,IAAIK,eAAe,GAAG,EAAtB;;AAEA,SAASC,cAAT,CAAwBC,EAAxB,EAA4BC,SAA5B,EAAuC;AACrC,MAAIC,YAAY,GAAGP,mBAAmB,CAACK,EAAD,CAAtC;AACA,MAAIG,SAAS,GAAGD,YAAY,CAACD,SAAD,CAA5B;;AAEA,MAAI,OAAOE,SAAP,KAAqB,QAAzB,EAAmC;AACjCA,IAAAA,SAAS,GAAGA,SAAS,CAACC,KAAV,CAAgB,GAAhB,CAAZ;AACA,QAAID,SAAS,CAAC,CAAD,CAAb,EAAkB;AAChBA,MAAAA,SAAS,CAAC,CAAD,CAAT,GAAeA,SAAS,CAAC,CAAD,CAAT,KAAiB,MAAhC;AACD;AACD,QAAIA,SAAS,CAACE,MAAV,IAAoB,CAAxB,EAA2B;AACzBF,MAAAA,SAAS,CAAC,CAAD,CAAT,GAAeG,QAAQ,CAACH,SAAS,CAAC,CAAD,CAAV,EAAe,EAAf,CAAvB;AACD;AACF;;AAED,SAAOA,SAAP;AACD;;AAED,SAASI,aAAT,CAAuBC,IAAvB,EAA6BP,SAA7B,EAAwCQ,MAAxC,EAAgDC,KAAhD,EAAuD;AACrD,MAAIC,YAAY,GAAGF,MAAM,CAAC,CAAD,CAAzB;AACA,MAAIG,iBAAiB,GAAGH,MAAM,CAAC,CAAD,CAA9B;AACA,MAAII,MAAM,GAAGJ,MAAM,CAAC,CAAD,CAAnB;AACA,MAAIK,SAAS,GAAGL,MAAM,CAAC,CAAD,CAAtB;;AAEA,MAAII,MAAJ,EAAY;AACV,QAAIX,YAAY,GAAGP,mBAAmB,CAACa,IAAD,CAAtC;AACA,WAAON,YAAY,CAACD,SAAD,CAAnB;AACD;;AAED,MAAIc,eAAe,GAAGrB,eAAe,CAACkB,iBAAD,CAArC;;AAEA,MAAI,CAACG,eAAL,EAAsB;AACpB;AACD;;AAED,MAAIC,UAAU;AACZ,SAAOL,YAAP,KAAwB,UAAxB;AACIA,EAAAA,YADJ;AAEII,EAAAA,eAAe,CAACJ,YAAD,CAHrB;AAIA,MAAI,CAACK,UAAL,EAAiB;AACf,UAAMC,KAAK,CAAC,uBAAuBN,YAAxB,CAAX;AACD;;AAED,MAAIG,SAAS,IAAI,IAAjB,EAAuB;AACrB,QAAI,OAAOA,SAAP,KAAqB,QAAzB,EAAmC;AACjCA,MAAAA,SAAS,GAAGC,eAAe,GAAf,CAAqCD,SAArC,CAAZ;AACD;AACF;;AAED;AACA,MAAIA,SAAJ,EAAe;AACbE,IAAAA,UAAU,CAACE,KAAX,CAAiBH,eAAjB,EAAkCD,SAAS,CAACK,MAAV,CAAiBT,KAAjB,EAAwBF,IAAxB,CAAlC;AACD,GAFD,MAEO;AACLQ,IAAAA,UAAU,CAACI,IAAX,CAAgBL,eAAhB,EAAiCL,KAAjC,EAAwCF,IAAxC;AACD;AACF;;AAED,SAASa,wBAAT,CAAkCC,SAAlC,EAA6C;AAC3C,MAAI,CAACxB,eAAe,CAACwB,SAAD,CAApB,EAAiC;AAC/BxB,IAAAA,eAAe,CAACwB,SAAD,CAAf,GAA6B,IAA7B;AACD;AACF;;AAED,SAASC,6BAAT,CAAuCD,SAAvC,EAAkDE,GAAlD,EAAuD;AACrD,MAAIC,IAAI,GAAGD,GAAG,CAACC,IAAJ,IAAYD,GAAvB;AACA,MAAIE,SAAS,GAAIF,GAAG,CAAC3B,oBAAD,CAAH,GAA4B2B,GAAG,CAAC3B,oBAAD,CAAH,IAA6B,EAA1E;AACA,MAAI,CAAC6B,SAAS,CAACJ,SAAD,CAAd,EAA2B;AACzBG,IAAAA,IAAI,CAACE,gBAAL;AACEL,IAAAA,SADF;AAEGI,IAAAA,SAAS,CAACJ,SAAD,CAAT,GAAuB,UAAUZ,KAAV,EAAiB;AACvC,UAAIkB,kBAAkB,GAAG,KAAzB;;AAEA;AACA,UAAIC,kBAAkB,GAAGnB,KAAK,CAACoB,eAA/B;;AAEApB,MAAAA,KAAK,CAACoB,eAAN,GAAwB,YAAY;AAClCD,QAAAA,kBAAkB,CAACT,IAAnB,CAAwBV,KAAxB;AACAkB,QAAAA,kBAAkB,GAAG,IAArB;AACD,OAHD;;AAKA,UAAIG,OAAO,GAAGrB,KAAK,CAACD,MAApB;AACA,UAAI,CAACsB,OAAL,EAAc;AACZ;AACD;;AAEDA,MAAAA,OAAO;AACL;AACA;AACA;AACAA,MAAAA,OAAO,CAACC,uBAAR;;;AAGCD,MAAAA,OAAO,CAACE,QAAR,KAAqBrC,SAArB,GAAiCmC,OAAO,CAACG,UAAzC,GAAsDH,OAHvD,CAJF;;AASA;AACA;AACA,UAAII,QAAQ,GAAG,OAAOb,SAAtB;AACA,UAAIb,MAAJ;;AAEA;AACA;;AAEA,SAAG;AACD,YAAKA,MAAM,GAAGV,cAAc,CAACgC,OAAD,EAAUI,QAAV,CAA5B,EAAkD;AAChD5B,UAAAA,aAAa,CAACwB,OAAD,EAAUI,QAAV,EAAoB1B,MAApB,EAA4BC,KAA5B,CAAb;;AAEA,cAAIkB,kBAAJ,EAAwB;AACtB;AACD;AACF;AACF,OARD,QAQS,CAACG,OAAO,GAAGA,OAAO,CAACG,UAAnB,KAAkCH,OAAO,CAACK,YARnD;AASD,KA5CH;AA6CE,QA7CF;;AA+CD;AACF;;AAED,SAASC,IAAT,GAAgB,CAAE;;AAElBC,OAAO,IAAP,GAA8BD,IAA9B;AACAC,OAAO,IAAP,GAA8BD,IAA9B;AACAC,OAAO,IAAP,GAA2B/B,aAA3B;AACA+B,OAAO,IAAP,GAA4BvC,cAA5B;AACAuC,OAAO,IAAP,GAAsCjB,wBAAtC;AACAiB,OAAO,IAAP,GAAkB,UAAUd,GAAV,EAAe;AAC/Be,EAAAA,MAAM,CAACC,IAAP,CAAY1C,eAAZ,EAA6B2C,OAA7B,CAAqC,UAAUnB,SAAV,EAAqB;AACxDC,IAAAA,6BAA6B,CAACD,SAAD,EAAYE,GAAZ,CAA7B;AACD,GAFD;AAGD,CAJD","sourcesContent":["var componentsUtil = require(\"./util\");\nvar runtimeId = componentsUtil.___runtimeId;\nvar componentLookup = componentsUtil.___componentLookup;\nvar getMarkoPropsFromEl = componentsUtil.___getMarkoPropsFromEl;\n\nvar TEXT_NODE = 3;\n\n// We make our best effort to allow multiple marko runtimes to be loaded in the\n// same window. Each marko runtime will get its own unique runtime ID.\nvar listenersAttachedKey = \"$MDE\" + runtimeId;\nvar delegatedEvents = {};\n\nfunction getEventFromEl(el, eventName) {\n var virtualProps = getMarkoPropsFromEl(el);\n var eventInfo = virtualProps[eventName];\n\n if (typeof eventInfo === \"string\") {\n eventInfo = eventInfo.split(\" \");\n if (eventInfo[2]) {\n eventInfo[2] = eventInfo[2] === \"true\";\n }\n if (eventInfo.length == 4) {\n eventInfo[3] = parseInt(eventInfo[3], 10);\n }\n }\n\n return eventInfo;\n}\n\nfunction delegateEvent(node, eventName, target, event) {\n var targetMethod = target[0];\n var targetComponentId = target[1];\n var isOnce = target[2];\n var extraArgs = target[3];\n\n if (isOnce) {\n var virtualProps = getMarkoPropsFromEl(node);\n delete virtualProps[eventName];\n }\n\n var targetComponent = componentLookup[targetComponentId];\n\n if (!targetComponent) {\n return;\n }\n\n var targetFunc =\n typeof targetMethod === \"function\"\n ? targetMethod\n : targetComponent[targetMethod];\n if (!targetFunc) {\n throw Error(\"Method not found: \" + targetMethod);\n }\n\n if (extraArgs != null) {\n if (typeof extraArgs === \"number\") {\n extraArgs = targetComponent.___bubblingDomEvents[extraArgs];\n }\n }\n\n // Invoke the component method\n if (extraArgs) {\n targetFunc.apply(targetComponent, extraArgs.concat(event, node));\n } else {\n targetFunc.call(targetComponent, event, node);\n }\n}\n\nfunction addDelegatedEventHandler(eventType) {\n if (!delegatedEvents[eventType]) {\n delegatedEvents[eventType] = true;\n }\n}\n\nfunction addDelegatedEventHandlerToDoc(eventType, doc) {\n var body = doc.body || doc;\n var listeners = (doc[listenersAttachedKey] = doc[listenersAttachedKey] || {});\n if (!listeners[eventType]) {\n body.addEventListener(\n eventType,\n (listeners[eventType] = function (event) {\n var propagationStopped = false;\n\n // Monkey-patch to fix #97\n var oldStopPropagation = event.stopPropagation;\n\n event.stopPropagation = function () {\n oldStopPropagation.call(event);\n propagationStopped = true;\n };\n\n var curNode = event.target;\n if (!curNode) {\n return;\n }\n\n curNode =\n // event.target of an SVGElementInstance does not have a\n // `getAttribute` function in IE 11.\n // See https://github.com/marko-js/marko/issues/796\n curNode.correspondingUseElement ||\n // in some browsers the event target can be a text node\n // one example being dragenter in firefox.\n (curNode.nodeType === TEXT_NODE ? curNode.parentNode : curNode);\n\n // Search up the tree looking DOM events mapped to target\n // component methods\n var propName = \"on\" + eventType;\n var target;\n\n // Attributes will have the following form:\n // on<event_type>(\"<target_method>|<component_id>\")\n\n do {\n if ((target = getEventFromEl(curNode, propName))) {\n delegateEvent(curNode, propName, target, event);\n\n if (propagationStopped) {\n break;\n }\n }\n } while ((curNode = curNode.parentNode) && curNode.getAttribute);\n }),\n true\n );\n }\n}\n\nfunction noop() {}\n\nexports.___handleNodeAttach = noop;\nexports.___handleNodeDetach = noop;\nexports.___delegateEvent = delegateEvent;\nexports.___getEventFromEl = getEventFromEl;\nexports.___addDelegatedEventHandler = addDelegatedEventHandler;\nexports.___init = function (doc) {\n Object.keys(delegatedEvents).forEach(function (eventType) {\n addDelegatedEventHandlerToDoc(eventType, doc);\n });\n};\n"],"file":"event-delegation.js"}
1
+ {"version":3,"sources":["../../../src/runtime/components/event-delegation.js"],"names":["componentsUtil","require","runtimeId","componentLookup","getMarkoPropsFromEl","TEXT_NODE","listenersAttachedKey","delegatedEvents","getEventFromEl","el","eventName","virtualProps","eventInfo","split","length","parseInt","delegateEvent","node","target","event","targetMethod","targetComponentId","isOnce","extraArgs","targetComponent","targetFunc","Error","apply","concat","call","addDelegatedEventHandler","eventType","addDelegatedEventHandlerToHost","host","listeners","body","addEventListener","propagationStopped","oldStopPropagation","stopPropagation","curNode","correspondingUseElement","nodeType","parentNode","propName","getAttribute","noop","exports","Object","keys","forEach"],"mappings":"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","sourcesContent":["var componentsUtil = require(\"./util\");\nvar runtimeId = componentsUtil.___runtimeId;\nvar componentLookup = componentsUtil.___componentLookup;\nvar getMarkoPropsFromEl = componentsUtil.___getMarkoPropsFromEl;\n\nvar TEXT_NODE = 3;\n\n// We make our best effort to allow multiple marko runtimes to be loaded in the\n// same window. Each marko runtime will get its own unique runtime ID.\nvar listenersAttachedKey = \"$MDE\" + runtimeId;\nvar delegatedEvents = {};\n\nfunction getEventFromEl(el, eventName) {\n var virtualProps = getMarkoPropsFromEl(el);\n var eventInfo = virtualProps[eventName];\n\n if (typeof eventInfo === \"string\") {\n eventInfo = eventInfo.split(\" \");\n if (eventInfo[2]) {\n eventInfo[2] = eventInfo[2] === \"true\";\n }\n if (eventInfo.length == 4) {\n eventInfo[3] = parseInt(eventInfo[3], 10);\n }\n }\n\n return eventInfo;\n}\n\nfunction delegateEvent(node, eventName, target, event) {\n var targetMethod = target[0];\n var targetComponentId = target[1];\n var isOnce = target[2];\n var extraArgs = target[3];\n\n if (isOnce) {\n var virtualProps = getMarkoPropsFromEl(node);\n delete virtualProps[eventName];\n }\n\n var targetComponent = componentLookup[targetComponentId];\n\n if (!targetComponent) {\n return;\n }\n\n var targetFunc =\n typeof targetMethod === \"function\"\n ? targetMethod\n : targetComponent[targetMethod];\n if (!targetFunc) {\n throw Error(\"Method not found: \" + targetMethod);\n }\n\n if (extraArgs != null) {\n if (typeof extraArgs === \"number\") {\n extraArgs = targetComponent.___bubblingDomEvents[extraArgs];\n }\n }\n\n // Invoke the component method\n if (extraArgs) {\n targetFunc.apply(targetComponent, extraArgs.concat(event, node));\n } else {\n targetFunc.call(targetComponent, event, node);\n }\n}\n\nfunction addDelegatedEventHandler(eventType) {\n if (!delegatedEvents[eventType]) {\n delegatedEvents[eventType] = true;\n }\n}\n\nfunction addDelegatedEventHandlerToHost(eventType, host) {\n var listeners = (host[listenersAttachedKey] =\n host[listenersAttachedKey] || {});\n if (!listeners[eventType]) {\n (host.body || host).addEventListener(\n eventType,\n (listeners[eventType] = function (event) {\n var propagationStopped = false;\n\n // Monkey-patch to fix #97\n var oldStopPropagation = event.stopPropagation;\n\n event.stopPropagation = function () {\n oldStopPropagation.call(event);\n propagationStopped = true;\n };\n\n var curNode = event.target;\n if (!curNode) {\n return;\n }\n\n curNode =\n // event.target of an SVGElementInstance does not have a\n // `getAttribute` function in IE 11.\n // See https://github.com/marko-js/marko/issues/796\n curNode.correspondingUseElement ||\n // in some browsers the event target can be a text node\n // one example being dragenter in firefox.\n (curNode.nodeType === TEXT_NODE ? curNode.parentNode : curNode);\n\n // Search up the tree looking DOM events mapped to target\n // component methods\n var propName = \"on\" + eventType;\n var target;\n\n // Attributes will have the following form:\n // on<event_type>(\"<target_method>|<component_id>\")\n\n do {\n if ((target = getEventFromEl(curNode, propName))) {\n delegateEvent(curNode, propName, target, event);\n\n if (propagationStopped) {\n break;\n }\n }\n } while ((curNode = curNode.parentNode) && curNode.getAttribute);\n }),\n true\n );\n }\n}\n\nfunction noop() {}\n\nexports.___handleNodeAttach = noop;\nexports.___handleNodeDetach = noop;\nexports.___delegateEvent = delegateEvent;\nexports.___getEventFromEl = getEventFromEl;\nexports.___addDelegatedEventHandler = addDelegatedEventHandler;\nexports.___init = function (host) {\n Object.keys(delegatedEvents).forEach(function (eventType) {\n addDelegatedEventHandlerToHost(eventType, host);\n });\n};\n"],"file":"event-delegation.js"}
@@ -3,7 +3,6 @@
3
3
  var warp10Finalize = require("warp10/finalize");
4
4
  var eventDelegation = require("../event-delegation");
5
5
  var win = window;
6
- var defaultDocument = document;
7
6
  var createFragmentNode =
8
7
  require("../../vdom/morphdom/fragment").ao_;
9
8
  var componentsUtil = require("../util");
@@ -168,11 +167,11 @@ handles)
168
167
  handles.push(removeListener);
169
168
  }
170
169
 
171
- function initComponent(componentDef, doc) {
170
+ function initComponent(componentDef, host) {
172
171
  var component = componentDef.h_;
173
172
 
174
173
  component.I_();
175
- component.X_ = doc;
174
+ component.X_ = host;
176
175
 
177
176
  var isExisting = componentDef._G_;
178
177
 
@@ -225,12 +224,11 @@ function initComponent(componentDef, doc) {
225
224
  * in the components context (nested components are initialized before ancestor components).
226
225
  * @param {Array<marko-components/lib/ComponentDef>} componentDefs An array of ComponentDef instances
227
226
  */
228
- function initClientRendered(componentDefs, doc) {
227
+ function initClientRendered(componentDefs, host) {
228
+ if (!host) host = document;
229
229
  // Ensure that event handlers to handle delegating events are
230
230
  // always attached before initializing any components
231
- eventDelegation.an_(doc);
232
-
233
- doc = doc || defaultDocument;
231
+ eventDelegation.an_(host);
234
232
  var len = componentDefs.length;
235
233
  var componentDef;
236
234
  var i;
@@ -242,7 +240,7 @@ function initClientRendered(componentDefs, doc) {
242
240
 
243
241
  for (i = len; i--;) {
244
242
  componentDef = componentDefs[i];
245
- initComponent(componentDef, doc);
243
+ initComponent(componentDef, host);
246
244
  }
247
245
  }
248
246
 
@@ -250,7 +248,7 @@ function initClientRendered(componentDefs, doc) {
250
248
  * This method initializes all components that were rendered on the server by iterating over all
251
249
  * of the component IDs.
252
250
  */
253
- function initServerRendered(renderedComponents, doc) {
251
+ function initServerRendered(renderedComponents, host) {
254
252
  var type = typeof renderedComponents;
255
253
  var globalKey = "$";
256
254
  var runtimeId;
@@ -302,10 +300,10 @@ function initServerRendered(renderedComponents, doc) {
302
300
 
303
301
  if (isFromSerializedGlobals) {
304
302
  runtimeId = this.r;
305
- doc = defaultDocument;
303
+ host = document;
306
304
  } else {
307
305
  runtimeId = renderedComponents.r || DEFAULT_RUNTIME_ID;
308
- doc = doc || defaultDocument;
306
+ if (!host) host = document;
309
307
 
310
308
  // eslint-disable-next-line no-constant-condition
311
309
 
@@ -342,8 +340,8 @@ function initServerRendered(renderedComponents, doc) {
342
340
 
343
341
  // Ensure that event handlers to handle delegating events are
344
342
  // always attached before initializing any components
345
- indexServerComponentBoundaries(doc, runtimeId);
346
- eventDelegation.an_(doc);
343
+ indexServerComponentBoundaries(host, runtimeId);
344
+ eventDelegation.an_(host);
347
345
 
348
346
  if (renderedComponents.g) {
349
347
  meta.aq_ = renderedComponents.g;
@@ -362,12 +360,12 @@ function initServerRendered(renderedComponents, doc) {
362
360
  var typeName = meta.ar_[componentDef[1]];
363
361
 
364
362
  return registry.as_(typeName) ?
365
- tryHydrateComponent(componentDef, meta, doc, runtimeId) :
363
+ tryHydrateComponent(componentDef, meta, host, runtimeId) :
366
364
  registry.at_(
367
365
  componentDef,
368
366
  typeName,
369
367
  meta,
370
- doc,
368
+ host,
371
369
  runtimeId);
372
370
 
373
371
  }).
@@ -377,14 +375,14 @@ function initServerRendered(renderedComponents, doc) {
377
375
  return this;
378
376
  }
379
377
 
380
- function tryHydrateComponent(rawDef, meta, doc, runtimeId) {
378
+ function tryHydrateComponent(rawDef, meta, host, runtimeId) {
381
379
  var componentDef = ComponentDef._O_(
382
380
  rawDef,
383
381
  meta.ar_,
384
382
  meta.aq_,
385
383
  registry);
386
384
 
387
- var mount = hydrateComponentAndGetMount(componentDef, doc);
385
+ var mount = hydrateComponentAndGetMount(componentDef, host);
388
386
 
389
387
  if (!mount) {
390
388
  // hydrateComponentAndGetMount will return false if there is not rootNode
@@ -394,11 +392,11 @@ function tryHydrateComponent(rawDef, meta, doc, runtimeId) {
394
392
  deferredDefs.push(componentDef);
395
393
  } else {
396
394
  deferredDefs = [componentDef];
397
- doc.addEventListener("DOMContentLoaded", function () {
398
- indexServerComponentBoundaries(doc, runtimeId);
395
+ document.addEventListener("DOMContentLoaded", function () {
396
+ indexServerComponentBoundaries(host, runtimeId);
399
397
  deferredDefs.
400
398
  map(function (componentDef) {
401
- return hydrateComponentAndGetMount(componentDef, doc);
399
+ return hydrateComponentAndGetMount(componentDef, host);
402
400
  }).
403
401
  reverse().
404
402
  forEach(tryInvoke);
@@ -410,7 +408,7 @@ function tryHydrateComponent(rawDef, meta, doc, runtimeId) {
410
408
  return mount;
411
409
  }
412
410
 
413
- function hydrateComponentAndGetMount(componentDef, doc) {
411
+ function hydrateComponentAndGetMount(componentDef, host) {
414
412
  var componentId = componentDef.id;
415
413
  var component = componentDef.h_;
416
414
  var rootNode = serverComponentRootNodes[componentId];
@@ -423,18 +421,18 @@ function hydrateComponentAndGetMount(componentDef, doc) {
423
421
  componentsByDOMNode.set(rootNode, component);
424
422
 
425
423
  if (componentDef._I_ & FLAG_WILL_RERENDER_IN_BROWSER) {
426
- component.X_ = doc;
424
+ component.X_ = host;
427
425
  renderResult = component._p_(component.Q_, true);
428
426
  trackComponent(componentDef);
429
427
  return function mount() {
430
- renderResult.afterInsert(doc);
428
+ renderResult.afterInsert(host);
431
429
  };
432
430
  } else {
433
431
  trackComponent(componentDef);
434
432
  }
435
433
 
436
434
  return function mount() {
437
- initComponent(componentDef, doc);
435
+ initComponent(componentDef, host);
438
436
  };
439
437
  }
440
438
  }