{"version":3,"sources":["jsdelivr-header.js","/npm/qml-react@2.2.7/dist/index.js"],"names":[],"mappings":"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","file":"/npm/qml-react@2.2.7/dist/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/qml-react@2.2.7/dist/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.QMLRenderer = exports.registerNativeComponentClass = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.getRoot = getRoot;\nexports.render = render;\n\nvar _reactReconciler = require('react-reconciler');\n\nvar _reactReconciler2 = _interopRequireDefault(_reactReconciler);\n\nvar _findIndex = require('lodash/findIndex');\n\nvar _findIndex2 = _interopRequireDefault(_findIndex);\n\nvar _toArray = require('lodash/toArray');\n\nvar _toArray2 = _interopRequireDefault(_toArray);\n\nvar _without = require('lodash/without');\n\nvar _without2 = _interopRequireDefault(_without);\n\nvar _Registry = require('./Registry');\n\nvar _QMLComponent = require('./QMLComponent');\n\nvar _objectFactory = require('./object-factory');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n// FIXME: remove this\nexports.registerNativeComponentClass = _Registry.registerNativeComponentClass;\nvar QMLRenderer = exports.QMLRenderer = (0, _reactReconciler2.default)({\n  createInstance: function createInstance(type, props, rootInstance) {\n\n    if (type === 'qml') {\n      var qmlContent = props.__qmlRawContent;\n      var defaultProp = props.defaultProp || 'data';\n      return (0, _objectFactory.makeElementNode)(type, defaultProp, qmlContent, rootInstance);\n    }\n\n    if (type === 'attribute') {\n      var name = props.name;\n\n      return (0, _objectFactory.makeAttributeNode)(name);\n    }\n\n    if (_Registry.Registry[type]) {\n      var _Registry$type = _Registry.Registry[type],\n          _qmlContent = _Registry$type.qmlContent,\n          _defaultProp = _Registry$type.defaultProp;\n\n      return (0, _objectFactory.makeElementNode)(type, _defaultProp, _qmlContent, rootInstance);\n    }\n\n    throw new Error('unknown type ' + type);\n  },\n  appendInitialChild: function appendInitialChild(parent, child) {\n    // creating an attribute node\n    if ((0, _objectFactory.isAttribute)(parent)) {\n      parent.value = child;\n      return;\n    }\n\n    // assigning an attribute node\n    if ((0, _objectFactory.isAttribute)(child)) {\n      var prevValue = parent.value[child.name];\n\n      (0, _objectFactory.setAttribute)(parent, child.name, child);\n    }\n\n    // assign a child element to its parent\n    // at this point we're only assign a child node to a parent node\n    // notice that node.value is the actual QML Object\n    parent.children.push(child);\n  },\n  finalizeInitialChildren: function finalizeInitialChildren(element, type, props, rootContainerInstance) {\n    // attribute node doesn't need finalization\n    if ((0, _objectFactory.isAttribute)(element)) {\n      return;\n    }\n\n    (0, _QMLComponent.setInitialProps)(element.value, props);\n\n    // child-less elements don't need finalization as well\n    if (!element.children || element.children.length === 0) {\n      return;\n    }\n\n    element.children.forEach(function (child) {});\n\n    (0, _objectFactory.setAttribute)(element, element.defaultProp, element.children);\n  },\n  createTextInstance: function createTextInstance(text, rootContainerInstance) {\n    // TODO\n    return getOwnerDocument(rootContainerInstance).createTextNode(text);\n  },\n  getPublicInstance: function getPublicInstance(inst) {\n    if (!(0, _objectFactory.isElement)(inst) && !(0, _objectFactory.isAttribute)(inst)) {\n      throw new Error('invalid instance');\n    }\n    return inst.value;\n  },\n  prepareForCommit: function prepareForCommit() {},\n  prepareUpdate: function prepareUpdate(domElement, type, oldProps, newProps) {\n    return (0, _QMLComponent.diffProps)(domElement.value, oldProps, newProps);\n  },\n  resetAfterCommit: function resetAfterCommit() {},\n  resetTextContent: function resetTextContent(domElement) {\n    domElement.textContent = '';\n  },\n  getRootHostContext: function getRootHostContext(instance) {\n    return {};\n  },\n  getChildHostContext: function getChildHostContext(instance) {\n    // console.log('getChildHostContext');\n    return {};\n  },\n  shouldSetTextContent: function shouldSetTextContent(type, props) {\n    // console.log('shouldSetTextContent ---', type);\n    // return (\n    //   type === 'textarea' ||\n    //   typeof props.data === 'string' ||\n    //   typeof props.data === 'number' ||\n    //   (typeof props.dangerouslySetInnerHTML === 'object' &&\n    //     props.dangerouslySetInnerHTML !== null &&\n    //     typeof props.dangerouslySetInnerHTML.__html === 'string')\n    // );\n    return false;\n  },\n\n\n  now: function now() {},\n\n  useSyncScheduling: true,\n\n  mutation: {\n    appendChild: function appendChild(parent, child) {\n\n      var propKey = (0, _objectFactory.isElement)(child) ? parent.defaultProp : child.name;\n      (0, _objectFactory.setAttribute)(parent, propKey, child);\n    },\n    appendChildToContainer: function appendChildToContainer(containerQmlElement, topLevelChild) {\n      containerQmlElement.data.push(topLevelChild.value);\n    },\n    removeChild: function removeChild(parent, child) {\n\n      var propKey = (0, _objectFactory.isElement)(child) ? parent.defaultProp : child.name;\n\n      // assuming propKey is always an array prop\n      var list = parent.value[propKey];\n\n      if (typeof list.push === 'function') {\n        var index = (0, _findIndex2.default)(list, function (elm) {\n          return elm === child.value;\n        });\n        var removingElm = list[index];\n        parent.value[propKey] = (0, _without2.default)(list, removingElm);\n\n        // TODO: move this back to pool\n        (0, _objectFactory.release)(removingElm);\n      } else {\n        parent.value[propKey] = null;\n      }\n    },\n    removeChildFromContainer: function removeChildFromContainer(containerQmlElement, child) {\n      for (var i = containerQmlElement.data.length; i > 0; i--) {\n        if (child.value == containerQmlElement.data[i]) {\n          containerQmlElement.data[i].destroy();\n          break;\n        }\n      }\n    },\n    insertBefore: function insertBefore(parent, child, beforeChild) {\n      var propKey = (0, _objectFactory.isElement)(child) ? parent.defaultProp : child.name;\n\n      // assuming propKey is always an array prop\n      var list = (0, _toArray2.default)(parent.value[propKey]);\n      var beforeChildIndex = (0, _findIndex2.default)(list, function (elem) {\n        return elem === beforeChild.value;\n      });\n      list.splice(beforeChild - 1, 0, child.value);\n\n      parent.value[propKey] = list;\n    },\n    commitUpdate: function commitUpdate(instance, preparedUpdateQueue) {\n      (0, _QMLComponent.updateProps)(instance, preparedUpdateQueue);\n    },\n    commitMount: function commitMount(instance, updatePayload, type, oldProps, newProps) {},\n    resetTextContent: function resetTextContent(domElement) {\n      domElement.textContent = '';\n    },\n    commitTextUpdate: function commitTextUpdate(textInstance, oldText, newText) {\n      textInstance.nodeValue = newText;\n    }\n  }\n});\n\nQMLRenderer.injectIntoDevTools({\n  bundleType: 1, // 0 for PROD, 1 for DEV\n  version: '0.1.0', // version for your renderer\n  rendererPackageName: 'qml-renderer', // package name\n  findHostInstanceByFiber: QMLRenderer.findHostInstance // host instance (root)\n});\n\nvar containerMap = new WeakMap();\n\nfunction getRoot(qmlContainer) {\n  var prevRoot = containerMap.get(qmlContainer);\n\n  if (prevRoot) {\n    return prevRoot;\n  }\n\n  var container = QMLRenderer.createContainer(qmlContainer);\n  var root = new Root(container, QMLRenderer);\n  containerMap.set(qmlContainer, root);\n  return root;\n}\n\nfunction render(elements, container) {\n  var root = getRoot(container);\n  root.render(elements);\n}\n\nvar Root = function () {\n  function Root(domRoot, renderer) {\n    _classCallCheck(this, Root);\n\n    this.renderer = renderer;\n    this.internalRoot = domRoot;\n  }\n\n  _createClass(Root, [{\n    key: 'render',\n    value: function render(children) {\n      this.renderer.updateContainer(children, this.internalRoot, null);\n    }\n  }, {\n    key: 'unmount',\n    value: function unmount() {\n      this.renderer.updateContainer(null, this.internalRoot, null);\n    }\n  }]);\n\n  return Root;\n}();"]}