{"version":3,"sources":["jsdelivr-header.js","/npm/react-streamfield@0.9.6/dist/react-streamfield.cjs.js"],"names":[],"mappings":"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","file":"/npm/react-streamfield@0.9.6/dist/react-streamfield.cjs.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/react-streamfield@0.9.6/dist/react-streamfield.cjs.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', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar React = _interopDefault(require('react'));\nvar PropTypes = _interopDefault(require('prop-types'));\nvar redux = require('redux');\nvar reactRedux = require('react-redux');\nvar reactBeautifulDnd = require('react-beautiful-dnd');\nvar uuidv4 = _interopDefault(require('uuid'));\nvar classNames = _interopDefault(require('classnames'));\nvar ReactDOM = _interopDefault(require('react-dom'));\nvar AnimateHeight = _interopDefault(require('react-animate-height'));\n\nfunction _classCallCheck(instance, Constructor) {\n  if (!(instance instanceof Constructor)) {\n    throw new TypeError(\"Cannot call a class as a function\");\n  }\n}\n\nfunction _defineProperties(target, props) {\n  for (var i = 0; i < props.length; i++) {\n    var descriptor = props[i];\n    descriptor.enumerable = descriptor.enumerable || false;\n    descriptor.configurable = true;\n    if (\"value\" in descriptor) descriptor.writable = true;\n    Object.defineProperty(target, descriptor.key, descriptor);\n  }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n  if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n  if (staticProps) _defineProperties(Constructor, staticProps);\n  return Constructor;\n}\n\nfunction _defineProperty(obj, key, value) {\n  if (key in obj) {\n    Object.defineProperty(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n  } else {\n    obj[key] = value;\n  }\n\n  return obj;\n}\n\nfunction _extends() {\n  _extends = Object.assign || function (target) {\n    for (var i = 1; i < arguments.length; i++) {\n      var source = arguments[i];\n\n      for (var key in source) {\n        if (Object.prototype.hasOwnProperty.call(source, key)) {\n          target[key] = source[key];\n        }\n      }\n    }\n\n    return target;\n  };\n\n  return _extends.apply(this, arguments);\n}\n\nfunction _objectSpread(target) {\n  for (var i = 1; i < arguments.length; i++) {\n    var source = arguments[i] != null ? arguments[i] : {};\n    var ownKeys = Object.keys(source);\n\n    if (typeof Object.getOwnPropertySymbols === 'function') {\n      ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n        return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n      }));\n    }\n\n    ownKeys.forEach(function (key) {\n      _defineProperty(target, key, source[key]);\n    });\n  }\n\n  return target;\n}\n\nfunction _inherits(subClass, superClass) {\n  if (typeof superClass !== \"function\" && superClass !== null) {\n    throw new TypeError(\"Super expression must either be null or a function\");\n  }\n\n  subClass.prototype = Object.create(superClass && superClass.prototype, {\n    constructor: {\n      value: subClass,\n      writable: true,\n      configurable: true\n    }\n  });\n  if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _getPrototypeOf(o) {\n  _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n    return o.__proto__ || Object.getPrototypeOf(o);\n  };\n  return _getPrototypeOf(o);\n}\n\nfunction _setPrototypeOf(o, p) {\n  _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n    o.__proto__ = p;\n    return o;\n  };\n\n  return _setPrototypeOf(o, p);\n}\n\nfunction _assertThisInitialized(self) {\n  if (self === void 0) {\n    throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n  }\n\n  return self;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n  if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n    return call;\n  }\n\n  return _assertThisInitialized(self);\n}\n\nfunction _slicedToArray(arr, i) {\n  return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();\n}\n\nfunction _toConsumableArray(arr) {\n  return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n  if (Array.isArray(arr)) {\n    for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n    return arr2;\n  }\n}\n\nfunction _arrayWithHoles(arr) {\n  if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArray(iter) {\n  if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n  var _arr = [];\n  var _n = true;\n  var _d = false;\n  var _e = undefined;\n\n  try {\n    for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n      _arr.push(_s.value);\n\n      if (i && _arr.length === i) break;\n    }\n  } catch (err) {\n    _d = true;\n    _e = err;\n  } finally {\n    try {\n      if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n    } finally {\n      if (_d) throw _e;\n    }\n  }\n\n  return _arr;\n}\n\nfunction _nonIterableSpread() {\n  throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nfunction _nonIterableRest() {\n  throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n\nvar initializeStreamField = function initializeStreamField(id, data) {\n  return {\n    type: 'INITIALIZE_STREAM_FIELD',\n    id: id,\n    data: data\n  };\n};\nvar blockUpdated = function blockUpdated(fieldId, blockId) {\n  return {\n    type: 'BLOCK_UPDATED',\n    fieldId: fieldId,\n    blockId: blockId\n  };\n};\nvar changeBlockValue = function changeBlockValue(fieldId, blockId, value) {\n  return {\n    type: 'CHANGE_BLOCK_VALUES',\n    fieldId: fieldId,\n    blockId: blockId,\n    value: value\n  };\n};\nvar toggleBlock = function toggleBlock(fieldId, blockId) {\n  return {\n    type: 'TOGGLE_BLOCK',\n    fieldId: fieldId,\n    blockId: blockId\n  };\n};\nvar showBlock = function showBlock(fieldId, blockId) {\n  return function (dispatch) {\n    return new Promise(function (resolve) {\n      setTimeout(resolve, 0.001);\n    }).then(function () {\n      dispatch({\n        type: 'SHOW_BLOCK',\n        fieldId: fieldId,\n        blockId: blockId\n      });\n    });\n  };\n};\nvar hideBlock = function hideBlock(fieldId, blockId) {\n  return {\n    type: 'HIDE_BLOCK',\n    fieldId: fieldId,\n    blockId: blockId\n  };\n};\nvar addBlock = function addBlock(fieldId, parentId, index, blockType) {\n  return {\n    type: 'ADD_BLOCK',\n    fieldId: fieldId,\n    parentId: parentId,\n    index: index,\n    blockType: blockType\n  };\n};\nvar duplicateBlock = function duplicateBlock(fieldId, blockId) {\n  return {\n    type: 'DUPLICATE_BLOCK',\n    fieldId: fieldId,\n    blockId: blockId\n  };\n};\nvar moveBlock = function moveBlock(fieldId, blockId, newIndex) {\n  return {\n    type: 'MOVE_BLOCK',\n    fieldId: fieldId,\n    blockId: blockId,\n    newIndex: newIndex\n  };\n};\nvar deleteBlock = function deleteBlock(fieldId, blockId) {\n  return {\n    type: 'DELETE_BLOCK',\n    fieldId: fieldId,\n    blockId: blockId\n  };\n};\n\nvar isNA = function isNA(value) {\n  return value === null || value === undefined;\n};\nvar getNewId = function getNewId() {\n  return uuidv4();\n};\nvar getFieldName = function getFieldName(blockId) {\n  return \"field-\".concat(blockId);\n};\nvar isField = function isField(blockDefinition) {\n  return blockDefinition.children === undefined || blockDefinition.children.length === 0;\n};\nvar isStruct = function isStruct(blockDefinition) {\n  return blockDefinition.isStruct !== undefined && blockDefinition.isStruct;\n};\nvar isStatic = function isStatic(blockDefinition) {\n  return blockDefinition.isStatic !== undefined && blockDefinition.isStatic;\n};\nvar isClosed = function isClosed(blockDefinition) {\n  return blockDefinition.closed === undefined || blockDefinition.closed;\n};\nvar shouldRunInnerScripts = function shouldRunInnerScripts(blockDefinition) {\n  return blockDefinition.dangerouslyRunInnerScripts !== undefined && blockDefinition.dangerouslyRunInnerScripts;\n};\nvar getLabel = function getLabel(blockDefinition) {\n  var key = blockDefinition.key,\n      label = blockDefinition.label;\n\n  if (label === undefined) {\n    label = key.replace('_', ' ');\n    label = \"\".concat(label[0].toUpperCase()).concat(label.substring(1));\n  }\n\n  return label;\n};\nvar getChildrenIds = function getChildrenIds(state, fieldId, parentId) {\n  var fieldData = state[fieldId];\n  var blocks = fieldData.blocks;\n\n  if (parentId === null) {\n    return fieldData.rootBlocks;\n  } else {\n    return blocks[parentId].value;\n  }\n};\nvar getSiblingsIds = function getSiblingsIds(state, fieldId, blockId) {\n  var fieldData = state[fieldId];\n  var blocks = fieldData.blocks;\n  var block = blocks[blockId];\n  var parentId = block.parent;\n\n  if (parentId !== null) {\n    var parentBlockDefinition = getNestedBlockDefinition(state, fieldId, parentId);\n\n    if (isStruct(parentBlockDefinition)) {\n      return [blockId];\n    }\n  }\n\n  return getChildrenIds(state, fieldId, parentId);\n};\nvar getAncestorsIds = function getAncestorsIds(state, fieldId, blockId) {\n  var includeSelf = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n  var blocks = state[fieldId].blocks;\n  var ancestors = [];\n\n  if (includeSelf) {\n    ancestors.push(blockId);\n  }\n\n  var block = blocks[blockId];\n\n  while (block.parent !== null) {\n    blockId = block.parent;\n    ancestors.push(blockId);\n    block = blocks[blockId];\n  }\n\n  return ancestors.reverse();\n};\nvar getDescendantsIds = function getDescendantsIds(state, fieldId, blockId) {\n  var includeSelf = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n  var descendants = [];\n\n  if (includeSelf) {\n    descendants.push(blockId);\n  }\n\n  var blockDefinition = getNestedBlockDefinition(state, fieldId, blockId);\n\n  if (isField(blockDefinition)) {\n    return descendants;\n  }\n\n  var _iteratorNormalCompletion = true;\n  var _didIteratorError = false;\n  var _iteratorError = undefined;\n\n  try {\n    for (var _iterator = state[fieldId].blocks[blockId].value[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n      var childBlockId = _step.value;\n      descendants = [].concat(_toConsumableArray(descendants), _toConsumableArray(getDescendantsIds(state, fieldId, childBlockId, true)));\n    }\n  } catch (err) {\n    _didIteratorError = true;\n    _iteratorError = err;\n  } finally {\n    try {\n      if (!_iteratorNormalCompletion && _iterator.return != null) {\n        _iterator.return();\n      }\n    } finally {\n      if (_didIteratorError) {\n        throw _iteratorError;\n      }\n    }\n  }\n\n  return descendants;\n};\nvar getBlockDefinition = function getBlockDefinition(blockDefinitions, type) {\n  var blockDefinition = blockDefinitions.find(function (blockDefinition) {\n    return blockDefinition.key === type;\n  });\n\n  if (blockDefinition === undefined) {\n    throw new TypeError(\"No block definition found for '\".concat(type, \"'\"));\n  }\n\n  return blockDefinition;\n};\nvar getNestedBlockDefinition = function getNestedBlockDefinition(state, fieldId, blockId) {\n  var fieldData = state[fieldId];\n  var blockDefinitions = fieldData.blockDefinitions,\n      blocks = fieldData.blocks;\n  var blockDefinition;\n  var _iteratorNormalCompletion2 = true;\n  var _didIteratorError2 = false;\n  var _iteratorError2 = undefined;\n\n  try {\n    for (var _iterator2 = getAncestorsIds(state, fieldId, blockId, true)[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n      var ancestorId = _step2.value;\n      var block = blocks[ancestorId];\n      blockDefinition = getBlockDefinition(blockDefinitions, block.type);\n      blockDefinitions = blockDefinition.children;\n    }\n  } catch (err) {\n    _didIteratorError2 = true;\n    _iteratorError2 = err;\n  } finally {\n    try {\n      if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n        _iterator2.return();\n      }\n    } finally {\n      if (_didIteratorError2) {\n        throw _iteratorError2;\n      }\n    }\n  }\n\n  return blockDefinition;\n};\nvar structValueToObject = function structValueToObject(state, fieldId, structValue) {\n  var blocks = state[fieldId].blocks;\n  var obj = {};\n  var _iteratorNormalCompletion3 = true;\n  var _didIteratorError3 = false;\n  var _iteratorError3 = undefined;\n\n  try {\n    for (var _iterator3 = structValue[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n      var childBlockId = _step3.value;\n      var childBlockDefinition = getNestedBlockDefinition(state, fieldId, childBlockId);\n      var value = void 0;\n\n      if (isField(childBlockDefinition)) {\n        var childBlock = blocks[childBlockId];\n        value = childBlock.value;\n      } else {\n        value = childBlockId;\n      }\n\n      obj[childBlockDefinition.key] = value;\n    }\n  } catch (err) {\n    _didIteratorError3 = true;\n    _iteratorError3 = err;\n  } finally {\n    try {\n      if (!_iteratorNormalCompletion3 && _iterator3.return != null) {\n        _iterator3.return();\n      }\n    } finally {\n      if (_didIteratorError3) {\n        throw _iteratorError3;\n      }\n    }\n  }\n\n  return obj;\n};\nvar getNewBlock = function getNewBlock(parentId, blockDefinition) {\n  var value = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n  var extraBlocks = {};\n  var childBlockId, childBlock, childExtraBlocks;\n  var blockId = getNewId();\n\n  if (isNA(value) && blockDefinition.default !== undefined) {\n    value = blockDefinition.default;\n  }\n\n  if (isStruct(blockDefinition)) {\n    var newValue = [];\n    var _iteratorNormalCompletion4 = true;\n    var _didIteratorError4 = false;\n    var _iteratorError4 = undefined;\n\n    try {\n      for (var _iterator4 = blockDefinition.children[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {\n        var childBlockDefinition = _step4.value;\n        var childDefaultValue = null;\n\n        if (!isNA(value)) {\n          var _iteratorNormalCompletion5 = true;\n          var _didIteratorError5 = false;\n          var _iteratorError5 = undefined;\n\n          try {\n            for (var _iterator5 = value[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) {\n              var childDefault = _step5.value;\n\n              if (childDefault.type === childBlockDefinition.key) {\n                childDefaultValue = childDefault.value;\n                break;\n              }\n            }\n          } catch (err) {\n            _didIteratorError5 = true;\n            _iteratorError5 = err;\n          } finally {\n            try {\n              if (!_iteratorNormalCompletion5 && _iterator5.return != null) {\n                _iterator5.return();\n              }\n            } finally {\n              if (_didIteratorError5) {\n                throw _iteratorError5;\n              }\n            }\n          }\n        }\n\n        var _getNewBlock = getNewBlock(blockId, childBlockDefinition, childDefaultValue);\n\n        var _getNewBlock2 = _slicedToArray(_getNewBlock, 3);\n\n        childBlockId = _getNewBlock2[0];\n        childBlock = _getNewBlock2[1];\n        childExtraBlocks = _getNewBlock2[2];\n        newValue.push(childBlockId);\n        extraBlocks = _objectSpread({}, extraBlocks, childExtraBlocks, _defineProperty({}, childBlockId, childBlock));\n      }\n    } catch (err) {\n      _didIteratorError4 = true;\n      _iteratorError4 = err;\n    } finally {\n      try {\n        if (!_iteratorNormalCompletion4 && _iterator4.return != null) {\n          _iterator4.return();\n        }\n      } finally {\n        if (_didIteratorError4) {\n          throw _iteratorError4;\n        }\n      }\n    }\n\n    value = newValue;\n  } else if (!isField(blockDefinition)) {\n    var _newValue = [];\n\n    if (!isNA(value)) {\n      var _iteratorNormalCompletion6 = true;\n      var _didIteratorError6 = false;\n      var _iteratorError6 = undefined;\n\n      try {\n        for (var _iterator6 = value[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) {\n          var _childBlock = _step6.value;\n\n          var _childBlockDefinition = void 0;\n\n          var _iteratorNormalCompletion7 = true;\n          var _didIteratorError7 = false;\n          var _iteratorError7 = undefined;\n\n          try {\n            for (var _iterator7 = blockDefinition.children[Symbol.iterator](), _step7; !(_iteratorNormalCompletion7 = (_step7 = _iterator7.next()).done); _iteratorNormalCompletion7 = true) {\n              _childBlockDefinition = _step7.value;\n\n              if (_childBlockDefinition.key === _childBlock.type) {\n                break;\n              }\n            }\n          } catch (err) {\n            _didIteratorError7 = true;\n            _iteratorError7 = err;\n          } finally {\n            try {\n              if (!_iteratorNormalCompletion7 && _iterator7.return != null) {\n                _iterator7.return();\n              }\n            } finally {\n              if (_didIteratorError7) {\n                throw _iteratorError7;\n              }\n            }\n          }\n\n          var _getNewBlock3 = getNewBlock(blockId, _childBlockDefinition, _childBlock.value);\n\n          var _getNewBlock4 = _slicedToArray(_getNewBlock3, 3);\n\n          childBlockId = _getNewBlock4[0];\n          _childBlock = _getNewBlock4[1];\n          childExtraBlocks = _getNewBlock4[2];\n\n          _newValue.push(childBlockId);\n\n          extraBlocks = _objectSpread({}, extraBlocks, childExtraBlocks, _defineProperty({}, childBlockId, _childBlock));\n        }\n      } catch (err) {\n        _didIteratorError6 = true;\n        _iteratorError6 = err;\n      } finally {\n        try {\n          if (!_iteratorNormalCompletion6 && _iterator6.return != null) {\n            _iterator6.return();\n          }\n        } finally {\n          if (_didIteratorError6) {\n            throw _iteratorError6;\n          }\n        }\n      }\n    }\n\n    value = _newValue;\n  }\n\n  return [blockId, {\n    parent: parentId,\n    type: blockDefinition.key,\n    value: value,\n    hidden: true,\n    closed: false,\n    shouldUpdate: false\n  }, extraBlocks];\n};\nvar deepCopy = function deepCopy(data) {\n  var copy;\n\n  if (data instanceof FileList) {\n    return data;\n  }\n\n  if (data instanceof Array) {\n    return data.map(function (v) {\n      return deepCopy(v);\n    });\n  }\n\n  if (data instanceof Object) {\n    copy = {};\n\n    var _arr = Object.entries(data);\n\n    for (var _i = 0; _i < _arr.length; _i++) {\n      var _arr$_i = _slicedToArray(_arr[_i], 2),\n          key = _arr$_i[0],\n          value = _arr$_i[1];\n\n      copy[key] = deepCopy(value);\n    }\n\n    return copy;\n  }\n\n  return data;\n};\nvar applyToBlocks = function applyToBlocks(state, fieldId, blocksIds, func) {\n  var fieldData = state[fieldId];\n  var blocks = fieldData.blocks;\n  var _iteratorNormalCompletion8 = true;\n  var _didIteratorError8 = false;\n  var _iteratorError8 = undefined;\n\n  try {\n    for (var _iterator8 = blocksIds[Symbol.iterator](), _step8; !(_iteratorNormalCompletion8 = (_step8 = _iterator8.next()).done); _iteratorNormalCompletion8 = true) {\n      var blockId = _step8.value;\n      var block = deepCopy(blocks[blockId]);\n      blocks[blockId] = func(block);\n    }\n  } catch (err) {\n    _didIteratorError8 = true;\n    _iteratorError8 = err;\n  } finally {\n    try {\n      if (!_iteratorNormalCompletion8 && _iterator8.return != null) {\n        _iterator8.return();\n      }\n    } finally {\n      if (_didIteratorError8) {\n        throw _iteratorError8;\n      }\n    }\n  }\n\n  return _objectSpread({}, state, _defineProperty({}, fieldId, _objectSpread({}, fieldData, {\n    blocks: blocks\n  })));\n};\nvar applyToBlock = function applyToBlock(state, fieldId, blockId, func) {\n  return applyToBlocks(state, fieldId, [blockId], func);\n};\nvar triggerKeyboardEvent = function triggerKeyboardEvent(element, key) {\n  var event = new Event('keydown', {\n    bubbles: true,\n    cancelable: true\n  });\n  event.key = key; // These four lines\n\n  event.keyIdentifier = key; // are here\n\n  event.keyCode = key; // to fix cross-browser\n\n  event.which = key; // compatibility issues.\n\n  element.dispatchEvent(event);\n};\nvar triggerCustomEvent = function triggerCustomEvent(element, name) {\n  var data = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n\n  if (data === null) {\n    data = {};\n  }\n\n  var event = new CustomEvent(\"streamfield:\".concat(name), {\n    detail: _objectSpread({\n      target: element\n    }, data)\n  });\n  element.dispatchEvent(event);\n  window.dispatchEvent(event);\n};\nvar replaceWithComponent = function replaceWithComponent(string, placeholder, component) {\n  var parts = string.split(new RegExp(\"(\".concat(placeholder, \")\")));\n\n  for (var i in parts) {\n    var part = parts[i];\n\n    if (part === placeholder) {\n      parts[i] = React.createElement(React.Fragment, {\n        key: i\n      }, component);\n    } else {\n      parts[i] = React.createElement(\"span\", {\n        key: i,\n        dangerouslySetInnerHTML: {\n          __html: part\n        }\n      });\n    }\n  }\n\n  return React.createElement(React.Fragment, null, parts);\n};\n\nvar getNestedBlocksState = function getNestedBlocksState(parentBlockId, blockDefinitions, blocks) {\n  var childrenBlocksIds = [];\n  var blocksState = {};\n  var descendantsBlocksState = {};\n  var _iteratorNormalCompletion = true;\n  var _didIteratorError = false;\n  var _iteratorError = undefined;\n\n  try {\n    for (var _iterator = blocks[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n      var block = _step.value;\n      var blockId = block.id === undefined ? getNewId() : block.id;\n      var blockDefinition = blockDefinitions.length === 1 ? blockDefinitions[0] : getBlockDefinition(blockDefinitions, block.type);\n      var blockIsField = isField(blockDefinition);\n      var value = block.value;\n\n      if (!blockIsField) {\n        if (isNA(value)) {\n          value = [];\n        }\n\n        if (isStruct(blockDefinition)) {\n          var _iteratorNormalCompletion2 = true;\n          var _didIteratorError2 = false;\n          var _iteratorError2 = undefined;\n\n          try {\n            var _loop = function _loop() {\n              var childBlockDefinition = _step2.value;\n              var childBlockType = childBlockDefinition.key;\n              var childBlock = value.find(function (childBlock) {\n                return childBlock.type === childBlockType;\n              });\n\n              if (childBlock === undefined) {\n                var _getNewBlock = getNewBlock(blockId, childBlockDefinition),\n                    _getNewBlock2 = _slicedToArray(_getNewBlock, 3),\n                    childBlockId = _getNewBlock2[0],\n                    _childBlock = _getNewBlock2[1],\n                    extraBlocks = _getNewBlock2[2];\n\n                blocksState = _objectSpread({}, blocksState, extraBlocks, _defineProperty({}, childBlockId, _childBlock));\n                value.push(_objectSpread({\n                  id: childBlockId\n                }, _childBlock));\n              }\n            };\n\n            for (var _iterator2 = blockDefinition.children[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n              _loop();\n            }\n          } catch (err) {\n            _didIteratorError2 = true;\n            _iteratorError2 = err;\n          } finally {\n            try {\n              if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n                _iterator2.return();\n              }\n            } finally {\n              if (_didIteratorError2) {\n                throw _iteratorError2;\n              }\n            }\n          }\n        }\n\n        var _getNestedBlocksState = getNestedBlocksState(blockId, blockDefinition.children, value);\n\n        var _getNestedBlocksState2 = _slicedToArray(_getNestedBlocksState, 2);\n\n        value = _getNestedBlocksState2[0];\n        descendantsBlocksState = _getNestedBlocksState2[1];\n        blocksState = _objectSpread({}, blocksState, descendantsBlocksState);\n      }\n\n      childrenBlocksIds.push(blockId);\n      blocksState[blockId] = {\n        parent: parentBlockId,\n        type: blockDefinition.key,\n        html: block.html,\n        hasError: block.hasError,\n        value: value,\n        hidden: false,\n        closed: isClosed(blockDefinition),\n        shouldUpdate: false,\n        isField: blockIsField\n      };\n    }\n  } catch (err) {\n    _didIteratorError = true;\n    _iteratorError = err;\n  } finally {\n    try {\n      if (!_iteratorNormalCompletion && _iterator.return != null) {\n        _iterator.return();\n      }\n    } finally {\n      if (_didIteratorError) {\n        throw _iteratorError;\n      }\n    }\n  }\n\n  return [childrenBlocksIds, blocksState];\n};\nvar valueToState = function valueToState(prevState, fieldId, value) {\n  var _getNestedBlocksState3 = getNestedBlocksState(null, prevState[fieldId].blockDefinitions, value),\n      _getNestedBlocksState4 = _slicedToArray(_getNestedBlocksState3, 2),\n      rootBlocks = _getNestedBlocksState4[0],\n      blocks = _getNestedBlocksState4[1]; // Delete internal field created only for browsing data.\n\n\n  var _arr = Object.values(blocks);\n\n  for (var _i = 0; _i < _arr.length; _i++) {\n    var block = _arr[_i];\n    delete block['isField'];\n  }\n\n  return _objectSpread({}, prevState, _defineProperty({}, fieldId, _objectSpread({}, prevState[fieldId], {\n    rootBlocks: rootBlocks,\n    blocks: blocks\n  })));\n};\nvar extractValue = function extractValue(state, fieldId, blockId) {\n  var blocks = state[fieldId].blocks;\n  var block = blocks[blockId];\n  var value = block.value;\n  var blockDefinition = getNestedBlockDefinition(state, fieldId, blockId);\n\n  if (!isField(blockDefinition)) {\n    value = value.map(function (childBlockId) {\n      return extractValue(state, fieldId, childBlockId);\n    });\n  }\n\n  return {\n    id: blockId,\n    type: block.type,\n    value: value\n  };\n};\nvar stateToValue = function stateToValue(state, fieldId) {\n  var fieldData = state[fieldId];\n  return fieldData.rootBlocks.map(function (blockId) {\n    return extractValue(state, fieldId, blockId);\n  });\n};\n\nvar _dec, _class, _class2, _temp;\nvar AddButton = (_dec = reactRedux.connect(function (state, props) {\n  var fieldId = props.fieldId,\n      parentId = props.parentId,\n      blockId = props.blockId;\n  var field = state[fieldId];\n  var blockDefinitions;\n\n  if (parentId) {\n    blockDefinitions = getNestedBlockDefinition(state, fieldId, parentId).children;\n  } else {\n    blockDefinitions = field.blockDefinitions;\n  }\n\n  var index = 0;\n\n  if (blockId !== undefined) {\n    // Incremented by 1 to add after the current block.\n    index = getSiblingsIds(state, fieldId, blockId).indexOf(blockId) + 1;\n  }\n\n  return {\n    blockDefinitions: blockDefinitions,\n    index: index,\n    icons: field.icons,\n    labels: field.labels\n  };\n}, function (dispatch, props) {\n  var fieldId = props.fieldId,\n      parentId = props.parentId;\n  return redux.bindActionCreators({\n    addBlock: function addBlock$1(index, blockType) {\n      return addBlock(fieldId, parentId, index, blockType);\n    }\n  }, dispatch);\n}), _dec(_class = (_temp = _class2 =\n/*#__PURE__*/\nfunction (_React$Component) {\n  _inherits(AddButton, _React$Component);\n\n  function AddButton(props) {\n    var _this;\n\n    _classCallCheck(this, AddButton);\n\n    _this = _possibleConstructorReturn(this, _getPrototypeOf(AddButton).call(this, props));\n\n    _this.toggle = function (event) {\n      event.preventDefault();\n      event.stopPropagation();\n\n      if (_this.hasChoice) {\n        _this.setState(function (state, props) {\n          return {\n            open: !state.open\n          };\n        });\n      } else {\n        _this.props.addBlock(_this.props.index, _this.props.blockDefinitions[0].key);\n      }\n    };\n\n    _this.addHandler = function (event) {\n      _this.props.addBlock(_this.props.index, event.target.closest('button').value);\n\n      _this.toggle(event);\n    };\n\n    _this.state = {\n      open: props.open\n    };\n    return _this;\n  }\n\n  _createClass(AddButton, [{\n    key: \"getIcon\",\n    value: function getIcon(blockDefinition) {\n      var icon = blockDefinition.icon;\n\n      if (isNA(icon)) {\n        return null;\n      }\n\n      return React.createElement(\"span\", {\n        className: \"c-sf-button__icon\",\n        dangerouslySetInnerHTML: {\n          __html: icon\n        }\n      });\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var _this2 = this;\n\n      var _this$props = this.props,\n          visible = _this$props.visible,\n          icons = _this$props.icons,\n          labels = _this$props.labels;\n      var button = React.createElement(\"button\", {\n        onClick: this.toggle,\n        title: labels.add,\n        className: classNames('c-sf-add-button', visible && 'c-sf-add-button--visible', this.state.open && this.hasChoice && 'c-sf-add-button--close'),\n        dangerouslySetInnerHTML: {\n          __html: icons.add\n        }\n      });\n\n      if (this.hasChoice) {\n        return React.createElement(React.Fragment, null, button, React.createElement(AnimateHeight, {\n          height: this.panelHeight,\n          easing: \"ease-in-out\",\n          contentClassName: \"c-sf-add-panel\"\n        }, Object.entries(this.groupedBlockDefinitions).map(function (_ref) {\n          var _ref2 = _slicedToArray(_ref, 2),\n              group = _ref2[0],\n              blockDefinitions = _ref2[1];\n\n          return React.createElement(React.Fragment, {\n            key: group\n          }, group ? React.createElement(\"h4\", {\n            className: \"c-sf-add-panel__group-title\"\n          }, group) : null, React.createElement(\"div\", {\n            className: \"c-sf-add-panel__grid\"\n          }, blockDefinitions.map(function (blockDefinition) {\n            return React.createElement(\"button\", {\n              key: blockDefinition.key,\n              onClick: _this2.addHandler,\n              value: blockDefinition.key,\n              className: \"c-sf-button\"\n            }, _this2.getIcon(blockDefinition), React.createElement(\"span\", {\n              className: \"c-sf-button__label\"\n            }, getLabel(blockDefinition)));\n          })));\n        })));\n      }\n\n      return button;\n    }\n  }, {\n    key: \"hasChoice\",\n    get: function get() {\n      return this.props.blockDefinitions.length !== 1;\n    }\n  }, {\n    key: \"panelHeight\",\n    get: function get() {\n      return this.state.open && this.props.visible ? 'auto' : 0;\n    }\n  }, {\n    key: \"groupedBlockDefinitions\",\n    get: function get() {\n      var grouped = {};\n      var _iteratorNormalCompletion = true;\n      var _didIteratorError = false;\n      var _iteratorError = undefined;\n\n      try {\n        for (var _iterator = this.props.blockDefinitions[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n          var blockDefinition = _step.value;\n          var key = blockDefinition.group || '';\n          var others = grouped[key] || [];\n          others.push(blockDefinition);\n          grouped[key] = others;\n        }\n      } catch (err) {\n        _didIteratorError = true;\n        _iteratorError = err;\n      } finally {\n        try {\n          if (!_iteratorNormalCompletion && _iterator.return != null) {\n            _iterator.return();\n          }\n        } finally {\n          if (_didIteratorError) {\n            throw _iteratorError;\n          }\n        }\n      }\n\n      return grouped;\n    }\n  }]);\n\n  return AddButton;\n}(React.Component), _class2.defaultProps = {\n  open: false,\n  visible: true\n}, _temp)) || _class);\nprocess.env.NODE_ENV !== \"production\" ? AddButton.propTypes = {\n  fieldId: PropTypes.string.isRequired,\n  parentId: PropTypes.string,\n  blockId: PropTypes.string,\n  open: PropTypes.bool,\n  visible: PropTypes.bool\n} : void 0;\n\nvar RawHtmlFieldInput =\n/*#__PURE__*/\nfunction (_React$Component) {\n  _inherits(RawHtmlFieldInput, _React$Component);\n\n  function RawHtmlFieldInput() {\n    var _getPrototypeOf2;\n\n    var _this;\n\n    _classCallCheck(this, RawHtmlFieldInput);\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(RawHtmlFieldInput)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n    _this.onChange = function (event) {\n      var input = event.target;\n      var value;\n\n      if (input.type === 'file') {\n        value = input.files;\n      } else if (input.type === 'checkbox' || input.type === 'radio') {\n        var boxes = _this.inputs;\n        value = boxes.filter(function (box) {\n          return box.checked;\n        }).map(function (box) {\n          return box.value;\n        });\n        var previousValue = _this.props.value;\n\n        if (input.type === 'radio') {\n          if (previousValue) {\n            // Makes it possible to select only one radio button at a time.\n            boxes.filter(function (box) {\n              return box.value === previousValue;\n            })[0].checked = false;\n            var index = value.indexOf(previousValue);\n\n            if (index > -1) {\n              value.splice(index, 1);\n            }\n          }\n\n          value = value.length > 0 ? value[0] : null;\n        }\n      } else if (input.tagName === 'SELECT') {\n        value = input.options[input.selectedIndex].value;\n      } else {\n        value = input.value;\n      }\n\n      _this.props.changeBlockValue(value);\n    };\n\n    return _this;\n  }\n\n  _createClass(RawHtmlFieldInput, [{\n    key: \"runInnerScripts\",\n    value: function runInnerScripts() {\n      if (shouldRunInnerScripts(this.props.blockDefinition)) {\n        var _iteratorNormalCompletion = true;\n        var _didIteratorError = false;\n        var _iteratorError = undefined;\n\n        try {\n          for (var _iterator = ReactDOM.findDOMNode(this).querySelectorAll('script')[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n            var script = _step.value;\n            script.parentNode.removeChild(script);\n            window.eval(script.innerHTML);\n          }\n        } catch (err) {\n          _didIteratorError = true;\n          _iteratorError = err;\n        } finally {\n          try {\n            if (!_iteratorNormalCompletion && _iterator.return != null) {\n              _iterator.return();\n            }\n          } finally {\n            if (_didIteratorError) {\n              throw _iteratorError;\n            }\n          }\n        }\n      }\n    }\n  }, {\n    key: \"setValue\",\n    value: function setValue(input) {\n      var value = this.props.value;\n\n      if (value !== undefined && value !== null) {\n        if (input.type === 'file') {\n          input.files = value;\n        } else if (input.type === 'checkbox' || input.type === 'radio') {\n          input.checked = value === null ? false : typeof value === 'boolean' ? value : value.includes(input.value);\n        } else if (input.type === 'hidden') {\n          input.value = value;\n          input.dispatchEvent(new Event('change'));\n        } else {\n          input.value = value;\n        }\n      }\n    }\n  }, {\n    key: \"bindChange\",\n    value: function bindChange(input) {\n      if (input.type === 'hidden') {\n        var observer = new MutationObserver(function () {\n          input.dispatchEvent(new Event('change'));\n        });\n        observer.observe(input, {\n          attributes: true,\n          attributeFilter: ['value']\n        });\n        this.mutationObservers.push(observer);\n      }\n\n      input.addEventListener('change', this.onChange);\n    }\n  }, {\n    key: \"unbindChange\",\n    value: function unbindChange(input) {\n      input.removeEventListener('change', this.onChange);\n    }\n  }, {\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      var _this$props = this.props,\n          blockDefinition = _this$props.blockDefinition,\n          blockId = _this$props.blockId;\n\n      if (!isStatic(blockDefinition)) {\n        var name = getFieldName(blockId);\n        this.inputs = _toConsumableArray(ReactDOM.findDOMNode(this).querySelectorAll(\"[name=\\\"\".concat(name, \"\\\"]\")));\n\n        if (this.inputs.length === 0) {\n          throw Error(\"Could not find input with name \\\"\".concat(name, \"\\\"\"));\n        }\n\n        this.mutationObservers = [];\n        var _iteratorNormalCompletion2 = true;\n        var _didIteratorError2 = false;\n        var _iteratorError2 = undefined;\n\n        try {\n          for (var _iterator2 = this.inputs[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n            var input = _step2.value;\n            this.setValue(input);\n            this.bindChange(input); // We remove the name attribute to remove inputs from the submitted form.\n\n            input.removeAttribute('name');\n          }\n        } catch (err) {\n          _didIteratorError2 = true;\n          _iteratorError2 = err;\n        } finally {\n          try {\n            if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n              _iterator2.return();\n            }\n          } finally {\n            if (_didIteratorError2) {\n              throw _iteratorError2;\n            }\n          }\n        }\n      }\n\n      this.runInnerScripts();\n    }\n  }, {\n    key: \"componentWillUnmount\",\n    value: function componentWillUnmount() {\n      if (!isStatic(this.props.blockDefinition)) {\n        var _iteratorNormalCompletion3 = true;\n        var _didIteratorError3 = false;\n        var _iteratorError3 = undefined;\n\n        try {\n          for (var _iterator3 = this.mutationObservers[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n            var observer = _step3.value;\n            observer.disconnect();\n          }\n        } catch (err) {\n          _didIteratorError3 = true;\n          _iteratorError3 = err;\n        } finally {\n          try {\n            if (!_iteratorNormalCompletion3 && _iterator3.return != null) {\n              _iterator3.return();\n            }\n          } finally {\n            if (_didIteratorError3) {\n              throw _iteratorError3;\n            }\n          }\n        }\n\n        var _iteratorNormalCompletion4 = true;\n        var _didIteratorError4 = false;\n        var _iteratorError4 = undefined;\n\n        try {\n          for (var _iterator4 = this.inputs[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {\n            var input = _step4.value;\n            this.unbindChange(input);\n          }\n        } catch (err) {\n          _didIteratorError4 = true;\n          _iteratorError4 = err;\n        } finally {\n          try {\n            if (!_iteratorNormalCompletion4 && _iterator4.return != null) {\n              _iterator4.return();\n            }\n          } finally {\n            if (_didIteratorError4) {\n              throw _iteratorError4;\n            }\n          }\n        }\n      }\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      return React.createElement(\"div\", {\n        dangerouslySetInnerHTML: {\n          __html: this.html\n        }\n      });\n    }\n  }, {\n    key: \"html\",\n    get: function get() {\n      var _this$props2 = this.props,\n          blockDefinition = _this$props2.blockDefinition,\n          html = _this$props2.html,\n          blockId = _this$props2.blockId;\n\n      if (isStatic(blockDefinition)) {\n        return html;\n      }\n\n      return html.replace(/__ID__/g, blockId);\n    }\n  }]);\n\n  return RawHtmlFieldInput;\n}(React.Component);\n\nprocess.env.NODE_ENV !== \"production\" ? RawHtmlFieldInput.propTypes = {\n  fieldId: PropTypes.string.isRequired,\n  blockDefinition: PropTypes.object.isRequired,\n  blockId: PropTypes.string.isRequired,\n  html: PropTypes.string.isRequired,\n  value: PropTypes.any,\n  changeBlockValue: PropTypes.func.isRequired\n} : void 0;\n\nvar _dec$1, _class$1;\nvar FieldInput = (_dec$1 = reactRedux.connect(function (state, props) {\n  var fieldId = props.fieldId,\n      blockId = props.blockId;\n  var block = state[fieldId].blocks[blockId];\n  return {\n    blockDefinition: getNestedBlockDefinition(state, fieldId, blockId),\n    html: block.html,\n    value: block.value\n  };\n}, function (dispatch, props) {\n  var fieldId = props.fieldId,\n      blockId = props.blockId;\n  return redux.bindActionCreators({\n    changeBlockValue: function changeBlockValue$1(value) {\n      return changeBlockValue(fieldId, blockId, value);\n    }\n  }, dispatch);\n}), _dec$1(_class$1 =\n/*#__PURE__*/\nfunction (_React$Component) {\n  _inherits(FieldInput, _React$Component);\n\n  function FieldInput() {\n    _classCallCheck(this, FieldInput);\n\n    return _possibleConstructorReturn(this, _getPrototypeOf(FieldInput).apply(this, arguments));\n  }\n\n  _createClass(FieldInput, [{\n    key: \"render\",\n    value: function render() {\n      var _this$props = this.props,\n          fieldId = _this$props.fieldId,\n          blockDefinition = _this$props.blockDefinition,\n          blockId = _this$props.blockId,\n          value = _this$props.value;\n\n      if (isStruct(blockDefinition)) {\n        // Nested StructBlock\n        return React.createElement(Block, {\n          fieldId: fieldId,\n          id: blockId,\n          standalone: true,\n          sortable: false,\n          collapsible: blockDefinition.collapsible\n        });\n      }\n\n      var html = this.props.html;\n\n      if (isNA(html)) {\n        html = blockDefinition.html;\n      }\n\n      if (isField(blockDefinition)) {\n        if (isNA(html)) {\n          html = \"<input id=\\\"\".concat(blockId, \"\\\" name=\\\"\").concat(getFieldName(blockId), \"\\\"\\n                       type=\\\"text\\\" />\");\n        }\n\n        return React.createElement(RawHtmlFieldInput, {\n          fieldId: fieldId,\n          blockDefinition: blockDefinition,\n          blockId: blockId,\n          html: html,\n          value: value,\n          changeBlockValue: this.props.changeBlockValue\n        });\n      }\n\n      var blocksContainer = React.createElement(BlocksContainer, {\n        fieldId: fieldId,\n        id: blockId\n      });\n\n      if (isNA(html)) {\n        return blocksContainer;\n      }\n\n      return replaceWithComponent(html, '<noscript data-blocks-container></noscript>', blocksContainer);\n    }\n  }]);\n\n  return FieldInput;\n}(React.Component)) || _class$1);\nprocess.env.NODE_ENV !== \"production\" ? FieldInput.propTypes = {\n  fieldId: PropTypes.string.isRequired,\n  blockId: PropTypes.string.isRequired\n} : void 0;\n\nvar _dec$2, _class$2;\nvar StructChildField = (_dec$2 = reactRedux.connect(function (state, props) {\n  var fieldId = props.fieldId,\n      parentBlockId = props.parentBlockId,\n      type = props.type;\n  var blocks = state[fieldId].blocks;\n  var parentBlock = blocks[parentBlockId];\n  var blockId = parentBlock.value.find(function (childBlockId) {\n    return blocks[childBlockId].type === type;\n  });\n  return {\n    blockDefinition: getNestedBlockDefinition(state, fieldId, blockId),\n    blockId: blockId\n  };\n}), _dec$2(_class$2 =\n/*#__PURE__*/\nfunction (_React$Component) {\n  _inherits(StructChildField, _React$Component);\n\n  function StructChildField() {\n    _classCallCheck(this, StructChildField);\n\n    return _possibleConstructorReturn(this, _getPrototypeOf(StructChildField).apply(this, arguments));\n  }\n\n  _createClass(StructChildField, [{\n    key: \"render\",\n    value: function render() {\n      var _this$props = this.props,\n          fieldId = _this$props.fieldId,\n          blockId = _this$props.blockId,\n          blockDefinition = _this$props.blockDefinition;\n      return React.createElement(\"div\", {\n        className: classNames('field', !!blockDefinition.required && 'required')\n      }, React.createElement(\"label\", {\n        className: \"field__label\",\n        htmlFor: getFieldName(blockId)\n      }, getLabel(blockDefinition)), React.createElement(FieldInput, {\n        fieldId: fieldId,\n        blockId: blockId\n      }));\n    }\n  }]);\n\n  return StructChildField;\n}(React.Component)) || _class$2);\nprocess.env.NODE_ENV !== \"production\" ? StructChildField.propTypes = {\n  fieldId: PropTypes.string.isRequired,\n  parentBlockId: PropTypes.string.isRequired,\n  type: PropTypes.string.isRequired\n} : void 0;\n\nvar _dec$3, _class$3, _class2$1, _temp$1;\nvar BlockContent = (_dec$3 = reactRedux.connect(function (state, props) {\n  var fieldId = props.fieldId,\n      blockId = props.blockId;\n  var fieldData = state[fieldId];\n  var blocks = fieldData.blocks;\n  var block = blocks[blockId];\n  var blockDefinition = getNestedBlockDefinition(state, fieldId, blockId);\n  var hasDescendantError = getDescendantsIds(state, fieldId, blockId, true).some(function (descendantBlockId) {\n    return blocks[descendantBlockId].hasError;\n  });\n  return {\n    blockDefinition: blockDefinition,\n    html: block.html,\n    closed: block.closed && !hasDescendantError\n  };\n}), _dec$3(_class$3 = (_temp$1 = _class2$1 =\n/*#__PURE__*/\nfunction (_React$Component) {\n  _inherits(BlockContent, _React$Component);\n\n  function BlockContent() {\n    _classCallCheck(this, BlockContent);\n\n    return _possibleConstructorReturn(this, _getPrototypeOf(BlockContent).apply(this, arguments));\n  }\n\n  _createClass(BlockContent, [{\n    key: \"render\",\n    value: function render() {\n      var _this$props = this.props,\n          blockDefinition = _this$props.blockDefinition,\n          collapsible = _this$props.collapsible;\n      var content = this.html;\n      var className = classNames('c-sf-block__content-inner', blockDefinition.className);\n\n      if (collapsible) {\n        return React.createElement(AnimateHeight, {\n          height: this.height,\n          easing: \"ease-in-out\",\n          className: \"c-sf-block__content\",\n          contentClassName: className\n        }, content);\n      }\n\n      return React.createElement(\"div\", {\n        className: \"c-sf-block__content\"\n      }, React.createElement(\"div\", {\n        className: className\n      }, content));\n    }\n  }, {\n    key: \"html\",\n    get: function get() {\n      var _this$props2 = this.props,\n          fieldId = _this$props2.fieldId,\n          blockDefinition = _this$props2.blockDefinition,\n          blockId = _this$props2.blockId;\n\n      if (isStruct(blockDefinition)) {\n        var blocksContainer = blockDefinition.children.map(function (childBlockDefinition) {\n          return React.createElement(StructChildField, {\n            key: childBlockDefinition.key,\n            fieldId: fieldId,\n            parentBlockId: blockId,\n            type: childBlockDefinition.key\n          });\n        });\n        var html = this.props.html;\n\n        if (isNA(html)) {\n          html = blockDefinition.html;\n        }\n\n        if (isNA(html)) {\n          return blocksContainer;\n        }\n\n        return replaceWithComponent(html, '<noscript data-blocks-container></noscript>', blocksContainer);\n      }\n\n      return React.createElement(FieldInput, {\n        fieldId: fieldId,\n        blockId: blockId\n      });\n    }\n  }, {\n    key: \"height\",\n    get: function get() {\n      return this.props.closed ? 0 : 'auto';\n    }\n  }]);\n\n  return BlockContent;\n}(React.Component), _class2$1.defaultProps = {\n  collapsible: true\n}, _temp$1)) || _class$3);\nprocess.env.NODE_ENV !== \"production\" ? BlockContent.propTypes = {\n  fieldId: PropTypes.string.isRequired,\n  blockId: PropTypes.string.isRequired,\n  collapsible: PropTypes.bool\n} : void 0;\n\nvar refType = PropTypes.oneOfType([PropTypes.func, PropTypes.shape({\n  current: PropTypes.instanceOf(Element)\n})]);\n\nvar _dec$4, _class$4, _class2$2, _temp$2;\nvar BlockActions = (_dec$4 = reactRedux.connect(function (state, props) {\n  var fieldId = props.fieldId,\n      blockId = props.blockId;\n  var blockDefinition = getNestedBlockDefinition(state, fieldId, blockId);\n  var siblings = getSiblingsIds(state, fieldId, blockId);\n  var field = state[fieldId];\n  return {\n    blockDefinition: blockDefinition,\n    siblings: siblings,\n    icons: field.icons,\n    labels: field.labels,\n    index: siblings.indexOf(blockId)\n  };\n}, function (dispatch, props) {\n  var fieldId = props.fieldId,\n      blockId = props.blockId;\n  return redux.bindActionCreators({\n    hideBlock: function hideBlock$1() {\n      return hideBlock(fieldId, blockId);\n    },\n    duplicateBlock: function duplicateBlock$1() {\n      return duplicateBlock(fieldId, blockId);\n    }\n  }, dispatch);\n}), _dec$4(_class$4 = (_temp$2 = _class2$2 =\n/*#__PURE__*/\nfunction (_React$Component) {\n  _inherits(BlockActions, _React$Component);\n\n  function BlockActions() {\n    var _getPrototypeOf2;\n\n    var _this;\n\n    _classCallCheck(this, BlockActions);\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(BlockActions)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n    _this.sendKeyToDragHandle = function (key) {\n      var dragHandle = ReactDOM.findDOMNode(_this.props.dragHandleRef.current);\n      triggerKeyboardEvent(dragHandle, 32); // 32 for spacebar, to drag\n\n      return new Promise(function (resolve) {\n        setTimeout(function () {\n          triggerKeyboardEvent(dragHandle, key);\n          setTimeout(function () {\n            triggerKeyboardEvent(dragHandle, 32); // Drop at the new position\n\n            resolve();\n          }, 100); // 100 ms is the duration of a move in react-beautiful-dnd\n        }, 0);\n      });\n    };\n\n    _this.moveUpHandler = function (event) {\n      event.preventDefault();\n      event.stopPropagation();\n\n      _this.sendKeyToDragHandle(38) // 38 for up arrow\n      .then(function () {\n        _this.triggerCustomEvent('move', {\n          index: _this.props.index\n        });\n      });\n    };\n\n    _this.moveDownHandler = function (event) {\n      event.preventDefault();\n      event.stopPropagation();\n\n      _this.sendKeyToDragHandle(40) // 40 for down arrow\n      .then(function () {\n        _this.triggerCustomEvent('move', {\n          index: _this.props.index\n        });\n      });\n    };\n\n    _this.duplicateHandler = function (event) {\n      event.preventDefault();\n      event.stopPropagation();\n\n      _this.props.duplicateBlock();\n\n      _this.triggerCustomEvent('duplicate');\n    };\n\n    _this.deleteHandler = function (event) {\n      event.preventDefault();\n      event.stopPropagation();\n\n      _this.props.hideBlock();\n    };\n\n    return _this;\n  }\n\n  _createClass(BlockActions, [{\n    key: \"triggerCustomEvent\",\n    value: function triggerCustomEvent$1(name) {\n      var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n      triggerCustomEvent(ReactDOM.findDOMNode(this), name, data);\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var _this$props = this.props,\n          blockDefinition = _this$props.blockDefinition,\n          sortableBlock = _this$props.sortableBlock,\n          canDuplicate = _this$props.canDuplicate,\n          standalone = _this$props.standalone,\n          icons = _this$props.icons,\n          labels = _this$props.labels;\n      return React.createElement(\"div\", {\n        className: \"c-sf-block__actions\"\n      }, React.createElement(\"span\", {\n        className: \"c-sf-block__type\"\n      }, getLabel(blockDefinition)), standalone ? null : React.createElement(React.Fragment, null, sortableBlock ? React.createElement(React.Fragment, null, React.createElement(\"button\", {\n        className: \"c-sf-block__actions__single\",\n        onClick: this.moveUpHandler,\n        title: labels.moveUp,\n        disabled: this.isFirst,\n        dangerouslySetInnerHTML: {\n          __html: icons.moveUp\n        }\n      }), React.createElement(\"button\", {\n        className: \"c-sf-block__actions__single\",\n        onClick: this.moveDownHandler,\n        title: labels.moveDown,\n        disabled: this.isLast,\n        dangerouslySetInnerHTML: {\n          __html: icons.moveDown\n        }\n      })) : null, React.createElement(\"button\", {\n        className: \"c-sf-block__actions__single\",\n        onClick: this.duplicateHandler,\n        title: labels.duplicate,\n        disabled: !canDuplicate,\n        dangerouslySetInnerHTML: {\n          __html: icons.duplicate\n        }\n      }), React.createElement(\"button\", {\n        className: \"c-sf-block__actions__single\",\n        onClick: this.deleteHandler,\n        title: labels.delete,\n        dangerouslySetInnerHTML: {\n          __html: icons.delete\n        }\n      })));\n    }\n  }, {\n    key: \"isFirst\",\n    get: function get() {\n      return this.props.index === 0;\n    }\n  }, {\n    key: \"isLast\",\n    get: function get() {\n      return this.props.index === this.props.siblings.length - 1;\n    }\n  }]);\n\n  return BlockActions;\n}(React.Component), _class2$2.defaultProps = {\n  sortableBlock: true,\n  canDuplicate: true,\n  standalone: false\n}, _temp$2)) || _class$4);\nprocess.env.NODE_ENV !== \"production\" ? BlockActions.propTypes = {\n  fieldId: PropTypes.string.isRequired,\n  blockId: PropTypes.string.isRequired,\n  sortableBlock: PropTypes.bool,\n  canDuplicate: PropTypes.bool,\n  standalone: PropTypes.bool,\n  dragHandleRef: refType\n} : void 0;\n\nvar _dec$5, _class$5, _class2$3, _temp$3;\nvar BlockHeader = (_dec$5 = reactRedux.connect(function (state, props) {\n  var fieldId = props.fieldId,\n      blockId = props.blockId;\n  var fieldData = state[fieldId];\n  var blocks = fieldData.blocks;\n  var block = blocks[blockId];\n  var blockDefinition = getNestedBlockDefinition(state, fieldId, blockId);\n  var value = block.value;\n  return {\n    blockDefinition: blockDefinition,\n    icons: fieldData.icons,\n    value: isStruct(blockDefinition) ? structValueToObject(state, fieldId, value) : value\n  };\n}, function (dispatch, props) {\n  var fieldId = props.fieldId,\n      blockId = props.blockId;\n  return redux.bindActionCreators({\n    toggleBlock: function toggleBlock$1() {\n      return toggleBlock(fieldId, blockId);\n    }\n  }, dispatch);\n}), _dec$5(_class$5 = (_temp$3 = _class2$3 =\n/*#__PURE__*/\nfunction (_React$Component) {\n  _inherits(BlockHeader, _React$Component);\n\n  function BlockHeader() {\n    var _getPrototypeOf2;\n\n    var _this;\n\n    _classCallCheck(this, BlockHeader);\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(BlockHeader)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n    _this.toggle = function () {\n      var _this$props = _this.props,\n          toggleBlock = _this$props.toggleBlock,\n          closed = _this$props.closed;\n      toggleBlock();\n\n      _this.triggerCustomEvent('toggle', {\n        closed: !closed\n      });\n    };\n\n    return _this;\n  }\n\n  _createClass(BlockHeader, [{\n    key: \"triggerCustomEvent\",\n    value: function triggerCustomEvent$1(name) {\n      var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n      triggerCustomEvent(ReactDOM.findDOMNode(this), name, data);\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var _this$props2 = this.props,\n          blockDefinition = _this$props2.blockDefinition,\n          fieldId = _this$props2.fieldId,\n          blockId = _this$props2.blockId,\n          dragHandleProps = _this$props2.dragHandleProps,\n          collapsibleBlock = _this$props2.collapsibleBlock,\n          sortableBlock = _this$props2.sortableBlock,\n          canDuplicate = _this$props2.canDuplicate,\n          standalone = _this$props2.standalone,\n          dragHandleRef = _this$props2.dragHandleRef;\n      return React.createElement(\"div\", _extends({\n        ref: dragHandleRef,\n        onClick: this.toggle\n      }, dragHandleProps, {\n        className: classNames('c-sf-block__header', collapsibleBlock && 'c-sf-block__header--collapsible', sortableBlock && 'c-sf-block__header--sortable')\n      }), React.createElement(\"span\", {\n        className: \"c-sf-block__header__icon\",\n        dangerouslySetInnerHTML: {\n          __html: blockDefinition.icon\n        }\n      }), React.createElement(\"h3\", {\n        className: \"c-sf-block__header__title\"\n      }, this.title || ''), React.createElement(BlockActions, {\n        fieldId: fieldId,\n        blockId: blockId,\n        sortableBlock: sortableBlock,\n        canDuplicate: canDuplicate,\n        standalone: standalone,\n        dragHandleRef: dragHandleRef\n      }));\n    }\n  }, {\n    key: \"title\",\n    get: function get() {\n      var _this$props3 = this.props,\n          title = _this$props3.title,\n          blockDefinition = _this$props3.blockDefinition,\n          value = _this$props3.value;\n\n      if (title !== undefined && title !== null) {\n        return title;\n      }\n\n      if (blockDefinition.titleTemplate !== undefined) {\n        var hasVariables = false;\n        var isEmpty = true;\n        var renderedTitle = blockDefinition.titleTemplate.replace(/\\${([^}]+)}/g, function (match, varName) {\n          if (isStruct(blockDefinition)) {\n            var childValue = value[varName];\n\n            if (isNA(childValue)) {\n              childValue = '';\n            } else if (childValue !== '') {\n              isEmpty = false;\n            }\n\n            hasVariables = true;\n            return childValue || '';\n          } else {\n            if (varName === blockDefinition.key) {\n              return value || '';\n            }\n\n            return '';\n          }\n        });\n\n        if (!hasVariables || !isEmpty) {\n          return renderedTitle;\n        }\n      }\n\n      return null;\n    }\n  }]);\n\n  return BlockHeader;\n}(React.Component), _class2$3.defaultProps = {\n  collapsibleBlock: true,\n  sortableBlock: true,\n  canDuplicate: true,\n  standalone: false\n}, _temp$3)) || _class$5);\nprocess.env.NODE_ENV !== \"production\" ? BlockHeader.propTypes = {\n  fieldId: PropTypes.string.isRequired,\n  blockId: PropTypes.string.isRequired,\n  collapsibleBlock: PropTypes.bool,\n  sortableBlock: PropTypes.bool,\n  canDuplicate: PropTypes.bool,\n  standalone: PropTypes.bool,\n  dragHandleRef: refType,\n  dragHandleProps: PropTypes.object\n} : void 0;\n\nvar _dec$6, _class$6, _class2$4, _temp$4;\nvar Block = (_dec$6 = reactRedux.connect(function (state, props) {\n  var fieldId = props.fieldId,\n      id = props.id;\n  var fieldData = state[fieldId];\n  var blocks = fieldData.blocks;\n  var block = blocks[id];\n  var siblings = getSiblingsIds(state, fieldId, id);\n  var blockDefinition = getNestedBlockDefinition(state, fieldId, id);\n  var hasDescendantError = getDescendantsIds(state, fieldId, id, true).some(function (descendantBlockId) {\n    return blocks[descendantBlockId].hasError;\n  });\n  return {\n    blockDefinition: blockDefinition,\n    parentId: block.parent,\n    hasError: hasDescendantError,\n    closed: block.closed,\n    hidden: block.hidden,\n    shouldUpdate: block.shouldUpdate,\n    index: siblings.indexOf(id)\n  };\n}, function (dispatch, props) {\n  var fieldId = props.fieldId,\n      id = props.id;\n  return redux.bindActionCreators({\n    blockUpdated: function blockUpdated$1() {\n      return blockUpdated(fieldId, id);\n    },\n    showBlock: function showBlock$1() {\n      return showBlock(fieldId, id);\n    },\n    deleteBlock: function deleteBlock$1() {\n      return deleteBlock(fieldId, id);\n    }\n  }, dispatch);\n}), _dec$6(_class$6 = (_temp$4 = _class2$4 =\n/*#__PURE__*/\nfunction (_React$Component) {\n  _inherits(Block, _React$Component);\n\n  function Block(props) {\n    var _this;\n\n    _classCallCheck(this, Block);\n\n    _this = _possibleConstructorReturn(this, _getPrototypeOf(Block).call(this, props));\n\n    _this.onDraggableContainerAnimationEnd = function () {\n      if (_this.props.hidden) {\n        _this.triggerCustomEvent('delete');\n\n        _this.props.deleteBlock();\n      }\n    };\n\n    _this.dragHandleRef = React.createRef();\n    _this.contentRef = React.createRef();\n    return _this;\n  }\n\n  _createClass(Block, [{\n    key: \"shouldComponentUpdate\",\n    value: function shouldComponentUpdate(nextProps, nextState, nextContext) {\n      return nextProps.shouldUpdate;\n    }\n  }, {\n    key: \"componentDidUpdate\",\n    value: function componentDidUpdate(prevProps, prevState, snapshot) {\n      if (!prevProps.shouldUpdate) {\n        this.props.blockUpdated();\n      }\n    }\n  }, {\n    key: \"triggerCustomEvent\",\n    value: function triggerCustomEvent$1(name) {\n      var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n      triggerCustomEvent(ReactDOM.findDOMNode(this), name, data);\n    }\n  }, {\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      if (this.props.hidden) {\n        this.props.showBlock();\n      }\n    }\n  }, {\n    key: \"wrapSortable\",\n    value: function wrapSortable(blockContent) {\n      var _this2 = this;\n\n      var _this$props = this.props,\n          fieldId = _this$props.fieldId,\n          id = _this$props.id,\n          parentId = _this$props.parentId,\n          index = _this$props.index,\n          hasError = _this$props.hasError,\n          collapsible = _this$props.collapsible,\n          sortable = _this$props.sortable,\n          canAdd = _this$props.canAdd,\n          standalone = _this$props.standalone;\n      var blockClassName = \"c-sf-block \".concat(hasError ? 'c-sf-block--error' : '');\n      var addButton = React.createElement(AddButton, {\n        fieldId: fieldId,\n        parentId: parentId,\n        blockId: id,\n        visible: canAdd\n      });\n\n      if (sortable) {\n        return React.createElement(reactBeautifulDnd.Draggable, {\n          draggableId: id,\n          index: index,\n          type: \"\".concat(fieldId, \"-\").concat(parentId)\n        }, function (provided, snapshot) {\n          return React.createElement(\"div\", _extends({\n            className: \"c-sf-container__block-container\",\n            ref: provided.innerRef\n          }, provided.draggableProps), React.createElement(\"div\", {\n            className: blockClassName\n          }, React.createElement(BlockHeader, {\n            fieldId: fieldId,\n            blockId: id,\n            collapsibleBlock: collapsible,\n            sortableBlock: sortable,\n            canDuplicate: canAdd,\n            standalone: standalone,\n            dragHandleRef: _this2.dragHandleRef,\n            dragHandleProps: provided.dragHandleProps\n          }), blockContent), addButton);\n        });\n      }\n\n      return React.createElement(\"div\", {\n        className: \"c-sf-container__block-container\"\n      }, React.createElement(\"div\", {\n        className: blockClassName\n      }, React.createElement(BlockHeader, {\n        fieldId: fieldId,\n        blockId: id,\n        collapsibleBlock: collapsible,\n        sortableBlock: sortable,\n        canDuplicate: canAdd,\n        standalone: standalone,\n        dragHandleRef: this.dragHandleRef\n      }), blockContent), standalone ? null : addButton);\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var _this$props2 = this.props,\n          fieldId = _this$props2.fieldId,\n          id = _this$props2.id,\n          standalone = _this$props2.standalone,\n          collapsible = _this$props2.collapsible;\n      var blockContent = React.createElement(BlockContent, {\n        ref: this.contentRef,\n        fieldId: fieldId,\n        blockId: id,\n        collapsible: collapsible\n      });\n\n      if (standalone && !collapsible) {\n        return React.createElement(\"div\", {\n          className: \"c-sf-container__block-container\"\n        }, React.createElement(\"div\", {\n          className: \"c-sf-block\"\n        }, blockContent));\n      }\n\n      return React.createElement(AnimateHeight, {\n        height: this.draggableHeight,\n        onAnimationEnd: this.onDraggableContainerAnimationEnd\n      }, this.wrapSortable(blockContent));\n    }\n  }, {\n    key: \"draggableHeight\",\n    get: function get() {\n      return this.props.hidden ? 0 : 'auto';\n    }\n  }]);\n\n  return Block;\n}(React.Component), _class2$4.defaultProps = {\n  standalone: false,\n  collapsible: true,\n  sortable: true,\n  canAdd: true\n}, _temp$4)) || _class$6);\nprocess.env.NODE_ENV !== \"production\" ? Block.propTypes = {\n  fieldId: PropTypes.string.isRequired,\n  id: PropTypes.string.isRequired,\n  standalone: PropTypes.bool,\n  collapsible: PropTypes.bool,\n  sortable: PropTypes.bool,\n  canAdd: PropTypes.bool\n} : void 0;\n\nvar _dec$7, _class$7;\nvar BlocksContainer = (_dec$7 = reactRedux.connect(function (state, props) {\n  var fieldId = props.fieldId,\n      id = props.id;\n  var fieldData = state[fieldId];\n  var blocksIds = id === null ? fieldData.rootBlocks : fieldData.blocks[id].value;\n  var minNum, maxNum;\n\n  if (id === null) {\n    minNum = fieldData.minNum;\n    maxNum = fieldData.maxNum;\n  } else {\n    var blockDefinition = getNestedBlockDefinition(state, fieldId, id);\n    minNum = blockDefinition.minNum;\n    maxNum = blockDefinition.maxNum;\n  }\n\n  if (isNA(minNum)) {\n    minNum = 0;\n  }\n\n  if (isNA(maxNum)) {\n    maxNum = Infinity;\n  }\n\n  return {\n    minNum: minNum,\n    maxNum: maxNum,\n    gutteredAdd: fieldData.gutteredAdd,\n    blocksIds: blocksIds\n  };\n}), _dec$7(_class$7 =\n/*#__PURE__*/\nfunction (_React$Component) {\n  _inherits(BlocksContainer, _React$Component);\n\n  function BlocksContainer() {\n    _classCallCheck(this, BlocksContainer);\n\n    return _possibleConstructorReturn(this, _getPrototypeOf(BlocksContainer).apply(this, arguments));\n  }\n\n  _createClass(BlocksContainer, [{\n    key: \"renderBlock\",\n    value: function renderBlock(blockId) {\n      var canAdd = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n      return React.createElement(Block, {\n        key: blockId,\n        fieldId: this.props.fieldId,\n        id: blockId,\n        canAdd: canAdd\n      });\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var _this = this;\n\n      var _this$props = this.props,\n          fieldId = _this$props.fieldId,\n          id = _this$props.id,\n          blocksIds = _this$props.blocksIds,\n          maxNum = _this$props.maxNum,\n          gutteredAdd = _this$props.gutteredAdd;\n      var droppableId = \"\".concat(fieldId, \"-\").concat(id);\n      var num = blocksIds.length;\n      var canAdd = num < maxNum;\n      return React.createElement(reactBeautifulDnd.Droppable, {\n        droppableId: droppableId,\n        type: droppableId\n      }, function (provided, snapshot) {\n        return React.createElement(\"div\", {\n          ref: provided.innerRef,\n          className: classNames('c-sf-container', snapshot.isDraggingOver && 'c-sf-container--dragging', gutteredAdd && 'c-sf-container--add-in-gutter')\n        }, React.createElement(AddButton, {\n          fieldId: fieldId,\n          parentId: id,\n          open: blocksIds.length === 0,\n          visible: canAdd\n        }), blocksIds.map(function (blockId) {\n          return _this.renderBlock(blockId, canAdd);\n        }), provided.placeholder);\n      });\n    }\n  }]);\n\n  return BlocksContainer;\n}(React.Component)) || _class$7);\nprocess.env.NODE_ENV !== \"production\" ? BlocksContainer.propTypes = {\n  fieldId: PropTypes.string.isRequired,\n  id: PropTypes.string\n} : void 0;\n\nvar _dec$8, _class$8, _class2$5, _temp$5;\n\nfunction lazyFunction(f) {\n  return function () {\n    return f().apply(this, arguments);\n  };\n}\n\nvar BlockDefinitionType = PropTypes.shape({\n  key: PropTypes.string.isRequired,\n  label: PropTypes.string,\n  required: PropTypes.bool,\n  default: PropTypes.any,\n  icon: PropTypes.string,\n  group: PropTypes.string,\n  className: PropTypes.string,\n  minNum: PropTypes.number,\n  maxNum: PropTypes.number,\n  closed: PropTypes.bool,\n  titleTemplate: PropTypes.string,\n  html: PropTypes.string,\n  isStruct: PropTypes.bool,\n  isStatic: PropTypes.bool,\n  dangerouslyRunInnerScripts: PropTypes.bool,\n  children: PropTypes.arrayOf(lazyFunction(function () {\n    return BlockDefinitionType;\n  }))\n});\nvar BlockValueType = PropTypes.shape({\n  type: PropTypes.string.isRequired,\n  html: PropTypes.string,\n  hasError: PropTypes.bool,\n  value: PropTypes.oneOfType([PropTypes.arrayOf(lazyFunction(function () {\n    return BlockValueType;\n  })), PropTypes.string, PropTypes.number, PropTypes.bool])\n});\nvar StreamFieldDefaultProps = {\n  required: false,\n  minNum: 0,\n  maxNum: Infinity,\n  icons: {\n    add: '<i aria-hidden=\"true\">+</i>',\n    moveUp: '<i class=\"fas fa-chevron-up\" aria-hidden=\"true\" />',\n    moveDown: '<i class=\"fas fa-chevron-down\" aria-hidden=\"true\" />',\n    duplicate: '<i class=\"fas fa-clone\" aria-hidden=\"true\" />',\n    delete: '<i class=\"fas fa-trash\" aria-hidden=\"true\" />',\n    grip: '<i class=\"fas fa-grip-vertical fa-fw\" aria-hidden=\"true\" />'\n  },\n  labels: {\n    add: 'Add block',\n    moveUp: 'Move up',\n    moveDown: 'Move down',\n    duplicate: 'Duplicate',\n    delete: 'Delete'\n  }\n};\nvar StreamField = (_dec$8 = reactRedux.connect(function (state, props) {\n  var id = props.id;\n  var fieldData = state[id];\n  return {\n    generatedValue: fieldData === undefined ? '' : stateToValue(state, id)\n  };\n}, function (dispatch, props) {\n  var id = props.id;\n  return redux.bindActionCreators({\n    initializeStreamField: function initializeStreamField$1(data) {\n      return initializeStreamField(id, data);\n    },\n    moveBlock: function moveBlock$1(blockId, newIndex) {\n      return moveBlock(id, blockId, newIndex);\n    }\n  }, dispatch);\n}), _dec$8(_class$8 = (_temp$5 = _class2$5 =\n/*#__PURE__*/\nfunction (_React$Component) {\n  _inherits(StreamField, _React$Component);\n\n  function StreamField() {\n    var _getPrototypeOf2;\n\n    var _this;\n\n    _classCallCheck(this, StreamField);\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(StreamField)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n    _this.onDragEnd = function (result) {\n      var draggableId = result.draggableId,\n          source = result.source,\n          destination = result.destination;\n\n      if (!destination || result.reason === 'CANCEL' || destination.droppableId !== source.droppableId || destination.index === source.index) {\n        return;\n      }\n\n      _this.props.moveBlock(draggableId, destination.index);\n    };\n\n    return _this;\n  }\n\n  _createClass(StreamField, [{\n    key: \"componentWillMount\",\n    value: function componentWillMount() {\n      // Removes the input with the same name if it exists.\n      var input = document.querySelector(\"[name=\\\"\".concat(this.props.id, \"\\\"]\"));\n\n      if (input !== null) {\n        input.parentNode.removeChild(input);\n      }\n    }\n  }, {\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      var _this$props = this.props,\n          initializeStreamField = _this$props.initializeStreamField,\n          required = _this$props.required,\n          minNum = _this$props.minNum,\n          maxNum = _this$props.maxNum,\n          gutteredAdd = _this$props.gutteredAdd,\n          blockDefinitions = _this$props.blockDefinitions,\n          value = _this$props.value;\n      var defaultProps = StreamFieldDefaultProps;\n\n      var icons = _objectSpread({}, defaultProps.icons, this.props.icons);\n\n      var labels = _objectSpread({}, defaultProps.labels, this.props.labels);\n\n      initializeStreamField({\n        required: required,\n        minNum: minNum,\n        maxNum: maxNum,\n        icons: icons,\n        labels: labels,\n        gutteredAdd: gutteredAdd,\n        blockDefinitions: blockDefinitions,\n        value: value\n      });\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var _this$props2 = this.props,\n          id = _this$props2.id,\n          generatedValue = _this$props2.generatedValue;\n      return React.createElement(reactBeautifulDnd.DragDropContext, {\n        onDragEnd: this.onDragEnd\n      }, generatedValue ? React.createElement(BlocksContainer, {\n        fieldId: id,\n        id: null\n      }) : null, React.createElement(\"input\", {\n        type: \"hidden\",\n        name: id,\n        value: JSON.stringify(generatedValue)\n      }));\n    }\n  }]);\n\n  return StreamField;\n}(React.Component), _class2$5.defaultProps = StreamFieldDefaultProps, _temp$5)) || _class$8);\nprocess.env.NODE_ENV !== \"production\" ? StreamField.propTypes = {\n  id: PropTypes.string.isRequired,\n  required: PropTypes.bool,\n  minNum: PropTypes.number,\n  maxNum: PropTypes.number,\n  icons: PropTypes.shape({\n    add: PropTypes.string,\n    moveUp: PropTypes.string,\n    moveDown: PropTypes.string,\n    duplicate: PropTypes.string,\n    delete: PropTypes.string,\n    grip: PropTypes.string\n  }),\n  labels: PropTypes.shape({\n    add: PropTypes.string,\n    moveUp: PropTypes.string,\n    moveDown: PropTypes.string,\n    duplicate: PropTypes.string,\n    delete: PropTypes.string\n  }),\n  gutteredAdd: PropTypes.bool,\n  blockDefinitions: PropTypes.arrayOf(BlockDefinitionType).isRequired,\n  value: PropTypes.arrayOf(BlockValueType).isRequired\n} : void 0;\n\nvar updateChildren = function updateChildren(state, fieldId, parentId) {\n  var childrenIds = getChildrenIds(state, fieldId, parentId);\n  return applyToBlocks(state, fieldId, childrenIds, function (block) {\n    return _objectSpread({}, block, {\n      shouldUpdate: true\n    });\n  });\n};\nvar setChildren = function setChildren(state, fieldId, parentId, childrenIds) {\n  var fieldData = state[fieldId];\n  var blocks = fieldData.blocks;\n\n  if (parentId === null) {\n    fieldData = _objectSpread({}, fieldData, {\n      rootBlocks: childrenIds\n    });\n  } else {\n    blocks = _objectSpread({}, blocks, _defineProperty({}, parentId, _objectSpread({}, blocks[parentId], {\n      value: childrenIds\n    })));\n  }\n\n  return _objectSpread({}, state, _defineProperty({}, fieldId, _objectSpread({}, fieldData, {\n    blocks: blocks\n  })));\n};\nvar insertBlock = function insertBlock(state, fieldId, parentId, index, blockId, block) {\n  var siblingsIds = _toConsumableArray(getChildrenIds(state, fieldId, parentId));\n\n  siblingsIds.splice(index, 0, blockId);\n  state = setChildren(state, fieldId, parentId, siblingsIds);\n  var fieldData = state[fieldId];\n  var blocks = fieldData.blocks;\n  state = _objectSpread({}, state, _defineProperty({}, fieldId, _objectSpread({}, fieldData, {\n    blocks: _objectSpread({}, blocks, _defineProperty({}, blockId, block))\n  })));\n  return updateChildren(state, fieldId, parentId);\n};\nvar moveBlock$1 = function moveBlock(state, fieldId, blockId, newIndex) {\n  if (newIndex < 0) {\n    throw new Error(\"Index \".concat(newIndex, \" is out of bounds.\"));\n  }\n\n  var fieldData = state[fieldId];\n  var blocks = fieldData.blocks;\n  var block = blocks[blockId];\n\n  var siblingsIds = _toConsumableArray(getChildrenIds(state, fieldId, block.parent));\n\n  if (newIndex >= siblingsIds.length) {\n    throw new Error(\"Index \".concat(newIndex, \" is out of bounds.\"));\n  }\n\n  var oldIndex = siblingsIds.indexOf(blockId);\n  siblingsIds.splice(oldIndex, 1);\n  siblingsIds.splice(newIndex, 0, blockId);\n  state = setChildren(state, fieldId, block.parent, siblingsIds);\n  return updateChildren(state, fieldId, block.parent);\n};\nvar addBlock$1 = function addBlock(state, fieldId, parentId, index, type) {\n  var fieldData = state[fieldId];\n  var blockDefinitions;\n\n  if (parentId === null) {\n    blockDefinitions = fieldData.blockDefinitions;\n  } else {\n    var parentBlockDefinition = getNestedBlockDefinition(state, fieldId, parentId);\n    blockDefinitions = parentBlockDefinition.children;\n  }\n\n  var blockDefinition = getBlockDefinition(blockDefinitions, type);\n\n  var _getNewBlock = getNewBlock(parentId, blockDefinition),\n      _getNewBlock2 = _slicedToArray(_getNewBlock, 3),\n      blockId = _getNewBlock2[0],\n      block = _getNewBlock2[1],\n      extraBlocks = _getNewBlock2[2];\n\n  state = _objectSpread({}, state, _defineProperty({}, fieldId, _objectSpread({}, fieldData, {\n    blocks: _objectSpread({}, fieldData.blocks, extraBlocks)\n  })));\n  return insertBlock(state, fieldId, parentId, index, blockId, block);\n};\nvar getIndex = function getIndex(state, fieldId, blockId) {\n  var block = state[fieldId].blocks[blockId];\n\n  var siblingsIds = _toConsumableArray(getChildrenIds(state, fieldId, block.parent));\n\n  return siblingsIds.indexOf(blockId);\n};\nvar cloneBlock = function cloneBlock(state, fieldId, parentId, blockId) {\n  var fieldData = state[fieldId];\n\n  var blocks = _objectSpread({}, fieldData.blocks);\n\n  var newBlockId = getNewId();\n\n  var newBlock = _objectSpread({}, blocks[blockId], {\n    parent: parentId\n  });\n\n  var newBlocks = _defineProperty({}, newBlockId, newBlock);\n\n  var blockDefinition = getNestedBlockDefinition(state, fieldId, blockId);\n  var value = newBlock.value;\n\n  if (isStruct(blockDefinition)) {\n    var newValue = [];\n    var _iteratorNormalCompletion = true;\n    var _didIteratorError = false;\n    var _iteratorError = undefined;\n\n    try {\n      for (var _iterator = value[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n        var childBlockId = _step.value;\n\n        var _cloneBlock = cloneBlock(state, fieldId, newBlockId, childBlockId),\n            _cloneBlock2 = _slicedToArray(_cloneBlock, 2),\n            newChildId = _cloneBlock2[0],\n            newChildrenBlocks = _cloneBlock2[1];\n\n        newBlocks = _objectSpread({}, newBlocks, newChildrenBlocks);\n        newValue.push(newChildId);\n      }\n    } catch (err) {\n      _didIteratorError = true;\n      _iteratorError = err;\n    } finally {\n      try {\n        if (!_iteratorNormalCompletion && _iterator.return != null) {\n          _iterator.return();\n        }\n      } finally {\n        if (_didIteratorError) {\n          throw _iteratorError;\n        }\n      }\n    }\n\n    value = newValue;\n  } else if (!isField(blockDefinition)) {\n    var _newValue = [];\n    var _iteratorNormalCompletion2 = true;\n    var _didIteratorError2 = false;\n    var _iteratorError2 = undefined;\n\n    try {\n      for (var _iterator2 = value[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n        var _childBlockId = _step2.value;\n\n        var _cloneBlock3 = cloneBlock(state, fieldId, newBlockId, _childBlockId),\n            _cloneBlock4 = _slicedToArray(_cloneBlock3, 2),\n            newChildBlockId = _cloneBlock4[0],\n            newChildrenBlocks = _cloneBlock4[1];\n\n        _newValue.push(newChildBlockId);\n\n        newBlocks = _objectSpread({}, newBlocks, newChildrenBlocks);\n      }\n    } catch (err) {\n      _didIteratorError2 = true;\n      _iteratorError2 = err;\n    } finally {\n      try {\n        if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n          _iterator2.return();\n        }\n      } finally {\n        if (_didIteratorError2) {\n          throw _iteratorError2;\n        }\n      }\n    }\n\n    value = _newValue;\n  }\n\n  newBlock.value = value;\n  return [newBlockId, newBlocks];\n};\nvar duplicateBlock$1 = function duplicateBlock(state, fieldId, blockId) {\n  var fieldData = state[fieldId];\n  var blocks = fieldData.blocks;\n  var parentId = blocks[blockId].parent;\n\n  var _cloneBlock5 = cloneBlock(state, fieldId, parentId, blockId),\n      _cloneBlock6 = _slicedToArray(_cloneBlock5, 2),\n      newBlockId = _cloneBlock6[0],\n      newBlocks = _cloneBlock6[1];\n\n  state = _objectSpread({}, state, _defineProperty({}, fieldId, _objectSpread({}, fieldData, {\n    blocks: _objectSpread({}, blocks, newBlocks)\n  })));\n  var block = newBlocks[newBlockId];\n  block.hidden = true;\n  var index = getIndex(state, fieldId, blockId) + 1; // + 1 to add after.\n\n  return insertBlock(state, fieldId, parentId, index, newBlockId, block);\n};\nvar deleteBlock$1 = function deleteBlock(state, fieldId, blockId) {\n  var fieldData = state[fieldId];\n\n  var rootBlocks = _toConsumableArray(fieldData.rootBlocks);\n\n  var blocks = _objectSpread({}, fieldData.blocks);\n\n  var block = blocks[blockId];\n  var shouldUpdateSiblings = true;\n\n  if (block.parent === null) {\n    rootBlocks = rootBlocks.filter(function (childBlockId) {\n      return childBlockId !== blockId;\n    });\n  } else {\n    var parentBlockDefinition = getNestedBlockDefinition(state, fieldId, block.parent);\n    var parentBlock = blocks[block.parent];\n\n    if (isStruct(parentBlockDefinition)) {\n      shouldUpdateSiblings = false;\n    }\n\n    blocks[block.parent] = _objectSpread({}, parentBlock, {\n      closed: false,\n      // We make sure it’s open for when we remove\n      shouldUpdate: true,\n      // an errored block from a list block, and we\n      // force update the header color.\n      value: parentBlock.value.filter(function (childBlockId) {\n        return childBlockId !== blockId;\n      })\n    });\n  }\n\n  var _iteratorNormalCompletion3 = true;\n  var _didIteratorError3 = false;\n  var _iteratorError3 = undefined;\n\n  try {\n    for (var _iterator3 = getDescendantsIds(state, fieldId, blockId, true)[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n      var descendantBlockId = _step3.value;\n      delete blocks[descendantBlockId];\n    }\n  } catch (err) {\n    _didIteratorError3 = true;\n    _iteratorError3 = err;\n  } finally {\n    try {\n      if (!_iteratorNormalCompletion3 && _iterator3.return != null) {\n        _iterator3.return();\n      }\n    } finally {\n      if (_didIteratorError3) {\n        throw _iteratorError3;\n      }\n    }\n  }\n\n  state = _objectSpread({}, state, _defineProperty({}, fieldId, _objectSpread({}, fieldData, {\n    rootBlocks: rootBlocks,\n    blocks: blocks\n  })));\n\n  if (shouldUpdateSiblings) {\n    return updateChildren(state, fieldId, block.parent);\n  }\n\n  return state;\n};\n\nvar initialState = {};\nvar reducer = (function () {\n  var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;\n  var action = arguments.length > 1 ? arguments[1] : undefined;\n\n  switch (action.type) {\n    case 'INITIALIZE_STREAM_FIELD':\n      {\n        var data = deepCopy(action.data);\n        var required = data.required,\n            minNum = data.minNum,\n            maxNum = data.maxNum,\n            icons = data.icons,\n            labels = data.labels,\n            gutteredAdd = data.gutteredAdd,\n            blockDefinitions = data.blockDefinitions,\n            isMobile = data.isMobile,\n            value = data.value;\n        state = _objectSpread({}, state, _defineProperty({}, action.id, {\n          required: required,\n          minNum: minNum,\n          maxNum: maxNum,\n          icons: icons,\n          labels: labels,\n          gutteredAdd: gutteredAdd,\n          blockDefinitions: blockDefinitions,\n          isMobile: isMobile\n        }));\n        return valueToState(state, action.id, value);\n      }\n\n    case 'SET_IS_MOBILE':\n      {\n        return _objectSpread({}, state, _defineProperty({}, action.id, _objectSpread({}, state[action.id], {\n          isMobile: action.isMobile\n        })));\n      }\n\n    case 'BLOCK_UPDATED':\n      {\n        var fieldId = action.fieldId,\n            blockId = action.blockId;\n        return applyToBlock(state, fieldId, blockId, function (block) {\n          return _objectSpread({}, block, {\n            shouldUpdate: false\n          });\n        });\n      }\n\n    case 'CHANGE_BLOCK_VALUES':\n      {\n        var _fieldId = action.fieldId,\n            _blockId = action.blockId,\n            _value = action.value;\n        state = applyToBlock(state, _fieldId, _blockId, function (block) {\n          return _objectSpread({}, block, {\n            value: _value,\n            shouldUpdate: true\n          });\n        });\n        var blocks = state[_fieldId].blocks;\n        var block = blocks[_blockId];\n        var parentBlockId = block.parent;\n\n        if (parentBlockId !== null) {\n          var parentBlockDefinition = getNestedBlockDefinition(state, _fieldId, parentBlockId);\n\n          if (isStruct(parentBlockDefinition)) {\n            state = applyToBlock(state, _fieldId, parentBlockId, function (block) {\n              return _objectSpread({}, block, {\n                shouldUpdate: true\n              });\n            });\n          }\n        }\n\n        return state;\n      }\n\n    case 'TOGGLE_BLOCK':\n      {\n        var _fieldId2 = action.fieldId,\n            _blockId2 = action.blockId;\n        return applyToBlock(state, _fieldId2, _blockId2, function (block) {\n          return _objectSpread({}, block, {\n            closed: block.closed === undefined ? false : !block.closed,\n            shouldUpdate: true\n          });\n        });\n      }\n\n    case 'SHOW_BLOCK':\n      {\n        var _fieldId3 = action.fieldId,\n            _blockId3 = action.blockId;\n        return applyToBlock(state, _fieldId3, _blockId3, function (block) {\n          return _objectSpread({}, block, {\n            hidden: false,\n            shouldUpdate: true\n          });\n        });\n      }\n\n    case 'HIDE_BLOCK':\n      {\n        var _fieldId4 = action.fieldId,\n            _blockId4 = action.blockId;\n        return applyToBlock(state, _fieldId4, _blockId4, function (block) {\n          return _objectSpread({}, block, {\n            hidden: true,\n            shouldUpdate: true\n          });\n        });\n      }\n\n    case 'ADD_BLOCK':\n      {\n        var _fieldId5 = action.fieldId,\n            parentId = action.parentId,\n            index = action.index,\n            blockType = action.blockType;\n        return addBlock$1(state, _fieldId5, parentId, index, blockType);\n      }\n\n    case 'DUPLICATE_BLOCK':\n      {\n        var _fieldId6 = action.fieldId,\n            _blockId5 = action.blockId;\n        return duplicateBlock$1(state, _fieldId6, _blockId5);\n      }\n\n    case 'MOVE_BLOCK':\n      {\n        var _fieldId7 = action.fieldId,\n            _blockId6 = action.blockId,\n            newIndex = action.newIndex;\n        return moveBlock$1(state, _fieldId7, _blockId6, newIndex);\n      }\n\n    case 'DELETE_BLOCK':\n      {\n        return deleteBlock$1(state, action.fieldId, action.blockId);\n      }\n\n    default:\n      {\n        return state;\n      }\n  }\n});\n\nexports.StreamField = StreamField;\nexports.streamFieldReducer = reducer;\n"]}